Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 7 additions & 5 deletions TODO.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
# Todo

- [ ] provide support for device type file compilation through an interface - js? python?
- [ ] build a UI in gh that allows files to be selected composed and uploaded to file system - and maybe also a web uploader on same page
- [ ] consider sidecar files for device type info instead of embedded notes
- [ ] handle sidecar data files like VL53L5CX requires - maybe they need uploading, etc - sourced from somewhere else like ST's website - to avoid copyright?
- [ ] get VL5L5CX working natively - download binary from file system?
- [ ] implement a mechanism that allows coord system transforms for devices like rotation/inversion/etc - either as an expression or as a named transformation
- [ ] consider compressing device types json
- [x] init values computed from values read from the device (`initCode`) - done 2026-10-18 for the BME680/BME690 heater; the VL53L0X SPAD setup still needs multi-phase support, so records can write per-unit settings: the BME680 gas heater set-point (the record uses a fixed typical value, so the hot plate temperature differs between units and gas resistance isn't comparable between them) and the VL53L0X reference SPAD setup (omitted, losing accuracy and range). Design: devdocs/computed-init-values.md (section 2, init code; section 3, where it goes)
- [ ] VL53L0X reference SPAD setup from its NVM (omitted from the record, losing accuracy and range): needs read-modify-writes partway through init, so init code computing values at more than one point (run again before each slot step), and a VL53L0X to test. Design: devdocs/computed-init-values.md ("Not done: VL53L0X SPAD setup")
- [ ] flash writes blocking the main loop: file uploads, `filehash`, Axiom DataLogger writes and the cache refresh after a file close are over the 10 ms target. Measured 2026-10-24: a write task removes SD pauses; LittleFS also needs code running from PSRAM (`CONFIG_SPIRAM_XIP_FROM_PSRAM`) or flash auto-suspend. Next: the shared file-write worker (with OTA), a lock per file system, acks after the write. Tests, results, design and costs: devdocs/flash-write-blocking-plan.md

## Parked

Investigated and judged feasible, but not on any schedule at present.

- [ ] VL53L5CX (and other firmware-loaded I2C devices) as ordinary device types instead of the Axiom's `VL53LxCX` SysMod: records name binary "assets" (the sensor firmware), carried with records, compiled in or put in the file system image, or uploaded with a type file; plus generic init steps (asset slices written in chunks, waits on a register, init bus speed, array init values), reads over 240 bytes and conditional polls. Parked 2026-10-25; the Axiom SysMod works meanwhile. Design, decisions and what to re-check before resuming: devdocs/firmware-loaded-i2c-devices-plan.md
Loading
Loading