Repository navigation
chore(release): v2026.10.11 - #5
Merged
Merged
Conversation
The timer was sent on RT_AUX_DEV_RUNCAM_REC (device 3), which the current FMC has no case for and silently discards, while the camera command itself carried arg16=0 - "no timer". No auto-stop could ever arm. Carry arg16 on RT_AUX_DEV_RUNCAM instead; an omitted autostop_s now defers to the FMC's persisted runcam_autostop_s, and 0 still means no timer. Also derive the MQTT client id per environment: prod and dev both connected as "FAS", so the broker evicted one in a reconnect loop that dropped commands and telemetry. The published source stays "FAS" because the backend routes FAS sensors on that exact string. Also add a GET-only radio-config encoder: action=get went through the full-config encoder and raised KeyError: 'lora', so the read direction needed a complete config to ask what the current one was. Stop publishing runcam_present/runcam_recording; aux_flags bits 1 and 2 are permanently reserved and never emitted.
_board_fields preferred binding.board_type/board_id over the node string, so BVFTP (node EPB_4, stale board_type=EPB/board_id=0) went on the wire addressed to EPB:0 - a board that does not exist - and every EPB silently dropped the frame on its board-id filter. The legacy GS sends an explicit board_id from its own config, which is why the same valve worked there. The node string is the binding's canonical address and sensors already resolve through it; the loose pair is now only a fallback for bindings without a parseable node. Verified on hardware end to end: BVFTP closed/open/closed via /api/commands moves EPB:4 ch1 (relay echo on, pulse 1050/2000/1050) and off de-energizes.
- New egse_decim op sets the FMC's RS-422 ADC forwarding divisor (RT_MSG_FMC_EGSE_CMD 0x15). The FMC boots at 8 and never persists it; divisor 1 restores the full rate for fast links. - ADC_SAMPLE frames are keyed by their CAN-ID channel field as a base index, so the ARM-terminal analog input on non-IMC-host EPBs lands as channel 2 beside the ADS131 pair instead of overwriting it. Old firmware only ever sends base 0, so existing boards key exactly as before. - system.yaml: pressure bindings follow the working converters after boards 1 and 4 turned out to carry the wrong ADC part at U4 - POT on EPB_2 ch0, PFT on the EPB_4 ARM terminal (ch2), PCC on EPB_0 ch1. - launch.yaml tracked as the station's launch configuration.
Awesome-Ace22
approved these changes
Oct 19, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Brings v2026.10.11 into
main: exactly the commit that was tested (cold flow test).Release notes: https://github.com/UTATRocketry/Nova-Collected/releases/tag/v2026.10.11
Merge with "Create a merge commit", not squash, so the tested commit is kept (CONTRIBUTING.md section 5).