Change of default MAPID Allocation
The behaviour for default MAP-ID's in telecommands has changed in a small way….
On request from a customer we have made this small departure from the MIB ICD. This has been agreed because we think it is a useful improvement. We are posting here, updating documentation and informing any customers who we think might be affected.
In the MIB ICD it states: CCF_MAPID is ignored unless CCF_HIPRI is true
This means that you cannot configure a telecommand default MAPID in the MIB without making it "High Priority" which by default would force it to bypass flow control. It would be desirable to allow configuring the MAPID in the MIB independent of its priority, while allowing the MAPID to revert to whatever is the current system default.
We have changed the rules in a small but subtle way:
- CCF_MAPID in the MIB file is now an optional field with default -1.
- If CCF_HIPRI is true, this now makes CCF_MAPID mandatory.
In our system the value -1 is the same as the previous default: it means "unspecified" which means that the command chain will "use the current default MAPID at the time of sending". If the MAPID is left blank in the CCF table, the value -1 will be adopted, which means "use whatever MAPID is the current default at runtime".
So you can change the default MAPID in the GSFE or the TMTC FE, and commands marked with -1 as their MAPID will use the current default. However it is now also allowed to specify an explicit MAPID on a command in the MIB, and this will be used irrespective of whether the command is considered high priority.
Recall that it is also possible to specify an explicit MAPID for a command using the tcsend … mapid option
If neither the MIB nor the tcsend command specifies the MAPID, then -1 will be used.
This small improvement allows you to specify a MAPID in the MIB without being forced to make it high priority as well, and without being forced to specify it on the command line. On the other hand it preserves the feature that commands whose MAPID are not explicit will still be sent with the current default.
This will work with EGSE protocols like EDEN as well as the GSFE.
EDEN plugin permits to inject an explicit default MAPID, or to pass on the default -1 to the TMTC front end, who can then allocate a MAPID.
GSFE must inject a MAPID, the decision cannot be postponed, because a TC segment must be formatted. If a command must be sent, and the MAPID marked on a TC is -1, then the current default MAPID is used. The user can change the default MAPID in the GSFE View if desired, and this will then be used as the default MAPID for any commands where it is otherwise unspecified.