14 Commits

Author SHA1 Message Date
Thomas Boyer-Chammard
c3b2e04880
Use data return pattern on Uplink and standardize port names (#3546)
* First pass at Svc + TcpClient implementation

* Revert FileUplink changes

* Add copy (with allocation/deallocation) to FprimeRouter to simplify buffer management

* Update FprimeRouter UTs

* Update FprimeDeframer UTs

* Update FrameAccumulator UTs

* Update ComStub UTs

* Update missing Drv and UTs

* Update ComInterface to use ComDataWithContext on output

* Update Ref/RPI topology

* Fix spelling

* Fix test typo

* Update Udp component and UTs

* Rename data ports and standardize "Return" naming pattern

* Fix variable name

* Adapt UTs

* Update Communication Adapter Interface docs

* Full SDD updates

* Spelling &  nits and details

* Put formatting back to original

* Update Deframer interface to include bufferReturn

* Address review comments
2025-05-08 10:54:54 -07:00
AlesKus
374060ed12
Fix sign-compare warning in Os::Posix::File, Svc::ComQueue, and Svc::TlmPacketizer (#3515) 2025-04-29 18:05:00 -07:00
Thomas Boyer-Chammard
d0246f148b
Add Framer FPP interface, implement FprimeFramer and adapt ComQueue (#3486)
* Initial FprimeFramer and FprimePacketizer

* Code clarity + set up UTs

* Rework ComQueue and ComStub to use DataWithContext

* Add packets to RefPackets.fppi

* Fix ComQueue tests

* Add hotfix to FileDownlink instead of ComQueue

* Fix cancelPacket as well

* Fix ComQueue UTs by removing hotfix

* Refactor DataWithContext to use an FPP object for context instead of Fw.Buffer

* Touch up testing

* Add docs

* more docs

* More docs

* Rework buffer deallocation pattern to pass-through ComQueue

* Update ComStub UTs

* Restore original FileDownlink.cpp

* Formatting tweak

* Update deprecated getSerializeRepr() calls

* deserialization methods

* Fix spelling

* add cast for safety

* CMakefile change

* Bump ComQueue depth

* Update RPI deployment with new Downlink stack

* Rename comQueueIn port to comPktQueueIn

* Fix comQueueIn to comPktQueueIn change

* Remove legacy Svc.Framer

* Fix CMake UTs

* Fix RPI topology config

* Fix FprimeProtocol.fpp module

* Fix namespacing

* Use const reference for FrameContext port

* Review comments EXCEPT port passback refactor

* Rework ComStub with new ByteStream

* New ByteStream - ComInterface model

* Rework TcpClient / TcpServer with new bytestream

* Adapt UDP component for new ByteStream

* Adapt FrameAccumulator for new ByteStream

* Adapt FprimeFramer for new ByteStream

* Update Ref topology with new ByteStream model

* Remove all legacy deallocates from Drivers; reintroduce DEPRECATED model types

* Fix spelling and include error

* More spelling....

* RPI and RpiDemo fixes

* Fix conversion warning on RPI

* static_cast for short int on RPI

* Standardize port names

* Remove legacy Drv types and merge RECV/SEND enum type, delete StreamCrossover

* Update SDDs

* Update SDDs

* Fix ComInterface <-> Framer interfaction, clarify comments and fix annotations

* Switch ComStub from ASSERT to log failure and return buffer

* Add history size check + clarify test handler overrides

* Fix RPI topology to wire comStub on Uplink

* Rename comm to comDriver in RPI topology

* Update communication adapter interface docs
2025-04-29 16:40:36 -07:00
M Starch
2dcd21902d
Testing with configured fixed-size types (#3409)
* Testing with configured fixed-size types

* Linux fixes

* Final settings

* Removing FwNativeIntType
2025-03-28 11:11:13 -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
ec08d43dd3
Removes NATIVE_INT_TYPE, NATIVE_UINT_TYPE, and POINTER_CAST from Fw (#3286)
* NATIVE_INT_TYPE use in toString

* NATIVE_INT_TYPE use in SimpleObjRegistry

* NATIVE_INT_TYPE use in Asserts

* NATIVE_INT_TYPE use in Fw/Comp

* NATIVE_INT_TYPE use in getCapacity

* NATIVE_INT_TYPE use in getEntries

* NATIVE_INT_TYPE use in size/length

* NATIVE_INT_TYPE use in FILE_NAME_ARG

* NATIVE_INT_TYPE use in Fw (misc)

* NATIVE_INT_TYPE use in identifier

* NATIVE_INT_TYPE use in Fw (misc II)

* POINTER_CAST in Buffer

* POINTER_CAST in Serializable

* sp

* Removing no longer used DefaultTypes.hpp

* Fixes to accomidate Fw refactor

* Unit-test and CI fixes

* Fixing review comments - pt 1
2025-03-04 14:42:48 -08:00
M Starch
34a4e2c96d
NUM_PORTS -> FwIndexType (#3239) 2025-02-14 15:08:48 -08:00
M Starch
a5c853b9cf
NATIVE_INT_TYPE portNum to FwIndexType portNum (#3236) 2025-02-14 12:25:12 -08: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
David Kessler
6a921a1ef1
Fix ComQueue Does Not Deallocate Buffers on Overflow (#2853)
* Added Fw.BufferSend deallocate port to `ComQueue`

* Updated FPP to v2.2.0a2

* Change `buffQueueIn` port from `drop` to `hook`

* Added queue overflow hook method implementation

* Added return status to `ComQueue::enqueue()`

* `Fw::Buffer` is now deallocated on queue overflow

* Enabled `UT_AUTO_HELPERS` in `ComQueue` UT build

* Updated `ComQueue` UTs

* Explicitly discard `enqueue()` return status

* Replaced `overflowhook()` call with `deallocate()`

* Fixed comment style

* Renamed UT test case

* Added internal queue overflow UT

* Added assertion on `overflowHook()` argument
2024-09-17 18:09:32 -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
Rob Bocchino
c02f35145e
Remove FPP dependencies on native int types (#2548)
* 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
2024-03-04 19:34:23 -08:00
Rob Bocchino
f10c96a049
Revise Linux platform types (#1803)
* Revise Linux platform types

* Fix regression in test autocoder

TimeBaseStoreType is not the same as TimeBase

* Revise test autocoder

Cast to the TimeBaseStore type with a known size

* Revise test autocoder

Remove unnecessary const casting

* Fix integer type mismatch in ComQueue
2022-12-08 10:44:34 -08:00
M Starch
bba76691f2
lestarch: adding Svc::ComQueue component (#1741)
* lestarch: initial com queue work

Co-authored-by: pelmini <37095187+pelmini@users.noreply.github.com>

* lestarch: fix Fw::Buffer ownership for retries

* lestarch: adding com queue buffer handling fix

* lestarch: fixing com queue unit test

* lestarch: adding this-> to prefix member variables

* lestarch: fixing CI flagged items

* lestarch: fixing review comments

* lestarch: cleaning up SDD adding diagrams

* lestarch: renaming m_retryBuffer and formatting

* lestarch: update state machine diagram including retry buffers

* lestarch: sp

* lestarch: removing retries from com queue

* Update component diagram

* Fix typo in ComQueue SDD

Co-authored-by: pelmini <37095187+pelmini@users.noreply.github.com>
Co-authored-by: bocchino <bocchino@jpl.nasa.gov>
2022-11-03 17:36:10 -07:00