Skip to content

Commit

Permalink
Merge pull request nasa#2314 from jphickey/fix-2310-eds-compat
Browse files Browse the repository at this point in the history
Fix nasa#2310, Update XML files per interoperability testing
  • Loading branch information
dzbaker committed May 4, 2023
2 parents 97452ab + fb2234c commit 2a57252
Show file tree
Hide file tree
Showing 5 changed files with 42 additions and 43 deletions.
62 changes: 27 additions & 35 deletions modules/es/eds/cfe_es.xml
Original file line number Diff line number Diff line change
Expand Up @@ -30,23 +30,23 @@
<DataTypeSet>

<EnumeratedDataType name="LogMode" shortDescription="Identifies handling of log messages after storage is filled" >
<IntegerDataEncoding sizeInBits="8" encoding="unsigned" />
<IntegerDataEncoding sizeInBits="32" encoding="unsigned" />
<EnumerationList>
<Enumeration label="OVERWRITE" value="0" shortDescription="Overwrite Log Mode" />
<Enumeration label="DISCARD" value="1" shortDescription="Discard Log Mode" />
</EnumerationList>
</EnumeratedDataType>

<EnumeratedDataType name="ExceptionAction" shortDescription="Identifies action to take if exception occurs" >
<IntegerDataEncoding sizeInBits="8" encoding="unsigned" />
<IntegerDataEncoding sizeInBits="16" encoding="unsigned" />
<EnumerationList>
<Enumeration label="RESTART_APP" value="0" shortDescription="Restart application if exception occurs" />
<Enumeration label="PROC_RESTART" value="1" shortDescription="Restart processor if exception occurs" />
</EnumerationList>
</EnumeratedDataType>

<EnumeratedDataType name="AppType" shortDescription="Identifies type of CFE application">
<IntegerDataEncoding sizeInBits="8" encoding="unsigned" />
<IntegerDataEncoding sizeInBits="32" encoding="unsigned" />
<EnumerationList>
<Enumeration label="CORE" value="1" shortDescription="CFE core application" />
<Enumeration label="EXTERNAL" value="2" shortDescription="CFE external application" />
Expand Down Expand Up @@ -165,44 +165,41 @@
</Range>
</IntegerDataType>

<ContainerDataType name="MemOffset" shortDescription="Type used for memory sizes and offsets in commands and telemetry">
<IntegerDataType name="MemOffset" shortDescription="Integer type used for CPU memory addresses, sizes and offsets">
<LongDescription>
For backward compatibility with existing CFE code this should be uint32,
For backward compatibility with existing CFS code this should be uint32,
but all telemetry information will be limited to 4GB in size as a result.

On 64-bit platforms this can be a 64-bit value which will allow larger
On 64-bit platforms this can be expanded to 64 bits which will allow larger
memory objects, but this will break compatibility with existing control
systems, and may also change the alignment/padding of messages.
systems, and may also change the alignment/padding of some messages.

In either case this must be an unsigned type.
In either case this must be an unsigned type, and should be large enough
to represent the largest memory address/size in use in the CFS system.
</LongDescription>
<EntryList>
<Entry name="Offset" type="BASE_TYPES/MemReference" shortDescription="Memory Offset" />
</EntryList>
</ContainerDataType>
<IntegerDataEncoding sizeInBits="${CFE_MISSION/MEM_REFERENCE_SIZE_BITS}" encoding="unsigned" />
<Range>
<MinMaxRange max="2 ^ ${CFE_MISSION/MEM_REFERENCE_SIZE_BITS}" min="0" rangeType="inclusiveMinExclusiveMax"/>
</Range>
</IntegerDataType>

<ContainerDataType name="MemAddress" shortDescription="Type used for memory addresses in command and telemetry messages">
<IntegerDataType name="MemAddress" shortDescription="Integer type used for CPU memory addresses, sizes and offsets">
<LongDescription>
For backward compatibility with existing CFE code this should be uint32,
but if running on a 64-bit platform, addresses in telemetry will be
truncated to 32 bits and therefore will not be valid.

On 64-bit platforms this can be a 64-bit address which will allow the
full memory address in commands and telemetry, but this will break
compatibility with existing control systems, and may also change
the alignment/padding of messages.
For backward compatibility with existing CFS code this should be uint32,
but all telemetry information will be limited to 4GB in size as a result.

In either case this must be an unsigned type.
On 64-bit platforms this can be expanded to 64 bits which will allow larger
memory objects, but this will break compatibility with existing control
systems, and may also change the alignment/padding of some messages.

