oxidecomputer / oxidecomputer/hubris

document what `build-i2c` codegen does and how to use it correctly

Open
#2,638 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

developer-experience
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.