Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed LoRaWAN-lib SX1272Lib
Fork of LoRaWAN-demo-72 by
Revision 7:b61a09d8943d, committed 2016-12-06
- Comitter:
- SvenKbach
- Date:
- Tue Dec 06 13:51:36 2016 +0000
- Parent:
- 6:38d6cc1ff868
- Commit message:
- No VT100
Changed in this revision
--- a/app/Comissioning.h Thu Dec 01 09:07:19 2016 +0000
+++ b/app/Comissioning.h Tue Dec 06 13:51:36 2016 +0000
@@ -34,8 +34,11 @@
/*!
* Mote device IEEE EUI (big endian)
*/
+#if OVER_THE_AIR_ACTIVATION
#define LORAWAN_DEVICE_EUI { 0x70, 0xb3, 0xd5, 0xb0, 0x20, 0x00, 0x00, 0x2d}
-
+#else
+#define LORAWAN_DEVICE_EUI {0x70, 0xb3, 0xd5, 0xb0, 0x20, 0x00, 0x00, 0x3d}
+#endif
/*!
* Application IEEE EUI (big endian)
*/
@@ -44,7 +47,11 @@
/*!
* AES encryption/decryption cipher application key
*/
+#if OVER_THE_AIR_ACTIVATION
#define LORAWAN_APPLICATION_KEY { 0x6f, 0xe7, 0x25, 0x89, 0x46, 0x88, 0x7a, 0x0e, 0x39, 0x8e, 0x57, 0x80, 0x28, 0x48, 0x37, 0x9f }
+#else
+#define LORAWAN_APPLICATION_KEY {0x2b, 0x56, 0x86, 0x4d, 0xf8, 0x57, 0x07, 0xff, 0xe6, 0x2e, 0x39, 0xa4, 0xd9, 0x3a, 0x44, 0xb1}
+#endif
/*!
* Current network ID
@@ -54,16 +61,20 @@
/*!
* Device address on the network (big endian)
*/
+#if OVER_THE_AIR_ACTIVATION
#define LORAWAN_DEVICE_ADDRESS ( uint32_t )0x12345678
+#else
+#define LORAWAN_DEVICE_ADDRESS (uint32_t)0x0558ef68
+#endif
/*!
* AES encryption/decryption cipher network session key
*/
-#define LORAWAN_NWKSKEY { 0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6, 0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C }
+#define LORAWAN_NWKSKEY { 0xcc, 0xc7, 0x25, 0x89, 0x46, 0x88, 0x7a, 0x0e, 0x39, 0x8e, 0x57, 0x80, 0x28, 0x48, 0x3d, 0xdd }
/*!
* AES encryption/decryption cipher application session key
*/
-#define LORAWAN_APPSKEY { 0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6, 0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C }
+#define LORAWAN_APPSKEY { 0xaa, 0xa7, 0x25, 0x89, 0x46, 0x88, 0x7a, 0x0e, 0x39, 0x8e, 0x57, 0x80, 0x28, 0x48, 0x3b, 0xbb }
#endif // __LORA_COMMISSIONING_H__
--- a/app/main.cpp Thu Dec 01 09:07:19 2016 +0000
+++ b/app/main.cpp Tue Dec 06 13:51:36 2016 +0000
@@ -18,12 +18,12 @@
#include "LoRaMac.h"
#include "Comissioning.h"
-#include "SerialDisplay.h"
+//#include "SerialDisplay.h"
/*!
* Defines the application data transmission duty cycle. 5s, value in [us].
*/
-#define APP_TX_DUTYCYCLE 5000000
+#define APP_TX_DUTYCYCLE 50000000
/*!
* Defines a random delay for application data transmission duty cycle. 1s,
@@ -57,7 +57,7 @@
*
* \remark Please note that ETSI mandates duty cycled transmissions. Use only for test purposes
*/
-#define LORAWAN_DUTYCYCLE_ON true
+#define LORAWAN_DUTYCYCLE_ON false
#define USE_SEMTECH_DEFAULT_CHANNEL_LINEUP 1
@@ -145,20 +145,20 @@
/*!
* Specifies the state of the application LED
*/
-static bool AppLedStateOn = false;
-volatile bool Led3StateChanged = false;
+//static bool AppLedStateOn = false;
+//volatile bool Led3StateChanged = false;
/*!
* Timer to handle the state of LED1
*/
-static TimerEvent_t Led1Timer;
-volatile bool Led1State = false;
-volatile bool Led1StateChanged = false;
+//static TimerEvent_t Led1Timer;
+//volatile bool Led1State = false;
+//volatile bool Led1StateChanged = false;
/*!
* Timer to handle the state of LED2
*/
-static TimerEvent_t Led2Timer;
-volatile bool Led2State = false;
-volatile bool Led2StateChanged = false;
+//static TimerEvent_t Led2Timer;
+//volatile bool Led2State = false;
+//volatile bool Led2StateChanged = false;
/*!
* Indicates if a new packet can be sent
@@ -236,37 +236,37 @@
{
MibRequestConfirm_t mibReq;
- SerialDisplayInit( );
- SerialDisplayUpdateActivationMode( OVER_THE_AIR_ACTIVATION );
+ //SerialDisplayInit( );
+ //SerialDisplayUpdateActivationMode( OVER_THE_AIR_ACTIVATION );
#if( OVER_THE_AIR_ACTIVATION == 0 )
- SerialDisplayUpdateNwkId( LORAWAN_NETWORK_ID );
- SerialDisplayUpdateDevAddr( DevAddr );
- SerialDisplayUpdateKey( 12, NwkSKey );
- SerialDisplayUpdateKey( 13, AppSKey );
+ //SerialDisplayUpdateNwkId( LORAWAN_NETWORK_ID );
+ //SerialDisplayUpdateDevAddr( DevAddr );
+ //SerialDisplayUpdateKey( 12, NwkSKey );
+ // SerialDisplayUpdateKey( 13, AppSKey );
#endif
- SerialDisplayUpdateEui( 5, DevEui );
- SerialDisplayUpdateEui( 6, AppEui );
- SerialDisplayUpdateKey( 7, AppKey );
+ // SerialDisplayUpdateEui( 5, DevEui );
+ // SerialDisplayUpdateEui( 6, AppEui );
+ // SerialDisplayUpdateKey( 7, AppKey );
mibReq.Type = MIB_NETWORK_JOINED;
LoRaMacMibGetRequestConfirm( &mibReq );
- SerialDisplayUpdateNetworkIsJoined( mibReq.Param.IsNetworkJoined );
+ // SerialDisplayUpdateNetworkIsJoined( mibReq.Param.IsNetworkJoined );
- SerialDisplayUpdateAdr( LORAWAN_ADR_ON );
+ // SerialDisplayUpdateAdr( LORAWAN_ADR_ON );
#if defined( USE_BAND_868 )
- SerialDisplayUpdateDutyCycle( LORAWAN_DUTYCYCLE_ON );
+ // SerialDisplayUpdateDutyCycle( LORAWAN_DUTYCYCLE_ON );
#else
- SerialDisplayUpdateDutyCycle( false );
+ // SerialDisplayUpdateDutyCycle( false );
#endif
- SerialDisplayUpdatePublicNetwork( LORAWAN_PUBLIC_NETWORK );
+ //SerialDisplayUpdatePublicNetwork( LORAWAN_PUBLIC_NETWORK );
- SerialDisplayUpdateLedState( 3, AppLedStateOn );
+ // SerialDisplayUpdateLedState( 3, AppLedStateOn );
}
void SerialRxProcess( void )
{
- if( SerialDisplayReadable( ) == true )
+ /* if( SerialDisplayReadable( ) == true )
{
switch( SerialDisplayGetChar( ) )
{
@@ -278,7 +278,7 @@
default:
break;
}
- }
+ }*/
}
/*!
@@ -290,7 +290,7 @@
{
case 1:
{
- AppData[0] = AppLedStateOn;
+ AppData[0] = 1;//AppLedStateOn;
if( IsTxConfirmed == true )
{
AppData[1] = LoRaMacDownlinkStatus.DownlinkCounter >> 8;
@@ -353,7 +353,7 @@
LoRaMacUplinkStatus.Port = 0;
LoRaMacUplinkStatus.Buffer = NULL;
LoRaMacUplinkStatus.BufferSize = 0;
- SerialDisplayUpdateFrameType( false );
+ // SerialDisplayUpdateFrameType( false );
}
else
{
@@ -361,7 +361,7 @@
LoRaMacUplinkStatus.Port = AppPort;
LoRaMacUplinkStatus.Buffer = AppData;
LoRaMacUplinkStatus.BufferSize = AppDataSize;
- SerialDisplayUpdateFrameType( IsTxConfirmed );
+ // SerialDisplayUpdateFrameType( IsTxConfirmed );
if( IsTxConfirmed == false )
{
@@ -419,24 +419,24 @@
/*!
* \brief Function executed on Led 1 Timeout event
*/
-static void OnLed1TimerEvent( void )
+/*static void OnLed1TimerEvent( void )
{
TimerStop( &Led1Timer );
- // Switch LED 1 OFF
+ Switch LED 1 OFF
Led1State = false;
Led1StateChanged = true;
-}
+}*/
/*!
* \brief Function executed on Led 2 Timeout event
*/
-static void OnLed2TimerEvent( void )
+/*static void OnLed2TimerEvent( void )
{
TimerStop( &Led2Timer );
- // Switch LED 2 OFF
+ Switch LED 2 OFF
Led2State = false;
Led2StateChanged = true;
-}
+}*/
/*!
* \brief MCPS-Confirm event function
@@ -476,9 +476,9 @@
LoRaMacUplinkStatus.UplinkCounter = mcpsConfirm->UpLinkCounter;
// Switch LED 1 ON
- Led1State = true;
- Led1StateChanged = true;
- TimerStart( &Led1Timer );
+ // Led1State = true;
+ // Led1StateChanged = true;
+ // TimerStart( &Led1Timer );
UplinkStatusUpdated = true;
}
@@ -560,8 +560,8 @@
case 2:
if( mcpsIndication->BufferSize == 1 )
{
- AppLedStateOn = mcpsIndication->Buffer[0] & 0x01;
- Led3StateChanged = true;
+ // AppLedStateOn = mcpsIndication->Buffer[0] & 0x01;
+ // Led3StateChanged = true;
}
break;
case 224:
@@ -666,9 +666,9 @@
}
// Switch LED 2 ON for each received downlink
- Led2State = true;
- Led2StateChanged = true;
- TimerStart( &Led2Timer );
+ //Led2State = true;
+ //Led2StateChanged = true;
+ // TimerStart( &Led2Timer );
DownlinkStatusUpdated = true;
}
@@ -722,17 +722,17 @@
MibRequestConfirm_t mibReq;
BoardInit( );
- SerialDisplayInit( );
+ // SerialDisplayInit( );
- SerialDisplayUpdateEui( 5, DevEui );
- SerialDisplayUpdateEui( 6, AppEui );
- SerialDisplayUpdateKey( 7, AppKey );
+ // SerialDisplayUpdateEui( 5, DevEui );
+ // SerialDisplayUpdateEui( 6, AppEui );
+ // SerialDisplayUpdateKey( 7, AppKey );
#if( OVER_THE_AIR_ACTIVATION == 0 )
- SerialDisplayUpdateNwkId( LORAWAN_NETWORK_ID );
+ /* SerialDisplayUpdateNwkId( LORAWAN_NETWORK_ID );
SerialDisplayUpdateDevAddr( DevAddr );
SerialDisplayUpdateKey( 12, NwkSKey );
- SerialDisplayUpdateKey( 13, AppSKey );
+ SerialDisplayUpdateKey( 13, AppSKey );*/
#endif
DeviceState = DEVICE_STATE_INIT;
@@ -745,33 +745,33 @@
IsNetworkJoinedStatusUpdate = false;
mibReq.Type = MIB_NETWORK_JOINED;
LoRaMacMibGetRequestConfirm( &mibReq );
- SerialDisplayUpdateNetworkIsJoined( mibReq.Param.IsNetworkJoined );
+ // SerialDisplayUpdateNetworkIsJoined( mibReq.Param.IsNetworkJoined );
}
- if( Led1StateChanged == true )
+ /* if( Led1StateChanged == true )
{
Led1StateChanged = false;
- SerialDisplayUpdateLedState( 1, Led1State );
+ // SerialDisplayUpdateLedState( 1, Led1State );
}
if( Led2StateChanged == true )
{
Led2StateChanged = false;
- SerialDisplayUpdateLedState( 2, Led2State );
+ // SerialDisplayUpdateLedState( 2, Led2State );
}
if( Led3StateChanged == true )
{
Led3StateChanged = false;
- SerialDisplayUpdateLedState( 3, AppLedStateOn );
- }
+ // SerialDisplayUpdateLedState( 3, AppLedStateOn );
+ }*/
if( UplinkStatusUpdated == true )
{
UplinkStatusUpdated = false;
- SerialDisplayUpdateUplink( LoRaMacUplinkStatus.Acked, LoRaMacUplinkStatus.Datarate, LoRaMacUplinkStatus.UplinkCounter, LoRaMacUplinkStatus.Port, LoRaMacUplinkStatus.Buffer, LoRaMacUplinkStatus.BufferSize );
+ // SerialDisplayUpdateUplink( LoRaMacUplinkStatus.Acked, LoRaMacUplinkStatus.Datarate, LoRaMacUplinkStatus.UplinkCounter, LoRaMacUplinkStatus.Port, LoRaMacUplinkStatus.Buffer, LoRaMacUplinkStatus.BufferSize );
}
if( DownlinkStatusUpdated == true )
{
DownlinkStatusUpdated = false;
- SerialDisplayUpdateLedState( 2, Led2State );
- SerialDisplayUpdateDownlink( LoRaMacDownlinkStatus.RxData, LoRaMacDownlinkStatus.Rssi, LoRaMacDownlinkStatus.Snr, LoRaMacDownlinkStatus.DownlinkCounter, LoRaMacDownlinkStatus.Port, LoRaMacDownlinkStatus.Buffer, LoRaMacDownlinkStatus.BufferSize );
+ // SerialDisplayUpdateLedState( 2, Led2State );
+ // SerialDisplayUpdateDownlink( LoRaMacDownlinkStatus.RxData, LoRaMacDownlinkStatus.Rssi, LoRaMacDownlinkStatus.Snr, LoRaMacDownlinkStatus.DownlinkCounter, LoRaMacDownlinkStatus.Port, LoRaMacDownlinkStatus.Buffer, LoRaMacDownlinkStatus.BufferSize );
}
switch( DeviceState )
@@ -786,11 +786,11 @@
TimerInit( &TxNextPacketTimer, OnTxNextPacketTimerEvent );
- TimerInit( &Led1Timer, OnLed1TimerEvent );
- TimerSetValue( &Led1Timer, 25000 );
+ // TimerInit( &Led1Timer, OnLed1TimerEvent );
+ // TimerSetValue( &Led1Timer, 25000 );
- TimerInit( &Led2Timer, OnLed2TimerEvent );
- TimerSetValue( &Led2Timer, 25000 );
+ // TimerInit( &Led2Timer, OnLed2TimerEvent );
+ // TimerSetValue( &Led2Timer, 25000 );
mibReq.Type = MIB_ADR;
mibReq.Param.AdrEnable = LORAWAN_ADR_ON;
@@ -800,9 +800,13 @@
mibReq.Param.EnablePublicNetwork = LORAWAN_PUBLIC_NETWORK;
LoRaMacMibSetRequestConfirm( &mibReq );
+ mibReq.Type = MIB_DEVICE_CLASS;
+ mibReq.Param.Class = CLASS_C;
+ LoRaMacMibSetRequestConfirm( &mibReq );
+
#if defined( USE_BAND_868 )
LoRaMacTestSetDutyCycleOn( LORAWAN_DUTYCYCLE_ON );
- SerialDisplayUpdateDutyCycle( LORAWAN_DUTYCYCLE_ON );
+ // SerialDisplayUpdateDutyCycle( LORAWAN_DUTYCYCLE_ON );
#if( USE_SEMTECH_DEFAULT_CHANNEL_LINEUP == 1 )
LoRaMacChannelAdd( 3, ( ChannelParams_t )LC4 );
@@ -819,9 +823,9 @@
#endif
#endif
- SerialDisplayUpdateActivationMode( OVER_THE_AIR_ACTIVATION );
- SerialDisplayUpdateAdr( LORAWAN_ADR_ON );
- SerialDisplayUpdatePublicNetwork( LORAWAN_PUBLIC_NETWORK );
+ // SerialDisplayUpdateActivationMode( OVER_THE_AIR_ACTIVATION );
+ // SerialDisplayUpdateAdr( LORAWAN_ADR_ON );
+ // SerialDisplayUpdatePublicNetwork( LORAWAN_PUBLIC_NETWORK );
LoRaMacDownlinkStatus.DownlinkCounter = 0;
@@ -874,8 +878,8 @@
{
if( NextTx == true )
{
- SerialDisplayUpdateUplinkAcked( false );
- SerialDisplayUpdateDonwlinkRxData( false );
+ // SerialDisplayUpdateUplinkAcked( false );
+ // SerialDisplayUpdateDonwlinkRxData( false );
PrepareTxFrame( AppPort );
NextTx = SendFrame( );
@@ -883,7 +887,7 @@
if( ComplianceTest.Running == true )
{
// Schedule next packet transmission
- TxDutyCycleTime = 5000000; // 5000000 us
+ TxDutyCycleTime = 50000000; // 5000000 us
}
else
{
--- a/mac/LoRaWAN-lib.lib Thu Dec 01 09:07:19 2016 +0000 +++ b/mac/LoRaWAN-lib.lib Tue Dec 06 13:51:36 2016 +0000 @@ -1,1 +1,1 @@ -http://developer.mbed.org/teams/Semtech/code/LoRaWAN-lib/#c16969e0f70f +http://developer.mbed.org/teams/Semtech/code/LoRaWAN-lib/#21b06103f9ed
--- a/radio/SX1272Lib.lib Thu Dec 01 09:07:19 2016 +0000 +++ b/radio/SX1272Lib.lib Tue Dec 06 13:51:36 2016 +0000 @@ -1,1 +1,1 @@ -http://developer.mbed.org/teams/Semtech/code/SX1272Lib/#69d5976b504d +http://developer.mbed.org/teams/Semtech/code/SX1272Lib/#f15b7831a378
