Hi,
I just tested some functions by "example_external_api_fulltest() "
(DWM1001 example code) via SPI interface.
Some functions are failed, for example, dwm_status_get()
TLV request: 0x32 0x00
length: 0x06
TLV response: 0x40 01 00 5A 01 00
But in API Guide(V2.2) Page77, it should be
length: 0x07
TLV response: 0x40 01 00 5A 02 01 00
I tested several modules, and got the same results.
Does anyone know what happed? Is there any FW version issue?
ver.fw.maj = 1
ver.fw.min = 1
ver.fw.patch= 5
ver.fw.res = 0
ver.fw.var = 1
ver.cfg = 00010700
ver.hw = deca002a
Thanks.
Initializing…
lmh: LMH_SPIRX_Init(): SPI dev0…
lmh: SPI0: Reseting DWM1001 to SPI:IDLE
lmh: SPI0: Wait 1 ms…
lmh: SPI0: Wait 1 ms…
lmh: SPI0: Wait 1 ms…
lmh: SPI: LMH_SPIRX_Init for SPI dev0 done.
Factory reset.
lmh: SPI0: Rx step 1:
lmh: SPI0: Wait 1 ms…
lmh: SPISPI0: Rx step 2:
lmh: SPI0: Wait 1 ms…
lmh: SPI0: Wait 1 ms…
lmh: *** ERROR *** HAL_SPI: DWM1001_RV_ERR: 1
Check Tx&Rx:
Fail
Wait 2000 ms for node to reset.
ERR frst: err_cnt = 1
Done
Factory reset.
lmh: SPI0: Rx step 1:
lmh: SPI0: Wait 1 ms…
lmh: SPISPI0: Rx step 2:
lmh: SPI0: Wait 1 ms…
lmh: SPI0: Wait 1 ms…
lmh: *** ERROR *** HAL_SPI: DWM1001_RV_ERR: 1
Check Tx&Rx:
Fail
Wait 2000 ms for node to reset.
ERR frst: err_cnt = 1
dwm_cfg_tag_set(&cfg_tag)
lmh: SPI0: Rx step 1:
lmh: SPI0: Wait 1 ms…
lmh: SPI0: Wait 1 ms…
lmh: SPI0: Wait 1 ms…
lmh: SPI0: Wait 1 ms…
lmh: SPI0: Wait 1 ms…
lmh: SPI0: Wait 1 ms…
lmh: SPI0: Wait 1 ms…
lmh: SPI0: Wait 1 ms…
lmh: SPI0: Wait 1 ms…
lmh: SPI0: Wait 1 ms…
lmh: SPI0: Wait 1 ms…
lmh: SPI0: Wait 1 ms…
lmh: SPI0: Wait 1 ms…
lmh: SPI0: Wait 1 ms…
lmh: SPI0: Wait 1 ms…
lmh: SPI0: Wait 1 ms…
lmh: SPI0: Wait 1 ms…
lmh: SPI0: Wait 1 ms…
lmh: SPISPI0: Rx step 2:
lmh: SPI0: Wait 1 ms…
lmh: SPI0: Wait 1 ms…
lmh: SPI0: Received 3 bytes, in 19 ms OK
Check Tx&Rx:
OK
dwm_cfg_tag_set(&cfg_tag): pass
lmh: SPI0: Rx step 1:
lmh: SPI0: Wait 1 ms…
lmh: SPISPI0: Rx step 2:
lmh: SPI0: Wait 1 ms…
lmh: SPI0: Wait 1 ms…
lmh: SPI0: Received 3 bytes, in 2 ms OK
Check Tx&Rx:
OK
dwm_reset(): pass
Wait 1500 ms for node to reset.
dwm_cfg_get(&cfg_node):
lmh: SPI0: Rx step 1:
lmh: SPI0: Wait 1 ms…
lmh: SPISPI0: Rx step 2:
lmh: SPI0: Wait 1 ms…
lmh: SPI0: Wait 1 ms…
lmh: SPI0: Received 7 bytes, in 2 ms OK
Check Tx&Rx:
OK
dwm_cfg_get(&cfg_node): pass
lmh: SPI0: Rx step 1:
lmh: SPI0: Wait 1 ms…
lmh: SPISPI0: Rx step 2:
lmh: SPI0: Wait 1 ms…
lmh: SPI0: Wait 1 ms…
lmh: SPI0: Received 7 bytes, in 2 ms OK
Check Tx&Rx:
OK
Comparing set vs. get.
Check Value:
OK
Comparing set vs. get: pass
ERR test_cfg: err_cnt = 1
dwm_ver_get(&ver)
lmh: SPI0: Rx step 1:
lmh: SPI0: Wait 1 ms…
lmh: SPISPI0: Rx step 2:
lmh: SPI0: Wait 1 ms…
lmh: SPI0: Wait 1 ms…
lmh: SPI0: Received 21 bytes, in 2 ms OK
Check Tx&Rx:
OK
ver.fw.maj = 1
ver.fw.min = 1
ver.fw.patch= 5
ver.fw.res = 0
ver.fw.var = 1
ver.cfg = 00010700
ver.hw = deca002a
dwm_ver_get(&ver): pass
test_ver: err_cnt = 0
dwm_status_get(&status)
lmh: SPI0: Rx step 1:
lmh: SPI0: Wait 1 ms…
lmh: SPISPI0: Rx step 2:
lmh: SPI0: Wait 1 ms…
lmh: SPI0: Wait 1 ms…
lmh: *** ERROR *** SPI0: Expecting 7 bytes, received 6 bytes, in 2 ms
Check Tx&Rx:
Fail
dwm_status_get(&status): fail
ERR test_status: err_cnt = 1
dwm_panid_get(&panid_origin);
lmh: SPI0: Rx step 1:
lmh: SPI0: Wait 1 ms…
lmh: SPISPI0: Rx step 2:
lmh: SPI0: Wait 1 ms…
lmh: SPI0: Wait 1 ms…
lmh: *** ERROR *** HAL_SPI: DWM1001_RV_ERR: 1
Check Tx&Rx:
Fail
dwm_panid_get(&panid_origin): fail
dwm_panid_set(panid_set);
panid_set = 0x0002
lmh: SPI0: Rx step 1:
lmh: SPI0: Wait 1 ms…
lmh: SPISPI0: Rx step 2:
lmh: SPI0: Wait 1 ms…
lmh: SPI0: Wait 1 ms…
lmh: *** ERROR *** HAL_SPI: DWM1001_RV_ERR: 1
Check Tx&Rx:
Fail
dwm_panid_set(panid_set): fail
dwm_reset()
lmh: SPI0: Rx step 1:
lmh: SPI0: Wait 1 ms…
lmh: SPISPI0: Rx step 2:
lmh: SPI0: Wait 1 ms…
lmh: SPI0: Wait 1 ms…
lmh: SPI0: Received 3 bytes, in 2 ms OK
Check Tx&Rx:
OK
Wait 1s for node to reset.
dwm_panid_get(&panid_get);
lmh: SPI0: Rx step 1:
lmh: SPI0: Wait 1 ms…
lmh: SPISPI0: Rx step 2:
lmh: SPI0: Wait 1 ms…
lmh: SPI0: Wait 1 ms…
lmh: *** ERROR *** HAL_SPI: DWM1001_RV_ERR: 1
Check Tx&Rx:
Fail
dwm_panid_get(&panid_get): fail
panid_get == panid_set? fail
dwm_panid_set/get(): fail
dwm_panid_set(panid_origin);
lmh: SPI0: Rx step 1:
lmh: SPI0: Wait 1 ms…
lmh: SPISPI0: Rx step 2:
lmh: SPI0: Wait 1 ms…
lmh: SPI0: Wait 1 ms…
lmh: *** ERROR *** HAL_SPI: DWM1001_RV_ERR: 1
Check Tx&Rx:
Fail
dwm_panid_set(panid_origin): fail
dwm_reset()
lmh: SPI0: Rx step 1:
lmh: SPI0: Wait 1 ms…
lmh: SPISPI0: Rx step 2:
lmh: SPI0: Wait 1 ms…
lmh: SPI0: Wait 1 ms…
lmh: SPI0: Received 3 bytes, in 2 ms OK
Check Tx&Rx:
OK
Wait 1s for node to reset.
ERR test_panid: err_cnt = 3
dwm_label_read(label_origin, &len_origin);
lmh: SPI0: Rx step 1:
lmh: SPI0: Wait 1 ms…
lmh: SPISPI0: Rx step 2:
lmh: SPI0: Wait 1 ms…
lmh: SPI0: Wait 1 ms…
lmh: *** ERROR *** HAL_SPI: DWM1001_RV_ERR: 1
Check Tx&Rx:
Fail
dwm_label_read(label_origin, &len_origin): fail
dwm_label_write(label_set, strlen(label_set));
label_set = label_test
label_set_len = 10
lmh: SPI0: Rx step 1:
lmh: SPI0: Wait 1 ms…
lmh: SPISPI0: Rx step 2:
lmh: SPI0: Wait 1 ms…
lmh: SPI0: Wait 1 ms…
lmh: *** ERROR *** HAL_SPI: DWM1001_RV_ERR: 1
Check Tx&Rx:
Fail
dwm_label_write(label_set, strlen(label_set)): fail
dwm_label_read(label_get, &len_get);
lmh: SPI0: Rx step 1:
lmh: SPI0: Wait 1 ms…
lmh: SPISPI0: Rx step 2:
lmh: SPI0: Wait 1 ms…
lmh: SPI0: Wait 1 ms…
lmh: *** ERROR *** HAL_SPI: DWM1001_RV_ERR: 1
Check Tx&Rx:
Fail
dwm_label_read(label_get, &len_get): fail
label_get == label_set? fail
dwm_label_read/write(): fail
dwm_label_write(label_origin, strlen(label_origin));
label_origin =
label_origin_len = 1
lmh: SPI0: Rx step 1:
lmh: SPI0: Wait 1 ms…
lmh: SPISPI0: Rx step 2:
lmh: SPI0: Wait 1 ms…
lmh: SPI0: Wait 1 ms…
lmh: *** ERROR *** HAL_SPI: DWM1001_RV_ERR: 1
Check Tx&Rx:
Fail
dwm_label_write(label_origin, strlen(label_origin)): fail
ERR test_label: err_cnt = 91
dwm_node_id_get(&node_id);
lmh: SPI0: Rx step 1:
lmh: SPI0: Wait 1 ms…
lmh: SPISPI0: Rx step 2:
lmh: SPI0: Wait 1 ms…
lmh: SPI0: Wait 1 ms…
lmh: *** ERROR *** HAL_SPI: DWM1001_RV_ERR: 1
Check Tx&Rx:
Fail
dwm_node_id_get(&node_id): fail
ERR test_node_id: err_cnt = 1
Factory reset.
lmh: SPI0: Rx step 1:
lmh: SPI0: Wait 1 ms…
lmh: SPISPI0: Rx step 2:
lmh: SPI0: Wait 1 ms…
lmh: SPI0: Wait 1 ms…
lmh: *** ERROR *** HAL_SPI: DWM1001_RV_ERR: 1
Check Tx&Rx:
Fail
Wait 2000 ms for node to reset.