30
30
31
31
// For tracing we need to define flag, have include and define group
32
32
//#define HAVE_DEBUG
33
- #define TRACE_GROUP "wisuND "
33
+ #define TRACE_GROUP "WSND "
34
34
#include "ns_trace.h"
35
35
36
36
// Tasklet timer events
@@ -53,13 +53,11 @@ typedef enum {
53
53
*/
54
54
typedef struct {
55
55
void (* mesh_api_cb )(mesh_connection_status_t nwk_status );
56
- channel_list_s channel_list ;
57
56
tasklet_state_t tasklet_state ;
58
57
int8_t tasklet ;
59
58
net_6lowpan_mode_e operating_mode ;
60
59
net_6lowpan_mode_extension_e operating_mode_extension ;
61
60
int8_t network_interface_id ;
62
- uint8_t * mac ;
63
61
} wisun_tasklet_data_str_t ;
64
62
65
63
@@ -75,36 +73,6 @@ static void wisun_tasklet_network_state_changed(mesh_connection_status_t status)
75
73
static void wisun_tasklet_parse_network_event (arm_event_s * event );
76
74
static void wisun_tasklet_configure_and_connect_to_network (void );
77
75
78
- //#define TRACE_WISUN_TASKLET
79
- #ifndef TRACE_WISUN_TASKLET
80
- #define wisun_tasklet_trace_bootstrap_info () ((void) 0)
81
- #else
82
- void wisun_tasklet_trace_bootstrap_info (void );
83
- #endif
84
-
85
- static void initialize_channel_list (void )
86
- {
87
- uint32_t channel = MBED_CONF_MBED_MESH_API_WISUN_ND_CHANNEL ;
88
-
89
- const int_fast8_t word_index = channel / 32 ;
90
- const int_fast8_t bit_index = channel % 32 ;
91
-
92
- memset (& wisun_tasklet_data_ptr -> channel_list , 0 , sizeof (wisun_tasklet_data_ptr -> channel_list ));
93
-
94
- wisun_tasklet_data_ptr -> channel_list .channel_page = (channel_page_e )MBED_CONF_MBED_MESH_API_WISUN_ND_CHANNEL_PAGE ;
95
- wisun_tasklet_data_ptr -> channel_list .channel_mask [0 ] = MBED_CONF_MBED_MESH_API_WISUN_ND_CHANNEL_MASK ;
96
-
97
- if (channel > 0 ) {
98
- memset (& wisun_tasklet_data_ptr -> channel_list .channel_mask , 0 , sizeof (wisun_tasklet_data_ptr -> channel_list .channel_mask ));
99
- wisun_tasklet_data_ptr -> channel_list .channel_mask [word_index ] |= ((uint32_t ) 1 << bit_index );
100
- }
101
-
102
- arm_nwk_set_channel_list (wisun_tasklet_data_ptr -> network_interface_id , & wisun_tasklet_data_ptr -> channel_list );
103
-
104
- tr_debug ("Channel: %ld" , channel );
105
- tr_debug ("Channel page: %d" , wisun_tasklet_data_ptr -> channel_list .channel_page );
106
- tr_debug ("Channel mask: 0x%.8lx" , wisun_tasklet_data_ptr -> channel_list .channel_mask [word_index ]);
107
- }
108
76
/*
109
77
* \brief A function which will be eventually called by NanoStack OS when ever the OS has an event to deliver.
110
78
* @param event, describes the sender, receiver and event type.
@@ -173,7 +141,6 @@ static void wisun_tasklet_parse_network_event(arm_event_s *event)
173
141
if (wisun_tasklet_data_ptr -> tasklet_state != TASKLET_STATE_BOOTSTRAP_READY ) {
174
142
tr_info ("Wi-SUN bootstrap ready" );
175
143
wisun_tasklet_data_ptr -> tasklet_state = TASKLET_STATE_BOOTSTRAP_READY ;
176
- wisun_tasklet_trace_bootstrap_info ();
177
144
wisun_tasklet_network_state_changed (MESH_CONNECTED );
178
145
}
179
146
break ;
@@ -235,30 +202,10 @@ static void wisun_tasklet_configure_and_connect_to_network(void)
235
202
wisun_tasklet_data_ptr -> operating_mode_extension );
236
203
237
204
ws_management_node_init (wisun_tasklet_data_ptr -> network_interface_id ,
238
- MBED_CONF_MBED_MESH_API_WISUN_REGULATOR_DOMAIN ,
205
+ MBED_CONF_MBED_MESH_API_WISUN_REGULATORY_DOMAIN ,
239
206
network_name ,
240
207
fhss_timer_ptr );
241
208
242
- // configure scan parameters
243
- arm_nwk_6lowpan_link_scan_parameter_set (wisun_tasklet_data_ptr -> network_interface_id , 5 );
244
-
245
- // configure scan channels
246
- initialize_channel_list ();
247
-
248
- // Configure scan options (NULL disables filter)
249
- arm_nwk_6lowpan_link_nwk_id_filter_for_nwk_scan (wisun_tasklet_data_ptr -> network_interface_id , NULL );
250
-
251
- arm_nwk_6lowpan_link_panid_filter_for_nwk_scan (
252
- wisun_tasklet_data_ptr -> network_interface_id ,
253
- MBED_CONF_MBED_MESH_API_WISUN_ND_PANID_FILTER );
254
-
255
- // Enable MPL by default
256
- const uint8_t all_mpl_forwarders [16 ] = {0xff , 0x03 , [15 ] = 0xfc };
257
- multicast_mpl_domain_subscribe (wisun_tasklet_data_ptr -> network_interface_id ,
258
- all_mpl_forwarders ,
259
- MULTICAST_MPL_SEED_ID_DEFAULT ,
260
- NULL );
261
-
262
209
status = arm_nwk_interface_up (wisun_tasklet_data_ptr -> network_interface_id );
263
210
if (status >= 0 ) {
264
211
wisun_tasklet_data_ptr -> tasklet_state = TASKLET_STATE_BOOTSTRAP_STARTED ;
@@ -281,42 +228,6 @@ static void wisun_tasklet_network_state_changed(mesh_connection_status_t status)
281
228
}
282
229
}
283
230
284
- /*
285
- * Trace bootstrap information.
286
- */
287
- #ifdef TRACE_WISUN_TASKLET
288
- void wisun_tasklet_trace_bootstrap_info ()
289
- {
290
- network_layer_address_s app_nd_address_info ;
291
- link_layer_address_s app_link_address_info ;
292
- uint8_t temp_ipv6 [16 ];
293
- if (arm_nwk_nd_address_read (wisun_tasklet_data_ptr -> network_interface_id , & app_nd_address_info ) != 0 ) {
294
- tr_error ("WS Address read fail" );
295
- } else {
296
- tr_debug ("WS Access Point: %s" , trace_ipv6 (app_nd_address_info .border_router ));
297
- tr_debug ("WS Prefix 64: %s" , trace_array (app_nd_address_info .prefix , 8 ));
298
-
299
- if (arm_net_address_get (wisun_tasklet_data_ptr -> network_interface_id , ADDR_IPV6_GP , temp_ipv6 ) == 0 ) {
300
- tr_debug ("GP IPv6: %s" , trace_ipv6 (temp_ipv6 ));
301
- }
302
- }
303
-
304
- if (arm_nwk_mac_address_read (wisun_tasklet_data_ptr -> network_interface_id , & app_link_address_info ) != 0 ) {
305
- tr_error ("MAC Address read fail\n" );
306
- } else {
307
- uint8_t temp [2 ];
308
- common_write_16_bit (app_link_address_info .mac_short , temp );
309
- tr_debug ("MAC 16-bit: %s" , trace_array (temp , 2 ));
310
- common_write_16_bit (app_link_address_info .PANId , temp );
311
- tr_debug ("PAN ID: %s" , trace_array (temp , 2 ));
312
- tr_debug ("MAC 64-bit: %s" , trace_array (app_link_address_info .mac_long , 8 ));
313
- tr_debug ("IID (Based on MAC 64-bit address): %s" , trace_array (app_link_address_info .iid_eui64 , 8 ));
314
- }
315
-
316
- tr_debug ("Channel: %d" , arm_net_get_current_channel (wisun_tasklet_data_ptr -> network_interface_id ));
317
- }
318
- #endif /* #define TRACE_WISUN_TASKLET */
319
-
320
231
/* Public functions */
321
232
int8_t wisun_tasklet_get_router_ip_address (char * address , int8_t len )
322
233
{
@@ -398,7 +309,7 @@ int8_t wisun_tasklet_network_init(int8_t device_id)
398
309
// TODO, read interface name from configuration
399
310
mac_description_storage_size_t storage_sizes ;
400
311
storage_sizes .device_decription_table_size = 32 ;
401
- storage_sizes .key_description_table_size = 6 ;
312
+ storage_sizes .key_description_table_size = 4 ;
402
313
storage_sizes .key_lookup_size = 1 ;
403
314
storage_sizes .key_usage_size = 3 ;
404
315
if (!mac_api ) {
0 commit comments