uwb_min.h
Minimal DW3110 (DWM3000EVB) hardware bring-up driver.
Overview
Minimal DW3110 (DWM3000EVB) hardware bring-up driver.
used by ccc_shim_rx.c uwb_min.c aliro_shell.c
API
Cstruct uwb_selftest_result
Self-test result emitted by @ref uwb_min_selftest.
Cstruct uwb_twr_result
Result of a raw static-STS SS-TWR initiator burst (@ref uwb_min_twr_poll).
Cstruct uwb_twr_frame
Outcome of one raw SS-TWR POLL/RESP exchange (@ref uwb_min_twr_exchange).
##define UWB_DW3110_DEV_ID 0xDECA0302u
Expected DEV_ID value for the DW3110 (the IC on the DWM3000 module).
Fint uwb_min_read_chipid(uint32_t *id_out)
Read the DW3000-family DEV_ID register over SPI.
Fint uwb_min_hw_reset(void)
Pulse the DW3110 RST line low to force a hardware reset.
Fint uwb_min_selftest(struct uwb_selftest_result *out)
Radio self-test: configure, TX one frame, then arm RX.
Fint uwb_min_twr_prep(void)
Configure the radio for the raw SS-TWR loopback (SP3-ND, ch9, code11); no STS.
Fvoid uwb_min_twr_exchange(struct uwb_twr_frame *f)
Run one POLL/RESP exchange; the STS must already be programmed.
Fint uwb_min_twr_poll(uint32_t n, uint32_t period_ms, struct uwb_twr_result *out)
Raw static-STS SS-TWR initiator burst (bench probe).
Fint uwb_min_radio_init(void)
Ensure the DW3110 is fully initialised (probe + initialise + configure + LEDs).
Fuint32_t uwb_min_radio_generation(void)
Count of fresh radio inits; changes whenever the base config was re-applied.