BallAerospace / COSMOS

Ball Aerospace COSMOS
https://ballaerospace.github.io/cosmos-website/
Other
360 stars 127 forks source link

Extremely basic Telemetry message never identifying packets #1784

Closed hydrochloriic closed 1 year ago

hydrochloriic commented 1 year ago

I have been trying to set up a very basic telemetry-only plugin, but have completely failed to get the cmdtlmserver to recognize a packet. Using 5.0.5.

The configuration is a basic serial feed from an arduino's created COM port, which I'm porting to a TCPIP bridge in windows. This much is working correctly, but inside CmdTlmServer all I see is "UNKNOWN packet length: 29 starting with: [data]".

The data is correctly arriving, the first byte is the ID and it matches the tlm.txt, Rx bytes increments. But it's always placed in the UNKNOWN target, never the target associated with that packet. I've cut the tlm.txt down to the bare ID item and two other items to rule out errors in config, but there's no change.

Here is a received data packet: RANGER_INT UNKNOWN packet length: 29 starting with: AB1FA314A58EF50F9B3965F60181CF63

And here is the tlm.txt:

TELEMETRY RANGER CAN BIG_ENDIAN "Telemetry description"
  # Keyword      Name  BitSize Type   ID Description
  APPEND_ID_ITEM PKTID 8 UINT 0xab "Identifier"
  APPEND_ITEM SIZE 8 UINT "Packet Size"
  APPEND_ITEM LOOPTM 16 UINT "Loop Time"

I'm sure I'm missing a basic error somewhere, but I've exhausted all my ideas and all the existing help requests I could find that have the same issue. Any clues would help a ton, thank you!

ryanmelt commented 1 year ago

Could be a couple things.

  1. Do you have the target mapped to the interface in plugin.txt?
  2. If you have multiple packets identifying in different ways, you will need to set TLM_UNIQUE_ID_MODE in target.txt
hydrochloriic commented 1 year ago

I only have one packet for now, I was attempting a KISS troubleshooting method.

But your first suggestion prompted me to look at the plugins.txt for the 700th time, and I noticed that I somehow left out the MAP_TARGET line. Sure enough, now the packets are being correctly interpreted! I knew it was a dumb error somewhere, but after days of staring at text files it gets easy to miss things.

Thanks for the direction!