FSW code should access this value via the macros provided, which
converts to the native "cpuaddr" type provided by OSAL. This macro
provides independence between the message representation and local
representation of a memory address.
In either case this must be an unsigned type, and should be large enough
to represent the largest memory address/size in use in the CFS system.
</LongDescription>
<EntryList>
<Entry name="Addr" type="BASE_TYPES/MemReference" shortDescription="Memory Address" />
</EntryList>
</ContainerDataType>
<IntegerDataEncoding sizeInBits="${CFE_MISSION/MEM_REFERENCE_SIZE_BITS}" encoding="unsigned" />
<Range>
<MinMaxRange max="2 ^ ${CFE_MISSION/MEM_REFERENCE_SIZE_BITS}" min="0" rangeType="inclusiveMinExclusiveMax"/>
</Range>
</IntegerDataType>

<StringDataType name="char_x_CFE_ES_CDS_MAX_FULL_NAME_LEN" length="${CFE_MISSION/ES_CDS_MAX_FULL_NAME_LEN}" />

Expand Down Expand Up @@ -249,11 +246,6 @@
\cfetlmmnemonic \ES_STACKSIZE
</LongDescription>
</Entry>
<Entry name="ModuleId" type="BASE_TYPES/uint32" shortDescription="The ID of the Loadable Module for the Application">
<LongDescription>
\cfetlmmnemonic \ES_MODULEID
</LongDescription>
</Entry>
<Entry name="AddressesAreValid" type="BASE_TYPES/uint32" shortDescription="Indicates that the Code, Data, and BSS addresses/sizes are valid">
<LongDescription>
\cfetlmmnemonic \ES_ADDRVALID
Expand Down
5 changes: 5 additions & 0 deletions modules/evs/eds/cfe_evs.xml
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,7 @@
</LongDescription>
<EntryList>
<Entry name="LogMode" type="LogMode" shortDescription="Mode to use in the command" />
<PaddingEntry sizeInBits="8" shortDescription="Spare bytes for alignment"/>
</EntryList>
</ContainerDataType>

Expand All @@ -107,6 +108,7 @@
</LongDescription>
<EntryList>
<Entry name="MsgFormat" type="MsgFormat" shortDescription="Format to use in the command" />
<PaddingEntry sizeInBits="8" shortDescription="Spare bytes for alignment"/>
</EntryList>
</ContainerDataType>

Expand All @@ -117,6 +119,7 @@
</LongDescription>
<EntryList>
<Entry name="BitMask" type="BASE_TYPES/uint8" shortDescription="BitMask to use in the command" />
<PaddingEntry sizeInBits="8" shortDescription="Spare bytes for alignment"/>
</EntryList>
</ContainerDataType>

Expand Down Expand Up @@ -147,6 +150,7 @@
<EntryList>
<Entry name="AppName" type="BASE_TYPES/ApiName" shortDescription="Application name to use in the command" />
<Entry name="BitMask" type="BASE_TYPES/uint8" shortDescription="BitMask to use in the command" />
<PaddingEntry sizeInBits="8" shortDescription="Spare bytes for alignment"/>
</EntryList>
</ContainerDataType>

Expand Down Expand Up @@ -250,6 +254,7 @@
\cfetlmmnemonic \EVS_LOGENABLED
</LongDescription>
</Entry>
<PaddingEntry sizeInBits="24" shortDescription="Spare bytes for alignment"/>
<Entry name="AppData" type="AppTlmData_x_CFE_ES_MAX_APPLICATIONS">
<LongDescription>
\cfetlmmnemonic \EVS_APP
Expand Down
9 changes: 5 additions & 4 deletions modules/sb/eds/cfe_sb.xml
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,7 @@
<EntryList>
<Entry name="MsgId" type="MsgId" shortDescription="Message ID of route to be enabled or disabled #CFE_SB_MsgId_t" />
<Entry name="Pipe" type="PipeId" shortDescription="Pipe ID of route to be enabled or disabled #CFE_SB_PipeId_t" />
<PaddingEntry sizeInBits="32" shortDescription="Spare bytes for alignment"/>
</EntryList>
</ContainerDataType>

