Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 9 additions & 6 deletions features/nanostack/FEATURE_NANOSTACK/mbed-mesh-api/mbed_lib.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,17 @@
"6lowpan-nd-psk-key": "{0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf}",
"6lowpan-nd-sec-level": 5,
"6lowpan-nd-device-type": "NET_6LOWPAN_ROUTER",
"thread-pskd": "\"Secret password\"",
"thread-pskd": "\"abcdefghijklmno\"",
"thread-config-channel-mask": "0x7fff800",
"thread-config-channel-page": 0,
"thread-config-channel": 12,
"thread-config-panid": "0xDEFA",
"thread-master-key": "{0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff}",
"thread-config-ml-prefix": "{0xfd, 0x00, 0x0d, 0xb8, 0x00, 0x00, 0x00, 0x00}",
"thread-config-pskc": "{0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff}",
"thread-config-channel": 22,
"thread-config-panid": "0x0700",
"thread-config-network-name": "\"Thread Network\"",
"thread-config-commissioning-dataset-timestamp": "0x00010000",
"thread-config-extended-panid": "{0xf1, 0xb5, 0xa1, 0xb2,0xc4, 0xd5, 0xa1, 0xbd }",
"thread-master-key": "{0x10, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff}",
"thread-config-ml-prefix": "{0xfd, 0x0, 0x0d, 0xb8, 0x0, 0x0, 0x0, 0x0}",
"thread-config-pskc": "{0xc8, 0xa6, 0x2e, 0xae, 0xf3, 0x68, 0xf3, 0x46, 0xa9, 0x9e, 0x57, 0x85, 0x98, 0x9d, 0x1c, 0xd0}",
"thread-device-type": "MESH_DEVICE_TYPE_THREAD_ROUTER"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,7 @@
extern "C" {
#endif

#ifdef YOTTA_CFG_MBED_MESH_API_HEAP_SIZE
#define MBED_MESH_API_HEAP_SIZE YOTTA_CFG_MBED_MESH_API_HEAP_SIZE
#elif defined MBED_CONF_MBED_MESH_API_HEAP_SIZE
#if defined MBED_CONF_MBED_MESH_API_HEAP_SIZE
#define MBED_MESH_API_HEAP_SIZE MBED_CONF_MBED_MESH_API_HEAP_SIZE
#else
#define MBED_MESH_API_HEAP_SIZE 32500
Expand All @@ -42,59 +40,45 @@ extern "C" {
* Possible channels are 0,1,2,3,4,5,6,9,10, see arm_hal_phy.h for details
*/

#ifdef YOTTA_CFG_MBED_MESH_API_6LOWPAN_ND_CHANNEL_PAGE
#define MBED_MESH_API_6LOWPAN_ND_CHANNEL_PAGE YOTTA_CFG_MBED_MESH_API_6LOWPAN_ND_CHANNEL_PAGE
#elif defined MBED_CONF_MBED_MESH_API_6LOWPAN_ND_CHANNEL_PAGE
#if defined MBED_CONF_MBED_MESH_API_6LOWPAN_ND_CHANNEL_PAGE
#define MBED_MESH_API_6LOWPAN_ND_CHANNEL_PAGE MBED_CONF_MBED_MESH_API_6LOWPAN_ND_CHANNEL_PAGE
#else
#define MBED_MESH_API_6LOWPAN_ND_CHANNEL_PAGE 0
#endif

#ifdef YOTTA_CFG_MBED_MESH_API_6LOWPAN_ND_CHANNEL
#define MBED_MESH_API_6LOWPAN_ND_CHANNEL YOTTA_CFG_MBED_MESH_API_6LOWPAN_ND_CHANNEL
#elif defined MBED_CONF_MBED_MESH_API_6LOWPAN_ND_CHANNEL
#if defined MBED_CONF_MBED_MESH_API_6LOWPAN_ND_CHANNEL
#define MBED_MESH_API_6LOWPAN_ND_CHANNEL MBED_CONF_MBED_MESH_API_6LOWPAN_ND_CHANNEL
#else
#define MBED_MESH_API_6LOWPAN_ND_CHANNEL 0
#endif

#ifdef YOTTA_CFG_MBED_MESH_API_6LOWPAN_ND_CHANNEL_MASK
#define MBED_MESH_API_6LOWPAN_ND_CHANNEL_MASK YOTTA_CFG_MBED_MESH_API_6LOWPAN_ND_CHANNEL_MASK
#elif defined MBED_CONF_MBED_MESH_API_6LOWPAN_ND_CHANNEL_MASK
#if defined MBED_CONF_MBED_MESH_API_6LOWPAN_ND_CHANNEL_MASK
#define MBED_MESH_API_6LOWPAN_ND_CHANNEL_MASK MBED_CONF_MBED_MESH_API_6LOWPAN_ND_CHANNEL_MASK
#elif defined MBED_MESH_API_6LOWPAN_ND_CHANNEL
#define MBED_MESH_API_6LOWPAN_ND_CHANNEL_MASK (1<<MBED_MESH_API_6LOWPAN_ND_CHANNEL)
#else
#define MBED_MESH_API_6LOWPAN_ND_CHANNEL_MASK (1<<12) // Why 12? Why not default channel value?
#define MBED_MESH_API_6LOWPAN_ND_CHANNEL_MASK (1<<12)
#endif

#ifdef YOTTA_CFG_MBED_MESH_API_6LOWPAN_ND_SECURITY_MODE
#define MBED_MESH_API_6LOWPAN_ND_SECURITY_MODE YOTTA_CFG_MBED_MESH_API_6LOWPAN_ND_SECURITY_MODE
#elif defined MBED_CONF_MBED_MESH_API_6LOWPAN_ND_SECURITY_MODE
#if defined MBED_CONF_MBED_MESH_API_6LOWPAN_ND_SECURITY_MODE
#define MBED_MESH_API_6LOWPAN_ND_SECURITY_MODE MBED_CONF_MBED_MESH_API_6LOWPAN_ND_SECURITY_MODE
#else
#define MBED_MESH_API_6LOWPAN_ND_SECURITY_MODE NONE
#endif

#ifdef YOTTA_CFG_MBED_MESH_API_6LOWPAN_ND_PSK_KEY_ID
#define MBED_MESH_API_6LOWPAN_ND_PSK_KEY_ID YOTTA_CFG_MBED_MESH_API_6LOWPAN_ND_PSK_KEY_ID
#elif defined MBED_CONF_MBED_MESH_API_6LOWPAN_ND_PSK_KEY_ID
#if defined MBED_CONF_MBED_MESH_API_6LOWPAN_ND_PSK_KEY_ID
#define MBED_MESH_API_6LOWPAN_ND_PSK_KEY_ID MBED_CONF_MBED_MESH_API_6LOWPAN_ND_PSK_KEY_ID
#else
#define MBED_MESH_API_6LOWPAN_ND_PSK_KEY_ID 1
#endif

#ifdef YOTTA_CFG_MBED_MESH_API_6LOWPAN_ND_PSK_KEY
#define MBED_MESH_API_6LOWPAN_ND_PSK_KEY YOTTA_CFG_MBED_MESH_API_6LOWPAN_ND_PSK_KEY
#elif defined MBED_CONF_MBED_MESH_API_6LOWPAN_ND_PSK_KEY
#if defined MBED_CONF_MBED_MESH_API_6LOWPAN_ND_PSK_KEY
#define MBED_MESH_API_6LOWPAN_ND_PSK_KEY MBED_CONF_MBED_MESH_API_6LOWPAN_ND_PSK_KEY
#else
#define MBED_MESH_API_6LOWPAN_ND_PSK_KEY {0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf}
#endif

#ifdef YOTTA_CFG_MBED_MESH_API_6LOWPAN_ND_SEC_LEVEL
#define MBED_MESH_API_6LOWPAN_ND_SEC_LEVEL YOTTA_CFG_MBED_MESH_API_6LOWPAN_ND_SEC_LEVEL
#elif defined MBED_CONF_MBED_MESH_API_6LOWPAN_ND_SEC_LEVEL
#if defined MBED_CONF_MBED_MESH_API_6LOWPAN_ND_SEC_LEVEL
#define MBED_MESH_API_6LOWPAN_ND_SEC_LEVEL MBED_CONF_MBED_MESH_API_6LOWPAN_ND_SEC_LEVEL
#else
#define MBED_MESH_API_6LOWPAN_ND_SEC_LEVEL 5
Expand All @@ -108,82 +92,86 @@ extern "C" {

/* Thread configuration */
// PSKd, must be longer than 6
#ifdef YOTTA_CFG_MBED_MESH_API_THREAD_PSKD
#define MBED_MESH_API_THREAD_PSKD YOTTA_CFG_MBED_MESH_API_THREAD_PSKD
#elif defined MBED_CONF_MBED_MESH_API_THREAD_PSKD
#if defined MBED_CONF_MBED_MESH_API_THREAD_PSKD
#define MBED_MESH_API_THREAD_PSKD MBED_CONF_MBED_MESH_API_THREAD_PSKD
#else
#define MBED_MESH_API_THREAD_PSKD "Secret password"
#define MBED_MESH_API_THREAD_PSKD "abcdefghijklmno"
#endif

// Operating mode, values: Router, SED
#ifdef YOTTA_CFG_MBED_MESH_API_THREAD_DEVICE_TYPE
#define MBED_MESH_API_THREAD_DEVICE_TYPE YOTTA_CFG_MBED_MESH_API_THREAD_DEVICE_TYPE
#elif defined MBED_CONF_MBED_MESH_API_THREAD_DEVICE_TYPE
#if defined MBED_CONF_MBED_MESH_API_THREAD_DEVICE_TYPE
#define MBED_MESH_API_THREAD_DEVICE_TYPE MBED_CONF_MBED_MESH_API_THREAD_DEVICE_TYPE
#else
#define MBED_MESH_API_THREAD_DEVICE_TYPE MESH_DEVICE_TYPE_THREAD_ROUTER
#endif

// channel mask, enable all channels
#ifdef YOTTA_CFG_MBED_MESH_API_THREAD_CONFIG_CHANNEL_MASK
#define MBED_MESH_API_THREAD_CONFIG_CHANNEL_MASK YOTTA_CFG_MBED_MESH_API_THREAD_CONFIG_CHANNEL_MASK
#elif defined MBED_CONF_MBED_MESH_API_THREAD_CONFIG_CHANNEL_MASK
#if defined MBED_CONF_MBED_MESH_API_THREAD_CONFIG_CHANNEL_MASK
#define MBED_MESH_API_THREAD_CONFIG_CHANNEL_MASK MBED_CONF_MBED_MESH_API_THREAD_CONFIG_CHANNEL_MASK
#else
#define MBED_MESH_API_THREAD_CONFIG_CHANNEL_MASK 0x07fff800
#endif

#ifdef YOTTA_CFG_MBED_MESH_API_THREAD_CONFIG_CHANNEL_PAGE
#define MBED_MESH_API_THREAD_CONFIG_CHANNEL_PAGE YOTTA_CFG_MBED_MESH_API_THREAD_CONFIG_CHANNEL_PAGE
#elif defined MBED_CONF_MBED_MESH_API_THREAD_CONFIG_CHANNEL_PAGE
#if defined MBED_CONF_MBED_MESH_API_THREAD_CONFIG_CHANNEL_PAGE
#define MBED_MESH_API_THREAD_CONFIG_CHANNEL_PAGE MBED_CONF_MBED_MESH_API_THREAD_CONFIG_CHANNEL_PAGE
#else
#define MBED_MESH_API_THREAD_CONFIG_CHANNEL_PAGE 0
#endif

#ifdef YOTTA_CFG_MBED_MESH_API_THREAD_CONFIG_CHANNEL
#define MBED_MESH_API_THREAD_CONFIG_CHANNEL YOTTA_CFG_MBED_MESH_API_THREAD_CONFIG_CHANNEL
#elif defined MBED_CONF_MBED_MESH_API_THREAD_CONFIG_CHANNEL
#if defined MBED_CONF_MBED_MESH_API_THREAD_CONFIG_CHANNEL
#define MBED_MESH_API_THREAD_CONFIG_CHANNEL MBED_CONF_MBED_MESH_API_THREAD_CONFIG_CHANNEL
#else
#define MBED_MESH_API_THREAD_CONFIG_CHANNEL 12
#define MBED_MESH_API_THREAD_CONFIG_CHANNEL 22
#endif

// Default PANID
#ifdef YOTTA_CFG_MBED_MESH_API_THREAD_CONFIG_PANID
#define MBED_MESH_API_THREAD_CONFIG_PANID YOTTA_CFG_MBED_MESH_API_THREAD_CONFIG_PANID
#elif defined MBED_CONF_MBED_MESH_API_THREAD_CONFIG_PANID
#if defined MBED_CONF_MBED_MESH_API_THREAD_CONFIG_PANID
#define MBED_MESH_API_THREAD_CONFIG_PANID MBED_CONF_MBED_MESH_API_THREAD_CONFIG_PANID
#else
#define MBED_MESH_API_THREAD_CONFIG_PANID 0xDEFA // 57082
#define MBED_MESH_API_THREAD_CONFIG_PANID 0x0700
#endif

#ifdef YOTTA_CFG_MBED_MESH_API_THREAD_MASTER_KEY
#define MBED_MESH_API_THREAD_MASTER_KEY YOTTA_CFG_MBED_MESH_API_THREAD_MASTER_KEY
#elif defined MBED_CONF_MBED_MESH_API_THREAD_MASTER_KEY
// extended PANID
#if defined MBED_CONF_MBED_MESH_API_THREAD_CONFIG_EXTENDED_PANID
#define MBED_MESH_API_THREAD_CONFIG_EXTENDED_PANID MBED_CONF_MBED_MESH_API_THREAD_CONFIG_EXTENDED_PANID
#else
#define MBED_MESH_API_THREAD_CONFIG_EXTENDED_PANID {0xf1, 0xb5, 0xa1, 0xb2,0xc4, 0xd5, 0xa1, 0xbd }
#endif

// network name
#if defined MBED_CONF_MBED_MESH_API_THREAD_CONFIG_NETWORK_NAME
#define MBED_MESH_API_THREAD_CONFIG_NETWORK_NAME MBED_CONF_MBED_MESH_API_THREAD_CONFIG_NETWORK_NAME
#else
#define MBED_MESH_API_THREAD_CONFIG_NETWORK_NAME "Thread Network"
#endif

// commissioning dataset timestamp
#if defined MBED_CONF_MBED_MESH_API_THREAD_CONFIG_COMMISSIONING_DATASET_TIMESTAMP
#define MBED_MESH_API_THREAD_CONFIG_COMMISSIONING_DATASET_TIMESTAMP MBED_CONF_MBED_MESH_API_THREAD_CONFIG_COMMISSIONING_DATASET_TIMESTAMP
#else
#define MBED_MESH_API_THREAD_CONFIG_COMMISSIONING_DATASET_TIMESTAMP 0X1
#endif


#if defined MBED_CONF_MBED_MESH_API_THREAD_MASTER_KEY
#define MBED_MESH_API_THREAD_MASTER_KEY MBED_CONF_MBED_MESH_API_THREAD_MASTER_KEY
#else
#define MBED_MESH_API_THREAD_MASTER_KEY {0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff}
#define MBED_MESH_API_THREAD_MASTER_KEY {0x10, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff}
#endif

#ifdef YOTTA_CFG_MBED_MESH_API_THREAD_CONFIG_ML_PREFIX
#define MBED_MESH_API_THREAD_CONFIG_ML_PREFIX YOTTA_CFG_MBED_MESH_API_THREAD_CONFIG_ML_PREFIX
#elif defined MBED_CONF_MBED_MESH_API_THREAD_CONFIG_ML_PREFIX
#if defined MBED_CONF_MBED_MESH_API_THREAD_CONFIG_ML_PREFIX
#define MBED_MESH_API_THREAD_CONFIG_ML_PREFIX MBED_CONF_MBED_MESH_API_THREAD_CONFIG_ML_PREFIX
#else
#define MBED_MESH_API_THREAD_CONFIG_ML_PREFIX {0xfd, 0x00, 0x0d, 0xb8, 0x00, 0x00, 0x00, 0x00}
#define MBED_MESH_API_THREAD_CONFIG_ML_PREFIX {0xfd, 0x0, 0x0d, 0xb8, 0x0, 0x0, 0x0, 0x0}
#endif

#ifdef YOTTA_CFG_MBED_MESH_API_THREAD_CONFIG_PSKC
#define MBED_MESH_API_THREAD_CONFIG_PSKC YOTTA_CFG_MBED_MESH_API_THREAD_CONFIG_PSKC
#elif defined MBED_CONF_MBED_MESH_API_THREAD_CONFIG_PSKC
#if defined MBED_CONF_MBED_MESH_API_THREAD_CONFIG_PSKC
#define MBED_MESH_API_THREAD_CONFIG_PSKC MBED_CONF_MBED_MESH_API_THREAD_CONFIG_PSKC
#else
#define MBED_MESH_API_THREAD_CONFIG_PSKC {0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff}
#define MBED_MESH_API_THREAD_CONFIG_PSKC {0xc8, 0xa6, 0x2e, 0xae, 0xf3, 0x68, 0xf3, 0x46, 0xa9, 0x9e, 0x57, 0x85, 0x98, 0x9d, 0x1c, 0xd0}
#endif

#ifdef __cplusplus
}
#endif
#endif /* __INCLUDE_STATIC_CONFIG__ */
#endif /* __INCLUDE_STATIC_CONFIG__ */
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
#include "include/thread_tasklet.h"
#include "include/static_config.h"
#include "include/mesh_system.h"
#include <mbed_assert.h>
#include "ns_event_loop.h"

// For tracing we need to define flag, have include and define group
Expand Down Expand Up @@ -228,74 +229,59 @@ void thread_tasklet_configure_and_connect_to_network(void)
NET_6LOWPAN_THREAD);

// Link configuration
memcpy(thread_tasklet_data_ptr->link_config.name, "Arm Powered Core", 16);

thread_tasklet_data_ptr->link_config.panId = MBED_MESH_API_THREAD_CONFIG_PANID;
TRACE_DETAIL("PANID %x", thread_tasklet_data_ptr->link_config.panId);

// channel
if (MBED_MESH_API_THREAD_CONFIG_CHANNEL > 27) {
tr_error("Bad channel %d", MBED_MESH_API_THREAD_CONFIG_CHANNEL);
return;
}

thread_tasklet_data_ptr->link_config.rfChannel = MBED_MESH_API_THREAD_CONFIG_CHANNEL;
thread_tasklet_data_ptr->channel_list.channel_page = (channel_page_e)MBED_MESH_API_THREAD_CONFIG_CHANNEL_PAGE;
thread_tasklet_data_ptr->channel_list.channel_mask[0] = MBED_MESH_API_THREAD_CONFIG_CHANNEL_MASK;
TRACE_DETAIL("channel: %d", thread_tasklet_data_ptr->link_config.rfChannel);
TRACE_DETAIL("channel page: %d", thread_tasklet_data_ptr->channel_list.channel_page);
TRACE_DETAIL("channel mask: %d", (int)thread_tasklet_data_ptr->channel_list.channel_mask[0]);



// Beacon data setting
thread_tasklet_data_ptr->link_config.Protocol_id = 0x03;
thread_tasklet_data_ptr->link_config.version = 1;
memcpy(thread_tasklet_data_ptr->link_config.extended_random_mac, device_configuration.eui64, 8);
thread_tasklet_data_ptr->link_config.extended_random_mac[0] |= 0x02;

// network name
MBED_ASSERT(strlen(MBED_MESH_API_THREAD_CONFIG_NETWORK_NAME) > 0 && strlen(MBED_MESH_API_THREAD_CONFIG_NETWORK_NAME) < 17);
memcpy(thread_tasklet_data_ptr->link_config.name, MBED_MESH_API_THREAD_CONFIG_NETWORK_NAME, strlen(MBED_MESH_API_THREAD_CONFIG_NETWORK_NAME));

thread_tasklet_data_ptr->link_config.timestamp = MBED_MESH_API_THREAD_CONFIG_COMMISSIONING_DATASET_TIMESTAMP;

// extended pan-id
const uint8_t extented_panid[] = MBED_MESH_API_THREAD_CONFIG_EXTENDED_PANID;
MBED_ASSERT(sizeof(extented_panid) == 8);
memcpy(thread_tasklet_data_ptr->link_config.extented_pan_id, extented_panid, sizeof(extented_panid));

// Mesh prefix
const uint8_t mesh_local_prefix[] = MBED_MESH_API_THREAD_CONFIG_ML_PREFIX;
if (sizeof(mesh_local_prefix) == 8) {
memcpy(thread_tasklet_data_ptr->link_config.mesh_local_ula_prefix, mesh_local_prefix, 8);
TRACE_DETAIL("Mesh prefix: %s", trace_array(mesh_local_prefix, 8));
} else {
tr_error("Mesh prefix, must be 8 hex chars: %s", mesh_local_prefix);
return;
}
MBED_ASSERT(sizeof(mesh_local_prefix) == 8);

memcpy(thread_tasklet_data_ptr->link_config.mesh_local_ula_prefix, mesh_local_prefix, 8);
TRACE_DETAIL("Mesh prefix: %s", trace_array(mesh_local_prefix, 8));

// Master Key
const uint8_t master_key[] = MBED_MESH_API_THREAD_MASTER_KEY;
if (sizeof(master_key) == 16) {
memcpy(thread_tasklet_data_ptr->link_config.master_key, master_key, 16);
TRACE_DETAIL("Master key: %s", trace_array(master_key, 16));
} else {
tr_error("Master key must be 16 hex chars: %s", master_key);
return;
}
MBED_ASSERT(sizeof(master_key) == 16);
memcpy(thread_tasklet_data_ptr->link_config.master_key, master_key, 16);

// PSKc
const uint8_t PSKc[] = MBED_MESH_API_THREAD_CONFIG_PSKC;
if (sizeof(PSKc) == 16) {
memcpy(thread_tasklet_data_ptr->link_config.PSKc, PSKc, 16);
TRACE_DETAIL("PSKc: %s", trace_array(PSKc, 16));
} else {
tr_error("PSKc must be 16 hex chars: %s", PSKc);
return;
}
MBED_ASSERT(sizeof(PSKc) == 16);
memcpy(thread_tasklet_data_ptr->link_config.PSKc, PSKc, 16);

// PSKd
const char PSKd[] = MBED_MESH_API_THREAD_PSKD;
if (sizeof(PSKd) < 7) {
tr_error("PSKd length must be > 6: %s", PSKd);
return;
}
MBED_ASSERT(sizeof(PSKd) > 5 && sizeof(PSKd) < 33);

char *dyn_buf = ns_dyn_mem_alloc(sizeof(PSKd));
strcpy(dyn_buf, PSKd);
ns_dyn_mem_free(device_configuration.PSKd_ptr);
device_configuration.PSKd_ptr = (uint8_t*)dyn_buf;
device_configuration.PSKd_len = sizeof(PSKd) - 1;
TRACE_DETAIL("PSKd: %s", device_configuration.PSKd_ptr);

thread_tasklet_data_ptr->link_config.key_rotation = 3600;
thread_tasklet_data_ptr->link_config.key_sequence = 0;
Expand Down