|
27 | 27 | #include "fhss_stub.h"
|
28 | 28 | #include "fhss_callbacks_stub.h"
|
29 | 29 | #include "fhss_platform_stub.h"
|
| 30 | +#include "channel_functions_stub.h" |
30 | 31 | #include "common_functions_stub.h"
|
31 | 32 |
|
32 | 33 | #define VENDOR_CHANNEL 89
|
33 | 34 | #define DEFAULT_CHANNEL 99
|
34 | 35 | #define DEFAULT_PANID 0xabcd
|
35 | 36 | #define DEFAULT_FRAME_TYPE FHSS_DATA_FRAME
|
36 | 37 | #define DEFAULT_FHSS_STATE FHSS_SYNCHRONIZED
|
37 |
| -#define DEFAULT_TX_TIME 0 |
| 38 | +#define DEFAULT_TX_TIME 1000000 |
38 | 39 | #define DEFAULT_TIMER_DELAY 0
|
39 | 40 | #define DEFAULT_FRAME_LENGTH 100
|
40 | 41 | #define DEFAULT_PHY_HEAD_LENGTH 10
|
@@ -90,7 +91,7 @@ static fhss_api_t *test_generate_fhss_api(void)
|
90 | 91 | memset(&ws, 0, sizeof(fhss_ws_t));
|
91 | 92 | memset(&fhss_callbacks_stub, 0, sizeof(fhss_callbacks_stub_def));
|
92 | 93 | memset(&fhss_common_stub, 0, sizeof(fhss_common_stub_def));
|
93 |
| - neighbor_info.uc_timing_info.ufsi = 1000; |
| 94 | + neighbor_info.uc_timing_info.ufsi = 1000000; |
94 | 95 | neighbor_info.uc_timing_info.unicast_channel_function = WS_TR51CF;
|
95 | 96 | neighbor_info.uc_timing_info.unicast_dwell_interval = 200;
|
96 | 97 | neighbor_info.uc_timing_info.utt_rx_timestamp = 100000;
|
@@ -191,9 +192,37 @@ bool test_fhss_ws_tx_handle_callback()
|
191 | 192 | 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) != -1) {
|
192 | 193 | return false;
|
193 | 194 | }
|
194 |
| - // Test TR51 channel function |
| 195 | + /* Test TR51 channel function |
| 196 | + * Dest. slot: | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | |
| 197 | + * |dest. ufsi| 900ms | |
| 198 | + * timestamps: 100000us| 1000000us| |
| 199 | + */ |
195 | 200 | fhss_common_stub.fhss_struct.ws->fhss_configuration.ws_channel_function = WS_TR51CF;
|
196 |
| - 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) { |
| 201 | + 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) |
| 202 | + || (channel_functions_stub.uint8_value != 7)) { |
| 203 | + return false; |
| 204 | + } |
| 205 | + /* Test TR51 channel function when timestamp overflows |
| 206 | + * Dest. slot: | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | |
| 207 | + * |dest. ufsi| 1000ms | |
| 208 | + * timestamps: 4294867000us| 900000us| |
| 209 | + */ |
| 210 | + neighbor_info.uc_timing_info.utt_rx_timestamp = 4294867000; |
| 211 | + fhss_common_stub.fhss_struct.ws->fhss_configuration.ws_channel_function = WS_TR51CF; |
| 212 | + 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, 900000) != 0) |
| 213 | + || (channel_functions_stub.uint8_value != 7)) { |
| 214 | + return false; |
| 215 | + } |
| 216 | + /* Test TR51 channel function when channel list overflows |
| 217 | + * Dest. slot: | 0 | 1 | 2 | 3 |...| 0 | 1 | 2 | 3 | |
| 218 | + * |dest. ufsi| 10000ms | |
| 219 | + * timestamps: 100000us| 10100000us| |
| 220 | + */ |
| 221 | + neighbor_info.uc_timing_info.utt_rx_timestamp = 100000; |
| 222 | + uint32_t tx_time = neighbor_info.uc_timing_info.utt_rx_timestamp + (fhss_common_stub.fhss_struct.number_of_channels * neighbor_info.uc_timing_info.unicast_dwell_interval * 1000); |
| 223 | + fhss_common_stub.fhss_struct.ws->fhss_configuration.ws_channel_function = WS_TR51CF; |
| 224 | + 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, tx_time) != 0) |
| 225 | + || (channel_functions_stub.uint8_value != 2)) { |
197 | 226 | return false;
|
198 | 227 | }
|
199 | 228 | // For more coverage, set neighbor info NULL
|
|
0 commit comments