Changelog¶
2.4.0 - 2021-04-26¶
Fixed:
Frame sizes that resulted in an Reed-Solomon block length for the last block that differed by 2 or more bytes from the others, were not interleaved correctly. This issue did not affect frames up to 446 RS bytes (interleaving depth 1 or 2) nor frame sizes that were a multiple of, or 1 byte less than a multiple of, the interleaving depth. All frame sizes that followed CCSDS 131.0-B-3 were handled correctly.
Changed:
Changed minimum values for
tx.size
andrx.size
to 187 bytes. The size is chose such that a minimum size frame with all link layer features will fit in a single RS block.
2.3.0 - 2021-03-24¶
Fixed:
Fix spurious receive RS422/KISS CRC frame errors on high load.
Changed:
Support asynchronous establishment of Ethernet link and allow the Ethernet to be enabled/disabled at runtime using the
sys.net.enable
property. The remote host is no longer required to have an active link when Ethernet is enabled.Remove the
conf.power.eth
property. The power for the Ethernet PHY is now controlled automatically by thesys.net.enable
property.
Added:
Add support for on-orbit firmware update. See
doc/doc/fwupdate.html
.
2.2.0 - 2020-10-14¶
Fixed:
Do not spuriously enable RS422 driver on boot.
Support 256 bytes CSP frames on KISS interface in default configuration.
Added:
Add support for increasing the CSP MTU beyond 256 bytes using the
sys.csp.mtu
property. Seedoc/csp.rst
for additional documentation.
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
andrx.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. Thetm.temp.mcu
property should be used instead.Add multidrop UART support using the
sys.uart.multidrop
property. If set totrue
, 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 totx.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
, andtx.postamble
properties. The training patterns can be modified from the default alternating bits to a PRBS-9 sequence if thetx.traintype
is set to1
. If convolutional coding is enabled, the PRBS-9 sequence is convolutionally coded.Add support for authenticated encryption using AES-256-GCM. The
tx.crypto.*
andrx.crypto.*
properties are used for configuration. Seedoc/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
andrx.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 totrace mask
.
Added:
Add support for runtime configuration of transmit and receive bitrates through the
tx.rate
andrx.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 istrue
which enables promiscuous mode as in previous firmware versions.
1.2.0 - 2018-10-23¶
Changed:
Renamed
sys.rs422.rate
tosys.uart.rate
. The property ID and type are unchanged, so existing code will work without modifications.
Added:
Added IP stack properties in
sys
group. Seedoc/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.