diff --git a/examples/AFSKSend/AFSKSend.ino b/examples/AFSKSend/AFSKSend.ino deleted file mode 100644 index 858cb97..0000000 --- a/examples/AFSKSend/AFSKSend.ino +++ /dev/null @@ -1,105 +0,0 @@ -#include - -HamShield radio; -DDS dds; - -#define PWM_PIN 3 -#define RESET_PIN A3 -#define SWITCH_PIN 2 - -#define DON(p) PORTD |= _BV((p)) -#define DOFF(p) PORTD &= ~(_BV((p))) - -void setup() { - Serial.begin(9600); - - pinMode(4, OUTPUT); - pinMode(5, OUTPUT); - pinMode(6, OUTPUT); - pinMode(7, OUTPUT); - - // NOTE: if not using PWM out, it should be held low to avoid tx noise - pinMode(PWM_PIN, OUTPUT); - digitalWrite(PWM_PIN, LOW); - - // prep the switch - pinMode(SWITCH_PIN, INPUT_PULLUP); - - // set up the reset control pin - pinMode(RESET_PIN, OUTPUT); - // turn on pwr to the radio - digitalWrite(RESET_PIN, HIGH); - - Serial.println(F("Radio test connection")); - Serial.println(radio.testConnection(), DEC); - Serial.println(F("Initialize")); - delay(100); - radio.initialize(); - Serial.println(F("Frequency")); - delay(100); - radio.frequency(145010); - //radio.setRfPower(0); - delay(100); - dds.start(); - delay(100); - radio.afsk.start(&dds); - delay(100); - dds.setFrequency(0); - dds.on(); - dds.setAmplitude(255); - I2Cdev::writeWord(A1846S_DEV_ADDR_SENLOW, 0x44, 0b0000011111111111); - //I2Cdev::writeWord(A1846S_DEV_ADDR_SENLOW, 0x53, 0x0); - //I2Cdev::writeWord(A1846S_DEV_ADDR_SENLOW, 0x32, 0xffff); -} - -void loop() { - DON(6); - AFSK::Packet *packet = AFSK::PacketBuffer::makePacket(22 + 32); - packet->start(); - packet->appendCallsign("VE6SLP",0); - packet->appendCallsign("VA6GA",15,true); - packet->appendFCS(0x03); - packet->appendFCS(0xf0); - packet->print(F("Hello ")); - packet->print(millis()); - packet->println(F("\r\nThis is a test of the HamShield Kickstarter prototype. de VE6SLP")); - packet->finish(); - - bool ret = radio.afsk.putTXPacket(packet); - - if(radio.afsk.txReady()) { - Serial.println(F("txReady")); - radio.setModeTransmit(); - if(radio.afsk.txStart()) { - Serial.println(F("txStart")); - } else { - Serial.println(F("Tx Start failure")); - radio.setModeReceive(); - } - } - // Wait 2 seconds before we send our beacon again. - Serial.println("tick"); - // Wait up to 2.5 seconds to finish sending, and stop transmitter. - // TODO: This is hackery. - DOFF(6); - for(int i = 0; i < 500; i++) { - if(radio.afsk.encoder.isDone()) - break; - delay(50); - Serial.println("Not done"); - } - Serial.println("Done sending"); - delay(100); - radio.setModeReceive(); - delay(2000); -} - -ISR(ADC_vect) { - TIFR1 = _BV(ICF1); // Clear the timer flag - DON(4); - dds.clockTick(); - DON(5); - radio.afsk.timer(); - DOFF(5); - DOFF(4); -} diff --git a/examples/DDS/DDS.ino b/examples/DDS/DDS.ino index a843333..cd6146f 100644 --- a/examples/DDS/DDS.ino +++ b/examples/DDS/DDS.ino @@ -1,7 +1,9 @@ +// Example sketch to show how to transmit arbitrary tones. +// In this case, the sketch alternates between 1200Hz and 2200Hz at 1s intervals. + #define DDS_REFCLK_DEFAULT 9600 #include - #define PWM_PIN 3 #define RESET_PIN A3 #define SWITCH_PIN 2 @@ -24,7 +26,7 @@ void setup() { radio.initialize(); radio.setRfPower(0); - radio.setFrequency(145060); + radio.frequency(438000); radio.setModeTransmit(); dds.start(); dds.playWait(600, 3000); @@ -48,10 +50,8 @@ ISR(ADC_vect) { static unsigned char tcnt = 0; TIFR1 = _BV(ICF1); // Clear the timer flag if(++tcnt == 4) { - //digitalWrite(2, HIGH); tcnt = 0; } dds.clockTick(); - //digitalWrite(2, LOW); } #endif