vacabun
November 14, 2022, 6:07am
1
When I run example 06e and 06f , I just can measure distance once. Then the responder occur ERROR AES. When I rest the initiator, the initiator can measure distance again, but just also once.
What could be wrong?
I use DW3xxx Device Driver Version 06.00.xx.
vacabun
November 15, 2022, 3:42am
2
When I add const attribute to static dwt_aes_key_t keys_options[NUM_OF_KEY_OPTIONS] , the examples run correctly.
static const dwt_aes_key_t keys_options[NUM_OF_KEY_OPTIONS] = {{0x00010203, 0x04050607, 0x08090A0B, 0x0C0D0E0F, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
{0x11223344, 0x55667788, 0x99AABBCC, 0xDDEEFF00, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
{0xFFEEDDCC, 0xBBAA9988, 0x77665544, 0x33221100, 0x00000000, 0x00000000, 0x00000000, 0x00000000}};
I guess somewhere in the program keys_options is modified.
vacabun
November 15, 2022, 8:32am
3
I think the parameter dwt_aes_key_t *aes_key_ptr in fun rx_aes_802_15_4() also should add const attribute.
aes_results_e rx_aes_802_15_4(mac_frame_802_15_4_format_t *mac_frame_ptr, uint16_t frame_length, dwt_aes_job_t *aes_job, uint16_t max_payload,
const dwt_aes_key_t *aes_key_ptr, uint64_t exp_src_addr, uint64_t exp_dst_addr, dwt_aes_config_t *aes_config);