simple typeABZ test with continuous carrier option
Dependencies: SX127x LPS22HB sx12xx_hal
Diff: main.cpp
- Revision:
- 0:77fa30d1c6b5
- Child:
- 1:48040edc5d0f
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Wed Feb 20 13:04:57 2019 -0800 @@ -0,0 +1,93 @@ +#include "radio.h" +#include "LPS22HBSensor.h" + +#define BW_KHZ 125 +#define SPREADING_FACTOR 7 +#define CF_HZ 915000000 +#define TX_DBM 20 + +/* +DevI2C devI2c(I2C_SDA, I2C_SCL); +LPS22HBSensor press_temp(&devI2c); +*/ +AnalogIn pa0(PA_0); +DigitalIn test_in_pin(PB_5, PullDown); +DigitalOut ext_led(PB_2); +#define EXT_LED_ON 0 +#define EXT_LED_OFF 1 + + +/**********************************************************************/ +volatile bool txDone; + +void txDoneCB() +{ + txDone = true; +} + +void rxDoneCB(uint8_t size, float rssi, float snr) +{ +} + +const RadioEvents_t rev = { + /* Dio0_top_half */ NULL, + /* TxDone_topHalf */ NULL, + /* TxDone_botHalf */ txDoneCB, + /* TxTimeout */ NULL, + /* RxDone */ rxDoneCB, + /* RxTimeout */ NULL, + /* RxError */ NULL, + /* FhssChangeChannel */NULL, + /* CadDone */ NULL +}; + +int main() +{ + printf("\r\nreset-tx "); + + Radio::Init(&rev); + + Radio::Standby(); + Radio::LoRaModemConfig(BW_KHZ, SPREADING_FACTOR, 1); + Radio::SetChannel(CF_HZ); + + Radio::set_tx_dbm(TX_DBM); + + // preambleLen, fixLen, crcOn, invIQ + Radio::LoRaPacketConfig(8, false, true, false); + + for (;;) { + + uint16_t samp = pa0.read_u16(); + if (test_in_pin) { + ext_led = EXT_LED_ON; + printf("continuous-tx\r\n"); +#ifdef SX127x_H + Radio::radio.set_opmode(RF_OPMODE_SLEEP); + Radio::fsk.enable(false); + Radio::radio.write_u16(REG_FSK_FDEVMSB, 0); + Radio::radio.write_u16(REG_FSK_PREAMBLEMSB, 0xffff); + Radio::fsk.start_tx(8); +#else + #error tx_carrier +#endif /* SX127x_H*/ + } + + ext_led = EXT_LED_ON; + Radio::radio.tx_buf[0] = samp; + samp >>= 8; + Radio::radio.tx_buf[1] = samp; + txDone = false; + Radio::Send(2, 0, 0, 0); /* begin transmission */ + + printf("Sent %04x\r\n", samp); + while (!txDone) { + Radio::service(); + } + printf("got-tx-done\r\n"); + ext_led = EXT_LED_OFF; + + wait(1.0); /* throttle sending rate */ + } +} +