]> rtime.felk.cvut.cz Git - arc.git/blob - include/Dem_Types.h
Merge branch 'mikulka' of git@rtime.felk.cvut.cz:arc into mikulka
[arc.git] / include / 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 #include "Rte_Dem.h"\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          0x00\r
34 #define DEM_ISO14229_1          0x01\r
35 #define DEM_SAEJ1939_73         0x02\r
36 #define DEM_ISO_11992_4         0x03\r
37 \r
38 /*\r
39  * Dem_DTCGroupType\r
40  */\r
41 typedef uint32 Dem_DTCGroupType;\r
42 #define DEM_DTC_GROUP_ALL_DTCS                  (Dem_DTCGroupType)0xffffff\r
43 \r
44 /*\r
45  * Dem status type\r
46  */\r
47 #define DEM_DTC_STATUS_MASK_ALL                 (uint8)0x00\r
48 \r
49 \r
50 /*\r
51  * DemDTCOriginType\r
52  */\r
53 typedef uint8 Dem_DTCOriginType;\r
54 #define DEM_DTC_ORIGIN_SECONDARY_MEMORY (Dem_DTCOriginType)0x01\r
55 #define DEM_DTC_ORIGIN_PRIMARY_MEMORY   (Dem_DTCOriginType)0x02\r
56 #define DEM_DTC_ORIGIN_PERMANENT_MEMORY (Dem_DTCOriginType)0x03\r
57 #define DEM_DTC_ORIGIN_MIRROR_MEMORY    (Dem_DTCOriginType)0x04\r
58 \r
59 /*\r
60  * Dem_FreezeFrameKindType\r
61  */\r
62 typedef uint8 Dem_FreezeFrameKindType;  // TODO: Check type and values\r
63 #define DEM_FREEZE_FRAME_NON_OBD        (Dem_FreezeFrameKindType)0x01\r
64 #define DEM_FREEZE_FRAME_OBD            (Dem_FreezeFrameKindType)0x02\r
65 \r
66 /*\r
67  * Dem_EventKindType\r
68  */\r
69 typedef uint8 Dem_EventKindType;                // TODO: Check type and values\r
70 #define DEM_EVENT_KIND_BSW              (Dem_EventKindType)0x01\r
71 #define DEM_EVENT_KIND_SWC              (Dem_EventKindType)0x02\r
72 \r
73 /*\r
74  * Dem_EventStatusType\r
75  */\r
76 typedef uint8 Dem_EventStatusType;\r
77 #define DEM_EVENT_STATUS_PASSED         (Dem_EventStatusType)0\r
78 #define DEM_EVENT_STATUS_FAILED         (Dem_EventStatusType)1\r
79 #define DEM_EVENT_STATUS_PREPASSED      (Dem_EventStatusType)2\r
80 #define DEM_EVENT_STATUS_PREFAILED      (Dem_EventStatusType)3\r
81 \r
82 /*\r
83  * Dem_PreDebounceNameType\r
84  */\r
85 typedef uint8 Dem_PreDebounceNameType;\r
86 enum {\r
87         DEM_NO_PRE_DEBOUNCE,\r
88         DEM_PRE_DEBOUNCE_COUNTER_BASED,\r
89         DEM_PRE_DEBOUNCE_FREQUENCY_BASED,\r
90         DEM_PRE_DEBOUNCE_TIME_BASED\r
91 };\r
92 \r
93 /*\r
94  * Dem_FilterWithSeverityType\r
95  */\r
96 typedef uint8 Dem_FilterWithSeverityType;\r
97 #define DEM_FILTER_WITH_SEVERITY_YES    (Dem_FilterWithSeverityType)0x00\r
98 #define DEM_FILTER_WITH_SEVERITY_NO     (Dem_FilterWithSeverityType)0x01\r
99 \r
100 /*\r
101  * Dem_FilterForFDCType\r
102  */\r
103 typedef uint8 Dem_FilterForFDCType;\r
104 #define DEM_FILTER_FOR_FDC_YES          (Dem_FilterForFDCType)0x00\r
105 #define DEM_FILTER_FOR_FDC_NO           (Dem_FilterForFDCType)0x01\r
106 \r
107 /*\r
108  * Dem_DTCSeverityType\r
109  */\r
110 typedef uint8 Dem_DTCSeverityType;\r
111 #define DEM_SEVERITY_NO_SEVERITY        (Dem_DTCSeverityType)0x00 // No severity information available\r
112 #define DEM_SEVERITY_MAINTENANCE_ONLY   (Dem_DTCSeverityType)0x20\r
113 #define DEM_SEVERITY_CHECK_AT_NEXT_FALT (Dem_DTCSeverityType)0x40\r
114 #define DEM_SEVERITY_CHECK_IMMEDIATELY  (Dem_DTCSeverityType)0x80\r
115 \r
116 /*\r
117  * Dem_ReturnSetDTCFilterType\r
118  */\r
119 typedef uint8 Dem_ReturnSetDTCFilterType;\r
120 #define DEM_FILTER_ACCEPTED     (Dem_ReturnSetDTCFilterType)0x00\r
121 #define DEM_WRONG_FILTER        (Dem_ReturnSetDTCFilterType)0x01\r
122 \r
123 /*\r
124  * Dem_ReturnGetStatusOfDTCType\r
125  */\r
126 typedef uint8 Dem_ReturnGetStatusOfDTCType;\r
127 #define DEM_STATUS_OK                                           (Dem_ReturnGetStatusOfDTCType)0x00\r
128 #define DEM_STATUS_WRONG_DTC                            (Dem_ReturnGetStatusOfDTCType)0x01\r
129 #define DEM_STATUS_WRONG_DTCORIGIN                      (Dem_ReturnGetStatusOfDTCType)0x02\r
130 #define DEM_STATUS_FAILED                                       (Dem_ReturnGetStatusOfDTCType)0x04\r
131 #define DEM_STATUS_WRONG_DTCKIND                        (Dem_ReturnGetStatusOfDTCType)0x03\r
132 \r
133 /*\r
134  * Dem_ReturnGetNextFilteredDTCType\r
135  */\r
136 typedef uint8 Dem_ReturnGetNextFilteredDTCType;\r
137 #define DEM_FILTERED_OK                                         (Dem_ReturnGetNextFilteredDTCType)0x00\r
138 #define DEM_FILTERED_NO_MATCHING_DTC            (Dem_ReturnGetNextFilteredDTCType)0x01\r
139 #define DEM_FILTERED_WRONG_DTCKIND                      (Dem_ReturnGetNextFilteredDTCType)0x02\r
140 #define DEM_FILTERED_PENDING                            (Dem_ReturnGetNextFilteredDTCType)0x03\r
141 \r
142 /*\r
143  * Dem_ReturnGetNumberOfFilteredDTCType\r
144  */\r
145 typedef uint8 Dem_ReturnGetNumberOfFilteredDTCType;\r
146 #define DEM_NUMBER_OK                                           (Dem_ReturnGetNumberOfFilteredDTCType)0x00\r
147 #define DEM_NUMBER_FAILED                                       (Dem_ReturnGetNumberOfFilteredDTCType)0x01\r
148 #define DEM_NUMBER_PENDING                                      (Dem_ReturnGetNumberOfFilteredDTCType)0x02\r
149 \r
150 /*\r
151  * Dem_ReturnClearDTCType\r
152  */\r
153 typedef uint8 Dem_ReturnClearDTCType;\r
154 #define DEM_CLEAR_OK                                            (Dem_ReturnClearDTCType)0x00\r
155 #define DEM_CLEAR_WRONG_DTC                                     (Dem_ReturnClearDTCType)0x01\r
156 #define DEM_CLEAR_WRONG_DTCORIGIN                       (Dem_ReturnClearDTCType)0x02\r
157 #define DEM_CLEAR_WRONG_DTCKIND                         (Dem_ReturnClearDTCType)0x03\r
158 #define DEM_CLEAR_FAILED                                        (Dem_ReturnClearDTCType)0x04\r
159 #define DEM_DTC_PENDING                                         (Dem_ReturnClearDTCType)0x05\r
160 \r
161 /*\r
162  * Dem_ReturnControlDTCStorageType\r
163  */\r
164 typedef uint8 Dem_ReturnControlDTCStorageType;\r
165 #define DEM_CONTROL_DTC_STORAGE_OK                      (Dem_ReturnControlDTCStorageType)0x00\r
166 #define DEM_CONTROL_DTC_STORAGE_N_OK            (Dem_ReturnControlDTCStorageType)0x01\r
167 #define DEM_CONTROL_DTC_WRONG_DTCGROUP          (Dem_ReturnControlDTCStorageType)0x02\r
168 \r
169 /*\r
170  * Dem_ReturnControlEventUpdateType\r
171  */\r
172 typedef uint8 Dem_ReturnControlEventUpdateType;\r
173 #define DEM_CONTROL_EVENT_UPDATE_OK                     (Dem_ReturnControlEventUpdateType)0x00\r
174 #define DEM_CONTROL_EVENT_N_OK                          (Dem_ReturnControlEventUpdateType)0x01\r
175 #define DEM_CONTROL_EVENT_WRONG_DTCGROUP        (Dem_ReturnControlEventUpdateType)0x02\r
176 \r
177 /*\r
178  * Dem_ReturnGetDTCOfFreezeframeRecordType\r
179  */\r
180 typedef uint8 Dem_ReturnGetDTCOfFreezeframeRecordType;\r
181 #define DEM_GET_DTCOFFF_OK                                      (Dem_ReturnGetDTCOfFreezeframeRecordType)0x00\r
182 #define DEM_GET_DTCOFFF_WRONG_RECORD            (Dem_ReturnGetDTCOfFreezeframeRecordType)0x01\r
183 #define DEM_GET_DTCOFFF_NO_DTC_FOR_RECORD       (Dem_ReturnGetDTCOfFreezeframeRecordType)0x02\r
184 #define DEM_GET_DTCOFFF_WRONG_DTCKIND           (Dem_ReturnGetDTCOfFreezeframeRecordType)0x03\r
185 \r
186 /*\r
187  * Dem_GetFreezeFameDataIdentifierByDTCType\r
188  */\r
189 typedef uint8 Dem_GetFreezeFameDataIdentifierByDTCType;\r
190 #define DEM_GET_ID_OK                                           (Dem_GetFreezeFameDataIdentifierByDTCType)0x00\r
191 #define DEM_GET_ID_WRONG_DTC                            (Dem_GetFreezeFameDataIdentifierByDTCType)0x01\r
192 #define DEM_GET_ID_WRONG_DTCORIGIN                      (Dem_GetFreezeFameDataIdentifierByDTCType)0x02\r
193 #define DEM_GET_ID_WRONG_DTCKIND                        (Dem_GetFreezeFameDataIdentifierByDTCType)0x03\r
194 #define DEM_GET_ID_WRONG_FF_TYPE                        (Dem_GetFreezeFameDataIdentifierByDTCType)0x04\r
195 \r
196 /*\r
197  * Dem_ReturnGetExtendedDataRecordByDTCType\r
198  */\r
199 typedef uint8 Dem_ReturnGetExtendedDataRecordByDTCType;\r
200 #define DEM_RECORD_OK                                           (Dem_ReturnGetExtendedDataRecordByDTCType)0x00\r
201 #define DEM_RECORD_WRONG_DTC                            (Dem_ReturnGetExtendedDataRecordByDTCType)0x01\r
202 #define DEM_RECORD_WRONG_DTCORIGIN                      (Dem_ReturnGetExtendedDataRecordByDTCType)0x02\r
203 #define DEM_RECORD_DTCKIND                                      (Dem_ReturnGetExtendedDataRecordByDTCType)0x03\r
204 #define DEM_RECORD_NUMBER                                       (Dem_ReturnGetExtendedDataRecordByDTCType)0x04\r
205 #define DEM_RECORD_BUFFERSIZE                           (Dem_ReturnGetExtendedDataRecordByDTCType)0x05\r
206 #define DEM_RECORD_PENDING                                      (Dem_ReturnGetExtendedDataRecordByDTCType)0x06\r
207 \r
208 /*\r
209  * Dem_ReturnGetDTCByOccurenceTimeType\r
210  */\r
211 typedef uint8 Dem_ReturnGetDTCByOccurenceTimeType;\r
212 #define DEM_OCCURR_OK                                           (Dem_ReturnGetDTCByOccurenceTimeType)0x00\r
213 #define DEM_OCCURR_WRONG_DTCKIND                        (Dem_ReturnGetDTCByOccurenceTimeType)0x01\r
214 #define DEM_OCCURR_FAILED                                       (Dem_ReturnGetDTCByOccurenceTimeType)0x02\r
215 \r
216 /*\r
217  * Dem_ReturnGetFreezeFrameDataByDTCType\r
218  */\r
219 typedef uint8 Dem_ReturnGetFreezeFrameDataByDTCType;\r
220 #define DEM_GET_FFDATABYDTC_OK                          (Dem_ReturnGetFreezeFrameDataByDTCType)0x00\r
221 #define DEM_GET_FFDATABYDTC_WRONG_DTC           (Dem_ReturnGetFreezeFrameDataByDTCType)0x01\r
222 #define DEM_GET_FFDATABYDTC_WRONG_DTCORIGIN     (Dem_ReturnGetFreezeFrameDataByDTCType)0x02\r
223 #define DEM_GET_FFDATABYDTC_WRONG_DTCKIND       (Dem_ReturnGetFreezeFrameDataByDTCType)0x03\r
224 #define DEM_GET_FFDATABYDTC_RECORDNUMBER        (Dem_ReturnGetFreezeFrameDataByDTCType)0x04\r
225 #define DEM_GET_FFDATABYDTC_WRONG_DATAID        (Dem_ReturnGetFreezeFrameDataByDTCType)0x05\r
226 #define DEM_GET_FFDATABYDTC_BUFFERSIZE          (Dem_ReturnGetFreezeFrameDataByDTCType)0x06\r
227 #define DEM_GET_ID_PENDING                                      (Dem_ReturnGetFreezeFrameDataByDTCType)0x07\r
228 \r
229 /*\r
230  * Dem_ReturnGetSizeOfExtendedDataRecordByDTCType\r
231  */\r
232 typedef uint8 Dem_ReturnGetSizeOfExtendedDataRecordByDTCType;\r
233 #define DEM_GET_SIZEOFEDRBYDTC_OK                       (Dem_ReturnGetSizeOfExtendedDataRecordByDTCType)0x00\r
234 #define DEM_GET_SIZEOFEDRBYDTC_W_DTC            (Dem_ReturnGetSizeOfExtendedDataRecordByDTCType)0x01\r
235 #define DEM_GET_SIZEOFEDRBYDTC_W_DTCOR          (Dem_ReturnGetSizeOfExtendedDataRecordByDTCType)0x02\r
236 #define DEM_GET_SIZEOFEDRBYDTC_W_DTCKI          (Dem_ReturnGetSizeOfExtendedDataRecordByDTCType)0x03\r
237 #define DEM_GET_SIZEOFEDRBYDTC_W_RNUM           (Dem_ReturnGetSizeOfExtendedDataRecordByDTCType)0x04\r
238 #define DEM_GET_SIZEOFEDRBYDTC_PENDING          (Dem_ReturnGetSizeOfExtendedDataRecordByDTCType)0x05\r
239 \r
240 /*\r
241  * Dem_ReturnGetSizeOfFreezeFrameType\r
242  */\r
243 typedef uint8 Dem_ReturnGetSizeOfFreezeFrameType;\r
244 #define DEM_GET_SIZEOFFF_OK                                     (Dem_ReturnGetSizeOfFreezeFrameType)0x00\r
245 #define DEM_GET_SIZEOFFF_WRONG_DTC                      (Dem_ReturnGetSizeOfFreezeFrameType)0x01\r
246 #define DEM_GET_SIZEOFFF_WRONG_DTCOR            (Dem_ReturnGetSizeOfFreezeFrameType)0x02\r
247 #define DEM_GET_SIZEOFFF_WRONG_DTCKIND          (Dem_ReturnGetSizeOfFreezeFrameType)0x03\r
248 #define DEM_GET_SIZEOFFF_WRONG_RNUM                     (Dem_ReturnGetSizeOfFreezeFrameType)0x04\r
249 #define DEM_GET_SIZEOFFF_PENDING                        (Dem_ReturnGetSizeOfFreezeFrameType)0x05\r
250 \r
251 /*\r
252  * Dem_ReturnGetSeverityOfDTCType\r
253  */\r
254 typedef uint8 Dem_ReturnGetSeverityOfDTCType;\r
255 #define DEM_GET_SEVERITYOFDTC_OK                        (Dem_ReturnGetSeverityOfDTCType)0x00\r
256 #define DEM_GET_SEVERITYOFDTC_WRONG_DTC         (Dem_ReturnGetSeverityOfDTCType)0x01\r
257 #define DEM_GET_SEVERITYOFDTC_WRONG_ORIGIN      (Dem_ReturnGetSeverityOfDTCType)0x02\r
258 #define DEM_GET_SEVERITYOFDTC_NOSEVERITY        (Dem_ReturnGetSeverityOfDTCType)0x03\r
259 \r
260 \r
261 /*******************************************************\r
262  * Definitions where the type is declared in Rte_Dem.h *
263  *******************************************************/\r
264 /*\r
265  * DemEventStatusExtendedType definitions\r
266  */\r
267 #define DEM_TEST_FAILED                                                         (Dem_EventStatusExtendedType)0x01\r
268 #define DEM_TEST_FAILED_THIS_OPERATION_CYCLE            (Dem_EventStatusExtendedType)0x02\r
269 #define DEM_PENDING_DTC                                                         (Dem_EventStatusExtendedType)0x04\r
270 #define DEM_CONFIRMED_DTC                                                       (Dem_EventStatusExtendedType)0x08\r
271 #define DEM_TEST_NOT_COMPLETED_SINCE_LAST_CLEAR         (Dem_EventStatusExtendedType)0x10\r
272 #define DEM_TEST_FAILED_SINCE_LAST_CLEAR                        (Dem_EventStatusExtendedType)0x20\r
273 #define DEM_TEST_NOT_COMPLETED_THIS_OPERATION_CYCLE (Dem_EventStatusExtendedType)0x40\r
274 #define DEM_WARNING_INDICATOR_REQUESTED                         (Dem_EventStatusExtendedType)0x80\r
275 \r
276 /*\r
277  * DemDTCKindType definitions\r
278  */\r
279 #define DEM_DTC_KIND_ALL_DTCS                   (Dem_DTCKindType)0x01\r
280 #define DEM_DTC_KIND_EMISSION_REL_DTCS  (Dem_DTCKindType)0x02\r
281 \r
282 /*\r
283  * Dem_InitMonitorKindType definitions\r
284  */\r
285 #define DEM_INIT_MONITOR_CLEAR          (Dem_InitMonitorKindType)1\r
286 #define DEM_INIT_MONITOR_RESTART        (Dem_InitMonitorKindType)2\r
287 \r
288 \r
289 /*\r
290  * Dem_IndicatorStatusType definitions\r
291  */\r
292 #define DEM_INDICATOR_OFF                       (Dem_IndicatorStatusType)0\r
293 #define DEM_INDICATOR_CONTINUOUS        (Dem_IndicatorStatusType)1\r
294 #define DEM_INDICATOR_BLINKING          (Dem_IndicatorStatusType)2\r
295 #define DEM_INDICATOR_BLINK_CONT        (Dem_IndicatorStatusType)3\r
296 \r
297 /*\r
298  * DemOperationCycleType definitions\r
299  */\r
300 enum {\r
301         DEM_ACTIVE,             // Started by DEM on Dem_PreInit and stopped on Dem_Shutdown\r
302 \r
303         DEM_POWER,              // Power ON/OFF Cycle\r
304         DEM_IGNITION,   // Ignition ON/OF Cycle\r
305         DEM_WARMUP,             // OBD Warm up Cycle\r
306         DEM_OBD_DCY,    // OBD Driving Cycle\r
307 \r
308         DEM_OPERATION_CYCLE_ID_ENDMARK\r
309 }; /** @req DEM142 */\r
310 \r
311 /*\r
312  * Dem_OperationCycleStateType definitions\r
313  */\r
314 #define DEM_CYCLE_STATE_START           (Dem_OperationCycleStateType)1\r
315 #define DEM_CYCLE_STATE_END                     (Dem_OperationCycleStateType)2\r
316 \r
317 \r
318 \r
319 #endif /*DEM_TYPES_H_*/\r