Changelog

2.1.0 - 2020-01-30

Fixed:

  • Avoid head-of-line blocking of the CSP router task when waiting for spacelink frames queue to drain.

  • Remove unnecessary double PLL retune when changing TX parameters with idle enabled.

Changed:

  • Remove unused boot debug command.

  • Only increase tx.frames for non-idle frames.

2.0.1 - 2020-01-16

Fixed:

  • Fix occasional TX task lockups when reconfiguring RX with idle frames enabled.

2.0.0 - 2019-12-19

Fixed:

  • Fix occasional erroneous initialization of VREG and 3V3 rails current/power measurements.

  • Fix tx.size and rx.size properties max values to match actual limit of 1024 bytes.

  • Improved modulation accuracy for lower transmit bitrates.

Changed:

  • Frame format change! The spacelink frame now includes the ASM in the convolutionally coded data.

  • Frame format change! The Reed-Solomon blocks are now interleaved according to CCSDS 131.0-B-3 but allow frame sizes that do divide evenly in the interleaving depth. In that case, that last block has 1 to I-1 additional virtual fill bytes. The interleaving depth (1-5) is automatically calculated from the configured frame sizes.

  • Removed the tm.temp.core property since the junction temperature readings were not reliable. The tm.temp.mcu property should be used instead.

  • Add multidrop UART support using the sys.uart.multidrop property. If set to true, the system will only drive the differential transmit pair when actively transmitting.

Added:

  • Add support for sending idle frames when there is no data frames to transmit. tx.idleframes (default 0) idle frames will be transmitted after each data frame to aid receiver synchronization. Any data frames queued for transmission while sending idle frames take priority and resets the idle counter to tx.idleframes. Idle frames consists of all-zero data but with FEC and CRC applied.

  • Add support for configurable preamble/midamble/postamble lengths using the tx.preamble, tx.midamble, and tx.postamble properties. The training patterns can be modified from the default alternating bits to a PRBS-9 sequence if the tx.traintype is set to 1. If convolutional coding is enabled, the PRBS-9 sequence is convolutionally coded.

  • Add support for authenticated encryption using AES-256-GCM. The tx.crypto.* and rx.crypto.* properties are used for configuration. See doc/crypto.rst for documentation.

  • Add support for a optional 16 bit satellite ID to be transmitted and used for reception filtering. The ID is configured using the tx.id and rx.id properties. The default value is 0 which corresponds to no ID.

1.4.1 - 2019-05-28

Fixed:

  • Fix spectral artifacts in output when transmissions ends introduced in v1.4.0.

1.4.0 - 2019-05-24

Fixed:

  • Fix CAN bitrates below 1000 kbps using the sys.can.rate property. The supported rates are 1000, 500, 250, 125, 100, 83.3, and 50 kbps.

  • Fix error handling when calling prop commands without a group argument or with flags specified after the group.

Changed:

  • Renamed the trace print command to trace mask.

Added:

  • Add support for runtime configuration of transmit and receive bitrates through the tx.rate and rx.rate properties.

  • Add support for runtime configuration of receive bandwidth as a percentage of the receive bitrate using the rx.bw property. The default of 150% matches previous firmware versions.

  • Add sys.can.promisc property to select between CSP CAN/CFP promiscuous or masked mode. The default is true which enables promiscuous mode as in previous firmware versions.

1.3.0 - 2019-03-19

Changed:

  • Improved ALC first burst value.

1.2.0 - 2018-10-23

Changed:

  • Renamed sys.rs422.rate to sys.uart.rate. The property ID and type are unchanged, so existing code will work without modifications.

Added:

  • Added IP stack properties in sys group. See doc/ip.rst for documentation.

1.1.0 - 2018-09-07

Fixed:

  • Fix lost TM sensor samples under high-load.

Changed:

  • Use BT=0.50 as default. The BT can now be changed between 0.3 and 0.6 in 0.05 steps with the tx.bt property.

  • Framing format: Add header support for multiplexed IP and CSP packets.

  • Framing format: Use CCSDS convolutional code polynomials and dual-basis Reed-Solomon.

  • Use CAN as default route instead of RS422/KISS.

  • Enable internal MCU watchdog.

Added:

  • Add ALC loop. Configurable through the tx.alc.* properties. Enabled by default.

  • Add calibration properties for VCOs, power sensors and coretemp.

  • Add periodic PLL retune every 2 minutes for TX and every 10 minutes for RX.

  • Add ground watchdog timer (GWDT) to reset system after 24 hours if not reset. The timeout period is configurable through the sys.gwdt.init value.

  • Add rx.detected counter for detected frames. This is increased for each frame, even if FEC decode fails.

  • Show property state (default, loaded, modified) and flags (no-store, read-only) when listing.

  • Add remote shell debug service to execute slash commands via CSP.

  • Add sys.name property to set system hostname in CSP ident and prompt.

1.0.0 - 2018-07-06

Added:

  • First released version.