Fork from LoRa Alliance program. available here: https://developer.mbed.org/users/Alliance/code/LoRaWAN/

Dependencies:   LoRaMacLib SX1276Lib mbed Chainable_RGB_LED DigitDisplay

Fork of LoRaWAN by LoRa All

Revision:
1:1ef4f6cd800c
Parent:
0:fc538717c96e
Child:
3:db6ad4aa790d
--- a/main.cpp	Mon Sep 21 07:55:43 2015 +0000
+++ b/main.cpp	Tue Sep 22 19:34:29 2015 +0000
@@ -133,7 +133,7 @@
 
 Ticker Led1Timer;
 Ticker Led2Timer;
-
+Ticker BuzTimer;
 
 #define NUM_LED 3
 
@@ -144,6 +144,11 @@
 
 DigitalOut buzzer(A2);
 
+static void OnBuzTimerEvent( void )
+{
+    buzzer = 0;
+    BuzTimer.detach( );
+}
 
 /*!
  *
@@ -165,15 +170,19 @@
     switch( info->RxPort ) // Check Rx port number
     {
         case 10: 
-            display.write( 0, info->RxBuffer[0] / 10 );
-            display.write( 1, info->RxBuffer[1] % 10 );
-            display.write( 2, info->RxBuffer[2] / 10 );
-            display.write( 3, info->RxBuffer[3] % 10 );
+            display.write( 0, info->RxBuffer[0] );
+            display.write( 1, info->RxBuffer[1] );
+            display.write( 2, info->RxBuffer[2] );
+            display.write( 3, info->RxBuffer[3] );
             break;
             
+        case 20:
+            color_led.setColorRGB(0, info->RxBuffer[0], info->RxBuffer[0], info->RxBuffer[0] );
+            break;
             
-        case 20:
-            color_led.setColorRGB(0, info->RxBuffer[0], info->RxBuffer[1], 0x00 );
+        case 30:
+            BuzTimer.attach_us( &OnBuzTimerEvent, 500000 );
+            buzzer = 1;
             break;
             
         default:
@@ -205,6 +214,7 @@
 static void OnJoinReqTimerEvent( void )
 {
     TxNextPacket = true;
+    JoinReqTimer.detach( );
 }
 #endif
 
@@ -213,10 +223,9 @@
  * \brief Function executed on TxNextPacket Timeout event
  */
 static void OnTxNextPacketTimerEvent( void )
-{
-    debug( "OnTxNextPacketTimerEvent\n\n\r" );
-    
+{    
     TxNextPacket = true;
+    TxNextPacketTimer.detach( );
 }
 
 
@@ -254,13 +263,16 @@
  */
 int main( void )
 {
-    debug( "\n\n\r    LoRaWAN Class A Demo code  \n\n\r" );
-    
 #if( OVER_THE_AIR_ACTIVATION != 0 )
     uint8_t sendFrameStatus = 0;
 #endif
     bool trySendingFrameAgain = false;
 
+
+    buzzer = 0;
+
+    debug( "\n\n\r    LoRaWAN Class A Demo code  \n\n\r" );
+    
     BoardInitMcu( );
     BoardInitPeriph( );
 
@@ -286,7 +298,9 @@
 
     TxNextPacket = true;
 
-    LoRaMacSetAdrOn( true );
+    LoRaMacSetAdrOn( false );
+    
+    LoRaMacSetDutyCycleOn( false );    
         
     while( 1 )
     {
@@ -323,7 +337,6 @@
             TxDone = false;
             
             debug( "TxDone \n\n\r" );
-            color_led.setColorRGB(0, randr( 0, 255 ), randr( 0, 255 ), randr( 0, 255 ) );
             // Schedule next packet transmission
             TxDutyCycleTime = APP_TX_DUTYCYCLE + randr( -APP_TX_DUTYCYCLE_RND, APP_TX_DUTYCYCLE_RND );
             TxNextPacketTimer.attach_us( &OnTxNextPacketTimerEvent, TxDutyCycleTime );