Releases: pnp-software/cordetfw
Release 1.2.0
This releases removes the src/Aux
directory. The directory has been removed because it made deployment of the Cordet FW on a Windows platform impossible (the name Aux
is reserved on Windows and cannot be used as a directory name). The content of the src/Aux
directory (one single C module implementing the configuration check functions) has been moved to the src/UtilitityFunctions
directory.
User files linking to the Aux
module will need to update their reference to the CrFwAux
source files.
Release 1.1.0
This release fixes a few minor bugs and improves compatibility with PUS-C. Most of its changes are concentrated in the InStream and OutStream components. The highlights are:
- Previously, an OutStream had to be defined for each packet destination. Now, one can associate multiple destinations to each OutStream (but each destination must be mapped to one and only one OutStream).
- Previously, an InStream had to be defined for each packet source. Now, one can associate multiple sources to each InStream (but each source must be mapped to one and only one InStream).
- Previously, to each In/OutStream one or more groups were associated. Now, the groups are shared among all In/OutStreams. As before, the sequence counter is incremented within each group but users are free to decide how many groups to have and which packets to allocate to each group. This allows users to achieve compatibility both with the sequence counter logic of the PUS-A and of the PUS-C
- The "Type Counter" has been added as an attribute to all packets and OutStreams can be configured to manage it in accordance with the PUS C rules (but InStreams do not perform any check on the Type Counter attribute)
- References to the Adaptation Points have been added in the source code
Several Bug Fixes and Extensions
This version fixes all known bugs in the CORDET Framework and implements a number of extensions required for the PUS Extension of the CORDET Framework (see https://github.com/pnp-software/cordetfw-pus).
The changes to the framework code with a functional impact include:
- 071d861 ("Removed kindKey (issue #75)", 2018-05-16)
- fdae379 ("Modified interface of function CrFwRepErrInstanceIdAndDest", 2018-05-17)
- cafed04 ("Added packet as a parameter to function CrFwRepErrSeqCnt", 2018-05-17)
- 519ee4d ("Added outcome for OutLoaderLoad operation (issue #105)", 2018-05-18)
- dc9cddc ("Added two new error-handling functions", 2018-05-21)
- 9f1d45c ("Added convenience functions to set outcome (issue #128)", 2018-06-03)
- ebe36a2 ("Modified and extended CrFwTime interface", 2018-06-07)
- 1e100fe ("Fixed configuration check as per Issue #130", 2018-07-25)
- 416dee1 ("Added functions to retrieve the packet of Cmd/Rep component", 2018-07-25)
- 8a2f02e ("Modified management of progress action completion status (Issue #42)", 2018-10-05)
- 00a17fd ("Removed unused function and unused variable", 2018-10-09)
- 53a9a5b ("Modified structure of CR_FW_OUTREGISTRY_INIT_SERV_DESC (issue #76)", 2018-10-22)
- a9254a1 ("Extended OutRegistry check", 2018-10-22)
- 18c8ecf ("Fixed bug in call to malloc in CrFwOutRegistry", 2018-10-28)
- 28f4d67 ("Fixed bug in consistency check for OutFactory", 2018-10-28)
- 48d2b0f ("Modified storage policy for OutCmp enable state", 2018-10-28)
- fffa687 ("Added functions to get lower and upper bounds of discriminant", 2018-11-01)
- e2fc53f ("Added function to access the discriminant enable state in the OutRegistry", 2018-11-01)
- 6d6f52b ("Fixed issue #15 (changed definition of CrFwPckt_t)", 2019-01-15)
- aa814a8 ("Changed initial value of InCmd's Progress Step to 0", 2019-01-17)
- ed676f4 ("Added function CrFwSmSuccessFunction", 2019-01-31)
- cad7af6 ("Added handling of CRC attribute", 2019-03-22)
- f7dd8ea ("Fixed return type of CrFwPcktGetStartPar (issue #139)", 2019-03-30)
- 72df5cb ("Added crc check in validity check of InCommands and InReports", 2019-03-30)
- 06760ff ("Removed unnecessary if-clause (no functional change)", 2019-05-04)
- c09163a ("Removed memory leak", 2019-05-05)
Changed Licence from LGPL to MPL
The delivery file for this release (inclusive of code, documentation in PDF format and doxygen web site) can be downloaded from here.
This release is functionally identical to release 0.9.3 but it has a new licence (Mozilla Public Licence v2 instead of Lesser GPL).
Fixed Bug in InLoader
This release fixes a bug in the InLoader implementation (GitHub issue 110) and clarifies the doxygen documentation of the CrFwPckt module.
Improved Handling of Report Loading Failures
The primary objective of this version is to fix issue 106 by improving the handling of the errors encountered by the InLoader when it processes an incoming report. More information can be found in the doxygen documentation of the InLoader component.
Improved Handling of Acceptance Check Failure
This releases adds outcome "Load Failed" for the processing of incoming command. This outcome is generated when an incoming command cannot be loaded in its InManager. The outcome has been added to type CrFwRepInCmdOutcome_t.
Added Handling of InCommand Creation Failure
This release extends the interface defined in CrFwRepInCmdOutcome.h with a new function (CrFwRepInCmdOutcomeCreFail). The new function handles the case where an application has received a command but the InCommand component cannot be created either because the type of the incoming command is illegal or because the application has run out of resources.
Fixed Various Static Code Analysis Issues
This release fixes the issues reported by R. Ottensamer in his e-mail of 9 August when
he imported version 0.8.2 of the CORDET FW into the CHEOPS Flight Software. The
affected modules are:
- CrFwOutStream
- CrFwOutRegistry
- CrFwInManager
- CrFwOutManager
There are no functional impacts from the changes done in this release.