5728 Commits

Author SHA1 Message Date
dependabot[bot]
94b4457154
Bump urllib3 from 2.5.0 to 2.6.0 (#4528)
Bumps [urllib3](https://github.com/urllib3/urllib3) from 2.5.0 to 2.6.0.
- [Release notes](https://github.com/urllib3/urllib3/releases)
- [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst)
- [Commits](https://github.com/urllib3/urllib3/compare/2.5.0...2.6.0)

---
updated-dependencies:
- dependency-name: urllib3
  dependency-version: 2.6.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-09 14:09:27 -08:00
budhe888
1f860de821
Added missing undef for m_len in VxWorks collision fix (#4520)
Co-authored-by: Adit Sahasrabudhe <adit.sahasrabudhe@jpl.nasa.gov>
Co-authored-by: kevin-f-ortega <kevin.f.ortega@gmail.com>
2025-12-09 08:56:49 -08:00
Thomas Boyer-Chammard
f3b191beff
Address student review of Device Driver docs (#4509)
* First pass at addressing student review

* nits and pieces
2025-12-05 14:12:11 -08:00
Thomas Boyer-Chammard
59e1baa9d8
Add website navigability updates (#4504)
* Add minor website navigability updates

* Add navigation hint to User manual landing page

* add an arrow

* spelling
2025-12-05 14:08:24 -08:00
kevin-f-ortega
43de02bafd
Update docs for AssertHook (#4505) 2025-12-04 10:53:07 -08:00
Thomas Boyer-Chammard
6c80056596
Bump requirements.txt ahead of v4.1.0 release (#4488)
* Bump requirements.txt for v4.1.0 release

* Update GDS pointer to v4.1.0
v4.1.0
2025-12-03 12:17:44 -08:00
M Starch
a8fe137283
Fix FPrimeRouter potential usage of invalid buffer (#4493)
* Fix #4491

* Formatting and enum size
2025-12-03 12:17:00 -08:00
Rob Bocchino
3a293cd705
FPP v3.1.0 (#4483)
* Update FPP version

* Update fpp version
2025-12-02 17:57:14 -08:00
mshahabn
e0afd3c3fb
Add missing implementation of GenericHub (#4420)
* Revise GenericHub model

* Revise GenericHub model

* Revise GenericHub model

* Update spelling

* Revise annotations

* Revise annotations for GenericHub model

* Revise annotations in GenericHub model

* Revise GenericHub model

* Revise GenericHub model

* Revise GenericHub model

* Revise GenericHub

* Revise GenericHub

* Revise GenericHub model

* Revise GenericHub model

* Revise GenericHub config

* Revise GenericHub model

* Revise GenericHub model

* Clean up naming in GenericHub implementation

* Revise GenericHub port names

* Revise annotations in GenericHub model

* Revise annotations in GenericHub model

* Revise annotations in GenericHub model

* Add ByteStreamDriverClient

* Revise ByteStreamDriverClient

* Revise ByteStreamDriverClient

* Revise driver interfaces

* Add PassiveByteStreamDriverClientSendAsync interface

* Add PassiveAsyncByteStreamDriverClient interface

* Add PassiveBufferDriver

* Revise PassiveByteStreamDriverClient interfaces

* Revise PassiveBufferDriver

* Revise Drv interfaces

* Revise PassiveBufferDriver

* Add PassiveBufferDriverClient

* Revise GenericHub model

Use interfaces from Drv

* Revise annotations in GenericHub model

* Revise FPP models

Point FPP to a non-released version with a bug fix

* Add ByteStreamBufferAdapter

* Revise ByteStreamBufferAdapter model

* Revise ByteStreamBufferAdapter

* Revise ByteStreamBufferAdapter

* Add AsyncByteStreamBufferAdapter

* Revise AsyncByteStreamBufferAdapter

* Revsie AsyncByteStreamBufferAdapter

* Revise AsyncByteStreamBufferAdapter

* Revise annotations in FPP model

* Revise ByteStreamBufferAdapter

* Bump fpp version

* Revise GenericHub model

* Revise GenericHub interface

* Revise GenericHub interface

* Fix typo in FPP annotations

* Revise Generic Hub model

* Fix spelling and formatting

* Review recommendations

---------

Co-authored-by: Rob Bocchino <bocchino@jpl.nasa.gov>
Co-authored-by: thomas-bc <thomas.boyerchammard@gmail.com>
2025-12-02 17:56:34 -08:00
M Starch
cddf38bb6f
Make Os::Queues use Fw::MemAllocator pattern for memory (#4451)
* Queues use MemAllocator pattern

* Derive queue allocation from MallocRegistry

* Formatting

* Fix UTs

* Fix CI

* Fix alignment in UT

* Formatting and sp

* Formatting, bad header

* More formatting

* Add queue teardown

* Deinit components

* Fix priority queue test

* Fix bug in priority queue allocation

* Correct comments

* Fix FppTest and Ref UTs

* Fix max heap teardown

* Fix review comment on max heap

* Fix null -> nullptr
2025-12-02 17:36:15 -08:00
dependabot[bot]
89a9e3247b
Bump werkzeug from 3.0.6 to 3.1.4 (#4480)
Bumps [werkzeug](https://github.com/pallets/werkzeug) from 3.0.6 to 3.1.4.
- [Release notes](https://github.com/pallets/werkzeug/releases)
- [Changelog](https://github.com/pallets/werkzeug/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/werkzeug/compare/3.0.6...3.1.4)

---
updated-dependencies:
- dependency-name: werkzeug
  dependency-version: 3.1.4
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-02 14:27:49 -08:00
bevinduckett
a9e05045da
Add missing cstring includes (#4486)
* Modified the fprime-fpp version for fpp branch

* Fixes for missing includes

* Removed include from Fw/FPrimeBasicTypes.hpp and modified fprime-fpp version

* Fixed files that failed to include cstring header

* Changed string.h to cstring in BufferRepeater.cpp

* Updated formatting in ActivePhaser.cpp & BufferManagerComponentImpl.cpp

* Fixed formatting in FpySequencerStack.cpp & FpySequencerDirectives.cpp
2025-12-02 14:27:10 -08:00
djbyrne17
9fbf5800ab
Update Spi component to return a status on device access (#4452)
* Update Spi component to return a status on device access

* Format LinuxSpiDriver files and update comments from TODO to DEPRECATED

* Add assertions to LinuxSpiDriver

* Add assertions to LinuxSpiDriver

---------

Co-authored-by: djbyrne <djbyrne@jpl.nasa.gov>
2025-12-02 10:42:06 -08:00
M Starch
08f43279da
Fix improper file dependencies in the build (#4479) 2025-12-02 10:27:49 -08:00
Will MacCormack
e8c3fea70c
Add one more ifdef to allow POSIX_THREAD_ENABLE_NAMES off to compile (#4482) 2025-12-02 10:23:41 -08:00
Will MacCormack
b9a7059667
Set the Name of Fprime Tasks on Linux (#4428)
* Set the Name of Fprime Tasks on Linux

* prefix thread name w/ process name

* Revert "prefix thread name w/ process name"

This reverts commit 5867602f135c69022469c985b6de13458686e6a2.

* Add `setname` to spelling expected list

* Format My Changes

* Add in opt-out configuration

* Enable POSIX_THREADS_ENABLE_NAMES and fix ut

* Remove warning when flag set off

* UT thread names

* Add tmate session setup to build workflow

* Disable thread names on Ip UTs

* Use random thread ids in UTs

* Fix race condition

* Fix improper string set

---------

Co-authored-by: M Starch <LeStarch@googlemail.com>
Co-authored-by: Michael D Starch <Michael.D.Starch@jpl.nasa.gov>
2025-12-01 10:15:35 -08:00
Rob Bocchino
aed0837c9c
Merge FPP v3.1.0a12 (#4474)
* Bump fpp version to v3.1.0a11

* Update FPP version to v3.1.0a12
2025-11-24 10:07:44 -08:00
M Starch
f5902583ce
Add component send only test (configSend, open) (#4465)
* Add component send only (configSend, open) test

* Formatting
2025-11-20 17:08:21 -08:00
Thomas Boyer-Chammard
5baf4076ab
Add best practice to CONTRIBUTING.md (#4464)
* Add best practice to CONTRIBUTING.md

* mention clang-tidy optional

* Add code formatting command
2025-11-20 11:11:29 -08:00
kevin-f-ortega
ba95054a24
missing more comments (#4463) 2025-11-20 08:20:17 -08:00
kevin-f-ortega
081a2f8654
Add missing argument description to Os::RawTime (#4461) 2025-11-19 16:22:25 -08:00
djbyrne17
027b658208
Update UT guidelines in Contributing guide (#4421)
* Add clang-tidy to requirement.txt, and update Unit Test guideline

* Leave out of requirements until rPI is supported or avoided

* Fix spelling of macOS

---------

Co-authored-by: djbyrne <djbyrne@jpl.nasa.gov>
2025-11-19 15:31:50 -08:00
Thomas Boyer-Chammard
6d756f7431
Specify dictionary types as required by GDS (#4442)
* Specify dictionary types as required by GDS

* Update requirements.txt for fprime-tools

* Update documentation referencing type
2025-11-19 12:13:28 -08:00
M Starch
8cbba542fc
Make fpp-to-json opt-in by default (#4449) 2025-11-19 12:02:15 -08:00
Will MacCormack
31b6488723
Print the task name when socket open/recv fails (#4434)
* Log task name of socket that failed to open port

* Give failed to recv the same treatment

* Format my changes
2025-11-18 16:56:22 -08:00
M Starch
62dd7445db
Restrict core C and DH when turning off text loggers (#4438) 2025-11-18 16:56:11 -08:00
M Starch
afb6f13853
Add convienence functions to MemoryAllocator (#4439)
* Add convienence functions to MemoryAllocator

* Fix comments
2025-11-18 16:55:57 -08:00
kevin-f-ortega
6388f046e1
Add undef to fix VxWorks collision problem (#4424)
* adding undef to fix collission problem.

* Fix comment typo in UdpSocket.hpp
2025-11-18 10:05:11 -08:00
Joseph Perez
6a132c5df4
Remove redundant line from ActiveRateGroup SDD (#4435) 2025-11-18 10:02:15 -08:00
Tristan
317ba3d7e0
Update fprime-gds version to 4.0.2a10 (#4433) 2025-11-18 09:48:15 -08:00
djbyrne17
402c0317b6
Update obsolete link in docs (#4423)
* Update obsolete link and screenshots

* Revert image updates

---------

Co-authored-by: djbyrne <djbyrne@jpl.nasa.gov>
Co-authored-by: chammard <thomas.boyer.chammard@jpl.nasa.gov>
2025-11-17 10:40:58 -08:00
Rob Bocchino
589871a957
Update FPP version to 3.1.0a10 (#4418) 2025-11-13 09:03:22 -08:00
M Starch
cc2522b257
Add fpp-to-json to FPP model sub-build (#4268)
* Add fpp-to-json to FPP model subbuild

* Update fprime-fpp version to 3.1.0a9
2025-11-11 17:59:32 -08:00
M Starch
6af7bcd5a9
ComAggregator updates (#4402)
* Fix timeout queue overflow with long transmissions

* Fix aggregator existing design

* Fix exactly full edge case

* Bump FPP version
2025-11-11 17:20:18 -08:00
Zimri Leisher
1c87278b6b
Clean up FpySequencer directives (#4395)
* Remove assert and float floor div

* Rename add/sub/mul

---------

Co-authored-by: M Starch <LeStarch@googlemail.com>
2025-11-11 17:20:01 -08:00
Rob Bocchino
a587677fae
Fix FppTest (#4410)
* Fix regression in FppTest

* Rename SerializeBufferBase to LinearBufferBase

* Revise FppTest

Add missing tests to CMakeLists
2025-11-11 10:50:37 -08:00
Rob Bocchino
a46fccf54d
Fix Ref build (#4409)
CMake directives were out of order
2025-11-11 10:49:12 -08:00
Ian Brault
2b65cc83cf
Add new Fw::ConstStringBase type for strings backed by immutable string literals (#4269)
* Add new Fw::StringBase type StaticString for strings backed my immutable literals

* Spellcheck fix

* Add disclaimer comment about use of StaticString

* Refactor the StringBase interface into an immutable ConstStringBase abstract base class and the now mutable StringBase class

* Rename StaticString to ConstExternalString and inherit from ConstStringBase

* Fix typo

* Change references from StringBase to ConstStringBase where applicable

* Updates following review meeting: add missing deserialize function and add new error status, move length function implementation into ConstStringBase so it is not pure virtual

* Clang format fix

* Additional clang-format fixes

* Fix the copy-assignment operator for StringBase not being correctly evaluated

* Clang format fix

* Explicitly delete the Serializable assignment operator and provide a skeleton implementation for RawTimeInterface to appease the compiler

* Revert "Explicitly delete the Serializable assignment operator and provide a skeleton implementation for RawTimeInterface to appease the compiler"

This reverts commit 086d7bcd3ca9c4f6e553d7fc34d0d126a69a165b.

* Move ConstStringBase to separate hpp/cpp files, plus other pull request feedback

* Clang format fix

* Update length implementation for ConstStringBase and ConstExternalString

* Improved asserts in ConstExternalString constructor

Co-authored-by: Rob Bocchino <bocchino@icloud.com>

* Fixed ConstStringBase length implementation

Co-authored-by: Rob Bocchino <bocchino@icloud.com>

* Clang format fix

* Add some UTs for ConstExternalString, fix non-overridden interfaces, and fix ConstStringBase::maxLength asserting for zero capacity strings

* Spell-check fix for ConstExternalString UTs

* Revise length implementation in ConstStringBase

If the capacity is zero, return zero

* Format

---------

Co-authored-by: Ian Brault <ian.r.brault@jpl.nasa.gov>
Co-authored-by: Rob Bocchino <bocchino@icloud.com>
Co-authored-by: Rob Bocchino <bocchino@jpl.nasa.gov>
Co-authored-by: M Starch <LeStarch@googlemail.com>
2025-11-07 09:50:05 -08:00
dependabot[bot]
90bac90821
Bump brotli from 1.1.0 to 1.2.0 (#4400)
Bumps [brotli](https://github.com/google/brotli) from 1.1.0 to 1.2.0.
- [Release notes](https://github.com/google/brotli/releases)
- [Changelog](https://github.com/google/brotli/blob/master/CHANGELOG.md)
- [Commits](https://github.com/google/brotli/compare/go/cbrotli/v1.1.0...v1.2.0)

---
updated-dependencies:
- dependency-name: brotli
  dependency-version: 1.2.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-07 08:27:05 -08:00
Thomas Boyer-Chammard
ba5988bfcd
Add How-To Implement a Bus Driver guide (device driver 2 of 2) (#4398)
* initial changes

* v0.1

* More improvements

* fix spelling
2025-11-06 16:29:40 -08:00
Thomas Boyer-Chammard
d669ea2c5a
Replace FpConfig.h header with FPP model elements (#4393)
* Update FpConfig.h

* Update AcConstants.fpp

* Update FPrimeBasicTypes.hpp

* Update BasicTypes.h

* Update FpySequencer.hpp

* Update FpConfig.h

* Update FPrimeBasicTypes.hpp

* Update BasicTypes.h

* Update BasicTypes.h

* Update BasicTypes.h

* Update BasicTypes.h

* Update BasicTypes.h

* Update BasicTypes.h

* Update BasicTypes.h

* Update FPrimeBasicTypes.hpp

* Update FPrimeBasicTypes.hpp

* Update FpConfig.h

* Update AcConstants.fpp

* Revert casts

* Add static_cast in asserts, reorganize files per feature

* Fix static_assert after merging devel

* Add assert to static cast

* clean up comments and TODOs

* formatting

* Fix formatting

* Fix RHEL8 error

* Other UT cast fix

* cast one side only

* fix spelling and move assert count to FpConstants

* Reorder and comments

* rob test

* re-add double cast

* Revert testing static_cast

* Update docs

* use SIZE_OF variables instead of hardcoding value

* Update FpConfig in CMake tests

---------

Co-authored-by: ekswang <eric.k.wang@jpl.nasa.gov>
2025-11-06 16:29:15 -08:00
Vince Woo
48e4720419
Created new SerialBufferBase as a parent of SerializeBufferBase (now renamed LinearBufferBase). (#4288)
* Created new SerialBufferBase as a parent of SerializeBufferBase. Renaming interface functions to be less confusing.

* Deprecating copyRawOffset. No direct use-cases in F' core.

* Make SerialBufferBase a true pure virtual interface.

* Changing Serializable to work with SerialBufferBase parent interface.

* Changing copyRaw and copyRawOffset to work with SerialBufferBase

* Updating documentation for SerialBufferBase usage

* Adding some documentation. Adding missing ASSERT in copyRaw. Fixing some bugs that new ASSERT uncovered.

* Renaming SerializeBufferBase to LinearBufferBase. Add a using declaration to maintain backwards compatability. Properly mark LinearBufferBase functions as override.

* Filling in the rest of the docstrings for the classes in Serializable

* Removing redundant virtual keyword on override function

* Applying clang formatting

* Incorporating PR comments

* Fix compile issues

* Bump version to alpha

* Format

* v

---------

Co-authored-by: M Starch <LeStarch@googlemail.com>
2025-11-06 16:23:20 -08:00
M Starch
b254e981a1
Update directives documentation with requirements (#4385)
* Update directives documentation with requirements

Added requirements for various directives and updated documentation.

* Refine sequencer requirements for clarity

* sp, missing exit requirement

* Update requirement references in directives.md

* Adding missing stack results as N/A

* Update requirements and descriptions in directives.md

Updated requirements for various directives and clarified descriptions. Removed unused directives and added TODOs for further specification.

* Update sequencer requirements in sdd.md

* Add in 2's complement notes.

Updated integer operations to use unsigned 64-bit integers and clarified handling of integers with 2's complement representation.

* Update documentation with 2's complement caution

Added caution note about 2's complement representation requirement.

* sp
2025-11-04 09:29:06 -08:00
Zimri Leisher
b1b613fd0c
FpySequencer Add DUMP_STACK_TO_FILE command (#4384)
* Add DUMP_STACK_TO_FILE command

* Add docstring

* Fix bug in directive

* format
2025-11-04 09:18:55 -08:00
Saransh Chopra
903677e97d
Fix clang-tidy checks (#4379)
* fix(.clang-tidy): `Checks` is supposed to be a comma separated list of checks

* fix clang-tidy warning

* fix a few lint warnings

* run clang-format

* more format
2025-11-03 17:45:54 -08:00
Thomas Boyer-Chammard
d6f43b02ff
Add How-To implement a Device Manager (device driver 1 of 2) (#4378)
* Add guide for developing device drivers in F Prime

* Add develop-device-driver.md

* Update device driver docs

* small fixes

* Polish things up

* more polishing

* spelling and link fixes

* Address review comments
2025-11-03 11:41:06 -08:00
Zimri Leisher
d0e9508988
FpySequencer new directives for loops (#4356)
* Rework exit, push tlm and push prm

* Rename store to store const offset

* Add new dirs for loops

* Compiling again

* Add UTs, passing

* Format

* sp

* Update schema version

* Update error code names

* Update directives documentation

* Add new stack class, switch DUPLICATE to PEEK

* Update peek docs

* Remove old docs

* sp

* sp, format
2025-11-03 10:03:38 -08:00
Copilot
aa4517c69b
Add Configuration section to BufferManager SDD (#4355)
* Initial plan

* Add Configuration section to BufferManager SDD

Co-authored-by: thomas-bc <49786685+thomas-bc@users.noreply.github.com>

* Improve example by adding component instantiation

Co-authored-by: thomas-bc <49786685+thomas-bc@users.noreply.github.com>

* Simplify configuration example and remove TBD sections per review feedback

Co-authored-by: thomas-bc <49786685+thomas-bc@users.noreply.github.com>

* Manual updates

* add link

* Address review feedback: clarify memID, bin entry wording, and numBuffers description

Co-authored-by: thomas-bc <49786685+thomas-bc@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: thomas-bc <49786685+thomas-bc@users.noreply.github.com>
Co-authored-by: thomas-bc <thomas.boyerchammard@gmail.com>
2025-11-03 09:36:28 -08:00
M Starch
edf5c85d09
Allow bypass of posix_fallocate with FPRIME_SYNTHETIC_FALLOCATE (#4380) 2025-11-03 09:33:34 -08:00
M Starch
695478d1a1
Bump fprime-gds to 4.0.2a9 for FileUplink fix (#4382) 2025-11-03 09:30:44 -08:00