Method: OpenC3::CcsdsPacket#initialize

Defined in:
lib/openc3/ccsds/ccsds_packet.rb

#initialize(target_name = nil, packet_name = nil, include_ccsds_data = true) ⇒ CcsdsPacket

Creates a CCSDS packet by setting the target and packet name and then defining all the fields in a CCSDS packet with a primary header. If a secondary header is desired, define a secondary header field and then override the CcsdsData field to start after bit offset 48.

Parameters:

  • target_name (String) (defaults to: nil)

    The target name

  • packet_name (String) (defaults to: nil)

    The packet name



58
59
60
61
62
63
64
65
66
67
68
69
# File 'lib/openc3/ccsds/ccsds_packet.rb', line 58

def initialize(target_name = nil, packet_name = nil, include_ccsds_data = true)
  super(target_name, packet_name, :BIG_ENDIAN)
  define_item('CcsdsVersion', 0, 3, :UINT)
  define_item('CcsdsType', 3, 1, :UINT)
  define_item('CcsdsShf', 4, 1, :UINT)
  define_item('CcsdsApid', 5, 11, :UINT)
  define_item('CcsdsSeqflags', 16, 2, :UINT)
  item = define_item('CcsdsSeqcnt', 18, 14, :UINT)
  item.overflow = :TRUNCATE
  define_item('CcsdsLength', 32, 16, :UINT)
  define_item('CcsdsData', 48, 0, :BLOCK) if include_ccsds_data
end