* 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>
* 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.
* 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>
* 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>
* 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>
* 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>
* 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>
* 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