20 Commits

Author SHA1 Message Date
Thomas Boyer-Chammard
d669ea2c5a
Replace FpConfig.h header with FPP model elements (#4393)
* Update FpConfig.h

* Update AcConstants.fpp

* Update FPrimeBasicTypes.hpp

* Update BasicTypes.h

* Update FpySequencer.hpp

* Update FpConfig.h

* Update FPrimeBasicTypes.hpp

* Update BasicTypes.h

* Update BasicTypes.h

* Update BasicTypes.h

* Update BasicTypes.h

* Update BasicTypes.h

* Update BasicTypes.h

* Update BasicTypes.h

* Update FPrimeBasicTypes.hpp

* Update FPrimeBasicTypes.hpp

* Update FpConfig.h

* Update AcConstants.fpp

* Revert casts

* Add static_cast in asserts, reorganize files per feature

* Fix static_assert after merging devel

* Add assert to static cast

* clean up comments and TODOs

* formatting

* Fix formatting

* Fix RHEL8 error

* Other UT cast fix

* cast one side only

* fix spelling and move assert count to FpConstants

* Reorder and comments

* rob test

* re-add double cast

* Revert testing static_cast

* Update docs

* use SIZE_OF variables instead of hardcoding value

* Update FpConfig in CMake tests

---------

Co-authored-by: ekswang <eric.k.wang@jpl.nasa.gov>
2025-11-06 16:29:15 -08:00
Thomas Boyer-Chammard
0e40726440
Add nomenclature document (#4200)
* Add nomenclature document

* whitespaces

* whitespaces

* fix spelling

* Update nomenclature with software slug representation

Added software slug representation for F Prime.

* sp

---------

Co-authored-by: M Starch <LeStarch@googlemail.com>
2025-09-29 13:48:44 -07:00
M Starch
8b1d627139
Add improvements to ComQueue (#4190)
* 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
2025-09-25 15:05:08 -07:00
M Starch
82fff1abc8
Revise Communication Adapter Interface documentation (#4133)
Updated reference to the Communication Adapter Interface in the documentation to reflect changes in the interface file names and added usage instructions.
2025-09-09 21:36:26 -07:00
M Starch
475f323525
Add ground derived channels how-to guide (#4074)
* 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
2025-08-26 14:41:55 -07:00
Justine West
6349bf85c2
Add newline before table (#3858) 2025-07-08 10:51:43 -07:00
M Starch
292476b0c0
Purge PlatformIntType and PlatformUIntType (#3719)
* Purging PlatformIntType and PlatformUIntType

* CI fixes

* Fixing review requirements

* Fix CI error

* Fix CI cmake test regression

* Fix RHEL8 regression
2025-06-16 17:44:24 -07:00
Justine West
98a51bc8b0
Add constants to dictionary spec (#3692)
* 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
2025-06-16 16:31:46 -07:00
M Starch
717731e592
Improve GDS plugin documentation (#3551)
* Improving plugin documentation

* Update docs/reference/gds-plugins/data-handler.md

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Add GDS Plugins to Reference section

* Review comments

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Thomas Boyer-Chammard <49786685+thomas-bc@users.noreply.github.com>
2025-05-08 14:48:55 -07:00
Thomas Boyer-Chammard
c3b2e04880
Use data return pattern on Uplink and standardize port names (#3546)
* First pass at Svc + TcpClient implementation

* 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

* Update Deframer interface to include bufferReturn

* Address review comments
2025-05-08 10:54:54 -07:00
Thomas Boyer-Chammard
d0246f148b
Add Framer FPP interface, implement FprimeFramer and adapt ComQueue (#3486)
* Initial FprimeFramer and FprimePacketizer

* Code clarity + set up UTs

* Rework ComQueue and ComStub to use DataWithContext

* Add packets to RefPackets.fppi

* Fix ComQueue tests

* Add hotfix to FileDownlink instead of ComQueue

* Fix cancelPacket as well

* Fix ComQueue UTs by removing hotfix

* Refactor DataWithContext to use an FPP object for context instead of Fw.Buffer

* Touch up testing

* Add docs

* more docs

* More docs

* Rework buffer deallocation pattern to pass-through ComQueue

* Update ComStub UTs

* Restore original FileDownlink.cpp

* Formatting tweak

* Update deprecated getSerializeRepr() calls

* deserialization methods

* Fix spelling

* add cast for safety

* CMakefile change

* Bump ComQueue depth

* Update RPI deployment with new Downlink stack

* Rename comQueueIn port to comPktQueueIn

* Fix comQueueIn to comPktQueueIn change

* Remove legacy Svc.Framer

* Fix CMake UTs

* Fix RPI topology config

* Fix FprimeProtocol.fpp module

* Fix namespacing

* Use const reference for FrameContext port

* Review comments EXCEPT port passback refactor

* Rework ComStub with new ByteStream

* New ByteStream - ComInterface model

* Rework TcpClient / TcpServer with new bytestream

* Adapt UDP component for new ByteStream

* Adapt FrameAccumulator for new ByteStream

* Adapt FprimeFramer for new ByteStream

* Update Ref topology with new ByteStream model

* Remove all legacy deallocates from Drivers; reintroduce DEPRECATED model types

* Fix spelling and include error

* More spelling....

* RPI and RpiDemo fixes

* Fix conversion warning on RPI

* static_cast for short int on RPI

* Standardize port names

* Remove legacy Drv types and merge RECV/SEND enum type, delete StreamCrossover

* Update SDDs

* Update SDDs

* Fix ComInterface <-> Framer interfaction, clarify comments and fix annotations

* Switch ComStub from ASSERT to log failure and return buffer

* Add history size check + clarify test handler overrides

* Fix RPI topology to wire comStub on Uplink

* Rename comm to comDriver in RPI topology

* Update communication adapter interface docs
2025-04-29 16:40:36 -07:00
Ashley Nilo
548012bbf9
Auto-generate nav with mkdocs-awesome-nav (#3460)
* Awesome Nav Changes

* Awesome Nav Changes

* Bring up to date with latest

* This is AWESOME

* Rename files for ordering

* Remove How-To prefix in titles

* Fix spelling

* Remove old sdd_processing.py script

---------

Co-authored-by: thomas-bc <thomas.boyer.chammard@jpl.nasa.gov>
2025-04-25 14:15:20 -07:00
M Starch
637be256c4
Assert numerical type invariants. Fixes: #3207 (#3382)
* Assert numerical type invariants. Fixes: #3207

* Review suggestions
2025-03-14 16:54:09 -07:00
M Starch
eebd2c17b4
Adding warning about the use of PlatformPointerCast. Fixes: #251 (#3381) 2025-03-13 15:53:01 -07:00
Vince Woo
69ba64b59c
Adding format specifier aliases for primitives. Updating documentation. (#3199) (#3375)
* Adding format specifier aliases for primitives. Updating documentation. (#3199)

* Changing double format to 'lf' for better compatibility for scanf

* Adding UTs. Removing PRI_F32 as C/C++ always promotes floats to doubles.
2025-03-13 14:00:41 -07:00
matt392code
f44260dd69
Add F Prime terminology translation guide (#3260)
* Create fprime-translations.md

LeStarch on Feb 13, 2025
CollaboratorAuthor
@matt392code these tables you posted are exactly what we need for this issue. Do you want to pull those tables into a PR?
Create:
docs/user-guide/framework/fprime-translations.md
Add all of the tables you put at the top (everything up to "Example Translations").
I will need to go through and edit some of the data, but want to let you get credit for the initial work.

* Reviewing output

* Adding tranlation guide to mkdocs.yml

* Add links and fix typo

---------

Co-authored-by: M Starch <LeStarch@googlemail.com>
Co-authored-by: chammard <thomas.boyer.chammard@jpl.nasa.gov>
2025-02-27 11:12:47 -08:00
Justine West
2fa6270520
Add telemetry packets to JSON dictionary spec (#3221)
* added telem packets to JSON dictionary spec

* add telemetry packet examples, cleanup examples

* fix examples

* fix typo

* rename groups to sets

* Add newline after tables, use camel case for component instance names

* update description of deploymentName field

* update deploymentName field description

* fix example
2025-02-25 16:50:40 -08:00
Justine West
78eea477d5
Add type aliases to JSON dictionary spec (#3254)
* add alias type to dictionary json spec

* Update table of contents
2025-02-25 13:46:46 -08:00
Thomas Boyer-Chammard
3f61f887e4
Restructure user manual for holding design patterns (#3222)
* Doc restructure with design-patterns and build-system sections

* Restore advanced.md and uts.md

* Link in UTs

* Fix link

* Remove card layout from user manual landing page

* Add back the cards
2025-02-13 13:54:43 -08:00
Thomas Boyer-Chammard
6f1369bbcf
Update docs structure for website versioning improvements (#3150)
---------

Co-authored-by: ashleynilo <ashley.k.santiago@jpl.nasa.gov>
2025-01-21 14:32:52 -08:00