
First Test Commit
Diff: main.cpp
- Revision:
- 1:ce312fc7dd18
- Parent:
- 0:a64836ef007e
- Child:
- 2:ad71a4297b6d
--- a/main.cpp Fri May 18 10:59:53 2018 -0700 +++ b/main.cpp Tue May 22 14:27:12 2018 -0700 @@ -1,9 +1,12 @@ -#include "sx126x.h" +#include "sx12xx.h" + +DigitalOut myled(LED1); #ifdef TARGET_FF_ARDUINO /* pins of SX126xDVK1xAS board */ SPI spi(D11, D12, D13); // mosi, miso, sclk - // spi, nss, busy, dio1 - SX126x radio(spi, D7, D3, D5 ); + //spi, nss, busy, dio1 + SX126x radio(spi, D7, D3, D5); + #define CHIP_TYPE_SX1262 0 #define CHIP_TYPE_SX1261 1 DigitalIn chipType(A2); @@ -12,19 +15,25 @@ #endif /* TARGET_FF_ARDUINO */ /**********************************************************************/ -volatile bool txDone; + +void rx_done(uint8_t size, float rssi, float snr) +{ + unsigned i; -void txDone_callback() -{ - txDone = true; + myled.write(!myled.read()); // toggle LED + + printf("rssi:%.1fdBm, snr:%.1fdB ", rssi, snr); + for (i = 0; i < size; i++) { + printf("%02x ", radio.rx_buf[i]); + } + printf("\r\n"); } + int main() -{ - uint8_t seq = 0; +{ + printf("\r\nreset-rx\r\n"); - printf("\r\nreset-tx "); - radio.setStandby(STBY_XOSC); radio.setPacketType(PACKET_TYPE_LORA); radio.setMHz(915.0); @@ -40,46 +49,27 @@ radio.xfer(OPCODE_SET_MODULATION_PARAMS, 4, mp.buf); } - if (chipType == CHIP_TYPE_SX1262) - radio.set_tx_dbm(true, 20); - else - radio.set_tx_dbm(false, 14); - - { PacketParams_t p; p.lora.PreambleLengthHi = 0; p.lora.PreambleLengthLo = 8; p.lora.HeaderType = HEADER_TYPE_VARIABLE_LENGTH; - /* constant payload length of one byte */ - p.lora.PayloadLength = 1; + p.lora.PayloadLength = 0x40; // max limit in rx p.lora.CRCType = CRC_ON; p.lora.InvertIQ = STANDARD_IQ; radio.xfer(OPCODE_SET_PACKET_PARAMS, 6, p.buf); } - - + antswPower = 1; radio.SetDIO2AsRfSwitchCtrl(1); - - radio.txDone = txDone_callback; + + radio.rxDone = rx_done; + + radio.start_rx(RX_TIMEOUT_CONTINUOUS); - for (;;) { - radio.tx_buf[0] = seq; /* set payload */ - txDone = false; - radio.start_tx(1); /* begin transmission */ - - printf("sent\r\n"); - while (!txDone) { - radio.service(); - } - - printf("got-tx-done\r\n"); - - wait(0.5); /* throttle sending rate */ - seq++; /* change payload */ + for (;;) { + radio.service(); } } -