#ifndef _UDS_SERVICES_COMMON_H_ #define _UDS_SERVICES_COMMON_H_ //<> #include "UDS_ServicesType.h" /* --------------------------------------------------------------------------- * Includes */ //#include "Platform_Types.h" /* --------------------------------------------------------------------------- * Exported Constants */ #define UDS_FICOSA_SESSION UDS_SYSTEM_SUPPLIER_SPECIFIC_SESSION_ID /** Redefine project_config.mk imports for: * - IDE indexing consistency * - Defaults set */ #ifndef ECU_HW_ID #define ECU_HW_ID "000A00" //#warning "Using default ECU_HW_ID" #endif #ifndef ECU_SW_ID #define ECU_SW_ID "A00RC3" //#warning "Using default ECU_SW_ID" #endif #define FICOSA_DEBUG /** End of project_config redefines **/ #define IO_CTL_RETURN_CONTOL ((UI_8)0x00) #define IO_CTL_RESET ((UI_8)0x01) #define IO_CTL_FREEZE ((UI_8)0x02) #define IO_CTL_CONTROL ((UI_8)0x03) /* --------------------------------------------------------------------------- * Exported Macros */ #define DTC_SETTING_HIGH_VOLTAGE_NUM ((uint8)0) #define DTC_SETTING_LOW_VOLTAGE_NUM ((uint8)1) #define DTC_SETTING_INVALID_TCU_NUM ((uint8)2) #define DTC_SETTING_INVALID_EMS_NUM ((uint8)3) #define DTC_SETTING_INVALID_PEDAL_NUM ((uint8)30) #define DTC_SETTING_INVALID_BCS_NUM ((uint8)4) #define DTC_SETTING_INVALID_SPEED_NUM ((uint8)17) #define DTC_SETTING_LOST_APA_NUM ((uint8)5) #define DTC_SETTING_INVALID_APA_NUM ((uint8)6) #define DTC_SETTING_LOST_BCM_NUM ((uint8)7) #define DTC_SETTING_LOST_ICM_NUM ((uint8)9) #define DTC_SETTING_INVALID_ICM_NUM ((uint8)10) #define DTC_SETTING_LOST_EMS_NUM ((uint8)11) //#define DTC_SETTING_LOST_TCU_NUM ((uint8)12) #define DTC_SETTING_LOST_VCU_NUM ((uint8)12) #define DTC_SETTING_LOST_BCS_NUM ((uint8)13) #define DTC_SETTING_LOST_SRS_NUM ((uint8)15) #define DTC_SETTING_BUS_OFF_NUM ((uint8)16) #define DTC_SETTING_SENSOR_DIE1_FAULT_NUM ((uint8)18) #define DTC_SETTING_SENSOR_DIE2_FAULT_NUM ((uint8)19) #define DTC_SETTING_SENSOR_HEAVY_FAULT_NUM ((uint8)20) #define DTC_SETTING_SWITCH_HEAVY_FAULT_NUM ((uint8)21) #define DTC_SETTING_SWITCH1_OC_FAULT_NUM ((uint8)22) #define DTC_SETTING_SWITCH1_GND_FAULT_NUM ((uint8)23) #define DTC_SETTING_SWITCH1_VCC_FAULT_NUM ((uint8)24) #define DTC_SETTING_SWITCH1_PRESSED_FAULT_NUM ((uint8)25) #define DTC_SETTING_SWITCH2_OC_FAULT_NUM ((uint8)26) #define DTC_SETTING_SWITCH2_GND_FAULT_NUM ((uint8)27) #define DTC_SETTING_SWITCH2_VCC_FAULT_NUM ((uint8)28) #define DTC_SETTING_SWITCH2_PRESSED_FAULT_NUM ((uint8)29) #define DTC_SETTING_PADDLE_OC_FAULT_NUM ((uint8)32) #define DTC_SETTING_PADDLE_GND_FAULT_NUM ((uint8)33) #define DTC_SETTING_PADDLE_VCC_FAULT_NUM ((uint8)34) #define DTC_SETTING_PADDLE_PRESSED_FAULT_NUM ((uint8)35) #define DTC_SETTING_OL_GND_FAULT_NUM ((uint8)46) #define DTC_SETTING_OL_VCC_FAULT_NUM ((uint8)47) #define DTC_SETTING_ECO_OC_FAULT_NUM ((uint8)49) #define DTC_SETTING_ECO_GND_FAULT_NUM ((uint8)50) #define DTC_SETTING_ECO_VCC_FAULT_NUM ((uint8)51) #define DTC_SETTING_ECO_PRESSED_FAULT_NUM ((uint8)48) #define DTC_SETTING_LOST_ACM_NUM ((uint8)53) #define DTC_SETTING_INVALID_ACM_NUM ((uint8)54) #define DTC_SETTING_ACM_FAULT_NUM ((uint8)55) #define DTC_SETTING_GSS_FAULT_NUM ((uint8)56) #define DTC_SETTING_SHIFT_STUCKED_FAULT_NUM ((uint8)57) #define DTC_SETTING_SHIFT_CALIB_FAULT_NUM ((uint8)58) #define TEST_DTC_SETTING_ENABLE(v) ((((p_dtc_setting[v/8]>>(v%8))&0x01) > 0)?1:0) /* --------------------------------------------------------------------------- * Exported Types */ typedef uint8 t_UDS_ERR; typedef uint8 t_UDS_Session; extern uint8* p_dtc_setting; extern boolean clear_dtc_flag; extern UI_16 g16_DiagTouchPressSenRes[3][15]; /* --------------------------------------------------------------------------- * Exported Variables */ extern t_UDSIOControlSubCommands uds_io_control_commands[]; extern t_UDSRoutineControlCommands uds_routine_control_commands[]; extern t_UDSReadDidSubCommands uds_did_read_commands[]; extern t_UDSWriteDiDSubCommandsReference uds_did_write_commands_by_reference[]; extern uint8 GetRoutineServiceNumber(void); extern uint8 GetIoControlServiceNumber(void); extern uint8 GetWriteDidServiceNumber(void); extern uint8 GetReadDidServiceNumber(void); /* --------------------------------------------------------------------------- * Exported Functions */ uint8 UDS_ReadDiD_CB(uint8 id_h, uint8 id_l); uint8 UDS_WriteDiD_CB(uint8 id_h, uint8 id_l, uint8 *buf_data_rx, uint16 size); uint8 UDS_ReadMCAL_CB(uint16 requested_id, uint16 resp_pos); void UDS_RoutineControl_CB(uint8 routine_ctrl_type, uint8 id_high, uint8 id_low, uint8 *routine_entry_option, uint16 size); void UDS_IOControl_CB(uint8 id_h, uint8 id_l, uint8 io_ctrl_type, uint8* buf_data_rx, uint16 size); void UDS_DTCSetting_CB(uint8 sub_function, uint8 *buf_data_rx, uint16 size); /* NVM DIDs */ t_UDS_ERR Get_DID_ECU_SN(uint8 *data); t_UDS_ERR Set_DID_ECU_SN(uint8 *data); t_UDS_ERR Get_DID_CD_SYSID_VIN(uint8 *data); t_UDS_ERR Set_DID_CD_VIN(uint8 *data); t_UDS_ERR Get_DID_TouchSen1_BaseLine(uint8 *data); t_UDS_ERR Get_DID_TouchSen2_BaseLine(uint8 *data); t_UDS_ERR Get_DID_TouchSen3_BaseLine(uint8 *data); t_UDS_ERR Get_DID_TouchSen4_BaseLine(uint8 *data); t_UDS_ERR Get_DID_TouchSen5_BaseLine(uint8 *data); t_UDS_ERR Get_DID_TouchSen6_BaseLine(uint8 *data); t_UDS_ERR Get_DID_TouchSen7_BaseLine(uint8 *data); t_UDS_ERR Get_DID_TouchSen8_BaseLine(uint8 *data); t_UDS_ERR Get_DID_TouchSen9_BaseLine(uint8 *data); t_UDS_ERR Get_DID_TouchSen10_BaseLine(uint8 *data); t_UDS_ERR Get_DID_TouchSen11_BaseLine(uint8 *data); t_UDS_ERR Get_DID_TouchSen12_BaseLine(uint8 *data); t_UDS_ERR Get_DID_TouchSen13_BaseLine(uint8 *data); t_UDS_ERR Get_DID_TouchSen1_Signal(uint8 *data); t_UDS_ERR Get_DID_TouchSen2_Signal(uint8 *data); t_UDS_ERR Get_DID_TouchSen3_Signal(uint8 *data); t_UDS_ERR Get_DID_TouchSen4_Signal(uint8 *data); t_UDS_ERR Get_DID_TouchSen5_Signal(uint8 *data); t_UDS_ERR Get_DID_TouchSen6_Signal(uint8 *data); t_UDS_ERR Get_DID_TouchSen7_Signal(uint8 *data); t_UDS_ERR Get_DID_TouchSen8_Signal(uint8 *data); t_UDS_ERR Get_DID_TouchSen9_Signal(uint8 *data); t_UDS_ERR Get_DID_TouchSen10_Signal(uint8 *data); t_UDS_ERR Get_DID_TouchSen11_Signal(uint8 *data); t_UDS_ERR Get_DID_TouchSen12_Signal(uint8 *data); t_UDS_ERR Get_DID_TouchSen13_Signal(uint8 *data); t_UDS_ERR Get_DID_PressSen_Baseline(uint8 *data); t_UDS_ERR Get_DID_PressSen_Signal(uint8 *data); t_UDS_ERR Get_DID_Pre_Value(uint8 *data); t_UDS_ERR Get_DID_ResetSource(uint8 *data); t_UDS_ERR Get_DID_CD_SYSID_CALIRATION_DATE(uint8 *data); t_UDS_ERR Set_DID_CD_CALIRATION_DATE(uint8 *data); t_UDS_ERR Get_DID_CD_SYSID_MANUF_ECUHWNUM(uint8 *data); t_UDS_ERR Set_DID_CD_MANUF_ECUHWNUM(uint8 *data); t_UDS_ERR Get_DID_Dtc_Setting(uint8 *data); t_UDS_ERR Set_DID_Dtc_Setting(uint8 *data); t_UDS_ERR Get_DID_Transportation_Mode(uint8 *data); t_UDS_ERR Set_DID_Transportation_Mode(uint8 *data); t_UDS_ERR Get_DID_Reprogramming_Counter(uint8 *data); t_UDS_ERR Get_DID_Reprogramming_Attempt_Counter(uint8 *data); t_UDS_ERR Get_DID_Reprogramming_Date(uint8 *data); t_UDS_ERR Set_DID_Manufacture_Date(uint8 *data); t_UDS_ERR Set_DID_Reprogramming_Date(uint8 *data); t_UDS_ERR Get_DID_EcuManufacture_Date(uint8 *data); t_UDS_ERR Get_DID_EcuInstallation_Date(uint8 *data); t_UDS_ERR Set_DID_EcuInstallation_Date(uint8 *data); t_UDS_ERR Get_DID_App_Sw_Finger_Print(uint8 *data); t_UDS_ERR Set_DID_CD_APP_SW_FINGERPRINT(uint8 *data); t_UDS_ERR Get_DID_Gac_Diagnostic_Version(uint8 *data); t_UDS_ERR Get_DID_GAC_Repair_Shop_Id(uint8 *data); t_UDS_ERR Set_DID_Repair_Shop_Code(uint8 *data); t_UDS_ERR Get_DID_Gac_Hw_Version(uint8 *data); t_UDS_ERR Get_DID_Gac_Ecusw_Version(uint8 *data); t_UDS_ERR Get_DID_Gac_Spare_Number(uint8 *data); t_UDS_ERR Get_DID_System_Supplier_Id(uint8 *data); t_UDS_ERR Get_DID_Gac_Kit_Part_Number(uint8 *data); t_UDS_ERR Get_DID_System_Name(uint8 *data); t_UDS_ERR Get_DID_Uds_Protol_Version(uint8 *data); t_UDS_ERR Get_DID_Boot_Version(uint8 *data); t_UDS_ERR Get_DID_DCID(uint8 *data); t_UDS_ERR Get_DID_Boot_ID(uint8 *data); t_UDS_ERR Set_DID_Shield_Atp(uint8 *data); t_UDS_ERR Get_DID_Shield_Atp(uint8 *data); t_UDS_ERR Set_DID_CD_Shared_key(uint8 *data); void UDS_DID_initNVM(void); uint8 Get_Drive_Mode(void); void Set_RAM_Drive_Mode(uint8 mode); uint8 GetNvmFaa(void); uint8 GetNvmManufactoryMode(void); uint8 GetNvmEolConfig(void); uint8* GetNvmDtcSetting(void); boolean doReset(void); /* Enable Engineering Mode */ boolean isXCPEnabled(void); boolean isWriteDriversAccessEnabled(void); uint8 Get_FC_DevMode(uint8 *data); uint8 Set_FC_DevMode(const uint8 *data); //t_UDS_ERR Set_DID_CD_Drive_Mode_Configure(uint8 *data); t_UDS_ERR Get_DID_Drive_Mode_Configure(uint8 *data); void SupportIDCheckFor_2E(uint8 * resp, uint8 id_l); t_UDS_ERR UDS_ReadSBCResetReason (uint8* data); uint8 GetLastPosition(void); #endif /* _UDS_SERVICES_COMMON_H_ */