create a LoRa Modem from the PingPong example

Dependencies:   SX1276Lib mbed

Fork of SX1276PingPong by Semtech

Files at this revision

API Documentation at this revision

Comitter:
mluis
Date:
Thu Nov 26 12:20:56 2015 +0000
Parent:
9:e764990e45df
Child:
12:50862903c3e3
Commit message:
Adapted application to new version of SX1276Lib radio driver

Changed in this revision

SX1276Lib.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/SX1276Lib.lib	Tue Dec 16 12:52:01 2014 +0000
+++ b/SX1276Lib.lib	Thu Nov 26 12:20:56 2015 +0000
@@ -1,1 +1,1 @@
-http://mbed.org/users/GregCr/code/SX1276Lib/#618826a997e2
+http://developer.mbed.org/teams/Semtech/code/SX1276Lib/#2e496deb7858
--- a/main.cpp	Tue Dec 16 12:52:01 2014 +0000
+++ b/main.cpp	Thu Nov 26 12:20:56 2015 +0000
@@ -58,10 +58,33 @@
 /*
  *  Global variables declarations
  */
-typedef RadioState States_t;
-volatile States_t State = LOWPOWER;
+typedef enum
+{
+    LOWPOWER = 0,
+    IDLE,
+    
+    RX,
+    RX_TIMEOUT,
+    RX_ERROR,
+    
+    TX,
+    TX_TIMEOUT,
+    
+    CAD,
+    CAD_DONE
+}AppStates_t;
 
-SX1276MB1xAS Radio( OnTxDone, OnTxTimeout, OnRxDone, OnRxTimeout, OnRxError, NULL, NULL );
+volatile AppStates_t State = LOWPOWER;
+
+/*!
+ * Radio events function pointer
+ */
+static RadioEvents_t RadioEvents;
+
+/*
+ *  Global variables declarations
+ */
+SX1276MB1xAS Radio( NULL );
 
 const uint8_t PingMsg[] = "PING";
 const uint8_t PongMsg[] = "PONG";
@@ -78,6 +101,14 @@
     bool isMaster = true;
     
     debug( "\n\n\r     SX1276 Ping Pong Demo Application \n\n\r" );
+
+    // Initialize Radio driver
+    RadioEvents.TxDone = OnTxDone;
+    RadioEvents.RxDone = OnRxDone;
+    RadioEvents.RxError = OnRxError;
+    RadioEvents.TxTimeout = OnTxTimeout;
+    RadioEvents.RxTimeout = OnRxTimeout;
+    Radio.Init( &RadioEvents );
     
     // verify the connection with the board
     while( Radio.Read( REG_VERSION ) == 0x00  )