-
Notifications
You must be signed in to change notification settings - Fork 0
/
md_platform_cfg.h
140 lines (127 loc) · 4.23 KB
/
md_platform_cfg.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
/************************************************************************
* NASA Docket No. GSC-18,922-1, and identified as “Core Flight
* System (cFS) Memory Dwell Application Version 2.4.1”
*
* Copyright (c) 2021 United States Government as represented by the
* Administrator of the National Aeronautics and Space Administration.
* All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License. You may obtain
* a copy of the License at http:https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
************************************************************************/
/**
* @file
* Specification for the CFS Memory Dwell constants that can
* be configured from one platform to another
*/
#ifndef MD_PLATFORM_CFG_H
#define MD_PLATFORM_CFG_H
/**
* \defgroup cfsmdplatformcfg CFS Memory Dwell Platform Configuration
* \{
*/
/**
* \brief Command Pipe Name
*
* \par Description:
* Software bus name for the command pipe
*
* \par Limits:
* The string must be no longer than #OS_MAX_API_NAME (including terminator).
*/
#define MD_PIPE_NAME "MD_CMD_PIPE"
/**
* \brief Command Pipe Depth
*
* \par Description:
* Maximum number of messages that will be allowed in the
* command pipe at one time. Used during initialization
* in the call to #CFE_SB_CreatePipe
*
* \par Limits:
* This parameter can't be larger than an unsigned 16 bit
* integer (65535).
*/
#define MD_PIPE_DEPTH 50
/**
* \brief Memory Dwell Base Filename
*
* \par Description:
* Default base name and location for Memory Dwell filenames
* AppInit will append 01,02,03, up to number of tables.
*
* \par Limits:
* This string shouldn't be longer than #OS_MAX_PATH_LEN for the
* target platform in question
*/
#define MD_TBL_FILENAME_FORMAT "/cf/md_dw%02d.tbl"
/**
* \brief Number of memory dwell tables.
*
* \par Limits
* Acceptable values for this parameter are 1 to 16.
*/
#define MD_NUM_DWELL_TABLES 4
/**
* \brief Maximum number of dwell specifications (address/delay/length)
* in a Dwell Table.
*
* \par Limits
* The maximum value for this parameter is limited by its effect
* on the MD_DwellTableLoad_t and associated data points, limiting
* it to 65535 points.
*/
#define MD_DWELL_TABLE_SIZE 25
/**
* \brief Option of whether 32 bit integers must be aligned to 32 bit
* boundaries. 1 indicates 'yes' (32-bit boundary alignment enforced),
* 0 indicates 'no' (16-bit boundary alignment enforced).
*
* \par Limits
* Value must be 0 or 1.
*/
#define MD_ENFORCE_DWORD_ALIGN 1
/**
* \brief Option of whether a signature field will be reserved in
* dwell packets. 1 indicates 'yes', 0 indicates 'no'.
*
* \par Limits
* Value must be 0 or 1.
*/
#define MD_SIGNATURE_OPTION 1
/**
* \brief Number of characters used in the Signature Field
*
* \par Limits
* Signature field length needs to be a multiple of 4 so that
* dwell packet is a multiple of 4 bytes and no compiler padding
* will occur. Note that the final character of the signature string
* must be a null character, so the effective length of user definable
* characters is one less than the defined length. The length
* specified must therefore be at least 4.
*/
#define MD_SIGNATURE_FIELD_LENGTH 32
/**
* \brief Mission specific version number for MD application
*
* \par Description:
* An application version number consists of four parts:
* major version number, minor version number, revision
* number and mission specific revision number. The mission
* specific revision number is defined here and the other
* parts are defined in "md_version.h".
*
* \par Limits:
* Must be defined as a numeric value that is greater than
* or equal to zero.
*/
#define MD_MISSION_REV 0
/**\}*/
#endif