1 /* -------------------------------- Arctic Core ------------------------------
\r
2 * Arctic Core - the open source AUTOSAR platform http://arccore.com
\r
4 * Copyright (C) 2009 ArcCore AB <contact@arccore.com>
\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
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
14 * -------------------------------- Arctic Core ------------------------------*/
\r
23 #ifndef DEM_TYPES_H_
\r
24 #define DEM_TYPES_H_
\r
25 #include "Std_Types.h" /** @req DEM176.Std */
\r
27 #define DEM_EVENT_DESTINATION_END_OF_LIST 0
\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
41 typedef uint16 Dem_EventIdType;
\r
46 typedef uint32 Dem_DTCGroupType;
\r
47 #define DEM_DTC_GROUP_ALL_DTCS (Dem_DTCGroupType)0xffffff
\r
52 #define DEM_DTC_STATUS_MASK_ALL (uint8)0x00
\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
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
72 * DemEventStatusExtendedType
\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
85 * DemOperationCycleType
\r
87 typedef uint8 Dem_OperationCycleIdType; // TODO: Check type and values
\r
89 DEM_ACTIVE, // Started by DEM on Dem_PreInit and stopped on Dem_Shutdown
\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
96 DEM_OPERATION_CYCLE_ID_ENDMARK
\r
97 }; /** @req DEM142 */
\r
100 * Dem_OperationCycleStateType
\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
107 * Dem_FreezeFrameKindType
\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
114 * Dem_EventKindType
\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
121 * Dem_EventStatusType
\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
132 typedef uint32 Dem_DTCType;
\r
135 * Dem_InitMonitorKindType
\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
142 * Dem_IndicatorStatusType
\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
151 * Dem_FaultDetectionCpunterType
\r
153 typedef sint8 Dem_FaultDetectionCounterType;
\r
156 * Dem_PreDebounceNameType
\r
158 typedef uint8 Dem_PreDebounceNameType;
\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
167 * Dem_FilterWithSeverityType
\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
174 * Dem_FilterForFDCType
\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
181 * Dem_DTCSeverityType
\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
190 * Dem_ReturnSetDTCFilterType
\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
197 * Dem_ReturnGetStatusOfDTCType
\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
207 * Dem_ReturnGetNextFilteredDTCType
\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
216 * Dem_ReturnGetNumberOfFilteredDTCType
\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
224 * Dem_ReturnClearDTCType
\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
235 * Dem_ReturnControlDTCStorageType
\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
243 * Dem_ReturnControlEventUpdateType
\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
251 * Dem_ReturnGetDTCOfFreezeframeRecordType
\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
260 * Dem_GetFreezeFameDataIdentifierByDTCType
\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
270 * Dem_ReturnGetExtendedDataRecordByDTCType
\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
282 * Dem_ReturnGetDTCByOccurenceTimeType
\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
290 * Dem_ReturnGetFreezeFrameDataByDTCType
\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
303 * Dem_ReturnGetSizeOfExtendedDataRecordByDTCType
\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
314 * Dem_ReturnGetSizeOfFreezeFrameType
\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
325 * Dem_ReturnGetSeverityOfDTCType
\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
335 #endif /*DEM_TYPES_H_*/
\r