@@ -548,6 +548,106 @@ bool test_fhss_broadcast_handler()
548548 return true;
549549}
550550
551+ bool test_fhss_ws_get_retry_period_callback ()
552+ {
553+ fhss_api_t * api = test_generate_fhss_api ();
554+ enable_fhss_struct ();
555+ // Test when own hop not set
556+ fhss_common_stub .fhss_struct .ws -> is_on_bc_channel = false;
557+ fhss_common_stub .fhss_struct .own_hop = 0xff ;
558+ if (fhss_common_stub .fhss_struct .fhss_api -> get_retry_period (api , NULL , 0 ) != 0 ) {
559+ return false;
560+ }
561+ // Test when on broadcast channel
562+ fhss_common_stub .fhss_struct .ws -> is_on_bc_channel = true;
563+ fhss_common_stub .fhss_struct .own_hop = 1 ;
564+ if (fhss_common_stub .fhss_struct .fhss_api -> get_retry_period (api , NULL , 0 ) != 0 ) {
565+ return false;
566+ }
567+ // Test when not on TX trig slot
568+ fhss_common_stub .fhss_struct .ws -> is_on_bc_channel = false;
569+ fhss_common_stub .fhss_struct .own_hop = 0 ;
570+ fhss_common_stub .fhss_struct .ws -> txrx_slot_length_ms = 127 ;
571+ fhss_common_stub .fhss_struct .ws -> unicast_start_time_us = 1000000 ;
572+ fhss_platform_stub .remaining_slots_value = 700000 ;
573+ fhss_callbacks_stub .uint32_value = 1065000 ;
574+ if (fhss_common_stub .fhss_struct .fhss_api -> get_retry_period (api , NULL , 0 ) != 189000 ) {
575+ return false;
576+ }
577+ // Test when not on TX trig slot
578+ fhss_common_stub .fhss_struct .ws -> is_on_bc_channel = false;
579+ fhss_common_stub .fhss_struct .own_hop = 0 ;
580+ fhss_common_stub .fhss_struct .ws -> txrx_slot_length_ms = 127 ;
581+ fhss_common_stub .fhss_struct .ws -> unicast_start_time_us = 1000000 ;
582+ fhss_platform_stub .remaining_slots_value = 436000 ;
583+ fhss_callbacks_stub .uint32_value = 1329000 ;
584+ if (fhss_common_stub .fhss_struct .fhss_api -> get_retry_period (api , NULL , 0 ) != 179000 ) {
585+ return false;
586+ }
587+ // Test when not on TX trig slot
588+ fhss_common_stub .fhss_struct .ws -> is_on_bc_channel = false;
589+ fhss_common_stub .fhss_struct .own_hop = 0 ;
590+ fhss_common_stub .fhss_struct .ws -> txrx_slot_length_ms = 127 ;
591+ fhss_common_stub .fhss_struct .ws -> unicast_start_time_us = 1000000 ;
592+ fhss_platform_stub .remaining_slots_value = 182000 ;
593+ fhss_callbacks_stub .uint32_value = 1583000 ;
594+ if (fhss_common_stub .fhss_struct .fhss_api -> get_retry_period (api , NULL , 0 ) != 179000 ) {
595+ return false;
596+ }
597+ // Test when on TX trig slot
598+ fhss_common_stub .fhss_struct .ws -> is_on_bc_channel = false;
599+ fhss_common_stub .fhss_struct .own_hop = 2 ;
600+ fhss_common_stub .fhss_struct .ws -> txrx_slot_length_ms = 127 ;
601+ fhss_common_stub .fhss_struct .ws -> unicast_start_time_us = 1000000 ;
602+ fhss_platform_stub .remaining_slots_value = 700000 ;
603+ fhss_callbacks_stub .uint32_value = 1065000 ;
604+ if (fhss_common_stub .fhss_struct .fhss_api -> get_retry_period (api , NULL , 0 ) != 0 ) {
605+ return false;
606+ }
607+ // Test when on TX trig slot
608+ fhss_common_stub .fhss_struct .ws -> is_on_bc_channel = false;
609+ fhss_common_stub .fhss_struct .own_hop = 2 ;
610+ fhss_common_stub .fhss_struct .ws -> txrx_slot_length_ms = 127 ;
611+ fhss_common_stub .fhss_struct .ws -> unicast_start_time_us = 1000000 ;
612+ fhss_platform_stub .remaining_slots_value = 486000 ;
613+ fhss_callbacks_stub .uint32_value = 1279000 ;
614+ if (fhss_common_stub .fhss_struct .fhss_api -> get_retry_period (api , NULL , 0 ) != 38500 ) {
615+ return false;
616+ }
617+ // Test when timestamp overflows
618+ fhss_common_stub .fhss_struct .ws -> is_on_bc_channel = false;
619+ fhss_common_stub .fhss_struct .own_hop = 0 ;
620+ fhss_common_stub .fhss_struct .ws -> txrx_slot_length_ms = 127 ;
621+ fhss_common_stub .fhss_struct .ws -> unicast_start_time_us = 4294967285 ;
622+ fhss_platform_stub .remaining_slots_value = 700000 ;
623+ fhss_callbacks_stub .uint32_value = 64989 ;
624+ if (fhss_common_stub .fhss_struct .fhss_api -> get_retry_period (api , NULL , 0 ) != 189000 ) {
625+ return false;
626+ }
627+ // Test when on RX slot
628+ fhss_common_stub .fhss_struct .ws -> is_on_bc_channel = false;
629+ fhss_common_stub .fhss_struct .own_hop = 1 ;
630+ fhss_common_stub .fhss_struct .ws -> txrx_slot_length_ms = 127 ;
631+ fhss_common_stub .fhss_struct .ws -> unicast_start_time_us = 1000000 ;
632+ fhss_platform_stub .remaining_slots_value = 700000 ;
633+ fhss_callbacks_stub .uint32_value = 1065000 ;
634+ if (fhss_common_stub .fhss_struct .fhss_api -> get_retry_period (api , NULL , 0 ) != 62000 ) {
635+ return false;
636+ }
637+ // Test when going to BC channel
638+ fhss_common_stub .fhss_struct .ws -> fhss_configuration .fhss_bc_dwell_interval = 255 ;
639+ fhss_common_stub .fhss_struct .ws -> is_on_bc_channel = false;
640+ fhss_common_stub .fhss_struct .own_hop = 0 ;
641+ fhss_common_stub .fhss_struct .ws -> txrx_slot_length_ms = 100 ;
642+ fhss_common_stub .fhss_struct .ws -> unicast_start_time_us = 1000000 ;
643+ fhss_platform_stub .remaining_slots_value = 130000 ;
644+ fhss_callbacks_stub .uint32_value = 1670000 ;
645+ if (fhss_common_stub .fhss_struct .fhss_api -> get_retry_period (api , NULL , 0 ) != 385000 ) {
646+ return false;
647+ }
648+ return true;
649+ }
650+
551651bool test_fhss_ws_update_uc_channel_callback ()
552652{
553653 fhss_api_t * api = test_generate_fhss_api ();
0 commit comments