@@ -376,6 +376,34 @@ bool test_fhss_ws_tx_handle_callback()
376
376
printf ("Fail: TX handle, 1st hop, EF disabled on TX slot\r\n" );
377
377
return false;
378
378
}
379
+ // Test TX allowed on broadcast channel for 1st hop in expedited forwarding mode
380
+ fhss_common_stub .fhss_struct .ws -> is_on_bc_channel = true;
381
+ fhss_common_stub .fhss_struct .own_hop = 1 ;
382
+ fhss_common_stub .fhss_struct .ws -> expedited_forwarding_enabled_us = 1000000 ;
383
+ fhss_common_stub .fhss_struct .ws -> fhss_configuration .fhss_broadcast_interval = 1020 ;
384
+ fhss_common_stub .fhss_struct .ws -> fhss_configuration .fhss_bc_dwell_interval = 255 ;
385
+ fhss_common_stub .fhss_struct .ws -> txrx_slot_length_ms = 54 ;
386
+ fhss_platform_stub .remaining_slots_value = 750000 ;
387
+ if (fhss_common_stub .fhss_struct .fhss_api -> tx_handle (api , DEFAULT_IS_BC_DEST , dest_address , DEFAULT_FRAME_TYPE , DEFAULT_FRAME_LENGTH , DEFAULT_PHY_HEAD_LENGTH , DEFAULT_PHY_TAIL_LENGTH , DEFAULT_TX_TIME ) != 0 ) {
388
+ printf ("Fail: TX handle, 1st hop, EF enabled on BC\r\n" );
389
+ return false;
390
+ }
391
+ // Test TX not allowed on broadcast channel for 2nd hop in expedited forwarding mode
392
+ fhss_common_stub .fhss_struct .ws -> is_on_bc_channel = true;
393
+ fhss_common_stub .fhss_struct .own_hop = 2 ;
394
+ fhss_common_stub .fhss_struct .ws -> expedited_forwarding_enabled_us = 1000000 ;
395
+ if (fhss_common_stub .fhss_struct .fhss_api -> tx_handle (api , DEFAULT_IS_BC_DEST , dest_address , DEFAULT_FRAME_TYPE , DEFAULT_FRAME_LENGTH , DEFAULT_PHY_HEAD_LENGTH , DEFAULT_PHY_TAIL_LENGTH , DEFAULT_TX_TIME ) != -3 ) {
396
+ printf ("Fail: TX handle, 2nd hop, EF enabled on BC\r\n" );
397
+ return false;
398
+ }
399
+ // Test TX not allowed on broadcast channel for 1st hop when expedited forwarding mode disabled
400
+ fhss_common_stub .fhss_struct .ws -> is_on_bc_channel = true;
401
+ fhss_common_stub .fhss_struct .own_hop = 1 ;
402
+ fhss_common_stub .fhss_struct .ws -> expedited_forwarding_enabled_us = 0 ;
403
+ if (fhss_common_stub .fhss_struct .fhss_api -> tx_handle (api , DEFAULT_IS_BC_DEST , dest_address , DEFAULT_FRAME_TYPE , DEFAULT_FRAME_LENGTH , DEFAULT_PHY_HEAD_LENGTH , DEFAULT_PHY_TAIL_LENGTH , DEFAULT_TX_TIME ) != -3 ) {
404
+ printf ("Fail: TX handle, 1st hop, EF disabled on BC\r\n" );
405
+ return false;
406
+ }
379
407
380
408
return true;
381
409
}
@@ -496,6 +524,31 @@ bool test_fhss_ws_check_tx_conditions_callback()
496
524
printf ("Fail: TX conditions, 3rd hop, EF enabled on RX slot\r\n" );
497
525
return false;
498
526
}
527
+ // Test TX allowed on broadcast channel for 1st hop in expedited forwarding mode
528
+ fhss_common_stub .fhss_struct .own_hop = 1 ;
529
+ fhss_common_stub .fhss_struct .ws -> is_on_bc_channel = true;
530
+ fhss_common_stub .fhss_struct .ws -> expedited_forwarding_enabled_us = 1000000 ;
531
+ fhss_common_stub .fhss_struct .ws -> fhss_configuration .fhss_broadcast_interval = 1020 ;
532
+ fhss_common_stub .fhss_struct .ws -> fhss_configuration .fhss_bc_dwell_interval = 255 ;
533
+ fhss_common_stub .fhss_struct .ws -> txrx_slot_length_ms = 54 ;
534
+ fhss_platform_stub .remaining_slots_value = 750000 ;
535
+ if (fhss_common_stub .fhss_struct .fhss_api -> check_tx_conditions (api , DEFAULT_IS_BC_DEST , DEFAULT_HANDLE , DEFAULT_FRAME_TYPE , DEFAULT_FRAME_LENGTH , DEFAULT_PHY_HEAD_LENGTH , DEFAULT_PHY_TAIL_LENGTH ) != true) {
536
+ printf ("Fail: TX conditions, 1st hop, EF enabled on BC\r\n" );
537
+ return false;
538
+ }
539
+ // Test TX not allowed on broadcast channel for 2nd hop in expedited forwarding mode
540
+ fhss_common_stub .fhss_struct .own_hop = 2 ;
541
+ if (fhss_common_stub .fhss_struct .fhss_api -> check_tx_conditions (api , DEFAULT_IS_BC_DEST , DEFAULT_HANDLE , DEFAULT_FRAME_TYPE , DEFAULT_FRAME_LENGTH , DEFAULT_PHY_HEAD_LENGTH , DEFAULT_PHY_TAIL_LENGTH ) != false) {
542
+ printf ("Fail: TX conditions, 2nd hop, EF enabled on BC\r\n" );
543
+ return false;
544
+ }
545
+ // Test TX not allowed on broadcast channel for 1st hop when expedited forwarding mode disabled
546
+ fhss_common_stub .fhss_struct .own_hop = 1 ;
547
+ fhss_common_stub .fhss_struct .ws -> expedited_forwarding_enabled_us = 0 ;
548
+ if (fhss_common_stub .fhss_struct .fhss_api -> check_tx_conditions (api , DEFAULT_IS_BC_DEST , DEFAULT_HANDLE , DEFAULT_FRAME_TYPE , DEFAULT_FRAME_LENGTH , DEFAULT_PHY_HEAD_LENGTH , DEFAULT_PHY_TAIL_LENGTH ) != false) {
549
+ printf ("Fail: TX conditions, 1st hop, EF disabled on BC\r\n" );
550
+ return false;
551
+ }
499
552
500
553
return true;
501
554
}
0 commit comments