salty ed1542ae11 feat: rewrite UWB firmware for DW1000 (all 3 boards)
Anchor (esp32/uwb_anchor):
- DW1000Ranging library (200m range, MODE_LONGDATA_RANGE_ACCURACY)
- Unique addresses per anchor (anchor0/anchor1 build envs)
- +RANGE output: anchor_id, tag_addr, range_mm, rssi
- ESP-NOW receiver: forwards tag packets + priority E-STOP to Jetson
- AT+ID? command

Tag with Display (esp32/uwb_tag):
- DW1000Ranging as tag, auto-discovers anchors
- SSD1306 OLED: big distance, per-anchor ranges, RSSI bars, link status
- ESP-NOW broadcast: range/heartbeat/estop packets
- E-Stop on GPIO 0 (BOOT button), 10Hz TX while held
- Display at 5Hz, ranging driven by DW1000Ranging.loop()

Shared:
- lib/DW1000/ extracted from mf_DW1000.zip (Makerfabs fork)
- lib_extra_dirs for PlatformIO to find local library
2026-03-14 12:30:26 -04:00

11 lines
1.8 KiB
JavaScript

var searchData=
[
['decodeblinkframe',['decodeBlinkFrame',['../classDW1000Mac.html#a2f463c08db2db3c66a1c78cc939b2068',1,'DW1000Mac']]],
['decodelongmacframe',['decodeLongMACFrame',['../classDW1000Mac.html#ad52462fa07f4130dceccdaa8edb96ebf',1,'DW1000Mac']]],
['decodeshortmacframe',['decodeShortMACFrame',['../classDW1000Mac.html#a7858e613a82b01bc30faa4d65ec86970',1,'DW1000Mac']]],
['detectmessagetype',['detectMessageType',['../classDW1000RangingClass.html#a94956e427dffcf4f0912c499e5c2f1e8',1,'DW1000RangingClass']]],
['dw1000device',['DW1000Device',['../classDW1000Device.html#ababd3c54aa268a33607e449562a45cca',1,'DW1000Device::DW1000Device()'],['../classDW1000Device.html#a96b99626cad1d86fbd169159461034f8',1,'DW1000Device::DW1000Device(byte address[], byte shortAddress[])'],['../classDW1000Device.html#a224123ad97f1baa7c38302b25aa3506d',1,'DW1000Device::DW1000Device(byte address[], boolean shortOne=false)']]],
['dw1000mac',['DW1000Mac',['../classDW1000Mac.html#a2ce231562de0be4a18ec7612cc8c7055',1,'DW1000Mac::DW1000Mac(DW1000Device *parent)'],['../classDW1000Mac.html#a909721404f8104f11f6d742109f737db',1,'DW1000Mac::DW1000Mac()']]],
['dw1000time',['DW1000Time',['../classDW1000Time.html#a6d9648e0fea1899def84dc09556bd29d',1,'DW1000Time::DW1000Time()'],['../classDW1000Time.html#ab2d7b0fa7d9379a8efc64cceefac8e9f',1,'DW1000Time::DW1000Time(int64_t time)'],['../classDW1000Time.html#a05044f2626fa26fcd2c4209cd521b040',1,'DW1000Time::DW1000Time(byte data[])'],['../classDW1000Time.html#ad70603121cbeb88b80e221fb20d7bb27',1,'DW1000Time::DW1000Time(const DW1000Time &copy)'],['../classDW1000Time.html#a797e26db462579718c6ddcbb18a8517d',1,'DW1000Time::DW1000Time(float timeUs)'],['../classDW1000Time.html#a05ae88f495a8121db77fcc4925670fdf',1,'DW1000Time::DW1000Time(int32_t value, float factorUs)']]]
];