Best way to handle packets of TM of varying rates #3022
-
In our application, we need to resort to packets of fixed structure to facilitate interfacing with YAMCS, while the TM channels are emitted at wildly different rates and the datarate needs to be minimised. One way to do this is to group TM by expected rates and send them to YAMCS using a fixed format, one YAMCS port per group. TlmPacketizer seems to be a good candidate for this, however, either
I would very much like to leverage {Deployment}Packets.xml because it would facilitate generating the parsing pattern for YAMCS using fprime-gds's XML dictionaries loader (into packet template objects). What would be the best way to go about this? |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 11 replies
-
So to clarify, you would want something like:
|
Beta Was this translation helpful? Give feedback.
Don't mean to butt in, but if I understand your problem right, you might be able to solve this problem by using a single
TlmPacketizer
.Sched
port on each component which has telemetry at the given rate, and have thatSched
port only calltlmWrite_XYZ
for each channel at that rate. For example, seeBufferManager.SchedIn
.TlmPacketizer.Run
called at a frequency which is the lowest common denominator of the telemetry rates (in this case, 10 Hz)TlmPacketizer::PACKET_UPDATE_MODE
set toPACKET_UPDATE_ON_CHANGE
This should allow you to have several different rates of telemetry coming fro…