175 lines
5.6 KiB
Plaintext
175 lines
5.6 KiB
Plaintext
# Changed from ASTP 1.1.0 to 1.2.0
|
|
|
|
## API Changes
|
|
|
|
### FSFW Architecture
|
|
|
|
- Internal API changed completely to have separation of sources and headers
|
|
- External API mostly stayed the same
|
|
- Folder names are now all smaller case: internalError was renamed to internalerror and
|
|
FreeRTOS was renamed to freertos
|
|
|
|
### 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
|
|
|
|
### PUS
|
|
|
|
- Added PUS C support
|
|
- 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
|
|
|
|
|
|
### Configuration
|
|
|
|
- Additional configuration option fsfwconfig::FSFW_MAX_TM_PACKET_SIZE which
|
|
need to be specified in FSFWConfig.h
|
|
|
|
### 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
|
|
|
|
|
|
# Changes from ASTP 0.0.1 to 1.0.0
|
|
|
|
### Host OSAL
|
|
|
|
- Bugfix in MessageQueue, which caused the sender not to be set properly
|
|
|
|
### FreeRTOS OSAL
|
|
|
|
- vRequestContextSwitchFromISR is declared extern "C" so it can be defined in
|
|
a C file without issues
|
|
|
|
### PUS Services
|
|
|
|
- It is now possible to change the message queue depth for the telecommand verification service (PUS1)
|
|
- The same is possible for the event reporting service (PUS5)
|
|
- PUS Health Service added, which allows to command and retrieve health via PUS packets
|
|
|
|
|
|
### EnhancedControllerBase
|
|
|
|
- New base class for a controller which also implements HasActionsIF and HasLocalDataPoolIF
|
|
|
|
### Local Pool
|
|
|
|
- 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
|
|
two ctor arguments and a template parameter
|
|
|
|
### Parameter Service
|
|
|
|
- The API of the parameter service has been changed to prevent inconsistencies
|
|
between documentation and actual code and to clarify usage.
|
|
- 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)
|
|
|
|
### File System Interface
|
|
|
|
- A new interfaces specifies the functions for a software object which exposes the file system of
|
|
a given hardware to use message based file handling (e.g. PUS commanding)
|
|
|
|
### 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.
|
|
|
|
### Device Handler Base
|
|
|
|
- There is an additional `PERFORM_OPERATION` step for the device handler base. It is important
|
|
that DHB users adapt their polling sequence tables to perform this step. This steps allows for
|
|
a clear distinction between operation and communication steps
|
|
- setNormalDatapoolEntriesInvalid is not an abstract method and a default implementation was provided
|
|
- getTransitionDelayMs is now an abstract method
|
|
|
|
### DeviceHandlerIF
|
|
|
|
- Typo for UNKNOWN_DEVICE_REPLY
|
|
|
|
### Events
|
|
|
|
- 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
|
|
|
|
### Commanding Service Base
|
|
|
|
- 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
|
|
|
|
### 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.
|
|
|
|
### ActionHelper and ActionMessage
|
|
|
|
- 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
|
|
|
|
### PUS Parameter Service 20
|
|
|
|
Added PUS parameter service 20 (only custom subservices available).
|