Skip to content

Add support for CCSDS TC/TM and SpacePacket protocols #3684

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 108 commits into from
Jun 11, 2025
Merged
Changes from 1 commit
Commits
Show all changes
108 commits
Select commit Hold shift + click to select a range
7311cbc
First pass at Svc + TcpClient implementation
thomas-bc Apr 30, 2025
0ae7ba9
Tmp work
thomas-bc Apr 30, 2025
e60ffad
Revert FileUplink changes
thomas-bc Apr 30, 2025
56dc659
Add copy (with allocation/deallocation) to FprimeRouter to simplify b…
thomas-bc Apr 30, 2025
8bc06f3
Update FprimeRouter UTs
thomas-bc Apr 30, 2025
0b69b1f
Update FprimeDeframer UTs
thomas-bc Apr 30, 2025
678fd45
Update FrameAccumulator UTs
thomas-bc Apr 30, 2025
66d5a91
Update ComStub UTs
thomas-bc Apr 30, 2025
6566ae9
Update missing Drv and UTs
thomas-bc Apr 30, 2025
75638b0
Update ComInterface to use ComDataWithContext on output
thomas-bc May 1, 2025
e2449af
Update Ref/RPI topology
thomas-bc May 1, 2025
84d5afe
Fix spelling
thomas-bc May 1, 2025
57f4c0f
Fix test typo
thomas-bc May 1, 2025
db4d33c
Update Udp component and UTs
thomas-bc May 1, 2025
52dc98d
Rename data ports and standardize "Return" naming pattern
thomas-bc May 1, 2025
a507cdf
Merge branch 'devel' into uplink-buffer-return
thomas-bc May 1, 2025
2040518
Fix variable name
thomas-bc May 1, 2025
1490693
Adapt UTs
thomas-bc May 1, 2025
99c2b75
Update Communication Adapter Interface docs
thomas-bc May 1, 2025
58dab50
Full SDD updates
thomas-bc May 1, 2025
d3d7857
Spelling & nits and details
thomas-bc May 1, 2025
c205399
Put formatting back to original
thomas-bc May 1, 2025
fcd852a
Merge branch 'uplink-buffer-return' into ccsds-protocols
thomas-bc May 2, 2025
4ca0304
Added SpacePacket, TC and TM framers/deframers + Ref topology. Workin…
thomas-bc May 6, 2025
4c4c24a
TODOs and code cleanup
thomas-bc May 6, 2025
1f1e456
Add APID enum to ComCfg.fpp and route based on received APID
thomas-bc May 8, 2025
0eb242a
Merge remote-tracking branch 'nasa/devel' into ccsds-protocols
thomas-bc May 8, 2025
d65e591
Increment counts per frame/apid
thomas-bc May 9, 2025
9214221
Remove duplicate files
thomas-bc May 12, 2025
6282625
Document and implement services/functions provided by the TCDeframer
thomas-bc May 13, 2025
f7e3550
Merge remote-tracking branch 'nasa/devel' into ccsds-protocols
thomas-bc May 13, 2025
efc26d1
Add events, todos and notes
thomas-bc May 13, 2025
6d73562
Merge remote-tracking branch 'nasa/devel' into ccsds-protocols
thomas-bc May 14, 2025
2cf0435
fill TM frame with idle packet
thomas-bc May 14, 2025
68dc74b
Merge remote-tracking branch 'nasa/devel' into ccsds-protocols
thomas-bc May 14, 2025
cd06ada
Merge remote-tracking branch 'nasa/devel' into ccsds-protocols
thomas-bc May 19, 2025
c42a5f4
Add ApidMapper component and map APID - FwPacketDescriptor
thomas-bc May 19, 2025
a916ca7
Refactor to new CMake API
thomas-bc May 20, 2025
cdb6c9b
Update Types and Add TCDeframer tests
thomas-bc May 20, 2025
5825903
Update type usage namespacing
thomas-bc May 20, 2025
9300812
Finish TCDeframer UTs
thomas-bc May 20, 2025
01880ea
Add TMFramer tests and refine VcId handling
thomas-bc May 21, 2025
cbf8d92
Tests and code cleanup
thomas-bc May 21, 2025
95667c4
Define ComPacketType in FPP
thomas-bc May 22, 2025
8c3ddba
Map FW_PACKET_FILE to downlink specific APID
thomas-bc May 22, 2025
a4b9ccc
Remove sequence number check
thomas-bc May 22, 2025
3a5321c
Add packet loss notification to space packet
thomas-bc May 22, 2025
1f1fe5e
Tests WIP
thomas-bc May 22, 2025
027afb8
WIP
thomas-bc May 22, 2025
f25a6ba
Merge remote-tracking branch 'nasa/devel' into ccsds-protocols
thomas-bc May 22, 2025
1ac783d
Use SpacePacket header type in TMFramer idle packet
thomas-bc May 23, 2025
5dfd649
SpacePacketDeframer tests and untracked APID detection
thomas-bc May 23, 2025
1f59979
Add APID (=PacketDescriptor) extraction to FprimeDeframer
thomas-bc May 23, 2025
b8debb1
Use ApidManager on uplink to validate seq count (is central authority…
thomas-bc May 23, 2025
ad5d07d
Code cleanup
thomas-bc May 24, 2025
c757edb
Much cleaner ApidManager as a service, not in the middle of framing
thomas-bc May 24, 2025
3781aa1
Even better ApidManager
thomas-bc May 24, 2025
b82ba4b
Add SpacePacketFramer UTs
thomas-bc May 24, 2025
58cac6d
Set up rule based testing for ApidManager
thomas-bc May 24, 2025
59f211c
Code cleanup and fix TMFramer UT
thomas-bc May 27, 2025
6c70bbc
First pass at SDDs and stuff
thomas-bc May 29, 2025
0792b0e
SDD fixes
thomas-bc May 29, 2025
7b40f98
ApidManager Rule-based testing
thomas-bc May 29, 2025
89847f6
Improve TMFramer code coverage, docs and comments
thomas-bc May 29, 2025
35d7b46
Types cleanup
thomas-bc May 29, 2025
53ce274
Add CRC check to CcsdsTCFrameDetector
thomas-bc Jun 2, 2025
d72a288
Add unit tests for CcsdsTCFrameDetector
thomas-bc Jun 2, 2025
b9d746f
Fix Ref topology
thomas-bc Jun 2, 2025
f7bcdd5
Fix old PacketType usage
thomas-bc Jun 2, 2025
dbc6b72
Fix ComQueue UTs
thomas-bc Jun 2, 2025
ad35401
Fix CI warnings
thomas-bc Jun 2, 2025
429e2e4
Add test for CRC corruption in frame detector
thomas-bc Jun 2, 2025
20513b1
Spelling
thomas-bc Jun 3, 2025
3820bd2
Remove ApidDemo component from topology
thomas-bc Jun 3, 2025
68b8e7a
Fix more static analysis
thomas-bc Jun 3, 2025
e42775a
Clean up ApidManager tests and fix static analysis warnings
thomas-bc Jun 3, 2025
a2c9325
Fix UTs on RHEL8
thomas-bc Jun 3, 2025
285676e
Fix SDD links
thomas-bc Jun 3, 2025
30da194
Fix more static analysis on UTs
thomas-bc Jun 3, 2025
f293aab
More spelling fixes
thomas-bc Jun 3, 2025
0f379a5
Improve SDDs and comments
thomas-bc Jun 3, 2025
c3a8d26
Update metadata
thomas-bc Jun 3, 2025
fa8271b
More SDD updates
thomas-bc Jun 3, 2025
7341f2c
Attempt UT fixes
thomas-bc Jun 4, 2025
493702b
First pass of review comments
thomas-bc Jun 4, 2025
9684c6c
Fix length token is minus 1 inconsistency
thomas-bc Jun 5, 2025
66ee6c9
Merge remote-tracking branch 'nasa/devel' into ccsds-protocols
thomas-bc Jun 5, 2025
d5ab202
Review recs: static assert frame size, docs, TM buffer asserts
thomas-bc Jun 6, 2025
a7222af
Add fprime-gds.yml to Ref for GDS with framing selection
thomas-bc Jun 6, 2025
d408b86
Merge remote-tracking branch 'nasa/devel' into ccsds-protocols
thomas-bc Jun 6, 2025
d8547c8
Update requirements.txt for GDS 4.0.0a3 (CCSDS protocols)
thomas-bc Jun 6, 2025
f43238a
Update UTs to reflect last update
thomas-bc Jun 6, 2025
a08101b
Drop Python 3.8 support
thomas-bc Jun 6, 2025
0ed2a42
Update FprimeRouter UTs for new APID routing
thomas-bc Jun 6, 2025
ad58c75
Fix spelling and RHEL8 cast warnings
thomas-bc Jun 6, 2025
dd1ac04
Merge remote-tracking branch 'nasa/devel' into ccsds-protocols
thomas-bc Jun 6, 2025
a0d78ed
Fix spelling again...
thomas-bc Jun 6, 2025
c4261bf
Deserialize APID in FprimeDeframer only if it is valid
thomas-bc Jun 7, 2025
b3c1283
Fix googletest warning??
thomas-bc Jun 7, 2025
052779e
static casting that u8 yall
thomas-bc Jun 7, 2025
cb33f68
Use width FPP constants
thomas-bc Jun 10, 2025
586d07c
Add SDD links
thomas-bc Jun 10, 2025
24aa9ee
Merge remote-tracking branch 'nasa/devel' into ccsds-protocols
thomas-bc Jun 10, 2025
7119eb0
Switch TMFramer/TCDeframer capitalization to TmFramer/TcDeframer
thomas-bc Jun 10, 2025
1ecfe39
Use git mv to rename files and directory
thomas-bc Jun 10, 2025
333dec8
oops forgot rename a test file
thomas-bc Jun 10, 2025
8c1f6b2
Merge branch 'devel' into ccsds-protocols
thomas-bc Jun 11, 2025
cdbbfe6
review changes: add annotations on all FPP ports
thomas-bc Jun 11, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Fix googletest warning??
  • Loading branch information
thomas-bc committed Jun 7, 2025
commit b3c12839ff262d2adabc8966d930e25e4dabc29e
5 changes: 4 additions & 1 deletion Svc/CCSDS/TCDeframer/test/ut/TCDeframerTester.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ TCDeframerTester ::~TCDeframerTester() {}
// ----------------------------------------------------------------------

void TCDeframerTester::testDataReturn() {
U8 data[1];
U8 data[1] = {0};
Fw::Buffer buffer(data, sizeof(data));
ComCfg::FrameContext nullContext;
this->invoke_to_dataReturnIn(0, buffer, nullContext);
Expand All @@ -48,6 +48,9 @@ void TCDeframerTester::testNominalDeframing() {
U8 seqCount = static_cast<U8>(STest::Random::lowerUpper(0, 0xFF)); // random 8 bit sequence count
U8 dataLength = static_cast<U8>(STest::Random::lowerUpper(1, 200)); // bytes of data, random length
U8 data[dataLength];
for (FwIndexType i = 0; i < dataLength; i++) {
data[i] = i % std::numeric_limits<U8>::max();
}

Fw::Buffer buffer = this->assembleFrameBuffer(data, dataLength, scId, vcId, seqCount);
ComCfg::FrameContext nullContext;
Expand Down
Loading