Skip to Content
This documentation is provided with the HEAT environment and describes this HEAT instance.

opendis-decode

opendis-decode reshapes the OpenDIS Protocol Data Unit (PDU) output of hydrate-protobuf into the pdu list that entity-state-to-records reads. It has no configuration.

hydrate-protobuf with targetProtoType: "HEAT.OpenDISModule.PDU" already decodes each PDU into a JSON object and emits an open_dis_pdu array. This node copies every entry that has a pdu object into a new list with a sequential index, and carries the packet time stamp through when present.

It does not decode DIS bytes. For raw DIS recordings see opendis-parser on the dashboard-tools runner.

When to use

Use this node between hydrate-protobuf in PDU mode and entity-state-to-records.

Pipeline position

hydrate-protobuf (PDU) -> opendis-decode -> entity-state-to-records -> entity-state-to-mapdisplay

The node reads the latest output of one parent.

Configuration

None. The configuration schema has no properties and validation always passes.

Output

The node accepts an open_dis_pdu array, or a pdu array when the former is absent. It emits a JSON object with one pdu array.

{ "pdu": [ { "index": 0, "byte_offset": 0, "length_bytes": 0, "pdu": { "__class__": "EntityStatePdu", "entityID": { "siteID": 121, "applicationID": 110, "entityID": 7009 } }, "packet_timestamp_unix_ms": 1780568643000 } ] }
FieldDescription
indexPosition of the entry in the source list.
byte_offsetAlways 0.
length_bytesAlways 0.
pduThe decoded PDU object, unchanged.
packet_timestamp_unix_msPresent only when the source entry carried it.

Limitations

  • One parent, latest output only.
  • Entries without a pdu object are dropped silently. The index of the remaining entries still reflects their position in the source list.
  • The node fails when the input has neither an open_dis_pdu nor a pdu list.
Opens your browser's print dialog. Choose "Save as PDF" as the destination.