-
Notifications
You must be signed in to change notification settings - Fork 0
Add CFDP support to Fprime #11
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
base: monarch
Are you sure you want to change the base?
Changes from 183 commits
fea5c79
7210036
e43b38a
2600d2f
4f88fcc
a3e5388
f37d4af
9ad7fa3
7e2cb25
430d729
9c87f41
feedb58
1551013
46071c6
69c38ad
331d83c
3757bf6
cd7e799
a9fe74c
9d06019
4c50ca8
69fe755
8356a3e
ccfb9ae
739eb7a
d26b713
ef241a2
1ea5039
e1f5f25
ade7fb2
53f8236
3fad49c
543f2e7
710cf82
0b5b839
4cbf3ab
d3a93ba
29939f4
74a0c2e
b1c8af0
6ac17b4
9ac0f43
a3f8ee8
d94df63
0a544de
2668bab
d7d7622
155e8b5
27df902
c921a51
e18bb88
fe08fa2
6497c81
01f2cc5
37b036c
6fab913
8a287cc
b331ef5
868c4ca
1ee2a22
1f6083d
590ea13
bbbb6cd
86a4b49
732ac69
8a7654e
3f39ef6
4788860
e49539b
409a99e
ae8b574
3a129c9
598951e
0be648c
d512ef1
48f7ef6
91be718
0bfb001
fba8b22
7c8af63
2ce3bc3
9642f74
44108bf
dd11db9
af0f1bc
4e8d696
c48a9bd
9b5b504
f182891
5d01adf
23a219e
5061c01
0c20f12
128c635
1e4fa60
eb83642
f9bddd2
2090e33
b188146
2e9b2c6
104ff16
b95c593
1e1f7f3
b8aaf7b
aab3cce
9f075b5
f295d6f
d593b66
3ff48f6
f062e00
2e076ac
a2d87c5
eabed81
df34674
5d18ba9
6730a7e
08c5d75
e6b0e1e
c708389
031e5e7
38e41a7
42634fc
614fbdd
b627b2e
b02d9cf
cd3a1f0
8a41bd3
153ea5e
8bf4634
4bea27c
ab2350d
a71a994
cf18349
99778fe
1e6e1db
b017ae8
e83fb1e
1ed86df
fb44beb
aab447f
e805ae9
b6537f0
1febea0
f9f813a
bb1dfa9
e837b67
ea03d2e
ad4cd84
53d9f2b
44a3921
98a26ad
6d5139a
cad4531
0c402f3
8e39947
6d79e11
a3505e4
9c64fa5
ecbe333
a96f293
b0d5040
ad0a6d6
49a6b85
8f17d01
89b2ae1
0cbb6fe
35ba5c6
794d41b
bd0dcdd
f702d35
0901d83
8ff8223
06b0ba0
ee7772c
59d0a70
753158a
59c6a87
5a281d5
ccc3798
8cb4c21
8c886c0
047d93b
b971f32
99340f8
6634aac
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,5 +1,6 @@ | ||
| Aadil | ||
| AArray | ||
| acknak | ||
| AClass | ||
| ACTIVERATEGROUP | ||
| ACTIVERATEGROUPCFG | ||
|
|
@@ -75,13 +76,17 @@ | |
| CCACHE | ||
| CCB | ||
| CComponent | ||
| CCs | ||
| ccsds | ||
| ccsparc | ||
| cdh | ||
| CDHCORE | ||
| CDHCORESUBTOPOLOGY | ||
| cerrno | ||
| CFDP | ||
| Cfdp | ||
Check warningCode scanning / check-spelling Ignored Expect Variant Warning
Cfdp is ignored by check spelling because another more general variant is also in expect. (ignored-expect-variant)
|
||
| CFDPMANAGER | ||
| CFDPTIMER | ||
| cff | ||
| cflag | ||
| cfsetispeed | ||
|
|
@@ -91,7 +96,10 @@ | |
| CHIPINFO | ||
| CHK | ||
| CHNG | ||
| chunklist | ||
| CIRCULARSTATE | ||
| clist | ||
| Clist | ||
Check warningCode scanning / check-spelling Ignored Expect Variant Warning
Clist is ignored by check spelling because another more general variant is also in expect. (ignored-expect-variant)
|
||
|
github-advanced-security[bot] marked this conversation as resolved.
Fixed
|
||
| CLOSEFILE | ||
| cloudbees | ||
| CMDDISP | ||
|
|
@@ -166,11 +174,13 @@ | |
| DEPRECATEDLIST | ||
| deser | ||
| Deserial | ||
| destq | ||
| DEVICESM | ||
| DHTML | ||
| diafile | ||
| diles | ||
| dinkel | ||
| diropen | ||
| dnf | ||
| dnp | ||
| docbook | ||
|
|
@@ -208,6 +218,7 @@ | |
| ECLIPSEHELP | ||
| EEnum | ||
| EHAs | ||
| eid | ||
| eip | ||
| Elts | ||
| emptydir | ||
|
|
@@ -217,6 +228,7 @@ | |
| endraw | ||
| enduml | ||
| EPP | ||
| eod | ||
| ERRORCHECK | ||
| errornum | ||
| ert | ||
|
|
@@ -231,6 +243,8 @@ | |
| externalproject | ||
| FAKELOGGER | ||
| fbuild | ||
| fdir | ||
| fdirective | ||
| FDISP | ||
| fdp | ||
| featherm | ||
|
|
@@ -247,15 +261,21 @@ | |
| FILEDOWNLINK | ||
| FILEDOWNLINKCFG | ||
| FILEHANDLING | ||
| FILEHANDLINGCFDP | ||
| FILEHANDLINGCFDPSUBTOPOLOGY | ||
| FILEHANDLINGSUBTOPOLOGY | ||
| FILEID | ||
| FILEMANAGERCONFIG | ||
| FILEOPENERROR | ||
| filestore | ||
| FILEWRITEERROR | ||
| finack | ||
| fio | ||
| fle | ||
| fnames | ||
| FNDELAY | ||
| fne | ||
| foffs | ||
| fontcolor | ||
| FONTPATH | ||
| foodoodie | ||
|
|
@@ -279,6 +299,7 @@ | |
| Fregoso | ||
| frsize | ||
| fsblkcnt | ||
| fsize | ||
| fsw | ||
| FWCASSERT | ||
| gcda | ||
|
|
@@ -305,6 +326,7 @@ | |
| grayscales | ||
| GROUNDINTERFACERULES | ||
| GSE | ||
| GSW | ||
| gtags | ||
| gtest | ||
| gtimeout | ||
|
|
@@ -412,6 +434,7 @@ | |
| LTK | ||
| lvar | ||
| LVL | ||
| LVs | ||
| lxml | ||
| MACROFILE | ||
| MACROSTART | ||
|
|
@@ -453,6 +476,7 @@ | |
| Mutexed | ||
| muxed | ||
| mycompany | ||
| NAKs | ||
| nasafprime | ||
| nbits | ||
| ncsl | ||
|
|
@@ -529,6 +553,7 @@ | |
| plainnat | ||
| plantuml | ||
| PNGs | ||
| polldir | ||
| pollfd | ||
| POLLIN | ||
| POLYDB | ||
|
|
@@ -560,8 +585,10 @@ | |
| propget | ||
| propput | ||
| protothreading | ||
| psn | ||
| ptbool | ||
| ptf | ||
| PTFO | ||
| pthread | ||
| ptrt | ||
| pvn | ||
|
|
@@ -570,6 +597,7 @@ | |
| QHG | ||
| qhp | ||
| qsf | ||
| queueidx | ||
| RAII | ||
| randtbl | ||
| raspberrypi | ||
|
|
@@ -602,11 +630,14 @@ | |
| ROOTDIR | ||
| rpi | ||
| rptr | ||
| rsp | ||
| RSubstate | ||
| SAlias | ||
| sanitizers | ||
| sats | ||
| SBF | ||
| SBINDIR | ||
| sbintf | ||
| sbom | ||
| scid | ||
| scm | ||
|
|
@@ -659,7 +690,9 @@ | |
| srandom | ||
| SRCS | ||
| sreddy | ||
| sret | ||
| sss | ||
| SSubstate | ||
| STAMEM | ||
| startuml | ||
| stdbool | ||
|
|
@@ -692,6 +725,8 @@ | |
| tabkermit | ||
| tagfile | ||
| tbase | ||
| tbd | ||
| tbl | ||
| tcanham | ||
| tcflush | ||
| tcgetattr | ||
|
|
@@ -728,16 +763,21 @@ | |
| TLMPACKETIZER | ||
| TLMPACKETIZERCOMPONENTIMPLCFG | ||
| TLMPACKETIZERTYPES | ||
| tlv | ||
| TODOLIST | ||
| TOKENBUCKETTESTER | ||
| topologydefs | ||
| totalram | ||
| tparam | ||
| TPP | ||
| trinomials | ||
| tsn | ||
| tts | ||
| Tumbar | ||
| tumbar | ||
| txa | ||
| txm | ||
| txw | ||
| typedef | ||
| typedef'ed | ||
| uart | ||
|
|
@@ -747,6 +787,7 @@ | |
| uitofp | ||
| UML | ||
| umod | ||
| unack | ||
| unconfigured | ||
| UNEXP | ||
| unistd | ||
|
|
@@ -777,6 +818,7 @@ | |
| wrs | ||
| wxgui | ||
| wxy | ||
| XACT | ||
| Xapian | ||
| XBee | ||
| xdf | ||
|
|
@@ -786,3 +828,4 @@ | |
| XXYY | ||
| ziext | ||
| zimri | ||
|
|
||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Can you do a pass to make sure that there's no diff where there doesn't need to be?
Collaborator
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @Brian-Campuzano Any chance you remember why it was needed to fix the comment offsets? 2668bab
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Pretty sure it was just the inconsistency triggering my OCD. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,58 @@ | ||
| # CFDP Manager Attribution | ||
|
|
||
| This component implements the CCSDS File Delivery Protocol (CFDP) for F-Prime (F'). It includes both ported code from NASA's Core Flight System (cFS) CFDP application and new F' implementations. | ||
|
|
||
| ## Source Attribution | ||
|
|
||
| Portions of this code are derived from the NASA Core Flight System (cFS) CFDP (CF) Application: | ||
| - **Repository**: https://github.com/nasa/CF | ||
| - **Version**: 3.0.0 | ||
| - **License**: Apache License 2.0 | ||
| - **Copyright**: Copyright (c) 2019 United States Government as represented by the Administrator of the National Aeronautics and Space Administration | ||
| - **NASA Docket**: GSC-18,447-1 | ||
|
|
||
| ## Files Ported from CF | ||
|
|
||
| The following files are ports/adaptations from CF source code and retain the original NASA copyright: | ||
|
|
||
| ### Core Engine & Transaction Management | ||
| - `Engine.hpp` / `.cpp` - from `cf_cfdp.c` / `cf_cfdp.h` | ||
| - `Transaction.hpp` - from `cf_cfdp_r.h` / `cf_cfdp_s.h` / `cf_cfdp_dispatch.h` | ||
| - `TransactionTx.cpp` - from `cf_cfdp_s.c` / `cf_cfdp_dispatch.c` | ||
| - `TransactionRx.cpp` - from `cf_cfdp_r.c` / `cf_cfdp_dispatch.c` | ||
|
|
||
| ### Data Structures & Utilities | ||
| - `Types/Types.hpp` - from `cf_cfdp_types.h` | ||
| - `Utils.hpp` / `.cpp` - from `cf_utils.h` / `cf_utils.c` | ||
| - `Channel.hpp` / `.cpp` - from channel functions in `cf_cfdp.c` / `cf_utils.c` | ||
| - `Chunk.hpp` / `.cpp` - from `cf_chunks.h` / `cf_chunks.c` | ||
| - `Clist.hpp` / `.cpp` - from `cf_clist.h` / `cf_clist.c` | ||
|
|
||
| Each of these files includes the full NASA copyright notice and Apache 2.0 license text in its header. | ||
|
|
||
| ## New F-Prime Implementations | ||
|
|
||
| The following files are new implementations for F-Prime and do not contain CF-derived code: | ||
|
|
||
| ### Integration Layer | ||
| - `CfdpManager.hpp` / `.cpp` - F-Prime component wrapper | ||
| - `Timer.hpp` / `.cpp` - F-Prime timer implementation | ||
|
|
||
| ### PDU Object-Oriented Implementation | ||
| All files in the `Types/` directory are new F' serializable implementations based on the CFDP Blue Book specification (CCSDS 727.0-B-5): | ||
| - `Types/PduBase.hpp` - Base class for all PDU types | ||
| - `Types/PduHeader.hpp` / `.cpp` - PDU header encoding/decoding | ||
| - `Types/MetadataPdu.hpp` / `.cpp` - Metadata PDU | ||
| - `Types/FileDataPdu.hpp` / `.cpp` - File Data PDU | ||
| - `Types/EofPdu.hpp` / `.cpp` - End of File PDU | ||
| - `Types/FinPdu.hpp` / `.cpp` - Finished PDU | ||
| - `Types/AckPdu.hpp` / `.cpp` - Acknowledge PDU | ||
| - `Types/NakPdu.hpp` / `.cpp` - Negative Acknowledge PDU | ||
|
|
||
| These files implement CFDP PDU encoding/decoding based on the specification rather than porting CF's C-style codec. | ||
|
|
||
| ## License | ||
|
|
||
| This component as a whole is licensed under the Apache License 2.0. See the top-level [LICENSE.txt](../../../LICENSE.txt) for the full license text. | ||
|
|
||
| The CF-derived portions retain their original NASA copyright and Apache 2.0 license as documented in their file headers. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,43 @@ | ||
| #### | ||
| # F Prime CMakeLists.txt: | ||
| # | ||
| # SOURCES: list of source files (to be compiled) | ||
| # AUTOCODER_INPUTS: list of files to be passed to the autocoders | ||
| # DEPENDS: list of libraries that this module depends on | ||
| # | ||
| # More information in the F´ CMake API documentation: | ||
| # https://fprime.jpl.nasa.gov/latest/docs/reference/api/cmake/API/ | ||
| # | ||
| #### | ||
|
|
||
| register_fprime_library( | ||
| AUTOCODER_INPUTS | ||
| "${CMAKE_CURRENT_LIST_DIR}/CfdpManager.fpp" | ||
| SOURCES | ||
| "${CMAKE_CURRENT_LIST_DIR}/CfdpManager.cpp" | ||
| "${CMAKE_CURRENT_LIST_DIR}/Engine.cpp" | ||
| "${CMAKE_CURRENT_LIST_DIR}/Chunk.cpp" | ||
| "${CMAKE_CURRENT_LIST_DIR}/Clist.cpp" | ||
| "${CMAKE_CURRENT_LIST_DIR}/Utils.cpp" | ||
| "${CMAKE_CURRENT_LIST_DIR}/Timer.cpp" | ||
| "${CMAKE_CURRENT_LIST_DIR}/Channel.cpp" | ||
| "${CMAKE_CURRENT_LIST_DIR}/TransactionTx.cpp" | ||
| "${CMAKE_CURRENT_LIST_DIR}/TransactionRx.cpp" | ||
| DEPENDS | ||
| CFDP_Checksum | ||
| Svc_Ccsds_CfdpManager_Types | ||
| ) | ||
|
|
||
| ### Subdirectories ### | ||
| add_fprime_subdirectory("${CMAKE_CURRENT_LIST_DIR}/Types/") | ||
|
|
||
| ### Unit Tests ### | ||
| register_fprime_ut( | ||
| AUTOCODER_INPUTS | ||
| "${CMAKE_CURRENT_LIST_DIR}/CfdpManager.fpp" | ||
| SOURCES | ||
| "${CMAKE_CURRENT_LIST_DIR}/test/ut/CfdpManagerTestMain.cpp" | ||
| "${CMAKE_CURRENT_LIST_DIR}/test/ut/CfdpManagerTester.cpp" | ||
| "${CMAKE_CURRENT_LIST_DIR}/test/ut/PduTester.cpp" | ||
| UT_AUTO_HELPERS | ||
| ) |
Uh oh!
There was an error while loading. Please reload this page.