diff --git a/src/HamShield.cpp b/src/HamShield.cpp index de13b40..2078b60 100644 --- a/src/HamShield.cpp +++ b/src/HamShield.cpp @@ -125,7 +125,7 @@ const unsigned char AFSK_space[] PROGMEM = { 140, 228, 250, 166, 53, 0, 53, 166, * @see A1846S_ADDRESS_AD0_LOW * @see A1846S_ADDRESS_AD0_HIGH */ -HamShield::HamShield(uint8_t ncs_pin = nCS, uint8_t clk_pin = CLK, uint8_t dat_pin = DAT, uint8_t mic_pin = MIC) { +HamShield::HamShield(uint8_t ncs_pin, uint8_t clk_pin, uint8_t dat_pin, uint8_t mic_pin) { devAddr = ncs_pin; hs_mic_pin = mic_pin; diff --git a/src/HamShield.h b/src/HamShield.h index c7fe0eb..b520e04 100644 --- a/src/HamShield.h +++ b/src/HamShield.h @@ -240,14 +240,16 @@ class HamShield { bool frequency_float(float freq_khz); uint32_t getFrequency(); float getFrequency_float(); - + + /* ToDo // channel mode // 11 - 25kHz channel // 00 - 12.5kHz channel // 10,01 - reserved void setChanMode(uint16_t mode); uint16_t getChanMode(); - + */ + void setModeTransmit(); // turn off rx, turn on tx void setModeReceive(); // turn on rx, turn off tx void setModeOff(); // turn off rx, turn off tx, set pwr_dwn bit @@ -265,6 +267,7 @@ class HamShield { void setTxSourceNone(); uint16_t getTxSource(); + /* // PA bias voltage is unused (maybe remove this) // set PA_bias voltage // 000000: 1.01V @@ -277,6 +280,7 @@ class HamShield { // 1111111:3.13V void setPABiasVoltage(uint16_t voltage); uint16_t getPABiasVoltage(); + */ // Subaudio settings @@ -475,9 +479,7 @@ class HamShield { uint32_t findWhitespace(uint32_t start,uint32_t stop, uint8_t dwell, uint16_t step, uint16_t threshold); uint32_t scanChannels(uint32_t buffer[],uint8_t buffsize, uint8_t speed, uint16_t threshold); uint32_t findWhitespaceChannels(uint32_t buffer[],uint8_t buffsize, uint8_t dwell, uint16_t threshold); - void buttonMode(uint8_t mode); - static void isr_ptt(); - static void isr_reset(); + unsigned int getMorseFreq(); void setMorseFreq(unsigned int morse_freq_hz); unsigned int getMorseDotMillis(); diff --git a/src/HamShield_comms.cpp b/src/HamShield_comms.cpp index a9ace46..0c66803 100644 --- a/src/HamShield_comms.cpp +++ b/src/HamShield_comms.cpp @@ -4,10 +4,6 @@ #include "HamShield_comms.h" - -#include "Arduino.h" -//#include "I2Cdev.h" - uint8_t ncs_pin = nCS; uint8_t clk_pin = CLK; uint8_t dat_pin = DAT; @@ -16,6 +12,10 @@ void HSsetPins(uint8_t ncs, uint8_t clk, uint8_t dat) { ncs_pin = ncs; clk_pin = clk; dat_pin = dat; + +#if !defined(ARDUINO) + wiringPiSetup(); +#endif pinMode(ncs_pin, OUTPUT); digitalWrite(ncs_pin, HIGH); @@ -147,11 +147,21 @@ void HSdelayMicroseconds(unsigned int us) { } void HStone(uint8_t pin, unsigned int frequency) { +#if defined(ARDUINO_ARCH_NRF52) +//TODO +#elif defined(ARDUINO) tone(pin, frequency); -} -void HStone(uint8_t pin, unsigned int frequency, unsigned long duration) { - tone(pin, frequency, duration); +#else + softToneCreate(pin); + softToneWrite(pin, frequency); +#endif } void HSnoTone(uint8_t pin) { +#if defined(ARDUINO_ARCH_NRF52) +//TODO +#elif defined(ARDUINO) noTone(pin); +#else + softToneWrite(pin, 0); +#endif } \ No newline at end of file diff --git a/src/HamShield_comms.h b/src/HamShield_comms.h index 43f57fc..f4dc017 100644 --- a/src/HamShield_comms.h +++ b/src/HamShield_comms.h @@ -4,13 +4,24 @@ #ifndef _HAMSHIELD_COMMS_H_ #define _HAMSHIELD_COMMS_H_ -#include "stdint.h" +#if defined(ARDUINO) #include "Arduino.h" + #define nCS A1 //15 // #define CLK A5 //19 // #define DAT A4 //18 // -#define MIC 3 // Pin assignment for PWM output +#define MIC 3 +#else // assume Raspberry Pi +#include "stdint.h" +#include +#include + +#define nCS 0 //BCM17, HW pin 11 +#define CLK 3 //BCM22, HW pin 15 +#define DAT 2 //BCM27, HW pin 13 +#define MIC 1 //BCM18, HW pin 12 +#endif void HSsetPins(uint8_t ncs, uint8_t clk, uint8_t dat); @@ -31,8 +42,7 @@ void HSdelay(unsigned long ms); void HSdelayMicroseconds(unsigned int us); void HStone(uint8_t pin, unsigned int frequency); -void HStone(uint8_t pin, unsigned int frequency, unsigned long duration); void HSnoTone(uint8_t pin); -#endif /* _HAMSHIELD_COMMS_H_ */ \ No newline at end of file +#endif /* _HAMSHIELD_COMMS_H_ */