Skip to content

Commit

Permalink
Fix nasa#1396, scrub command documentation
Browse files Browse the repository at this point in the history
Update documentation for all command codes in CFE core apps, in
particular the error conditions, to confirm it matches the
actual implementation.

For common operations that apply to all commmands (length verification)
this is now put into the users guide as a general statement rather
than repeating the info in every command.
  • Loading branch information
jphickey committed Jul 28, 2021
1 parent 33a4f19 commit 1211954
Show file tree
Hide file tree
Showing 11 changed files with 245 additions and 216 deletions.
10 changes: 5 additions & 5 deletions docs/cFE Application Developers Guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -980,14 +980,14 @@ The specific size of the management structure depends on the platform
architecture word size and alignment requirements, and padding may be
added as necessary to meet the system requirements. For illustrative
purposes, the examples below use sizes that are respresentative of a
32-bit CPU with 32-bit buffer alignment with no extra alignment padding
32-bit CPU with 32-bit buffer alignment with no extra alignment padding
added. The pool overhead will increase on a 64-bit CPU with 64-bit
alignment, or if pool alignment configured greater than 32 bits. For
more information on pool buffer alignment, see the description of
more information on pool buffer alignment, see the description of
the `CFE_PLATFORM_ES_MEMPOOL_ALIGN_SIZE_MIN` configuration parameter.

It should also be noted that while 64-bit CPU architectures are fully
supported by the memory pool internal implementation in current CFE
supported by the memory pool internal implementation in current CFE
versions, the API is carried over from older CFE versions in order to
be backward compatible. Some memory pool API functions (e.g.
`CFE_ES_GetPoolBufInfo`, `CFE_ES_PutPoolBuf`, etc) return a buffer size
Expand Down Expand Up @@ -1893,7 +1893,7 @@ SAMPLE_AppData_t SAMPLE_AppData; /* Instantiate Task Data */
CFE_SB_TransmitMsg(&SAMPLE_APP_Data.HkTlm.TlmHeader.Msg, true);
...
}
```
```

## 6.7 Receiving Software Bus Messages

Expand Down Expand Up @@ -2057,7 +2057,7 @@ SAMPLE_AppData_t SAMPLE_AppData; /* Instantiate Task Data */

## 6.9 Best Practices for using Software Bus

The following are recommended "best practices" for applications using EVS.
The following are recommended "best practices" for applications using SB.
1. Applications should use the Software Bus for all communication with other
applications.
2. Pipe depth and message limits are dependent on the entire software system.
Expand Down
9 changes: 8 additions & 1 deletion docs/src/cfe_es.dox
Original file line number Diff line number Diff line change
Expand Up @@ -404,7 +404,7 @@

Or the #CFE_ES_QUERY_ALL_CC command can be used to get information about
all the applications that are currently registered with ES. This command
writes the application data to a file and has a one parameter which
writes the application data to a file and has a one parameter which
specifies the path and filename of the output file.

For either command, the following Application information is made available:
Expand Down Expand Up @@ -825,6 +825,13 @@
/**
\page cfeescmds cFE Executive Services Commands

Upon receipt of any command, the Executive Services application will confirm that the
message length embedded within the header (from `CFE_MSG_GetSize()`) matches the expected
length of that message, based on the size of the C structure defining that command.
If there is any discrepancy between the expected and actual message size, ES will generate
the #CFE_ES_LEN_ERR_EID event, increment the command error counter (\ES_CMDEC), and the
command will _not_ be accepted for processing.

The following is a list of commands that are processed by the cFE Executive Services Task.
**/

Expand Down
12 changes: 9 additions & 3 deletions docs/src/cfe_evs.dox
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@
EVS can be configured to control the Local Event Log to either discard or overwrite
the contents of the log when it becomes full. If the mode is set to overwrite, the
log is treated like a circular buffer, overwriting the oldest event message contained
in the log first. This control is configured by default in the cfe_platform_cfg.h
in the log first. This control is configured by default in the cfe_platform_cfg.h
file but can be modified by \link #CFE_EVS_SET_LOG_MODE_CC a command \endlink.


