]> rtime.felk.cvut.cz Git - arc.git/blob - diagnostic/Dem/Dem_Types.h
MISRA changes on DEM-module
[arc.git] / diagnostic / Dem / Dem_Types.h
1 /* -------------------------------- Arctic Core ------------------------------\r
2  * Arctic Core - the open source AUTOSAR platform http://arccore.com\r
3  *\r
4  * Copyright (C) 2009  ArcCore AB <contact@arccore.com>\r
5  *\r
6  * This source code is free software; you can redistribute it and/or modify it\r
7  * under the terms of the GNU General Public License version 2 as published by the\r
8  * Free Software Foundation; See <http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt>.\r
9  *\r
10  * This program is distributed in the hope that it will be useful, but\r
11  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\r
12  * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License\r
13  * for more details.\r
14  * -------------------------------- Arctic Core ------------------------------*/\r
15 \r
16 \r
17 \r
18 \r
19 \r
20 \r
21 \r
22 \r
23 #ifndef DEM_TYPES_H_\r
24 #define DEM_TYPES_H_\r
25 #include "Std_Types.h" /** @req DEM176.Std */\r
26 \r
27 #define DEM_EVENT_DESTINATION_END_OF_LIST 0\r
28 \r
29 /*\r
30  * DTC storage types\r
31  */\r
32 typedef uint8 Dem_ReturnTypeOfDtcSupportedType;\r
33 #define DEM_ISO15031_6          (Dem_ReturnTypeOfDtcSupportedType)0x00\r
34 #define DEM_ISO14229_1          (Dem_ReturnTypeOfDtcSupportedType)0x01\r
35 #define DEM_SAEJ1939_73         (Dem_ReturnTypeOfDtcSupportedType)0x02\r
36 #define DEM_ISO_11992_4         (Dem_ReturnTypeOfDtcSupportedType)0x03\r
37 \r
38 /*\r
39  * Dem_EventIdType\r
40  */\r
41 typedef uint16 Dem_EventIdType;\r
42 \r
43 /*\r
44  * Dem_DTCGroupType\r
45  */\r
46 typedef uint32 Dem_DTCGroupType;\r
47 #define DEM_DTC_GROUP_ALL_DTCS                  (Dem_DTCGroupType)0xffffff\r
48 \r
49 /*\r
50  * Dem status type\r
51  */\r
52 #define DEM_DTC_STATUS_MASK_ALL                 (uint8)0x00\r
53 \r
54 \r
55 /*\r
56  * DemDTCKindType\r
57  */\r
58 typedef uint8 Dem_DTCKindType;\r
59 #define DEM_DTC_KIND_ALL_DTCS                   (Dem_DTCKindType)0x01\r
60 #define DEM_DTC_KIND_EMISSION_REL_DTCS  (Dem_DTCKindType)0x02\r
61 \r
62 /*\r
63  * DemDTCOriginType\r
64  */\r
65 typedef uint8 Dem_DTCOriginType;\r
66 #define DEM_DTC_ORIGIN_SECONDARY_MEMORY (Dem_DTCOriginType)0x01\r
67 #define DEM_DTC_ORIGIN_PRIMARY_MEMORY   (Dem_DTCOriginType)0x02\r
68 #define DEM_DTC_ORIGIN_PERMANENT_MEMORY (Dem_DTCOriginType)0x03\r
69 #define DEM_DTC_ORIGIN_MIRROR_MEMORY    (Dem_DTCOriginType)0x04\r
70 \r
71 /*\r
72  * DemEventStatusExtendedType\r
73  */\r
74 typedef uint8 Dem_EventStatusExtendedType;\r
75 #define DEM_TEST_FAILED                                                         (Dem_EventStatusExtendedType)0x01\r
76 #define DEM_TEST_FAILED_THIS_OPERATION_CYCLE            (Dem_EventStatusExtendedType)0x02\r
77 #define DEM_PENDING_DTC                                                         (Dem_EventStatusExtendedType)0x04\r
78 #define DEM_CONFIRMED_DTC                                                       (Dem_EventStatusExtendedType)0x08\r
79 #define DEM_TEST_NOT_COMPLETED_SINCE_LAST_CLEAR         (Dem_EventStatusExtendedType)0x10\r
80 #define DEM_TEST_FAILED_SINCE_LAST_CLEAR                        (Dem_EventStatusExtendedType)0x20\r
81 #define DEM_TEST_NOT_COMPLETED_THIS_OPERATION_CYCLE (Dem_EventStatusExtendedType)0x40\r
82 #define DEM_WARNING_INDICATOR_REQUESTED                         (Dem_EventStatusExtendedType)0x80\r
83 \r
84 /*\r
85  * DemOperationCycleType\r
86  */\r
87 typedef uint8 Dem_OperationCycleIdType; // TODO: Check type and values\r
88 enum {\r
89         DEM_ACTIVE,             // Started by DEM on Dem_PreInit and stopped on Dem_Shutdown\r
90 \r
91         DEM_POWER,              // Power ON/OFF Cycle\r
92         DEM_IGNITION,   // Ignition ON/OF Cycle\r
93         DEM_WARMUP,             // OBD Warm up Cycle\r
94         DEM_OBD_DCY,    // OBD Driving Cycle\r
95 \r
96         DEM_OPERATION_CYCLE_ID_ENDMARK\r
97 }; /** @req DEM142 */\r
98 \r
99 /*\r
100  * Dem_OperationCycleStateType\r
101  */\r
102 typedef uint8 Dem_OperationCycleStateType;\r
103 #define DEM_CYCLE_STATE_START           (Dem_OperationCycleStateType)1\r
104 #define DEM_CYCLE_STATE_END                     (Dem_OperationCycleStateType)2\r
105 \r
106 /*\r
107  * Dem_FreezeFrameKindType\r
108  */\r
109 typedef uint8 Dem_FreezeFrameKindType;  // TODO: Check type and values\r
110 #define DEM_FREEZE_FRAME_NON_OBD        (Dem_FreezeFrameKindType)0x01\r
111 #define DEM_FREEZE_FRAME_OBD            (Dem_FreezeFrameKindType)0x02\r
112 \r
113 /*\r
114  * Dem_EventKindType\r
115  */\r
116 typedef uint8 Dem_EventKindType;                // TODO: Check type and values\r
117 #define DEM_EVENT_KIND_BSW              (Dem_EventKindType)0x01\r
118 #define DEM_EVENT_KIND_SWC              (Dem_EventKindType)0x02\r
119 \r
120 /*\r
121  * Dem_EventStatusType\r
122  */\r
123 typedef uint8 Dem_EventStatusType;\r
124 #define DEM_EVENT_STATUS_PASSED         (Dem_EventStatusType)0\r
125 #define DEM_EVENT_STATUS_FAILED         (Dem_EventStatusType)1\r
126 #define DEM_EVENT_STATUS_PREPASSED      (Dem_EventStatusType)2\r
127 #define DEM_EVENT_STATUS_PREFAILED      (Dem_EventStatusType)3\r
128 \r
129 /*\r
130  * Dem_DTCType\r
131  */\r
132 typedef uint32 Dem_DTCType;\r
133 \r
134 /*\r
135  * Dem_InitMonitorKindType\r
136  */\r
137 typedef uint8 Dem_InitMonitorKindType;\r
138 #define DEM_INIT_MONITOR_CLEAR          (Dem_InitMonitorKindType)1\r
139 #define DEM_INIT_MONITOR_RESTART        (Dem_InitMonitorKindType)2\r
140 \r
141 /*\r
142  * Dem_IndicatorStatusType\r
143  */\r
144 typedef uint8 Dem_IndicatorStatusType;\r
145 #define DEM_INDICATOR_OFF                       (Dem_IndicatorStatusType)0\r
146 #define DEM_INDICATOR_CONTINUOUS        (Dem_IndicatorStatusType)1\r
147 #define DEM_INDICATOR_BLINKING          (Dem_IndicatorStatusType)2\r
148 #define DEM_INDICATOR_BLINK_CONT        (Dem_IndicatorStatusType)3\r
149 \r
150 /*\r
151  * Dem_FaultDetectionCpunterType\r
152  */\r
153 typedef sint8 Dem_FaultDetectionCounterType;\r
154 \r
155 /*\r
156  * Dem_PreDebounceNameType\r
157  */\r
158 typedef uint8 Dem_PreDebounceNameType;\r
159 enum {\r
160         DEM_NO_PRE_DEBOUNCE,\r
161         DEM_PRE_DEBOUNCE_COUNTER_BASED,\r
162         DEM_PRE_DEBOUNCE_FREQUENCY_BASED,\r
163         DEM_PRE_DEBOUNCE_TIME_BASED\r
164 };\r
165 \r
166 /*\r
167  * Dem_FilterWithSeverityType\r
168  */\r
169 typedef uint8 Dem_FilterWithSeverityType;\r
170 #define DEM_FILTER_WITH_SEVERITY_YES    (Dem_FilterWithSeverityType)0x00\r
171 #define DEM_FILTER_WITH_SEVERITY_NO     (Dem_FilterWithSeverityType)0x01\r
172 \r
173 /*\r
174  * Dem_FilterForFDCType\r
175  */\r
176 typedef uint8 Dem_FilterForFDCType;\r
177 #define DEM_FILTER_FOR_FDC_YES          (Dem_FilterForFDCType)0x00\r
178 #define DEM_FILTER_FOR_FDC_NO           (Dem_FilterForFDCType)0x01\r
179 \r
180 /*\r
181  * Dem_DTCSeverityType\r
182  */\r
183 typedef uint8 Dem_DTCSeverityType;\r
184 #define DEM_SEVERITY_NO_SEVERITY        (Dem_DTCSeverityType)0x00 // No severity information available\r
185 #define DEM_SEVERITY_MAINTENANCE_ONLY   (Dem_DTCSeverityType)0x20\r
186 #define DEM_SEVERITY_CHECK_AT_NEXT_FALT (Dem_DTCSeverityType)0x40\r
187 #define DEM_SEVERITY_CHECK_IMMEDIATELY  (Dem_DTCSeverityType)0x80\r
188 \r
189 /*\r
190  * Dem_ReturnSetDTCFilterType\r
191  */\r
192 typedef uint8 Dem_ReturnSetDTCFilterType;\r
193 #define DEM_FILTER_ACCEPTED     (Dem_ReturnSetDTCFilterType)0x00\r
194 #define DEM_WRONG_FILTER        (Dem_ReturnSetDTCFilterType)0x01\r
195 \r
196 /*\r
197  * Dem_ReturnGetStatusOfDTCType\r
198  */\r
199 typedef uint8 Dem_ReturnGetStatusOfDTCType;\r
200 #define DEM_STATUS_OK                                           (Dem_ReturnGetStatusOfDTCType)0x00\r
201 #define DEM_STATUS_WRONG_DTC                            (Dem_ReturnGetStatusOfDTCType)0x01\r
202 #define DEM_STATUS_WRONG_DTCORIGIN                      (Dem_ReturnGetStatusOfDTCType)0x02\r
203 #define DEM_STATUS_FAILED                                       (Dem_ReturnGetStatusOfDTCType)0x04\r
204 #define DEM_STATUS_WRONG_DTCKIND                        (Dem_ReturnGetStatusOfDTCType)0x03\r
205 \r
206 /*\r
207  * Dem_ReturnGetNextFilteredDTCType\r
208  */\r
209 typedef uint8 Dem_ReturnGetNextFilteredDTCType;\r
210 #define DEM_FILTERED_OK                                         (Dem_ReturnGetNextFilteredDTCType)0x00\r
211 #define DEM_FILTERED_NO_MATCHING_DTC            (Dem_ReturnGetNextFilteredDTCType)0x01\r
212 #define DEM_FILTERED_WRONG_DTCKIND                      (Dem_ReturnGetNextFilteredDTCType)0x02\r
213 #define DEM_FILTERED_PENDING                            (Dem_ReturnGetNextFilteredDTCType)0x03\r
214 \r
215 /*\r
216  * Dem_ReturnGetNumberOfFilteredDTCType\r
217  */\r
218 typedef uint8 Dem_ReturnGetNumberOfFilteredDTCType;\r
219 #define DEM_NUMBER_OK                                           (Dem_ReturnGetNumberOfFilteredDTCType)0x00\r
220 #define DEM_NUMBER_FAILED                                       (Dem_ReturnGetNumberOfFilteredDTCType)0x01\r
221 #define DEM_NUMBER_PENDING                                      (Dem_ReturnGetNumberOfFilteredDTCType)0x02\r
222 \r
223 /*\r
224  * Dem_ReturnClearDTCType\r
225  */\r
226 typedef uint8 Dem_ReturnClearDTCType;\r
227 #define DEM_CLEAR_OK                                            (Dem_ReturnClearDTCType)0x00\r
228 #define DEM_CLEAR_WRONG_DTC                                     (Dem_ReturnClearDTCType)0x01\r
229 #define DEM_CLEAR_WRONG_DTCORIGIN                       (Dem_ReturnClearDTCType)0x02\r
230 #define DEM_CLEAR_WRONG_DTCKIND                         (Dem_ReturnClearDTCType)0x03\r
231 #define DEM_CLEAR_FAILED                                        (Dem_ReturnClearDTCType)0x04\r
232 #define DEM_DTC_PENDING                                         (Dem_ReturnClearDTCType)0x05\r
233 \r
234 /*\r
235  * Dem_ReturnControlDTCStorageType\r
236  */\r
237 typedef uint8 Dem_ReturnControlDTCStorageType;\r
238 #define DEM_CONTROL_DTC_STORAGE_OK                      (Dem_ReturnControlDTCStorageType)0x00\r
239 #define DEM_CONTROL_DTC_STORAGE_N_OK            (Dem_ReturnControlDTCStorageType)0x01\r
240 #define DEM_CONTROL_DTC_WRONG_DTCGROUP          (Dem_ReturnControlDTCStorageType)0x02\r
241 \r
242 /*\r
243  * Dem_ReturnControlEventUpdateType\r
244  */\r
245 typedef uint8 Dem_ReturnControlEventUpdateType;\r
246 #define DEM_CONTROL_EVENT_UPDATE_OK                     (Dem_ReturnControlEventUpdateType)0x00\r
247 #define DEM_CONTROL_EVENT_N_OK                          (Dem_ReturnControlEventUpdateType)0x01\r
248 #define DEM_CONTROL_EVENT_WRONG_DTCGROUP        (Dem_ReturnControlEventUpdateType)0x02\r
249 \r
250 /*\r
251  * Dem_ReturnGetDTCOfFreezeframeRecordType\r
252  */\r
253 typedef uint8 Dem_ReturnGetDTCOfFreezeframeRecordType;\r
254 #define DEM_GET_DTCOFFF_OK                                      (Dem_ReturnGetDTCOfFreezeframeRecordType)0x00\r
255 #define DEM_GET_DTCOFFF_WRONG_RECORD            (Dem_ReturnGetDTCOfFreezeframeRecordType)0x01\r
256 #define DEM_GET_DTCOFFF_NO_DTC_FOR_RECORD       (Dem_ReturnGetDTCOfFreezeframeRecordType)0x02\r
257 #define DEM_GET_DTCOFFF_WRONG_DTCKIND           (Dem_ReturnGetDTCOfFreezeframeRecordType)0x03\r
258 \r
259 /*\r
260  * Dem_GetFreezeFameDataIdentifierByDTCType\r
261  */\r
262 typedef uint8 Dem_GetFreezeFameDataIdentifierByDTCType;\r
263 #define DEM_GET_ID_OK                                           (Dem_GetFreezeFameDataIdentifierByDTCType)0x00\r
264 #define DEM_GET_ID_WRONG_DTC                            (Dem_GetFreezeFameDataIdentifierByDTCType)0x01\r
265 #define DEM_GET_ID_WRONG_DTCORIGIN                      (Dem_GetFreezeFameDataIdentifierByDTCType)0x02\r
266 #define DEM_GET_ID_WRONG_DTCKIND                        (Dem_GetFreezeFameDataIdentifierByDTCType)0x03\r
267 #define DEM_GET_ID_WRONG_FF_TYPE                        (Dem_GetFreezeFameDataIdentifierByDTCType)0x04\r
268 \r
269 /*\r
270  * Dem_ReturnGetExtendedDataRecordByDTCType\r
271  */\r
272 typedef uint8 Dem_ReturnGetExtendedDataRecordByDTCType;\r
273 #define DEM_RECORD_OK                                           (Dem_ReturnGetExtendedDataRecordByDTCType)0x00\r
274 #define DEM_RECORD_WRONG_DTC                            (Dem_ReturnGetExtendedDataRecordByDTCType)0x01\r
275 #define DEM_RECORD_WRONG_DTCORIGIN                      (Dem_ReturnGetExtendedDataRecordByDTCType)0x02\r
276 #define DEM_RECORD_DTCKIND                                      (Dem_ReturnGetExtendedDataRecordByDTCType)0x03\r
277 #define DEM_RECORD_NUMBER                                       (Dem_ReturnGetExtendedDataRecordByDTCType)0x04\r
278 #define DEM_RECORD_BUFFERSIZE                           (Dem_ReturnGetExtendedDataRecordByDTCType)0x05\r
279 #define DEM_RECORD_PENDING                                      (Dem_ReturnGetExtendedDataRecordByDTCType)0x06\r
280 \r
281 /*\r
282  * Dem_ReturnGetDTCByOccurenceTimeType\r
283  */\r
284 typedef uint8 Dem_ReturnGetDTCByOccurenceTimeType;\r
285 #define DEM_OCCURR_OK                                           (Dem_ReturnGetDTCByOccurenceTimeType)0x00\r
286 #define DEM_OCCURR_WRONG_DTCKIND                        (Dem_ReturnGetDTCByOccurenceTimeType)0x01\r
287 #define DEM_OCCURR_FAILED                                       (Dem_ReturnGetDTCByOccurenceTimeType)0x02\r
288 \r
289 /*\r
290  * Dem_ReturnGetFreezeFrameDataByDTCType\r
291  */\r
292 typedef uint8 Dem_ReturnGetFreezeFrameDataByDTCType;\r
293 #define DEM_GET_FFDATABYDTC_OK                          (Dem_ReturnGetFreezeFrameDataByDTCType)0x00\r
294 #define DEM_GET_FFDATABYDTC_WRONG_DTC           (Dem_ReturnGetFreezeFrameDataByDTCType)0x01\r
295 #define DEM_GET_FFDATABYDTC_WRONG_DTCORIGIN     (Dem_ReturnGetFreezeFrameDataByDTCType)0x02\r
296 #define DEM_GET_FFDATABYDTC_WRONG_DTCKIND       (Dem_ReturnGetFreezeFrameDataByDTCType)0x03\r
297 #define DEM_GET_FFDATABYDTC_RECORDNUMBER        (Dem_ReturnGetFreezeFrameDataByDTCType)0x04\r
298 #define DEM_GET_FFDATABYDTC_WRONG_DATAID        (Dem_ReturnGetFreezeFrameDataByDTCType)0x05\r
299 #define DEM_GET_FFDATABYDTC_BUFFERSIZE          (Dem_ReturnGetFreezeFrameDataByDTCType)0x06\r
300 #define DEM_GET_ID_PENDING                                      (Dem_ReturnGetFreezeFrameDataByDTCType)0x07\r
301 \r
302 /*\r
303  * Dem_ReturnGetSizeOfExtendedDataRecordByDTCType\r
304  */\r
305 typedef uint8 Dem_ReturnGetSizeOfExtendedDataRecordByDTCType;\r
306 #define DEM_GET_SIZEOFEDRBYDTC_OK                       (Dem_ReturnGetSizeOfExtendedDataRecordByDTCType)0x00\r
307 #define DEM_GET_SIZEOFEDRBYDTC_W_DTC            (Dem_ReturnGetSizeOfExtendedDataRecordByDTCType)0x01\r
308 #define DEM_GET_SIZEOFEDRBYDTC_W_DTCOR          (Dem_ReturnGetSizeOfExtendedDataRecordByDTCType)0x02\r
309 #define DEM_GET_SIZEOFEDRBYDTC_W_DTCKI          (Dem_ReturnGetSizeOfExtendedDataRecordByDTCType)0x03\r
310 #define DEM_GET_SIZEOFEDRBYDTC_W_RNUM           (Dem_ReturnGetSizeOfExtendedDataRecordByDTCType)0x04\r
311 #define DEM_GET_SIZEOFEDRBYDTC_PENDING          (Dem_ReturnGetSizeOfExtendedDataRecordByDTCType)0x05\r
312 \r
313 /*\r
314  * Dem_ReturnGetSizeOfFreezeFrameType\r
315  */\r
316 typedef uint8 Dem_ReturnGetSizeOfFreezeFrameType;\r
317 #define DEM_GET_SIZEOFFF_OK                                     (Dem_ReturnGetSizeOfFreezeFrameType)0x00\r
318 #define DEM_GET_SIZEOFFF_WRONG_DTC                      (Dem_ReturnGetSizeOfFreezeFrameType)0x01\r
319 #define DEM_GET_SIZEOFFF_WRONG_DTCOR            (Dem_ReturnGetSizeOfFreezeFrameType)0x02\r
320 #define DEM_GET_SIZEOFFF_WRONG_DTCKIND          (Dem_ReturnGetSizeOfFreezeFrameType)0x03\r
321 #define DEM_GET_SIZEOFFF_WRONG_RNUM                     (Dem_ReturnGetSizeOfFreezeFrameType)0x04\r
322 #define DEM_GET_SIZEOFFF_PENDING                        (Dem_ReturnGetSizeOfFreezeFrameType)0x05\r
323 \r
324 /*\r
325  * Dem_ReturnGetSeverityOfDTCType\r
326  */\r
327 typedef uint8 Dem_ReturnGetSeverityOfDTCType;\r
328 #define DEM_GET_SEVERITYOFDTC_OK                        (Dem_ReturnGetSeverityOfDTCType)0x00\r
329 #define DEM_GET_SEVERITYOFDTC_WRONG_DTC         (Dem_ReturnGetSeverityOfDTCType)0x01\r
330 #define DEM_GET_SEVERITYOFDTC_WRONG_ORIGIN      (Dem_ReturnGetSeverityOfDTCType)0x02\r
331 #define DEM_GET_SEVERITYOFDTC_NOSEVERITY        (Dem_ReturnGetSeverityOfDTCType)0x03\r
332 \r
333 \r
334 \r
335 #endif /*DEM_TYPES_H_*/\r