402 lines
17 KiB
Markdown
402 lines
17 KiB
Markdown
Change Log
|
|
=======
|
|
|
|
All notable changes to this project will be documented in this file.
|
|
|
|
The format is based on [Keep a Changelog](http://keepachangelog.com/).
|
|
|
|
The [milestone](https://egit.irs.uni-stuttgart.de/eive/eive-obsw/milestones)
|
|
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]
|
|
|
|
- `AcsSubsystem`: OFF, SAFE and DETUMBLE mode were tested. Auto-transitions SAFE <-> DETUMBLE tested
|
|
as well. Other modes still need to be tested.
|
|
|
|
## Fixed
|
|
|
|
- `AcsController`: Parameter fix in `DetumbleParameter`.
|
|
- Set GPS set entries to invalid on MODE_OFF command.
|
|
- Bump FSFW for bugfix in `setNormalDatapoolEntriesInvalid` where the validity was not set to false
|
|
properly
|
|
- Fixed usage of uint instead of int for commanding MTQ. Also fixed the range in which the ACS Ctrl
|
|
commands the MTQ to match the actual commanding range.
|
|
PR: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/363
|
|
- Regression: Revert swap of SUS0 and SUS6. Those devices are on separate power lines. In a
|
|
future fix, the calibration matrices of SUS0 and SUS6 will be swapped.
|
|
|
|
## Changed
|
|
|
|
- `ACS::SensorValues` is now an ACS controller member to reduce the risk of stack overflow.
|
|
- ACS Subsystem Sequence Mode IDs updated.
|
|
PR: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/365
|
|
TMTC PR: https://egit.irs.uni-stuttgart.de/eive/eive-tmtc/pulls/130
|
|
- Update and tweak ACS subsystem to represent the actual ACS design
|
|
- Event handling in the ACS subsystem for events triggered by the ACS controller.
|
|
PR: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/365
|
|
|
|
# [v1.23.1] 2023-02-02
|
|
|
|
TMTC rev: 15adb9bf2ec68304a4f87b8dd418c1a8353283a3
|
|
|
|
## Fixed
|
|
|
|
- Bugfix in FSFW where the sequence flags of the PUS packets were set to continuation segment (0b00)
|
|
instead of unsegmented (0b11).
|
|
- Bugfix in FSFW where the MGM RM3100 value Z axis data was parse incorrectly.
|
|
PR: https://egit.irs.uni-stuttgart.de/eive/fsfw/pulls/123
|
|
|
|
# [v1.23.0] 2023-02-01
|
|
|
|
TMTC version: v2.9.0
|
|
|
|
## Changed
|
|
|
|
- Bumped FSFW to include improvements and bugfix for Health Service. The health service now
|
|
supports the announce all health info command.
|
|
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/725
|
|
|
|
## Fixed
|
|
|
|
- Bumped FSFW to include fixes in the time service.
|
|
PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/726
|
|
- 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
|
|
|
|
|
|
# [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
|
|
|
|
## 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: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/358
|
|
- The CCSDS handler has has a new submode (3) to configure the default datarate.
|
|
- Default datarate parameter commanding moved to COM subsystem.
|
|
PR: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/358
|
|
|
|
# [v1.21.0] 2023-01-26
|
|
|
|
TMTC version: v2.5.0
|
|
Syrlinks PR: PR: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/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: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/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 to `SyrlinksHandler` 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: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/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: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/340.
|
|
- Basic TCS Subsystem component.
|
|
PR: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/319
|
|
- Expose base set of STR periodic housekeeping packets
|
|
|
|
## Changed
|
|
|
|
- Moved some PDEC/PTME configuration to `common/config/eive/definitions.h`
|
|
PR: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/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: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/347
|
|
TMTC PR: https://egit.irs.uni-stuttgart.de/eive/eive-tmtc/pulls/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: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/345
|
|
|
|
## Fixed
|
|
|
|
- `GyroADIS1650XHandler`: Updated handler to determine correct dynamic range from `RANG_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: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/342
|
|
- Syrlinks Handler: Read RX frequency shift as 24 bit signed number now. Also include
|
|
validity handling for datasets.
|
|
PR: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/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: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/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: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/337
|
|
|
|
## Added
|
|
|
|
- First version of ACS controller
|
|
PR: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/329
|
|
- Allow commanding the 5V stack internally in software
|
|
PR: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/334
|
|
- Add automatic 5V stack commanding for all connected devices
|
|
PR: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/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: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/328
|
|
|
|
# [v1.17.0] 2022-11-28
|
|
|
|
## Added
|
|
|
|
- PLOC Supervisor Update: Update SW to use newest PLOC SUPV version by TAS
|
|
PR 1: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/316
|
|
PR 2: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/324
|
|
PR 3: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/326
|
|
|
|
# [v1.16.0] 2022-11-18
|
|
|
|
- It is now possible to compile Linux components for the hosted build conditionally
|
|
PR: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/322
|
|
- ACS Subsystem. PR: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/231
|
|
- Payload Subsystem. PR: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/231
|
|
- Add IRQ mode for PDEC handler. PR: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/310
|
|
- Extended TM funnels to allow multiple TM recipients.
|
|
PR: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/312
|
|
- DHB: Transitions to normal mode now possible directly, which simplifies subsystem implementations
|
|
PR: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/313
|
|
- MAX3185 Low Level Handler and Device Handler: Simplifications and bugfixes to allow switching
|
|
off without triggering unrequested replies
|
|
PR: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/313
|
|
- Add remaining missing TMP1075 device handlers.
|
|
PR: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/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: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/307
|
|
- Safety mechanism for SD card handling on graceful reboots
|
|
PR: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/308
|
|
- Solar Array Deployment handler update
|
|
PR: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/305
|
|
- IMTQ updates as preparation for ACS controller expansion
|
|
PR: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/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: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/302
|
|
- Update for FSFW: `HasReturnvaluesIF` class replaced by namespace `returnvalue`
|
|
- 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: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/287
|
|
- Add API to save and load GomSpace config tables
|
|
PR: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/293
|
|
- Increase number of allowed consescutive action commands from 3 to 16
|
|
PR: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/294
|
|
- Fix for EM SW: Always create ACS Task
|
|
- Added Scex device handler and Scex uart reader
|
|
PR: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/303
|
|
- ACS Subsystem. PR: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/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: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/266
|
|
- Basic Thermal Controller
|
|
PR: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/266
|
|
- PUS11 TC scheduler
|
|
PR: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/259
|
|
- Regular reboot command
|
|
PR: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/242
|
|
- Commands for individual RTD devices
|
|
PR: https://egit.irs.uni-stuttgart.de/eive/eive-tmtc/pulls/84
|
|
- `RwAssembly` added to system components. Assembly works in principle,
|
|
issues making 4 consecutives RWs communicate at once..
|
|
PR: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/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 the `q7s-package`
|
|
or `q7s-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: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/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: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/248
|
|
|
|
## Fixed
|
|
|
|
- `q7s-cp.py` bugfix
|
|
PR: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/256
|
|
- Generator scripts output now produce platform-independent artifacts
|
|
PR: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/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`, use `std::vector` instead of `std::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: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/236
|
|
|
|
## Changed
|
|
|
|
- CCSDS handler improvements
|
|
PR: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/268
|
|
- Build unittest as default side product of hosted builds
|
|
PR: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/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: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/247
|
|
- Sun Sensors have names denoting their location and poiting in the satellite now
|
|
PR: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/245
|
|
- Better RTD names denoting their purpose (and location consequently)
|
|
PR: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/246
|
|
|
|
# [v1.11.0]
|
|
|
|
## Fixed
|
|
|
|
- Host build working again
|
|
|
|
## Added
|
|
|
|
- Custom Syrlinks FDIR which disabled most of the default FDIR functionality
|
|
PR: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/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: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/221
|
|
Bugfix: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/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: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/240 and
|
|
https://egit.irs.uni-stuttgart.de/eive/fsfw/pulls/76
|
|
|
|
### GPS
|
|
|
|
PRs: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/239
|
|
|
|
- Rename GPS device to `/dev/gps0`
|
|
- Use gpsd version 3.17 now. Includes API changes
|
|
|
|
### EM and FM splitup & Build Workflow improvements
|
|
|
|
PR: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/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 build
|
|
- `cmake-build-release-q7s` for primary release build
|
|
- `cmake-build-debug-q7s-em` for primary development build of the EM software
|
|
- `cmake-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 to `PATH`
|
|
- 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](https://egit.irs.uni-stuttgart.de/eive/eive-obsw/milestones)
|