oxidecomputer / oxidecomputer/hubris
MAX5970 alerts are ignored
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 3.6k
- Forks
- 239
- Avg merge
- 1d 12h
- Merged PRs (30d)
- 23
Description
The MAX5970 hotplug controllers in Gimlet have their ALERT_L and I2C lines routed to the SP, but the SP doesn't do anything with the ALERT_L signal nor does it currently act on any of the status registers other than Register::adc_chx_{cs,mon}_XX which implement the ability to obtain the present readings of voltage and current sensors. Information that may be useful to acquire on an alert interrupt includes the contents of the status0, status3 and fault[2:0] registers and the historical peak detectors {max,min}_chx_{cs,mon}_{lsb,msb}, in addition to the circular buffer contents covered by #1545. This could modeled as additional sensors, gathered continuously, and made available upstack in the same manner as the near-real-time samples, but the intent of this ticket is to cover one-shot collection of this data in response to and shortly after an alert.
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 the Gimlet service-provider handling for the MAX5970 ALERT_L signal and the existing near-real-time sensor path. Review the status0, status3, fault[2:0], historical peak-detector registers, and the circular-buffer context in #1545. Done means an alert triggers one-shot collection shortly afterward and makes the captured data available upstack.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- embedded-iot
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100