* 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>
* Add FileSystem Interface
* Add OS::FileSystem interface and implementations
* static interface + global Os::init()
* Add test harness
* Implement Os::Directory interfaces and use it in FileSystem::readDirectory
* Add Stub tests for Directory and FileSystem
* wip: modify the interface from Michael feedback
* wip: move functions around and rework interface a little more
* Add Directory rule-based tests
* Refactored Directory for open-create + WIP: FileSystem tests
* Update state tracking mechanism in FileSystem test implementation + add RandomizedTesting
* Replace bounded while-loop with for-loop
* Code cleanup
* fix typo
* Rename FileTracker and code reorganization / clarification
* Code style and add CWD rule
* Clean up tester code
* More cleanup
* Add Posix tests to Os_ut_exe
* Fix DpCatalog readDirectory usage
* Appease CI checks
* Spelling and CI warnings
* Spelling + removing FppConstants include
* Add review changes and todos
* Add Directory::read(Fw::StringBase&) overload
* Refactor copyFileData to iterate over copied size
* Remove FppConstants.hpp include
* Rework moveFile into rename/copy-remove
* Add majestic comments
* Add option to error if dir exist in Fs::createDirectory
* spelling
* include <algorithm> for std::find in tests
* Fix leftover ::CREATE modes in comments and stub tests
* Fix CmdSequencer test case
* Fix memory leak in testing by conditioning the Open rule
* Fix FileManager tests
* Add Directory and FileSystem FPP type definitions; update CMakeLists and clean up comments
* spelling
* Reoder header guards
* Implement changes from peer-review
* read into StringBase with const_cast
* Fix resetSer() call
* Fix spelling
* fix spelling again i guess
* Fix DpCatalog unchecked return value
* Change CI to use Json dictionaries
* Bumping to gds/tools for alpha release of JSON dictionary
* Change Workflow RPI Dictionary to JSON
* Install requirements.txt on RPIs for integration tests
---------
Co-authored-by: M Starch <LeStarch@googlemail.com>
Co-authored-by: Thomas Boyer-Chammard <49786685+thomas-bc@users.noreply.github.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
* Renaming of linux time files to posix
* Fixes#2256. Renames LinuxTime into PosixTime implementing new Time interface
* sp
* Static analysis errors
* Cleaning up other LinuxTime references
* Converting ByteStreamDriverModel into an interface
* Fixing Tcp unit tests
* Make reusable builder use pr-check ref as default
* Reusable workflows now build on devel as default
* Review fixes I
* Revising the getting started tutorial to cover getting started
* Adding a generate step
* Additional generate note
* Clarifying the directory for running commands
* Adding actual output to New Project
* Updating HelloWorld.md with tool output
* Toushing up Deployments.md
* sp
* Fixing spacing
* Removing prereqs
* Update Tutorial.md to move next link
* attempring to add sysroot to RPI
* adding set -x to RPI build to debug in Github actions
* Configure RPI to be a cross-compiler
* moving SYSROOT out of GITHUB_WORKSAPCE
* limiting sysroot to RPI builds
* resetting settings
* Using RPI action to procure toolchain
* lestarch: moving clean-up to post run script
* repairing RPI integration tests to latest version
* formating integration tests
* passing in dictionary for RPI
* fixing minor int test problems
* fixing FilterSeverity
* install cross-compile tools using apt for RPI CI
* apt install `gcc-arm-linux-gnueabihf` & `g++-arm-linux-gnueabihf`
* check `/usr/arm-linux-gnueabihf` directory for RPI tools
* use @astroesteban cmake toolchain for raspberrypi
see https://github.com/nasa/fprime/issues/1163#issuecomment-1007810914
* check for arm toolchain by env var then PATH
Check environment variable, RPI_TOOLCHAIN_DIR, first.
If RPI_TOOLCHAIN_DIR not set, then check PATH
See https://github.com/nasa/fprime/issues/1163#issuecomment-1133375177
* update expect.txt in .github/actions/spelling
add to expect.txt:
db
multiarch
objcopy
objdump
* fix typo for Raspberry in raspberrypi.cmake
* set ARM toolchain variables using find_program()
* add gdb to .github/actions/spelling/expect.txt
* lestarch: removing GDB since it isn't used
The build is failing to find gdb-multiarch, but GDB itself is not used in the CMake system. Thus, I am removing it here and leaving it up to the user to install/run their tooling.
* lestarch: updateing installation in RPI readme
Co-authored-by: M Starch <LeStarch@googlemail.com>
* lestarch: reworked linux serial driver into linux uart driver following byte stream driver model
* lestarch: reworking RPI demo for new serial driver
* lestarch: removing unnecessary UartFramer
* lestarch: cleaning-up CI failures and spelling
* lestarch: UART driver code quality enhancements
* lestarch: removing one final TODO
* lestarch: removing DR_ from event names
* lestarch: sp
* lestarch: removing unused stubs/test and adding port comments per-review
* Updated RateGroupDriver. Moved constructor arguments to new configure() call
* Updated topology to new RateGroupDriver constructor and configure() function
* Updated docs, added assert to make sure it is configured
* Fixed RPI and MathComponent tutorial code
* Fixed configure description
* Moved rgDivs back to configObjects
* Fixed typo in rateGroupDriver instance
* Updated RPI and MathComponent RDG FPP
* Revise Ref topology model
Update FPP version
Use new FPP syntax for concrete instance types
* Revise RPI example
Use new FPP syntax for instance types
* Revise Ref and RPI topologies
Use new FPP syntax for LinuxTime instance
* Update FPP version
* Update FPP version
* Revise Ref topology
Remove special C++ code for blockDriver
* Update RPI topology
Remove specialized code for declaring linuxTimer instance
* Update FPP version
* lestarch: bumping latest version of FPP
* Update .lgtm.yml
* lestarch: installing sbt
* lestarch: adding pip upgrade
Co-authored-by: M Starch <LeStarch@googlemail.com>
lestarch: bash syntax error in RPI integration
lestarch: misstyped variable name
lestarch: fixing glob pattern
lestarch: missing test directory
lestarch: a more complete artifact
lestarch: fixing copy
lestarch: copying with permissions
lestarch: fixing RPI CI path
lestarch: fixing RPI integration test
lestarch: more careful killing of binary
lestarch: better RPI running from scratch