working demo for Nucleo-L152RE and Nucleo-F446RE with modtronix inair9 module

Dependencies:   mbed

Revision:
1:126d70d374f6
Parent:
0:1ed39951ab7b
Child:
2:59e108728d71
--- a/main.cpp	Tue Aug 19 12:48:26 2014 +0000
+++ b/main.cpp	Wed Aug 20 06:29:39 2014 +0000
@@ -7,15 +7,15 @@
 
 
 /* Set this flag to '1' to use the LoRa modulation or to '0' to use FSK modulation */
-#define USE_MODEM_LORA  0
+#define USE_MODEM_LORA  1
 #define USE_MODEM_FSK   !USE_MODEM_LORA
 
-#define RF_FREQUENCY                                    869000000 // Hz
+#define RF_FREQUENCY                                    868000000 // Hz
 #define TX_OUTPUT_POWER                                 14        // 14 dBm
 
 #if USE_MODEM_LORA == 1
 
-    #define LORA_BANDWIDTH                              0         // [0: 125 kHz,
+    #define LORA_BANDWIDTH                              2         // [0: 125 kHz,
                                                                   //  1: 250 kHz,
                                                                   //  2: 500 kHz,
                                                                   //  3: Reserved]
@@ -32,7 +32,7 @@
 #elif USE_MODEM_FSK == 1
 
     #define FSK_FDEV                                    25e3      // Hz
-    #define FSK_DATARATE                                50e3      // bps
+    #define FSK_DATARATE                                9600      // bps
     #define FSK_BANDWIDTH                               50e3      // Hz
     #define FSK_AFC_BANDWIDTH                           83.333e3  // Hz
     #define FSK_PREAMBLE_LENGTH                         5         // Same for Tx and Rx
@@ -94,14 +94,12 @@
 double RssiValue = 0.0;
 double SnrValue = 0.0;
 
-DigitalOut Led( LED1 );
-
 int main() 
 {
     uint8_t i;
     bool isMaster = true;
     
-    debug("\n\r\n\r     SX1276 Ping Pong Demo Application \n\r");
+    debug( "\n\r\n\r     SX1276 Ping Pong Demo Application \n\r" );
         
 #if defined TARGET_NUCLEO_L152RE
     debug( DEBUG_MESSAGE, "         > Nucleo-L152RE Platform <\r\n" );
@@ -113,7 +111,8 @@
     debug( DEBUG_MESSAGE, "         > Untested Platform <\r\n" );
 #endif
     
-
+    debug( DEBUG_MESSAGE, "SX1276 Chipset Version = 0x%x \n\r", Radio.Read( REG_VERSION ) );
+    
     Radio.SetChannel( RF_FREQUENCY ); 
 
 #if USE_MODEM_LORA == 1
@@ -147,6 +146,8 @@
 #error "Please define a modem in the compiler options."
 
 #endif
+     
+    debug( DEBUG_MESSAGE, "Starting Ping-Pong loop\r\n" ); 
         
     Radio.Rx( RX_TIMEOUT_VALUE );
     
@@ -161,8 +162,6 @@
                 {
                     if( strncmp( ( const char* )Buffer, ( const char* )PongMsg, 4 ) == 0 )
                     {
-                        // Indicates on a LED that the received frame is a PONG
-                        Led = !Led;
                         debug( "Pong...\r\n" );
                         // Send the next PING frame            
                         Buffer[0] = 'P';
@@ -191,8 +190,6 @@
                 {
                     if( strncmp( ( const char* )Buffer, ( const char* )PingMsg, 4 ) == 0 )
                     {
-                        // Indicates on a LED that the received frame is a PING
-                        Led = !Led;
                         debug( "Ping...\r\n" );
                         // Send the reply to the PONG string
                         Buffer[0] = 'P';
@@ -212,9 +209,6 @@
             State = LOWPOWER;
             break;
         case TX:
-            // Indicates on a LED that we have sent a PING [Master]
-            // Indicates on a LED that we have sent a PONG [Slave]
-            Led = !Led;
             if ( isMaster )
             {
                 debug("...Ping\r\n" );
@@ -310,8 +304,8 @@
 {
     debug( DEBUG_MESSAGE, ":OnRxTimeout\n\r" );
     Radio.Sleep( );
+    Buffer[ BufferSize ] = 0;
     State = RX_TIMEOUT;
-    Buffer[ BufferSize ] = 0;
 }
 
 void OnRxError( void )