* Created new SerialBufferBase as a parent of SerializeBufferBase. Renaming interface functions to be less confusing.
* Deprecating copyRawOffset. No direct use-cases in F' core.
* Make SerialBufferBase a true pure virtual interface.
* Changing Serializable to work with SerialBufferBase parent interface.
* Changing copyRaw and copyRawOffset to work with SerialBufferBase
* Updating documentation for SerialBufferBase usage
* Adding some documentation. Adding missing ASSERT in copyRaw. Fixing some bugs that new ASSERT uncovered.
* Renaming SerializeBufferBase to LinearBufferBase. Add a using declaration to maintain backwards compatability. Properly mark LinearBufferBase functions as override.
* Filling in the rest of the docstrings for the classes in Serializable
* Removing redundant virtual keyword on override function
* Applying clang formatting
* Incorporating PR comments
* Fix compile issues
* Bump version to alpha
* Format
* v
---------
Co-authored-by: M Starch <LeStarch@googlemail.com>
* Add guide for developing device drivers in F Prime
* Add develop-device-driver.md
* Update device driver docs
* small fixes
* Polish things up
* more polishing
* spelling and link fixes
* Address review comments
* Passing the Default BIG Arg to Serialize Functions
* Fails on Ac Files
* Compiles w/ little endian autocode
* Unit Tests Pass
* Little Endian deserializeTo & Unit Test Little Endian SerDes
* Add little-endian SerDes examples to docs
* Add & Respect Endianness for Array Lengths & Remove unneeded Fw:: Prefix
* Switch to enum class Endianness
* Fixes for enum class Endianness
* Run code formatter
* Bump fpp to v3.1.0a4
* Update Fw/Time/Time.hpp
* Update Fw/Time/Time.hpp
---------
Co-authored-by: Rob Bocchino <bocchino@jpl.nasa.gov>
Co-authored-by: M Starch <LeStarch@googlemail.com>
* Move dequeued ComBuffer to persistent memory
* Add ordering notes to com interface docs
* Add buffer ownership tracking
* Assert dequeue status for serialized buffer
Added status check for dequeue operation to ensure successful serialization.
* Fix static_assert -> static_cast
* Fix format
Updated reference to the Communication Adapter Interface in the documentation to reflect changes in the interface file names and added usage instructions.
* Add FPP state machine How-To
* Fix state definitions in state diagram for newlines
* sp
Clarified wording regarding state transitions in the documentation.
* Missing `.`
Co-authored-by: Rob Bocchino <bocchino@icloud.com>
* Review updates
* Update links in define-state-machines.md
* sp
---------
Co-authored-by: Rob Bocchino <bocchino@icloud.com>
* Feedback updates on common port patters, health, and worker
* Fix typos and improve clarity in documentation
* Fix typo in health-checking documentation - pt 2
Corrected a typo in the description of Svc.Health regarding configurable timeouts.
* Fix typo in manager-worker documentation - pt 3
* Fix formatting in health-checking documentation
* Revise subtopology development documentation
* Document subtopology configuration process
Added detailed instructions for configuring subtopologies, including module setup and CMake integration.
* Enhance documentation on subtopology structure
Added recommendations for including documentation and optional files in subtopology.
* fix spelling
* fix spelling v2 final
---------
Co-authored-by: Thomas Boyer-Chammard <49786685+thomas-bc@users.noreply.github.com>
* Initial derived channel work
* Write ground-derived channels
* Update plugin handler
* Updating publishChannel case
Updated method name to follow naming conventions.
* Fix method name to use snake_case in documentation
* improved step to contribute back
* added delivery date for targeted platforms
* added tbd since we are not sure at the moment
* fixed column data
* updating list of supported targets. This reflects how F Prime runs on these hardware with zephyr.
* alphabetized list and added link for freertos
* fix spelling
* rename Apple M* to Apple Silicon
---------
Co-authored-by: Thomas Boyer-Chammard <49786685+thomas-bc@users.noreply.github.com>
* Deprecating serialize/deserialize methods for clearer serializeTo/serializeFrom and deserializeTo/deserializeFrom methods to indicate direction.
* Cleaned up some GCC directives that was used for an experimenting. Fixed some bugs in Serializable.
* Un-deprecating serialize/deserialize methods to decouple the required FPP changes
* Further modenized more child classes. Added some backwards compatibility fall-back logic to aid in FPP decoupling.
* Fixing clang formatting violation
* Removing redundant virtual keyword since the functions are already overrides
* Incorporating PR comments
* Fixing clang format issue
* Incorporating PR comments
* Updating documentation for new serialize/deserialize methods
* Remove PRIVATE PROTECTED and STATIC access overrides
* Bump up requirements version
---------
Co-authored-by: Thomas Boyer-Chammard <49786685+thomas-bc@users.noreply.github.com>
* Update F' Time handling with FPP struct and clean up TIME flags
* Update documentation to indicate required time base options
* Remove time context comparison from Time compare method and FpySequencer
* UT updates
* Remove time add/sub context assertions, upload context compare logic and UTs, and doc updates
* Update Fw::Time SDD serializables section
* Markdown format fix
* Markdown format fix
* Markdown format fix
* Markdown format fix
* Bump FPP to v3.0.0a14
---------
Co-authored-by: M Starch <LeStarch@googlemail.com>
* Adding FW_CASSERT_1 macro for C
* Splitting assert failure case into separate test. Adding TestAssetHook to properly test assertion failures.
* Fixed TestAssertHook implementation
* Add constants to dictionary spec
* Update enum section to use enum value
* Update dictionary content section to include array of constants.
* Remove kind field from constant
* Add note on how integer constants are output to the dictionary
* Add table of required defs with names, kinds, locations, and purpose
* updated supported platforms docs
* Fixed Tip box
* clear up doc
* fixed spelling
* Added nice title so the website can pick that up
* correcting step
* updated per pr reviews
* being more consistent with the word deployment. these sentences should actually use reference project instead of reference deployment -- as discussed with the fprime core team
* First pass at Svc + TcpClient implementation
* Tmp work
* Revert FileUplink changes
* Add copy (with allocation/deallocation) to FprimeRouter to simplify buffer management
* Update FprimeRouter UTs
* Update FprimeDeframer UTs
* Update FrameAccumulator UTs
* Update ComStub UTs
* Update missing Drv and UTs
* Update ComInterface to use ComDataWithContext on output
* Update Ref/RPI topology
* Fix spelling
* Fix test typo
* Update Udp component and UTs
* Rename data ports and standardize "Return" naming pattern
* Fix variable name
* Adapt UTs
* Update Communication Adapter Interface docs
* Full SDD updates
* Spelling & nits and details
* Put formatting back to original
* Added SpacePacket, TC and TM framers/deframers + Ref topology. Working with GDS wohooo
* TODOs and code cleanup
* Add APID enum to ComCfg.fpp and route based on received APID
* Increment counts per frame/apid
* Remove duplicate files
* Document and implement services/functions provided by the TCDeframer
* Add events, todos and notes
* fill TM frame with idle packet
* Add ApidMapper component and map APID - FwPacketDescriptor
* Refactor to new CMake API
* Update Types and Add TCDeframer tests
* Update type usage namespacing
* Finish TCDeframer UTs
* Add TMFramer tests and refine VcId handling
* Tests and code cleanup
* Define ComPacketType in FPP
* Map FW_PACKET_FILE to downlink specific APID
* Remove sequence number check
* Add packet loss notification to space packet
* Tests WIP
* WIP
* Use SpacePacket header type in TMFramer idle packet
* SpacePacketDeframer tests and untracked APID detection
* Add APID (=PacketDescriptor) extraction to FprimeDeframer
* Use ApidManager on uplink to validate seq count (is central authority for APID - SeqCount)
* Code cleanup
* Much cleaner ApidManager as a service, not in the middle of framing
* Even better ApidManager
* Add SpacePacketFramer UTs
* Set up rule based testing for ApidManager
* Code cleanup and fix TMFramer UT
* First pass at SDDs and stuff
* SDD fixes
* ApidManager Rule-based testing
* Improve TMFramer code coverage, docs and comments
* Types cleanup
* Add CRC check to CcsdsTCFrameDetector
* Add unit tests for CcsdsTCFrameDetector
* Fix Ref topology
* Fix old PacketType usage
* Fix ComQueue UTs
* Fix CI warnings
* Add test for CRC corruption in frame detector
* Spelling
* Remove ApidDemo component from topology
* Fix more static analysis
* Clean up ApidManager tests and fix static analysis warnings
* Fix UTs on RHEL8
* Fix SDD links
* Fix more static analysis on UTs
* More spelling fixes
* Improve SDDs and comments
* Update metadata
check-spelling run (pull_request_target) for ccsds-protocols
Signed-off-by: check-spelling-bot <check-spelling-bot@users.noreply.github.com>
on-behalf-of: @check-spelling <check-spelling-bot@check-spelling.dev>
* More SDD updates
* Attempt UT fixes
* First pass of review comments
* Fix length token is minus 1 inconsistency
* Review recs: static assert frame size, docs, TM buffer asserts
* Add fprime-gds.yml to Ref for GDS with framing selection
* Update requirements.txt for GDS 4.0.0a3 (CCSDS protocols)
* Update UTs to reflect last update
* Drop Python 3.8 support
* Update FprimeRouter UTs for new APID routing
* Fix spelling and RHEL8 cast warnings
* Fix spelling again...
* Deserialize APID in FprimeDeframer only if it is valid
* Fix googletest warning??
* static casting that u8 yall
* Use width FPP constants
* Add SDD links
* Switch TMFramer/TCDeframer capitalization to TmFramer/TcDeframer
* Use git mv to rename files and directory
* oops forgot rename a test file
* review changes: add annotations on all FPP ports
---------
Signed-off-by: check-spelling-bot <check-spelling-bot@users.noreply.github.com>
Co-authored-by: Thomas Boyer-Chammard <thomas-bc@users.noreply.github.com>