Class IssPacketPreprocessor

All Implemented Interfaces:
PacketPreprocessor

public class IssPacketPreprocessor extends CcsdsPacketPreprocessor
This implements CCSDS packets as used in ISS (International Space Station).
Primary header (specified by CCSDS 133.0-B-1):
  • packet version number (3 bits)
  • packet type (1 bit)
  • secondary header flag (1 bit)
  • application process ID (11 bits)
  • sequence flags (2 bits)
  • packet sequence count (14 bits)

Secondary header (specific to ISS):
  • coarse time (32 bits)
  • fine time (8 bits)
  • time id(2 bits)
  • checksum indicator (1 bit)
  • spare (1 bit)
  • packet type (4 bits)
  • packet ID(32 bits)
If the checksum indicator is 1, the packet is terminated by a two bytes checksum.
This class is effectively making use of the following fields (all the other ones are ignored):
  • application process ID(APID) and packet sequence count: used to detect the discontinuity in packets as well as to form the unique key (used to not store duplicates)
  • coarse time and fine time: used to derive the timestamp of the packet
  • checksum indicator: used to know to compute and verify or not the checksum
The checksum used can be one of
  • 16-SUM (default): running sum on each two bytes - the packet has to contain an even number of bytes
  • CRC-16-CCIIT: CRC with the generator polynomial x^16 + x^12 + x^5 + 1
  • Constructor Details

    • IssPacketPreprocessor

      public IssPacketPreprocessor(String yamcsInstance)
    • IssPacketPreprocessor

      public IssPacketPreprocessor(String yamcsInstance, YConfiguration config)
  • Method Details

    • process

      public TmPacket process(TmPacket tmPacket)
      Description copied from interface: PacketPreprocessor
      Processes the packet and returns it.

      What this function does is project depended. However, we expect that the generation time and sequence count are filled in.

      Can return null if the packet is to be ignored.

      Parameters:
      tmPacket - - the packet that has to be processed
      Returns:
      the processed packet