diff --git a/examples/CTCSS/CTCSS.ino b/examples/CTCSS/CTCSS.ino index 0bb9ad3..23eae5c 100644 --- a/examples/CTCSS/CTCSS.ino +++ b/examples/CTCSS/CTCSS.ino @@ -95,12 +95,13 @@ void setup() { radio.setRfPower(0); // CTCSS Setup code - ctcss_tone = 103.5; + ctcss_tone = 134.4; radio.setCtcss(ctcss_tone); radio.enableCtcss(); - + Serial.print("ctcss tone: "); + Serial.println(radio.getCtcssFreqHz()); // mute audio until we get a CTCSS tone - radio.setMute(); +// radio.setMute(); muted = true; // configure Arduino LED for @@ -116,13 +117,13 @@ void loop() { if (radio.getCtcssToneDetected()) { if (muted) { muted = false; - radio.setUnmute(); + // radio.setUnmute(); Serial.println("tone"); } } else { if (!muted) { muted = true; - radio.setMute(); + // radio.setMute(); Serial.println("no tone"); } } @@ -171,4 +172,4 @@ void loop() { Serial.println(radio.readRSSI()); rssi_timeout = millis(); } -} +} \ No newline at end of file diff --git a/examples/Morse/Morse.ino b/examples/Morse/Morse.ino index 15cb251..beab6f8 100644 --- a/examples/Morse/Morse.ino +++ b/examples/Morse/Morse.ino @@ -1,7 +1,7 @@ /* Hamshield * Example: Morse Code Transceiver * - * Serail to Morse transceiver. Sends characters from the Serial + * Serial to Morse transceiver. Sends characters from the Serial * port over the air, and vice versa. * Connect the HamShield to your Arduino. Screw the antenna * into the HamShield RF jack. Connect the Arduino to wall diff --git a/src/HamShield.cpp b/src/HamShield.cpp index 7a73828..70e733b 100644 --- a/src/HamShield.cpp +++ b/src/HamShield.cpp @@ -770,23 +770,25 @@ void HamShield::setCtcss(float freq_Hz) { } void HamShield::setCtcssFreq(uint16_t freq_milliHz){ - HSwriteWord(devAddr, A1846S_CTCSS_FREQ_REG, freq_milliHz); - // set RX Ctcss match thresholds (based on frequency) // calculate thresh based on freq float f = ((float) freq_milliHz)/100; uint8_t thresh = (uint8_t)(-0.1*f + 25); setCtcssDetThreshIn(thresh); setCtcssDetThreshOut(thresh); - + + HSwriteWord(devAddr, A1846S_CTCSS_FREQ_REG, freq_milliHz); } uint16_t HamShield::getCtcssFreqMilliHz(){ - HSreadWord(devAddr, A1846S_CTCSS_FREQ_REG, radio_i2c_buf); - - return radio_i2c_buf[0]; + return getCtcssFreqHz()*100; } float HamShield::getCtcssFreqHz() { - return ((float)(getCtcssFreqMilliHz()))/100; + //y = mx + b + float m = 1.678; + float b = -3.3; + HSreadWord(devAddr, A1846S_CTCSS_FREQ_REG, radio_i2c_buf); + float f = (float) radio_i2c_buf[0]; + return (f/m-b)/100; } void HamShield::setCtcssFreqToStandard(){