mbed support for STM32F103C8T6 (Blue Pill) boards

Revision:
14:900adc64ed43
--- /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