traclabs / cfe_cfdp

cfe_cfdp
https://traclabs-brash.bitbucket.io/
MIT License
0 stars 0 forks source link

Final notes of CFDP - Current status #4

Open ana-GT opened 4 months ago

ana-GT commented 4 months ago

A few final updates (in the hope we get the opportunity to pick this up again at some point):

Andrew and I found last week that CI_LAB_MAX_INGEST was set too low by default, likely causing large file PDUs to be silently truncated (a bug in ci_lab's error detection). 

Changing this cleaned up the packets (no more obvious gaps), but did not resolve the reported CRC errors on rosgsw to rosfsw
Note: the same issue exists for the reverse direction (rosfsw to rosgsw)

I pushed some final cleanup to cfe_ros2_bridge_plugin of the test script
Pushed some changes to cfdp_wrapper in branch feature/stats that

adds some statistics output
Adds a 0.1s delay in message publication as another band-aid to improve cfdp reliability
Set QoSProfile for publisher (which didn't seem to have any affect)

cfe_sbn_bridge_plugin -- updated QoS profile (unknown if this had any affect) and minor fix to the wireshark dissector

pushed to feature/qos

fsw_ros2_bridge - updated QoS profile (unknonw if this had any affect)

pushed to feature/qos

NOT COMMITTED

cFS: cpu2_platform_Cfg.h doubled SB_BUF_MEMORY_BYTES.  This didn't seem to have any effect.
ci_lab - Increased CI_LAB_MAX_INGEST to 8192.  

As noted above this did cleanup some issues, but I haven't tried figuring out how to override thsi setting from the sample_defs folder instead of forcing us to fork thsi submodule.

Current CFDP Status

Test script has only fully functional tests enabled
64k transfer from cfe to rosgsw does work, but we have a juicer-related bug preventing us from issuing that command from ros
Most/all other 64k transfers are still failing.  We've already fixed several contributing errors (not all of which have been merged in, per above) and it appears that all packets are now making it through without visually identifiable errors, but the resulting files are still at best ending with CRC errors in UNACK mode.  ACK mode has not been retested since the last round of bugfixes, but hopefully at least some combinations are working with retries now.
DavidEdell commented 4 months ago

SBN and CFE bridges have been updated to double the UDP receive side, which has resolved the last remaining issues. Note: Many of the buffer sizes updated in these related commits have been chosen arbitrarily, and should probably be fine-tuned to match cFE/protocol limits.

All tests have now been enabled, except for those still blocked by the juicer issue with fixed-length strings preventing construction of valid commands to cFE's CFDP app.