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: BLE_API LoRaWAN-lib SX1276Lib mbed nRF51822 HCSR04Lib
Fork of LoRa by
Revision 4:63d6744a61b6, committed 2016-06-09
- Comitter:
- haaspors
- Date:
- Thu Jun 09 14:42:23 2016 +0000
- Parent:
- 3:70d40f678f37
- Commit message:
- Add 'device joined lora network' gatt char.
Changed in this revision
| main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/main.cpp Wed Jun 08 12:40:38 2016 +0000
+++ b/main.cpp Thu Jun 09 14:42:23 2016 +0000
@@ -159,6 +159,7 @@
MibRequestConfirm_t mibReq;
+bool loraHasJoinedNetwork = false;
/* BLE stuff */
const uint16_t loraConfServiceUUID = 0xA000;
@@ -169,16 +170,18 @@
const uint16_t DevEuiUUID = 0xA001;
const uint16_t AppEuiUUID = 0xA002;
const uint16_t AppKeyUUID = 0xA003;
+const uint16_t DevJoinedUUID = 0xA004;
ReadWriteArrayGattCharacteristic<uint8_t, sizeof(DevEui)> DevEuiChar(DevEuiUUID, DevEui);
ReadWriteArrayGattCharacteristic<uint8_t, sizeof(AppEui)> AppEuiChar(AppEuiUUID, AppEui);
WriteOnlyArrayGattCharacteristic<uint8_t, sizeof(AppKey)> AppKeyChar(AppKeyUUID, AppKey);
+ReadOnlyGattCharacteristic<bool> DevJoinedChar(DevJoinedUUID, &loraHasJoinedNetwork);
-GattCharacteristic *loraChars[] = {&DevEuiChar, &AppEuiChar, &AppKeyChar};
+GattCharacteristic *loraChars[] = {&DevEuiChar, &AppEuiChar, &AppKeyChar, &DevJoinedChar};
#else
-const uint16_t DevAddrUUID = 0xA004;
-const uint16_t NwkSKeyUUID = 0xA005;
-const uint16_t AppSKeyUUID = 0xA006;
+const uint16_t DevAddrUUID = 0xA011;
+const uint16_t NwkSKeyUUID = 0xA012;
+const uint16_t AppSKeyUUID = 0xA013;
ReadWriteGattCharacteristic<uint32_t> DevAddrChar(DevAddrUUID, &DevAddr);
WriteOnlyArrayGattCharacteristic<uint8_t, sizeof(NwkSKey)> NwkSKeyChar(NwkSKeyUUID, NwkSKey);
@@ -372,6 +375,9 @@
printf("We joined! \r\n");
// Status is OK, node has joined the network
IsNetworkJoinedStatusUpdate = true;
+ loraHasJoinedNetwork = true;
+ BLE::Instance(BLE::DEFAULT_INSTANCE).updateCharacteristicValue(DevJoinedChar.getValueHandle(),
+ (const uint8_t *)&loraHasJoinedNetwork, sizeof (loraHasJoinedNetwork));
break;
}
default:
@@ -457,8 +463,9 @@
/*
* Restart advertising when phone app disconnects
*/
-void disconnectionCallback(const Gap::DisconnectionCallbackParams_t *)
+void disconnectionCallback(const Gap::DisconnectionCallbackParams_t *params)
{
+ printf("%s - reason 0x%x", __FUNCTION__, params->reason);
BLE::Instance(BLE::DEFAULT_INSTANCE).gap().startAdvertising();
}
@@ -596,6 +603,9 @@
MlmeReq_t mlmeReq;
mlmeReq.Type = MLME_JOIN;
+ loraHasJoinedNetwork = false;
+ BLE::Instance(BLE::DEFAULT_INSTANCE).updateCharacteristicValue(DevJoinedChar.getValueHandle(),
+ (const uint8_t *)&loraHasJoinedNetwork, sizeof (loraHasJoinedNetwork));
mlmeReq.Req.Join.DevEui = DevEui;
mlmeReq.Req.Join.AppEui = AppEui;
