|
25 | 25 | #include "include/thread_tasklet.h"
|
26 | 26 | #include "include/static_config.h"
|
27 | 27 | #include "include/mesh_system.h"
|
| 28 | +#include <mbed_assert.h> |
28 | 29 | #include "ns_event_loop.h"
|
29 | 30 |
|
30 | 31 | // For tracing we need to define flag, have include and define group
|
@@ -228,67 +229,55 @@ void thread_tasklet_configure_and_connect_to_network(void)
|
228 | 229 | NET_6LOWPAN_THREAD);
|
229 | 230 |
|
230 | 231 | // Link configuration
|
231 |
| - memcpy(thread_tasklet_data_ptr->link_config.name, "Arm Powered Core", 16); |
232 |
| - |
233 | 232 | thread_tasklet_data_ptr->link_config.panId = MBED_MESH_API_THREAD_CONFIG_PANID;
|
234 | 233 | TRACE_DETAIL("PANID %x", thread_tasklet_data_ptr->link_config.panId);
|
235 | 234 |
|
236 |
| - // channel |
237 |
| - if (MBED_MESH_API_THREAD_CONFIG_CHANNEL > 27) { |
238 |
| - tr_error("Bad channel %d", MBED_MESH_API_THREAD_CONFIG_CHANNEL); |
239 |
| - return; |
240 |
| - } |
241 |
| - |
242 | 235 | thread_tasklet_data_ptr->link_config.rfChannel = MBED_MESH_API_THREAD_CONFIG_CHANNEL;
|
243 | 236 | thread_tasklet_data_ptr->channel_list.channel_page = (channel_page_e)MBED_MESH_API_THREAD_CONFIG_CHANNEL_PAGE;
|
244 | 237 | thread_tasklet_data_ptr->channel_list.channel_mask[0] = MBED_MESH_API_THREAD_CONFIG_CHANNEL_MASK;
|
245 | 238 | TRACE_DETAIL("channel: %d", thread_tasklet_data_ptr->link_config.rfChannel);
|
246 | 239 | TRACE_DETAIL("channel page: %d", thread_tasklet_data_ptr->channel_list.channel_page);
|
247 | 240 | TRACE_DETAIL("channel mask: %d", (int)thread_tasklet_data_ptr->channel_list.channel_mask[0]);
|
248 |
| - |
249 |
| - |
| 241 | + |
250 | 242 | // Beacon data setting
|
251 | 243 | thread_tasklet_data_ptr->link_config.Protocol_id = 0x03;
|
252 | 244 | thread_tasklet_data_ptr->link_config.version = 1;
|
253 | 245 | memcpy(thread_tasklet_data_ptr->link_config.extended_random_mac, device_configuration.eui64, 8);
|
254 | 246 | thread_tasklet_data_ptr->link_config.extended_random_mac[0] |= 0x02;
|
255 | 247 |
|
| 248 | + // network name |
| 249 | + MBED_ASSERT(strlen(MBED_MESH_API_THREAD_CONFIG_NETWORK_NAME) > 0 && strlen(MBED_MESH_API_THREAD_CONFIG_NETWORK_NAME) < 17); |
| 250 | + memcpy(thread_tasklet_data_ptr->link_config.name, MBED_MESH_API_THREAD_CONFIG_NETWORK_NAME, 16); |
| 251 | + |
| 252 | + thread_tasklet_data_ptr->link_config.timestamp = MBED_MESH_API_THREAD_CONFIG_COMMISSIONING_DATASET_TIMESTAMP; |
| 253 | + |
| 254 | + // extended pan-id |
| 255 | + const uint8_t extented_panid[] = MBED_MESH_API_THREAD_CONFIG_EXTENDED_PANID; |
| 256 | + MBED_ASSERT(sizeof(extented_panid) == 8); |
| 257 | + memcpy(thread_tasklet_data_ptr->link_config.extented_pan_id, extented_panid, sizeof(extented_panid)); |
| 258 | + |
256 | 259 | // Mesh prefix
|
257 | 260 | const uint8_t mesh_local_prefix[] = MBED_MESH_API_THREAD_CONFIG_ML_PREFIX;
|
258 |
| - if (sizeof(mesh_local_prefix) == 8) { |
259 |
| - memcpy(thread_tasklet_data_ptr->link_config.mesh_local_ula_prefix, mesh_local_prefix, 8); |
260 |
| - TRACE_DETAIL("Mesh prefix: %s", trace_array(mesh_local_prefix, 8)); |
261 |
| - } else { |
262 |
| - tr_error("Mesh prefix, must be 8 hex chars: %s", mesh_local_prefix); |
263 |
| - return; |
264 |
| - } |
| 261 | + MBED_ASSERT(sizeof(mesh_local_prefix) == 8); |
| 262 | + |
| 263 | + memcpy(thread_tasklet_data_ptr->link_config.mesh_local_ula_prefix, mesh_local_prefix, 8); |
| 264 | + TRACE_DETAIL("Mesh prefix: %s", trace_array(mesh_local_prefix, 8)); |
265 | 265 |
|
266 | 266 | // Master Key
|
267 | 267 | const uint8_t master_key[] = MBED_MESH_API_THREAD_MASTER_KEY;
|
268 |
| - if (sizeof(master_key) == 16) { |
269 |
| - memcpy(thread_tasklet_data_ptr->link_config.master_key, master_key, 16); |
270 |
| - TRACE_DETAIL("Master key: %s", trace_array(master_key, 16)); |
271 |
| - } else { |
272 |
| - tr_error("Master key must be 16 hex chars: %s", master_key); |
273 |
| - return; |
274 |
| - } |
| 268 | + MBED_ASSERT(sizeof(master_key) == 16); |
| 269 | + memcpy(thread_tasklet_data_ptr->link_config.master_key, master_key, 16); |
| 270 | + TRACE_DETAIL("Master key: %s", trace_array(master_key, 16)); |
275 | 271 |
|
276 | 272 | // PSKc
|
277 | 273 | const uint8_t PSKc[] = MBED_MESH_API_THREAD_CONFIG_PSKC;
|
278 |
| - if (sizeof(PSKc) == 16) { |
279 |
| - memcpy(thread_tasklet_data_ptr->link_config.PSKc, PSKc, 16); |
280 |
| - TRACE_DETAIL("PSKc: %s", trace_array(PSKc, 16)); |
281 |
| - } else { |
282 |
| - tr_error("PSKc must be 16 hex chars: %s", PSKc); |
283 |
| - return; |
284 |
| - } |
| 274 | + MBED_ASSERT(sizeof(PSKc) == 16); |
| 275 | + memcpy(thread_tasklet_data_ptr->link_config.PSKc, PSKc, 16); |
| 276 | + TRACE_DETAIL("PSKc: %s", trace_array(PSKc, 16)); |
285 | 277 |
|
286 | 278 | // PSKd
|
287 | 279 | const char PSKd[] = MBED_MESH_API_THREAD_PSKD;
|
288 |
| - if (sizeof(PSKd) < 7) { |
289 |
| - tr_error("PSKd length must be > 6: %s", PSKd); |
290 |
| - return; |
291 |
| - } |
| 280 | + MBED_ASSERT(sizeof(PSKd) > 5 && sizeof(PSKd) < 33); |
292 | 281 |
|
293 | 282 | char *dyn_buf = ns_dyn_mem_alloc(sizeof(PSKd));
|
294 | 283 | strcpy(dyn_buf, PSKd);
|
|
0 commit comments