42 Commits

Author SHA1 Message Date
Will MacCormack
589ed5d437
Switch to U64 Logger Tests (#4262)
* Use U64 for LoggerTests

* Switch `%llu` to PRI_U64

* Add back the `%` before PRI_U64

* clang-format LoggerRules.cpp
2025-10-06 13:26:36 -07:00
M Starch
cca4e1261c
Remove RPI project in lieu of the LED workshop (#3908) 2025-07-22 15:31:22 -07:00
Thomas Boyer-Chammard
dcc3436200
Split Deframer into FrameAccumulator, Deframer, and Router (#3250)
* Split Router out of Deframer - initial implementation

* Rename variable to packetBuffer and resolve conversion warnings

* Add test cases for each incoming packet type

* Adjust comments and stuff

* Update Ref topology with Router

* WIP - FrameAccumulator

* Add lightweight deframer

* Working frame detector, accumulator, and fprime packet

* CCSDS implementation and better checksums

* Fixing overly small start word to use SCID as well

* Fixing frame accumulator for new structure

* Minor cleanup to frame detectors

* Add CCSDS Deframers and F´ minimal deframer

* Clean up comments

* Update Ref topology with Accumulator/Deframer/Router

* Update buffer manager

* Upgrade Router.cpp to latest Fw::Logger

* Update RPI deployment to use FrameAccumulator/Router

* Remove CCSDS Deframers

* Add first pass at UTs

* add buffer accumulation testing

* start SDD and rename author

* Fix static analysis warnings and add comments to UTs

* Spelling

* Add FprimeFrameDetector UTs

* Fix CI issue

* Fix test component creation

* Add first pass at SDDs

* Rename FrameAccumulator allocation ports

* Add review comments

* Functional one-off detection

* Fix algorithms and rename Deframer to FprimeDeframer

* Remove file

* Remove templated detectors

* Improve test code

* Rename frame Footer to Trailer, and improve SDDs

* finish renaming footer to trailer and add implementation note

* Fix spelling and CI warning

* Fix test code

* More CI and spelling fixes

* Add back virtual destructor

* appease pedantic warnings

* Fix declaration ordering for safe destruction

* Run formatting and add a few comments

* Add RouterInterface.fppi and use it in Router

* review changes round 1

* Rename Router to FprimeRouter and add test for unconnected unknownDataOut port

* Finish renaming Router -> FprimeRouter

* Use get-target-branch for cookiecutters tests and fix spelling

* fix a few comments, CI warning and formatting

* Update types for compatibility with updated FwSizeType

* Move FprimeProtocol.fpp to Svc/ and update non-compliant UINT types

* Code review recommendations

* Move FrameAccumulator destruction to cleanup() code

* Add frame validation to FprimeDeframer

* Add cleanup() call to test code

* Fix static analysis warnings

* Resolve type warnings and add multiple events in FprimeDeframer

* latest latest v3

---------

Co-authored-by: Michael D Starch <Michael.D.Starch@jpl.nasa.gov>
2025-03-12 16:05:09 -07:00
Thomas Boyer-Chammard
3f61f887e4
Restructure user manual for holding design patterns (#3222)
* Doc restructure with design-patterns and build-system sections

* Restore advanced.md and uts.md

* Link in UTs

* Fix link

* Remove card layout from user manual landing page

* Add back the cards
2025-02-13 13:54:43 -08:00
Thomas Boyer-Chammard
6f1369bbcf
Update docs structure for website versioning improvements (#3150)
---------

Co-authored-by: ashleynilo <ashley.k.santiago@jpl.nasa.gov>
2025-01-21 14:32:52 -08:00
Ashley Nilo
9367a3ba2f
Restructure docs for new website (#3036)
---------

Co-authored-by: chammard <thomas.boyer.chammard@jpl.nasa.gov>
2024-12-06 12:48:09 -08: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
Thomas Boyer-Chammard
dd463e1f6d
Refactor OS::Mutex in CMake selection (#2790) 2024-08-02 12:48:30 -07:00
Johan Bertrand
a683ec3198
Add contributing tips (#2704)
* Add contributing tips

* Sort spelling and add sbt

* Change fpp to fprime folder in tests run commands

* Update contributing.md

* Update contributing readme

---------

Co-authored-by: M Starch <LeStarch@googlemail.com>
2024-05-16 18:49:51 -07:00
Johan Bertrand
7724562530
Improve error display on failure (#2696)
* Improve error display on failure

* Add documentation

* Fix typo

* Remove stream redirection
2024-04-23 15:51:32 -07:00
Timothy Canham
00eed9f2b8
Update Svc/PolyDb to use configurable FPP enumeration as index (#2587)
* Updating PolyDb

* PolyDb rename

* PolyDb Unit tests pass again

* Updated docs

* Fixed entry asserts

* Updates due to PR comments
2024-03-26 12:47:02 -07:00
Thomas Boyer-Chammard
ec1a9b9f3e
Update Doxygen config (#2370)
* Fix Doxygen pages

* Fix Doxygen configuration

* Add Design documentation to versioned folder

* Update doxygen usage

* Add googletest folder to doxygen ignore

* Update doxygen mainpage

* Exclude mainpage.md from spellcheck (repeated words)

* Add back subindex
2023-11-27 12:11:34 -08:00
Thomas Boyer-Chammard
1e8d4131ad
Improve linkage of CMake documentation (#2355) 2023-11-09 11:48:07 -08:00
Timothy Canham
b7a25920a3
Add packetized telemetry option (#1776)
* manual packet gen

* Added tlmPkt to deployment

* Packet files

* Fixes to packet gen script

* format python, updated packet files

* spelling fixes

* integrating packet autocoder

* final updates for telemetry packetization

* formatting telemetry packetizer cpde

* moving tlm packetizer configuration file

* resetting stock telemetry channelizer

* missed packetizer setup call

* fixing autocoding miss-match with Svc::TlmChan

Co-authored-by: M Starch <LeStarch@googlemail.com>
2022-11-29 14:00:20 -08:00
Thibault
bcea9fee51
Fix #1215 Remove incorrect references to non-existent MagicDraw items (#1216)
* Remove mdxml references in component READMEs

* Remove mdxml format in .*ignore files

* Remove .mdxml exclude from spell checking

If the .mdxml file no longer exists, there is no need to specify them. This could also be a way to track the reappearance of .mdxml files in the project.

* Remove MagicDraw user guide

* Remove MagicDraw ug link from ToC
2022-01-25 13:38:18 -05:00
Joshua Anderson
37b09eb69c
Correct clang-tidy detected warnings 2021-08-12 14:26:09 -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
Milad Sadeghi DM
87c80b4719
Fixing minor issues - second version(devel to devel) (#574)
Note:  squashed commits by lestarch, see coauthor below.

Co-authored-by:  Milad Sadeghi DM <EverLookNeverSee@ProtonMail.ch>
2021-05-20 17:57:52 -07:00
Michael D Starch
69e6b942c2 mstarch: download GTest to gtest folder and only redownload if it is deleted not on purge 2020-12-02 22:57:42 -08:00
Michael D Starch
8eea39a429 Merge pull request #568 from joshuaa/fix-enum-include
Include enum in component header when imported in component xml
2020-10-01 11:12:34 -07:00
Joshua Anderson
0d9d34aba8
Include enum in component header when imported in component xml 2020-09-23 14:33:47 -07:00
Michael D Starch
800bd57c3f mstarch: merging in latest devel 2020-09-23 10:04:00 -07:00
Michael D Starch
48d7be9043 mstarch: adding in missing file and correcting gitignore 2020-09-18 17:29:30 -07:00
Michael D Starch
73e1a7670c mstarch: adding basic Sphinx docs configuration 2020-08-27 10:49:50 -07:00
hunterpaulson
e4cfe76e29
hpaulson: fixes various minor pylint issues 2020-07-10 15:53:26 -06:00
hpaulson
f0bdf31b2b hpaulson: removes assert within joinSocketTask 2020-06-10 14:58:03 -06:00
hpaulson
540dbbcdbe hpaulson: fix to CmdSequencer memory leak 2020-06-10 11:48:54 -06:00
Michael D Starch
bb766514d1 mstarch: merging in NASA devel 2019-11-14 13:05:50 -08:00
Michael D Starch
b61a9e2869 mstarch: better git ignore 2019-11-06 16:04:05 -08:00
Sterling Peet
a3167c7e89 don't try to commit build directories 2019-09-17 19:49:13 -04:00
Timothy Canham
b10badb7d6 Modified XML dictionary ignore 2019-03-19 22:34:16 -07:00
Timothy Canham
f19c3f61d6 Updates for wxPython GUI scripts 2019-03-19 22:30:53 -07:00
Timothy Canham
e74f575ae7 Moved GSE dictionaries to deployment directory, moved Gse binaries to Gds/tkGui/bin 2019-03-19 22:08:17 -07:00
Timothy Canham
7c64c011d7 Merge from devel 2019-03-13 13:27:23 -07:00
Timothy Canham
f366065dfa Remove dictionary from git 2019-02-09 22:17:08 -08:00
Biberstein
49238ae3eb gitignore again 2018-08-15 15:51:28 -07:00
jbiberst
7edc8facc1 New gitignore 2018-08-15 15:43:16 -07:00
Timothy Canham
a6bc57f03e Added .vscode to ignore 2018-07-09 19:43:30 -07:00
Raymond J Paetz
c0acf0d172 added .swp files to the git ignore 2018-07-03 18:04:25 -07:00
Timothy Canham
be8e3a1955 Added csv files 2018-06-26 21:55:06 -07:00
Timothy Canham
6d9c4c2d06 Initial check-in 2017-06-16 08:25:38 -07:00
Timothy Canham
e9aaafad1a Initial commit 2017-04-13 14:21:43 -07:00