27 Commits

Author SHA1 Message Date
M Starch
0659f0940b
Refactored type organization (#3422)
* 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>
2025-04-03 12:11:36 -07:00
M Starch
f912e1bd75
Issue 3285 reducing signed size type in os file (#3402)
* Remove FwSignedSizeType from file

* Restoring FwSignedSizeType to seek offsets

* Fixing usages and UTs

* Fixes on Linux

* CI fix

* CI round 3

* CI rev 4

* Fixing code scan errors

* Review fixes - pt 1

* Failed to save
2025-03-28 11:47:07 -07:00
M Starch
58f4f96915
Remove NATIVE_INT_TYPE, NATIVE_UINT_TYPE, and POINTER_CAST from Svc (#3374)
* 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
2025-03-17 09:58:56 -07:00
M Starch
a5c853b9cf
NATIVE_INT_TYPE portNum to FwIndexType portNum (#3236) 2025-02-14 12:25:12 -08:00
M Starch
ad3c2e5fb1
Removing printf from Svc (#3170) 2025-01-29 14:22:22 -08:00
Thomas Boyer-Chammard
d6ebdff460
Refactor Os::FileSystem and Os::Directory (#2871)
* 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
2024-09-27 09:15:21 -07:00
M Starch
a049743e07
Removing component init() functions where unneeded (#2893)
* Removing component init() functions where unneeded

* Removing spurious assert
2024-09-23 18:39:00 -07:00
Johan Bertrand
d5181219d0
Fixed conversion warnings on framework tests (#2606)
---------

Co-authored-by: Michael D Starch <Michael.D.Starch@jpl.nasa.gov>
2024-04-29 18:39:20 -07:00
M Starch
58c21418aa
Issue 2457 (#2502)
* Os::File refactor: open w/ basic stub, posix UTs

* Refactoring Os::File for all methods, less UTs

* Adding rules-based common tests

* Fixing posix file for common UTs

* Adding WriteRead and WriteReadSeek tests

* Working random tests

* Working randomized tests and stub testing

* Fixing PrmDb unit tests

* Updating files to used FwSignedSizeType

* Factoring out the synthetic file system

* Initial work on CmdSequencer UTs

* Fixing linux implementation

* Newlines at end of file

* sp

* Static analysis checks

* Changing API to use enums

* Refactoring for proper class tree

* CmdSequencer UTs - WIP

* CmdSequencer UTs work

* Adding copy constructor functionality

* Spelling and static analysis fixes

* Copy constructor/assignment operator UTs and fixes

* Initial CRC work

* Working CRC and FPP models

* Minor UT fixes

* Correcting CMake choices implementation

* MAking implementation choices real dependencies

* Fixing implementation to use source files

* Fixing posix file read/write permissions

* Allowing None implementations

* Fixed CI breakages

* Fixing MyRules.hpp formatting

* Minor CRC unit test fix

* Removing direct write support

* Changing get delegate to static method of interface

* Replacing old comments with new comments

* Fixing friend regression

* Review fixes

* Fixing serialization method usages

* Review fixes

* Fixing RPI build

* Fixing FwBuffSizeType overflow

* Fixing review comment

* Renaming FwExternalSize -> FwSizeStoreType
2024-02-28 11:25:19 -08:00
M Starch
64788fa831
Fixing the U64 vs FwSizeType argument change (#1879)
* Fixing the U64 vs FwSizeType argument change

The code changed in the time the PR was being reviewed.  This should fix the discrepancy.

* fixing spelling error
2023-02-03 15:36:16 -08:00
codeflight1
a349f81ea0
FileManager updates (#1522)
* add ignoreErrors argument to RemoveFile command

* adding FileStat command

* add FileSize tests
2023-02-03 10:16:00 -08:00
M Starch
b76d8c9a0c
Update/types refactor as constants (#1623)
* lestarch: adding logical types implementation into Linux/StandardTypes.hpp

* lestarch: removing VxWorks StandardTypes from repository

* updated fprime types for correct compilation with vxworks and baremetal

* lestarch: refactoring types and configuration header w.r.t type design

* lestarch: replacing usages of AssertArg with FwAssertArgType

* lestarch: missspelled configuration

* lestarch: minor compilation fixes

* lestarch: renaming StandardTypes.hpp -> PlatformTypes.hpp

* lestarch: updating PRI tokens

* lestarch: replacing BasicTypes.hpp includes with FpConfig.hpp

* lestarch: UT and compilation fixes for types refactor

* lestarch: sp

* lestarch: fixing RPI issues in PassiveConsoleTextLogger

* lestarch: converting RPI build to debug

* lestarch: removing duplicate config imports

* lestarch: fixing documentation

* lestarch: fixing up multiple definitions and RPI compilation problems

* lestarch: reverting debug build

* lestarch: reverting platform types to class-based constants

* lestarch: reworking basic types

* lestarch: configured types refactor into classes

* lestarch: fixing bugs with static constants in classes

* lestarch: fixing platform types spelling and documentation

* lestarch: adding include guards to types headers

Co-authored-by: Kevin F Ortega <kevin.f.ortega@jpl.nasa.gov>
2022-08-18 13:25:56 -07:00
Joshua Anderson
f1f5d499c0 Remove deprecated C style headers 2021-08-31 11:36:16 -07:00
Joshua Anderson
1b9c785ce6
Remove void from parameterless functions (#811) 2021-07-14 12:54:01 -07:00
Rob Bocchino
53b2dcd0c9 FPP Types and Ports (#727)
* 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>
2021-06-25 18:14:29 -07:00
Saba Janamian
54495c8c43
Fix Ignored Return Value warnings (#687)
* saba-ja: fixed cs reliability warning ignored return value

* saba-ja: fixed cs reliability warning ignored return value

* saba-ja: fixed cs reliability warning ignored return value

* saba-ja: update Deframer status check

* saba-ja: resolved signed unsigned comparison issue
2021-06-08 20:23:32 -07:00
Joshua Anderson
facd098f0d
Fix ShellCommand to correctly calculate buffer size 2021-05-03 20:29:13 -07:00
jhdeerin
7d504e7603 Removed unused import from FileManager 2020-08-06 13:03:42 -04:00
jhdeerin
345b8e3250 Addressed FileManager PR comments 2020-08-05 09:40:52 -04:00
jhdeerin
85116d819f Changed ConcatFiles command to AppendFile (need to update unit tests) 2020-07-30 17:55:16 -04:00
jhdeerin
814e426242 Began adding unit tests for concat command (will likely need to revise) 2020-07-30 15:25:54 -04:00
jhdeerin
5989e2d2dc Added FileManager concat events, fixed bug checking file equality 2020-07-30 10:46:53 -04:00
jhdeerin
d160799231 FileManager now detects case where dest==file2 2020-07-30 09:56:41 -04:00
jhdeerin
3494fc981b Added ConcatFiles command to FileManager (required implementing appendFile on Os/FileSystem; still need to add new events) 2020-07-30 09:15:02 -04:00
jhdeerin
ee19e7362b Added new command events to FileManager (closes #133) 2020-07-29 12:18:27 -04:00
Michael D Starch
136af07edd mstarch: more header cleaning for issue: #189 2019-04-18 14:12:02 -07:00
Timothy Canham
6d9c4c2d06 Initial check-in 2017-06-16 08:25:38 -07:00