* 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>
* 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>
* changing SIGSEGV for SIGABRT to remove segfault without core dump
* Update FatalHandlerComponentLinuxImpl.cpp
Remove reference to seg fault from diagnostic output.
Co-authored-by: Rob Bocchino <bocchino@icloud.com>
* Experimental PPC build
* VxWorks/GCC 4.3.3 compile backfixes
* Changed using to typedef for older gcc
* Added fp_compat.hpp header and commented code back in
* Reverted vxworks experimental changes
* Removed vxworks submodule
* Some other reversions
* Spelling
* Update fp_compat.hpp
* lestarch: deleting this
* lestarch: reverting FP compat. Projects can add back in where needed.
* Delete fp_compat.hpp
Co-authored-by: M Starch <LeStarch@googlemail.com>
* Flexibility modifications for doing an out of source baremetal build. Add MIN and MAX size #defs for integers in Basic types. Use U32MAX from basic types in FileDownlink, instead of __UINT32_MAX__. Change interrupt to interrupt_val in BlockDriver (prevented build). Guard on system type and don't include Ip socket using components or LinuxTime in baremetal build. Add Baremetal/Mutex.cpp to Os/CMakeLists.txt. Switchup fatal handler files based on system type. Allow for missing PATH_MAX in ComLogger. Change all instances of FPRIME_USE_BAREMETAL_SCHEDULE to FPRIME_USE_BAREMETAL_SCHEDULER.
* Cast MIN and MAX types for proper comparisons.
Co-authored-by: Neil Abcouwer <neil.abcouwer@jpl.nasa.gov>
* Revise command response port
Replace inline enum with XML enum type
Generate XML from FPP
Revise uses to match
* Revise xml-gen script
* Revise event ports
Replace inline enums with external enums
* Add missing files
* Revise ActiveLogger
* Revise text log port
* Revise text log port
Replace inline enum with external LogSeverity enum
Now Log and TextLog share the same enum for severity
* Revise Fw/Prm
* Revise uses of Fw/Prm
* Revise Fw/Cmd model
* Revise Fw/Cmd build
* Revise build for Fw/Cmd
* Refactor Fw/Log model
* Refactor build for Fw/Prm
* Revise build scripts
Remove workarounds after compiler fix
* Revise model
Revise build scripts
Regerate XML
* Revise FPP model in Fw
* Add gen-xml
* Add metadata files
* Add redo scripts
* Remove gen-xml scripts
* Revise redo scripts
* Revise redo scripts
* Add redo scripts
* Add FPP model for Fw/Com
* Add FPP model for Fw/Time
* Revise redo scripts
* Add FPP model for Fw/Tlm
* Revise redo scripts
* Revise redo scripts
* Revise redo scripts, gitignore
* Remove unused file
* Revise redo scripts
* Add FPP.adoc
* Add FPP model for Svc/Cycle
* Revise defs.fpp and build rules
* Revise do files
Rename fpp-defs to defs
* Update redo scripts
* Revise redo scripts
* Fix build rules
* Add FPP model for Svc/Sched
* Revise update script
* Rename defs.fpp --> locs.fpp
* Revise build scripts
* Revise Svc.Cycle model
Make TimerVal argument by value, not by reference
This is required for compliance with FPP semantics, because
Svc.Cycle is used in async input ports
* Revert "Revise Svc.Cycle model"
This reverts commit a31c12f1c0a9639da818d79da4f7ddd036c0b3d8.
Under the revised semantics of FPP, this change is not necessary.
* Revise Fw/Types build
Add missing file
* Revise FatalHandler
Abort with SIGABRT, not SIGSEGV
* Add FPP model for Ping port
* Revise GDS launcher
Make the HTML server port configurable
Interpret -g 5001 as "Run the HTML GUI at port 5001"
* Fix bug in XML array parser
* Revise build scripts
* Revise build script
* Fix merge errors
* Fix merge errors
* Fix redo scripts
* redo not overwriting Svc/FileDownlink .xml files
* Remove redo database
* Revise .gitignore
* Revise FileDownlink FPP model
* pre redo all in Drv/ByteStreamDriveModel
* Revisited SignalPair to run redo all
* redo all in Ref/SignalGen
* Saving before running redo all
* /Svc/Watchdog pre redo all
* All Svc Enums etc. done minus /Svc/PolyIf and /Svc/WatchDog
* Forgot to add /Seq/Seq.fpp on last commit
* Created Type.fpp, ran redo xml in /Svc/Seq
* /Svc/PolyIf pre redo all
* /Svc/PolyIf returning .hpp error on fprime-util build
* Svc ports etc. complete
* Svc/ActiveLogger pre redo
* /Svc/PolyDb pre redo
* /Svc/ActiveTextLogger pre-redo
* /Svc/ActiveTextLogger post redo
* Svc/ComSplitter pre redo
* Svc/ComSplitter post redo
* /Svc/Deframer pre redo
* Svc/Deframer post redo
* /Svc/FatalHandler pre redo
* /Svc/FatalHandler post redo
* /Svc/Framer pre redo
* /Svc/FramerComponentAi post redo
* /Svc/LinuxTimer pre redo
* post redo for /Svc/LinuxTimer /Svc/PolyDb
* /Svc/Time pre redo
* /Svc/Time post redo
* /Svc/TlmChan pre redo
* /Svc/TlmChan post redo
* Remove files deleted from mainline
* Revert change to Fatal Handler
* Rename CommandResponse to CmdResponse
* Revert name of enum constant
* updated Fw/types.fpp
* Added ActiveRateGroupOutputPorts to Fpconfig.fpp, Svc/ActiveRateGroup pre redo
* /Svc/ActiveRateGroup component finished
* Revise build scripts
* Revise Ref redo build
Make it into a separate project
* Revise fpp build
* Revise fpp build
* Revise ActiveRateGroup
Put AcConstants variable back in for now
* Revise FPP model
* Revise fpp model
Add AcConstants.fpp
* Remove local setup scripts
* Fix spelling in comment
* Revise spell check
Co-authored-by: jweadick <joshua.m.weadick@jpl.nasa.gov>
Our XML files had incorrect schema paths, so they needed to be corrected or removed.
Because of the upcoming transition to F'' YAML modeling, removing the schema refrences is an easier
approach than correcting all component xml files.
Segmentation fault doesn't seem like an appropriate choice for handling
Fatal events. SIGTERM allows for cleaner exit (if signal handler is
implemented).
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.