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
Diff: main.cpp
- 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 );