Replies: 2 comments
-
Answer depends on what else depends on or uses that data. I see the following options:
|
Beta Was this translation helpful? Give feedback.
0 replies
-
depending on your capacity for available message IDs, I'd add a fourth option to @skliper for the source app to produce both an 8 Hz packet and a 1Hz packet with 2 different MIDs if you don't want to send it to HK just to retransmit. We used this for a couple of cases on our Orion backup flight software project and it worked well for us. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
I have an app that reads data from an IMU and publishes the data at a high rate (for example, 8Hz). I have another app that runs at a lower rate and doesn't need to read all of the data that comes out of the IMU app, but only needs to read the latest information at 1Hz.
If the second app subscribes to the data, then it would need to constantly read data that it doesn't need to prevent the pipe from filling up, and is a waste of CPU cycles if I understand correctly. My current workaround is to have a pipe size of 1, which will cause it to constantly overflow and drop new data. Then, when it's time to read the latest data, it would simply do a read twice: once to read what's in the pipe (clearing it), and then one more time to get the latest.
This is very ugly in my opinion, and generates unnecessary error messages, and I was wondering if there's a better way of handling it within the cFE framework. I get the feeling that I'm going about this the wrong way.
Beta Was this translation helpful? Give feedback.
All reactions