You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Let's say the satellite has been delivered and then we discover a major bug. Oh no! We now need to push a major update to fix that bug. If the bug is significant enough that we need to overwrite multiple files (or even just one file but more extensively than a line or two) then it is way too risky to just shotgun in a change to the code while it is actively in runtime.
Most over the air update systems will have some kind of infrastructure for loading the new code onto the system in parallel to the current code, doing a switchover on reset, and then only discarding the old code once the new code is verified as fully working (if the old code is ever discarded at all). This ensures that at all times there is at least one working copy of the code (bugs and all) that will be around and can be used just in case this new code causes more problems than it solves.
Here's a flowchart to help explain this a bit better:
Required Hardware
Any Version of the Flight Controller Board with an SD Card
The text was updated successfully, but these errors were encountered:
Story
Acceptance Criteria
circuitpy_flight_software
into the SD card.code.py
orboot.py
that detects the available versions and selects the latest to run.cdh.py
that selects which version of the code to run on next boot.Technical Details
Let's say the satellite has been delivered and then we discover a major bug. Oh no! We now need to push a major update to fix that bug. If the bug is significant enough that we need to overwrite multiple files (or even just one file but more extensively than a line or two) then it is way too risky to just shotgun in a change to the code while it is actively in runtime.
Most over the air update systems will have some kind of infrastructure for loading the new code onto the system in parallel to the current code, doing a switchover on reset, and then only discarding the old code once the new code is verified as fully working (if the old code is ever discarded at all). This ensures that at all times there is at least one working copy of the code (bugs and all) that will be around and can be used just in case this new code causes more problems than it solves.
Here's a flowchart to help explain this a bit better:
Required Hardware
The text was updated successfully, but these errors were encountered: