64 Commits

Author SHA1 Message Date
Thomas Boyer-Chammard
c69ff72110
Format Svc and add to CI (#3978)
* Format Svc and add to CI

* Fix comlogger include

* fix assert UTs

* Fix static analysis warning

* formatting
2025-08-04 16:21:47 -07:00
Mishaal
7339ce9547
PRIVATE->private and PROTECTED->protected updates in multiple Svc subdirectories (nasa#3446) (#3669) 2025-06-02 08:45:45 -07:00
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
Justine West
e13d0303b1
Add final to component impl classes (#3292) 2025-02-28 15:05:15 -08:00
M Starch
a5c853b9cf
NATIVE_INT_TYPE portNum to FwIndexType portNum (#3236) 2025-02-14 12:25:12 -08:00
Thomas Boyer-Chammard
334c525984
Add SDD aggregation into the core website (#3139) 2025-01-15 14:05:46 -08:00
M Starch
2674ec4295
Reworking prevent_prescan in subbuild context (#2991) 2024-10-29 11:12:52 -07:00
Ethan Chee
0e4b4c2aa2
Fix Logger in baremetal fatalhandler (#2986) 2024-10-28 10:11:10 -07:00
Thomas Boyer-Chammard
564cb5773b
Add Os::RawTime OSAL implementation, refactor Os::IntervalTimer (#2923)
* 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>
2024-10-14 10:06:45 -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
M Starch
7159e7e347
Implements #2723: Adds Os::Console to replace Os::Log (#2831)
* Initial logging refactor - WIP

* Removing LogAssert as it is not used

* Working on Fw::Logger rewrite

* Initial Os::Console refactor

* Fixing Fw::Logger unit tests

* Fixing up UT build

* Adding Os::Stub::Console implementation

* Added interface UTs

* Adding posix console tests

* Fixing Linux errors

* Spelling

* Initial review requests

* Fixing RPI build issues

* Fixing codeql errors

* Fixing code QL

* Validating 'message' parameter
2024-08-15 18:53:36 -07:00
M Starch
640cf44c80
Os task refactor issue 2526 (#2672)
* 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>
2024-05-22 16:38:18 -07:00
Saurav Maheshkar
109e4bd399
feat(ci): add markdown link checker (#2651)
* feat(ci): add markdown link checker

* Fixing sp

* feat(ci): specify markdown lint check params

* Remove verbose mode

* Remove sdd.html links

* Add historical note to ci/README.md

* Fix broken links

* Fix more dead links

* Test replacementPatterns for CMake API

* Use config file correctly

* Fix config path

* Spell out replacement field

* Add C++ API redirect

* Escape `c++` pattern

* Fix another batch of dead links

* fix options and spelling

* docs: address comments

* docs: address comments

* Fix FPP Wiki links to NASA org

---------

Co-authored-by: M Starch <LeStarch@googlemail.com>
Co-authored-by: thomas-bc <thomas.boyerchammard@gmail.com>
Co-authored-by: Thomas Boyer-Chammard <49786685+thomas-bc@users.noreply.github.com>
2024-04-24 16:51:42 -07:00
M Starch
24178fcd4b
Fixes some minor F´ issues (#2052)
* Fixing template component base includes

* Making CAssert match Assert

* Fixing invalid template and missing header include
2023-05-30 08:32:24 -07:00
M Starch
ea89430ca8
changing SIGSEGV for SIGABRT to remove segfault without core dump (#1869)
* 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>
2023-01-26 10:11:16 -08:00
Josh Soref
fbfc9ad563
Update check-spelling to v0.0.21 (#1790)
* spelling: async

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: basic

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: file for

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: files

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: generic

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: github.com/nasa/fprime

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: header

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: into

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: multiline

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: sync

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: workaround

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* Update check-spelling to v0.0.21

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Co-authored-by: M Starch <LeStarch@googlemail.com>
2022-12-06 10:19:16 -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
Timothy Canham
e083f9dc84
Older compiler compatibility changes (#1408)
* 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>
2022-05-02 10:59:34 -07:00
M Starch
bdc1ddc20a lestarch: removing v3 unnecessary files 2021-12-20 13:47:23 -08:00
Joshua Anderson
f07024ded7 clang-tidy: enable modernize-use-bool-literals 2021-09-21 09:36:06 -07:00
Joshua Anderson
809d23ac34 Add clang-tidy job to CI 2021-09-21 09:30:05 -07:00
M Starch
2bc9d80759
Merge pull request #912 from LeStarch/update/cmake-and-fpp-are-now-friends
lestarch: integrate FPP and CMake
2021-09-01 11:22:59 -07:00
M Starch
822910afe5 lestarch: updating to latest v3.0.0 2021-09-01 10:24:29 -07:00
M Starch
1fd2bfcc03
Merge branch 'release/v3.0.0' into remove-c-style-casts-svc 2021-09-01 09:57:27 -07:00
Joshua Anderson
f1f5d499c0 Remove deprecated C style headers 2021-08-31 11:36:16 -07:00
Joshua Anderson
05f4557ca8
Svc: Convert C style casts to C++ style casts 2021-08-31 10:29:02 -07:00
M Starch
ef28ed5be6 lestarch: fixing fpp+cmake for latest release/v3.0.0 2021-08-11 20:22:21 -07:00
M Starch
21c28d3fb8 mstarch: fpp initial cmake integration 2021-08-11 19:50:16 -07:00
M Starch
f287a7e91b
Merge pull request #886 from bocchino/component-interfaces
Standardize component interfaces used in the Ref model
2021-08-04 13:35:06 -07:00
bocchino
6c87c334fd Revise header files
Replace 'typedef' with 'using'
2021-08-02 14:10:19 -07:00
Joshua Anderson
c875ab3b17
Resolve merge conflicts merging from devel branch 2021-08-02 12:14:15 -07:00
bocchino
2707de231f Standardize FatalHandler interface
Update Ref model
2021-08-02 09:21:26 -07:00
M Starch
db03544bfc lestarch: converting over CMakeLists to fpp 2021-07-21 22:07:21 -07:00
Joshua Anderson
1b9c785ce6
Remove void from parameterless functions (#811) 2021-07-14 12:54:01 -07:00
Neil Abcouwer
2a9678567b
Dev/abcouwer/cmake baremetal fixes (#821)
* 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>
2021-07-14 12:45:24 -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
M Starch
eebef10711
lestarch: updating .hpp and .md files for clean doxygen run (#676) 2021-06-07 21:10:09 -07:00
Joshua Anderson
8058e79185 Remove schema refrence in XML files
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.
2021-06-01 20:38:33 -07:00
M Starch
150ba3c5b8
Merge pull request #427 from Kemyt/change_segfault_to_sigterm_on_fatal
Change signal raised by fatal event handling
2021-03-04 15:29:05 -08:00
Kemyt
bf9b23e3d9 Change fatal event handling message
The new message explains the segmentation fault raised when handling
a fatal event. Closes #356
2021-03-04 23:38:34 +01:00
Kemyt
b66ddb30a1 Change signal raised by fatal event handling
Segmentation fault doesn't seem like an appropriate choice for handling
Fatal events. SIGTERM allows for cleaner exit (if signal handler is
implemented).
2021-03-02 11:34:20 +01:00
Michael D Starch
6c81117ef5 mstarch: removing mk and its ilk from the system 2020-10-15 17:53:32 -07:00
Michael D Starch
1c4e2d2d17 Merge pull request #612 from joshuaa/fix-fw-obj-names
Refactor FW_OBJECT_NAMES switches and fix building without object names
2020-10-08 14:34:24 -07:00
Joshua Anderson
3cccd731d9
Refactor FW_OBJECT_NAMES switches and fix building without object names
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.
2020-10-07 17:19:05 -07:00
Michael D Starch
369affff1d mstarch: fixing shared lib build to resolve #607 2020-10-07 14:13:10 -07:00
Michael D Starch
7a654fc7af mstarch: final preparations for automatic C++ API generation 2020-08-26 22:23:49 -07:00
Michael D Starch
9394aa2a2b mstarch: removing outdated auto-dictionary documentation 2020-08-26 09:52:05 -07:00
Michael D Starch
a3a734cd80 mstarch: cleaning up documentation in preparation for doxygen 2020-08-19 19:35:37 -07:00
Michael D Starch
1da3784ea4 mstarch: fixing fatal handler 2019-11-14 16:24:08 -08:00
M Starch
c021441320 lestarch: adding baremetal logginging fatal handler 2019-09-11 10:35:13 -07:00