Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: MbedJSONValue SX127x sx12xx_hal
Diff: main.cpp
- Revision:
- 0:44fb2db84011
- Child:
- 1:b277f5a65c1c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp Wed Feb 20 07:27:34 2019 +0000
@@ -0,0 +1,83 @@
+#include "radio.h"
+
+#if defined(SX127x_H)
+ #define BW_KHZ 500
+ #define SPREADING_FACTOR 11
+ #define CF_HZ 912000000
+ #define TX_DBM 20
+#elif defined(SX126x_H)
+ #define BW_KHZ 500
+ #define SPREADING_FACTOR 10
+ #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
+
+/**********************************************************************/
+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()
+{
+ 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(TX_DBM);
+
+ // preambleLen, fixLen, crcOn, invIQ
+ Radio::LoRaPacketConfig(8, false, true, false);
+
+ printf("\n");
+
+ printf("%02d \r\n\n", seq);
+
+ for (;;) {
+ Radio::radio.tx_buf[0] = seq; /* set payload */
+ txDone = false;
+ Radio::Send(10, 0, 0, 0); /* begin transmission */
+
+ //printf("sent\r\n\n");
+ while (!txDone) {
+ Radio::service();
+ }
+
+ //printf("got-tx-done\r\n\n");
+
+ wait(0.5); /* throttle sending rate */
+ seq++; /* change payload */
+ printf("%02d \r\n\n", seq);
+
+
+ }
+}