Repository navigation
Upgrade to fprime v4.4.0 - #29
Open
nathancheek wants to merge 5 commits into
Open
nathancheek wants to merge 5 commits into
nathancheek wants to merge 5 commits into
Conversation
This was referenced Oct 3, 2026
nathancheek
force-pushed
the
upgrade-fprime-v4.4.0
branch
4 times, most recently
from
October 4, 2026 21:14
8aa38a0 to
1be69ea
Compare
* Regenerate LedBlinker from the cookiecutter and re-add the LED changes * Raise file and directory handle sizes to 48 for RP2040 SD card builds * Raise QueueSizes.comQueue to 10 so events are no longer dropped * Remove LedBlinkerPackets.xml and reference to LedBlinkerPacketsAc.hpp, left over from the F' v3 XML packets autocoder * Pass --framing-selection fprime in the GDS commands, since fprime-gds defaults to CCSDS framing
* Update fprime-arduino, including the ArduinoRawTime fix * Rebase config overrides onto the v4.1.1 defaults * Add the ComCcsds aggregator constants * Connect cmdDisp.run, which now writes the dispatcher's telemetry, to rate group port 3, and move the LED to port 4
nathancheek
force-pushed
the
upgrade-fprime-v4.4.0
branch
2 times, most recently
from
October 5, 2026 02:38
6902e4c to
2dc27f2
Compare
nathancheek
force-pushed
the
upgrade-fprime-v4.4.0
branch
from
October 20, 2026 00:30
2dc27f2 to
8ad2ca4
Compare
* Update fprime-arduino and fprime-baremetal * Rebase config overrides onto the v4.4.0 defaults * Raise command limits to support new ComQueue and rate group commands * Raise telemetry limits to support per-port rate group cycle times * Update the topology, Led component and tutorial for v4.4 API changes * Include <cstring> in TopologyDefs.hpp for the subtopologies' memset * Switch to CCSDS framing
nathancheek
force-pushed
the
upgrade-fprime-v4.4.0
branch
from
October 20, 2026 00:45
8ad2ca4 to
988e969
Compare
This branch has not been deployed
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.
This PR brings the LedBlinker deployment back into sync with the Arduino deployment cookiecutter. It then upgrades to fprime 4.1.1, moves to the fprime v4 project layout, and upgrades to 4.4.0, switching to CCSDS framing. The final commit syncs the project files with what
fprime-bootstrapgenerates, to better match what tutorial followers get. Each commit builds and runs on its own, so I request that they don't get squash-merged, allowing users to choose which version of fprime v4 they wish to use.CCSDS:
Testing:
CMD_NO_OPs gave matchingOpCodeDispatched/NoOpReceived/OpCodeCompletedcounts,BLINKING_ON_OFFturns the LED blinking on and off, and telemetry updates throughout. No dropped events, asserts or freezesPortCycleTimeHWMreads normal values (without the fprime-arduino RawTime fix it sticks at 4294967295)Other repositories being updated alongside this:
The submodules currently point at commits on those forks. Once the fprime-arduino and fprime-baremetal changes are merged upstream, the pins here can be updated to the merged commits.
My motivation for this PR was to get existing boards working on fprime 4.4.0. After this, I am planning a separate PR to update atmega128 Arduino support, which has gotten very out of date (that work is in fprime-atmega128-blinker and fprime-atmega128-demo, on fprime 4.4.0 with fprime-gds support). I went all the way to 4.4.0 because the new
FW_DIRECT_PORT_CALLSoption saves a lot of flash (10.4KB flash / 528B RAM saved in one of my ATmega128 test deployments going from v4.0.0 to v4.4.0, a flash savings of about 18%).Note: Claude was very useful in wrangling all these version updates, but I have reviewed all the code and manually tested the commits at each fprime upgrade on rpipico and teensy40. In addition, I have tested the 4.4.0 upgrade across teensy41, rpipicow, rpipico2, and rpipico2w hardware.