UltraWideLock v0.4.0

Reference#

The API reference at site/api/index.html is a separate tree, generated by Doxygen from the declarations themselves. It is built rather than committed, so there is nothing to link to from here on GitHub: run python3 web/build.py and open it. On the published site that path is a live link.

Use it when you need the exact shape of something:

  • preprocessor constants, which is where most of the protocol lives in this codebase (attribute IDs, frame lengths, key-block offsets, bitmask layouts)
  • enum values and their numeric encodings
  • struct members, with the per-field comments
  • include graphs

It covers the code this project owns:

  • shared modules: ultrawidelock_port, ultrawidelock_uwb, ultrawidelock_cred, and ultrawidelock_cred_ecp;
  • the nRF source-stack and NFC surfaces in ultrawidelock_cred_stack and ultrawidelock_nfc;
  • ESP32-S3/C5/C6 reader and port surfaces in ultrawidelock_ble, ultrawidelock_crypto, ultrawidelock_reader, and ultrawidelock_uwb, including the target-specific board-pin API.

Reference or Architecture?#

The two trees answer different questions, and neither replaces the other.

QuestionWhere to look
What are the fields of this struct? What is this constant's value?Reference
What calls this function, and what does it call?The subsystem graph, built by python3 web/build.py
Which files make up this subsystem, and what depends on what?Repository layout
Why is it built this way? What went wrong on the bench?The guides: esp32-gotchas.md for the ESP32-S3 port, dwm3001cdk-surgery.md for the DWM3001CDK

Undocumented symbols are omitted from the Reference tree rather than listed empty. If something you expect is missing, the fix is a doc comment at the declaration, not a generator setting.