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: libmDot-mbed5 ISL29011
Revision 36:18e6b0e367b6, committed 2019-03-07
- Comitter:
- jreiss
- Date:
- Thu Mar 07 14:12:55 2019 +0000
- Parent:
- 35:470b2b934241
- Commit message:
- Add ack received with two uplinks sent after join
Changed in this revision
| examples/src/class_c_example_copy.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/examples/src/class_c_example_copy.cpp Tue Mar 05 13:34:21 2019 +0000
+++ b/examples/src/class_c_example_copy.cpp Thu Mar 07 14:12:55 2019 +0000
@@ -22,14 +22,14 @@
// * either the network name and passphrase can be used or //
// the network ID (8 bytes) and KEY (16 bytes) //
/////////////////////////////////////////////////////////////
-static std::string network_name = "iotlab01";
-static std::string network_passphrase = "11223344";
-//static uint8_t network_id[] = { 0x6C, 0x4E, 0xEF, 0x66, 0xF4, 0x79, 0x86, 0xA6 };
-//static uint8_t network_key[] = { 0x1F, 0x33, 0xA1, 0x70, 0xA5, 0xF1, 0xFD, 0xA0, 0xAB, 0x69, 0x7A, 0xAE, 0x2B, 0x95, 0x91, 0x6B };
+//static std::string network_name = "iotlab01";
+//static std::string network_passphrase = "11223344";
+static uint8_t network_id[] = { 0x00, 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x11 };
+static uint8_t network_key[] = { 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88 };
static uint8_t frequency_sub_band = 4;
static lora::NetworkType network_type = lora::PUBLIC_LORAWAN;
static uint8_t join_delay = 6;
-static uint8_t ack = 0;
+static uint8_t ack = 1;
static bool adr = true;
mDot* dot = NULL;
@@ -221,8 +221,8 @@
// only one method or the other should be used!
// network ID = crc64(network name)
// network KEY = cmac(network passphrase)
- update_ota_config_name_phrase(network_name, network_passphrase, frequency_sub_band, network_type, ack);
- //update_ota_config_id_key(network_id, network_key, frequency_sub_band, network_type, ack);
+ // update_ota_config_name_phrase(network_name, network_passphrase, frequency_sub_band, network_type, ack);
+ update_ota_config_id_key(network_id, network_key, frequency_sub_band, network_type, ack);
// configure the Dot for class C operation
// the Dot must also be configured on the gateway for class C
@@ -252,32 +252,42 @@
std::string tx_str;
// uint8_t recv_from_uart;
- std::vector<uint8_t> tx_data;
- if (!dot->getNetworkJoinStatus()) {
- join_network();
- }
-
- send_string("start!",dot);
- send_string(tx_str.c_str(),dot);
-
+ std::vector<uint8_t> tx_data;
+
+ int count = 0;
+
while (true) {
// join network if not joined
if (!dot->getNetworkJoinStatus()) {
join_network();
- send_string("start!",dot);
- send_string(tx_str.c_str(),dot);
- }
-
+ while (dot->getIsTransmitting()) ;
+
+ dot->setAck(1);
+
+ events.AckReceived = false;
+
+ while (!events.AckReceived) {
+ send_string("start!",dot);
+ }
+
+ events.AckReceived = false;
+
+ while (!events.AckReceived) {
+ send_string(tx_str.c_str(),dot);
+ }
+
+ dot->setAck(0);
+ }
-
- if (!Last_RX.empty()) {
-
+ if (!Last_RX.empty()) { // || count++ > 100) {
+ count = 0;
+
tx_str=Last_RX;
Last_RX.clear();
pc.printf("%s",tx_str.c_str());
- send_string(tx_str.c_str(),dot);
+ send_string(tx_str.c_str(),dot);
}
osDelay(100);