Re: Parameter with bitlength non divisble by 8 messing up TM parsing

18 views
Skip to first unread message
Message has been deleted

AB

unread,
Aug 13, 2025, 9:14:22 AMAug 13
to yamcs
Fixed

Problem on our side.

AB schrieb am Donnerstag, 31. Juli 2025 um 17:43:27 UTC+2:
Dear yamcs-Team, 

we've noticed that telemetry parameters using IntegerDataTypes with encoding of anything other than 'uint8/16/32/...' seem to mess up the yamcs parser for our telemetries. A small telemetry containing 

1 x uint1_t
1 x uint8_t
1 x uint1_t
array: 3 x uint8_t


is of by 2 bits from being divisible by 8 and is therefore messing with the last 2 bits of our telemetry (in this case last 2 bits of last array entry).

yamcs_non-divisible-by-eight.png
Figure 1: Debugging stack for requesting example telemetry containing 2 boolean parameters encoded with uint1_t

Sending our 'request_tm' command leads to always changing results, meaning that in case of being 2 bits off of being divisible by eight leads to the last 2 bits being read as 0b00 up to 0b11. 
This leads also to problems parsing strings, since parser does not find the beginning of a string parameter where is is supposed to start (byte aligned).

Just for a sanity check: here our simple implementation for debugging this issue.
yamcs_non-divisible-by-eight_definition.png
Figure 2: Parameter definition for debugging non-byte-aligned telemetries

Thank you in advance
Reply all
Reply to author
Forward
0 new messages