|
openaliro
Aliro reader: UWB/CCC core and ESP32-S3/C5/C6 port
|
— DW3110 bring-up driver (implementation). More...
#include "uwb_min.h"#include <errno.h>#include <string.h>#include "woz_port.h"#include "woz_log.h"#include <deca_device_api.h>#include <deca_probe_interface.h>#include <dw3000_hw.h>#include <dw3000_spi.h>#include "uwb_seam.h"Functions | |
| static int | uwb_probe_ensure (void) |
| Bring the SDK up to "probed" state on first call; no-op afterwards. | |
| static int | uwb_radio_ensure_init (void) |
| Bring the SDK up to "radio configured + LEDs on" state. | |
| int | uwb_min_radio_init (void) |
| Ensure the DW3110 is fully initialised (probe + initialise + configure + LEDs). | |
| uint32_t | uwb_min_radio_generation (void) |
| Count of fresh radio inits; changes whenever the base config was re-applied. | |
| int | uwb_min_hw_reset (void) |
| Pulse the DW3110 RST line low to force a hardware reset. | |
| int | uwb_min_read_chipid (uint32_t *id_out) |
| Read the DW3000-family DEV_ID register over SPI. | |
| int | uwb_min_selftest (struct uwb_selftest_result *out) |
| Radio self-test: configure, TX one frame, then arm RX. | |
| int | uwb_min_twr_prep (void) |
| Configure the radio for the raw SS-TWR loopback (SP3-ND, ch9, code11); no STS. | |
| void | uwb_min_twr_exchange (struct uwb_twr_frame *f) |
| Run one POLL/RESP exchange; the STS must already be programmed. | |
| int | 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). | |
— DW3110 bring-up driver (implementation).
|
static |
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.