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. # [unreleased] ## Added - PLOC Supervisor Update: Update SW to use newest PLOC SUPV version by TAS PR: https://egit.irs.uni-stuttgart.de/eive/eive-obsw/pulls/316 # [v1.16.0] 18.11.2022 - 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] 27.10.2022 - 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--.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)