Comments (5)
After doing a little digging into this issue, here's what I found:
In pdu.c, the PDU length is packed on lines (269->272) as big-endian:
In pdu.c, the received file data packet struct generation also interprets PDU length as big-endian:
which is good.
The reason I was having issues now come from the following two pieces of code:
In cf_app.c:
In pdu.c:
Where the length is interpreted as a struct parameter assuming the machine's endianness (in my case little-endian). In the cf_app.c case, this forced me to create a very large incoming packet buffer (>60k bytes) for file chunks of just 200-500 bytes. In the pdu.c case, I ended up running into the "Incoming Nak truncated to fit in storage" message due to the pdu length indicating a large memory size for the NAK struct creation.
I think the two areas that use the length in an endianness dependent manner should be changed to accommodate running on a little-endian machine.
from cf.
I had the same issue. When I changed the code at cf_app.c line 1030 and added the CFE_MAKE_BIG16
macro it worked. I could get class 1 transactions working but I'm having issues with class 2 transactions. Did you have any success with class 2 transactions? @ashrafalhajjeh
from cf.
I realize this isn't immediate help, but just a heads up that there is a major update to CF in the works that we plan to release open source.
from cf.
@skliper I guess I'm just gonna wait for the new update then and work on other stuff for now.
from cf.
Closing as obsolete (applies to v2.X)
from cf.
Related Issues (20)
- Fix typo in Requirement CF2002.1.3
- Various type mismatches in CF
- EDS file inconsistencies
- Should message buffers returned from `CFE_SB_ReceiveBuffer` be checked for `NULL`?
- Segfault trying to dereference NULL pointer.
- Apply name updates from recent EdsLib change
- Placing a file with a name that is too long in the polling directory causes errors to spam
- Inaccurate comment in CF_CFDP_ReceiveMessage
- cf delete file when there is an error during tx HOT 1
- Transaction priority sorted incorrectly
- Static analysis issues JSC 2.1
- Standardization of Command Responses
- EotPacket provides transaction status, but defines are internal
- f-sanitizer report run time error in coverage-cf-cf_cfdp_r-testrunner
- f-sanitizer report run time error in coverage-cf-cf_cfdp_sbintf-testrunner
- f-sanitizer report run time error in coverage-cf-cf_cfdp_s-testrunner
- f-sanitizer report run time error in coverage-cf-cf_cfdp-testrunner
- f-sanitizer report runtime error in coverage-cf-cf_cmd-testrunner
- Convert internal `0`/`1` variables to `bool` type
- How to build HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cf.