uwb_min.c
DW3110 bring-up driver (implementation).
Overview
DW3110 bring-up driver (implementation).
depends on woz_log.h woz_port.h uwb_min.h
API
Fstatic int uwb_probe_ensure(void)
Bring the SDK up to "probed" state on first call; no-op afterwards. The whole reset -> wake -> probe sequence is retried: transient SPI/power glitches (bench-seen as a burst of dwt_probe -1 during post-commissioning Wi-Fi traffic, self-recovering on the caller's next attempt) clear on a fresh chip reset, so retrying here turns a failed session start into a slightly slower one.
uwb_min_read_chipid, uwb_radio_ensure_initFstatic int uwb_radio_ensure_init(void)
Bring the SDK up to "radio configured + LEDs on" state.
uwb_min_radio_init, uwb_min_selftest, uwb_min_twr_prep · calls uwb_probe_ensureFint uwb_min_radio_init(void)
Ensure the DW3110 is fully initialised (probe + initialise + configure + LEDs).
uwb_radio_ensure_initFuint32_t uwb_min_radio_generation(void)
Count of fresh radio inits; changes whenever the base config was re-applied.
Fint uwb_min_hw_reset(void)
Pulse the DW3110 RST line low to force a hardware reset.
Fint uwb_min_read_chipid(uint32_t *id_out)
Read the DW3000-family DEV_ID register over SPI.
uwb_probe_ensureFint uwb_min_selftest(struct uwb_selftest_result *out)
Radio self-test: configure, TX one frame, then arm RX.
uwb_radio_ensure_initFint uwb_min_twr_prep(void)
Configure the radio for the raw SS-TWR loopback (SP3-ND, ch9, code11); no STS.
uwb_min_twr_poll · calls uwb_radio_ensure_initFvoid uwb_min_twr_exchange(struct uwb_twr_frame *f)
Run one POLL/RESP exchange; the STS must already be programmed.
uwb_min_twr_pollFint 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).
uwb_min_twr_exchange, uwb_min_twr_prep