2021-07-14 11:14:25 +02:00
# Changed from ASTP 1.1.0 to 1.2.0
## API Changes
### FSFW Architecture
2021-07-19 18:35:16 +02:00
- New src folder which contains all source files except the HAL, contributed code and test code
- External and internal API mostly stayed the same
2021-07-14 11:14:25 +02:00
- Folder names are now all smaller case: internalError was renamed to internalerror and
FreeRTOS was renamed to freertos
2021-07-19 18:35:16 +02:00
- Warning if optional headers are used but the modules was not added to the source files to compile
2021-07-14 11:14:25 +02:00
### HAL
- HAL added back into FSFW. It is tightly bound to the FSFW, and compiling it as a static library
made using it more complicated than necessary
## Bugfixes
### FreeRTOS QueueMapManager
- Fixed a bug which causes the first generated Queue ID to be invalid
## Enhancements
### FSFW Architecture
- See API changes chapter. This change will keep the internal API consistent in the future
# Changes from ASTP 1.0.0 to 1.1.0
## API Changes
2021-06-15 14:21:46 +02:00
### PUS
- Added PUS C support
2021-07-14 11:14:25 +02:00
- SUBSYSTEM_IDs added for PUS Services
- Added new Parameter which must be defined in config: fsfwconfig::FSFW_MAX_TM_PACKET_SIZE
### ObjectManager
- ObjectManager is now a singelton
2021-06-15 14:21:46 +02:00
### Configuration
- Additional configuration option fsfwconfig::FSFW_MAX_TM_PACKET_SIZE which
need to be specified in FSFWConfig.h
2021-07-14 11:14:25 +02:00
### CMake
- Changed Cmake FSFW_ADDITIONAL_INC_PATH to FSFW_ADDITIONAL_INC_PATHS
## Bugfixes
- timemanager/TimeStamperIF.h: Timestamp config was not used correctly, leading to different timestamp sizes than configured in fsfwconfig::FSFW_MISSION_TIMESTAMP_SIZE
- TCP server fixes
## Enhancements
### FreeRTOS Queue Handles
- Fixed an internal issue how FreeRTOS MessageQueues were handled
### Linux OSAL
- Better printf error messages
### CMake
- Check for C++11 as mininimum required Version
### Debug Output
- Changed Warning color to magenta, which is well readable on both dark and light mode IDEs
2021-06-15 14:21:46 +02:00
2021-07-14 11:14:25 +02:00
# Changes from ASTP 0.0.1 to 1.0.0
2020-11-24 13:45:34 +01:00
2020-12-05 10:41:37 +01:00
### Host OSAL
- Bugfix in MessageQueue, which caused the sender not to be set properly
2020-11-24 13:45:34 +01:00
### FreeRTOS OSAL
- vRequestContextSwitchFromISR is declared extern "C" so it can be defined in
a C file without issues
2020-12-01 14:01:04 +01:00
2020-12-01 15:17:33 +01:00
### PUS Services
2020-12-01 15:10:23 +01:00
- It is now possible to change the message queue depth for the telecommand verification service (PUS1)
2020-12-01 15:26:06 +01:00
- The same is possible for the event reporting service (PUS5)
2020-12-01 15:03:49 +01:00
- PUS Health Service added, which allows to command and retrieve health via PUS packets
2020-12-01 15:17:33 +01:00
2020-12-10 17:23:07 +01:00
2020-12-01 14:01:04 +01:00
### EnhancedControllerBase
- New base class for a controller which also implements HasActionsIF and HasLocalDataPoolIF
2020-12-08 15:40:43 +01:00
2020-12-01 13:52:40 +01:00
### Local Pool
2021-03-04 16:48:21 +01:00
- Interface of LocalPools has changed. LocalPool is not a template anymore. Instead the size and
bucket number of the pools per page and the number of pages are passed to the ctor instead of
2021-03-04 16:46:39 +01:00
two ctor arguments and a template parameter
2020-12-10 16:54:22 +01:00
2020-12-03 13:10:33 +01:00
### Parameter Service
2020-12-03 13:11:52 +01:00
- The API of the parameter service has been changed to prevent inconsistencies
between documentation and actual code and to clarify usage.
2020-12-03 13:10:33 +01:00
- The parameter ID now consists of:
1. Domain ID (1 byte)
2. Unique Identifier (1 byte)
3. Linear Index (2 bytes)
The linear index can be used for arrays as well as matrices.
The parameter load command now explicitely expects the ECSS PTC and PFC
information as well as the rows and column number. Rows and column will
default to one, which is equivalent to one scalar parameter (the most
important use-case)
2020-12-01 17:17:53 +01:00
### File System Interface
2021-03-04 16:48:21 +01:00
- A new interfaces specifies the functions for a software object which exposes the file system of
2021-03-04 16:46:39 +01:00
a given hardware to use message based file handling (e.g. PUS commanding)
2020-12-08 15:45:09 +01:00
2020-12-03 13:26:50 +01:00
### Internal Error Reporter
- The new internal error reporter uses the local data pools. The pool IDs for
the exisiting three error values and the new error set will be hardcoded for
now, the the constructor for the internal error reporter just takes an object
ID for now.
2020-12-08 15:17:25 +01:00
2020-12-01 15:22:18 +01:00
### Device Handler Base
- There is an additional `PERFORM_OPERATION` step for the device handler base. It is important
2021-03-04 16:46:39 +01:00
that DHB users adapt their polling sequence tables to perform this step. This steps allows for
a clear distinction between operation and communication steps
2020-12-22 12:53:03 +01:00
- setNormalDatapoolEntriesInvalid is not an abstract method and a default implementation was provided
2020-12-22 14:26:42 +01:00
- getTransitionDelayMs is now an abstract method
2020-12-22 12:53:03 +01:00
### DeviceHandlerIF
- Typo for UNKNOWN_DEVICE_REPLY
2020-12-08 15:34:51 +01:00
2020-12-01 17:45:23 +01:00
### Events
2020-12-08 14:51:36 +01:00
- makeEvent function: Now takes three input parameters instead of two and
allows setting a unique ID. Event.cpp source file removed, functions now
defined in header directly. Namespaces renamed. Functions declared `constexpr`
now
2020-12-15 15:20:08 +01:00
### Commanding Service Base
2021-03-04 16:46:39 +01:00
- CSB uses the new fsfwconfig::FSFW_CSB_FIFO_DEPTH variable to determine the FIFO depth for each
CSB instance. This variable has to be set in the FSFWConfig.h file
2021-01-03 15:31:44 +01:00
### Service Interface
- Proper printf support contained in ServiceInterfacePrinter.h
- CPP ostream support now optional (can reduce executable size by 150 - 250 kB)
- Amalagated header which determines automatically which service interface to use depending on FSFWConfig.h configuration.
Users can just use #include <fsfw/serviceinterface/ServiceInterface.h>
- If CPP streams are excluded, sif:: calls won't work anymore and need to be replaced by their printf counterparts.
For the fsfw, this can be done by checking the processor define FSFW_CPP_OSTREAM_ENABLED from FSFWConfig.h.
For mission code, developers need to replace sif:: calls by the printf counterparts, but only if the CPP stream are excluded.
If this is not the case, everything should work as usual.
2021-02-09 14:57:14 +01:00
2021-03-04 16:46:39 +01:00
### ActionHelper and ActionMessage
2021-03-04 16:45:35 +01:00
2021-03-04 16:46:39 +01:00
- ActionHelper finish function and ActionMessage::setCompletionReply now expects explicit
information whether to report a success or failure message instead of deriving it implicitely
from returnvalue
2021-03-04 16:45:35 +01:00
2021-02-09 14:57:14 +01:00
### PUS Parameter Service 20
2021-03-04 16:45:35 +01:00
Added PUS parameter service 20 (only custom subservices available).