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.
Diff: peripherals/lora_radio.cpp
- Revision:
- 14:900adc64ed43
diff -r 5921e108936c -r 900adc64ed43 peripherals/lora_radio.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/peripherals/lora_radio.cpp Fri Sep 28 13:28:09 2018 +0000
@@ -0,0 +1,45 @@
+#include "mbed.h"
+#include "CircularBuffer.h"
+#include "sx1276-hal.h"
+
+
+static void TxDoneCb(void) {};
+static void TxTimeoutCb(void) {};
+static void RxDoneCb(uint8_t *pld, uint16_t size, int16_t rssi, int8_t snr);
+static void RxTimeoutCb(void) {};
+static void RxErrorCb(void) {};
+static void FhssChangeChannelCb(uint8_t currentChannel) {};
+static void CadDoneCb(bool ChannelActivityDetected) {};
+
+
+SX1276MB1xAS Radio( NULL );
+
+void initLoRaRadio() {
+ // Set up the RadioEvents
+ static RadioEvents_t events;
+ events.TxDone = TxDoneCb;
+ events.TxTimeout = TxTimeoutCb;
+ events.RxDone = RxDoneCb;
+ events.RxTimeout = RxTimeoutCb;
+ events.RxError = RxErrorCb;
+ events.FhssChangeChannel = FhssChangeChannelCb;
+ events.CadDone = CadDoneCb;
+
+ Radio.Init(&events);
+}
+
+typedef struct {
+ uint8_t pld[128];
+} pkt_t;
+CircularBuffer<pkt_t, 32, uint32_t> rx_plds;
+CircularBuffer<uint16_t, 32, uint32_t> rssi_vals;
+CircularBuffer<uint16_t, 32, uint32_t> snr_vals;
+static pkt_t mesh_pkt;
+static void RxDoneCb(uint8_t *pld, uint16_t size, int16_t rssi, int8_t snr) {
+ static pkt_t tmp_pld;
+ memcpy((void *) &tmp_pld, (void *) pld, size);
+ memcpy((void *) &mesh_pkt, (void *) pld, size);
+ rx_plds.push(tmp_pld);
+ rssi_vals.push(rssi);
+ snr_vals.push(snr);
+}
\ No newline at end of file