16 KiB
16 KiB
Change Log
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
The milestone list yields a list of all related PRs for each release.
Starting at v2.0.0, the following changes will consitute of a breaking change warranting a new major release:
- The TMTC interface changes in any shape of form.
- The behavour of the OBSW changes in a major shape or form relevant for operations
[unreleased]
[v1.22.1] 2023-01-30
Changed
- Updated FSFW to include addition where the
SO_REUSEADDR
option is set on the TCP server, which should improve its ergonomics.
[v1.22.0] 2023-01-28
TMTC version: v2.6.1
Fixed
- The CCSDS handler starts the transmitter timer each time it is commanded to MODE_ON and times out the timer when the handler is commanded to MODE_OFF
- If the timer is timed out the CCSDS handler will disable the TX clock which will cause the syrlinks to got to standby mode
- PDEC handler now parses the FAR register also in interrupt mode
Added
- First COM subsystem implementation. It mirrors the Syrlinks mode/submodes but also takes care of commanding the CCSDS handler. It expects the Syrlinks submodes as mode commands. PR: #358
- The CCSDS handler has has a new submode (3) to configure the default datarate.
- Default datarate parameter commanding moved to COM subsystem. PR: #358
[v1.21.0] 2023-01-26
TMTC version: v2.5.0 Syrlinks PR: PR: #353
Fixed
- The
OBSW_SYRLINKS_SIMULATED
flag is set to 0 for for both EM and FM. - MGM4 handling in ACS sensor processing: Bugfix in
mulScalar
operation PR: #354 - Subsystem ID clash: CORE subsystem ID was the same as Syrlinks subsystem ID.
Changed
- Startracker temperature set and PCDU switcher set are diagnostic now
SyrlinksHkHandler
renamed toSyrlinksHandler
to better reflect that it does more than just HK and is also responsible for setting the TX mode of the device.SyrlinksHandler
: Go to startup immediately because the Syrlinks device should always be on by default.SyrlinksHandler
: Go to normal mode at startup.
Added
- The Syrlinks handler has submodes for the TX mode now: RX Only (0), RX and TX default datarate (1), RX and TX Low Rate (2), RX and TX High Rate (3) and TX Carrier Wave (4). The submodes apply for both ON and NORMAL mode. The default datarate can be updated using a parameter command (domain ID 0 and unique ID 0) with value 0 for low rate and 1 for high rate.
- The Syrlinks handler always sets TX to standby when switching off
- The Syrlinks handler triggers a new TX_ON event when the transmitter was switched on successfully and a TX_OFF event when it was switched off successfully.
- Startracker temperature set and PCDU switcher set are diagnostic now
- The CCSDS handler can accept mode commands now. It accepts ON and OFF commands. Furthermore it has a submode for low datarate (1) and high datarate (2) for the ON command. PR: #352
[v1.20.0] 2023-01-24
Added
- The Q7S SW now checks for a file named
boot_delay_secs.txt
in the home directory. If it exists and the file is empty, it will delay for 6 seconds before continuing with the regular boot. It can also try to read delay seconds from the file. PR: #340. - Basic TCS Subsystem component. PR: #319
- Expose base set of STR periodic housekeeping packets
Changed
- Moved some PDEC/PTME configuration to
common/config/eive/definitions.h
PR: #319 - The ACS Controller Gyro Sets (raw and processed) and the MEKF dataset are diagnostics now.
- Bumped FSFW for Service 11 improvement which includes size and CRC check for contained TC
- Syrlinks module now always included for both EM and FM
- SA Deployment: Allow specifying the switch interval and the initial channel. This allows testing the new deployment procedure where each channel is burned for half of the whole burn duration. It also allows burning only one channel for the whole burn duration. The autonomous mechanism was adapted to burn each channel for half of the burn time by default. PR: #347 TMTC PR: eive/eive-tmtc#127
Max31865RtdLowlevelHandler.cpp
: For each RTD device, the config is now re-written before every read. This seems to fix some issue with invalid temperature sensor readings. PR: #345
Fixed
GyroADIS1650XHandler
: Updated handler to determine correct dynamic range fromRANG_MDL
register readout. This is because ADIS16505-3BMLZ devices are used on the ACS board and the previous range setting was wrong. Also fixed a small error properly set internal state on shut-down. PR: #342- Syrlinks Handler: Read RX frequency shift as 24 bit signed number now. Also include validity handling for datasets. PR: #350
GyroADIS1650XHandler
: Changed calculation of angular rate to be sensitivity based instead of max. range based, as previous fix still left an margin of error between ADIS16505 sensors and L3GD20 sensors. PR: #346
[v1.19.0] 2023-01-10
Changed
- 5V stack is now off by default
Fixed
- PLOC SUPV: Minor adaptions and important bugfix for UART manager
- Allow cloning and building the hosted OBSW version without proprietary libraries, which also avoids the need to have a Gitea account. PR: #337
Added
- First version of ACS controller PR: #329
- Allow commanding the 5V stack internally in software PR: #334
- Add automatic 5V stack commanding for all connected devices PR: #335
[v1.18.0] 2022-12-01
Changed
- PLOC Supervisor: Changes baudrate to 921600
- Renamed
/dev/ul-plsv
to/dev/ploc_supv
, is not a UART lite anymore - Renamed
/dev/i2c_eive
to/dev/i2c_pl
and/dev/i2c-2
to/dev/i2c_ps
. PR: #328
[v1.17.0] 2022-11-28
Added
- PLOC Supervisor Update: Update SW to use newest PLOC SUPV version by TAS PR 1: #316 PR 2: #324 PR 3: #326
[v1.16.0] 2022-11-18
- It is now possible to compile Linux components for the hosted build conditionally PR: #322
- ACS Subsystem. PR: #231
- Payload Subsystem. PR: #231
- Add IRQ mode for PDEC handler. PR: #310
- Extended TM funnels to allow multiple TM recipients. PR: #312
- DHB: Transitions to normal mode now possible directly, which simplifies subsystem implementations PR: #313
- MAX3185 Low Level Handler and Device Handler: Simplifications and bugfixes to allow switching off without triggering unrequested replies PR: #313
- Add remaining missing TMP1075 device handlers. PR: #318
[v1.15.0] 2022-10-27
- Consistent device file naming
- Remove rad sensor from EM build, lead to weird bugs on EM which
prevented
xsc_boot_copy
from working properly - CFDP closure handling is now working PR: #307
- Safety mechanism for SD card handling on graceful reboots PR: #308
- Solar Array Deployment handler update PR: #305
- IMTQ updates as preparation for ACS controller expansion PR: #306
- P60 Module: Reduce number of set IDs, use same set IDs for core, auxiliary and config HK set across the three PCDU modules
[v1.14.1] 11.10.2022
- Various bugfixes and regression fixes
- General file handling at program initialization now works properly again
- Scratch buffer preferred SD card handling works again
- Use scoped locks in TCS controller to avoid deadlocks
[v1.14.0] 10.10.2022
- Provide full SW update capability for the OBSW. This includes very basic CFDP integration, a software update procedure specified in detail in the README and some high level commands to make this easier for operators. PR: #302
- Update for FSFW:
HasReturnvaluesIF
class replaced by namespacereturnvalue
- Add some GomSpace clients as a submodule dependency. Use this dependency to deserialize the GomSpace TM tables
- Add API to retrieve GomSpace device parameter tables PR: #287
- Add API to save and load GomSpace config tables PR: #293
- Increase number of allowed consescutive action commands from 3 to 16 PR: #294
- Fix for EM SW: Always create ACS Task
- Added Scex device handler and Scex uart reader PR: #303
- ACS Subsystem. PR: #228
[v1.13.0] 24.08.2022
- Added first version of ACS Controller with gathers MGM data in a set
- Some tweaks for IMTQ handler
[v1.12.1] 05.07.2022
- Disable periodic TCS controller HK generation by default
[v1.12.0] 04.07.2022
Added
- Dummy components to run OBSW without relying on external hardware PR: #266
- Basic Thermal Controller PR: #266
- PUS11 TC scheduler PR: #259
- Regular reboot command PR: #242
- Commands for individual RTD devices PR: eive/eive-tmtc#84
RwAssembly
added to system components. Assembly works in principle, issues making 4 consecutives RWs communicate at once.. PR: #224- Adds a yocto helper script which is able to install the release build binaries
(OBSW and Watchdog) into the
q7s-yocto
repository as long as theq7s-package
orq7s-yocto
repo was cloned in the same directory the EIVE OBSW repo. This makes updating the root filesystem a lot easier. It also creates and installs a version file. PR: #248 - Create the generic image by default for the Q7S build. The unique binary with the username appended at the end is created as a side-product now PR: #248
Fixed
q7s-cp.py
bugfix PR: #256- Generator scripts output now produce platform-independent artifacts PR: #267
Heater
- Adds
HealthIF
to heaters. Heaters are own system object with queues now which allows to set them faulty. - SW will attempt to shut down heaters which are on but marked faulty
- Some simplifications for
HeaterHandler
, usestd::vector
instead ofstd::unordered_map
for primary container. Using the heater indexes 0 to 7 allows to use natural array indexing - Some additional input sanity checks in
executeAction
PR: #236
Changed
- CCSDS handler improvements PR: #268
- Build unittest as default side product of hosted builds PR: #244
- Let CI/CD build host build and run unittest side product in same step
- Catch2 pre-installed in CI/CD docker container, Xiphos SDK installed in CI/CD docker PR: #247
- Sun Sensors have names denoting their location and poiting in the satellite now PR: #245
- Better RTD names denoting their purpose (and location consequently) PR: #246
[v1.11.0]
Fixed
- Host build working again
Added
- Custom Syrlinks FDIR which disabled most of the default FDIR functionality PR: #232
- Custom Gomspace FDIR which disabled most of the default FDIR functionality
- Custom Syrlinks FDIR which disabled most of the default FDIR functionality
Changed
- PCDU handler only called once in PST, but can handle multiple messages now PR: #221 Bugfix: #235
- Update rootfs base of Linux, all related OBSW changes
- Add
/usr/local/bin
to PATH. All shell scripts are there now - Add Syrlinks and TMP devices to Software by default
- Update GPS Linux Hyperion Handler to use socket interface. Still allows switching back to SHM interface, but the SHM interface is a possible cause of SW crashes
- Updated code for changed FSFW HAL GPIO API:
readGpio
prototype has changed PR: #240 and eive/fsfw#76
GPS
PRs: #239
- Rename GPS device to
/dev/gps0
- Use gpsd version 3.17 now. Includes API changes
EM and FM splitup & Build Workflow improvements
PR: #238
- Split up
bsp_q7s
in separate EM and FM build with module loading set to different default values. The EM object factory is unique which allows building a parallel setup with dummy components - All major BSPs have an own
OBSWConfig.h.in
file which simplifies the file significantly - Renamed Q7S primary build folders:
cmake-build-debug-q7s
for primary development buildcmake-build-release-q7s
for primary release buildcmake-build-debug-q7s-em
for primary development build of the EM softwarecmake-build-release-q7s-em
for primary release build of the EM software
- Refactored Q7S helper script handling. It is now intended and preferred to copy the environment
script to the same folder level as the
eive-obsw
and source it. This will also add the path containing the shell helper scripts toPATH
- The actual helper shell scripts were renamed as well to
q7s-<buildSystem>-<buildType>.sh
[v1.10.1]
Version bump
[v1.10.0]
For all releases equal or prior to v1.10.0, see milestones