oxidecomputer / oxidecomputer/hubris
document what `build-i2c` codegen does and how to use it correctly
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 3.6k
- Forks
- 239
- Avg merge
- 1d 12h
- Merged PRs (30d)
- 23
Description
Basically, the way that the app.toml config is turned into generated I2C device APIs that are useable by Hubris tasks, and particularly the way this is glued onto sensors, feels like it's kind of a murky opaque pit filled with rusty nails and trash. Making matters worse, it's also a mostly undocumented murky opaque pit filled with rusty nails and trash.
It would be good to fix this. We should add some high-level user-facing documentation that explains how this stuff works and how it should be used.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing how app.toml reaches the build-i2c code generator, then follow the generated I2C device APIs into Hubris tasks and sensor integration. Done means user-facing documentation clearly explains this flow and the correct way to use it.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- documentation, embedded-iot
- Issue type
- Documentation
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100