modules/woz_uwb/src/driver/uwb_min.c
asxeem/openaliro
Module

uwb_min.c

DW3110 bring-up driver (implementation).

modules/woz_uwb/src/driver/uwb_min.c10 documented symbols

Overview

DW3110 bring-up driver (implementation).

depends on woz_log.h woz_port.h uwb_min.h

API

Fstatic int uwb_probe_ensure(void)

modules/woz_uwb/src/driver/uwb_min.c:32

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.

called by uwb_min_read_chipid, uwb_radio_ensure_init

Fstatic int uwb_radio_ensure_init(void)

modules/woz_uwb/src/driver/uwb_min.c:117

Bring the SDK up to "radio configured + LEDs on" state.

called by uwb_min_radio_init, uwb_min_selftest, uwb_min_twr_prep  ·  calls uwb_probe_ensure

Fint uwb_min_radio_init(void)

modules/woz_uwb/src/driver/uwb_min.c:156

Ensure the DW3110 is fully initialised (probe + initialise + configure + LEDs).

calls uwb_radio_ensure_init

Fuint32_t uwb_min_radio_generation(void)

modules/woz_uwb/src/driver/uwb_min.c:161

Count of fresh radio inits; changes whenever the base config was re-applied.

Fint uwb_min_hw_reset(void)

modules/woz_uwb/src/driver/uwb_min.c:166

Pulse the DW3110 RST line low to force a hardware reset.

Fint uwb_min_read_chipid(uint32_t *id_out)

modules/woz_uwb/src/driver/uwb_min.c:178

Read the DW3000-family DEV_ID register over SPI.

calls uwb_probe_ensure

Fint uwb_min_selftest(struct uwb_selftest_result *out)

modules/woz_uwb/src/driver/uwb_min.c:203

Radio self-test: configure, TX one frame, then arm RX.

calls uwb_radio_ensure_init

Fint uwb_min_twr_prep(void)

modules/woz_uwb/src/driver/uwb_min.c:297

Configure the radio for the raw SS-TWR loopback (SP3-ND, ch9, code11); no STS.

called by uwb_min_twr_poll  ·  calls uwb_radio_ensure_init

Fvoid uwb_min_twr_exchange(struct uwb_twr_frame *f)

modules/woz_uwb/src/driver/uwb_min.c:318

Run one POLL/RESP exchange; the STS must already be programmed.

called by uwb_min_twr_poll

Fint uwb_min_twr_poll(uint32_t n, uint32_t period_ms, struct uwb_twr_result *out)

modules/woz_uwb/src/driver/uwb_min.c:371

Raw static-STS SS-TWR initiator burst (bench probe).

calls uwb_min_twr_exchange, uwb_min_twr_prep