1SJ Test_Example Tx
Dependencies: sx126x sx12xx_hal
main.cpp
- Committer:
- lorgei
- Date:
- 2022-01-17
- Revision:
- 4:9696eee39801
- Parent:
- 2:3f4dfcc3bab6
File content as of revision 4:9696eee39801:
#include "radio.h" #if defined(SX127x_H) #define BW_KHZ 125 #define SPREADING_FACTOR 7 #define CF_HZ 915000000 #define TX_DBM 20 #elif defined(SX126x_H) #define BW_KHZ 500 #define SPREADING_FACTOR 8 #define CF_HZ 915000000 //#define TX_DBM (Radio::chipType == CHIP_TYPE_SX1262 ? 20 : 14) #elif defined(SX128x_H) #define BW_KHZ 200 #define SPREADING_FACTOR 7 #define CF_HZ 2487000000 #define TX_DBM 6 #endif /**********************************************************************/ EventQueue queue(4 * EVENTS_EVENT_SIZE); void tx_test() { uint8_t seq = 0; Radio::radio.tx_buf[0] = seq++; /* set payload */ Radio::Send(1, 0, 0, 0); /* begin transmission */ printf("sent\r\n"); /* { mbed_stats_cpu_t stats; mbed_stats_cpu_get(&stats); printf("canDeep:%u ", sleep_manager_can_deep_sleep()); printf("Uptime: %llu ", stats.uptime / 1000); printf("Sleep time: %llu ", stats.sleep_time / 1000); printf("Deep Sleep: %llu\r\n", stats.deep_sleep_time / 1000); }*/ } void txDoneCB() { printf("got-tx-done\r\n"); queue.call_in(500, tx_test); } void rxDoneCB(uint8_t size, float rssi, float snr) { } void radio_irq_callback() { queue.call(Radio::service); } const RadioEvents_t rev = { /* DioPin_top_half */ radio_irq_callback, /* TxDone_topHalf */ NULL, /* TxDone_botHalf */ txDoneCB, /* TxTimeout */ NULL, /* RxDone */ rxDoneCB, /* RxTimeout */ NULL, /* RxError */ NULL, /* FhssChangeChannel */NULL, /* CadDone */ NULL }; int main() { //uint8_t seq = 0; printf("\r\nreset-tx "); Radio::Init(&rev); Radio::Standby(); Radio::LoRaModemConfig(BW_KHZ, SPREADING_FACTOR, 1); Radio::SetChannel(CF_HZ); Radio::set_tx_dbm(20); // preambleLen, fixLen, crcOn, invIQ Radio::LoRaPacketConfig(8, false, true, false); queue.call_in(500, tx_test); queue.dispatch(); }