Test Commit

Dependencies:   sx126x

Committer:
lorgei
Date:
Thu May 14 06:13:31 2020 +0000
Revision:
2:7232213724ad
Parent:
1:28d4b59feaf3
Child:
3:e28fe0f0c51e
First Commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Wayne Roberts 1:28d4b59feaf3 1 #include "sx12xx.h"
Wayne Roberts 0:9b15629b3f0f 2
Wayne Roberts 0:9b15629b3f0f 3 #ifdef TARGET_FF_ARDUINO /* pins of SX126xDVK1xAS board */
Wayne Roberts 0:9b15629b3f0f 4 SPI spi(D11, D12, D13); // mosi, miso, sclk
Wayne Roberts 0:9b15629b3f0f 5 // spi, nss, busy, dio1
Wayne Roberts 0:9b15629b3f0f 6 SX126x radio(spi, D7, D3, D5 );
Wayne Roberts 0:9b15629b3f0f 7 #define CHIP_TYPE_SX1262 0
Wayne Roberts 0:9b15629b3f0f 8 #define CHIP_TYPE_SX1261 1
Wayne Roberts 0:9b15629b3f0f 9 DigitalIn chipType(A2);
Wayne Roberts 0:9b15629b3f0f 10 AnalogIn xtalSel(A3);
Wayne Roberts 0:9b15629b3f0f 11 DigitalOut antswPower(D8);
Wayne Roberts 0:9b15629b3f0f 12 #endif /* TARGET_FF_ARDUINO */
Wayne Roberts 0:9b15629b3f0f 13
Wayne Roberts 0:9b15629b3f0f 14 /**********************************************************************/
Wayne Roberts 0:9b15629b3f0f 15 volatile bool txDone;
Wayne Roberts 0:9b15629b3f0f 16
Wayne Roberts 0:9b15629b3f0f 17 void txDone_callback()
Wayne Roberts 0:9b15629b3f0f 18 {
Wayne Roberts 0:9b15629b3f0f 19 txDone = true;
Wayne Roberts 0:9b15629b3f0f 20 }
Wayne Roberts 0:9b15629b3f0f 21
Wayne Roberts 0:9b15629b3f0f 22 int main()
Wayne Roberts 0:9b15629b3f0f 23 {
Wayne Roberts 0:9b15629b3f0f 24 uint8_t seq = 0;
Wayne Roberts 0:9b15629b3f0f 25
Wayne Roberts 0:9b15629b3f0f 26 printf("\r\nreset-tx ");
Wayne Roberts 0:9b15629b3f0f 27
Wayne Roberts 0:9b15629b3f0f 28 radio.setStandby(STBY_XOSC);
Wayne Roberts 0:9b15629b3f0f 29 radio.setPacketType(PACKET_TYPE_LORA);
lorgei 2:7232213724ad 30 radio.setMHz(915.5);
Wayne Roberts 0:9b15629b3f0f 31
Wayne Roberts 0:9b15629b3f0f 32 {
Wayne Roberts 0:9b15629b3f0f 33 ModulationParams_t mp;
Wayne Roberts 0:9b15629b3f0f 34
lorgei 2:7232213724ad 35 mp.lora.spreadingFactor = 5;
lorgei 2:7232213724ad 36 mp.lora.bandwidth = LORA_BW_500;
Wayne Roberts 0:9b15629b3f0f 37 mp.lora.codingRate = LORA_CR_4_5;
Wayne Roberts 0:9b15629b3f0f 38 mp.lora.LowDatarateOptimize = 0;
Wayne Roberts 0:9b15629b3f0f 39
Wayne Roberts 0:9b15629b3f0f 40 radio.xfer(OPCODE_SET_MODULATION_PARAMS, 4, mp.buf);
Wayne Roberts 0:9b15629b3f0f 41 }
Wayne Roberts 0:9b15629b3f0f 42
Wayne Roberts 0:9b15629b3f0f 43 if (chipType == CHIP_TYPE_SX1262)
lorgei 2:7232213724ad 44 radio.set_tx_dbm(true, 0);
Wayne Roberts 0:9b15629b3f0f 45 else
Wayne Roberts 0:9b15629b3f0f 46 radio.set_tx_dbm(false, 14);
Wayne Roberts 0:9b15629b3f0f 47
Wayne Roberts 0:9b15629b3f0f 48
Wayne Roberts 0:9b15629b3f0f 49 {
Wayne Roberts 0:9b15629b3f0f 50 PacketParams_t p;
Wayne Roberts 0:9b15629b3f0f 51
Wayne Roberts 0:9b15629b3f0f 52 p.lora.PreambleLengthHi = 0;
Wayne Roberts 0:9b15629b3f0f 53 p.lora.PreambleLengthLo = 8;
Wayne Roberts 0:9b15629b3f0f 54 p.lora.HeaderType = HEADER_TYPE_VARIABLE_LENGTH;
Wayne Roberts 0:9b15629b3f0f 55 /* constant payload length of one byte */
Wayne Roberts 0:9b15629b3f0f 56 p.lora.PayloadLength = 1;
Wayne Roberts 0:9b15629b3f0f 57 p.lora.CRCType = CRC_ON;
Wayne Roberts 0:9b15629b3f0f 58 p.lora.InvertIQ = STANDARD_IQ;
Wayne Roberts 0:9b15629b3f0f 59
Wayne Roberts 0:9b15629b3f0f 60 radio.xfer(OPCODE_SET_PACKET_PARAMS, 6, p.buf);
Wayne Roberts 0:9b15629b3f0f 61 }
Wayne Roberts 0:9b15629b3f0f 62
Wayne Roberts 0:9b15629b3f0f 63
Wayne Roberts 0:9b15629b3f0f 64 antswPower = 1;
Wayne Roberts 0:9b15629b3f0f 65 radio.SetDIO2AsRfSwitchCtrl(1);
Wayne Roberts 0:9b15629b3f0f 66
Wayne Roberts 0:9b15629b3f0f 67 radio.txDone = txDone_callback;
Wayne Roberts 0:9b15629b3f0f 68
Wayne Roberts 0:9b15629b3f0f 69 for (;;) {
Wayne Roberts 0:9b15629b3f0f 70 radio.tx_buf[0] = seq; /* set payload */
Wayne Roberts 0:9b15629b3f0f 71 txDone = false;
Wayne Roberts 0:9b15629b3f0f 72 radio.start_tx(1); /* begin transmission */
Wayne Roberts 0:9b15629b3f0f 73
Wayne Roberts 0:9b15629b3f0f 74 printf("sent\r\n");
Wayne Roberts 0:9b15629b3f0f 75 while (!txDone) {
Wayne Roberts 0:9b15629b3f0f 76 radio.service();
Wayne Roberts 0:9b15629b3f0f 77 }
Wayne Roberts 0:9b15629b3f0f 78
Wayne Roberts 0:9b15629b3f0f 79 printf("got-tx-done\r\n");
Wayne Roberts 0:9b15629b3f0f 80
Wayne Roberts 0:9b15629b3f0f 81 wait(0.5); /* throttle sending rate */
Wayne Roberts 0:9b15629b3f0f 82 seq++; /* change payload */
Wayne Roberts 0:9b15629b3f0f 83 }
Wayne Roberts 0:9b15629b3f0f 84 }
Wayne Roberts 0:9b15629b3f0f 85