Expand Down Expand Up @@ -170,7 +170,7 @@
the events that it wants to register for filtering along with the
\ref cfeevsugmsgfilter (only the Binary Filtering Scheme
exists currently). Note that applications are limited in the number of events that
they can register for filtering (see #CFE_PLATFORM_EVS_MAX_EVENT_FILTERS in cfe_platform_cfg.h
they can register for filtering (see #CFE_PLATFORM_EVS_MAX_EVENT_FILTERS in cfe_platform_cfg.h
for the mission defined limit). The filtering method uses a mask to determine if the
message is forwarded to the software bus, making it available in telemetry (see
\ref cfeevsugmsgfilter for a description on filtering). Commands are available to
Expand Down Expand Up @@ -500,6 +500,13 @@
/**
** \page cfeevscmds cFE Event Services Commands
**
** Upon receipt of any command, the Event Services application will confirm that the
** message length embedded within the header (from `CFE_MSG_GetSize()`) matches the expected
** length of that message, based on the size of the C structure defining that command.
** If there is any discrepancy between the expected and actual message size, EVS will generate
** the #CFE_EVS_LEN_ERR_EID event, increment the command error counter (\EVS_CMDEC), and the
** command will _not_ be accepted for processing.
**
** The following is a list of commands that are processed by the cFE Event Services Task.
**/

Expand All @@ -515,4 +522,3 @@
** The following are configuration parameters used to configure the cFE Event Services
** either for each platform or for a mission as a whole.
**/

7 changes: 7 additions & 0 deletions docs/src/cfe_sb.dox
Original file line number Diff line number Diff line change
Expand Up @@ -584,6 +584,13 @@
/**
** \page cfesbcmds cFE Software Bus Commands
**
** Upon receipt of any command, the Software Bus application will confirm that the
** message length embedded within the header (from `CFE_MSG_GetSize()`) matches the expected
** length of that message, based on the size of the C structure defining that command.
** If there is any discrepancy between the expected and actual message size, SB will generate
** the #CFE_SB_LEN_ERR_EID event, increment the command error counter (\SB_CMDEC), and the
** command will _not_ be accepted for processing.
**
** The following is a list of commands that are processed by the cFE Software Bus Task.
**/

Expand Down
10 changes: 8 additions & 2 deletions docs/src/cfe_tbl.dox
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@
updated (or in the case of dump-only tables, dumped). Most Applications perform this periodic
management at the same time as housekeeping requests are processed. This table management is
performed by the cFE Application that "owns" a table (ie - the cFE Application that registered
the table with cFE Table Services). It is possible for cFE Applications to "share" a table with
the table with cFE Table Services). It is possible for cFE Applications to "share" a table with
other cFE Applications. An Application that shares a table does not typically perform any of the
management duties associated with that table.

Expand Down Expand Up @@ -414,6 +414,13 @@
/**
** \page cfetblcmds cFE Table Services Commands
**
** Upon receipt of any command, the Table Services application will confirm that the
** message length embedded within the header (from `CFE_MSG_GetSize()`) matches the expected
** length of that message, based on the size of the C structure defining that command.
** If there is any discrepancy between the expected and actual message size, TBL will generate
** the #CFE_TBL_LEN_ERR_EID event, increment the command error counter (\TBL_CMDEC), and the
** command will _not_ be accepted for processing.
**
** The following is a list of commands that are processed by the cFE Table Services Task.
**/

Expand All @@ -429,4 +436,3 @@
** The following are configuration parameters used to configure the cFE Table Services
** either for each platform or for a mission as a whole.
**/

12 changes: 9 additions & 3 deletions docs/src/cfe_time.dox
Original file line number Diff line number Diff line change
Expand Up @@ -215,7 +215,7 @@
In the third system, the MET is located on hardware connected via spacewire. When MET seconds
increment, a spacewire time tick triggers a local processor interrupt to signal the tone.
Shortly after announcing the tone, the hardware containing the MET also generates a spacewire
data packet containing the MET value corresponding to the tone. TIME must wait until both
data packet containing the MET value corresponding to the tone. TIME must wait until both
the tone and data packet have been received before validating the tone. The tone must have
occurred approximately one second after the previous tone signal and the data packet must
have been received within a specified window in time following the tone.
Expand Down Expand Up @@ -766,7 +766,7 @@
that can be made to the STCF to compensate for oscillator drift.
Mission specific ground correlation should be used to assist in
determining the proper values to use. The Leap Seconds should be
set to the current TAI-UTC. Note that the International Earth
set to the current TAI-UTC. Note that the International Earth
Rotation and Reference Systems Service Bulletin C, which defines
the current difference, reports it as UTC-TAI, and thus that value
must be negated. <B>The Leap Seconds value will always be a positive
Expand Down Expand Up @@ -825,6 +825,13 @@
/**
** \page cfetimecmds cFE Time Services Commands
**
** Upon receipt of any command, the Time Services application will confirm that the
** message length embedded within the header (from `CFE_MSG_GetSize()`) matches the expected
** length of that message, based on the size of the C structure defining that command.
** If there is any discrepancy between the expected and actual message size, TIME will generate
** the #CFE_TIME_LEN_ERR_EID event, increment the command error counter (\TIME_CMDEC), and the
** command will _not_ be accepted for processing.
**
** The following is a list of commands that are processed by the cFE Time Services Task.
**/

Expand All @@ -840,4 +847,3 @@
** The following are configuration parameters used to configure the cFE Time Services
** either for each platform or for a mission as a whole.
**/

Loading

0 comments on commit 1211954

Please sign in to comment.