spacepackets/CHANGELOG.md
Robin Mueller 00f399c23a
All checks were successful
Rust/spacepackets/pipeline/head This commit looks good
timestamp is optional now
2023-01-16 11:56:25 +01:00

3.9 KiB

Change Log

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

[unreleased]

Changed

  • PusTm and PusTmSecondaryHeader: Timestamp is optional now, which translates to a timestamp of size 0.
  • (breaking): PusTmSecondaryHeader: Renamed time_stamp field to timestamp for consistency.

Added

  • PusTmSecondaryHeader: New new_simple_no_timestamp API to create secondary header without timestamp.

[v0.4.2] 14.01.2023

Fixed

  • CDS timestamp: Fixed another small logic error for stamp creation from the current time with picosecond precision. PR: #8

[v0.4.1] 14.01.2023

Fixed

  • CDS timestamp: The conversion function from the current time were buggy when specifying picoseconds precision, which could lead to overflow multiplications and/or incorrect precision fields. PR: #7

[v0.4.0] 10.01.2023

Fixed

  • Remove Default derive on CDS time provider. This can lead to uninitialized preamble fields.

Changed

  • serde support is now optional and behind the serde feature.
  • PusTcSecondaryHeaderT trait renamed to GenericPusTcSecondaryHeader.
  • PusTmSecondaryHeaderT trait renamed to GenericPusTmSecondaryHeader.
  • SpHeader: Former tc and tm methods now named tc_unseg and tm_unseg. Former new method now called new_from_single_fields.
  • SpHeader: Renamed from_bytes to from_be_bytes. The function now returns the remaining slice as well.
  • All CDS specific functionality was moved into the cds submodule of the time module. CdsShortTimeProvider was renamed to TimeProvider. PR: #3

Added

  • SpHeader getter function sp_header added for PusTc PR: #6
  • Added PFC enumerations: ecss::UnsignedPfc and ecss::RealPfc. PR: #5
  • Added std::error::Error implementation for all error enumerations if the std feature is enabled.
  • CUC timestamp implementation as specified in CCSDS 301.0-B-4 section 3.2. PR: https://egit.irs.uni-stuttgart.de/rust/spacepackets/pulls/4/files
  • ACII timestamps as specified in CCSDS 301.0-B-4 section 3.5.
  • Added MSRV in Cargo.toml with the rust-version field set to Rust 1.60.
  • serde Serialize and Deserialize added to all types.
  • Added const constructors for PacketId, PacketSeqCtrl and SpHeader.
  • Added PartialEq and Eq derives to TimeProvider.
  • SpHeader: Added serialization function into raw format write_to_be_bytes.
  • Added 24-bit day field support for CDS short. The bit width is configured at type level via a generic parameter type passed to the cds::TimeProvider
  • Added submillisecond precision support for cds::TimeProvider

[v0.3.1] 03.12.2022

  • Small fix for faulty docs.rs build

[v0.3.0] 01.12.2022

Added

  • EcssEnumerationExt trait which implements Debug, Copy, Clone, PartialEq and Eq in addition to EcssEnumeration

Changed

  • EcssEnumeration trait: Rename write_to_bytes to write_to_be_bytes

[v0.2.0] 13.09.2022

Added

  • Basic support for ECSS enumeration types for u8, u16, u32 and u64

Changed

  • Better names for generic error enumerations: PacketError renamed to ByteConversionError
  • CCSDS module: ssc abbreviations fully replaced by better name seq_count
  • Time module: CcsdsTimeProvider::date_time now has Option<DateTime<Utc>> as a returnvalue instead of DateTime<Utc>
  • PusTc and PusTm: new_from_raw_slice renamed to simpler from_bytes

[v0.1.0] 16.08.2022

Initial release with CCSDS Space Packet Primary Header implementation and basic PUS TC and TM implementations.