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
26 #include "Rte_Dem.h"
\r
27 #define DEM_EVENT_DESTINATION_END_OF_LIST 0
\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
41 typedef uint32 Dem_DTCGroupType;
\r
42 #define DEM_DTC_GROUP_ALL_DTCS (Dem_DTCGroupType)0xffffff
\r
47 #define DEM_DTC_STATUS_MASK_ALL (uint8)0x00
\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
60 * Dem_FreezeFrameKindType
\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
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
74 * Dem_EventStatusType
\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
83 * Dem_PreDebounceNameType
\r
85 typedef uint8 Dem_PreDebounceNameType;
\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
94 * Dem_FilterWithSeverityType
\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
101 * Dem_FilterForFDCType
\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
108 * Dem_DTCSeverityType
\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
117 * Dem_ReturnSetDTCFilterType
\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
124 * Dem_ReturnGetStatusOfDTCType
\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
134 * Dem_ReturnGetNextFilteredDTCType
\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
143 * Dem_ReturnGetNumberOfFilteredDTCType
\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
151 * Dem_ReturnClearDTCType
\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
162 * Dem_ReturnControlDTCStorageType
\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
170 * Dem_ReturnControlEventUpdateType
\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
178 * Dem_ReturnGetDTCOfFreezeframeRecordType
\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
187 * Dem_GetFreezeFameDataIdentifierByDTCType
\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
197 * Dem_ReturnGetExtendedDataRecordByDTCType
\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
209 * Dem_ReturnGetDTCByOccurenceTimeType
\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
217 * Dem_ReturnGetFreezeFrameDataByDTCType
\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
230 * Dem_ReturnGetSizeOfExtendedDataRecordByDTCType
\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
241 * Dem_ReturnGetSizeOfFreezeFrameType
\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
252 * Dem_ReturnGetSeverityOfDTCType
\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
261 /*******************************************************
\r
262 * Definitions where the type is declared in Rte_Dem.h *
263 *******************************************************/
\r
265 * DemEventStatusExtendedType definitions
\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
277 * DemDTCKindType definitions
\r
279 #define DEM_DTC_KIND_ALL_DTCS (Dem_DTCKindType)0x01
\r
280 #define DEM_DTC_KIND_EMISSION_REL_DTCS (Dem_DTCKindType)0x02
\r
283 * Dem_InitMonitorKindType definitions
\r
285 #define DEM_INIT_MONITOR_CLEAR (Dem_InitMonitorKindType)1
\r
286 #define DEM_INIT_MONITOR_RESTART (Dem_InitMonitorKindType)2
\r
290 * Dem_IndicatorStatusType definitions
\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
298 * DemOperationCycleType definitions
\r
301 DEM_ACTIVE, // Started by DEM on Dem_PreInit and stopped on Dem_Shutdown
\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
308 DEM_OPERATION_CYCLE_ID_ENDMARK
\r
309 }; /** @req DEM142 */
\r
312 * Dem_OperationCycleStateType definitions
\r
314 #define DEM_CYCLE_STATE_START (Dem_OperationCycleStateType)1
\r
315 #define DEM_CYCLE_STATE_END (Dem_OperationCycleStateType)2
\r
319 #endif /*DEM_TYPES_H_*/
\r