* 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>
* Add FwBaseIdType, updates ActiveLogger, CmdDispatcher, TlmPacketizer to use Fw types, update unit tests
* Update unit tests, rename FwBaseIdType to FwIdType
* Cleanup
* Change type of sizeOfZeros
* Add FwIdType to TestConfigDeployment overriden config
* Add annotation
* Update Ref linuxTimer base id
* 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
* 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
* Add sequence dispatcher component
* Add seq start port to cmd sequencer
* Update author names and some include paths
* Get fully compiling, move consts/enums to correct places, check for connections on init
* Add spelling exceptions
* Get unit tests almost compiling...
* Fix string type in port, call component init in test
* Fix unit test compilation errors and assertions
* Switch back to using StringBase
* Switch to FwIndexType, remove textLogIn
* UpperCamel events, add warning for unexpected seq start
* remove init method, add check for connected to getNextAvailableIdx
* Update sdd, change event from low to high, static cast a portnum
* Add state diagram, add more warnings, fix wrong header types, use assert instead of warning for runSeq
---------
Co-authored-by: Zimri Leisher <zimri.leisher@fireflyspace.com>
Instead of adding the name argument to a constructor when FW_OBJECT_NAMES
is enabled, always supply a name argument.
Add a marco that conditionally sets the name to "" if FW_OBJECT_NAMES is not set.
This cleans up a lot of the conditional compilation switches that weren't being tested
and would silently break, while still stripping the strings from the binary.
Refactor command sequencer into generic and format-specific parts
Add support for AMPCS format
Revise unit tests to support multiple formats
Add AMPCS tests