30 Commits

Author SHA1 Message Date
Ian Brault
2b65cc83cf
Add new Fw::ConstStringBase type for strings backed by immutable string literals (#4269)
* Add new Fw::StringBase type StaticString for strings backed my immutable literals

* Spellcheck fix

* Add disclaimer comment about use of StaticString

* Refactor the StringBase interface into an immutable ConstStringBase abstract base class and the now mutable StringBase class

* Rename StaticString to ConstExternalString and inherit from ConstStringBase

* Fix typo

* Change references from StringBase to ConstStringBase where applicable

* Updates following review meeting: add missing deserialize function and add new error status, move length function implementation into ConstStringBase so it is not pure virtual

* Clang format fix

* Additional clang-format fixes

* Fix the copy-assignment operator for StringBase not being correctly evaluated

* Clang format fix

* Explicitly delete the Serializable assignment operator and provide a skeleton implementation for RawTimeInterface to appease the compiler

* Revert "Explicitly delete the Serializable assignment operator and provide a skeleton implementation for RawTimeInterface to appease the compiler"

This reverts commit 086d7bcd3ca9c4f6e553d7fc34d0d126a69a165b.

* Move ConstStringBase to separate hpp/cpp files, plus other pull request feedback

* Clang format fix

* Update length implementation for ConstStringBase and ConstExternalString

* Improved asserts in ConstExternalString constructor

Co-authored-by: Rob Bocchino <bocchino@icloud.com>

* Fixed ConstStringBase length implementation

Co-authored-by: Rob Bocchino <bocchino@icloud.com>

* Clang format fix

* Add some UTs for ConstExternalString, fix non-overridden interfaces, and fix ConstStringBase::maxLength asserting for zero capacity strings

* Spell-check fix for ConstExternalString UTs

* Revise length implementation in ConstStringBase

If the capacity is zero, return zero

* Format

---------

Co-authored-by: Ian Brault <ian.r.brault@jpl.nasa.gov>
Co-authored-by: Rob Bocchino <bocchino@icloud.com>
Co-authored-by: Rob Bocchino <bocchino@jpl.nasa.gov>
Co-authored-by: M Starch <LeStarch@googlemail.com>
2025-11-07 09:50:05 -08:00
Philip Romano
bf12f48c27
Adjust task priorities to fit within supported platform priority ranges (#4337)
* Adjust task priorities to fit in supported platforms' priority ranges

Darwin's task priority range is most restrictive (15-47); adjusted priorities
to reside within that range.

* Add comment clarifying TASK_PRIORITY_DEFAULT and TASK_DEFAULT

* Adjust relative task priorities for uplink and downlink

This moves uplink tasks to higher priority than downlink tasks and places
consumer tasks at higher priority than producer tasks.
2025-10-22 15:46:05 -07:00
Thomas Boyer-Chammard
578e61f1da
Format Os Module (#3959)
* Format Os module

* Add Os to format-check CI

* Remove double semi-colon
2025-07-31 15:40:30 -07:00
Mishaal
ec1544933d
PRVIATE -> private for Os/Task.hpp (#3752) 2025-06-17 16:24:12 -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
Mishaal
eea6aca8fa
Switch the type of the Task priority to FwTaskPriorityType (#3617)
* Change the type of the Task priority to FwTaskPriorityType

* Fix missed UT arg update

---------

Co-authored-by: Mishaal Aleem <aleem@fprime-fsw-0.jpl.nasa.gov>
Co-authored-by: Rob Bocchino <bocchino@jpl.nasa.gov>
2025-05-21 14:24:49 -07:00
M Starch
0659f0940b
Refactored type organization (#3422)
* Refactored type organization

* Creating better configuration/types header hierarchy

* Replace FpConfig type aliases with FPP generated aliases

* Add the aliases to the FPP model

* Config + Type Aliases builds

* Renamed Fw/Types.h,hpp to Fw/FPrimeBasicTypes.h,hpp

* Updating to FPP-a7

* Adding newline

* sp

* Fixing minor nit from review

* Spurious ;

---------

Co-authored-by: Andrei Tumbar <andrei.tumbar@jpl.nasa.gov>
2025-04-03 12:11:36 -07: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
Josh Soref
5be3b19881
Check spelling 0.0.24 (#3051)
* Change line endings

* link: Checklist

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* link: described in detail

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* link: F´ key features

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* link: `Fw::Buffer` documentation is available

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* link: installing cmake command line tools on a mac

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* link: Svc.StaticMemory is described in more detail

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* link: testing_fw/predicates.py

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* link: the source code

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: a

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: adhered

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: cannot

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: case-sensitive

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: deployment

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: filter events based on event severity

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: its

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: nonexistent

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: prepending

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: products

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: schema

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: stressful

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: the

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: valued

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* Add check-spelling

---------

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2024-12-17 10:02:50 -08:00
M Starch
40583c1480
Add priority to Os::Task (#2984) 2024-10-24 17:44:43 -07:00
M Starch
c548b53a93
Making Os::Task::delay use the singleton pattern (#2954)
* Making Os::Task::delay use the singleton pattern

* Add Os::Task::init call to Os::init

---------

Co-authored-by: thomas-bc <49786685+thomas-bc@users.noreply.github.com>
2024-10-16 11:11:04 -07:00
Thomas Boyer-Chammard
564cb5773b
Add Os::RawTime OSAL implementation, refactor Os::IntervalTimer (#2923)
* Add Os::RawTime and preliminary rule-based tests

* Implement Stubs and stub tests tests + misc improvements

* Update delay functions to use Fw::TimeInterval instead of Fw::Time

* Replace TimerVal with Os::RawTime FPP type, SERIALIZED_SIZE fixed to 2*sizeof(U32)

* Fix spelling and legacy code

* Fix test import

* Remove TimerVal files and misc clean up

* Add Fw/Time as dependency of Os module

* Fix include guards

* Fix default constructors and missing getHandle stub

* Add Handle and Serialization size to FpConfig, refactor interface for less vtable calls, refactor IntervalTimer

* Fixes for new OS CMake API

* Add RawTime FPP Model

* Rename getRawTime to now(), better error handling, added docs for all functions

* Correct handle size, spelling, and more robust test IntervalTimer test

* Peer review changes

* Move `Os.RawTime` to `Os/Types.fpp`

* Fix unused variable

* Fix spelling and comments

* spelling extravaganza

* Update metadata

check-spelling run (pull_request_target) for os-interval-timer

Signed-off-by: check-spelling-bot <check-spelling-bot@users.noreply.github.com>
on-behalf-of: @check-spelling <check-spelling-bot@check-spelling.dev>

* Reference based approach to minuend and subtrahend

---------

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>
Co-authored-by: M Starch <LeStarch@googlemail.com>
2024-10-14 10:06:45 -07:00
M Starch
f62ade55ca
OSAL clean-up (#2933)
* OSAL clean-up

* Adding comments to file

* Regressing ubuntu-latest to ubuntu-22.04

* Fixing 24.0.4 santizer bug

* Fixing regression in cmd sequencer

* Fixing other cleanups
2024-10-09 17:55:41 -07:00
M Starch
d034786bc6
Refactor Os::Queue into CMake selection (#2895)
* Initial interface tests

* Initial working rules tests

* Moving MaxHeap to Types; Fixing minor bugs

* Basic ConditionVariables, Queue blocking, and UTs

* Queue updates for Ref

* Queue build all WIP

* UTs compile

* Passing UTs

* Removing unupdated linux queue implementations

* Fixing linux specific build issues

* Fixing task regression

* Fixing queue test memory leak

* Spelling, comments, formating, and todos

* Condition variable tests

* Minor edits from review

* Condition variable interface tests, fixes

* sp

* ci fixes

* Minor condition variable fix

* Fixing post merge issues

* Final review fixes

* Fixing FS stubs

* Fixing max heap failures

* Linux fixes

* Fixing issues w.r.t. CI
2024-09-30 12:42:50 -07:00
M Starch
640cf44c80
Os task refactor issue 2526 (#2672)
* Task refactor WIP -- compiles, but does not link

* Adding isCooperative method - WIP

* more WIP

* Initial Os::Posix::Task implementaion

* Adding makeDelegate functions; Fixing existing UTs

* Touching up comments

* Fixing Linux issues

* Adding type_traits import

* Removing TaskId and reworking handle storage

* Do not need to assert that a reference is not nullptr; compiler will get angry

* Starting UT development

* Start test works

* Working start and join rules; random test

* Adding state, delay, and count tests

* Adding stub interface tests

* sp

* Registry tests

* Fixing UTs

* Fixing PTHREAD_MIN_STACK for linux

* Missing newlines

* Fixing GPIO driver's task

* More build fixes

* Fixes for CI

* Correcting errors in GNU only code

* Fixing review comments

* Fixing sp

* Fixing RPI (again)

* Removing divergent open rules from interface testing. Fixes #2733

* Fixing review comments

---------

Co-authored-by: Kevin F. Ortega <kevin.f.ortega@jpl.nasa.gov>
2024-05-22 16:38:18 -07:00
Rob Bocchino
c02f35145e
Remove FPP dependencies on native int types (#2548)
* Remove FPP dependencies on native int types

* Revise FpConfig

* Fix errors in FpConfig

* Revise types

Add size type alias to Serializable
Remove type aliases for generated code
2024-03-04 19:34:23 -08:00
M Starch
b76d8c9a0c
Update/types refactor as constants (#1623)
* lestarch: adding logical types implementation into Linux/StandardTypes.hpp

* lestarch: removing VxWorks StandardTypes from repository

* updated fprime types for correct compilation with vxworks and baremetal

* lestarch: refactoring types and configuration header w.r.t type design

* lestarch: replacing usages of AssertArg with FwAssertArgType

* lestarch: missspelled configuration

* lestarch: minor compilation fixes

* lestarch: renaming StandardTypes.hpp -> PlatformTypes.hpp

* lestarch: updating PRI tokens

* lestarch: replacing BasicTypes.hpp includes with FpConfig.hpp

* lestarch: UT and compilation fixes for types refactor

* lestarch: sp

* lestarch: fixing RPI issues in PassiveConsoleTextLogger

* lestarch: converting RPI build to debug

* lestarch: removing duplicate config imports

* lestarch: fixing documentation

* lestarch: fixing up multiple definitions and RPI compilation problems

* lestarch: reverting debug build

* lestarch: reverting platform types to class-based constants

* lestarch: reworking basic types

* lestarch: configured types refactor into classes

* lestarch: fixing bugs with static constants in classes

* lestarch: fixing platform types spelling and documentation

* lestarch: adding include guards to types headers

Co-authored-by: Kevin F Ortega <kevin.f.ortega@jpl.nasa.gov>
2022-08-18 13:25:56 -07:00
gjwatney
2bc465885e
Add warning flags and fix warnings (#1111)
* Add warning flags and fix warnings

* lestarch: cleaning up task fixes, fixing spelling warnings

* lestarch: removing dump unused variable

Co-authored-by: Watney <garth.j.watney@jpl.nasa.gov>
Co-authored-by: M Starch <LeStarch@googlemail.com>
2021-11-17 08:49:33 -08:00
M Starch
c263a81132 mstarch: merging devel into v3.0.0 2021-10-04 18:19:29 -07:00
M Starch
a08dd11292
lestarch: reworking posix tasks (#992)
* lestarch: reworking posix tasks

* lestarch: correcting macOS issues; using deprecate instead of logger warnings

* lestarch: cleaning up task rework

* lestarch: fixing .start in UTs, docs, templates

* lestarch: cleaning-up non-default driver start calls

* lestarch: fixing stubbed implementation signature

* lestarch: moving reconnect up in order of args to socket read task
2021-09-16 15:33:47 -07:00
Joshua Anderson
1b9c785ce6
Remove void from parameterless functions (#811) 2021-07-14 12:54:01 -07:00
Joshua Anderson
48d355a0b1 Wrap raw task routine with an platform specific wrapper 2021-06-19 13:58:09 -07:00
Josh Soref
dcc47d5b87 spelling: identifier
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
2021-03-07 14:48:30 -05:00
Michael D Starch
02fa437829 mstarch: moving configuration files to a specified place 2020-07-13 14:35:02 -07:00
Aadil Rizvi
13d8e2b75c Bug fixes for Os layer and Fw::FilePacket 2020-06-11 15:23:27 -07:00
Celeste
f422a40cad added getOsIdentifier to Task.cpp Posix 2020-06-02 17:23:11 -04:00
M Starch
4825c5f100 lestarch: latest F prime merge 2019-09-11 08:51:25 -07:00
M Starch
3c616410d2 lestarch: adding baremetal thread scheduler 2019-03-02 01:05:54 -08:00
Timothy Canham
84afa1b95e Merge Autocoder/framework/Gse fixes from helicopter 2019-02-27 10:56:36 -08:00
Timothy Canham
6d9c4c2d06 Initial check-in 2017-06-16 08:25:38 -07:00