* Set the Name of Fprime Tasks on Linux
* prefix thread name w/ process name
* Revert "prefix thread name w/ process name"
This reverts commit 5867602f135c69022469c985b6de13458686e6a2.
* Add `setname` to spelling expected list
* Format My Changes
* Add in opt-out configuration
* Enable POSIX_THREADS_ENABLE_NAMES and fix ut
* Remove warning when flag set off
* UT thread names
* Add tmate session setup to build workflow
* Disable thread names on Ip UTs
* Use random thread ids in UTs
* Fix race condition
* Fix improper string set
---------
Co-authored-by: M Starch <LeStarch@googlemail.com>
Co-authored-by: Michael D Starch <Michael.D.Starch@jpl.nasa.gov>
* Add guide for developing device drivers in F Prime
* Add develop-device-driver.md
* Update device driver docs
* small fixes
* Polish things up
* more polishing
* spelling and link fixes
* Address review comments
* Mark SwAssert declarations as noinline
Without this change, a compiler using LTO may inline the zeros that are
inserted as additional parameters for the call to defaultSwAssert. This
increases code size to optimize for the off-nominal condition where an
assertion is tripped.
In my testing, this single change reduces my largest deployment's
code size by 11%.
* Add 'noinline' to dictionary
* Update Fw/Types/Assert.hpp
Co-authored-by: Rob Bocchino <bocchino@icloud.com>
---------
Co-authored-by: M Starch <LeStarch@googlemail.com>
Co-authored-by: Rob Bocchino <bocchino@icloud.com>
* Make GenericHub EXCLUDE_FROM_ALL
* Add a build stage for Svc_GenericHub
CppCheck requires every target to be built.
* sp
---------
Co-authored-by: Thomas Boyer-Chammard <49786685+thomas-bc@users.noreply.github.com>
* Initial open source review of active phaser
* Start working on ActivePhaser's FPP model
* Add ActivePhaser implementation
* Start working on unit tests
* Fill in test logic
* Add comments
* Guard against writing outside of container
* Add comment
* Update comments
* Fix comment on overflow
* Comment on the use of actual_start and others
* Add comments and max connection count
* Add comments
* Phaser updates
* Add telemetry channels
* Update comments, fix FPP, update API calls in tester
* Apply formatter
* Minor comment change
* Fix spelling
* First draft of SDD
* Revert "Add telemetry channels"
This reverts commit 1690e51e125477d032e07fa8cd3882d6db2b8b3b.
* PRIVATE -> private
* Add friend class declaration for ActivePhaserTester
* Fix FIXMEs where possible
* Formatting
* Fix minor UT issues
* Remove (void)
---------
Co-authored-by: ZIIIKT <shaokail@jpl.nasa.gov>
Co-authored-by: M Starch <LeStarch@googlemail.com>
Co-authored-by: Michael D Starch <Michael.D.Starch@jpl.nasa.gov>
* Enhancement: Added file size and subdirectory support to FileManager directory listing feature
* Refactor to directory listing feature using rategroup 2 component
* Spelling fixes to expect.txt, config feilds for schedin call, fixes on comments/types
* Fix for spellcheck
* Replace fixed size with FileNameStringSize for commands
* Fix minor nits
* Formatting
* Remove fileManager instance, use FileHandling.fileManager
* Fix review feedback
---------
Co-authored-by: M Starch <LeStarch@googlemail.com>
* Add FPP state machine How-To
* Fix state definitions in state diagram for newlines
* sp
Clarified wording regarding state transitions in the documentation.
* Missing `.`
Co-authored-by: Rob Bocchino <bocchino@icloud.com>
* Review updates
* Update links in define-state-machines.md
* sp
---------
Co-authored-by: Rob Bocchino <bocchino@icloud.com>
* improved step to contribute back
* added delivery date for targeted platforms
* added tbd since we are not sure at the moment
* fixed column data
* updating list of supported targets. This reflects how F Prime runs on these hardware with zephyr.
* alphabetized list and added link for freertos
* fix spelling
* rename Apple M* to Apple Silicon
---------
Co-authored-by: Thomas Boyer-Chammard <49786685+thomas-bc@users.noreply.github.com>
* Some work towards stack based arch
* Bring fp/int conv up to date
* Get compiling with stack based arch
* Start trying to fix UTs
* Start adding store/load dirs
* Add push val dir
* UTs are running
* UTs passing
* Make exit stack based
* Fix more uts
* Fix final UTs
* sp
* Fix overflow potential err
* Fix another overflow
* same error fix
* Format
* Also add to format checker
* Add math directives
* Add integer extension and truncation
* Also check correct size on stack
* Fix comment
* Push cmd response to stack
* Cast cmd response code to i32
* Add stack cmd, memcmp, discard dirs
* Fix some bugs with stack cmd
* Fix lil bug in sgtack cmd
* same bug
* Fix another bug sry
* Update sdd
* sp
* Fix undefined behavior with bitshift of signed integer
* sp
* Fix lil bug in timeout detection of stack cmd
* Switch format check to do all Svc dirs
* Reformat, and fix packet descriptor serialize bug
* Add UTs for all of arith ops
* Add tests for disc, memcmp, stack cmd
* Add deser tests for those three dirs
* sp
* Format
* Replace magic numbers with sizeofs
* Add currentStatementIdx helper function
* Format
* Split imod into smod and umod
* sp
* Add fmod, copy python behavior for fmod and smod
---------
Co-authored-by: Zimri Leisher <zimri.leisher@fireflyspace.com>
* Some work towards stack based arch
* Bring fp/int conv up to date
* Get compiling with stack based arch
* Start trying to fix UTs
* Start adding store/load dirs
* Add push val dir
* UTs are running
* UTs passing
* Make exit stack based
* Fix more uts
* Fix final UTs
* sp
* Fix overflow potential err
* Fix another overflow
* same error fix
* Update sdd
* sp
* Fix undefined behavior with bitshift of signed integer
* sp
---------
Co-authored-by: Zimri Leisher <zimri.leisher@fireflyspace.com>
* fixing error #3897
* Generative AI documentation added
* Update GENERATIVE_AI.md
* Update GENERATIVE_AI.md
* Update pull_request_template.md
resolving comments
* Update OsTime.cpp
resolving comment
* updating expect.txt to have "GPT"
* Update GENERATIVE_AI.md
Co-authored-by: Rob Bocchino <bocchino@icloud.com>
* Fix relative link and display
* updates to GENERATIVE_AI.md
* Fix merge
* Update GENERATIVE_AI.md
* Update cross-compilation.md
* reverting back to AI b/c branch confusion
* updating disclosure and file name
* Update to current in fprime devel
* Fix relative link and display
---------
Co-authored-by: M Starch <LeStarch@googlemail.com>
Co-authored-by: Rob Bocchino <bocchino@icloud.com>
Co-authored-by: Thomas Boyer-Chammard <49786685+thomas-bc@users.noreply.github.com>
* Bump GDS to latest release
Fixes#3963
* Set LEDBlinker to FPrime Framing
* Set Rasbperry Pi Integration Test Framer
* Remove spurious 'g'
---------
Co-authored-by: M Starch <LeStarch@googlemail.com>
* Modify Com/Ccsds/Fprime ComDriverConfig & TopologyDefs for easier ComDriver config
* Fix BaseID collision
* Removed restrict platform, UART/TCP driver configs different files, CMake switch depending on FPRIME_HAS_SOCKETS
* Add Exclude_FROM_ALL to all subtopology cmake modules
* remove exclude from ComCcsds (needed for Ref)
* Remove exclude from all for testing
* Exclude_from_all only on comLoggerTee, comFprime (not used in Ref)
* Added Svc_Subtopologies target
* Use add_custom_target, spelling fix
* Add Configs to Svc_Subtopologies target
* Removed comDriver as instance within subtopologies, now within project topology
* Take out cmdSeq from ComSubtopologies, put in FileHandling
* Added Subtopology States for all, common pattern users can follow
* Fix Extra newline
* Moved Phased comDriver code into RefTopology.cpp
* Update metadata
check-spelling run (pull_request_target) for subtopology-config-phasing-updates
Signed-off-by: check-spelling-bot <check-spelling-bot@users.noreply.github.com>
on-behalf-of: @check-spelling <check-spelling-bot@check-spelling.dev>
* Fixed call to default stack size
* Moved cmdSeq from FileHandling subtopology to Ref Root Topology
* Fix integration test
* Remove unneeded Os includes in RefTopology.cpp
* Fix BaseIds
* Add comment for BaseIDs, comDriver configuration order fix
* Restructure of enums within Com Subtopologies
* Correct include for ComCcsds enum headers
* Using namespace syntax change
* Fix BaseIds
* Update metadata
check-spelling run (pull_request_target) for subtopology-config-phasing-updates
Signed-off-by: check-spelling-bot <check-spelling-bot@users.noreply.github.com>
on-behalf-of: @check-spelling <check-spelling-bot@check-spelling.dev>
* Remove unneeded Dependency
* Add enum at the top
* Fix RefTopology.cpp
* Update Comment
---------
Signed-off-by: check-spelling-bot <check-spelling-bot@users.noreply.github.com>
Co-authored-by: Moises Mata <moisesmata@users.noreply.github.com>
* Add FppTestProject level
* Fix FPP Test Project UT errors
* Add back in FppTest deployment & make empty main in source.cpp
* Remove Wold-style-cast to see if that fixes CI issues
* Update add_compile_options
---------
Co-authored-by: M Starch <LeStarch@googlemail.com>
* Added ComLogTSplit subtopology, compiles but needs testing within a larger topology
* Added ComLogTSplit Subtopology
- Takes com in from tlm send and uses a com splitter to split between comQueue and comLogger
- Uses the instance format, will be compatible with fprime-util new --subtopology-instance in fprime-tools update
* Update metadata
check-spelling run (push) for add-com-logger-subtopology
Signed-off-by: check-spelling-bot <check-spelling-bot@users.noreply.github.com>
on-behalf-of: @check-spelling <check-spelling-bot@check-spelling.dev>
* Syntax fixes to include and add_fprime_subdirectory
* Remove uneeded base address in config
* Fix BaseID clashes
* Fix ComLogTSplit PingEntries Namespace
* Update metadata
check-spelling run (pull_request_target) for add-com-logger-subtopology
Signed-off-by: check-spelling-bot <check-spelling-bot@users.noreply.github.com>
on-behalf-of: @check-spelling <check-spelling-bot@check-spelling.dev>
* Removed un-needed mallocator include in RefTopology.cpp
* Update BASE_IDS in Ref, Subtopologies. ComLogTSplit -> ComLoggerTee
* Update metadata
check-spelling run (pull_request_target) for add-com-logger-subtopology
Signed-off-by: check-spelling-bot <check-spelling-bot@users.noreply.github.com>
on-behalf-of: @check-spelling <check-spelling-bot@check-spelling.dev>
* Removed unneeded headers is RefTopologyDefs.hpp
* ComFprime fix: subtopology state references and configObjects phased code
* Queue size bigger in ComFprime
* Add missing tearDownComponents phase to comQueue(comFprime) component in ComFprime.
---------
Signed-off-by: check-spelling-bot <check-spelling-bot@users.noreply.github.com>
Co-authored-by: Moises Mata <moisesmata@users.noreply.github.com>
* Add fptoi and itofp dirs
* Fix F32 literal
* Add some file read stage telemetry to err msgs
* Update default register count to 128
* Fix NOT directive to behave properly with if
* Make fptoi and itofp signed/unsigned
* fix warning
* Fix another warning
* Fix sp
* Add fpext, fptrunc, combine with not into unary op, tests pass
* Some UTs, switch to using memcpy
* Add UTs for all binary and unary ops
* Some more UTs
* sp
---------
Co-authored-by: Zimri Leisher <zimri.leisher@fireflyspace.com>
Co-authored-by: M Starch <LeStarch@googlemail.com>
* Update Fw/Time/TimeInterval to use an FPP struct
* Spelling; add TimeInterval UTs; remove UT-only stdout << method which is autocoded now for TimeInterval
* Add TimeInterval sub tests
* Re-factor tests into TestMain/Tester format files, separating Time and TimeInterval
* Add TimeIntervalTester as friend, for consistency
* Address build errors
* Update fpp comments
* Update TimeInterval to use FPP struct as underlying member variable type, only
* Upate CMake for build errors
* Add a little work on fp cmps
* Lil more work on fp cmp
* Finish flt stuff, add UT
* sp
* Much cleaner binary cmps
* Add final UTs
* sp
---------
Co-authored-by: Zimri Leisher <zimri.leisher@fireflyspace.com>
Co-authored-by: M Starch <LeStarch@googlemail.com>
* Added led-blinker workflow for aarch64-linux platform
* Update runner label
* Added Tags to RPI self hosted workflows, sparse-checkout-cone-mode false
* Add subtopologies to Svc/ restructing of Ref to include CDH subtopology
* CDHCore Subtopology added under Svc and integrated into Ref
* Health instance within CDHCore references CDHCoreConfig for queue size
* Update metadata
check-spelling run (push) for add-subtopologies
Signed-off-by: check-spelling-bot <check-spelling-bot@users.noreply.github.com>
on-behalf-of: @check-spelling <check-spelling-bot@check-spelling.dev>
* Added AssertFatalAdapter Version PassiveTextLogger to Subtopology, config clarity improvements
* Comms subtopology without cmdSeq created, integrated in Ref
* Added cmdSeq to Comms Subtopology, integrated into Ref
* Add FileHandling Subtopology, initial structure
* Fixed Spelling, Flie -> File
* Update metadata
check-spelling run (push) for add-subtopologies
Signed-off-by: check-spelling-bot <check-spelling-bot@users.noreply.github.com>
on-behalf-of: @check-spelling <check-spelling-bot@check-spelling.dev>
* Added working FileHandling, DataProducts subtopology, integrated into Ref
* prmDb part of FileHandling, fatalHandler part of CDHCore
* Update metadata
check-spelling run (push) for add-subtopologies
Signed-off-by: check-spelling-bot <check-spelling-bot@users.noreply.github.com>
on-behalf-of: @check-spelling <check-spelling-bot@check-spelling.dev>
* Update comment for clarity
* Initial move to phasing components
* Fixing Phasing: Adding initial Phasing for CDHCore, DataProducts, FileHandling
* Renaming topologydefs.hpp, phasing fully working on all four subtopologies, needs cleaning up
* Cleanup with Ports_ComPacketQueue, definition only in Comms.fpp now
* Base project with all 4 subtopologies, integrated into Ref, and passing CI
* Initial Commit with all Subtopologies in Svc/Subtopologies
* Added posixtime back in to Ref Deployment (Accidentally Deleted)
* Updates to match new subtopology structure, integrate CCSDS into Ref
* Changes to CommCCSDS that go with last changes
* Standardize subtopology structure and naming to PascalCase
* Namespace fixe for ComFprime
* CDHCore->Cdhcore for consistency
* Rename CDHCore to CdhCore for consistency
* Update metadata
check-spelling run (pull_request_target) for add-subtopologies
Signed-off-by: check-spelling-bot <check-spelling-bot@users.noreply.github.com>
on-behalf-of: @check-spelling <check-spelling-bot@check-spelling.dev>
* Reorder on teardown phases for Com Subtopolgies
* Cpp check style fix
* Fix: Add missing tearDownComponents cleanup for DataProducts dpBufferManager
* Delete old comments, test using same mallocator for all subtopologies
* fix: Deallocated DataProducts BufferMgr
* Fix DataProducts subtopology memory cleanup
* Fix: Dataproducts subtopology teardown order
* Added tearDownComponents(state)
* Consolidate all cleanup to teardowncomponents
* Fix memory leaks: restore teardown phases
* Removal of redundant teardowncomponents()
* Revert "Removal of redundant teardowncomponents()"
This reverts commit 29d4ff8242574f1afc1bb6aacdf5cfef4d79987d.
* Fix formatting, remove commented out code
* Swap hardcoded numbers to config constants in subtopologies
* register_fprime_config() in config modules, isolated ComDriver into a separate config fpp file
* Added explicit CMake Module Names and Depends between Subtopologies and their Configs
* Fixed CCSDS case, more config constants
* Added explicit depends for each subtopology config
* added mallocator config, subtopology state structure
* Update subtopology config names for clarity, fixes#3571
* Fix reference to dpBuffer config Constants
---------
Signed-off-by: check-spelling-bot <check-spelling-bot@users.noreply.github.com>
Co-authored-by: Moises Mata <moisesmata@users.noreply.github.com>
* Start combining dirs and cmd
* Much closer to combining dir and cmd
* Finish making cmds work
* Add directive error codes, fix UT
* Add deser lvar directive
* Add comparison operators
* Add unsigned/signed inequality ops
* Rename store to setreg
* First UT with a binary comparison op!
* Remove printfs
* Doc commnt
* Add and/not, and/or under binary cmp
* Fix a couple bugs in sequencer
* Add exit directive'
* Make exit actually end sequence if positive
* A little more work on UTS
* Fix UTs
* Add deser lvar UT
* Add exit, not, set reg, and binary cmp UTs
* Rename lvar to sreg
* Get the last few old refs to lvar
* sp
* Fix typo
* Fix typo
---------
Co-authored-by: Zimri Leisher <zimri.leisher@fireflyspace.com>
Co-authored-by: M Starch <LeStarch@googlemail.com>