Implement OTA updates and safe mode
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 20/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- rust
- Domain
- embedded-iot
Research direction
Start with the linked contracts issue 11, which contains the design and open questions, then inspect the partition table, BLE bond storage, release workflow, xtask/, and Cargo.lock. The work spans OTA slots, signature verification, config migration and rollback, safe mode, and generated app builds; done means these update, recovery, and release requirements are implemented.
Written by the indexing model from the issue text.
Description
Part of https://github.com/OpenCarControls/contracts/issues/11, which has the design and open questions.
- Partition table with OTA slots; move the BLE bonds to a data partition first.
- Verify the image signature (ideally with secure boot).
- Keep user config across updates (migration and rollback); wipe it when flashing for another car.
- Safe mode when the wrong car is detected, with setup and reset.
- Trigger releases on
contractsbumps,xtask/andCargo.lockchanges. - Pin a lockfile for the generated app build instead of deleting it.
- Dominant language
- Rust
- Stars
- 1
- Forks
- 0
- Avg merge
- 13h 37m
- Merged PRs (30d)
- 8
Getting set up
Starts the project's dev container in your browser, under your own GitHub account.
- No Dockerfile or Docker Compose file
- No pull request template
- No contributing 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.
More from OpenCarControls/firmware
-
Refresh stale docsOpen
Difficulty 1/5 1-3 hours Newbie friendliness 67/100
OpenCarControls/firmware#35 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 77/100
OpenCarControls/firmware#34 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
OpenCarControls/firmware#31 ·
Maintainers usually reply within 1 day
-
good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
OpenCarControls/firmware#30 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 3/5 1-2 days Newbie friendliness 68/100
OpenCarControls/firmware#57 ·
Maintainers usually reply within 1 day
All issues in OpenCarControls/firmware
Similar issues
-
state:triage-needed
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Maintainers usually reply within 1 day
-
bug P2
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
Maintainers usually reply within 1 day
-
cssparser-color: debug assertion in hsl_to_rgb for a hue that overflows f32Possibly taken @BartWaardenburg claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 64/100
servo/rust-cssparser#460 ·
-
`-w -r <range>` fails empty range but changed working treePossibly taken @dajiaohuang claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Maintainers usually reply within 2 days