5364 Commits

Author SHA1 Message Date
Rob Bocchino
dcfc109b5b
Update Ref to use FPP telemetry packets (#3440)
* Revise Ref app

Convert Ref packets to FPP

* Remove header include for XML packets

* Remove trailing spaces

* Delete RefPackets.xml

* Update Ref packets

* Update fpp version

* Update fpp version

---------

Co-authored-by: M Starch <LeStarch@googlemail.com>
2025-04-03 10:36:00 -07:00
Zimri Leisher
93510e1425
Return cmd repsonse and UT check (#3438)
Co-authored-by: Zimri Leisher <zimri.leisher@fireflyspace.com>
2025-04-03 10:04:38 -07:00
Justine West
645e3b4cf6
Add workflow for running fpp-to-json on Ref (#3430)
* Add workflow for running fpp-to-json on Ref

* Update working dirs

* Add FPP v3.0.0a4

* fpp v3.0.0a5

* Use setup action

* Rename workflow for better display

---------

Co-authored-by: Thomas Boyer-Chammard <49786685+thomas-bc@users.noreply.github.com>
2025-04-03 09:49:05 -07:00
Rob Bocchino
8a4bef243b
Fix warnings in FppTest build (#3434)
* Fix FppTest warnings

* Revise FppTest warnings

* Fix conversion warnings in FppTest

* Fix FppTest warnings

* Revise comments

* Fix FppTest warnings on F Prime dev machine

* Add missing header include
2025-04-02 11:02:06 -07:00
M Starch
f912e1bd75
Issue 3285 reducing signed size type in os file (#3402)
* Remove FwSignedSizeType from file

* Restoring FwSignedSizeType to seek offsets

* Fixing usages and UTs

* Fixes on Linux

* CI fix

* CI round 3

* CI rev 4

* Fixing code scan errors

* Review fixes - pt 1

* Failed to save
2025-03-28 11:47:07 -07:00
Vince Woo
630c30768d
Fixing compilation error for FW_RELATIVE_PATH_ASSERT and FW_FILE_ID_ASSERT assert levels when ASSERT_RELATIVE_PATH or FW_FILE_ID are not defined. (#3418)
* Adding fallbacks FILE_ID and RELATIVE_PATH asserts. Unit tests implemented but the FILE_ID test is broken. (#2988)

* Consolidating UTs into AssertTypesTest and fixing minor bug in Fw/Test/UnitTestAssert.cpp

* Fixing minor typo in comment
2025-03-28 11:20:44 -07:00
M Starch
2dcd21902d
Testing with configured fixed-size types (#3409)
* Testing with configured fixed-size types

* Linux fixes

* Final settings

* Removing FwNativeIntType
2025-03-28 11:11:13 -07:00
Tyler Russin
c7828f504d
Update Ref Application README (#3423) 2025-03-28 09:47:57 -07:00
Thomas Boyer-Chammard
795abf02db
Add apt-get update call to all workflows using apt-get (#3415) 2025-03-26 15:11:56 -07:00
Rob Bocchino
abeb39bdb1
Update FPP to v3.0.0a3 (#3393)
* Revise String.hpp

Remove explicit keyword

* Revise FppTest

Update FPP version
Re-enable commented-out ports

* Revise ActiveTest

* Revise FppTest for components

* Revise FppTest tests for components

* Revise FppTest for components

* Revise FppTest

* Revise FppTest

* Revise FppTest

* Fix warnings on fprime dev machine

* Update fpp version

* Remove external keyword from constructors
2025-03-26 14:07:42 -07:00
Cel Skeggs
5287d2f584
Clarify dependency for FW_ENABLE_TEXT_LOGGING (#3391) 2025-03-22 15:10:14 -07:00
Thomas Boyer-Chammard
fdbcc4962a
Fix UT_MOD_DEPS usage in Fw (#3392)
* Add minor improvements to deal with external libraries

* Fix UT_MOD_DEPS usage

* Revert "Add minor improvements to deal with external libraries"

This reverts commit 44803631eee9d152a00bbaabc42124b8404f56de.
2025-03-22 15:09:05 -07:00
M Starch
58f4f96915
Remove NATIVE_INT_TYPE, NATIVE_UINT_TYPE, and POINTER_CAST from Svc (#3374)
* Remove NATIVE_* types from FileUplink

* Remove NATIVE_* types from RateGroupDriver

* Remove NATIVE_* types from ComLogger

* Addressing init function usage of NATIVE_ types

* NATIVE_ types from command dispatcher

* NATIVE_ types from ComQueue

* NATIVE_ types from CmdSplitter

* U32 -> FwOpcodeType in CmdDispatcher

* NATIVE_ types in BufferManager

* NATIVE_ types in LinuxTimer

* NATIVE_ types from BufferAccumulator and renabling UT

* NATIVE_ types from TlmChan

* NATIVE_ types from BufferRepeater

* NATIVE_ types from Active/Passive Rate Group

* NATIVE_ types from ComSplitter and ComStub

* NATIVE_ types from ActiveLogger and fixed ActiveRateGroup sdd

* NATIVE_ types from Dp*

* NATIVE_ types from FileManager and ActiveLogger (missed)

* NATIVE_ types from BufferLogger, FileDownlink, StaticMemory

* Deleting UdpSender/UdpReceiver that lack models and build config

* NATIVE_ types from Health

* NATIVE_ types from CmdSequencer

* NATIVE_ types from TlmPacketizer

* Fixing unit test issues

* POINTER_CAST from Svc

* CI fixes

* CI fixes (Linux)

* Fixing Ref/RPI for RG context

* CI (sp)

* Fixing RPI build for time conversions

* CI fixes (RPI)

* Self review comments

* Removing UDP sender/receiver config

* Review recommendations - pt 1
2025-03-17 09:58:56 -07:00
M Starch
53bf4265af
Removing NATIVE_ and POINTER_CAST from FppTest, Utils, cmake, config,… (#3378)
* Removing NATIVE_ and POINTER_CAST from FppTest, Utils, cmake, config, and docs

* Review response - pt 1

* Review comments - pt 2
2025-03-17 09:50:40 -07:00
M Starch
6ddf665cfe
Fixes #3204 by removing NATIVE_ and POINTER_CAST from Drv (#3380)
* Fixes #3204 by removing NATIVE_ and POINTER_CAST from Drv

* Fix CI checks
2025-03-14 16:56:16 -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
Thomas Boyer-Chammard
dcc3436200
Split Deframer into FrameAccumulator, Deframer, and Router (#3250)
* Split Router out of Deframer - initial implementation

* Rename variable to packetBuffer and resolve conversion warnings

* Add test cases for each incoming packet type

* Adjust comments and stuff

* Update Ref topology with Router

* WIP - FrameAccumulator

* Add lightweight deframer

* Working frame detector, accumulator, and fprime packet

* CCSDS implementation and better checksums

* Fixing overly small start word to use SCID as well

* Fixing frame accumulator for new structure

* Minor cleanup to frame detectors

* Add CCSDS Deframers and F´ minimal deframer

* Clean up comments

* Update Ref topology with Accumulator/Deframer/Router

* Update buffer manager

* Upgrade Router.cpp to latest Fw::Logger

* Update RPI deployment to use FrameAccumulator/Router

* Remove CCSDS Deframers

* Add first pass at UTs

* add buffer accumulation testing

* start SDD and rename author

* Fix static analysis warnings and add comments to UTs

* Spelling

* Add FprimeFrameDetector UTs

* Fix CI issue

* Fix test component creation

* Add first pass at SDDs

* Rename FrameAccumulator allocation ports

* Add review comments

* Functional one-off detection

* Fix algorithms and rename Deframer to FprimeDeframer

* Remove file

* Remove templated detectors

* Improve test code

* Rename frame Footer to Trailer, and improve SDDs

* finish renaming footer to trailer and add implementation note

* Fix spelling and CI warning

* Fix test code

* More CI and spelling fixes

* Add back virtual destructor

* appease pedantic warnings

* Fix declaration ordering for safe destruction

* Run formatting and add a few comments

* Add RouterInterface.fppi and use it in Router

* review changes round 1

* Rename Router to FprimeRouter and add test for unconnected unknownDataOut port

* Finish renaming Router -> FprimeRouter

* Use get-target-branch for cookiecutters tests and fix spelling

* fix a few comments, CI warning and formatting

* Update types for compatibility with updated FwSizeType

* Move FprimeProtocol.fpp to Svc/ and update non-compliant UINT types

* Code review recommendations

* Move FrameAccumulator destruction to cleanup() code

* Add frame validation to FprimeDeframer

* Add cleanup() call to test code

* Fix static analysis warnings

* Resolve type warnings and add multiple events in FprimeDeframer

* latest latest v3

---------

Co-authored-by: Michael D Starch <Michael.D.Starch@jpl.nasa.gov>
2025-03-12 16:05:09 -07:00
Rob Bocchino
da11b3a7c5
Improve warning flags in builds (#3319)
* Update fpp version

Add more warnings to FppTest

* Update fpp version

Add warnings to build

* Enable warnings in unit tests

Fix warnings

* Clean up test code

* Update fpp version

Remove workarounds in unit test builds

* Update fpp version

Fix warnings

* Revise DpManager tests

Remove conversion warnings

* Revise DpWriter tests

Remove conversion warnings

* Refactor Hash

Provide a size type to remove dependencies on NATIVE_INT_TYPE,
which is going away.

* Revise top-level CMakeLists.txt

* Fix warnings in Ref

* Fix warnings in Ref, RPI

* Revise warning flags

* Revise code to eliminate warnings

* Revise code to fix warnings

* Revise code to fix warnings

* Revise code to fix warnings

* Revise Serializable.cpp

* Revise Serializable.cpp

* Revise warning flags

* Fix warnings in test code

* Fix warnings

* Fix warnings

* Fix warnings and static analysis errors

* Fix warnings

* Fix warnings

* Fix warnings

* Fix warnings

* Fix warnings

* Turn off -Wshadow for unit tests

* Revise comments

* Fix warnings

* Fix warnings

* Fix warnings

* Fix warnings

* Fix warnings

* Fix warnings

* Fix warnings

* Fix warnings

* Fix warnings

* Enable -Wshadow for main ut builds

* Revise compile options

* Remove commented-out code

* Update STest

Eliminate warnings

* Fix warning

* Fix warnings

* Fix warning

* Fix warning

* Fix warning

* Revise comments

* Revise static cast expression

* Cast return type to void

* Remove unneeded cast

* Fix warnings that appear on the F Prime dev machine

* Fix more warnings

* Enable more warnings

* Update fpp version

* Remove commented-out compiler flags

* Enable warning flag in CmdDispatcher

* Disable -Wconversion in gtest

* Revise compiler warning flags

* Revise compiler options

* Revise compiler flags

* Revise compiler flags

* Revise compiler flags

* Revise compiler flags

* Revise Buffer

* Fix comments

* Fix warning flags

* Fix compiler warning flags

* Fix compiler warnings

* Fix compiler warning flags

* Fix compiler warnings

* Fix compiler warning flags

* Fix compiler warning flags

* Fix compiler warning flags

* Fix compiler warning flags

* Fix compiler warning flags

* Fix compiler warning flags

* Fix compiler warning flags

* Fix compiler warning flags

* Revise compiler warning flags

* Restore deleted test

* Fixing UT_TARGET collision

---------

Co-authored-by: Robert L Bocchino <bocchino@fprime-fsw-0.jpl.nasa.gov>
Co-authored-by: Michael D Starch <Michael.D.Starch@jpl.nasa.gov>
Co-authored-by: M Starch <LeStarch@googlemail.com>
2025-03-12 12:04:43 -07:00
dependabot[bot]
6fe53a86e5
Bump jinja2 from 3.1.5 to 3.1.6 (#3342)
Bumps [jinja2](https://github.com/pallets/jinja) from 3.1.5 to 3.1.6.
- [Release notes](https://github.com/pallets/jinja/releases)
- [Changelog](https://github.com/pallets/jinja/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/jinja/compare/3.1.5...3.1.6)

---
updated-dependencies:
- dependency-name: jinja2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-10 10:07:54 -07:00
M Starch
ec08d43dd3
Removes NATIVE_INT_TYPE, NATIVE_UINT_TYPE, and POINTER_CAST from Fw (#3286)
* NATIVE_INT_TYPE use in toString

* NATIVE_INT_TYPE use in SimpleObjRegistry

* NATIVE_INT_TYPE use in Asserts

* NATIVE_INT_TYPE use in Fw/Comp

* NATIVE_INT_TYPE use in getCapacity

* NATIVE_INT_TYPE use in getEntries

* NATIVE_INT_TYPE use in size/length

* NATIVE_INT_TYPE use in FILE_NAME_ARG

* NATIVE_INT_TYPE use in Fw (misc)

* NATIVE_INT_TYPE use in identifier

* NATIVE_INT_TYPE use in Fw (misc II)

* POINTER_CAST in Buffer

* POINTER_CAST in Serializable

* sp

* Removing no longer used DefaultTypes.hpp

* Fixes to accomidate Fw refactor

* Unit-test and CI fixes

* Fixing review comments - pt 1
2025-03-04 14:42:48 -08:00
M Starch
83d5448389
Improve clarity in ROSES Discussions template (#3297)
* Adding hyphen

* More forme updates
2025-02-28 15:35:14 -08:00
M Starch
e11c075958
Fix ROSES Discussions template (#3296)
* Fixing template for pattern request

* Adding hyphen
2025-02-28 15:29:57 -08:00
M Starch
b96f6b1c0e
Fix template for ROSES pattern request (#3295) 2025-02-28 15:25:43 -08:00
M Starch
d74cc84347
Rename PATTERN-SUGGESTION.yml to pattern_request.yml (#3294) 2025-02-28 15:06:51 -08:00
Justine West
e13d0303b1
Add final to component impl classes (#3292) 2025-02-28 15:05:15 -08:00
M Starch
51bcbaafde
Draft of ROSES pattern form (#3291)
* Draft of ROSES pattern form

* Fix typo and add link

---------

Co-authored-by: Thomas Boyer-Chammard <49786685+thomas-bc@users.noreply.github.com>
2025-02-28 14:53:32 -08:00
Cel Skeggs
b7d74db30d
Improve error checking in mutex stub (#3167)
* Improve error checking in mutex stub

The default mutex stub is intended to be usable on any platform,
even platforms that do not have threads and cannot block. This stub is
inappropriate for applications that need to contend over mutexes.
However, if inadvertently used in applications in a way that would
result in mutex contention, they would silently allow incorrect and
dangerous behavior. (Notably, they allowed multiple threads to enter the
same critical section.)

The new implementation still works on all platforms, and never blocks.
However, it ensures that only one thread enters each critical section at
a time. Attempting to acquire a mutex that is already taken will result
in a failure to acquire the mutex, and likely an assertion. Because this
should only occur in the case of a coding defect, this is an improvement
over the previous implementation.

* Note mutex identity in lock/unlock status assert

When a mutex fails to be taken or released, and it causes an assertion
to trip, this change makes sure that enough information is provided to
uniquely identify which mutex was at fault.

* Fix assertion cast argument types to be generic
2025-02-27 17:27:27 -08: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
Cel Skeggs
ff5b64daff
Add new Fw.Ready port for coordinating startup (#3261) 2025-02-27 11:12:14 -08:00
Thomas Boyer-Chammard
ed0eb98868
Update fprime-examples CI to use nasa repo (#3284)
* Update fprime-examples CI to use nasa repo

* Add `-j8` to project-builder workflow
2025-02-27 11:05:51 -08:00
kevin-f-ortega
a7f9bc7460
Add NOT_SUPPORTED to OS' statues (#3281)
* adding not-supported status because sometimes it's useful to report not supported

* updating shadow enums to match actual enum
2025-02-26 15:42:40 -08:00
M Starch
d25775f7b2
Updates calculateCrc documentation for file pointer (#3279) 2025-02-26 11:58:43 -08:00
M Starch
67976f01c1
Fix depend-a-bot vulnerabilities (#3271) 2025-02-25 17:42:47 -08:00
Thomas Boyer-Chammard
847e4e3781
Add CI check for fprime-examples repo (#3234)
* Add fprime-examples repo to CI

* Rename other workflows for consistency

* Rename more CI workflows

* Add correct F´ location

* Address review comments

* Revert to External Repo (External Build might suggest the build process is external)
2025-02-25 16:51:27 -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
kevin-f-ortega
1d90e02135
removing priority for now in order to avoid incorrect message order when using pseudo-priority queues. (#3268) 2025-02-25 16:45:27 -08:00
M Starch
d11d85c121
Adding fpp-to-layout now that base is fixed (#3270) 2025-02-25 16:45:13 -08:00
M Starch
cab2fb4f02
Fixing fprime-tools to v3.6.1 hotsting release (#3269) 2025-02-25 16:01:49 -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
M Starch
414f04aff4
Applying GDS Hotfix v3.6.1 (#3265) 2025-02-25 13:21:00 -08:00
M Starch
7c9cba4631
Adding health checking pattern documentation (#3228)
* Adding health checking pattern documentation

* Fixing [!NOTE]

* Review suggestions
2025-02-24 15:26:01 -08:00
Cel Skeggs
df260a2d1e
Improve BufferManager assertion context args (#3223)
* Improve BufferManager assertion context args

Previously, in some cases, no information or context was provided when
this assertion tripped, which made it harder to identify the cause.
Include more information in several cases.

* Fix assertion argument cast to be generic

* Adding casts for explicit conversion

---------

Co-authored-by: M Starch <LeStarch@googlemail.com>
2025-02-24 14:51:45 -08:00
M Starch
172c7a0643
Adding manager-worker pattern documentation (#3227)
* Adding manager-worker pattern documentation

* Fixing [!NOTE]

* Reworking for review suggestions

* Review fixes
2025-02-24 13:41:50 -08:00
Cel Skeggs
416466b3ad
Remove include of internal glibc header (#3248)
This header does not exist on musl because it is not a standard header.
2025-02-24 13:08:12 -08:00
M Starch
34a4e2c96d
NUM_PORTS -> FwIndexType (#3239) 2025-02-14 15:08:48 -08:00
M Starch
1308b29e2d
Fixing UT constants to use correct types (#3237) 2025-02-14 13:58:45 -08:00
M Starch
fa9a3d7958
Converting NATIVE_INT_TYPE in assert casts (#3238) 2025-02-14 13:56:43 -08:00
M Starch
a5c853b9cf
NATIVE_INT_TYPE portNum to FwIndexType portNum (#3236) 2025-02-14 12:25:12 -08:00