1SJ Test_Example Tx
Dependencies: sx126x sx12xx_hal
main.cpp
00001 #include "radio.h" 00002 00003 #if defined(SX127x_H) 00004 #define BW_KHZ 125 00005 #define SPREADING_FACTOR 7 00006 #define CF_HZ 915000000 00007 #define TX_DBM 20 00008 #elif defined(SX126x_H) 00009 #define BW_KHZ 500 00010 #define SPREADING_FACTOR 8 00011 #define CF_HZ 915000000 00012 //#define TX_DBM (Radio::chipType == CHIP_TYPE_SX1262 ? 20 : 14) 00013 #elif defined(SX128x_H) 00014 #define BW_KHZ 200 00015 #define SPREADING_FACTOR 7 00016 #define CF_HZ 2487000000 00017 #define TX_DBM 6 00018 #endif 00019 00020 /**********************************************************************/ 00021 EventQueue queue(4 * EVENTS_EVENT_SIZE); 00022 00023 void tx_test() 00024 { 00025 uint8_t seq = 0; 00026 00027 Radio::radio.tx_buf[0] = seq++; /* set payload */ 00028 Radio::Send(1, 0, 0, 0); /* begin transmission */ 00029 printf("sent\r\n"); 00030 00031 /* { 00032 mbed_stats_cpu_t stats; 00033 mbed_stats_cpu_get(&stats); 00034 printf("canDeep:%u ", sleep_manager_can_deep_sleep()); 00035 printf("Uptime: %llu ", stats.uptime / 1000); 00036 printf("Sleep time: %llu ", stats.sleep_time / 1000); 00037 printf("Deep Sleep: %llu\r\n", stats.deep_sleep_time / 1000); 00038 }*/ 00039 } 00040 00041 void txDoneCB() 00042 { 00043 printf("got-tx-done\r\n"); 00044 queue.call_in(500, tx_test); 00045 } 00046 00047 void rxDoneCB(uint8_t size, float rssi, float snr) 00048 { 00049 } 00050 00051 00052 void radio_irq_callback() 00053 { 00054 queue.call(Radio::service); 00055 } 00056 00057 00058 const RadioEvents_t rev = { 00059 /* DioPin_top_half */ radio_irq_callback, 00060 /* TxDone_topHalf */ NULL, 00061 /* TxDone_botHalf */ txDoneCB, 00062 /* TxTimeout */ NULL, 00063 /* RxDone */ rxDoneCB, 00064 /* RxTimeout */ NULL, 00065 /* RxError */ NULL, 00066 /* FhssChangeChannel */NULL, 00067 /* CadDone */ NULL 00068 }; 00069 00070 int main() 00071 { 00072 //uint8_t seq = 0; 00073 00074 printf("\r\nreset-tx "); 00075 00076 Radio::Init(&rev); 00077 00078 Radio::Standby(); 00079 Radio::LoRaModemConfig(BW_KHZ, SPREADING_FACTOR, 1); 00080 Radio::SetChannel(CF_HZ); 00081 00082 Radio::set_tx_dbm(20); 00083 00084 // preambleLen, fixLen, crcOn, invIQ 00085 Radio::LoRaPacketConfig(8, false, true, false); 00086 00087 queue.call_in(500, tx_test); 00088 00089 queue.dispatch(); 00090 } 00091
Generated on Thu Aug 25 2022 03:48:49 by 1.7.2