63
63
64
64
#ifdef HAVE_WS
65
65
66
- static const trickle_params_t trickle_params_pan_advertisement = {
66
+ static const trickle_params_t trickle_params_pan_discovery = {
67
67
.Imin = 60 , /* 60 second; ticks are 1s */
68
- .Imax = 2 ^4 * 60 , /* 960 seconds 16 min*/
69
- .k = 1 , /* 1 */
70
- .TimerExpirations = TRICKLE_EXPIRATIONS_INFINITE
71
- };
72
-
73
- static const trickle_params_t trickle_params_pan_configuration = {
74
- .Imin = 60 , /* 60 second; ticks are 1s */
75
- .Imax = 2 ^4 * 60 , /* 960 seconds 16 min*/
68
+ .Imax = 60 << 4 , /* 960 seconds 16 min*/
76
69
.k = 1 , /* 1 */
77
70
.TimerExpirations = TRICKLE_EXPIRATIONS_INFINITE
78
71
};
@@ -343,7 +336,7 @@ static void ws_bootstrap_pan_advertisement_analyse_active(struct protocol_interf
343
336
if (pan_information -> routing_cost <= cur -> ws_info -> pan_information .routing_cost ) {
344
337
trickle_consistent_heard (& cur -> ws_info -> trickle_pan_advertisement );
345
338
} else {
346
- trickle_inconsistent_heard (& cur -> ws_info -> trickle_pan_advertisement ,& trickle_params_pan_advertisement );
339
+ trickle_inconsistent_heard (& cur -> ws_info -> trickle_pan_advertisement ,& trickle_params_pan_discovery );
347
340
}
348
341
349
342
}
@@ -426,7 +419,7 @@ static void ws_bootstrap_pan_advertisement_analyse(struct protocol_interface_inf
426
419
427
420
if (ws_neighbor_class_rssi_from_dbm_calculate (data -> signal_dbm ) < (CAND_PARENT_THRESHOLD + CAND_PARENT_HYSTERISIS )) {
428
421
// First neighbor is too low we need to wait one extra trickle
429
- cur -> bootsrap_state_machine_cnt += trickle_params_pan_configuration .Imin * 10 + randLIB_get_8bit () % 50 ;
422
+ cur -> bootsrap_state_machine_cnt += trickle_params_pan_discovery .Imin * 10 + randLIB_get_8bit () % 50 ;
430
423
}
431
424
}
432
425
@@ -472,7 +465,7 @@ static void ws_bootstrap_pan_advertisement_solicit_analyse(struct protocol_inter
472
465
* An inconsistent transmission is defined as:
473
466
* A PAN Advertisement Solicit with NETNAME-IE matching that of the receiving node.
474
467
*/
475
- trickle_inconsistent_heard (& cur -> ws_info -> trickle_pan_advertisement ,& trickle_params_pan_advertisement );
468
+ trickle_inconsistent_heard (& cur -> ws_info -> trickle_pan_advertisement ,& trickle_params_pan_discovery );
476
469
/*
477
470
* A consistent transmission is defined as
478
471
* a PAN Advertisement Solicit with NETNAME-IE / Network Name matching that configured on the receiving node.
@@ -547,7 +540,7 @@ static void ws_bootstrap_pan_config_analyse(struct protocol_interface_info_entry
547
540
common_serial_number_greater_16 (cur -> ws_info -> pan_information .pan_version , pan_version )) {
548
541
// received version is lower se we need to reset the trickle
549
542
tr_info ("older pan version heard" );
550
- trickle_inconsistent_heard (& cur -> ws_info -> trickle_pan_config ,& trickle_params_pan_configuration );
543
+ trickle_inconsistent_heard (& cur -> ws_info -> trickle_pan_config ,& trickle_params_pan_discovery );
551
544
return ;
552
545
}
553
546
trickle_consistent_heard (& cur -> ws_info -> trickle_pan_config );
@@ -633,7 +626,7 @@ static void ws_bootstrap_pan_config_solicit_analyse(struct protocol_interface_in
633
626
* A PAN Configuration Solicit with a PAN-ID matching that of the receiving node and
634
627
* a NETNAME-IE / Network Name matching the network name configured on the receiving
635
628
*/
636
- trickle_inconsistent_heard (& cur -> ws_info -> trickle_pan_config ,& trickle_params_pan_advertisement );
629
+ trickle_inconsistent_heard (& cur -> ws_info -> trickle_pan_config ,& trickle_params_pan_discovery );
637
630
}
638
631
static bool ws_bootstrap_network_found (protocol_interface_info_entry_t * cur )
639
632
{
@@ -1047,10 +1040,10 @@ static void ws_bootstrap_network_discovery_configure(protocol_interface_info_ent
1047
1040
1048
1041
static void ws_bootstrap_advertise_start (protocol_interface_info_entry_t * cur )
1049
1042
{
1050
- trickle_start (& cur -> ws_info -> trickle_pan_advertisement , & trickle_params_pan_advertisement );
1051
- trickle_inconsistent_heard (& cur -> ws_info -> trickle_pan_advertisement , & trickle_params_pan_advertisement );
1052
- trickle_start (& cur -> ws_info -> trickle_pan_config , & trickle_params_pan_configuration );
1053
- trickle_inconsistent_heard (& cur -> ws_info -> trickle_pan_config , & trickle_params_pan_configuration );
1043
+ trickle_start (& cur -> ws_info -> trickle_pan_advertisement , & trickle_params_pan_discovery );
1044
+ trickle_inconsistent_heard (& cur -> ws_info -> trickle_pan_advertisement , & trickle_params_pan_discovery );
1045
+ trickle_start (& cur -> ws_info -> trickle_pan_config , & trickle_params_pan_discovery );
1046
+ trickle_inconsistent_heard (& cur -> ws_info -> trickle_pan_config , & trickle_params_pan_discovery );
1054
1047
}
1055
1048
1056
1049
// Start network scan
@@ -1076,11 +1069,11 @@ static void ws_bootstrap_start_discovery(protocol_interface_info_entry_t *cur)
1076
1069
ws_bootstrap_ip_stack_addr_clear (cur );
1077
1070
1078
1071
// Reset advertisement solicit trickle to start discovering network
1079
- trickle_start (& cur -> ws_info -> trickle_pan_advertisement_solicit , & trickle_params_pan_configuration );
1080
- trickle_inconsistent_heard (& cur -> ws_info -> trickle_pan_advertisement_solicit , & trickle_params_pan_configuration );
1072
+ trickle_start (& cur -> ws_info -> trickle_pan_advertisement_solicit , & trickle_params_pan_discovery );
1073
+ trickle_inconsistent_heard (& cur -> ws_info -> trickle_pan_advertisement_solicit , & trickle_params_pan_discovery );
1081
1074
1082
1075
// Discovery statemachine is checkked after two trickle interval
1083
- cur -> bootsrap_state_machine_cnt = 2 * trickle_params_pan_configuration .Imin * 10 + randLIB_get_8bit () % 50 ;
1076
+ cur -> bootsrap_state_machine_cnt = 2 * trickle_params_pan_discovery .Imin * 10 + randLIB_get_8bit () % 50 ;
1084
1077
}
1085
1078
// Start configuration learning
1086
1079
static void ws_bootstrap_start_configuration_learn (protocol_interface_info_entry_t * cur )
@@ -1096,8 +1089,8 @@ static void ws_bootstrap_start_configuration_learn(protocol_interface_info_entry
1096
1089
ws_bootstrap_ip_stack_reset (cur );
1097
1090
1098
1091
// Reset advertisement solicit trickle to start discovering network
1099
- trickle_start (& cur -> ws_info -> trickle_pan_config_solicit , & trickle_params_pan_configuration );
1100
- trickle_inconsistent_heard (& cur -> ws_info -> trickle_pan_config_solicit , & trickle_params_pan_configuration );
1092
+ trickle_start (& cur -> ws_info -> trickle_pan_config_solicit , & trickle_params_pan_discovery );
1093
+ trickle_inconsistent_heard (& cur -> ws_info -> trickle_pan_config_solicit , & trickle_params_pan_discovery );
1101
1094
}
1102
1095
1103
1096
/*
@@ -1126,7 +1119,7 @@ void ws_bootstrap_event_routing_ready(protocol_interface_info_entry_t *cur)
1126
1119
}
1127
1120
void ws_bootstrap_configuration_trickle_reset (protocol_interface_info_entry_t * cur )
1128
1121
{
1129
- trickle_inconsistent_heard (& cur -> ws_info -> trickle_pan_config ,& trickle_params_pan_configuration );
1122
+ trickle_inconsistent_heard (& cur -> ws_info -> trickle_pan_config ,& trickle_params_pan_discovery );
1130
1123
}
1131
1124
1132
1125
@@ -1341,7 +1334,7 @@ void ws_bootstrap_network_scan_process(protocol_interface_info_entry_t *cur)
1341
1334
1342
1335
if (!ws_bootstrap_network_found (cur )) {
1343
1336
// Next check will be after one trickle
1344
- cur -> bootsrap_state_machine_cnt += trickle_params_pan_configuration .Imin * 10 + randLIB_get_8bit () % 50 ;
1337
+ cur -> bootsrap_state_machine_cnt += trickle_params_pan_discovery .Imin * 10 + randLIB_get_8bit () % 50 ;
1345
1338
return ;
1346
1339
}
1347
1340
tr_info ("select network" );
@@ -1449,22 +1442,22 @@ void ws_bootstrap_state_machine(protocol_interface_info_entry_t *cur)
1449
1442
}
1450
1443
void ws_bootstrap_seconds_timer (protocol_interface_info_entry_t * cur , uint32_t seconds )
1451
1444
{
1452
- if (trickle_timer (& cur -> ws_info -> trickle_pan_advertisement_solicit , & trickle_params_pan_advertisement , seconds )) {
1445
+ if (trickle_timer (& cur -> ws_info -> trickle_pan_advertisement_solicit , & trickle_params_pan_discovery , seconds )) {
1453
1446
// send PAN advertisement solicit
1454
1447
tr_info ("Send PAN advertisement Solicit" );
1455
1448
ws_bootstrap_pan_advert_solicit (cur );
1456
1449
}
1457
- if (trickle_timer (& cur -> ws_info -> trickle_pan_config_solicit , & trickle_params_pan_configuration , seconds )) {
1450
+ if (trickle_timer (& cur -> ws_info -> trickle_pan_config_solicit , & trickle_params_pan_discovery , seconds )) {
1458
1451
// send PAN Configuration solicit
1459
1452
tr_info ("Send PAN configuration Solicit" );
1460
1453
ws_bootstrap_pan_config_solicit (cur );
1461
1454
}
1462
- if (trickle_timer (& cur -> ws_info -> trickle_pan_advertisement , & trickle_params_pan_advertisement , seconds )) {
1455
+ if (trickle_timer (& cur -> ws_info -> trickle_pan_advertisement , & trickle_params_pan_discovery , seconds )) {
1463
1456
// send PAN advertisement
1464
1457
tr_info ("Send PAN advertisement" );
1465
1458
ws_bootstrap_pan_advert (cur );
1466
1459
}
1467
- if (trickle_timer (& cur -> ws_info -> trickle_pan_config , & trickle_params_pan_configuration , seconds )) {
1460
+ if (trickle_timer (& cur -> ws_info -> trickle_pan_config , & trickle_params_pan_discovery , seconds )) {
1468
1461
// send PAN Configuration
1469
1462
tr_info ("Send PAN configuration" );
1470
1463
ws_bootstrap_pan_config (cur );
0 commit comments