Expand Down Expand Up @@ -266,7 +267,7 @@
\cfetlmmnemonic \SB_SMPMIDIU
</LongDescription>
</Entry>
<Entry name="MaxMsgIdsAllowed" type="BASE_TYPES/uint32" shortDescription="cFE Cfg Param \link #CFE_PLATFORM_SB_MAX_MSG_IDS \endlink">
<Entry name="MaxMsgIdsAllowed" type="BASE_TYPES/uint32" shortDescription="cFE Cfg Param #CFE_PLATFORM_SB_MAX_MSG_IDS">
<LongDescription>
\cfetlmmnemonic \SB_SMMMIDALW
</LongDescription>
Expand All @@ -281,7 +282,7 @@
\cfetlmmnemonic \SB_SMPPIU
</LongDescription>
</Entry>
<Entry name="MaxPipesAllowed" type="BASE_TYPES/uint32" shortDescription="cFE Cfg Param \link #CFE_PLATFORM_SB_MAX_PIPES \endlink">
<Entry name="MaxPipesAllowed" type="BASE_TYPES/uint32" shortDescription="cFE Cfg Param #CFE_PLATFORM_SB_MAX_PIPES">
<LongDescription>
\cfetlmmnemonic \SB_SMMPALW
</LongDescription>
Expand All @@ -296,7 +297,7 @@
\cfetlmmnemonic \SB_SMPBMIU
</LongDescription>
</Entry>
<Entry name="MaxMemAllowed" type="BASE_TYPES/uint32" shortDescription="cFE Cfg Param \link #CFE_PLATFORM_SB_BUF_MEMORY_BYTES \endlink">
<Entry name="MaxMemAllowed" type="BASE_TYPES/uint32" shortDescription="cFE Cfg Param #CFE_PLATFORM_SB_BUF_MEMORY_BYTES">
<LongDescription>
\cfetlmmnemonic \SB_SMMBMALW
</LongDescription>
Expand Down Expand Up @@ -328,7 +329,7 @@
\cfetlmmnemonic \SB_SMPSBBIU
</LongDescription>
</Entry>
<Entry name="MaxPipeDepthAllowed" type="BASE_TYPES/uint32" shortDescription="cFE Cfg Param \link #CFE_PLATFORM_SB_MAX_PIPE_DEPTH \endlink">
<Entry name="MaxPipeDepthAllowed" type="BASE_TYPES/uint32" shortDescription="cFE Cfg Param #CFE_PLATFORM_SB_MAX_PIPE_DEPTH">
<LongDescription>
\cfetlmmnemonic \SB_SMMPDALW
</LongDescription>
Expand Down
1 change: 1 addition & 0 deletions modules/tbl/eds/cfe_tbl.xml
Original file line number Diff line number Diff line change
Expand Up @@ -236,6 +236,7 @@
\cfetlmmnemonic \TBL_NUMFREESHRBUF
</LongDescription>
</Entry>
<PaddingEntry sizeInBits="24" shortDescription="Spare bytes for alignment"/>
<Entry name="MemPoolHandle" type="CFE_ES/MemHandle" shortDescription="Handle to TBL's memory pool">
<LongDescription>
\cfetlmmnemonic \TBL_MEMPOOLHANDLE
Expand Down
8 changes: 4 additions & 4 deletions modules/time/eds/cfe_time.xml
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@
</EnumeratedDataType>

<EnumeratedDataType name="SourceSelect" shortDescription="Clock Source Selection Parameters">
<IntegerDataEncoding sizeInBits="8" encoding="unsigned" />
<IntegerDataEncoding sizeInBits="16" encoding="unsigned" />
<EnumerationList>
<Enumeration label="INTERNAL" value="1" shortDescription="Use Internal Source" />
<Enumeration label="EXTERNAL" value="2" shortDescription="Use External Source" />
Expand All @@ -103,23 +103,23 @@
</EnumeratedDataType>

<EnumeratedDataType name="AdjustDirection" shortDescription="STCF adjustment direction (for both one-time and 1Hz adjustments)">
<IntegerDataEncoding sizeInBits="8" encoding="unsigned" />
<IntegerDataEncoding sizeInBits="16" encoding="unsigned" />
<EnumerationList>
<Enumeration label="ADD" value="1" shortDescription="Add time adjustment" />
<Enumeration label="SUBTRACT" value="2" shortDescription="Subtract time adjustment" />
</EnumerationList>
</EnumeratedDataType>

<EnumeratedDataType name="FlywheelState" shortDescription="Fly-wheel status values" >
<IntegerDataEncoding sizeInBits="8" encoding="unsigned" />
<IntegerDataEncoding sizeInBits="16" encoding="unsigned" />
<EnumerationList>
<Enumeration label="NO_FLY" value="0" shortDescription="Not in flywheel state" />
<Enumeration label="IS_FLY" value="1" shortDescription="In flywheel state" />
</EnumerationList>
</EnumeratedDataType>

<EnumeratedDataType name="SetState" shortDescription="Clock status values (has the clock been set to correct time)">
<IntegerDataEncoding sizeInBits="8" encoding="unsigned" />
<IntegerDataEncoding sizeInBits="16" encoding="unsigned" />
<EnumerationList>
<Enumeration label="NOT_SET" value="0" shortDescription="Spacecraft time has not been set" />
<Enumeration label="WAS_SET" value="1" shortDescription="Spacecraft time has been set" />
Expand Down

0 comments on commit 2a57252

Please sign in to comment.