Skip to content

5.0.0

Compare
Choose a tag to compare
@github-actions github-actions released this 03 Oct 21:44
· 5 commits to main since this release

What's Changed

  • BREAKING: Main API changed. No need to create separate definition and parser objects any more. Create only a
    definition from your XTCE document and instead of my_parser.generator, use my_packet_definition.packet_generator.
  • BREAKING: Removed CSV-based packet definition support. We may indirectly support this in the future via
    a utility for converting CSV definitions to XTCE.
  • BREAKING: Separated out logical pieces into separate modules rather than everything
    living within the xtcedef module. This means user imports may be different now.
  • BREAKING: Replace bitstring objects with native Python bytes objects
    • Remove dependency on the bitstring library
    • Much faster parsing speed
    • Users that are passing bitstring.ConstBitStream objects to generator will need to pass a
      binary filelike object instead
  • BREAKING: The ParsedDataItem class has been removed and the derived values are being returned now.
    The raw_value is stored as an attribute on the returned object. The other items can be accessed
    through the packet definition object my_packet_definition.named_parameters["my_item"].short_description
  • BREAKING: The return type of BinaryDataEncoding is now the raw bytes.
    To get the previous behavior you can convert the data to an integer and then format it as a binary string.
    f"{int.from_bytes(data, byteorder='big'):0{len(data)*8}b}"
  • BREAKING: Removed word_size kwarg from packet generator method.
    We expect all binary data to be integer number of bytes.
  • BREAKING: Changed packet_generator kwarg skip_header_bits to skip_header_bytes.
  • Fixed incorrect parsing of StringDataEncoding elements. Raw string values are now returned as byte buffers.
    Derived string values contain python string objects.
  • The CCSDSPacket class is now a dictionary subclass, enabling direct lookup of items from the Packet itself.
  • A RawPacketData class has been added that is a subclass of bytes. It keeps track of the current
    parsing location and enables reading of bit lengths as integers or raw bytes.
  • Fix EnumeratedParameterType to handle duplicate labels
  • Add error reporting for unsupported and invalid parameter types
  • Add support for MIL-1750A floats (32-bit only)

New Contributors

Full Changelog: 4.2.0...5.0.0