VariableLength¶
- class ccsdspy.VariableLength(fields)[source]¶
Bases:
_BasePacket
Define a variable length packet to decode binary data.
Variable length packets are packets which have a different length each time. Each variable length packet should have a single PacketArray with the array_shape=’expand’, which will grow to fill the packet.
Please note that while this class is able to parse fixed length packets, it is much slower. Use the
FixedLength
class instead.- Rules for variable length packets:
Do provide only one one expanding PacketArray with array_shape=’expand’.
Do not specify the primary header fields manually
Do not specify explicit bit_offsets (they will be computed
automatically)
- Parameters:
- fieldslist of
PacketField
orPacketArray
Layout of packet fields contained in the definition. No more than one field should have array_shape=”expand”. The field must have no bit_offset’s. Do not include the primary header fields.
- fieldslist of
- Raises:
- ValueError
one or more of the arguments are invalid, or do not follow the specified rules.
Methods Summary
load
(file[, include_primary_header])Decode a file-like object containing a sequence of these packets.
Methods Documentation
- load(file, include_primary_header=False)[source]¶
Decode a file-like object containing a sequence of these packets.
- Parameters:
- filestr
Path to file on the local file system, or file-like object
- include_primary_headerbool
If True, provides the primary header in the output
- Returns:
- field_arraysdict, string to NumPy array
dictionary mapping field names to NumPy arrays, with key order matching the order of fields in the packet.