// Generator version : v3.1 // DBC filename : CCU.dbc #pragma once #ifdef __cplusplus extern "C" { #endif #include // DBC file version #define VER_CANDB_MAJ (0U) #define VER_CANDB_MIN (0U) // include current dbc-driver compilation config #include "candb-config.h" #ifdef CANDB_USE_DIAG_MONITORS // This file must define: // base monitor struct #include "canmonitorutil.h" #endif // CANDB_USE_DIAG_MONITORS // DLC maximum value which is used as the limit for frame's data buffer size. // Client can set its own value (not sure why) in driver-config // or can test it on some limit specified by application // e.g.: static_assert(TESTDB_MAX_DLC_VALUE <= APPLICATION_FRAME_DATA_SIZE, "Max DLC value in the driver is too big") #ifndef CANDB_MAX_DLC_VALUE // The value which was found out by generator (real max value) #define CANDB_MAX_DLC_VALUE 8U #endif // The limit is used for setting frame's data bytes #define CANDB_VALIDATE_DLC(msgDlc) (((msgDlc) <= (CANDB_MAX_DLC_VALUE)) ? (msgDlc) : (CANDB_MAX_DLC_VALUE)) // Initial byte value to be filles in data bytes of the frame before pack signals // User can define its own custom value in driver-config file #ifndef CANDB_INITIAL_BYTE_VALUE #define CANDB_INITIAL_BYTE_VALUE 0U #endif // def @ESC_04 CAN Message (256 0x100) #define ESC_04_IDE (0U) #define ESC_04_DLC (8U) #define ESC_04_CANID (0x100U) #define ESC_04_CYC (20U) // signal: @ESC_VehicleSpeed_ro #define CANDB_ESC_VehicleSpeed_ro_CovFactor (0.01) #define CANDB_ESC_VehicleSpeed_ro_toS(x) ( (uint16_t) (((x) - (0.0)) / (0.01)) ) #define CANDB_ESC_VehicleSpeed_ro_fromS(x) ( (((x) * (0.01)) + (0.0)) ) // Value tables for @ESC_VehicleSpeed_ValueError signal #ifndef ESC_VehicleSpeed_ValueError_ESC_04_Invalid_value_in_vehicle_speed_signal #define ESC_VehicleSpeed_ValueError_ESC_04_Invalid_value_in_vehicle_speed_signal (1) #endif #ifndef ESC_VehicleSpeed_ValueError_ESC_04_Valid_value_in_vehicle_speed_signal #define ESC_VehicleSpeed_ValueError_ESC_04_Valid_value_in_vehicle_speed_signal (0) #endif typedef struct { #ifdef CANDB_USE_BITS_SIGNAL // Calculated vehicle speed value uint16_t ESC_VehicleSpeed_ro; // Bits=16 Factor= 0.01 Unit:'km/h' #ifdef CANDB_USE_SIGFLOAT sigfloat_t ESC_VehicleSpeed_phys; #endif // CANDB_USE_SIGFLOAT // Indicates if the signal vehicleSpeed has valid value // 1 : "Invalid value in vehicle speed signal" // 0 : "Valid value in vehicle speed signal" uint8_t ESC_VehicleSpeed_ValueError : 1; // Bits= 1 // Rolling Counter [0 - 15] uint8_t ESC_04_RC : 4; // Bits= 4 // Checksum CRC8 SAE J1850 of the data field this message uint8_t ESC_04_CS; // Bits= 8 #else // Calculated vehicle speed value uint16_t ESC_VehicleSpeed_ro; // Bits=16 Factor= 0.01 Unit:'km/h' #ifdef CANDB_USE_SIGFLOAT sigfloat_t ESC_VehicleSpeed_phys; #endif // CANDB_USE_SIGFLOAT // Indicates if the signal vehicleSpeed has valid value // 1 : "Invalid value in vehicle speed signal" // 0 : "Valid value in vehicle speed signal" uint8_t ESC_VehicleSpeed_ValueError; // Bits= 1 // Rolling Counter [0 - 15] uint8_t ESC_04_RC; // Bits= 4 // Checksum CRC8 SAE J1850 of the data field this message uint8_t ESC_04_CS; // Bits= 8 #endif // CANDB_USE_BITS_SIGNAL #ifdef CANDB_USE_DIAG_MONITORS FrameMonitor_t mon1; #endif // CANDB_USE_DIAG_MONITORS } ESC_04_t; // def @EMS_Veh CAN Message (336 0x150) #define EMS_Veh_IDE (0U) #define EMS_Veh_DLC (8U) #define EMS_Veh_CANID (0x150U) #define EMS_Veh_CYC (100U) // signal: @EMS_nICEngineSpeed3_Val_ro #define CANDB_EMS_nICEngineSpeed3_Val_ro_CovFactor (0.25) #define CANDB_EMS_nICEngineSpeed3_Val_ro_toS(x) ( (uint16_t) (((x) - (0.0)) / (0.25)) ) #define CANDB_EMS_nICEngineSpeed3_Val_ro_fromS(x) ( (((x) * (0.25)) + (0.0)) ) // signal: @EMS_EngCoolTemp_Val_ro #define CANDB_EMS_EngCoolTemp_Val_ro_CovFactor (1) #define CANDB_EMS_EngCoolTemp_Val_ro_toS(x) ( (uint8_t) ((x) - (-40)) ) #define CANDB_EMS_EngCoolTemp_Val_ro_fromS(x) ( ((x) + (-40)) ) typedef struct { #ifdef CANDB_USE_BITS_SIGNAL // Internal combustion engine: Engine speed uint16_t EMS_nICEngineSpeed3_Val_ro; // Bits=16 Factor= 0.25 Unit:'rpm' #ifdef CANDB_USE_SIGFLOAT sigfloat_t EMS_nICEngineSpeed3_Val_phys; #endif // CANDB_USE_SIGFLOAT // Engine coolant temperature uint8_t EMS_EngCoolTemp_Val_ro; // Bits= 8 Offset= -40 Unit:'�C' #ifdef CANDB_USE_SIGFLOAT int16_t EMS_EngCoolTemp_Val_phys; #endif // CANDB_USE_SIGFLOAT #else // Internal combustion engine: Engine speed uint16_t EMS_nICEngineSpeed3_Val_ro; // Bits=16 Factor= 0.25 Unit:'rpm' #ifdef CANDB_USE_SIGFLOAT sigfloat_t EMS_nICEngineSpeed3_Val_phys; #endif // CANDB_USE_SIGFLOAT // Engine coolant temperature uint8_t EMS_EngCoolTemp_Val_ro; // Bits= 8 Offset= -40 Unit:'�C' #ifdef CANDB_USE_SIGFLOAT int16_t EMS_EngCoolTemp_Val_phys; #endif // CANDB_USE_SIGFLOAT #endif // CANDB_USE_BITS_SIGNAL #ifdef CANDB_USE_DIAG_MONITORS FrameMonitor_t mon1; #endif // CANDB_USE_DIAG_MONITORS } EMS_Veh_t; // def @BCM_Powertrain CAN Message (338 0x152) #define BCM_Powertrain_IDE (0U) #define BCM_Powertrain_DLC (6U) #define BCM_Powertrain_CANID (0x152U) #define BCM_Powertrain_CYC (10U) // signal: @BCM_AmbTempRaw_ro #define CANDB_BCM_AmbTempRaw_ro_CovFactor (0.01) #define CANDB_BCM_AmbTempRaw_ro_toS(x) ( (uint16_t) (((x) - (-40.0)) / (0.01)) ) #define CANDB_BCM_AmbTempRaw_ro_fromS(x) ( (((x) * (0.01)) + (-40.0)) ) typedef struct { #ifdef CANDB_USE_BITS_SIGNAL // Averaged ambient temperature RAW value uint16_t BCM_AmbTempRaw_ro; // Bits=16 Offset= -40.0 Factor= 0.01 Unit:'�C' #ifdef CANDB_USE_SIGFLOAT sigfloat_t BCM_AmbTempRaw_phys; #endif // CANDB_USE_SIGFLOAT // Rolling Counter [0 - 15] uint8_t BCM_Powertrain_RC : 4; // Bits= 4 // Checksum CRC8 SAE J1850 of the data field this message uint8_t BCM_Powertrain_CS; // Bits= 8 #else // Averaged ambient temperature RAW value uint16_t BCM_AmbTempRaw_ro; // Bits=16 Offset= -40.0 Factor= 0.01 Unit:'�C' #ifdef CANDB_USE_SIGFLOAT sigfloat_t BCM_AmbTempRaw_phys; #endif // CANDB_USE_SIGFLOAT // Rolling Counter [0 - 15] uint8_t BCM_Powertrain_RC; // Bits= 4 // Checksum CRC8 SAE J1850 of the data field this message uint8_t BCM_Powertrain_CS; // Bits= 8 #endif // CANDB_USE_BITS_SIGNAL #ifdef CANDB_USE_DIAG_MONITORS FrameMonitor_t mon1; #endif // CANDB_USE_DIAG_MONITORS } BCM_Powertrain_t; // def @EMS_Veh_02 CAN Message (339 0x153) #define EMS_Veh_02_IDE (0U) #define EMS_Veh_02_DLC (3U) #define EMS_Veh_02_CANID (0x153U) #define EMS_Veh_02_CYC (20U) // signal: @BMS_ActualTemp_Val_ro #define CANDB_BMS_ActualTemp_Val_ro_CovFactor (0.5) #define CANDB_BMS_ActualTemp_Val_ro_toS(x) ( (uint8_t) (((x) - (-40.0)) / (0.5)) ) #define CANDB_BMS_ActualTemp_Val_ro_fromS(x) ( (((x) * (0.5)) + (-40.0)) ) typedef struct { #ifdef CANDB_USE_BITS_SIGNAL // Actual battery temperature uint8_t BMS_ActualTemp_Val_ro; // Bits= 8 Offset= -40.0 Factor= 0.5 Unit:'�C' #ifdef CANDB_USE_SIGFLOAT sigfloat_t BMS_ActualTemp_Val_phys; #endif // CANDB_USE_SIGFLOAT // Rolling Counter [0 - 15] uint8_t EMS_Veh_02_RC : 4; // Bits= 4 // Checksum CRC8 SAE J1850 of the data field this message uint8_t EMS_Veh_02_CS; // Bits= 8 #else // Actual battery temperature uint8_t BMS_ActualTemp_Val_ro; // Bits= 8 Offset= -40.0 Factor= 0.5 Unit:'�C' #ifdef CANDB_USE_SIGFLOAT sigfloat_t BMS_ActualTemp_Val_phys; #endif // CANDB_USE_SIGFLOAT // Rolling Counter [0 - 15] uint8_t EMS_Veh_02_RC; // Bits= 4 // Checksum CRC8 SAE J1850 of the data field this message uint8_t EMS_Veh_02_CS; // Bits= 8 #endif // CANDB_USE_BITS_SIGNAL #ifdef CANDB_USE_DIAG_MONITORS FrameMonitor_t mon1; #endif // CANDB_USE_DIAG_MONITORS } EMS_Veh_02_t; // def @BCM_EEM CAN Message (343 0x157) #define BCM_EEM_IDE (0U) #define BCM_EEM_DLC (8U) #define BCM_EEM_CANID (0x157U) #define BCM_EEM_CYC (100U) // Value tables for @BCM_EEM_StPowMgn signal #ifndef BCM_EEM_StPowMgn_BCM_EEM_LVbattery_no_power_source #define BCM_EEM_StPowMgn_BCM_EEM_LVbattery_no_power_source (5) #endif #ifndef BCM_EEM_StPowMgn_BCM_EEM_LVbattery_discharging_fast #define BCM_EEM_StPowMgn_BCM_EEM_LVbattery_discharging_fast (4) #endif #ifndef BCM_EEM_StPowMgn_BCM_EEM_LVbattery_discharging_slow #define BCM_EEM_StPowMgn_BCM_EEM_LVbattery_discharging_slow (3) #endif #ifndef BCM_EEM_StPowMgn_BCM_EEM_LVbattery_not_charging #define BCM_EEM_StPowMgn_BCM_EEM_LVbattery_not_charging (2) #endif #ifndef BCM_EEM_StPowMgn_BCM_EEM_LVbattery_charging_slow #define BCM_EEM_StPowMgn_BCM_EEM_LVbattery_charging_slow (1) #endif #ifndef BCM_EEM_StPowMgn_BCM_EEM_LVbattery_charged #define BCM_EEM_StPowMgn_BCM_EEM_LVbattery_charged (0) #endif typedef struct { #ifdef CANDB_USE_BITS_SIGNAL // PM state for consumer deactivation // 5 : "LV-battery no power source" // 4 : "LV-battery discharging fast" // 3 : "LV-battery discharging slow" // 2 : "LV-battery not charging" // 1 : "LV-battery charging slow" // 0 : "LV-battery charged" uint8_t BCM_EEM_StPowMgn : 3; // Bits= 3 // Rolling Counter [0 - 15] uint8_t BCM_EEM_RC : 4; // Bits= 4 // Checksum CRC8 SAE J1850 of the data field this message uint8_t BCM_EEM_CS; // Bits= 8 #else // PM state for consumer deactivation // 5 : "LV-battery no power source" // 4 : "LV-battery discharging fast" // 3 : "LV-battery discharging slow" // 2 : "LV-battery not charging" // 1 : "LV-battery charging slow" // 0 : "LV-battery charged" uint8_t BCM_EEM_StPowMgn; // Bits= 3 // Rolling Counter [0 - 15] uint8_t BCM_EEM_RC; // Bits= 4 // Checksum CRC8 SAE J1850 of the data field this message uint8_t BCM_EEM_CS; // Bits= 8 #endif // CANDB_USE_BITS_SIGNAL #ifdef CANDB_USE_DIAG_MONITORS FrameMonitor_t mon1; #endif // CANDB_USE_DIAG_MONITORS } BCM_EEM_t; // def @DMFR_Msg1 CAN Message (579 0x243) #define DMFR_Msg1_IDE (0U) #define DMFR_Msg1_DLC (4U) #define DMFR_Msg1_CANID (0x243U) #define DMFR_Msg1_CYC (50U) // Value tables for @DMFR_MirrorHeating_Status signal #ifndef DMFR_MirrorHeating_Status_DMFR_Msg1_Fault #define DMFR_MirrorHeating_Status_DMFR_Msg1_Fault (3) #endif #ifndef DMFR_MirrorHeating_Status_DMFR_Msg1_Heating_off #define DMFR_MirrorHeating_Status_DMFR_Msg1_Heating_off (2) #endif #ifndef DMFR_MirrorHeating_Status_DMFR_Msg1_Heating_on #define DMFR_MirrorHeating_Status_DMFR_Msg1_Heating_on (1) #endif #ifndef DMFR_MirrorHeating_Status_DMFR_Msg1_Unknown #define DMFR_MirrorHeating_Status_DMFR_Msg1_Unknown (0) #endif typedef struct { #ifdef CANDB_USE_BITS_SIGNAL // FR mirror heating status // 3 : "Fault" // 2 : "Heating off" // 1 : "Heating on" // 0 : "Unknown" uint8_t DMFR_MirrorHeating_Status : 2; // Bits= 2 #else // FR mirror heating status // 3 : "Fault" // 2 : "Heating off" // 1 : "Heating on" // 0 : "Unknown" uint8_t DMFR_MirrorHeating_Status; // Bits= 2 #endif // CANDB_USE_BITS_SIGNAL #ifdef CANDB_USE_DIAG_MONITORS FrameMonitor_t mon1; #endif // CANDB_USE_DIAG_MONITORS } DMFR_Msg1_t; // def @DMFL_Msg1 CAN Message (580 0x244) #define DMFL_Msg1_IDE (0U) #define DMFL_Msg1_DLC (8U) #define DMFL_Msg1_CANID (0x244U) #define DMFL_Msg1_CYC (50U) // Value tables for @DMFL_MirrorHeating_Status signal #ifndef DMFL_MirrorHeating_Status_DMFL_Msg1_Fault #define DMFL_MirrorHeating_Status_DMFL_Msg1_Fault (3) #endif #ifndef DMFL_MirrorHeating_Status_DMFL_Msg1_Heating_off #define DMFL_MirrorHeating_Status_DMFL_Msg1_Heating_off (2) #endif #ifndef DMFL_MirrorHeating_Status_DMFL_Msg1_Heating_on #define DMFL_MirrorHeating_Status_DMFL_Msg1_Heating_on (1) #endif #ifndef DMFL_MirrorHeating_Status_DMFL_Msg1_Unknown #define DMFL_MirrorHeating_Status_DMFL_Msg1_Unknown (0) #endif typedef struct { #ifdef CANDB_USE_BITS_SIGNAL // FL mirror heating status // 3 : "Fault" // 2 : "Heating off" // 1 : "Heating on" // 0 : "Unknown" uint8_t DMFL_MirrorHeating_Status : 2; // Bits= 2 #else // FL mirror heating status // 3 : "Fault" // 2 : "Heating off" // 1 : "Heating on" // 0 : "Unknown" uint8_t DMFL_MirrorHeating_Status; // Bits= 2 #endif // CANDB_USE_BITS_SIGNAL #ifdef CANDB_USE_DIAG_MONITORS FrameMonitor_t mon1; #endif // CANDB_USE_DIAG_MONITORS } DMFL_Msg1_t; // The DLC and Layout must be as in UMP_1 because PTG is receive this message // def @TM_Stat CAN Message (583 0x247) #define TM_Stat_IDE (0U) #define TM_Stat_DLC (4U) #define TM_Stat_CANID (0x247U) #define TM_Stat_CYC (50U) // Value tables for @TM_RearWindowHeating_Stat signal #ifndef TM_RearWindowHeating_Stat_TM_Stat_Heating_ON #define TM_RearWindowHeating_Stat_TM_Stat_Heating_ON (1) #endif #ifndef TM_RearWindowHeating_Stat_TM_Stat_Heating_OFF #define TM_RearWindowHeating_Stat_TM_Stat_Heating_OFF (0) #endif typedef struct { #ifdef CANDB_USE_BITS_SIGNAL // State of rear window heating // 1 : "Heating ON" // 0 : "Heating OFF" uint8_t TM_RearWindowHeating_Stat : 1; // Bits= 1 #else // State of rear window heating // 1 : "Heating ON" // 0 : "Heating OFF" uint8_t TM_RearWindowHeating_Stat; // Bits= 1 #endif // CANDB_USE_BITS_SIGNAL #ifdef CANDB_USE_DIAG_MONITORS FrameMonitor_t mon1; #endif // CANDB_USE_DIAG_MONITORS } TM_Stat_t; // def @TM_CP CAN Message (588 0x24c) #define TM_CP_IDE (0U) #define TM_CP_DLC (8U) #define TM_CP_CANID (0x24cU) #define TM_CP_CYC (100U) // Value tables for @CCPF_AutoButtonR_Stat signal #ifndef CCPF_AutoButtonR_Stat_TM_CP_Button_hold_pressed #define CCPF_AutoButtonR_Stat_TM_CP_Button_hold_pressed (2) #endif #ifndef CCPF_AutoButtonR_Stat_TM_CP_Button_Pressed #define CCPF_AutoButtonR_Stat_TM_CP_Button_Pressed (1) #endif #ifndef CCPF_AutoButtonR_Stat_TM_CP_Button_Released #define CCPF_AutoButtonR_Stat_TM_CP_Button_Released (0) #endif // Value tables for @CCPR_AutoButtonL_Stat signal #ifndef CCPR_AutoButtonL_Stat_TM_CP_Button_hold_pressed #define CCPR_AutoButtonL_Stat_TM_CP_Button_hold_pressed (2) #endif #ifndef CCPR_AutoButtonL_Stat_TM_CP_Button_pressed #define CCPR_AutoButtonL_Stat_TM_CP_Button_pressed (1) #endif #ifndef CCPR_AutoButtonL_Stat_TM_CP_Button_released #define CCPR_AutoButtonL_Stat_TM_CP_Button_released (0) #endif // Value tables for @CCPR_AutoButtonR_Stat signal #ifndef CCPR_AutoButtonR_Stat_TM_CP_Button_hold_pressed #define CCPR_AutoButtonR_Stat_TM_CP_Button_hold_pressed (2) #endif #ifndef CCPR_AutoButtonR_Stat_TM_CP_Button_pressed #define CCPR_AutoButtonR_Stat_TM_CP_Button_pressed (1) #endif #ifndef CCPR_AutoButtonR_Stat_TM_CP_Button_released #define CCPR_AutoButtonR_Stat_TM_CP_Button_released (0) #endif // Value tables for @CCPF_DefButton_Stat signal #ifndef CCPF_DefButton_Stat_TM_CP_Button_hold_pressed #define CCPF_DefButton_Stat_TM_CP_Button_hold_pressed (2) #endif #ifndef CCPF_DefButton_Stat_TM_CP_Button_pressed #define CCPF_DefButton_Stat_TM_CP_Button_pressed (1) #endif #ifndef CCPF_DefButton_Stat_TM_CP_Button_released #define CCPF_DefButton_Stat_TM_CP_Button_released (0) #endif // Value tables for @CCPF_TempToggleR_Stat signal #ifndef CCPF_TempToggleR_Stat_TM_CP_Toggle_hold_lowered_ #define CCPF_TempToggleR_Stat_TM_CP_Toggle_hold_lowered_ (4) #endif #ifndef CCPF_TempToggleR_Stat_TM_CP_Toggle_hold_raised_ #define CCPF_TempToggleR_Stat_TM_CP_Toggle_hold_raised_ (3) #endif #ifndef CCPF_TempToggleR_Stat_TM_CP_Toggle_lowered #define CCPF_TempToggleR_Stat_TM_CP_Toggle_lowered (2) #endif #ifndef CCPF_TempToggleR_Stat_TM_CP_Toggle_raised #define CCPF_TempToggleR_Stat_TM_CP_Toggle_raised (1) #endif #ifndef CCPF_TempToggleR_Stat_TM_CP_Toggle_released #define CCPF_TempToggleR_Stat_TM_CP_Toggle_released (0) #endif // Value tables for @CCPF_TempToggleL_Stat signal #ifndef CCPF_TempToggleL_Stat_TM_CP_Toggle_hold_lowered_ #define CCPF_TempToggleL_Stat_TM_CP_Toggle_hold_lowered_ (4) #endif #ifndef CCPF_TempToggleL_Stat_TM_CP_Toggle_hold_raised_ #define CCPF_TempToggleL_Stat_TM_CP_Toggle_hold_raised_ (3) #endif #ifndef CCPF_TempToggleL_Stat_TM_CP_Toggle_lowered #define CCPF_TempToggleL_Stat_TM_CP_Toggle_lowered (2) #endif #ifndef CCPF_TempToggleL_Stat_TM_CP_Toggle_raised #define CCPF_TempToggleL_Stat_TM_CP_Toggle_raised (1) #endif #ifndef CCPF_TempToggleL_Stat_TM_CP_Toggle_released #define CCPF_TempToggleL_Stat_TM_CP_Toggle_released (0) #endif // Value tables for @CCPF_AutoButtonL_Stat signal #ifndef CCPF_AutoButtonL_Stat_TM_CP_Button_hold_pressed #define CCPF_AutoButtonL_Stat_TM_CP_Button_hold_pressed (2) #endif #ifndef CCPF_AutoButtonL_Stat_TM_CP_Button_pressed #define CCPF_AutoButtonL_Stat_TM_CP_Button_pressed (1) #endif #ifndef CCPF_AutoButtonL_Stat_TM_CP_Button_released #define CCPF_AutoButtonL_Stat_TM_CP_Button_released (0) #endif // Value tables for @CCPR_TempToggleR_Stat signal #ifndef CCPR_TempToggleR_Stat_TM_CP_Toggle_hold_lowered_ #define CCPR_TempToggleR_Stat_TM_CP_Toggle_hold_lowered_ (4) #endif #ifndef CCPR_TempToggleR_Stat_TM_CP_Toggle_hold_raised_ #define CCPR_TempToggleR_Stat_TM_CP_Toggle_hold_raised_ (3) #endif #ifndef CCPR_TempToggleR_Stat_TM_CP_Toggle_lowered #define CCPR_TempToggleR_Stat_TM_CP_Toggle_lowered (2) #endif #ifndef CCPR_TempToggleR_Stat_TM_CP_Toggle_raised #define CCPR_TempToggleR_Stat_TM_CP_Toggle_raised (1) #endif #ifndef CCPR_TempToggleR_Stat_TM_CP_Toggle_released #define CCPR_TempToggleR_Stat_TM_CP_Toggle_released (0) #endif // Value tables for @CCPR_TempToggleL_Stat signal #ifndef CCPR_TempToggleL_Stat_TM_CP_Toggle_hold_lowered_ #define CCPR_TempToggleL_Stat_TM_CP_Toggle_hold_lowered_ (4) #endif #ifndef CCPR_TempToggleL_Stat_TM_CP_Toggle_hold_raised_ #define CCPR_TempToggleL_Stat_TM_CP_Toggle_hold_raised_ (3) #endif #ifndef CCPR_TempToggleL_Stat_TM_CP_Toggle_lowered #define CCPR_TempToggleL_Stat_TM_CP_Toggle_lowered (2) #endif #ifndef CCPR_TempToggleL_Stat_TM_CP_Toggle_raised #define CCPR_TempToggleL_Stat_TM_CP_Toggle_raised (1) #endif #ifndef CCPR_TempToggleL_Stat_TM_CP_Toggle_released #define CCPR_TempToggleL_Stat_TM_CP_Toggle_released (0) #endif // Value tables for @CCPF_RecButton_Stat signal #ifndef CCPF_RecButton_Stat_TM_CP_Button_hold_pressed #define CCPF_RecButton_Stat_TM_CP_Button_hold_pressed (2) #endif #ifndef CCPF_RecButton_Stat_TM_CP_Button_pressed #define CCPF_RecButton_Stat_TM_CP_Button_pressed (1) #endif #ifndef CCPF_RecButton_Stat_TM_CP_Button_released #define CCPF_RecButton_Stat_TM_CP_Button_released (0) #endif // Value tables for @CCPF_AcMaxButton_Stat signal #ifndef CCPF_AcMaxButton_Stat_TM_CP_Button_hold_pressed_ #define CCPF_AcMaxButton_Stat_TM_CP_Button_hold_pressed_ (2) #endif #ifndef CCPF_AcMaxButton_Stat_TM_CP_Button_pressed #define CCPF_AcMaxButton_Stat_TM_CP_Button_pressed (1) #endif #ifndef CCPF_AcMaxButton_Stat_TM_CP_Button_released #define CCPF_AcMaxButton_Stat_TM_CP_Button_released (0) #endif typedef struct { #ifdef CANDB_USE_BITS_SIGNAL // Front climate panel right AUTO button status // 2 : "Button hold pressed" // 1 : "Button Pressed" // 0 : "Button Released" uint8_t CCPF_AutoButtonR_Stat : 2; // Bits= 2 // Rear climate panel left AUTO button status // 2 : "Button hold pressed" // 1 : "Button pressed" // 0 : "Button released" uint8_t CCPR_AutoButtonL_Stat : 2; // Bits= 2 // Rear climate panel right AUTO button status // 2 : "Button hold pressed" // 1 : "Button pressed" // 0 : "Button released" uint8_t CCPR_AutoButtonR_Stat : 2; // Bits= 2 // Front climate panel DEFROST button status // 2 : "Button hold pressed" // 1 : "Button pressed" // 0 : "Button released" uint8_t CCPF_DefButton_Stat : 2; // Bits= 2 // Front climate panel right TEMPERATURE toggle status // 4 : "Toggle hold lowered " // 3 : "Toggle hold raised " // 2 : "Toggle lowered" // 1 : "Toggle raised" // 0 : "Toggle released" uint8_t CCPF_TempToggleR_Stat : 3; // Bits= 3 // Front climate panel left TEMPERATURE toggle status // 4 : "Toggle hold lowered " // 3 : "Toggle hold raised " // 2 : "Toggle lowered" // 1 : "Toggle raised" // 0 : "Toggle released" uint8_t CCPF_TempToggleL_Stat : 3; // Bits= 3 // Front climate panel left AUTO button status // 2 : "Button hold pressed" // 1 : "Button pressed" // 0 : "Button released" uint8_t CCPF_AutoButtonL_Stat : 2; // Bits= 2 // Rear climate panel right TEMPERATURE toggle status // 4 : "Toggle hold lowered " // 3 : "Toggle hold raised " // 2 : "Toggle lowered" // 1 : "Toggle raised" // 0 : "Toggle released" uint8_t CCPR_TempToggleR_Stat : 3; // Bits= 3 // Rear climate panel left TEMPERATURE toggle status // 4 : "Toggle hold lowered " // 3 : "Toggle hold raised " // 2 : "Toggle lowered" // 1 : "Toggle raised" // 0 : "Toggle released" uint8_t CCPR_TempToggleL_Stat : 3; // Bits= 3 // Front climate panel RECIRCULATION button status // 2 : "Button hold pressed" // 1 : "Button pressed" // 0 : "Button released" uint8_t CCPF_RecButton_Stat : 2; // Bits= 2 // Front climate panel AC MAX button status // 2 : "Button hold pressed " // 1 : "Button pressed" // 0 : "Button released" uint8_t CCPF_AcMaxButton_Stat : 2; // Bits= 2 #else // Front climate panel right AUTO button status // 2 : "Button hold pressed" // 1 : "Button Pressed" // 0 : "Button Released" uint8_t CCPF_AutoButtonR_Stat; // Bits= 2 // Rear climate panel left AUTO button status // 2 : "Button hold pressed" // 1 : "Button pressed" // 0 : "Button released" uint8_t CCPR_AutoButtonL_Stat; // Bits= 2 // Rear climate panel right AUTO button status // 2 : "Button hold pressed" // 1 : "Button pressed" // 0 : "Button released" uint8_t CCPR_AutoButtonR_Stat; // Bits= 2 // Front climate panel DEFROST button status // 2 : "Button hold pressed" // 1 : "Button pressed" // 0 : "Button released" uint8_t CCPF_DefButton_Stat; // Bits= 2 // Front climate panel right TEMPERATURE toggle status // 4 : "Toggle hold lowered " // 3 : "Toggle hold raised " // 2 : "Toggle lowered" // 1 : "Toggle raised" // 0 : "Toggle released" uint8_t CCPF_TempToggleR_Stat; // Bits= 3 // Front climate panel left TEMPERATURE toggle status // 4 : "Toggle hold lowered " // 3 : "Toggle hold raised " // 2 : "Toggle lowered" // 1 : "Toggle raised" // 0 : "Toggle released" uint8_t CCPF_TempToggleL_Stat; // Bits= 3 // Front climate panel left AUTO button status // 2 : "Button hold pressed" // 1 : "Button pressed" // 0 : "Button released" uint8_t CCPF_AutoButtonL_Stat; // Bits= 2 // Rear climate panel right TEMPERATURE toggle status // 4 : "Toggle hold lowered " // 3 : "Toggle hold raised " // 2 : "Toggle lowered" // 1 : "Toggle raised" // 0 : "Toggle released" uint8_t CCPR_TempToggleR_Stat; // Bits= 3 // Rear climate panel left TEMPERATURE toggle status // 4 : "Toggle hold lowered " // 3 : "Toggle hold raised " // 2 : "Toggle lowered" // 1 : "Toggle raised" // 0 : "Toggle released" uint8_t CCPR_TempToggleL_Stat; // Bits= 3 // Front climate panel RECIRCULATION button status // 2 : "Button hold pressed" // 1 : "Button pressed" // 0 : "Button released" uint8_t CCPF_RecButton_Stat; // Bits= 2 // Front climate panel AC MAX button status // 2 : "Button hold pressed " // 1 : "Button pressed" // 0 : "Button released" uint8_t CCPF_AcMaxButton_Stat; // Bits= 2 #endif // CANDB_USE_BITS_SIGNAL #ifdef CANDB_USE_DIAG_MONITORS FrameMonitor_t mon1; #endif // CANDB_USE_DIAG_MONITORS } TM_CP_t; // def @HVC_CCU_Status_Msg CAN Message (602 0x25a) #define HVC_CCU_Status_Msg_IDE (0U) #define HVC_CCU_Status_Msg_DLC (3U) #define HVC_CCU_Status_Msg_CANID (0x25aU) #define HVC_CCU_Status_Msg_CYC (200U) // signal: @HVC_eCompActSpeed_Val_ro #define CANDB_HVC_eCompActSpeed_Val_ro_CovFactor (50) #define CANDB_HVC_eCompActSpeed_Val_ro_toS(x) ( (uint8_t) ((x) / (50)) ) #define CANDB_HVC_eCompActSpeed_Val_ro_fromS(x) ( ((x) * (50)) ) // Value tables for @HVC_eComp_Stat signal #ifndef HVC_eComp_Stat_HVC_CCU_Status_Msg_HVC_FailueSNA #define HVC_eComp_Stat_HVC_CCU_Status_Msg_HVC_FailueSNA (4) #endif #ifndef HVC_eComp_Stat_HVC_CCU_Status_Msg_HVC_init #define HVC_eComp_Stat_HVC_CCU_Status_Msg_HVC_init (3) #endif #ifndef HVC_eComp_Stat_HVC_CCU_Status_Msg_HVC_off #define HVC_eComp_Stat_HVC_CCU_Status_Msg_HVC_off (2) #endif #ifndef HVC_eComp_Stat_HVC_CCU_Status_Msg_HVC_on #define HVC_eComp_Stat_HVC_CCU_Status_Msg_HVC_on (1) #endif #ifndef HVC_eComp_Stat_HVC_CCU_Status_Msg_HVC_standby #define HVC_eComp_Stat_HVC_CCU_Status_Msg_HVC_standby (0) #endif typedef struct { #ifdef CANDB_USE_BITS_SIGNAL // Compressor speed: // 0xFF = Fault uint8_t HVC_eCompActSpeed_Val_ro; // Bits= 8 Factor= 50 Unit:'rpm' #ifdef CANDB_USE_SIGFLOAT uint16_t HVC_eCompActSpeed_Val_phys; #endif // CANDB_USE_SIGFLOAT // Compressor status: // 0x0 = HVC standby // 0x1 = Compressor ON / LIMIT/ Pre-heating // 0x2 = Compressor OFF // 0x3 = Init // 0x4 = Failure/SNA // 4 : "HVC Failue/SNA" // 3 : "HVC init" // 2 : "HVC off" // 1 : "HVC on" // 0 : "HVC standby" uint8_t HVC_eComp_Stat : 3; // Bits= 3 // Rolling Counter [0 - 15] uint8_t HVC_CCU_Status_RC : 4; // Bits= 4 // Checksum XOR8 of the data field this message // Checksum computed as per XOR algorithm: // Byte 1 XOR byte 2 .... XOR byte n-1. (n = packet length.) uint8_t HVC_CCU_Status_CS; // Bits= 8 #else // Compressor speed: // 0xFF = Fault uint8_t HVC_eCompActSpeed_Val_ro; // Bits= 8 Factor= 50 Unit:'rpm' #ifdef CANDB_USE_SIGFLOAT uint16_t HVC_eCompActSpeed_Val_phys; #endif // CANDB_USE_SIGFLOAT // Compressor status: // 0x0 = HVC standby // 0x1 = Compressor ON / LIMIT/ Pre-heating // 0x2 = Compressor OFF // 0x3 = Init // 0x4 = Failure/SNA // 4 : "HVC Failue/SNA" // 3 : "HVC init" // 2 : "HVC off" // 1 : "HVC on" // 0 : "HVC standby" uint8_t HVC_eComp_Stat; // Bits= 3 // Rolling Counter [0 - 15] uint8_t HVC_CCU_Status_RC; // Bits= 4 // Checksum XOR8 of the data field this message // Checksum computed as per XOR algorithm: // Byte 1 XOR byte 2 .... XOR byte n-1. (n = packet length.) uint8_t HVC_CCU_Status_CS; // Bits= 8 #endif // CANDB_USE_BITS_SIGNAL #ifdef CANDB_USE_DIAG_MONITORS FrameMonitor_t mon1; #endif // CANDB_USE_DIAG_MONITORS } HVC_CCU_Status_Msg_t; // def @BCM_VEH_STATE CAN Message (640 0x280) #define BCM_VEH_STATE_IDE (0U) #define BCM_VEH_STATE_DLC (8U) #define BCM_VEH_STATE_CANID (0x280U) #define BCM_VEH_STATE_CYC (50U) // Value tables for @BCM_T15_Stat signal #ifndef BCM_T15_Stat_BCM_VEH_STATE_Terminal_active #define BCM_T15_Stat_BCM_VEH_STATE_Terminal_active (1) #endif #ifndef BCM_T15_Stat_BCM_VEH_STATE_Terminal_inactive #define BCM_T15_Stat_BCM_VEH_STATE_Terminal_inactive (0) #endif // Value tables for @BCM_T30d_Stat signal #ifndef BCM_T30d_Stat_BCM_VEH_STATE_Terminal_active #define BCM_T30d_Stat_BCM_VEH_STATE_Terminal_active (1) #endif #ifndef BCM_T30d_Stat_BCM_VEH_STATE_Terminal_inactive #define BCM_T30d_Stat_BCM_VEH_STATE_Terminal_inactive (0) #endif // Value tables for @BCM_T30i_Stat signal #ifndef BCM_T30i_Stat_BCM_VEH_STATE_Terminal_active #define BCM_T30i_Stat_BCM_VEH_STATE_Terminal_active (1) #endif #ifndef BCM_T30i_Stat_BCM_VEH_STATE_Terminal_inactive #define BCM_T30i_Stat_BCM_VEH_STATE_Terminal_inactive (0) #endif // Value tables for @StealthModeEn signal #ifndef StealthModeEn_BCM_VEH_STATE_Stealth_Mode_enable #define StealthModeEn_BCM_VEH_STATE_Stealth_Mode_enable (1) #endif #ifndef StealthModeEn_BCM_VEH_STATE_Stealth_Mode_disable #define StealthModeEn_BCM_VEH_STATE_Stealth_Mode_disable (0) #endif // Value tables for @BCM_CCTerm_Stat signal #ifndef BCM_CCTerm_Stat_BCM_VEH_STATE_Terminal_on #define BCM_CCTerm_Stat_BCM_VEH_STATE_Terminal_on (1) #endif #ifndef BCM_CCTerm_Stat_BCM_VEH_STATE_Terminal_off #define BCM_CCTerm_Stat_BCM_VEH_STATE_Terminal_off (0) #endif // Value tables for @BCM_T30i_DisableWarning signal #ifndef BCM_T30i_DisableWarning_BCM_VEH_STATE_Warning_Active #define BCM_T30i_DisableWarning_BCM_VEH_STATE_Warning_Active (1) #endif #ifndef BCM_T30i_DisableWarning_BCM_VEH_STATE_No_Warning #define BCM_T30i_DisableWarning_BCM_VEH_STATE_No_Warning (0) #endif // Value tables for @BCM_T30d_DisableWarning signal #ifndef BCM_T30d_DisableWarning_BCM_VEH_STATE_Warning_Active #define BCM_T30d_DisableWarning_BCM_VEH_STATE_Warning_Active (1) #endif #ifndef BCM_T30d_DisableWarning_BCM_VEH_STATE_No_Warning #define BCM_T30d_DisableWarning_BCM_VEH_STATE_No_Warning (0) #endif // signal: @BCM_IndFadingTime_Req_ro #define CANDB_BCM_IndFadingTime_Req_ro_CovFactor (0.1) #define CANDB_BCM_IndFadingTime_Req_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.1)) ) #define CANDB_BCM_IndFadingTime_Req_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) // Value tables for @BCM_CCTermDisableWarning signal #ifndef BCM_CCTermDisableWarning_BCM_VEH_STATE_Warning_Active #define BCM_CCTermDisableWarning_BCM_VEH_STATE_Warning_Active (1) #endif #ifndef BCM_CCTermDisableWarning_BCM_VEH_STATE_No_Warning #define BCM_CCTermDisableWarning_BCM_VEH_STATE_No_Warning (0) #endif // Value tables for @BCM_VehicleMode_Stat signal #ifndef BCM_VehicleMode_Stat_BCM_VEH_STATE_RemoteStart_Mode #define BCM_VehicleMode_Stat_BCM_VEH_STATE_RemoteStart_Mode (6) #endif #ifndef BCM_VehicleMode_Stat_BCM_VEH_STATE_Service_Mode #define BCM_VehicleMode_Stat_BCM_VEH_STATE_Service_Mode (5) #endif #ifndef BCM_VehicleMode_Stat_BCM_VEH_STATE_Drive_Mode #define BCM_VehicleMode_Stat_BCM_VEH_STATE_Drive_Mode (4) #endif #ifndef BCM_VehicleMode_Stat_BCM_VEH_STATE_Ignition_Mode #define BCM_VehicleMode_Stat_BCM_VEH_STATE_Ignition_Mode (3) #endif #ifndef BCM_VehicleMode_Stat_BCM_VEH_STATE_StandBy_Mode #define BCM_VehicleMode_Stat_BCM_VEH_STATE_StandBy_Mode (2) #endif #ifndef BCM_VehicleMode_Stat_BCM_VEH_STATE_PreHeating_Mode #define BCM_VehicleMode_Stat_BCM_VEH_STATE_PreHeating_Mode (1) #endif #ifndef BCM_VehicleMode_Stat_BCM_VEH_STATE_Sleep_Mode #define BCM_VehicleMode_Stat_BCM_VEH_STATE_Sleep_Mode (0) #endif // Value tables for @BCM_SwIndIntens_Stat signal #ifndef BCM_SwIndIntens_Stat_BCM_VEH_STATE_Low_level #define BCM_SwIndIntens_Stat_BCM_VEH_STATE_Low_level (1) #endif #ifndef BCM_SwIndIntens_Stat_BCM_VEH_STATE_Hight_level #define BCM_SwIndIntens_Stat_BCM_VEH_STATE_Hight_level (0) #endif // Value tables for @BCM_Vehicle_DrvMode signal #ifndef BCM_Vehicle_DrvMode_BCM_VEH_STATE_Reserved #define BCM_Vehicle_DrvMode_BCM_VEH_STATE_Reserved (6) #endif #ifndef BCM_Vehicle_DrvMode_BCM_VEH_STATE_Reserved #define BCM_Vehicle_DrvMode_BCM_VEH_STATE_Reserved (5) #endif #ifndef BCM_Vehicle_DrvMode_BCM_VEH_STATE_Offroad #define BCM_Vehicle_DrvMode_BCM_VEH_STATE_Offroad (4) #endif #ifndef BCM_Vehicle_DrvMode_BCM_VEH_STATE_Reserved #define BCM_Vehicle_DrvMode_BCM_VEH_STATE_Reserved (3) #endif #ifndef BCM_Vehicle_DrvMode_BCM_VEH_STATE_Range #define BCM_Vehicle_DrvMode_BCM_VEH_STATE_Range (2) #endif #ifndef BCM_Vehicle_DrvMode_BCM_VEH_STATE_Dynamic #define BCM_Vehicle_DrvMode_BCM_VEH_STATE_Dynamic (1) #endif #ifndef BCM_Vehicle_DrvMode_BCM_VEH_STATE_Comfort #define BCM_Vehicle_DrvMode_BCM_VEH_STATE_Comfort (0) #endif #ifndef BCM_Vehicle_DrvMode_BCM_VEH_STATE_Reserved #define BCM_Vehicle_DrvMode_BCM_VEH_STATE_Reserved (7) #endif // signal: @BCM_LVBatteryVoltage_ro #define CANDB_BCM_LVBatteryVoltage_ro_CovFactor (0.075) #define CANDB_BCM_LVBatteryVoltage_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.075)) ) #define CANDB_BCM_LVBatteryVoltage_ro_fromS(x) ( (((x) * (0.075)) + (0.0)) ) typedef struct { #ifdef CANDB_USE_BITS_SIGNAL // Terminal T15 state // 1 : "Terminal active" // 0 : "Terminal inactive" uint8_t BCM_T15_Stat : 1; // Bits= 1 // State of T30d terminal // 1 : "Terminal active" // 0 : "Terminal inactive" uint8_t BCM_T30d_Stat : 1; // Bits= 1 // State of T30i terminal // 1 : "Terminal active" // 0 : "Terminal inactive" uint8_t BCM_T30i_Stat : 1; // Bits= 1 // Indicates that the Stealth mode is required: // $0 = Stealth mode disable // $1 = Stealth mode enable // 1 : "Stealth Mode enable" // 0 : "Stealth Mode disable" uint8_t StealthModeEn : 1; // Bits= 1 // Terminal to power climate system // 1 : "Terminal on" // 0 : "Terminal off" uint8_t BCM_CCTerm_Stat : 1; // Bits= 1 // $0 = No Warning // $1 = Warning Active // 1 : "Warning Active" // 0 : "No Warning" uint8_t BCM_T30i_DisableWarning : 1; // Bits= 1 // T30d terminal warning status signal // 3 sec before T30d off // 1 : "Warning Active" // 0 : "No Warning" uint8_t BCM_T30d_DisableWarning : 1; // Bits= 1 // The timer for smoothly change switches intensity, when day detected. uint8_t BCM_IndFadingTime_Req_ro : 5; // Bits= 5 Factor= 0.1 Unit:'s' #ifdef CANDB_USE_SIGFLOAT sigfloat_t BCM_IndFadingTime_Req_phys; #endif // CANDB_USE_SIGFLOAT // Indicates if CC terminal will be disconnected soon // 1 : "Warning Active" // 0 : "No Warning" uint8_t BCM_CCTermDisableWarning : 1; // Bits= 1 // Current vehicle state according Terminal concept // 6 : "RemoteStart_Mode" // 5 : "Service_Mode" // 4 : "Drive_Mode" // 3 : "Ignition_Mode" // 2 : "StandBy_Mode" // 1 : "PreHeating_Mode" // 0 : "Sleep_Mode" uint8_t BCM_VehicleMode_Stat : 4; // Bits= 4 // Switches indicator intensity level // 1 : "Low level" // 0 : "Hight level" uint8_t BCM_SwIndIntens_Stat : 1; // Bits= 1 // Vehicle drive mode, set by user // 6 : "Reserved" // 5 : "Reserved" // 4 : "Offroad" // 3 : "Reserved" // 2 : "Range" // 1 : "Dynamic" // 0 : "Comfort" // 7 : "Reserved" uint8_t BCM_Vehicle_DrvMode : 3; // Bits= 3 // Indicates the battery voltage. Measurement from the Battery sensor uint8_t BCM_LVBatteryVoltage_ro; // Bits= 8 Factor= 0.075 Unit:'V' #ifdef CANDB_USE_SIGFLOAT sigfloat_t BCM_LVBatteryVoltage_phys; #endif // CANDB_USE_SIGFLOAT #else // Terminal T15 state // 1 : "Terminal active" // 0 : "Terminal inactive" uint8_t BCM_T15_Stat; // Bits= 1 // State of T30d terminal // 1 : "Terminal active" // 0 : "Terminal inactive" uint8_t BCM_T30d_Stat; // Bits= 1 // State of T30i terminal // 1 : "Terminal active" // 0 : "Terminal inactive" uint8_t BCM_T30i_Stat; // Bits= 1 // Indicates that the Stealth mode is required: // $0 = Stealth mode disable // $1 = Stealth mode enable // 1 : "Stealth Mode enable" // 0 : "Stealth Mode disable" uint8_t StealthModeEn; // Bits= 1 // Terminal to power climate system // 1 : "Terminal on" // 0 : "Terminal off" uint8_t BCM_CCTerm_Stat; // Bits= 1 // $0 = No Warning // $1 = Warning Active // 1 : "Warning Active" // 0 : "No Warning" uint8_t BCM_T30i_DisableWarning; // Bits= 1 // T30d terminal warning status signal // 3 sec before T30d off // 1 : "Warning Active" // 0 : "No Warning" uint8_t BCM_T30d_DisableWarning; // Bits= 1 // The timer for smoothly change switches intensity, when day detected. uint8_t BCM_IndFadingTime_Req_ro; // Bits= 5 Factor= 0.1 Unit:'s' #ifdef CANDB_USE_SIGFLOAT sigfloat_t BCM_IndFadingTime_Req_phys; #endif // CANDB_USE_SIGFLOAT // Indicates if CC terminal will be disconnected soon // 1 : "Warning Active" // 0 : "No Warning" uint8_t BCM_CCTermDisableWarning; // Bits= 1 // Current vehicle state according Terminal concept // 6 : "RemoteStart_Mode" // 5 : "Service_Mode" // 4 : "Drive_Mode" // 3 : "Ignition_Mode" // 2 : "StandBy_Mode" // 1 : "PreHeating_Mode" // 0 : "Sleep_Mode" uint8_t BCM_VehicleMode_Stat; // Bits= 4 // Switches indicator intensity level // 1 : "Low level" // 0 : "Hight level" uint8_t BCM_SwIndIntens_Stat; // Bits= 1 // Vehicle drive mode, set by user // 6 : "Reserved" // 5 : "Reserved" // 4 : "Offroad" // 3 : "Reserved" // 2 : "Range" // 1 : "Dynamic" // 0 : "Comfort" // 7 : "Reserved" uint8_t BCM_Vehicle_DrvMode; // Bits= 3 // Indicates the battery voltage. Measurement from the Battery sensor uint8_t BCM_LVBatteryVoltage_ro; // Bits= 8 Factor= 0.075 Unit:'V' #ifdef CANDB_USE_SIGFLOAT sigfloat_t BCM_LVBatteryVoltage_phys; #endif // CANDB_USE_SIGFLOAT #endif // CANDB_USE_BITS_SIGNAL #ifdef CANDB_USE_DIAG_MONITORS FrameMonitor_t mon1; #endif // CANDB_USE_DIAG_MONITORS } BCM_VEH_STATE_t; // def @EMS_HVC_Req_Msg CAN Message (664 0x298) #define EMS_HVC_Req_Msg_IDE (0U) #define EMS_HVC_Req_Msg_DLC (3U) #define EMS_HVC_Req_Msg_CANID (0x298U) #define EMS_HVC_Req_Msg_CYC (200U) // Value tables for @EMS_eCompChiller_Req signal #ifndef EMS_eCompChiller_Req_EMS_HVC_Req_Msg_Chiller_activation_request #define EMS_eCompChiller_Req_EMS_HVC_Req_Msg_Chiller_activation_request (1) #endif #ifndef EMS_eCompChiller_Req_EMS_HVC_Req_Msg_No_request #define EMS_eCompChiller_Req_EMS_HVC_Req_Msg_No_request (0) #endif typedef struct { #ifdef CANDB_USE_BITS_SIGNAL // 1 : "Chiller activation request" // 0 : "No request" uint8_t EMS_eCompChiller_Req : 1; // Bits= 1 // Rolling Counter [0 - 15] uint8_t EMS_HVC_Req_RC : 4; // Bits= 4 // Checksum XOR8 of the data field this message // Checksum computed as per XOR algorithm: // Byte 1 XOR byte 2 .... XOR byte n-1. (n = packet length.) uint8_t EMS_HVC_Req_CS; // Bits= 8 #else // 1 : "Chiller activation request" // 0 : "No request" uint8_t EMS_eCompChiller_Req; // Bits= 1 // Rolling Counter [0 - 15] uint8_t EMS_HVC_Req_RC; // Bits= 4 // Checksum XOR8 of the data field this message // Checksum computed as per XOR algorithm: // Byte 1 XOR byte 2 .... XOR byte n-1. (n = packet length.) uint8_t EMS_HVC_Req_CS; // Bits= 8 #endif // CANDB_USE_BITS_SIGNAL #ifdef CANDB_USE_DIAG_MONITORS FrameMonitor_t mon1; #endif // CANDB_USE_DIAG_MONITORS } EMS_HVC_Req_Msg_t; // def @HVC_Err_Status_Msg CAN Message (773 0x305) #define HVC_Err_Status_Msg_IDE (0U) #define HVC_Err_Status_Msg_DLC (8U) #define HVC_Err_Status_Msg_CANID (0x305U) #define HVC_Err_Status_Msg_CYC (100U) // signal: @HVC_CompSpeed_Val_ro #define CANDB_HVC_CompSpeed_Val_ro_CovFactor (50) #define CANDB_HVC_CompSpeed_Val_ro_toS(x) ( (uint8_t) ((x) / (50)) ) #define CANDB_HVC_CompSpeed_Val_ro_fromS(x) ( ((x) * (50)) ) // Value tables for @HVC_Comp_Stat signal #ifndef HVC_Comp_Stat_HVC_Err_Status_Msg_COMP_FAULT #define HVC_Comp_Stat_HVC_Err_Status_Msg_COMP_FAULT (3) #endif #ifndef HVC_Comp_Stat_HVC_Err_Status_Msg_POWER_LIMIT #define HVC_Comp_Stat_HVC_Err_Status_Msg_POWER_LIMIT (2) #endif #ifndef HVC_Comp_Stat_HVC_Err_Status_Msg_COMP_ON #define HVC_Comp_Stat_HVC_Err_Status_Msg_COMP_ON (1) #endif #ifndef HVC_Comp_Stat_HVC_Err_Status_Msg_COMP_OFF #define HVC_Comp_Stat_HVC_Err_Status_Msg_COMP_OFF (0) #endif // signal: @HVC_CompInputV_Val_ro #define CANDB_HVC_CompInputV_Val_ro_CovFactor (2) #define CANDB_HVC_CompInputV_Val_ro_toS(x) ( (uint8_t) ((x) / (2)) ) #define CANDB_HVC_CompInputV_Val_ro_fromS(x) ( ((x) * (2)) ) // signal: @HVC_CompInputC_Val_ro #define CANDB_HVC_CompInputC_Val_ro_CovFactor (0.5) #define CANDB_HVC_CompInputC_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.5)) ) #define CANDB_HVC_CompInputC_Val_ro_fromS(x) ( (((x) * (0.5)) + (0.0)) ) // signal: @HVC_CompInvTemp_Val_ro #define CANDB_HVC_CompInvTemp_Val_ro_CovFactor (1) #define CANDB_HVC_CompInvTemp_Val_ro_toS(x) ( (uint8_t) ((x) - (-50)) ) #define CANDB_HVC_CompInvTemp_Val_ro_fromS(x) ( ((x) + (-50)) ) // signal: @HVC_CompPhaseC_Val_ro #define CANDB_HVC_CompPhaseC_Val_ro_CovFactor (0.5) #define CANDB_HVC_CompPhaseC_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.5)) ) #define CANDB_HVC_CompPhaseC_Val_ro_fromS(x) ( (((x) * (0.5)) + (0.0)) ) // Value tables for @HVC_CompUV_Stat signal #ifndef HVC_CompUV_Stat_HVC_Err_Status_Msg_True #define HVC_CompUV_Stat_HVC_Err_Status_Msg_True (1) #endif #ifndef HVC_CompUV_Stat_HVC_Err_Status_Msg_False #define HVC_CompUV_Stat_HVC_Err_Status_Msg_False (0) #endif // Value tables for @HVC_CompOV_Stat signal #ifndef HVC_CompOV_Stat_HVC_Err_Status_Msg_True #define HVC_CompOV_Stat_HVC_Err_Status_Msg_True (1) #endif #ifndef HVC_CompOV_Stat_HVC_Err_Status_Msg_False #define HVC_CompOV_Stat_HVC_Err_Status_Msg_False (0) #endif // Value tables for @HVC_CompOvHeat_Stat signal #ifndef HVC_CompOvHeat_Stat_HVC_Err_Status_Msg_True #define HVC_CompOvHeat_Stat_HVC_Err_Status_Msg_True (1) #endif #ifndef HVC_CompOvHeat_Stat_HVC_Err_Status_Msg_False #define HVC_CompOvHeat_Stat_HVC_Err_Status_Msg_False (0) #endif // Value tables for @HVC_CompOvTorque_Stat signal #ifndef HVC_CompOvTorque_Stat_HVC_Err_Status_Msg_True #define HVC_CompOvTorque_Stat_HVC_Err_Status_Msg_True (1) #endif #ifndef HVC_CompOvTorque_Stat_HVC_Err_Status_Msg_False #define HVC_CompOvTorque_Stat_HVC_Err_Status_Msg_False (0) #endif // Value tables for @HVC_CompLowVoltErr_Stat signal #ifndef HVC_CompLowVoltErr_Stat_HVC_Err_Status_Msg_True #define HVC_CompLowVoltErr_Stat_HVC_Err_Status_Msg_True (1) #endif #ifndef HVC_CompLowVoltErr_Stat_HVC_Err_Status_Msg_False #define HVC_CompLowVoltErr_Stat_HVC_Err_Status_Msg_False (0) #endif // Value tables for @HVC_CompComErr_Stat signal #ifndef HVC_CompComErr_Stat_HVC_Err_Status_Msg_True #define HVC_CompComErr_Stat_HVC_Err_Status_Msg_True (1) #endif #ifndef HVC_CompComErr_Stat_HVC_Err_Status_Msg_False #define HVC_CompComErr_Stat_HVC_Err_Status_Msg_False (0) #endif // Value tables for @HVC_CompTempSensErr_Stat signal #ifndef HVC_CompTempSensErr_Stat_HVC_Err_Status_Msg_True #define HVC_CompTempSensErr_Stat_HVC_Err_Status_Msg_True (1) #endif #ifndef HVC_CompTempSensErr_Stat_HVC_Err_Status_Msg_False #define HVC_CompTempSensErr_Stat_HVC_Err_Status_Msg_False (0) #endif // Value tables for @HVC_CompCurrSensErr_Stat signal #ifndef HVC_CompCurrSensErr_Stat_HVC_Err_Status_Msg_True #define HVC_CompCurrSensErr_Stat_HVC_Err_Status_Msg_True (1) #endif #ifndef HVC_CompCurrSensErr_Stat_HVC_Err_Status_Msg_False #define HVC_CompCurrSensErr_Stat_HVC_Err_Status_Msg_False (0) #endif // Value tables for @HVC_CompCurrShortCirc_Stat signal #ifndef HVC_CompCurrShortCirc_Stat_HVC_Err_Status_Msg_True #define HVC_CompCurrShortCirc_Stat_HVC_Err_Status_Msg_True (1) #endif #ifndef HVC_CompCurrShortCirc_Stat_HVC_Err_Status_Msg_False #define HVC_CompCurrShortCirc_Stat_HVC_Err_Status_Msg_False (0) #endif // Value tables for @HVC_CompInPowSupply_Stat signal #ifndef HVC_CompInPowSupply_Stat_HVC_Err_Status_Msg_True #define HVC_CompInPowSupply_Stat_HVC_Err_Status_Msg_True (1) #endif #ifndef HVC_CompInPowSupply_Stat_HVC_Err_Status_Msg_False #define HVC_CompInPowSupply_Stat_HVC_Err_Status_Msg_False (0) #endif // Value tables for @HVC_CompTorqueStallErr_Stat signal #ifndef HVC_CompTorqueStallErr_Stat_HVC_Err_Status_Msg_True #define HVC_CompTorqueStallErr_Stat_HVC_Err_Status_Msg_True (1) #endif #ifndef HVC_CompTorqueStallErr_Stat_HVC_Err_Status_Msg_False #define HVC_CompTorqueStallErr_Stat_HVC_Err_Status_Msg_False (0) #endif // Value tables for @HVC_CompVoltSensErr_Stat signal #ifndef HVC_CompVoltSensErr_Stat_HVC_Err_Status_Msg_True #define HVC_CompVoltSensErr_Stat_HVC_Err_Status_Msg_True (1) #endif #ifndef HVC_CompVoltSensErr_Stat_HVC_Err_Status_Msg_False #define HVC_CompVoltSensErr_Stat_HVC_Err_Status_Msg_False (0) #endif typedef struct { #ifdef CANDB_USE_BITS_SIGNAL // High voltage compressor speed in revolutions per minute // $FF = Signal Not Available uint8_t HVC_CompSpeed_Val_ro; // Bits= 8 Factor= 50 Unit:'rpm' #ifdef CANDB_USE_SIGFLOAT uint16_t HVC_CompSpeed_Val_phys; #endif // CANDB_USE_SIGFLOAT // High voltage compressor status: // $0 = Compressor off // $1 = Compressor on // $2 = Power limit // $3 = Compressor failure / Signal Not Available // 3 : "COMP_FAULT" // 2 : "POWER_LIMIT" // 1 : "COMP_ON" // 0 : "COMP_OFF" uint8_t HVC_Comp_Stat : 2; // Bits= 2 // Reserved space in the HVC_State message: 6 bits uint8_t HVC_Reserved01 : 6; // Bits= 6 // High voltage compressor input voltage: // 0xFF = Fault/SNA uint8_t HVC_CompInputV_Val_ro; // Bits= 8 Factor= 2 Unit:'V' #ifdef CANDB_USE_SIGFLOAT uint16_t HVC_CompInputV_Val_phys; #endif // CANDB_USE_SIGFLOAT // High voltage compressor input current: // 0xFF = Fault/SNA uint8_t HVC_CompInputC_Val_ro; // Bits= 8 Factor= 0.5 Unit:'A' #ifdef CANDB_USE_SIGFLOAT sigfloat_t HVC_CompInputC_Val_phys; #endif // CANDB_USE_SIGFLOAT // High voltage compressor inverter temperature: // 0xFF = Fault/SNA uint8_t HVC_CompInvTemp_Val_ro; // Bits= 8 Offset= -50 Unit:'�C' #ifdef CANDB_USE_SIGFLOAT int16_t HVC_CompInvTemp_Val_phys; #endif // CANDB_USE_SIGFLOAT // High voltage compressor motor phase current: // 0xFF = Fault/SNA uint8_t HVC_CompPhaseC_Val_ro; // Bits= 8 Factor= 0.5 Unit:'A' #ifdef CANDB_USE_SIGFLOAT sigfloat_t HVC_CompPhaseC_Val_phys; #endif // CANDB_USE_SIGFLOAT // High voltage compressor under voltage detected // 1 : "True" // 0 : "False" uint8_t HVC_CompUV_Stat : 1; // Bits= 1 // High voltage compressor over voltage detected // 1 : "True" // 0 : "False" uint8_t HVC_CompOV_Stat : 1; // Bits= 1 // High voltage compressor over heat detected // 1 : "True" // 0 : "False" uint8_t HVC_CompOvHeat_Stat : 1; // Bits= 1 // High voltage compressor over torque detected. (overload) // 1 : "True" // 0 : "False" uint8_t HVC_CompOvTorque_Stat : 1; // Bits= 1 // High voltage compressor low voltage error detected // 1 : "True" // 0 : "False" uint8_t HVC_CompLowVoltErr_Stat : 1; // Bits= 1 // High voltage compressor communication error detected. // 1 : "True" // 0 : "False" uint8_t HVC_CompComErr_Stat : 1; // Bits= 1 // Reserved space in the HVC_State message: 2 bits uint8_t HVC_Reserved02 : 2; // Bits= 2 // High voltage compressor temperature sensor error detected. // 1 : "True" // 0 : "False" uint8_t HVC_CompTempSensErr_Stat : 1; // Bits= 1 // High voltage compressor current sensor error detected. // 1 : "True" // 0 : "False" uint8_t HVC_CompCurrSensErr_Stat : 1; // Bits= 1 // High voltage compressor current short-circuit detected. // 1 : "True" // 0 : "False" uint8_t HVC_CompCurrShortCirc_Stat : 1; // Bits= 1 // High voltage compressor in power supply detected. // 1 : "True" // 0 : "False" uint8_t HVC_CompInPowSupply_Stat : 1; // Bits= 1 // High voltage compressor torque stall detected. (overload (stall)) // 1 : "True" // 0 : "False" uint8_t HVC_CompTorqueStallErr_Stat : 1; // Bits= 1 // High voltage compressor voltage sensor error detected. // 1 : "True" // 0 : "False" uint8_t HVC_CompVoltSensErr_Stat : 1; // Bits= 1 // Reserved space in the HVC_State message: 2 bits uint8_t HVC_Reserved03 : 2; // Bits= 2 #else // High voltage compressor speed in revolutions per minute // $FF = Signal Not Available uint8_t HVC_CompSpeed_Val_ro; // Bits= 8 Factor= 50 Unit:'rpm' #ifdef CANDB_USE_SIGFLOAT uint16_t HVC_CompSpeed_Val_phys; #endif // CANDB_USE_SIGFLOAT // High voltage compressor status: // $0 = Compressor off // $1 = Compressor on // $2 = Power limit // $3 = Compressor failure / Signal Not Available // 3 : "COMP_FAULT" // 2 : "POWER_LIMIT" // 1 : "COMP_ON" // 0 : "COMP_OFF" uint8_t HVC_Comp_Stat; // Bits= 2 // Reserved space in the HVC_State message: 6 bits uint8_t HVC_Reserved01; // Bits= 6 // High voltage compressor input voltage: // 0xFF = Fault/SNA uint8_t HVC_CompInputV_Val_ro; // Bits= 8 Factor= 2 Unit:'V' #ifdef CANDB_USE_SIGFLOAT uint16_t HVC_CompInputV_Val_phys; #endif // CANDB_USE_SIGFLOAT // High voltage compressor input current: // 0xFF = Fault/SNA uint8_t HVC_CompInputC_Val_ro; // Bits= 8 Factor= 0.5 Unit:'A' #ifdef CANDB_USE_SIGFLOAT sigfloat_t HVC_CompInputC_Val_phys; #endif // CANDB_USE_SIGFLOAT // High voltage compressor inverter temperature: // 0xFF = Fault/SNA uint8_t HVC_CompInvTemp_Val_ro; // Bits= 8 Offset= -50 Unit:'�C' #ifdef CANDB_USE_SIGFLOAT int16_t HVC_CompInvTemp_Val_phys; #endif // CANDB_USE_SIGFLOAT // High voltage compressor motor phase current: // 0xFF = Fault/SNA uint8_t HVC_CompPhaseC_Val_ro; // Bits= 8 Factor= 0.5 Unit:'A' #ifdef CANDB_USE_SIGFLOAT sigfloat_t HVC_CompPhaseC_Val_phys; #endif // CANDB_USE_SIGFLOAT // High voltage compressor under voltage detected // 1 : "True" // 0 : "False" uint8_t HVC_CompUV_Stat; // Bits= 1 // High voltage compressor over voltage detected // 1 : "True" // 0 : "False" uint8_t HVC_CompOV_Stat; // Bits= 1 // High voltage compressor over heat detected // 1 : "True" // 0 : "False" uint8_t HVC_CompOvHeat_Stat; // Bits= 1 // High voltage compressor over torque detected. (overload) // 1 : "True" // 0 : "False" uint8_t HVC_CompOvTorque_Stat; // Bits= 1 // High voltage compressor low voltage error detected // 1 : "True" // 0 : "False" uint8_t HVC_CompLowVoltErr_Stat; // Bits= 1 // High voltage compressor communication error detected. // 1 : "True" // 0 : "False" uint8_t HVC_CompComErr_Stat; // Bits= 1 // Reserved space in the HVC_State message: 2 bits uint8_t HVC_Reserved02; // Bits= 2 // High voltage compressor temperature sensor error detected. // 1 : "True" // 0 : "False" uint8_t HVC_CompTempSensErr_Stat; // Bits= 1 // High voltage compressor current sensor error detected. // 1 : "True" // 0 : "False" uint8_t HVC_CompCurrSensErr_Stat; // Bits= 1 // High voltage compressor current short-circuit detected. // 1 : "True" // 0 : "False" uint8_t HVC_CompCurrShortCirc_Stat; // Bits= 1 // High voltage compressor in power supply detected. // 1 : "True" // 0 : "False" uint8_t HVC_CompInPowSupply_Stat; // Bits= 1 // High voltage compressor torque stall detected. (overload (stall)) // 1 : "True" // 0 : "False" uint8_t HVC_CompTorqueStallErr_Stat; // Bits= 1 // High voltage compressor voltage sensor error detected. // 1 : "True" // 0 : "False" uint8_t HVC_CompVoltSensErr_Stat; // Bits= 1 // Reserved space in the HVC_State message: 2 bits uint8_t HVC_Reserved03; // Bits= 2 #endif // CANDB_USE_BITS_SIGNAL #ifdef CANDB_USE_DIAG_MONITORS FrameMonitor_t mon1; #endif // CANDB_USE_DIAG_MONITORS } HVC_Err_Status_Msg_t; // def @CCU_HVC_Req_Msg CAN Message (784 0x310) #define CCU_HVC_Req_Msg_IDE (0U) #define CCU_HVC_Req_Msg_DLC (3U) #define CCU_HVC_Req_Msg_CANID (0x310U) #define CCU_HVC_Req_Msg_CYC (200U) // signal: @CCU_eCompSpeedReq_Val_ro #define CANDB_CCU_eCompSpeedReq_Val_ro_CovFactor (50) #define CANDB_CCU_eCompSpeedReq_Val_ro_toS(x) ( (uint8_t) ((x) / (50)) ) #define CANDB_CCU_eCompSpeedReq_Val_ro_fromS(x) ( ((x) * (50)) ) // Value tables for @CCU_eCompReq_Stat signal #ifndef CCU_eCompReq_Stat_CCU_HVC_Req_Msg_Request #define CCU_eCompReq_Stat_CCU_HVC_Req_Msg_Request (1) #endif #ifndef CCU_eCompReq_Stat_CCU_HVC_Req_Msg_Stop_request #define CCU_eCompReq_Stat_CCU_HVC_Req_Msg_Stop_request (0) #endif // Value tables for @CCU_LowTempValve_Req signal #ifndef CCU_LowTempValve_Req_CCU_HVC_Req_Msg_Open_Valve_request #define CCU_LowTempValve_Req_CCU_HVC_Req_Msg_Open_Valve_request (2) #endif #ifndef CCU_LowTempValve_Req_CCU_HVC_Req_Msg_Close_Valve_request #define CCU_LowTempValve_Req_CCU_HVC_Req_Msg_Close_Valve_request (1) #endif #ifndef CCU_LowTempValve_Req_CCU_HVC_Req_Msg_No_request #define CCU_LowTempValve_Req_CCU_HVC_Req_Msg_No_request (0) #endif typedef struct { #ifdef CANDB_USE_BITS_SIGNAL // Compressor target speed: // 0xFF = Fault value uint8_t CCU_eCompSpeedReq_Val_ro; // Bits= 8 Factor= 50 Unit:'rpm' #ifdef CANDB_USE_SIGFLOAT uint16_t CCU_eCompSpeedReq_Val_phys; #endif // CANDB_USE_SIGFLOAT // Request to activate air conditioner compressor // 1 : "Request" // 0 : "Stop request" uint8_t CCU_eCompReq_Stat : 1; // Bits= 1 // request to EMS for closing the low temperature circuit valve // 2 : "Open Valve request" // 1 : "Close Valve request" // 0 : "No request" uint8_t CCU_LowTempValve_Req : 2; // Bits= 2 // Rolling Counter [0 - 15] uint8_t CCU_HVC_Req_RC : 4; // Bits= 4 // Checksum XOR8 of the data field this message // Checksum computed as per XOR algorithm: // Byte 1 XOR byte 2 .... XOR byte n-1. (n = packet length.) uint8_t CCU_HVC_Req_CS; // Bits= 8 #else // Compressor target speed: // 0xFF = Fault value uint8_t CCU_eCompSpeedReq_Val_ro; // Bits= 8 Factor= 50 Unit:'rpm' #ifdef CANDB_USE_SIGFLOAT uint16_t CCU_eCompSpeedReq_Val_phys; #endif // CANDB_USE_SIGFLOAT // Request to activate air conditioner compressor // 1 : "Request" // 0 : "Stop request" uint8_t CCU_eCompReq_Stat; // Bits= 1 // request to EMS for closing the low temperature circuit valve // 2 : "Open Valve request" // 1 : "Close Valve request" // 0 : "No request" uint8_t CCU_LowTempValve_Req; // Bits= 2 // Rolling Counter [0 - 15] uint8_t CCU_HVC_Req_RC; // Bits= 4 // Checksum XOR8 of the data field this message // Checksum computed as per XOR algorithm: // Byte 1 XOR byte 2 .... XOR byte n-1. (n = packet length.) uint8_t CCU_HVC_Req_CS; // Bits= 8 #endif // CANDB_USE_BITS_SIGNAL #ifdef CANDB_USE_DIAG_MONITORS FrameMonitor_t mon1; #endif // CANDB_USE_DIAG_MONITORS } CCU_HVC_Req_Msg_t; // def @CCU_Stat1 CAN Message (785 0x311) #define CCU_Stat1_IDE (0U) #define CCU_Stat1_DLC (8U) #define CCU_Stat1_CANID (0x311U) #define CCU_Stat1_CYC (100U) // Value tables for @CCU_ModeFL_Stat signal #ifndef CCU_ModeFL_Stat_CCU_Stat1_Semiauto_mode_is_active #define CCU_ModeFL_Stat_CCU_Stat1_Semiauto_mode_is_active (2) #endif #ifndef CCU_ModeFL_Stat_CCU_Stat1_Auto_mode_is_active #define CCU_ModeFL_Stat_CCU_Stat1_Auto_mode_is_active (1) #endif #ifndef CCU_ModeFL_Stat_CCU_Stat1_Manual_mode_is_active #define CCU_ModeFL_Stat_CCU_Stat1_Manual_mode_is_active (0) #endif // Value tables for @CCU_ModeFR_Stat signal #ifndef CCU_ModeFR_Stat_CCU_Stat1_Semiauto_mode_is_active #define CCU_ModeFR_Stat_CCU_Stat1_Semiauto_mode_is_active (2) #endif #ifndef CCU_ModeFR_Stat_CCU_Stat1_Auto_mode_is_active #define CCU_ModeFR_Stat_CCU_Stat1_Auto_mode_is_active (1) #endif #ifndef CCU_ModeFR_Stat_CCU_Stat1_Manual_mode_is_active #define CCU_ModeFR_Stat_CCU_Stat1_Manual_mode_is_active (0) #endif // Value tables for @CCU_ModeRL_Stat signal #ifndef CCU_ModeRL_Stat_CCU_Stat1_Semiauto_mode_is_active #define CCU_ModeRL_Stat_CCU_Stat1_Semiauto_mode_is_active (2) #endif #ifndef CCU_ModeRL_Stat_CCU_Stat1_Auto_mode_is_active #define CCU_ModeRL_Stat_CCU_Stat1_Auto_mode_is_active (1) #endif #ifndef CCU_ModeRL_Stat_CCU_Stat1_Manual_mode_is_active #define CCU_ModeRL_Stat_CCU_Stat1_Manual_mode_is_active (0) #endif // Value tables for @CCU_ModeRR_Stat signal #ifndef CCU_ModeRR_Stat_CCU_Stat1_Semiauto_mode_is_active #define CCU_ModeRR_Stat_CCU_Stat1_Semiauto_mode_is_active (2) #endif #ifndef CCU_ModeRR_Stat_CCU_Stat1_Auto_mode_is_active #define CCU_ModeRR_Stat_CCU_Stat1_Auto_mode_is_active (1) #endif #ifndef CCU_ModeRR_Stat_CCU_Stat1_Manual_mode_is_active #define CCU_ModeRR_Stat_CCU_Stat1_Manual_mode_is_active (0) #endif // Value tables for @CCU_AutoModeFL_Stat signal #ifndef CCU_AutoModeFL_Stat_CCU_Stat1_Auto_mode_5_is_active #define CCU_AutoModeFL_Stat_CCU_Stat1_Auto_mode_5_is_active (5) #endif #ifndef CCU_AutoModeFL_Stat_CCU_Stat1_Auto_mode_4_is_active #define CCU_AutoModeFL_Stat_CCU_Stat1_Auto_mode_4_is_active (4) #endif #ifndef CCU_AutoModeFL_Stat_CCU_Stat1_Auto_mode_3_is_active #define CCU_AutoModeFL_Stat_CCU_Stat1_Auto_mode_3_is_active (3) #endif #ifndef CCU_AutoModeFL_Stat_CCU_Stat1_Auto_mode_2_is_active #define CCU_AutoModeFL_Stat_CCU_Stat1_Auto_mode_2_is_active (2) #endif #ifndef CCU_AutoModeFL_Stat_CCU_Stat1_Auto_mode_1_is_active #define CCU_AutoModeFL_Stat_CCU_Stat1_Auto_mode_1_is_active (1) #endif #ifndef CCU_AutoModeFL_Stat_CCU_Stat1_Auto_mode_is_inactive #define CCU_AutoModeFL_Stat_CCU_Stat1_Auto_mode_is_inactive (0) #endif // Value tables for @CCU_AutoModeFR_Stat signal #ifndef CCU_AutoModeFR_Stat_CCU_Stat1_Auto_mode_5_is_active #define CCU_AutoModeFR_Stat_CCU_Stat1_Auto_mode_5_is_active (5) #endif #ifndef CCU_AutoModeFR_Stat_CCU_Stat1_Auto_mode_4_is_active #define CCU_AutoModeFR_Stat_CCU_Stat1_Auto_mode_4_is_active (4) #endif #ifndef CCU_AutoModeFR_Stat_CCU_Stat1_Auto_mode_3_is_active #define CCU_AutoModeFR_Stat_CCU_Stat1_Auto_mode_3_is_active (3) #endif #ifndef CCU_AutoModeFR_Stat_CCU_Stat1_Auto_mode_2_is_active #define CCU_AutoModeFR_Stat_CCU_Stat1_Auto_mode_2_is_active (2) #endif #ifndef CCU_AutoModeFR_Stat_CCU_Stat1_Auto_mode_1_is_active #define CCU_AutoModeFR_Stat_CCU_Stat1_Auto_mode_1_is_active (1) #endif #ifndef CCU_AutoModeFR_Stat_CCU_Stat1_Auto_mode_is_inactive #define CCU_AutoModeFR_Stat_CCU_Stat1_Auto_mode_is_inactive (0) #endif // Value tables for @CCU_AirDirectionRL_Face_Stat signal #ifndef CCU_AirDirectionRL_Face_Stat_CCU_Stat1_Active #define CCU_AirDirectionRL_Face_Stat_CCU_Stat1_Active (1) #endif #ifndef CCU_AirDirectionRL_Face_Stat_CCU_Stat1_Inactive #define CCU_AirDirectionRL_Face_Stat_CCU_Stat1_Inactive (0) #endif // Value tables for @CCU_AirDirectionRL_Foot_Stat signal #ifndef CCU_AirDirectionRL_Foot_Stat_CCU_Stat1_Active #define CCU_AirDirectionRL_Foot_Stat_CCU_Stat1_Active (1) #endif #ifndef CCU_AirDirectionRL_Foot_Stat_CCU_Stat1_Inactive #define CCU_AirDirectionRL_Foot_Stat_CCU_Stat1_Inactive (0) #endif // Value tables for @CCU_AutoModeRL_Stat signal #ifndef CCU_AutoModeRL_Stat_CCU_Stat1_Auto_mode_5_is_active #define CCU_AutoModeRL_Stat_CCU_Stat1_Auto_mode_5_is_active (5) #endif #ifndef CCU_AutoModeRL_Stat_CCU_Stat1_Auto_mode_4_is_active #define CCU_AutoModeRL_Stat_CCU_Stat1_Auto_mode_4_is_active (4) #endif #ifndef CCU_AutoModeRL_Stat_CCU_Stat1_Auto_mode_3_is_active #define CCU_AutoModeRL_Stat_CCU_Stat1_Auto_mode_3_is_active (3) #endif #ifndef CCU_AutoModeRL_Stat_CCU_Stat1_Auto_mode_2_is_active #define CCU_AutoModeRL_Stat_CCU_Stat1_Auto_mode_2_is_active (2) #endif #ifndef CCU_AutoModeRL_Stat_CCU_Stat1_Auto_mode_1_is_active #define CCU_AutoModeRL_Stat_CCU_Stat1_Auto_mode_1_is_active (1) #endif #ifndef CCU_AutoModeRL_Stat_CCU_Stat1_Auto_mode_is_inactive #define CCU_AutoModeRL_Stat_CCU_Stat1_Auto_mode_is_inactive (0) #endif // Value tables for @CCU_AutoModeRR_Stat signal #ifndef CCU_AutoModeRR_Stat_CCU_Stat1_Auto_mode_5_is_active #define CCU_AutoModeRR_Stat_CCU_Stat1_Auto_mode_5_is_active (5) #endif #ifndef CCU_AutoModeRR_Stat_CCU_Stat1_Auto_mode_4_is_active #define CCU_AutoModeRR_Stat_CCU_Stat1_Auto_mode_4_is_active (4) #endif #ifndef CCU_AutoModeRR_Stat_CCU_Stat1_Auto_mode_3_is_active #define CCU_AutoModeRR_Stat_CCU_Stat1_Auto_mode_3_is_active (3) #endif #ifndef CCU_AutoModeRR_Stat_CCU_Stat1_Auto_mode_2_is_active #define CCU_AutoModeRR_Stat_CCU_Stat1_Auto_mode_2_is_active (2) #endif #ifndef CCU_AutoModeRR_Stat_CCU_Stat1_Auto_mode_1_is_active #define CCU_AutoModeRR_Stat_CCU_Stat1_Auto_mode_1_is_active (1) #endif #ifndef CCU_AutoModeRR_Stat_CCU_Stat1_Auto_mode_is_inactive #define CCU_AutoModeRR_Stat_CCU_Stat1_Auto_mode_is_inactive (0) #endif // Value tables for @CCU_AirDirectionRR_Face_Stat signal #ifndef CCU_AirDirectionRR_Face_Stat_CCU_Stat1_Active #define CCU_AirDirectionRR_Face_Stat_CCU_Stat1_Active (1) #endif #ifndef CCU_AirDirectionRR_Face_Stat_CCU_Stat1_Inactive #define CCU_AirDirectionRR_Face_Stat_CCU_Stat1_Inactive (0) #endif // Value tables for @CCU_AirDirectionRR_Foot_Stat signal #ifndef CCU_AirDirectionRR_Foot_Stat_CCU_Stat1_Active #define CCU_AirDirectionRR_Foot_Stat_CCU_Stat1_Active (1) #endif #ifndef CCU_AirDirectionRR_Foot_Stat_CCU_Stat1_Inactive #define CCU_AirDirectionRR_Foot_Stat_CCU_Stat1_Inactive (0) #endif // Value tables for @CCU_AirDirectionFL_Def_Stat signal #ifndef CCU_AirDirectionFL_Def_Stat_CCU_Stat1_Active #define CCU_AirDirectionFL_Def_Stat_CCU_Stat1_Active (1) #endif #ifndef CCU_AirDirectionFL_Def_Stat_CCU_Stat1_Inactive #define CCU_AirDirectionFL_Def_Stat_CCU_Stat1_Inactive (0) #endif // Value tables for @CCU_AirDirectionFL_Face_Stat signal #ifndef CCU_AirDirectionFL_Face_Stat_CCU_Stat1_Active #define CCU_AirDirectionFL_Face_Stat_CCU_Stat1_Active (1) #endif #ifndef CCU_AirDirectionFL_Face_Stat_CCU_Stat1_Inactive #define CCU_AirDirectionFL_Face_Stat_CCU_Stat1_Inactive (0) #endif // Value tables for @CCU_AirDirectionFL_Foot_Stat signal #ifndef CCU_AirDirectionFL_Foot_Stat_CCU_Stat1_Active #define CCU_AirDirectionFL_Foot_Stat_CCU_Stat1_Active (1) #endif #ifndef CCU_AirDirectionFL_Foot_Stat_CCU_Stat1_Inactive #define CCU_AirDirectionFL_Foot_Stat_CCU_Stat1_Inactive (0) #endif // Value tables for @CCU_AirDirectionFR_Def_Stat signal #ifndef CCU_AirDirectionFR_Def_Stat_CCU_Stat1_Active #define CCU_AirDirectionFR_Def_Stat_CCU_Stat1_Active (1) #endif #ifndef CCU_AirDirectionFR_Def_Stat_CCU_Stat1_Inactive #define CCU_AirDirectionFR_Def_Stat_CCU_Stat1_Inactive (0) #endif // Value tables for @CCU_AirDirectionFR_Face_Stat signal #ifndef CCU_AirDirectionFR_Face_Stat_CCU_Stat1_Active #define CCU_AirDirectionFR_Face_Stat_CCU_Stat1_Active (1) #endif #ifndef CCU_AirDirectionFR_Face_Stat_CCU_Stat1_Inactive #define CCU_AirDirectionFR_Face_Stat_CCU_Stat1_Inactive (0) #endif // Value tables for @CCU_AirDirectionFR_Foot_Stat signal #ifndef CCU_AirDirectionFR_Foot_Stat_CCU_Stat1_Active #define CCU_AirDirectionFR_Foot_Stat_CCU_Stat1_Active (1) #endif #ifndef CCU_AirDirectionFR_Foot_Stat_CCU_Stat1_Inactive #define CCU_AirDirectionFR_Foot_Stat_CCU_Stat1_Inactive (0) #endif // Value tables for @CCU_Recirculation_Stat signal #ifndef CCU_Recirculation_Stat_CCU_Stat1_Auto_recirculation_mode #define CCU_Recirculation_Stat_CCU_Stat1_Auto_recirculation_mode (2) #endif #ifndef CCU_Recirculation_Stat_CCU_Stat1_Recirculation_mode_Rec_on #define CCU_Recirculation_Stat_CCU_Stat1_Recirculation_mode_Rec_on (1) #endif #ifndef CCU_Recirculation_Stat_CCU_Stat1_Fresh_air_mode_Rec_off #define CCU_Recirculation_Stat_CCU_Stat1_Fresh_air_mode_Rec_off (0) #endif // Value tables for @CCU_BlowerSpeedFL_Stat signal #ifndef CCU_BlowerSpeedFL_Stat_CCU_Stat1__step #define CCU_BlowerSpeedFL_Stat_CCU_Stat1__step (7) #endif #ifndef CCU_BlowerSpeedFL_Stat_CCU_Stat1__step #define CCU_BlowerSpeedFL_Stat_CCU_Stat1__step (6) #endif #ifndef CCU_BlowerSpeedFL_Stat_CCU_Stat1__step #define CCU_BlowerSpeedFL_Stat_CCU_Stat1__step (5) #endif #ifndef CCU_BlowerSpeedFL_Stat_CCU_Stat1__step #define CCU_BlowerSpeedFL_Stat_CCU_Stat1__step (4) #endif #ifndef CCU_BlowerSpeedFL_Stat_CCU_Stat1__step #define CCU_BlowerSpeedFL_Stat_CCU_Stat1__step (3) #endif #ifndef CCU_BlowerSpeedFL_Stat_CCU_Stat1__step #define CCU_BlowerSpeedFL_Stat_CCU_Stat1__step (2) #endif #ifndef CCU_BlowerSpeedFL_Stat_CCU_Stat1__step #define CCU_BlowerSpeedFL_Stat_CCU_Stat1__step (1) #endif #ifndef CCU_BlowerSpeedFL_Stat_CCU_Stat1_Blower_off #define CCU_BlowerSpeedFL_Stat_CCU_Stat1_Blower_off (0) #endif // signal: @CCU_TargetTempFL_Stat_ro #define CANDB_CCU_TargetTempFL_Stat_ro_CovFactor (0.5) #define CANDB_CCU_TargetTempFL_Stat_ro_toS(x) ( (uint8_t) (((x) - (16.0)) / (0.5)) ) #define CANDB_CCU_TargetTempFL_Stat_ro_fromS(x) ( (((x) * (0.5)) + (16.0)) ) // Value tables for @CCU_BlowerSpeedFR_Stat signal #ifndef CCU_BlowerSpeedFR_Stat_CCU_Stat1__step #define CCU_BlowerSpeedFR_Stat_CCU_Stat1__step (7) #endif #ifndef CCU_BlowerSpeedFR_Stat_CCU_Stat1__step #define CCU_BlowerSpeedFR_Stat_CCU_Stat1__step (6) #endif #ifndef CCU_BlowerSpeedFR_Stat_CCU_Stat1__step #define CCU_BlowerSpeedFR_Stat_CCU_Stat1__step (5) #endif #ifndef CCU_BlowerSpeedFR_Stat_CCU_Stat1__step #define CCU_BlowerSpeedFR_Stat_CCU_Stat1__step (4) #endif #ifndef CCU_BlowerSpeedFR_Stat_CCU_Stat1__step #define CCU_BlowerSpeedFR_Stat_CCU_Stat1__step (3) #endif #ifndef CCU_BlowerSpeedFR_Stat_CCU_Stat1__step #define CCU_BlowerSpeedFR_Stat_CCU_Stat1__step (2) #endif #ifndef CCU_BlowerSpeedFR_Stat_CCU_Stat1__step #define CCU_BlowerSpeedFR_Stat_CCU_Stat1__step (1) #endif #ifndef CCU_BlowerSpeedFR_Stat_CCU_Stat1_Blower_off #define CCU_BlowerSpeedFR_Stat_CCU_Stat1_Blower_off (0) #endif // signal: @CCU_TargetTempFR_Stat_ro #define CANDB_CCU_TargetTempFR_Stat_ro_CovFactor (0.5) #define CANDB_CCU_TargetTempFR_Stat_ro_toS(x) ( (uint8_t) (((x) - (16.0)) / (0.5)) ) #define CANDB_CCU_TargetTempFR_Stat_ro_fromS(x) ( (((x) * (0.5)) + (16.0)) ) // Value tables for @CCU_BlowerSpeedRL_Stat signal #ifndef CCU_BlowerSpeedRL_Stat_CCU_Stat1__step #define CCU_BlowerSpeedRL_Stat_CCU_Stat1__step (7) #endif #ifndef CCU_BlowerSpeedRL_Stat_CCU_Stat1__step #define CCU_BlowerSpeedRL_Stat_CCU_Stat1__step (6) #endif #ifndef CCU_BlowerSpeedRL_Stat_CCU_Stat1__step #define CCU_BlowerSpeedRL_Stat_CCU_Stat1__step (5) #endif #ifndef CCU_BlowerSpeedRL_Stat_CCU_Stat1__step #define CCU_BlowerSpeedRL_Stat_CCU_Stat1__step (4) #endif #ifndef CCU_BlowerSpeedRL_Stat_CCU_Stat1__step #define CCU_BlowerSpeedRL_Stat_CCU_Stat1__step (3) #endif #ifndef CCU_BlowerSpeedRL_Stat_CCU_Stat1__step #define CCU_BlowerSpeedRL_Stat_CCU_Stat1__step (2) #endif #ifndef CCU_BlowerSpeedRL_Stat_CCU_Stat1__step #define CCU_BlowerSpeedRL_Stat_CCU_Stat1__step (1) #endif #ifndef CCU_BlowerSpeedRL_Stat_CCU_Stat1_Blower_off #define CCU_BlowerSpeedRL_Stat_CCU_Stat1_Blower_off (0) #endif // signal: @CCU_TargetTempRR_Stat_ro #define CANDB_CCU_TargetTempRR_Stat_ro_CovFactor (0.5) #define CANDB_CCU_TargetTempRR_Stat_ro_toS(x) ( (uint8_t) (((x) - (16.0)) / (0.5)) ) #define CANDB_CCU_TargetTempRR_Stat_ro_fromS(x) ( (((x) * (0.5)) + (16.0)) ) // Value tables for @CCU_BlowerSpeedRR_Stat signal #ifndef CCU_BlowerSpeedRR_Stat_CCU_Stat1__step #define CCU_BlowerSpeedRR_Stat_CCU_Stat1__step (7) #endif #ifndef CCU_BlowerSpeedRR_Stat_CCU_Stat1__step #define CCU_BlowerSpeedRR_Stat_CCU_Stat1__step (6) #endif #ifndef CCU_BlowerSpeedRR_Stat_CCU_Stat1__step #define CCU_BlowerSpeedRR_Stat_CCU_Stat1__step (5) #endif #ifndef CCU_BlowerSpeedRR_Stat_CCU_Stat1__step #define CCU_BlowerSpeedRR_Stat_CCU_Stat1__step (4) #endif #ifndef CCU_BlowerSpeedRR_Stat_CCU_Stat1__step #define CCU_BlowerSpeedRR_Stat_CCU_Stat1__step (3) #endif #ifndef CCU_BlowerSpeedRR_Stat_CCU_Stat1__step #define CCU_BlowerSpeedRR_Stat_CCU_Stat1__step (2) #endif #ifndef CCU_BlowerSpeedRR_Stat_CCU_Stat1__step #define CCU_BlowerSpeedRR_Stat_CCU_Stat1__step (1) #endif #ifndef CCU_BlowerSpeedRR_Stat_CCU_Stat1_Blower_off #define CCU_BlowerSpeedRR_Stat_CCU_Stat1_Blower_off (0) #endif // signal: @CCU_TargetTempRL_Stat_ro #define CANDB_CCU_TargetTempRL_Stat_ro_CovFactor (0.5) #define CANDB_CCU_TargetTempRL_Stat_ro_toS(x) ( (uint8_t) (((x) - (16.0)) / (0.5)) ) #define CANDB_CCU_TargetTempRL_Stat_ro_fromS(x) ( (((x) * (0.5)) + (16.0)) ) typedef struct { #ifdef CANDB_USE_BITS_SIGNAL // Climate control mode for front left zone status // 2 : "Semi-auto mode is active" // 1 : "Auto mode is active" // 0 : "Manual mode is active" uint8_t CCU_ModeFL_Stat : 2; // Bits= 2 // Climate control mode for front right zone status // 2 : "Semi-auto mode is active" // 1 : "Auto mode is active" // 0 : "Manual mode is active" uint8_t CCU_ModeFR_Stat : 2; // Bits= 2 // Climate control mode for rear left zone status // 2 : "Semi-auto mode is active" // 1 : "Auto mode is active" // 0 : "Manual mode is active" uint8_t CCU_ModeRL_Stat : 2; // Bits= 2 // Climate control mode for rear right zone status // 2 : "Semi-auto mode is active" // 1 : "Auto mode is active" // 0 : "Manual mode is active" uint8_t CCU_ModeRR_Stat : 2; // Bits= 2 // Climate control auto mode for front left zone status // 5 : "Auto mode 5 is active" // 4 : "Auto mode 4 is active" // 3 : "Auto mode 3 is active" // 2 : "Auto mode 2 is active" // 1 : "Auto mode 1 is active" // 0 : "Auto mode is inactive" uint8_t CCU_AutoModeFL_Stat : 3; // Bits= 3 // Climate control auto mode for front right zone status // 5 : "Auto mode 5 is active" // 4 : "Auto mode 4 is active" // 3 : "Auto mode 3 is active" // 2 : "Auto mode 2 is active" // 1 : "Auto mode 1 is active" // 0 : "Auto mode is inactive" uint8_t CCU_AutoModeFR_Stat : 3; // Bits= 3 // Airflow direction mode for rear left zone status // 1 : "Active" // 0 : "Inactive" uint8_t CCU_AirDirectionRL_Face_Stat : 1; // Bits= 1 // Airflow direction mode for rear left zone status // 1 : "Active" // 0 : "Inactive" uint8_t CCU_AirDirectionRL_Foot_Stat : 1; // Bits= 1 // Climate control auto mode for rear left zone status // 5 : "Auto mode 5 is active" // 4 : "Auto mode 4 is active" // 3 : "Auto mode 3 is active" // 2 : "Auto mode 2 is active" // 1 : "Auto mode 1 is active" // 0 : "Auto mode is inactive" uint8_t CCU_AutoModeRL_Stat : 3; // Bits= 3 // Climate control auto mode for rear right zone status // 5 : "Auto mode 5 is active" // 4 : "Auto mode 4 is active" // 3 : "Auto mode 3 is active" // 2 : "Auto mode 2 is active" // 1 : "Auto mode 1 is active" // 0 : "Auto mode is inactive" uint8_t CCU_AutoModeRR_Stat : 3; // Bits= 3 // Airflow direction mode for rear right zone status // 1 : "Active" // 0 : "Inactive" uint8_t CCU_AirDirectionRR_Face_Stat : 1; // Bits= 1 // Airflow direction mode for rear right zone status // 1 : "Active" // 0 : "Inactive" uint8_t CCU_AirDirectionRR_Foot_Stat : 1; // Bits= 1 // Airflow direction mode for front left zone status // 1 : "Active" // 0 : "Inactive" uint8_t CCU_AirDirectionFL_Def_Stat : 1; // Bits= 1 // Airflow direction mode for front left zone status // 1 : "Active" // 0 : "Inactive" uint8_t CCU_AirDirectionFL_Face_Stat : 1; // Bits= 1 // Airflow direction mode for front left zone status // 1 : "Active" // 0 : "Inactive" uint8_t CCU_AirDirectionFL_Foot_Stat : 1; // Bits= 1 // Airflow direction mode for front right zone status // 1 : "Active" // 0 : "Inactive" uint8_t CCU_AirDirectionFR_Def_Stat : 1; // Bits= 1 // Airflow direction mode for front right zone status // 1 : "Active" // 0 : "Inactive" uint8_t CCU_AirDirectionFR_Face_Stat : 1; // Bits= 1 // Airflow direction mode for front right zone status // 1 : "Active" // 0 : "Inactive" uint8_t CCU_AirDirectionFR_Foot_Stat : 1; // Bits= 1 // Recirculation mode status // 2 : "Auto recirculation mode" // 1 : "Recirculation mode (Rec on)" // 0 : "Fresh air mode (Rec off)" uint8_t CCU_Recirculation_Stat : 2; // Bits= 2 // Blower speed for front left zone status // 7 : "7 step" // 6 : "6 step" // 5 : "5 step" // 4 : "4 step" // 3 : "3 step" // 2 : "2 step" // 1 : "1 step" // 0 : "Blower off" uint8_t CCU_BlowerSpeedFL_Stat : 3; // Bits= 3 // Target temperature for front left zone status uint8_t CCU_TargetTempFL_Stat_ro : 5; // Bits= 5 Offset= 16.0 Factor= 0.5 #ifdef CANDB_USE_SIGFLOAT sigfloat_t CCU_TargetTempFL_Stat_phys; #endif // CANDB_USE_SIGFLOAT // Blower speed for front right zone status // 7 : "7 step" // 6 : "6 step" // 5 : "5 step" // 4 : "4 step" // 3 : "3 step" // 2 : "2 step" // 1 : "1 step" // 0 : "Blower off" uint8_t CCU_BlowerSpeedFR_Stat : 3; // Bits= 3 // Target temperature for front right zone status uint8_t CCU_TargetTempFR_Stat_ro : 5; // Bits= 5 Offset= 16.0 Factor= 0.5 #ifdef CANDB_USE_SIGFLOAT sigfloat_t CCU_TargetTempFR_Stat_phys; #endif // CANDB_USE_SIGFLOAT // Blower speed for rear left zone status // 7 : "7 step" // 6 : "6 step" // 5 : "5 step" // 4 : "4 step" // 3 : "3 step" // 2 : "2 step" // 1 : "1 step" // 0 : "Blower off" uint8_t CCU_BlowerSpeedRL_Stat : 3; // Bits= 3 // Target temperature for rear right zone status uint8_t CCU_TargetTempRR_Stat_ro : 5; // Bits= 5 Offset= 16.0 Factor= 0.5 #ifdef CANDB_USE_SIGFLOAT sigfloat_t CCU_TargetTempRR_Stat_phys; #endif // CANDB_USE_SIGFLOAT // Blower speed for rear right zone status // 7 : "7 step" // 6 : "6 step" // 5 : "5 step" // 4 : "4 step" // 3 : "3 step" // 2 : "2 step" // 1 : "1 step" // 0 : "Blower off" uint8_t CCU_BlowerSpeedRR_Stat : 3; // Bits= 3 // Target temperature for rear left zone status uint8_t CCU_TargetTempRL_Stat_ro : 5; // Bits= 5 Offset= 16.0 Factor= 0.5 #ifdef CANDB_USE_SIGFLOAT sigfloat_t CCU_TargetTempRL_Stat_phys; #endif // CANDB_USE_SIGFLOAT #else // Climate control mode for front left zone status // 2 : "Semi-auto mode is active" // 1 : "Auto mode is active" // 0 : "Manual mode is active" uint8_t CCU_ModeFL_Stat; // Bits= 2 // Climate control mode for front right zone status // 2 : "Semi-auto mode is active" // 1 : "Auto mode is active" // 0 : "Manual mode is active" uint8_t CCU_ModeFR_Stat; // Bits= 2 // Climate control mode for rear left zone status // 2 : "Semi-auto mode is active" // 1 : "Auto mode is active" // 0 : "Manual mode is active" uint8_t CCU_ModeRL_Stat; // Bits= 2 // Climate control mode for rear right zone status // 2 : "Semi-auto mode is active" // 1 : "Auto mode is active" // 0 : "Manual mode is active" uint8_t CCU_ModeRR_Stat; // Bits= 2 // Climate control auto mode for front left zone status // 5 : "Auto mode 5 is active" // 4 : "Auto mode 4 is active" // 3 : "Auto mode 3 is active" // 2 : "Auto mode 2 is active" // 1 : "Auto mode 1 is active" // 0 : "Auto mode is inactive" uint8_t CCU_AutoModeFL_Stat; // Bits= 3 // Climate control auto mode for front right zone status // 5 : "Auto mode 5 is active" // 4 : "Auto mode 4 is active" // 3 : "Auto mode 3 is active" // 2 : "Auto mode 2 is active" // 1 : "Auto mode 1 is active" // 0 : "Auto mode is inactive" uint8_t CCU_AutoModeFR_Stat; // Bits= 3 // Airflow direction mode for rear left zone status // 1 : "Active" // 0 : "Inactive" uint8_t CCU_AirDirectionRL_Face_Stat; // Bits= 1 // Airflow direction mode for rear left zone status // 1 : "Active" // 0 : "Inactive" uint8_t CCU_AirDirectionRL_Foot_Stat; // Bits= 1 // Climate control auto mode for rear left zone status // 5 : "Auto mode 5 is active" // 4 : "Auto mode 4 is active" // 3 : "Auto mode 3 is active" // 2 : "Auto mode 2 is active" // 1 : "Auto mode 1 is active" // 0 : "Auto mode is inactive" uint8_t CCU_AutoModeRL_Stat; // Bits= 3 // Climate control auto mode for rear right zone status // 5 : "Auto mode 5 is active" // 4 : "Auto mode 4 is active" // 3 : "Auto mode 3 is active" // 2 : "Auto mode 2 is active" // 1 : "Auto mode 1 is active" // 0 : "Auto mode is inactive" uint8_t CCU_AutoModeRR_Stat; // Bits= 3 // Airflow direction mode for rear right zone status // 1 : "Active" // 0 : "Inactive" uint8_t CCU_AirDirectionRR_Face_Stat; // Bits= 1 // Airflow direction mode for rear right zone status // 1 : "Active" // 0 : "Inactive" uint8_t CCU_AirDirectionRR_Foot_Stat; // Bits= 1 // Airflow direction mode for front left zone status // 1 : "Active" // 0 : "Inactive" uint8_t CCU_AirDirectionFL_Def_Stat; // Bits= 1 // Airflow direction mode for front left zone status // 1 : "Active" // 0 : "Inactive" uint8_t CCU_AirDirectionFL_Face_Stat; // Bits= 1 // Airflow direction mode for front left zone status // 1 : "Active" // 0 : "Inactive" uint8_t CCU_AirDirectionFL_Foot_Stat; // Bits= 1 // Airflow direction mode for front right zone status // 1 : "Active" // 0 : "Inactive" uint8_t CCU_AirDirectionFR_Def_Stat; // Bits= 1 // Airflow direction mode for front right zone status // 1 : "Active" // 0 : "Inactive" uint8_t CCU_AirDirectionFR_Face_Stat; // Bits= 1 // Airflow direction mode for front right zone status // 1 : "Active" // 0 : "Inactive" uint8_t CCU_AirDirectionFR_Foot_Stat; // Bits= 1 // Recirculation mode status // 2 : "Auto recirculation mode" // 1 : "Recirculation mode (Rec on)" // 0 : "Fresh air mode (Rec off)" uint8_t CCU_Recirculation_Stat; // Bits= 2 // Blower speed for front left zone status // 7 : "7 step" // 6 : "6 step" // 5 : "5 step" // 4 : "4 step" // 3 : "3 step" // 2 : "2 step" // 1 : "1 step" // 0 : "Blower off" uint8_t CCU_BlowerSpeedFL_Stat; // Bits= 3 // Target temperature for front left zone status uint8_t CCU_TargetTempFL_Stat_ro; // Bits= 5 Offset= 16.0 Factor= 0.5 #ifdef CANDB_USE_SIGFLOAT sigfloat_t CCU_TargetTempFL_Stat_phys; #endif // CANDB_USE_SIGFLOAT // Blower speed for front right zone status // 7 : "7 step" // 6 : "6 step" // 5 : "5 step" // 4 : "4 step" // 3 : "3 step" // 2 : "2 step" // 1 : "1 step" // 0 : "Blower off" uint8_t CCU_BlowerSpeedFR_Stat; // Bits= 3 // Target temperature for front right zone status uint8_t CCU_TargetTempFR_Stat_ro; // Bits= 5 Offset= 16.0 Factor= 0.5 #ifdef CANDB_USE_SIGFLOAT sigfloat_t CCU_TargetTempFR_Stat_phys; #endif // CANDB_USE_SIGFLOAT // Blower speed for rear left zone status // 7 : "7 step" // 6 : "6 step" // 5 : "5 step" // 4 : "4 step" // 3 : "3 step" // 2 : "2 step" // 1 : "1 step" // 0 : "Blower off" uint8_t CCU_BlowerSpeedRL_Stat; // Bits= 3 // Target temperature for rear right zone status uint8_t CCU_TargetTempRR_Stat_ro; // Bits= 5 Offset= 16.0 Factor= 0.5 #ifdef CANDB_USE_SIGFLOAT sigfloat_t CCU_TargetTempRR_Stat_phys; #endif // CANDB_USE_SIGFLOAT // Blower speed for rear right zone status // 7 : "7 step" // 6 : "6 step" // 5 : "5 step" // 4 : "4 step" // 3 : "3 step" // 2 : "2 step" // 1 : "1 step" // 0 : "Blower off" uint8_t CCU_BlowerSpeedRR_Stat; // Bits= 3 // Target temperature for rear left zone status uint8_t CCU_TargetTempRL_Stat_ro; // Bits= 5 Offset= 16.0 Factor= 0.5 #ifdef CANDB_USE_SIGFLOAT sigfloat_t CCU_TargetTempRL_Stat_phys; #endif // CANDB_USE_SIGFLOAT #endif // CANDB_USE_BITS_SIGNAL #ifdef CANDB_USE_DIAG_MONITORS FrameMonitor_t mon1; #endif // CANDB_USE_DIAG_MONITORS } CCU_Stat1_t; // def @CCU_Stat2 CAN Message (786 0x312) #define CCU_Stat2_IDE (0U) #define CCU_Stat2_DLC (6U) #define CCU_Stat2_CANID (0x312U) #define CCU_Stat2_CYC (100U) // Value tables for @CCU_AromaCartridgeSw_Stat signal #ifndef CCU_AromaCartridgeSw_Stat_CCU_Stat2_Cartridge_extracted #define CCU_AromaCartridgeSw_Stat_CCU_Stat2_Cartridge_extracted (1) #endif #ifndef CCU_AromaCartridgeSw_Stat_CCU_Stat2_artridge_installed #define CCU_AromaCartridgeSw_Stat_CCU_Stat2_artridge_installed (0) #endif // Value tables for @CCU_FrontZoneSync_Stat signal #ifndef CCU_FrontZoneSync_Stat_CCU_Stat2_Sync_on #define CCU_FrontZoneSync_Stat_CCU_Stat2_Sync_on (1) #endif #ifndef CCU_FrontZoneSync_Stat_CCU_Stat2_Sync_off #define CCU_FrontZoneSync_Stat_CCU_Stat2_Sync_off (0) #endif // Value tables for @CCU_RearZoneSync_Stat signal #ifndef CCU_RearZoneSync_Stat_CCU_Stat2_Sync_on #define CCU_RearZoneSync_Stat_CCU_Stat2_Sync_on (1) #endif #ifndef CCU_RearZoneSync_Stat_CCU_Stat2_Sync_off #define CCU_RearZoneSync_Stat_CCU_Stat2_Sync_off (0) #endif // Value tables for @CCU_AllZoneSync_Stat signal #ifndef CCU_AllZoneSync_Stat_CCU_Stat2_Sync_on #define CCU_AllZoneSync_Stat_CCU_Stat2_Sync_on (1) #endif #ifndef CCU_AllZoneSync_Stat_CCU_Stat2_Sync_off #define CCU_AllZoneSync_Stat_CCU_Stat2_Sync_off (0) #endif // Value tables for @CCU_ACfront_Stat signal #ifndef CCU_ACfront_Stat_CCU_Stat2_AC_front_on #define CCU_ACfront_Stat_CCU_Stat2_AC_front_on (1) #endif #ifndef CCU_ACfront_Stat_CCU_Stat2_AC_front_off #define CCU_ACfront_Stat_CCU_Stat2_AC_front_off (0) #endif // Value tables for @CCU_ACrear_Stat signal #ifndef CCU_ACrear_Stat_CCU_Stat2_AC_rear_on #define CCU_ACrear_Stat_CCU_Stat2_AC_rear_on (1) #endif #ifndef CCU_ACrear_Stat_CCU_Stat2_AC_rear_off #define CCU_ACrear_Stat_CCU_Stat2_AC_rear_off (0) #endif // Value tables for @CCU_ACmaxF_Stat signal #ifndef CCU_ACmaxF_Stat_CCU_Stat2_AC_MAX_on #define CCU_ACmaxF_Stat_CCU_Stat2_AC_MAX_on (1) #endif #ifndef CCU_ACmaxF_Stat_CCU_Stat2_AC_MAX_off #define CCU_ACmaxF_Stat_CCU_Stat2_AC_MAX_off (0) #endif // Value tables for @CCU_ACmaxR_Stat signal #ifndef CCU_ACmaxR_Stat_CCU_Stat2_AC_MAX_on #define CCU_ACmaxR_Stat_CCU_Stat2_AC_MAX_on (1) #endif #ifndef CCU_ACmaxR_Stat_CCU_Stat2_AC_MAX_off #define CCU_ACmaxR_Stat_CCU_Stat2_AC_MAX_off (0) #endif // Value tables for @CCU_Defrost_Stat signal #ifndef CCU_Defrost_Stat_CCU_Stat2_Defrost_is_active #define CCU_Defrost_Stat_CCU_Stat2_Defrost_is_active (1) #endif #ifndef CCU_Defrost_Stat_CCU_Stat2_Defrost_is_inactive #define CCU_Defrost_Stat_CCU_Stat2_Defrost_is_inactive (0) #endif // Value tables for @CCU_Ionization_Stat signal #ifndef CCU_Ionization_Stat_CCU_Stat2_Ionizer_is_on #define CCU_Ionization_Stat_CCU_Stat2_Ionizer_is_on (1) #endif #ifndef CCU_Ionization_Stat_CCU_Stat2_Ionizer_is_off #define CCU_Ionization_Stat_CCU_Stat2_Ionizer_is_off (0) #endif // Value tables for @CCU_FootTempCorFL_Stat signal #ifndef CCU_FootTempCorFL_Stat_CCU_Stat2__step #define CCU_FootTempCorFL_Stat_CCU_Stat2__step (6) #endif #ifndef CCU_FootTempCorFL_Stat_CCU_Stat2__step #define CCU_FootTempCorFL_Stat_CCU_Stat2__step (5) #endif #ifndef CCU_FootTempCorFL_Stat_CCU_Stat2__step #define CCU_FootTempCorFL_Stat_CCU_Stat2__step (4) #endif #ifndef CCU_FootTempCorFL_Stat_CCU_Stat2__step #define CCU_FootTempCorFL_Stat_CCU_Stat2__step (3) #endif #ifndef CCU_FootTempCorFL_Stat_CCU_Stat2__step #define CCU_FootTempCorFL_Stat_CCU_Stat2__step (2) #endif #ifndef CCU_FootTempCorFL_Stat_CCU_Stat2__step #define CCU_FootTempCorFL_Stat_CCU_Stat2__step (1) #endif #ifndef CCU_FootTempCorFL_Stat_CCU_Stat2__step #define CCU_FootTempCorFL_Stat_CCU_Stat2__step (0) #endif // Value tables for @CCU_FootTempCorFR_Stat signal #ifndef CCU_FootTempCorFR_Stat_CCU_Stat2__step #define CCU_FootTempCorFR_Stat_CCU_Stat2__step (6) #endif #ifndef CCU_FootTempCorFR_Stat_CCU_Stat2__step #define CCU_FootTempCorFR_Stat_CCU_Stat2__step (5) #endif #ifndef CCU_FootTempCorFR_Stat_CCU_Stat2__step #define CCU_FootTempCorFR_Stat_CCU_Stat2__step (4) #endif #ifndef CCU_FootTempCorFR_Stat_CCU_Stat2__step #define CCU_FootTempCorFR_Stat_CCU_Stat2__step (3) #endif #ifndef CCU_FootTempCorFR_Stat_CCU_Stat2__step #define CCU_FootTempCorFR_Stat_CCU_Stat2__step (2) #endif #ifndef CCU_FootTempCorFR_Stat_CCU_Stat2__step #define CCU_FootTempCorFR_Stat_CCU_Stat2__step (1) #endif #ifndef CCU_FootTempCorFR_Stat_CCU_Stat2__step #define CCU_FootTempCorFR_Stat_CCU_Stat2__step (0) #endif // Value tables for @CCU_AromaIntens_Stat signal #ifndef CCU_AromaIntens_Stat_CCU_Stat2_Aromatization_mode_3_step #define CCU_AromaIntens_Stat_CCU_Stat2_Aromatization_mode_3_step (3) #endif #ifndef CCU_AromaIntens_Stat_CCU_Stat2_Aromatization_mode_2_step #define CCU_AromaIntens_Stat_CCU_Stat2_Aromatization_mode_2_step (2) #endif #ifndef CCU_AromaIntens_Stat_CCU_Stat2_Aromatization_mode_1_step #define CCU_AromaIntens_Stat_CCU_Stat2_Aromatization_mode_1_step (1) #endif #ifndef CCU_AromaIntens_Stat_CCU_Stat2_Aromatization_off #define CCU_AromaIntens_Stat_CCU_Stat2_Aromatization_off (0) #endif // Value tables for @CCU_FootTempCorRL_Stat signal #ifndef CCU_FootTempCorRL_Stat_CCU_Stat2__step #define CCU_FootTempCorRL_Stat_CCU_Stat2__step (6) #endif #ifndef CCU_FootTempCorRL_Stat_CCU_Stat2__step #define CCU_FootTempCorRL_Stat_CCU_Stat2__step (5) #endif #ifndef CCU_FootTempCorRL_Stat_CCU_Stat2__step #define CCU_FootTempCorRL_Stat_CCU_Stat2__step (4) #endif #ifndef CCU_FootTempCorRL_Stat_CCU_Stat2__step #define CCU_FootTempCorRL_Stat_CCU_Stat2__step (3) #endif #ifndef CCU_FootTempCorRL_Stat_CCU_Stat2__step #define CCU_FootTempCorRL_Stat_CCU_Stat2__step (2) #endif #ifndef CCU_FootTempCorRL_Stat_CCU_Stat2__step #define CCU_FootTempCorRL_Stat_CCU_Stat2__step (1) #endif #ifndef CCU_FootTempCorRL_Stat_CCU_Stat2__step #define CCU_FootTempCorRL_Stat_CCU_Stat2__step (0) #endif // Value tables for @CCU_FootTempCorRR_Stat signal #ifndef CCU_FootTempCorRR_Stat_CCU_Stat2__step #define CCU_FootTempCorRR_Stat_CCU_Stat2__step (6) #endif #ifndef CCU_FootTempCorRR_Stat_CCU_Stat2__step #define CCU_FootTempCorRR_Stat_CCU_Stat2__step (5) #endif #ifndef CCU_FootTempCorRR_Stat_CCU_Stat2__step #define CCU_FootTempCorRR_Stat_CCU_Stat2__step (4) #endif #ifndef CCU_FootTempCorRR_Stat_CCU_Stat2__step #define CCU_FootTempCorRR_Stat_CCU_Stat2__step (3) #endif #ifndef CCU_FootTempCorRR_Stat_CCU_Stat2__step #define CCU_FootTempCorRR_Stat_CCU_Stat2__step (2) #endif #ifndef CCU_FootTempCorRR_Stat_CCU_Stat2__step #define CCU_FootTempCorRR_Stat_CCU_Stat2__step (1) #endif #ifndef CCU_FootTempCorRR_Stat_CCU_Stat2__step #define CCU_FootTempCorRR_Stat_CCU_Stat2__step (0) #endif // Value tables for @CCU_DeflectorSwDL_Stat signal #ifndef CCU_DeflectorSwDL_Stat_CCU_Stat2_LED_3_step #define CCU_DeflectorSwDL_Stat_CCU_Stat2_LED_3_step (3) #endif #ifndef CCU_DeflectorSwDL_Stat_CCU_Stat2_LED_2_step #define CCU_DeflectorSwDL_Stat_CCU_Stat2_LED_2_step (2) #endif #ifndef CCU_DeflectorSwDL_Stat_CCU_Stat2_LED_1_step #define CCU_DeflectorSwDL_Stat_CCU_Stat2_LED_1_step (1) #endif #ifndef CCU_DeflectorSwDL_Stat_CCU_Stat2_No_LED #define CCU_DeflectorSwDL_Stat_CCU_Stat2_No_LED (0) #endif // Value tables for @CCU_DeflectorSwDR_Stat signal #ifndef CCU_DeflectorSwDR_Stat_CCU_Stat2_LED_3_step #define CCU_DeflectorSwDR_Stat_CCU_Stat2_LED_3_step (3) #endif #ifndef CCU_DeflectorSwDR_Stat_CCU_Stat2_LED_2_step #define CCU_DeflectorSwDR_Stat_CCU_Stat2_LED_2_step (2) #endif #ifndef CCU_DeflectorSwDR_Stat_CCU_Stat2_LED_1_step #define CCU_DeflectorSwDR_Stat_CCU_Stat2_LED_1_step (1) #endif #ifndef CCU_DeflectorSwDR_Stat_CCU_Stat2_No_LED #define CCU_DeflectorSwDR_Stat_CCU_Stat2_No_LED (0) #endif // Value tables for @CCU_DeflectorSwFPL_Stat signal #ifndef CCU_DeflectorSwFPL_Stat_CCU_Stat2_LED_3_step #define CCU_DeflectorSwFPL_Stat_CCU_Stat2_LED_3_step (3) #endif #ifndef CCU_DeflectorSwFPL_Stat_CCU_Stat2_LED_2_step #define CCU_DeflectorSwFPL_Stat_CCU_Stat2_LED_2_step (2) #endif #ifndef CCU_DeflectorSwFPL_Stat_CCU_Stat2_LED_1_step #define CCU_DeflectorSwFPL_Stat_CCU_Stat2_LED_1_step (1) #endif #ifndef CCU_DeflectorSwFPL_Stat_CCU_Stat2_No_LED #define CCU_DeflectorSwFPL_Stat_CCU_Stat2_No_LED (0) #endif // Value tables for @CCU_DeflectorSwFPR_Stat signal #ifndef CCU_DeflectorSwFPR_Stat_CCU_Stat2_LED_3_step #define CCU_DeflectorSwFPR_Stat_CCU_Stat2_LED_3_step (3) #endif #ifndef CCU_DeflectorSwFPR_Stat_CCU_Stat2_LED_2_step #define CCU_DeflectorSwFPR_Stat_CCU_Stat2_LED_2_step (2) #endif #ifndef CCU_DeflectorSwFPR_Stat_CCU_Stat2_LED_1_step #define CCU_DeflectorSwFPR_Stat_CCU_Stat2_LED_1_step (1) #endif #ifndef CCU_DeflectorSwFPR_Stat_CCU_Stat2_No_LED #define CCU_DeflectorSwFPR_Stat_CCU_Stat2_No_LED (0) #endif // Value tables for @CCU_DeflectorSwFCL_Stat signal #ifndef CCU_DeflectorSwFCL_Stat_CCU_Stat2_LED_3_step #define CCU_DeflectorSwFCL_Stat_CCU_Stat2_LED_3_step (3) #endif #ifndef CCU_DeflectorSwFCL_Stat_CCU_Stat2_LED_2_step #define CCU_DeflectorSwFCL_Stat_CCU_Stat2_LED_2_step (2) #endif #ifndef CCU_DeflectorSwFCL_Stat_CCU_Stat2_LED_1_step #define CCU_DeflectorSwFCL_Stat_CCU_Stat2_LED_1_step (1) #endif #ifndef CCU_DeflectorSwFCL_Stat_CCU_Stat2_No_LED #define CCU_DeflectorSwFCL_Stat_CCU_Stat2_No_LED (0) #endif // Value tables for @CCU_DeflectorSwFCR_Stat signal #ifndef CCU_DeflectorSwFCR_Stat_CCU_Stat2_LED_3_step #define CCU_DeflectorSwFCR_Stat_CCU_Stat2_LED_3_step (3) #endif #ifndef CCU_DeflectorSwFCR_Stat_CCU_Stat2_LED_2_step #define CCU_DeflectorSwFCR_Stat_CCU_Stat2_LED_2_step (2) #endif #ifndef CCU_DeflectorSwFCR_Stat_CCU_Stat2_LED_1_step #define CCU_DeflectorSwFCR_Stat_CCU_Stat2_LED_1_step (1) #endif #ifndef CCU_DeflectorSwFCR_Stat_CCU_Stat2_No_LED #define CCU_DeflectorSwFCR_Stat_CCU_Stat2_No_LED (0) #endif // Value tables for @CCU_DeflectorSwRLB_Stat signal #ifndef CCU_DeflectorSwRLB_Stat_CCU_Stat2_LED_3_step #define CCU_DeflectorSwRLB_Stat_CCU_Stat2_LED_3_step (3) #endif #ifndef CCU_DeflectorSwRLB_Stat_CCU_Stat2_LED_2_step #define CCU_DeflectorSwRLB_Stat_CCU_Stat2_LED_2_step (2) #endif #ifndef CCU_DeflectorSwRLB_Stat_CCU_Stat2_LED_1_step #define CCU_DeflectorSwRLB_Stat_CCU_Stat2_LED_1_step (1) #endif #ifndef CCU_DeflectorSwRLB_Stat_CCU_Stat2_No_LED #define CCU_DeflectorSwRLB_Stat_CCU_Stat2_No_LED (0) #endif // Value tables for @CCU_DeflectorSwRRB_Stat signal #ifndef CCU_DeflectorSwRRB_Stat_CCU_Stat2_LED_3_step #define CCU_DeflectorSwRRB_Stat_CCU_Stat2_LED_3_step (3) #endif #ifndef CCU_DeflectorSwRRB_Stat_CCU_Stat2_LED_2_step #define CCU_DeflectorSwRRB_Stat_CCU_Stat2_LED_2_step (2) #endif #ifndef CCU_DeflectorSwRRB_Stat_CCU_Stat2_LED_1_step #define CCU_DeflectorSwRRB_Stat_CCU_Stat2_LED_1_step (1) #endif #ifndef CCU_DeflectorSwRRB_Stat_CCU_Stat2_No_LED #define CCU_DeflectorSwRRB_Stat_CCU_Stat2_No_LED (0) #endif typedef struct { #ifdef CANDB_USE_BITS_SIGNAL // Cartridge switch status from aromatization system // 1 : "Cartridge extracted" // 0 : "�artridge installed" uint8_t CCU_AromaCartridgeSw_Stat : 1; // Bits= 1 // Front climate zones synchronization status // 1 : "Sync on" // 0 : "Sync off" uint8_t CCU_FrontZoneSync_Stat : 1; // Bits= 1 // Rear climate zones synchronization status // 1 : "Sync on" // 0 : "Sync off" uint8_t CCU_RearZoneSync_Stat : 1; // Bits= 1 // All climate zones synchronization status // 1 : "Sync on" // 0 : "Sync off" uint8_t CCU_AllZoneSync_Stat : 1; // Bits= 1 // Air conditioner front status // 1 : "AC front on" // 0 : "AC front off" uint8_t CCU_ACfront_Stat : 1; // Bits= 1 // Air conditioner rear status // 1 : "AC rear on" // 0 : "AC rear off" uint8_t CCU_ACrear_Stat : 1; // Bits= 1 // AC MAX mode for front zone status // 1 : "AC MAX on" // 0 : "AC MAX off" uint8_t CCU_ACmaxF_Stat : 1; // Bits= 1 // AC MAX mode for rear zone status // 1 : "AC MAX on" // 0 : "AC MAX off" uint8_t CCU_ACmaxR_Stat : 1; // Bits= 1 // Defrost mode status // 1 : "Defrost is active" // 0 : "Defrost is inactive" uint8_t CCU_Defrost_Stat : 1; // Bits= 1 // Ionization system mode status // 1 : "Ionizer is on" // 0 : "Ionizer is off" uint8_t CCU_Ionization_Stat : 1; // Bits= 1 // Footwell temperature correction for front left zone status // 6 : "+3 step" // 5 : "+2 step" // 4 : "+1 step" // 3 : "0 step" // 2 : "-1 step" // 1 : "-2 step" // 0 : "-3 step" uint8_t CCU_FootTempCorFL_Stat : 3; // Bits= 3 // Footwell temperature correction for front right zone status // 6 : "+3 step" // 5 : "+2 step" // 4 : "+1 step" // 3 : "0 step" // 2 : "-1 step" // 1 : "-2 step" // 0 : "-3 step" uint8_t CCU_FootTempCorFR_Stat : 3; // Bits= 3 // Aromatization intensity status // 3 : "Aromatization mode 3 step" // 2 : "Aromatization mode 2 step" // 1 : "Aromatization mode 1 step" // 0 : "Aromatization off" uint8_t CCU_AromaIntens_Stat : 2; // Bits= 2 // Footwell temperature correction for rear left zone status // 6 : "+3 step" // 5 : "+2 step" // 4 : "+1 step" // 3 : "0 step" // 2 : "-1 step" // 1 : "-2 step" // 0 : "-3 step" uint8_t CCU_FootTempCorRL_Stat : 3; // Bits= 3 // Footwell temperature correction for rear right zone status // 6 : "+3 step" // 5 : "+2 step" // 4 : "+1 step" // 3 : "0 step" // 2 : "-1 step" // 1 : "-2 step" // 0 : "-3 step" uint8_t CCU_FootTempCorRR_Stat : 3; // Bits= 3 // Deflector driver left status // 3 : "LED 3 step" // 2 : "LED 2 step" // 1 : "LED 1 step" // 0 : "No LED" uint8_t CCU_DeflectorSwDL_Stat : 2; // Bits= 2 // Deflector driver right status // 3 : "LED 3 step" // 2 : "LED 2 step" // 1 : "LED 1 step" // 0 : "No LED" uint8_t CCU_DeflectorSwDR_Stat : 2; // Bits= 2 // Deflector front passenger left status // 3 : "LED 3 step" // 2 : "LED 2 step" // 1 : "LED 1 step" // 0 : "No LED" uint8_t CCU_DeflectorSwFPL_Stat : 2; // Bits= 2 // Deflector front passenger right status // 3 : "LED 3 step" // 2 : "LED 2 step" // 1 : "LED 1 step" // 0 : "No LED" uint8_t CCU_DeflectorSwFPR_Stat : 2; // Bits= 2 // Deflector front console left status // 3 : "LED 3 step" // 2 : "LED 2 step" // 1 : "LED 1 step" // 0 : "No LED" uint8_t CCU_DeflectorSwFCL_Stat : 2; // Bits= 2 // Deflector front console right status // 3 : "LED 3 step" // 2 : "LED 2 step" // 1 : "LED 1 step" // 0 : "No LED" uint8_t CCU_DeflectorSwFCR_Stat : 2; // Bits= 2 // Deflector rear left in B-pillar status // 3 : "LED 3 step" // 2 : "LED 2 step" // 1 : "LED 1 step" // 0 : "No LED" uint8_t CCU_DeflectorSwRLB_Stat : 2; // Bits= 2 // Deflector rear right in B-pillar status // 3 : "LED 3 step" // 2 : "LED 2 step" // 1 : "LED 1 step" // 0 : "No LED" uint8_t CCU_DeflectorSwRRB_Stat : 2; // Bits= 2 #else // Cartridge switch status from aromatization system // 1 : "Cartridge extracted" // 0 : "�artridge installed" uint8_t CCU_AromaCartridgeSw_Stat; // Bits= 1 // Front climate zones synchronization status // 1 : "Sync on" // 0 : "Sync off" uint8_t CCU_FrontZoneSync_Stat; // Bits= 1 // Rear climate zones synchronization status // 1 : "Sync on" // 0 : "Sync off" uint8_t CCU_RearZoneSync_Stat; // Bits= 1 // All climate zones synchronization status // 1 : "Sync on" // 0 : "Sync off" uint8_t CCU_AllZoneSync_Stat; // Bits= 1 // Air conditioner front status // 1 : "AC front on" // 0 : "AC front off" uint8_t CCU_ACfront_Stat; // Bits= 1 // Air conditioner rear status // 1 : "AC rear on" // 0 : "AC rear off" uint8_t CCU_ACrear_Stat; // Bits= 1 // AC MAX mode for front zone status // 1 : "AC MAX on" // 0 : "AC MAX off" uint8_t CCU_ACmaxF_Stat; // Bits= 1 // AC MAX mode for rear zone status // 1 : "AC MAX on" // 0 : "AC MAX off" uint8_t CCU_ACmaxR_Stat; // Bits= 1 // Defrost mode status // 1 : "Defrost is active" // 0 : "Defrost is inactive" uint8_t CCU_Defrost_Stat; // Bits= 1 // Ionization system mode status // 1 : "Ionizer is on" // 0 : "Ionizer is off" uint8_t CCU_Ionization_Stat; // Bits= 1 // Footwell temperature correction for front left zone status // 6 : "+3 step" // 5 : "+2 step" // 4 : "+1 step" // 3 : "0 step" // 2 : "-1 step" // 1 : "-2 step" // 0 : "-3 step" uint8_t CCU_FootTempCorFL_Stat; // Bits= 3 // Footwell temperature correction for front right zone status // 6 : "+3 step" // 5 : "+2 step" // 4 : "+1 step" // 3 : "0 step" // 2 : "-1 step" // 1 : "-2 step" // 0 : "-3 step" uint8_t CCU_FootTempCorFR_Stat; // Bits= 3 // Aromatization intensity status // 3 : "Aromatization mode 3 step" // 2 : "Aromatization mode 2 step" // 1 : "Aromatization mode 1 step" // 0 : "Aromatization off" uint8_t CCU_AromaIntens_Stat; // Bits= 2 // Footwell temperature correction for rear left zone status // 6 : "+3 step" // 5 : "+2 step" // 4 : "+1 step" // 3 : "0 step" // 2 : "-1 step" // 1 : "-2 step" // 0 : "-3 step" uint8_t CCU_FootTempCorRL_Stat; // Bits= 3 // Footwell temperature correction for rear right zone status // 6 : "+3 step" // 5 : "+2 step" // 4 : "+1 step" // 3 : "0 step" // 2 : "-1 step" // 1 : "-2 step" // 0 : "-3 step" uint8_t CCU_FootTempCorRR_Stat; // Bits= 3 // Deflector driver left status // 3 : "LED 3 step" // 2 : "LED 2 step" // 1 : "LED 1 step" // 0 : "No LED" uint8_t CCU_DeflectorSwDL_Stat; // Bits= 2 // Deflector driver right status // 3 : "LED 3 step" // 2 : "LED 2 step" // 1 : "LED 1 step" // 0 : "No LED" uint8_t CCU_DeflectorSwDR_Stat; // Bits= 2 // Deflector front passenger left status // 3 : "LED 3 step" // 2 : "LED 2 step" // 1 : "LED 1 step" // 0 : "No LED" uint8_t CCU_DeflectorSwFPL_Stat; // Bits= 2 // Deflector front passenger right status // 3 : "LED 3 step" // 2 : "LED 2 step" // 1 : "LED 1 step" // 0 : "No LED" uint8_t CCU_DeflectorSwFPR_Stat; // Bits= 2 // Deflector front console left status // 3 : "LED 3 step" // 2 : "LED 2 step" // 1 : "LED 1 step" // 0 : "No LED" uint8_t CCU_DeflectorSwFCL_Stat; // Bits= 2 // Deflector front console right status // 3 : "LED 3 step" // 2 : "LED 2 step" // 1 : "LED 1 step" // 0 : "No LED" uint8_t CCU_DeflectorSwFCR_Stat; // Bits= 2 // Deflector rear left in B-pillar status // 3 : "LED 3 step" // 2 : "LED 2 step" // 1 : "LED 1 step" // 0 : "No LED" uint8_t CCU_DeflectorSwRLB_Stat; // Bits= 2 // Deflector rear right in B-pillar status // 3 : "LED 3 step" // 2 : "LED 2 step" // 1 : "LED 1 step" // 0 : "No LED" uint8_t CCU_DeflectorSwRRB_Stat; // Bits= 2 #endif // CANDB_USE_BITS_SIGNAL #ifdef CANDB_USE_DIAG_MONITORS FrameMonitor_t mon1; #endif // CANDB_USE_DIAG_MONITORS } CCU_Stat2_t; // def @CCU_Requests CAN Message (787 0x313) #define CCU_Requests_IDE (0U) #define CCU_Requests_DLC (1U) #define CCU_Requests_CANID (0x313U) #define CCU_Requests_CYC (200U) // Value tables for @CCU_CarpetHeatFL_Req signal #ifndef CCU_CarpetHeatFL_Req_CCU_Requests_Carpet_heating_requested #define CCU_CarpetHeatFL_Req_CCU_Requests_Carpet_heating_requested (1) #endif #ifndef CCU_CarpetHeatFL_Req_CCU_Requests_Carpet_heating_not_requested #define CCU_CarpetHeatFL_Req_CCU_Requests_Carpet_heating_not_requested (0) #endif // Value tables for @CCU_CarpetHeatFR_Req signal #ifndef CCU_CarpetHeatFR_Req_CCU_Requests_Carpet_heating_requested #define CCU_CarpetHeatFR_Req_CCU_Requests_Carpet_heating_requested (1) #endif #ifndef CCU_CarpetHeatFR_Req_CCU_Requests_Carpet_heating_not_requested #define CCU_CarpetHeatFR_Req_CCU_Requests_Carpet_heating_not_requested (0) #endif // Value tables for @CCU_CarpetHeatRL_Req signal #ifndef CCU_CarpetHeatRL_Req_CCU_Requests_Carpet_heating_requested #define CCU_CarpetHeatRL_Req_CCU_Requests_Carpet_heating_requested (1) #endif #ifndef CCU_CarpetHeatRL_Req_CCU_Requests_Carpet_heating_not_requested #define CCU_CarpetHeatRL_Req_CCU_Requests_Carpet_heating_not_requested (0) #endif // Value tables for @CCU_CarpetHeatRR_Req signal #ifndef CCU_CarpetHeatRR_Req_CCU_Requests_Carpet_heating_requested #define CCU_CarpetHeatRR_Req_CCU_Requests_Carpet_heating_requested (1) #endif #ifndef CCU_CarpetHeatRR_Req_CCU_Requests_Carpet_heating_not_requested #define CCU_CarpetHeatRR_Req_CCU_Requests_Carpet_heating_not_requested (0) #endif typedef struct { #ifdef CANDB_USE_BITS_SIGNAL // Carpet heating request for front left zone // 1 : "Carpet heating requested" // 0 : "Carpet heating not requested" uint8_t CCU_CarpetHeatFL_Req : 1; // Bits= 1 // Carpet heating request for front right zone // 1 : "Carpet heating requested" // 0 : "Carpet heating not requested" uint8_t CCU_CarpetHeatFR_Req : 1; // Bits= 1 // Carpet heating request for rear left zone // 1 : "Carpet heating requested" // 0 : "Carpet heating not requested" uint8_t CCU_CarpetHeatRL_Req : 1; // Bits= 1 // Carpet heating request for rear right zone // 1 : "Carpet heating requested" // 0 : "Carpet heating not requested" uint8_t CCU_CarpetHeatRR_Req : 1; // Bits= 1 #else // Carpet heating request for front left zone // 1 : "Carpet heating requested" // 0 : "Carpet heating not requested" uint8_t CCU_CarpetHeatFL_Req; // Bits= 1 // Carpet heating request for front right zone // 1 : "Carpet heating requested" // 0 : "Carpet heating not requested" uint8_t CCU_CarpetHeatFR_Req; // Bits= 1 // Carpet heating request for rear left zone // 1 : "Carpet heating requested" // 0 : "Carpet heating not requested" uint8_t CCU_CarpetHeatRL_Req; // Bits= 1 // Carpet heating request for rear right zone // 1 : "Carpet heating requested" // 0 : "Carpet heating not requested" uint8_t CCU_CarpetHeatRR_Req; // Bits= 1 #endif // CANDB_USE_BITS_SIGNAL #ifdef CANDB_USE_DIAG_MONITORS FrameMonitor_t mon1; #endif // CANDB_USE_DIAG_MONITORS } CCU_Requests_t; // def @CCU_Stat3 CAN Message (788 0x314) #define CCU_Stat3_IDE (0U) #define CCU_Stat3_DLC (4U) #define CCU_Stat3_CANID (0x314U) #define CCU_Stat3_CYC (250U) // signal: @CCU_AromaCartridgeCapacity_Stat_ro #define CANDB_CCU_AromaCartridgeCapacity_Stat_ro_CovFactor (10) #define CANDB_CCU_AromaCartridgeCapacity_Stat_ro_toS(x) ( (uint8_t) ((x) / (10)) ) #define CANDB_CCU_AromaCartridgeCapacity_Stat_ro_fromS(x) ( ((x) * (10)) ) // Value tables for @CCU_AromaCartridgeFlavor_Stat signal #ifndef CCU_AromaCartridgeFlavor_Stat_CCU_Stat3_Flavor_16 #define CCU_AromaCartridgeFlavor_Stat_CCU_Stat3_Flavor_16 (15) #endif #ifndef CCU_AromaCartridgeFlavor_Stat_CCU_Stat3_Flavor_15 #define CCU_AromaCartridgeFlavor_Stat_CCU_Stat3_Flavor_15 (14) #endif #ifndef CCU_AromaCartridgeFlavor_Stat_CCU_Stat3_Flavor_14 #define CCU_AromaCartridgeFlavor_Stat_CCU_Stat3_Flavor_14 (13) #endif #ifndef CCU_AromaCartridgeFlavor_Stat_CCU_Stat3_Flavor_13 #define CCU_AromaCartridgeFlavor_Stat_CCU_Stat3_Flavor_13 (12) #endif #ifndef CCU_AromaCartridgeFlavor_Stat_CCU_Stat3_Flavor_12 #define CCU_AromaCartridgeFlavor_Stat_CCU_Stat3_Flavor_12 (11) #endif #ifndef CCU_AromaCartridgeFlavor_Stat_CCU_Stat3_Flavor_11 #define CCU_AromaCartridgeFlavor_Stat_CCU_Stat3_Flavor_11 (10) #endif #ifndef CCU_AromaCartridgeFlavor_Stat_CCU_Stat3_Flavor_10 #define CCU_AromaCartridgeFlavor_Stat_CCU_Stat3_Flavor_10 (9) #endif #ifndef CCU_AromaCartridgeFlavor_Stat_CCU_Stat3_Flavor_9 #define CCU_AromaCartridgeFlavor_Stat_CCU_Stat3_Flavor_9 (8) #endif #ifndef CCU_AromaCartridgeFlavor_Stat_CCU_Stat3_Flavor_8 #define CCU_AromaCartridgeFlavor_Stat_CCU_Stat3_Flavor_8 (7) #endif #ifndef CCU_AromaCartridgeFlavor_Stat_CCU_Stat3_Flavor_7 #define CCU_AromaCartridgeFlavor_Stat_CCU_Stat3_Flavor_7 (6) #endif #ifndef CCU_AromaCartridgeFlavor_Stat_CCU_Stat3_Flavor_6 #define CCU_AromaCartridgeFlavor_Stat_CCU_Stat3_Flavor_6 (5) #endif #ifndef CCU_AromaCartridgeFlavor_Stat_CCU_Stat3_Flavor_5 #define CCU_AromaCartridgeFlavor_Stat_CCU_Stat3_Flavor_5 (4) #endif #ifndef CCU_AromaCartridgeFlavor_Stat_CCU_Stat3_Flavor_4 #define CCU_AromaCartridgeFlavor_Stat_CCU_Stat3_Flavor_4 (3) #endif #ifndef CCU_AromaCartridgeFlavor_Stat_CCU_Stat3_Flavor_3 #define CCU_AromaCartridgeFlavor_Stat_CCU_Stat3_Flavor_3 (2) #endif #ifndef CCU_AromaCartridgeFlavor_Stat_CCU_Stat3_Flavor_2 #define CCU_AromaCartridgeFlavor_Stat_CCU_Stat3_Flavor_2 (1) #endif #ifndef CCU_AromaCartridgeFlavor_Stat_CCU_Stat3_Flavor_1 #define CCU_AromaCartridgeFlavor_Stat_CCU_Stat3_Flavor_1 (0) #endif // Value tables for @CCU_AromaFaultReason_Stat signal #ifndef CCU_AromaFaultReason_Stat_CCU_Stat3_Communication_or_hardware_error #define CCU_AromaFaultReason_Stat_CCU_Stat3_Communication_or_hardware_error (5) #endif #ifndef CCU_AromaFaultReason_Stat_CCU_Stat3_Selected_cartridge_ejected_or_empty #define CCU_AromaFaultReason_Stat_CCU_Stat3_Selected_cartridge_ejected_or_empty (4) #endif #ifndef CCU_AromaFaultReason_Stat_CCU_Stat3_Front_HVAC_fan_speed_too_fast #define CCU_AromaFaultReason_Stat_CCU_Stat3_Front_HVAC_fan_speed_too_fast (3) #endif #ifndef CCU_AromaFaultReason_Stat_CCU_Stat3_Front_HVAC_fan_speed_too_low #define CCU_AromaFaultReason_Stat_CCU_Stat3_Front_HVAC_fan_speed_too_low (2) #endif #ifndef CCU_AromaFaultReason_Stat_CCU_Stat3_Front_HVAC_fan_off #define CCU_AromaFaultReason_Stat_CCU_Stat3_Front_HVAC_fan_off (1) #endif #ifndef CCU_AromaFaultReason_Stat_CCU_Stat3_No_fault #define CCU_AromaFaultReason_Stat_CCU_Stat3_No_fault (0) #endif // Value tables for @CCU_RLfootBlowDis_Stat signal #ifndef CCU_RLfootBlowDis_Stat_CCU_Stat3_Rear_footwell_blowing_disabled_limitation_ON #define CCU_RLfootBlowDis_Stat_CCU_Stat3_Rear_footwell_blowing_disabled_limitation_ON (1) #endif #ifndef CCU_RLfootBlowDis_Stat_CCU_Stat3_Rear_footwell_blowing_enabled_limitation_OFF #define CCU_RLfootBlowDis_Stat_CCU_Stat3_Rear_footwell_blowing_enabled_limitation_OFF (0) #endif // Value tables for @CCU_RRfootBlowDis_Stat signal #ifndef CCU_RRfootBlowDis_Stat_CCU_Stat3_Rear_footwell_blowing_disabled_limitation_ON #define CCU_RRfootBlowDis_Stat_CCU_Stat3_Rear_footwell_blowing_disabled_limitation_ON (1) #endif #ifndef CCU_RRfootBlowDis_Stat_CCU_Stat3_Rear_footwell_blowing_enabled_limitation_OFF #define CCU_RRfootBlowDis_Stat_CCU_Stat3_Rear_footwell_blowing_enabled_limitation_OFF (0) #endif // Value tables for @CCU_RestMode2_Stat signal #ifndef CCU_RestMode2_Stat_CCU_Stat3_Inactive #define CCU_RestMode2_Stat_CCU_Stat3_Inactive (3) #endif #ifndef CCU_RestMode2_Stat_CCU_Stat3_Active #define CCU_RestMode2_Stat_CCU_Stat3_Active (2) #endif #ifndef CCU_RestMode2_Stat_CCU_Stat3_Standby #define CCU_RestMode2_Stat_CCU_Stat3_Standby (1) #endif #ifndef CCU_RestMode2_Stat_CCU_Stat3_Not_requested #define CCU_RestMode2_Stat_CCU_Stat3_Not_requested (0) #endif typedef struct { #ifdef CANDB_USE_BITS_SIGNAL // Aroma cartridge capacity status uint8_t CCU_AromaCartridgeCapacity_Stat_ro : 4; // Bits= 4 Factor= 10 #ifdef CANDB_USE_SIGFLOAT uint8_t CCU_AromaCartridgeCapacity_Stat_phys; #endif // CANDB_USE_SIGFLOAT // Aroma cartridge flavor status // 15 : "Flavor 16" // 14 : "Flavor 15" // 13 : "Flavor 14" // 12 : "Flavor 13" // 11 : "Flavor 12" // 10 : "Flavor 11" // 9 : "Flavor 10" // 8 : "Flavor 9" // 7 : "Flavor 8" // 6 : "Flavor 7" // 5 : "Flavor 6" // 4 : "Flavor 5" // 3 : "Flavor 4" // 2 : "Flavor 3" // 1 : "Flavor 2" // 0 : "Flavor 1" uint8_t CCU_AromaCartridgeFlavor_Stat : 4; // Bits= 4 // The reason why the aromatization system does not turn on // 5 : "Communication or hardware error" // 4 : "Selected cartridge ejected or empty" // 3 : "Front HVAC fan speed too fast" // 2 : "Front HVAC fan speed too low" // 1 : "Front HVAC fan off" // 0 : "No fault" uint8_t CCU_AromaFaultReason_Stat : 3; // Bits= 3 // Rear left passenger footwell blowing disable status (summer mode) // 1 : "Rear footwell blowing disabled (limitation ON)" // 0 : "Rear footwell blowing enabled (limitation OFF)" uint8_t CCU_RLfootBlowDis_Stat : 1; // Bits= 1 // Rear right passenger footwell blowing disable status (summer mode) // 1 : "Rear footwell blowing disabled (limitation ON)" // 0 : "Rear footwell blowing enabled (limitation OFF)" uint8_t CCU_RRfootBlowDis_Stat : 1; // Bits= 1 // CCU REST mode status // 3 : "Inactive" // 2 : "Active" // 1 : "Standby" // 0 : "Not requested" uint8_t CCU_RestMode2_Stat : 2; // Bits= 2 #else // Aroma cartridge capacity status uint8_t CCU_AromaCartridgeCapacity_Stat_ro; // Bits= 4 Factor= 10 #ifdef CANDB_USE_SIGFLOAT uint8_t CCU_AromaCartridgeCapacity_Stat_phys; #endif // CANDB_USE_SIGFLOAT // Aroma cartridge flavor status // 15 : "Flavor 16" // 14 : "Flavor 15" // 13 : "Flavor 14" // 12 : "Flavor 13" // 11 : "Flavor 12" // 10 : "Flavor 11" // 9 : "Flavor 10" // 8 : "Flavor 9" // 7 : "Flavor 8" // 6 : "Flavor 7" // 5 : "Flavor 6" // 4 : "Flavor 5" // 3 : "Flavor 4" // 2 : "Flavor 3" // 1 : "Flavor 2" // 0 : "Flavor 1" uint8_t CCU_AromaCartridgeFlavor_Stat; // Bits= 4 // The reason why the aromatization system does not turn on // 5 : "Communication or hardware error" // 4 : "Selected cartridge ejected or empty" // 3 : "Front HVAC fan speed too fast" // 2 : "Front HVAC fan speed too low" // 1 : "Front HVAC fan off" // 0 : "No fault" uint8_t CCU_AromaFaultReason_Stat; // Bits= 3 // Rear left passenger footwell blowing disable status (summer mode) // 1 : "Rear footwell blowing disabled (limitation ON)" // 0 : "Rear footwell blowing enabled (limitation OFF)" uint8_t CCU_RLfootBlowDis_Stat; // Bits= 1 // Rear right passenger footwell blowing disable status (summer mode) // 1 : "Rear footwell blowing disabled (limitation ON)" // 0 : "Rear footwell blowing enabled (limitation OFF)" uint8_t CCU_RRfootBlowDis_Stat; // Bits= 1 // CCU REST mode status // 3 : "Inactive" // 2 : "Active" // 1 : "Standby" // 0 : "Not requested" uint8_t CCU_RestMode2_Stat; // Bits= 2 #endif // CANDB_USE_BITS_SIGNAL #ifdef CANDB_USE_DIAG_MONITORS FrameMonitor_t mon1; #endif // CANDB_USE_DIAG_MONITORS } CCU_Stat3_t; // def @CCU_VCU_Msg1 CAN Message (789 0x315) #define CCU_VCU_Msg1_IDE (0U) #define CCU_VCU_Msg1_DLC (8U) #define CCU_VCU_Msg1_CANID (0x315U) #define CCU_VCU_Msg1_CYC (200U) // signal: @CCU_Sen_Pressure_ro #define CANDB_CCU_Sen_Pressure_ro_CovFactor (0.1) #define CANDB_CCU_Sen_Pressure_ro_toS(x) ( (uint16_t) (((x) - (0.0)) / (0.1)) ) #define CANDB_CCU_Sen_Pressure_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) // signal: @CCU_EvaTargetTemp_Val_ro #define CANDB_CCU_EvaTargetTemp_Val_ro_CovFactor (0.1) #define CANDB_CCU_EvaTargetTemp_Val_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) #define CANDB_CCU_EvaTargetTemp_Val_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) // signal: @CCU_EvaCurrTempF_Val_ro #define CANDB_CCU_EvaCurrTempF_Val_ro_CovFactor (0.1) #define CANDB_CCU_EvaCurrTempF_Val_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) #define CANDB_CCU_EvaCurrTempF_Val_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) // signal: @CCU_EvaCurrTempR_Val_ro #define CANDB_CCU_EvaCurrTempR_Val_ro_CovFactor (0.1) #define CANDB_CCU_EvaCurrTempR_Val_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) #define CANDB_CCU_EvaCurrTempR_Val_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) typedef struct { #ifdef CANDB_USE_BITS_SIGNAL // AC pressure sensor value uint16_t CCU_Sen_Pressure_ro; // Bits=12 Factor= 0.1 Unit:'ATM' #ifdef CANDB_USE_SIGFLOAT sigfloat_t CCU_Sen_Pressure_phys; #endif // CANDB_USE_SIGFLOAT // Evaporators target temperature =dbg_Sen_Eva_Target in LocalCCU-CAN int16_t CCU_EvaTargetTemp_Val_ro; // [-] Bits=12 Factor= 0.1 Unit:'�C' #ifdef CANDB_USE_SIGFLOAT sigfloat_t CCU_EvaTargetTemp_Val_phys; #endif // CANDB_USE_SIGFLOAT // Front evaporator current temperature =dbg_Sen_Eva_F in LocalCCU-CAN int16_t CCU_EvaCurrTempF_Val_ro; // [-] Bits=12 Factor= 0.1 Unit:'�C' #ifdef CANDB_USE_SIGFLOAT sigfloat_t CCU_EvaCurrTempF_Val_phys; #endif // CANDB_USE_SIGFLOAT // Rear evaporator current temperature =dbg_Sen_Eva_R in LocalCCU-CAN int16_t CCU_EvaCurrTempR_Val_ro; // [-] Bits=12 Factor= 0.1 Unit:'�C' #ifdef CANDB_USE_SIGFLOAT sigfloat_t CCU_EvaCurrTempR_Val_phys; #endif // CANDB_USE_SIGFLOAT // Request to VCU for target temperature Liquid HVAC Heater uint8_t CCU_LiquidHeaterTargetTemp_Req : 7; // Bits= 7 Unit:'�C' // Rolling Counter [0 - 15] uint8_t CCU_VCU_Msg1_RC : 4; // Bits= 4 #else // AC pressure sensor value uint16_t CCU_Sen_Pressure_ro; // Bits=12 Factor= 0.1 Unit:'ATM' #ifdef CANDB_USE_SIGFLOAT sigfloat_t CCU_Sen_Pressure_phys; #endif // CANDB_USE_SIGFLOAT // Evaporators target temperature =dbg_Sen_Eva_Target in LocalCCU-CAN int16_t CCU_EvaTargetTemp_Val_ro; // [-] Bits=12 Factor= 0.1 Unit:'�C' #ifdef CANDB_USE_SIGFLOAT sigfloat_t CCU_EvaTargetTemp_Val_phys; #endif // CANDB_USE_SIGFLOAT // Front evaporator current temperature =dbg_Sen_Eva_F in LocalCCU-CAN int16_t CCU_EvaCurrTempF_Val_ro; // [-] Bits=12 Factor= 0.1 Unit:'�C' #ifdef CANDB_USE_SIGFLOAT sigfloat_t CCU_EvaCurrTempF_Val_phys; #endif // CANDB_USE_SIGFLOAT // Rear evaporator current temperature =dbg_Sen_Eva_R in LocalCCU-CAN int16_t CCU_EvaCurrTempR_Val_ro; // [-] Bits=12 Factor= 0.1 Unit:'�C' #ifdef CANDB_USE_SIGFLOAT sigfloat_t CCU_EvaCurrTempR_Val_phys; #endif // CANDB_USE_SIGFLOAT // Request to VCU for target temperature Liquid HVAC Heater uint8_t CCU_LiquidHeaterTargetTemp_Req; // Bits= 7 Unit:'�C' // Rolling Counter [0 - 15] uint8_t CCU_VCU_Msg1_RC; // Bits= 4 #endif // CANDB_USE_BITS_SIGNAL #ifdef CANDB_USE_DIAG_MONITORS FrameMonitor_t mon1; #endif // CANDB_USE_DIAG_MONITORS } CCU_VCU_Msg1_t; // def @CCU_VCU_Msg2 CAN Message (790 0x316) #define CCU_VCU_Msg2_IDE (0U) #define CCU_VCU_Msg2_DLC (8U) #define CCU_VCU_Msg2_CANID (0x316U) #define CCU_VCU_Msg2_CYC (200U) // Value tables for @eTXV_batChiller_Err_Stat signal #ifndef eTXV_batChiller_Err_Stat_CCU_VCU_Msg2_No_error #define eTXV_batChiller_Err_Stat_CCU_VCU_Msg2_No_error (0) #endif #ifndef eTXV_batChiller_Err_Stat_CCU_VCU_Msg2_Supply_chain_break #define eTXV_batChiller_Err_Stat_CCU_VCU_Msg2_Supply_chain_break (1) #endif #ifndef eTXV_batChiller_Err_Stat_CCU_VCU_Msg2_Supply_chain_short_circuit #define eTXV_batChiller_Err_Stat_CCU_VCU_Msg2_Supply_chain_short_circuit (2) #endif #ifndef eTXV_batChiller_Err_Stat_CCU_VCU_Msg2_Component_malfunction #define eTXV_batChiller_Err_Stat_CCU_VCU_Msg2_Component_malfunction (3) #endif // signal: @eTXV_batChiller_Pressure_Val_ro #define CANDB_eTXV_batChiller_Pressure_Val_ro_CovFactor (0.1) #define CANDB_eTXV_batChiller_Pressure_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.1)) ) #define CANDB_eTXV_batChiller_Pressure_Val_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) // signal: @eTXV_batChiller_Temp_Val_ro #define CANDB_eTXV_batChiller_Temp_Val_ro_CovFactor (1) #define CANDB_eTXV_batChiller_Temp_Val_ro_toS(x) ( (uint8_t) ((x) - (-40)) ) #define CANDB_eTXV_batChiller_Temp_Val_ro_fromS(x) ( ((x) + (-40)) ) // Value tables for @eTXV_eeChiller_Err_Stat signal #ifndef eTXV_eeChiller_Err_Stat_CCU_VCU_Msg2_No_error #define eTXV_eeChiller_Err_Stat_CCU_VCU_Msg2_No_error (0) #endif #ifndef eTXV_eeChiller_Err_Stat_CCU_VCU_Msg2_Supply_chain_break #define eTXV_eeChiller_Err_Stat_CCU_VCU_Msg2_Supply_chain_break (1) #endif #ifndef eTXV_eeChiller_Err_Stat_CCU_VCU_Msg2_Supply_chain_short_circuit #define eTXV_eeChiller_Err_Stat_CCU_VCU_Msg2_Supply_chain_short_circuit (2) #endif #ifndef eTXV_eeChiller_Err_Stat_CCU_VCU_Msg2_Component_malfunction #define eTXV_eeChiller_Err_Stat_CCU_VCU_Msg2_Component_malfunction (3) #endif // signal: @eTXV_eeChiller_Pressure_Val_ro #define CANDB_eTXV_eeChiller_Pressure_Val_ro_CovFactor (0.1) #define CANDB_eTXV_eeChiller_Pressure_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.1)) ) #define CANDB_eTXV_eeChiller_Pressure_Val_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) // signal: @eTXV_eeChiller_Temp_Val_ro #define CANDB_eTXV_eeChiller_Temp_Val_ro_CovFactor (1) #define CANDB_eTXV_eeChiller_Temp_Val_ro_toS(x) ( (uint8_t) ((x) - (-40)) ) #define CANDB_eTXV_eeChiller_Temp_Val_ro_fromS(x) ( ((x) + (-40)) ) typedef struct { #ifdef CANDB_USE_BITS_SIGNAL // Battery chiller eTXV position status uint8_t eTXV_batChiller_Pos_Stat : 7; // Bits= 7 Unit:'%' // Battery chiller eTXV error status // 0 : "No error" // 1 : "Supply chain break" // 2 : "Supply chain short circuit" // 3 : "Component malfunction" uint8_t eTXV_batChiller_Err_Stat : 2; // Bits= 2 // Battery chiller eTXV pressure value uint8_t eTXV_batChiller_Pressure_Val_ro : 6; // Bits= 6 Factor= 0.1 Unit:'MPaG' #ifdef CANDB_USE_SIGFLOAT sigfloat_t eTXV_batChiller_Pressure_Val_phys; #endif // CANDB_USE_SIGFLOAT // Battery chiller eTXV temperature value uint8_t eTXV_batChiller_Temp_Val_ro : 7; // Bits= 7 Offset= -40 Unit:'�C' #ifdef CANDB_USE_SIGFLOAT int8_t eTXV_batChiller_Temp_Val_phys; #endif // CANDB_USE_SIGFLOAT // Electrical components chiller eTXV position status uint8_t eTXV_eeChiller_Pos_Stat : 7; // Bits= 7 Unit:'%' // Electrical components eTXV error status // 0 : "No error" // 1 : "Supply chain break" // 2 : "Supply chain short circuit" // 3 : "Component malfunction" uint8_t eTXV_eeChiller_Err_Stat : 2; // Bits= 2 // Electrical components eTXV pressure value uint8_t eTXV_eeChiller_Pressure_Val_ro : 6; // Bits= 6 Factor= 0.1 Unit:'MPaG' #ifdef CANDB_USE_SIGFLOAT sigfloat_t eTXV_eeChiller_Pressure_Val_phys; #endif // CANDB_USE_SIGFLOAT // Electrical components eTXV temperature value uint8_t eTXV_eeChiller_Temp_Val_ro : 7; // Bits= 7 Offset= -40 Unit:'�C' #ifdef CANDB_USE_SIGFLOAT int8_t eTXV_eeChiller_Temp_Val_phys; #endif // CANDB_USE_SIGFLOAT // Rolling Counter [0 - 15] uint8_t CCU_VCU_Msg2_RC : 4; // Bits= 4 #else // Battery chiller eTXV position status uint8_t eTXV_batChiller_Pos_Stat; // Bits= 7 Unit:'%' // Battery chiller eTXV error status // 0 : "No error" // 1 : "Supply chain break" // 2 : "Supply chain short circuit" // 3 : "Component malfunction" uint8_t eTXV_batChiller_Err_Stat; // Bits= 2 // Battery chiller eTXV pressure value uint8_t eTXV_batChiller_Pressure_Val_ro; // Bits= 6 Factor= 0.1 Unit:'MPaG' #ifdef CANDB_USE_SIGFLOAT sigfloat_t eTXV_batChiller_Pressure_Val_phys; #endif // CANDB_USE_SIGFLOAT // Battery chiller eTXV temperature value uint8_t eTXV_batChiller_Temp_Val_ro; // Bits= 7 Offset= -40 Unit:'�C' #ifdef CANDB_USE_SIGFLOAT int8_t eTXV_batChiller_Temp_Val_phys; #endif // CANDB_USE_SIGFLOAT // Electrical components chiller eTXV position status uint8_t eTXV_eeChiller_Pos_Stat; // Bits= 7 Unit:'%' // Electrical components eTXV error status // 0 : "No error" // 1 : "Supply chain break" // 2 : "Supply chain short circuit" // 3 : "Component malfunction" uint8_t eTXV_eeChiller_Err_Stat; // Bits= 2 // Electrical components eTXV pressure value uint8_t eTXV_eeChiller_Pressure_Val_ro; // Bits= 6 Factor= 0.1 Unit:'MPaG' #ifdef CANDB_USE_SIGFLOAT sigfloat_t eTXV_eeChiller_Pressure_Val_phys; #endif // CANDB_USE_SIGFLOAT // Electrical components eTXV temperature value uint8_t eTXV_eeChiller_Temp_Val_ro; // Bits= 7 Offset= -40 Unit:'�C' #ifdef CANDB_USE_SIGFLOAT int8_t eTXV_eeChiller_Temp_Val_phys; #endif // CANDB_USE_SIGFLOAT // Rolling Counter [0 - 15] uint8_t CCU_VCU_Msg2_RC; // Bits= 4 #endif // CANDB_USE_BITS_SIGNAL #ifdef CANDB_USE_DIAG_MONITORS FrameMonitor_t mon1; #endif // CANDB_USE_DIAG_MONITORS } CCU_VCU_Msg2_t; // def @BCM_CLIMATIC_DATA CAN Message (869 0x365) #define BCM_CLIMATIC_DATA_IDE (0U) #define BCM_CLIMATIC_DATA_DLC (6U) #define BCM_CLIMATIC_DATA_CANID (0x365U) #define BCM_CLIMATIC_DATA_CYC (250U) // signal: @SolarSensRightVal_ro #define CANDB_SolarSensRightVal_ro_CovFactor (4.01575) #define CANDB_SolarSensRightVal_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (4.01575)) ) #define CANDB_SolarSensRightVal_ro_fromS(x) ( (((x) * (4.01575)) + (0.0)) ) // Value tables for @FrontWindowHeating_Status signal #ifndef FrontWindowHeating_Status_BCM_CLIMATIC_DATA_Heating_ON #define FrontWindowHeating_Status_BCM_CLIMATIC_DATA_Heating_ON (1) #endif #ifndef FrontWindowHeating_Status_BCM_CLIMATIC_DATA_Heating_OFF #define FrontWindowHeating_Status_BCM_CLIMATIC_DATA_Heating_OFF (0) #endif // Value tables for @RearWindowHeating_Status signal #ifndef RearWindowHeating_Status_BCM_CLIMATIC_DATA_Heating_ON #define RearWindowHeating_Status_BCM_CLIMATIC_DATA_Heating_ON (1) #endif #ifndef RearWindowHeating_Status_BCM_CLIMATIC_DATA_Heating_OFF #define RearWindowHeating_Status_BCM_CLIMATIC_DATA_Heating_OFF (0) #endif // signal: @SolarSensLeftVal_ro #define CANDB_SolarSensLeftVal_ro_CovFactor (4.01575) #define CANDB_SolarSensLeftVal_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (4.01575)) ) #define CANDB_SolarSensLeftVal_ro_fromS(x) ( (((x) * (4.01575)) + (0.0)) ) // Value tables for @SideWindowHeating_Status signal #ifndef SideWindowHeating_Status_BCM_CLIMATIC_DATA_Heating_ON #define SideWindowHeating_Status_BCM_CLIMATIC_DATA_Heating_ON (1) #endif #ifndef SideWindowHeating_Status_BCM_CLIMATIC_DATA_Heating_OFF #define SideWindowHeating_Status_BCM_CLIMATIC_DATA_Heating_OFF (0) #endif // Value tables for @BCM_SideWindowType_Stat signal #ifndef BCM_SideWindowType_Stat_BCM_CLIMATIC_DATA_Side_window_heaters_present #define BCM_SideWindowType_Stat_BCM_CLIMATIC_DATA_Side_window_heaters_present (1) #endif #ifndef BCM_SideWindowType_Stat_BCM_CLIMATIC_DATA_Side_window_heaters_not_present #define BCM_SideWindowType_Stat_BCM_CLIMATIC_DATA_Side_window_heaters_not_present (0) #endif // Value tables for @BCM_WindowWashingSt signal #ifndef BCM_WindowWashingSt_BCM_CLIMATIC_DATA_Window_Washing_On #define BCM_WindowWashingSt_BCM_CLIMATIC_DATA_Window_Washing_On (1) #endif #ifndef BCM_WindowWashingSt_BCM_CLIMATIC_DATA_Window_Washing_Off #define BCM_WindowWashingSt_BCM_CLIMATIC_DATA_Window_Washing_Off (0) #endif // Value tables for @BCM_GloveBox_Stat signal #ifndef BCM_GloveBox_Stat_BCM_CLIMATIC_DATA_Glove_box_opened #define BCM_GloveBox_Stat_BCM_CLIMATIC_DATA_Glove_box_opened (1) #endif #ifndef BCM_GloveBox_Stat_BCM_CLIMATIC_DATA_Glove_box_closed #define BCM_GloveBox_Stat_BCM_CLIMATIC_DATA_Glove_box_closed (0) #endif // signal: @WindshieldTemp_ro #define CANDB_WindshieldTemp_ro_CovFactor (0.5) #define CANDB_WindshieldTemp_ro_toS(x) ( (uint8_t) (((x) - (-40.0)) / (0.5)) ) #define CANDB_WindshieldTemp_ro_fromS(x) ( (((x) * (0.5)) + (-40.0)) ) // signal: @WindshieldHumidity_ro #define CANDB_WindshieldHumidity_ro_CovFactor (0.5) #define CANDB_WindshieldHumidity_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.5)) ) #define CANDB_WindshieldHumidity_ro_fromS(x) ( (((x) * (0.5)) + (0.0)) ) typedef struct { #ifdef CANDB_USE_BITS_SIGNAL // Solar radiation value from right sensor uint8_t SolarSensRightVal_ro; // Bits= 8 Factor= 4.01575 Unit:'W/qm' #ifdef CANDB_USE_SIGFLOAT sigfloat_t SolarSensRightVal_phys; #endif // CANDB_USE_SIGFLOAT // State of front window heating // 1 : "Heating ON" // 0 : "Heating OFF" uint8_t FrontWindowHeating_Status : 1; // Bits= 1 // State of rear window heating // 1 : "Heating ON" // 0 : "Heating OFF" uint8_t RearWindowHeating_Status : 1; // Bits= 1 // Solar radiation value from left sensor uint8_t SolarSensLeftVal_ro; // Bits= 8 Factor= 4.01575 Unit:'W/qm' #ifdef CANDB_USE_SIGFLOAT sigfloat_t SolarSensLeftVal_phys; #endif // CANDB_USE_SIGFLOAT // State of side windows heating // 1 : "Heating ON" // 0 : "Heating OFF" uint8_t SideWindowHeating_Status : 1; // Bits= 1 // Indicates side window heaters installed on vehicle or not // 1 : "Side window heaters present" // 0 : "Side window heaters not present" uint8_t BCM_SideWindowType_Stat : 1; // Bits= 1 // Indicates the window washer status // 1 : "Window Washing On" // 0 : "Window Washing Off" uint8_t BCM_WindowWashingSt : 1; // Bits= 1 // Current state of glove box (open or closed) // 1 : "Glove box opened" // 0 : "Glove box closed" uint8_t BCM_GloveBox_Stat : 1; // Bits= 1 // Temperature of front windshield zone uint8_t WindshieldTemp_ro; // Bits= 8 Offset= -40.0 Factor= 0.5 Unit:'�C' #ifdef CANDB_USE_SIGFLOAT sigfloat_t WindshieldTemp_phys; #endif // CANDB_USE_SIGFLOAT // Level of humidity in front windshield zone uint8_t WindshieldHumidity_ro; // Bits= 8 Factor= 0.5 Unit:'%' #ifdef CANDB_USE_SIGFLOAT sigfloat_t WindshieldHumidity_phys; #endif // CANDB_USE_SIGFLOAT #else // Solar radiation value from right sensor uint8_t SolarSensRightVal_ro; // Bits= 8 Factor= 4.01575 Unit:'W/qm' #ifdef CANDB_USE_SIGFLOAT sigfloat_t SolarSensRightVal_phys; #endif // CANDB_USE_SIGFLOAT // State of front window heating // 1 : "Heating ON" // 0 : "Heating OFF" uint8_t FrontWindowHeating_Status; // Bits= 1 // State of rear window heating // 1 : "Heating ON" // 0 : "Heating OFF" uint8_t RearWindowHeating_Status; // Bits= 1 // Solar radiation value from left sensor uint8_t SolarSensLeftVal_ro; // Bits= 8 Factor= 4.01575 Unit:'W/qm' #ifdef CANDB_USE_SIGFLOAT sigfloat_t SolarSensLeftVal_phys; #endif // CANDB_USE_SIGFLOAT // State of side windows heating // 1 : "Heating ON" // 0 : "Heating OFF" uint8_t SideWindowHeating_Status; // Bits= 1 // Indicates side window heaters installed on vehicle or not // 1 : "Side window heaters present" // 0 : "Side window heaters not present" uint8_t BCM_SideWindowType_Stat; // Bits= 1 // Indicates the window washer status // 1 : "Window Washing On" // 0 : "Window Washing Off" uint8_t BCM_WindowWashingSt; // Bits= 1 // Current state of glove box (open or closed) // 1 : "Glove box opened" // 0 : "Glove box closed" uint8_t BCM_GloveBox_Stat; // Bits= 1 // Temperature of front windshield zone uint8_t WindshieldTemp_ro; // Bits= 8 Offset= -40.0 Factor= 0.5 Unit:'�C' #ifdef CANDB_USE_SIGFLOAT sigfloat_t WindshieldTemp_phys; #endif // CANDB_USE_SIGFLOAT // Level of humidity in front windshield zone uint8_t WindshieldHumidity_ro; // Bits= 8 Factor= 0.5 Unit:'%' #ifdef CANDB_USE_SIGFLOAT sigfloat_t WindshieldHumidity_phys; #endif // CANDB_USE_SIGFLOAT #endif // CANDB_USE_BITS_SIGNAL #ifdef CANDB_USE_DIAG_MONITORS FrameMonitor_t mon1; #endif // CANDB_USE_DIAG_MONITORS } BCM_CLIMATIC_DATA_t; // def @CCU_Msg1 CAN Message (896 0x380) #define CCU_Msg1_IDE (0U) #define CCU_Msg1_DLC (8U) #define CCU_Msg1_CANID (0x380U) #define CCU_Msg1_CYC (250U) // Value tables for @CCU_MirrorHeating_Req signal #ifndef CCU_MirrorHeating_Req_CCU_Msg1_Error #define CCU_MirrorHeating_Req_CCU_Msg1_Error (3) #endif #ifndef CCU_MirrorHeating_Req_CCU_Msg1_Heating_off_requested #define CCU_MirrorHeating_Req_CCU_Msg1_Heating_off_requested (2) #endif #ifndef CCU_MirrorHeating_Req_CCU_Msg1_Heating_on_requested #define CCU_MirrorHeating_Req_CCU_Msg1_Heating_on_requested (1) #endif #ifndef CCU_MirrorHeating_Req_CCU_Msg1_Unknown #define CCU_MirrorHeating_Req_CCU_Msg1_Unknown (0) #endif // Value tables for @CCU_RecirculationLed_Cmd signal #ifndef CCU_RecirculationLed_Cmd_CCU_Msg1_On #define CCU_RecirculationLed_Cmd_CCU_Msg1_On (1) #endif #ifndef CCU_RecirculationLed_Cmd_CCU_Msg1_Off #define CCU_RecirculationLed_Cmd_CCU_Msg1_Off (0) #endif // Value tables for @CCU_DefrostLed_Req signal #ifndef CCU_DefrostLed_Req_CCU_Msg1_On #define CCU_DefrostLed_Req_CCU_Msg1_On (1) #endif #ifndef CCU_DefrostLed_Req_CCU_Msg1_Off #define CCU_DefrostLed_Req_CCU_Msg1_Off (0) #endif // Value tables for @CCU_SideWindowHeating_Req signal #ifndef CCU_SideWindowHeating_Req_CCU_Msg1_Error #define CCU_SideWindowHeating_Req_CCU_Msg1_Error (3) #endif #ifndef CCU_SideWindowHeating_Req_CCU_Msg1_Heating_off_requested #define CCU_SideWindowHeating_Req_CCU_Msg1_Heating_off_requested (2) #endif #ifndef CCU_SideWindowHeating_Req_CCU_Msg1_Heating_on_requested #define CCU_SideWindowHeating_Req_CCU_Msg1_Heating_on_requested (1) #endif #ifndef CCU_SideWindowHeating_Req_CCU_Msg1_Unknown #define CCU_SideWindowHeating_Req_CCU_Msg1_Unknown (0) #endif // Value tables for @CCU_RearWindowHeating_Req signal #ifndef CCU_RearWindowHeating_Req_CCU_Msg1_Error #define CCU_RearWindowHeating_Req_CCU_Msg1_Error (3) #endif #ifndef CCU_RearWindowHeating_Req_CCU_Msg1_Heating_off_requested #define CCU_RearWindowHeating_Req_CCU_Msg1_Heating_off_requested (2) #endif #ifndef CCU_RearWindowHeating_Req_CCU_Msg1_Heating_on_requested #define CCU_RearWindowHeating_Req_CCU_Msg1_Heating_on_requested (1) #endif #ifndef CCU_RearWindowHeating_Req_CCU_Msg1_Unknown #define CCU_RearWindowHeating_Req_CCU_Msg1_Unknown (0) #endif // Value tables for @CCU_FrontWindowHeating_Req signal #ifndef CCU_FrontWindowHeating_Req_CCU_Msg1_Error #define CCU_FrontWindowHeating_Req_CCU_Msg1_Error (3) #endif #ifndef CCU_FrontWindowHeating_Req_CCU_Msg1_Heating_off_requested #define CCU_FrontWindowHeating_Req_CCU_Msg1_Heating_off_requested (2) #endif #ifndef CCU_FrontWindowHeating_Req_CCU_Msg1_Heating_on_requested #define CCU_FrontWindowHeating_Req_CCU_Msg1_Heating_on_requested (1) #endif #ifndef CCU_FrontWindowHeating_Req_CCU_Msg1_Unknown #define CCU_FrontWindowHeating_Req_CCU_Msg1_Unknown (0) #endif // Value tables for @CCU_EmergAirCleaning_Stat signal #ifndef CCU_EmergAirCleaning_Stat_CCU_Msg1_Active #define CCU_EmergAirCleaning_Stat_CCU_Msg1_Active (1) #endif #ifndef CCU_EmergAirCleaning_Stat_CCU_Msg1_Incative #define CCU_EmergAirCleaning_Stat_CCU_Msg1_Incative (0) #endif // Value tables for @CCU_FireExtinguishSys_Stat signal #ifndef CCU_FireExtinguishSys_Stat_CCU_Msg1_Active #define CCU_FireExtinguishSys_Stat_CCU_Msg1_Active (1) #endif #ifndef CCU_FireExtinguishSys_Stat_CCU_Msg1_Inactive #define CCU_FireExtinguishSys_Stat_CCU_Msg1_Inactive (0) #endif // Value tables for @CCU_FLAutoPsngrLed_Cmd signal #ifndef CCU_FLAutoPsngrLed_Cmd_CCU_Msg1_On #define CCU_FLAutoPsngrLed_Cmd_CCU_Msg1_On (1) #endif #ifndef CCU_FLAutoPsngrLed_Cmd_CCU_Msg1_Off #define CCU_FLAutoPsngrLed_Cmd_CCU_Msg1_Off (0) #endif // Value tables for @CCU_FRAutoPsngrLed_Cmd signal #ifndef CCU_FRAutoPsngrLed_Cmd_CCU_Msg1_On #define CCU_FRAutoPsngrLed_Cmd_CCU_Msg1_On (1) #endif #ifndef CCU_FRAutoPsngrLed_Cmd_CCU_Msg1_Off #define CCU_FRAutoPsngrLed_Cmd_CCU_Msg1_Off (0) #endif // Value tables for @CCU_RLAutoPsngrLed_Cmd signal #ifndef CCU_RLAutoPsngrLed_Cmd_CCU_Msg1_On #define CCU_RLAutoPsngrLed_Cmd_CCU_Msg1_On (1) #endif #ifndef CCU_RLAutoPsngrLed_Cmd_CCU_Msg1_Off #define CCU_RLAutoPsngrLed_Cmd_CCU_Msg1_Off (0) #endif // Value tables for @CCU_RRAutoPsngrLed_Cmd signal #ifndef CCU_RRAutoPsngrLed_Cmd_CCU_Msg1_On #define CCU_RRAutoPsngrLed_Cmd_CCU_Msg1_On (1) #endif #ifndef CCU_RRAutoPsngrLed_Cmd_CCU_Msg1_Off #define CCU_RRAutoPsngrLed_Cmd_CCU_Msg1_Off (0) #endif // Value tables for @CCU_AC_MaxLed_Cmd signal #ifndef CCU_AC_MaxLed_Cmd_CCU_Msg1_On #define CCU_AC_MaxLed_Cmd_CCU_Msg1_On (1) #endif #ifndef CCU_AC_MaxLed_Cmd_CCU_Msg1_Off #define CCU_AC_MaxLed_Cmd_CCU_Msg1_Off (0) #endif typedef struct { #ifdef CANDB_USE_BITS_SIGNAL // Request to activate mirrors heating // 3 : "Error" // 2 : "Heating off requested" // 1 : "Heating on requested" // 0 : "Unknown" uint8_t CCU_MirrorHeating_Req : 2; // Bits= 2 // Air recirculation LED indicator command // 1 : "On" // 0 : "Off" uint8_t CCU_RecirculationLed_Cmd : 1; // Bits= 1 // Defrost function LED indicator on/off request // 1 : "On" // 0 : "Off" uint8_t CCU_DefrostLed_Req : 1; // Bits= 1 // Request to activate side windows heating // 3 : "Error" // 2 : "Heating off requested" // 1 : "Heating on requested" // 0 : "Unknown" uint8_t CCU_SideWindowHeating_Req : 2; // Bits= 2 // Request to activate rear window heating // 3 : "Error" // 2 : "Heating off requested" // 1 : "Heating on requested" // 0 : "Unknown" uint8_t CCU_RearWindowHeating_Req : 2; // Bits= 2 // Request to activate front window heating // 3 : "Error" // 2 : "Heating off requested" // 1 : "Heating on requested" // 0 : "Unknown" uint8_t CCU_FrontWindowHeating_Req : 2; // Bits= 2 // Status of emergency air cleaning system // 1 : "Active" // 0 : "Incative" uint8_t CCU_EmergAirCleaning_Stat : 1; // Bits= 1 // Status of fire extinguishing system // 1 : "Active" // 0 : "Inactive" uint8_t CCU_FireExtinguishSys_Stat : 1; // Bits= 1 // Automate climate control On/Off LED command // 1 : "On" // 0 : "Off" uint8_t CCU_FLAutoPsngrLed_Cmd : 1; // Bits= 1 // Automate climate control On/Off LED command // 1 : "On" // 0 : "Off" uint8_t CCU_FRAutoPsngrLed_Cmd : 1; // Bits= 1 // Automate climate control On/Off LED command // 1 : "On" // 0 : "Off" uint8_t CCU_RLAutoPsngrLed_Cmd : 1; // Bits= 1 // Automate climate control On/Off LED command // 1 : "On" // 0 : "Off" uint8_t CCU_RRAutoPsngrLed_Cmd : 1; // Bits= 1 // LED indicator command in CCPF when automatic Coditioner with max power is Active // 1 : "On" // 0 : "Off" uint8_t CCU_AC_MaxLed_Cmd : 1; // Bits= 1 // Rolling Counter [0 - 15] uint8_t CCU_MSG1_RC : 4; // Bits= 4 // Checksum XOR8 of the data field this message // Checksum computed as per XOR algorithm: // Byte 1 XOR byte 2 .... XOR byte n-1. (n = packet length.) uint8_t CCU_MSG1_CS; // Bits= 8 #else // Request to activate mirrors heating // 3 : "Error" // 2 : "Heating off requested" // 1 : "Heating on requested" // 0 : "Unknown" uint8_t CCU_MirrorHeating_Req; // Bits= 2 // Air recirculation LED indicator command // 1 : "On" // 0 : "Off" uint8_t CCU_RecirculationLed_Cmd; // Bits= 1 // Defrost function LED indicator on/off request // 1 : "On" // 0 : "Off" uint8_t CCU_DefrostLed_Req; // Bits= 1 // Request to activate side windows heating // 3 : "Error" // 2 : "Heating off requested" // 1 : "Heating on requested" // 0 : "Unknown" uint8_t CCU_SideWindowHeating_Req; // Bits= 2 // Request to activate rear window heating // 3 : "Error" // 2 : "Heating off requested" // 1 : "Heating on requested" // 0 : "Unknown" uint8_t CCU_RearWindowHeating_Req; // Bits= 2 // Request to activate front window heating // 3 : "Error" // 2 : "Heating off requested" // 1 : "Heating on requested" // 0 : "Unknown" uint8_t CCU_FrontWindowHeating_Req; // Bits= 2 // Status of emergency air cleaning system // 1 : "Active" // 0 : "Incative" uint8_t CCU_EmergAirCleaning_Stat; // Bits= 1 // Status of fire extinguishing system // 1 : "Active" // 0 : "Inactive" uint8_t CCU_FireExtinguishSys_Stat; // Bits= 1 // Automate climate control On/Off LED command // 1 : "On" // 0 : "Off" uint8_t CCU_FLAutoPsngrLed_Cmd; // Bits= 1 // Automate climate control On/Off LED command // 1 : "On" // 0 : "Off" uint8_t CCU_FRAutoPsngrLed_Cmd; // Bits= 1 // Automate climate control On/Off LED command // 1 : "On" // 0 : "Off" uint8_t CCU_RLAutoPsngrLed_Cmd; // Bits= 1 // Automate climate control On/Off LED command // 1 : "On" // 0 : "Off" uint8_t CCU_RRAutoPsngrLed_Cmd; // Bits= 1 // LED indicator command in CCPF when automatic Coditioner with max power is Active // 1 : "On" // 0 : "Off" uint8_t CCU_AC_MaxLed_Cmd; // Bits= 1 // Rolling Counter [0 - 15] uint8_t CCU_MSG1_RC; // Bits= 4 // Checksum XOR8 of the data field this message // Checksum computed as per XOR algorithm: // Byte 1 XOR byte 2 .... XOR byte n-1. (n = packet length.) uint8_t CCU_MSG1_CS; // Bits= 8 #endif // CANDB_USE_BITS_SIGNAL #ifdef CANDB_USE_DIAG_MONITORS FrameMonitor_t mon1; #endif // CANDB_USE_DIAG_MONITORS } CCU_Msg1_t; // def @VCU_CCU_Req CAN Message (925 0x39d) #define VCU_CCU_Req_IDE (0U) #define VCU_CCU_Req_DLC (4U) #define VCU_CCU_Req_CANID (0x39dU) #define VCU_CCU_Req_CYC (200U) // signal: @VCU_LiquidHeaterCurrentTemp_Stat_ro #define CANDB_VCU_LiquidHeaterCurrentTemp_Stat_ro_CovFactor (0.5) #define CANDB_VCU_LiquidHeaterCurrentTemp_Stat_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.5)) ) #define CANDB_VCU_LiquidHeaterCurrentTemp_Stat_ro_fromS(x) ( (((x) * (0.5)) + (0.0)) ) typedef struct { #ifdef CANDB_USE_BITS_SIGNAL uint8_t VCU_eTXV_batChiller_Pos_Req : 7; // Bits= 7 Unit:'%' uint8_t VCU_eTXV_eeChiller_Pos_Req : 7; // Bits= 7 Unit:'%' // Status from VCU about current temperature Liquid HVAC Heater uint8_t VCU_LiquidHeaterCurrentTemp_Stat_ro; // Bits= 8 Factor= 0.5 Unit:'�C' #ifdef CANDB_USE_SIGFLOAT sigfloat_t VCU_LiquidHeaterCurrentTemp_Stat_phys; #endif // CANDB_USE_SIGFLOAT // Rolling Counter [0 - 15] uint8_t VCU_CCU_Req_RC : 4; // Bits= 4 #else uint8_t VCU_eTXV_batChiller_Pos_Req; // Bits= 7 Unit:'%' uint8_t VCU_eTXV_eeChiller_Pos_Req; // Bits= 7 Unit:'%' // Status from VCU about current temperature Liquid HVAC Heater uint8_t VCU_LiquidHeaterCurrentTemp_Stat_ro; // Bits= 8 Factor= 0.5 Unit:'�C' #ifdef CANDB_USE_SIGFLOAT sigfloat_t VCU_LiquidHeaterCurrentTemp_Stat_phys; #endif // CANDB_USE_SIGFLOAT // Rolling Counter [0 - 15] uint8_t VCU_CCU_Req_RC; // Bits= 4 #endif // CANDB_USE_BITS_SIGNAL #ifdef CANDB_USE_DIAG_MONITORS FrameMonitor_t mon1; #endif // CANDB_USE_DIAG_MONITORS } VCU_CCU_Req_t; // def @ESC_08 CAN Message (961 0x3c1) #define ESC_08_IDE (0U) #define ESC_08_DLC (5U) #define ESC_08_CANID (0x3c1U) #define ESC_08_CYC (500U) // signal: @ESC_Mileage_Val_ro #define CANDB_ESC_Mileage_Val_ro_CovFactor (0.1) #define CANDB_ESC_Mileage_Val_ro_toS(x) ( (uint32_t) (((x) - (0.0)) / (0.1)) ) #define CANDB_ESC_Mileage_Val_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) typedef struct { #ifdef CANDB_USE_BITS_SIGNAL // Mileage/ odometer signal to provide vehicle mileage information. // 0x7FFFFFF = Error uint32_t ESC_Mileage_Val_ro; // Bits=27 Factor= 0.1 Unit:'km' #ifdef CANDB_USE_SIGFLOAT sigfloat_t ESC_Mileage_Val_phys; #endif // CANDB_USE_SIGFLOAT // Rolling Counter [0 - 15] uint8_t ESC_08_RC : 4; // Bits= 4 // Checksum CRC8 SAE J1850 of the data field this message uint8_t ESC_08_CS; // Bits= 8 #else // Mileage/ odometer signal to provide vehicle mileage information. // 0x7FFFFFF = Error uint32_t ESC_Mileage_Val_ro; // Bits=27 Factor= 0.1 Unit:'km' #ifdef CANDB_USE_SIGFLOAT sigfloat_t ESC_Mileage_Val_phys; #endif // CANDB_USE_SIGFLOAT // Rolling Counter [0 - 15] uint8_t ESC_08_RC; // Bits= 4 // Checksum CRC8 SAE J1850 of the data field this message uint8_t ESC_08_CS; // Bits= 8 #endif // CANDB_USE_BITS_SIGNAL #ifdef CANDB_USE_DIAG_MONITORS FrameMonitor_t mon1; #endif // CANDB_USE_DIAG_MONITORS } ESC_08_t; // def @SMFL_status CAN Message (1232 0x4d0) #define SMFL_status_IDE (0U) #define SMFL_status_DLC (8U) #define SMFL_status_CANID (0x4d0U) #define SMFL_status_CYC (250U) // Value tables for @SMFL_CarpetHeat_Stat signal #ifndef SMFL_CarpetHeat_Stat_SMFL_status_Carpet_heating_is_active #define SMFL_CarpetHeat_Stat_SMFL_status_Carpet_heating_is_active (1) #endif #ifndef SMFL_CarpetHeat_Stat_SMFL_status_Carpet_heating_is_inactive #define SMFL_CarpetHeat_Stat_SMFL_status_Carpet_heating_is_inactive (0) #endif typedef struct { #ifdef CANDB_USE_BITS_SIGNAL // Carpet heating status for front left zone // 1 : "Carpet heating is active" // 0 : "Carpet heating is inactive" uint8_t SMFL_CarpetHeat_Stat : 1; // Bits= 1 #else // Carpet heating status for front left zone // 1 : "Carpet heating is active" // 0 : "Carpet heating is inactive" uint8_t SMFL_CarpetHeat_Stat; // Bits= 1 #endif // CANDB_USE_BITS_SIGNAL #ifdef CANDB_USE_DIAG_MONITORS FrameMonitor_t mon1; #endif // CANDB_USE_DIAG_MONITORS } SMFL_status_t; // def @SMFR_status CAN Message (1233 0x4d1) #define SMFR_status_IDE (0U) #define SMFR_status_DLC (8U) #define SMFR_status_CANID (0x4d1U) #define SMFR_status_CYC (250U) // Value tables for @SMFR_CarpetHeat_Stat signal #ifndef SMFR_CarpetHeat_Stat_SMFR_status_Carpet_heating_is_active #define SMFR_CarpetHeat_Stat_SMFR_status_Carpet_heating_is_active (1) #endif #ifndef SMFR_CarpetHeat_Stat_SMFR_status_Carpet_heating_is_inactive #define SMFR_CarpetHeat_Stat_SMFR_status_Carpet_heating_is_inactive (0) #endif typedef struct { #ifdef CANDB_USE_BITS_SIGNAL // Carpet heating status for front right zone // 1 : "Carpet heating is active" // 0 : "Carpet heating is inactive" uint8_t SMFR_CarpetHeat_Stat : 1; // Bits= 1 #else // Carpet heating status for front right zone // 1 : "Carpet heating is active" // 0 : "Carpet heating is inactive" uint8_t SMFR_CarpetHeat_Stat; // Bits= 1 #endif // CANDB_USE_BITS_SIGNAL #ifdef CANDB_USE_DIAG_MONITORS FrameMonitor_t mon1; #endif // CANDB_USE_DIAG_MONITORS } SMFR_status_t; // def @SMRL_status CAN Message (1234 0x4d2) #define SMRL_status_IDE (0U) #define SMRL_status_DLC (8U) #define SMRL_status_CANID (0x4d2U) #define SMRL_status_CYC (250U) // Value tables for @SMRL_CarpetHeat_Stat signal #ifndef SMRL_CarpetHeat_Stat_SMRL_status_Carpet_heating_is_active #define SMRL_CarpetHeat_Stat_SMRL_status_Carpet_heating_is_active (1) #endif #ifndef SMRL_CarpetHeat_Stat_SMRL_status_Carpet_heating_is_inactive #define SMRL_CarpetHeat_Stat_SMRL_status_Carpet_heating_is_inactive (0) #endif typedef struct { #ifdef CANDB_USE_BITS_SIGNAL // Carpet heating status for rear left zone // 1 : "Carpet heating is active" // 0 : "Carpet heating is inactive" uint8_t SMRL_CarpetHeat_Stat : 1; // Bits= 1 #else // Carpet heating status for rear left zone // 1 : "Carpet heating is active" // 0 : "Carpet heating is inactive" uint8_t SMRL_CarpetHeat_Stat; // Bits= 1 #endif // CANDB_USE_BITS_SIGNAL #ifdef CANDB_USE_DIAG_MONITORS FrameMonitor_t mon1; #endif // CANDB_USE_DIAG_MONITORS } SMRL_status_t; // def @SMRR_status CAN Message (1235 0x4d3) #define SMRR_status_IDE (0U) #define SMRR_status_DLC (8U) #define SMRR_status_CANID (0x4d3U) #define SMRR_status_CYC (250U) // Value tables for @SMRR_CarpetHeat_Stat signal #ifndef SMRR_CarpetHeat_Stat_SMRR_status_Carpet_heating_is_active #define SMRR_CarpetHeat_Stat_SMRR_status_Carpet_heating_is_active (1) #endif #ifndef SMRR_CarpetHeat_Stat_SMRR_status_Carpet_heating_is_inactive #define SMRR_CarpetHeat_Stat_SMRR_status_Carpet_heating_is_inactive (0) #endif typedef struct { #ifdef CANDB_USE_BITS_SIGNAL // Carpet heating status for rear right zone // 1 : "Carpet heating is active" // 0 : "Carpet heating is inactive" uint8_t SMRR_CarpetHeat_Stat : 1; // Bits= 1 #else // Carpet heating status for rear right zone // 1 : "Carpet heating is active" // 0 : "Carpet heating is inactive" uint8_t SMRR_CarpetHeat_Stat; // Bits= 1 #endif // CANDB_USE_BITS_SIGNAL #ifdef CANDB_USE_DIAG_MONITORS FrameMonitor_t mon1; #endif // CANDB_USE_DIAG_MONITORS } SMRR_status_t; // def @CCU_Errors CAN Message (1278 0x4fe) #define CCU_Errors_IDE (0U) #define CCU_Errors_DLC (4U) #define CCU_Errors_CANID (0x4feU) #define CCU_Errors_CYC (1000U) // Value tables for @CCU_IncarTempErrF_Stat signal #ifndef CCU_IncarTempErrF_Stat_CCU_Errors_Error #define CCU_IncarTempErrF_Stat_CCU_Errors_Error (1) #endif #ifndef CCU_IncarTempErrF_Stat_CCU_Errors_No_error #define CCU_IncarTempErrF_Stat_CCU_Errors_No_error (0) #endif // Value tables for @CCU_IncarTempErrR_Stat signal #ifndef CCU_IncarTempErrR_Stat_CCU_Errors_Error #define CCU_IncarTempErrR_Stat_CCU_Errors_Error (1) #endif #ifndef CCU_IncarTempErrR_Stat_CCU_Errors_No_error #define CCU_IncarTempErrR_Stat_CCU_Errors_No_error (0) #endif // Value tables for @CCU_DuctTempSenErrF_Stat signal #ifndef CCU_DuctTempSenErrF_Stat_CCU_Errors_Error #define CCU_DuctTempSenErrF_Stat_CCU_Errors_Error (1) #endif #ifndef CCU_DuctTempSenErrF_Stat_CCU_Errors_No_error #define CCU_DuctTempSenErrF_Stat_CCU_Errors_No_error (0) #endif // Value tables for @CCU_DuctTempSenErrR_Stat signal #ifndef CCU_DuctTempSenErrR_Stat_CCU_Errors_Error #define CCU_DuctTempSenErrR_Stat_CCU_Errors_Error (1) #endif #ifndef CCU_DuctTempSenErrR_Stat_CCU_Errors_No_error #define CCU_DuctTempSenErrR_Stat_CCU_Errors_No_error (0) #endif // Value tables for @CCU_EvaTempSenErrF_Stat signal #ifndef CCU_EvaTempSenErrF_Stat_CCU_Errors_Error #define CCU_EvaTempSenErrF_Stat_CCU_Errors_Error (1) #endif #ifndef CCU_EvaTempSenErrF_Stat_CCU_Errors_No_error #define CCU_EvaTempSenErrF_Stat_CCU_Errors_No_error (0) #endif // Value tables for @CCU_EvaTempSenErrR_Stat signal #ifndef CCU_EvaTempSenErrR_Stat_CCU_Errors_Error #define CCU_EvaTempSenErrR_Stat_CCU_Errors_Error (1) #endif #ifndef CCU_EvaTempSenErrR_Stat_CCU_Errors_No_error #define CCU_EvaTempSenErrR_Stat_CCU_Errors_No_error (0) #endif // Value tables for @CCU_DeflectorSwErrF_Stat signal #ifndef CCU_DeflectorSwErrF_Stat_CCU_Errors_Error #define CCU_DeflectorSwErrF_Stat_CCU_Errors_Error (1) #endif #ifndef CCU_DeflectorSwErrF_Stat_CCU_Errors_No_error #define CCU_DeflectorSwErrF_Stat_CCU_Errors_No_error (0) #endif // Value tables for @CCU_DeflectorSwErrR_Stat signal #ifndef CCU_DeflectorSwErrR_Stat_CCU_Errors_Error #define CCU_DeflectorSwErrR_Stat_CCU_Errors_Error (1) #endif #ifndef CCU_DeflectorSwErrR_Stat_CCU_Errors_No_error #define CCU_DeflectorSwErrR_Stat_CCU_Errors_No_error (0) #endif // Value tables for @CCU_PressSenErr_Stat signal #ifndef CCU_PressSenErr_Stat_CCU_Errors_Error #define CCU_PressSenErr_Stat_CCU_Errors_Error (1) #endif #ifndef CCU_PressSenErr_Stat_CCU_Errors_No_error #define CCU_PressSenErr_Stat_CCU_Errors_No_error (0) #endif // Value tables for @CCU_AmbienTemptSenErr_Stat signal #ifndef CCU_AmbienTemptSenErr_Stat_CCU_Errors_Error #define CCU_AmbienTemptSenErr_Stat_CCU_Errors_Error (1) #endif #ifndef CCU_AmbienTemptSenErr_Stat_CCU_Errors_No_error #define CCU_AmbienTemptSenErr_Stat_CCU_Errors_No_error (0) #endif // Value tables for @CCU_SealingValveErr_Stat signal #ifndef CCU_SealingValveErr_Stat_CCU_Errors_Error #define CCU_SealingValveErr_Stat_CCU_Errors_Error (1) #endif #ifndef CCU_SealingValveErr_Stat_CCU_Errors_No_error #define CCU_SealingValveErr_Stat_CCU_Errors_No_error (0) #endif // Value tables for @CCU_ETXVerr_Stat signal #ifndef CCU_ETXVerr_Stat_CCU_Errors_Error #define CCU_ETXVerr_Stat_CCU_Errors_Error (1) #endif #ifndef CCU_ETXVerr_Stat_CCU_Errors_No_error #define CCU_ETXVerr_Stat_CCU_Errors_No_error (0) #endif // Value tables for @CCU_HVACfanOrTXVerrF_Stat signal #ifndef CCU_HVACfanOrTXVerrF_Stat_CCU_Errors_Error #define CCU_HVACfanOrTXVerrF_Stat_CCU_Errors_Error (1) #endif #ifndef CCU_HVACfanOrTXVerrF_Stat_CCU_Errors_No_error #define CCU_HVACfanOrTXVerrF_Stat_CCU_Errors_No_error (0) #endif // Value tables for @CCU_HVACfanOrTXVerrR_Stat signal #ifndef CCU_HVACfanOrTXVerrR_Stat_CCU_Errors_Error #define CCU_HVACfanOrTXVerrR_Stat_CCU_Errors_Error (1) #endif #ifndef CCU_HVACfanOrTXVerrR_Stat_CCU_Errors_No_error #define CCU_HVACfanOrTXVerrR_Stat_CCU_Errors_No_error (0) #endif // Value tables for @CCU_ActuatorErrF_Stat signal #ifndef CCU_ActuatorErrF_Stat_CCU_Errors_Error #define CCU_ActuatorErrF_Stat_CCU_Errors_Error (1) #endif #ifndef CCU_ActuatorErrF_Stat_CCU_Errors_No_error #define CCU_ActuatorErrF_Stat_CCU_Errors_No_error (0) #endif // Value tables for @CCU_ActuatorErrR_Stat signal #ifndef CCU_ActuatorErrR_Stat_CCU_Errors_Error #define CCU_ActuatorErrR_Stat_CCU_Errors_Error (1) #endif #ifndef CCU_ActuatorErrR_Stat_CCU_Errors_No_error #define CCU_ActuatorErrR_Stat_CCU_Errors_No_error (0) #endif // Value tables for @CCU_UltravioletErr_Stat signal #ifndef CCU_UltravioletErr_Stat_CCU_Errors_Component_malfunction #define CCU_UltravioletErr_Stat_CCU_Errors_Component_malfunction (3) #endif #ifndef CCU_UltravioletErr_Stat_CCU_Errors_Supply_chain_short_circuit #define CCU_UltravioletErr_Stat_CCU_Errors_Supply_chain_short_circuit (2) #endif #ifndef CCU_UltravioletErr_Stat_CCU_Errors_Supply_chain_break #define CCU_UltravioletErr_Stat_CCU_Errors_Supply_chain_break (1) #endif #ifndef CCU_UltravioletErr_Stat_CCU_Errors_No_error #define CCU_UltravioletErr_Stat_CCU_Errors_No_error (0) #endif // Value tables for @CCU_VinRecordErr_Stat signal #ifndef CCU_VinRecordErr_Stat_CCU_Errors_Error #define CCU_VinRecordErr_Stat_CCU_Errors_Error (1) #endif #ifndef CCU_VinRecordErr_Stat_CCU_Errors_No_error #define CCU_VinRecordErr_Stat_CCU_Errors_No_error (0) #endif // Value tables for @CCU_AirQualSenErr_Stat signal #ifndef CCU_AirQualSenErr_Stat_CCU_Errors_Component_malfunction #define CCU_AirQualSenErr_Stat_CCU_Errors_Component_malfunction (4) #endif #ifndef CCU_AirQualSenErr_Stat_CCU_Errors_Communication_error #define CCU_AirQualSenErr_Stat_CCU_Errors_Communication_error (3) #endif #ifndef CCU_AirQualSenErr_Stat_CCU_Errors_Supply_chain_short_circuit #define CCU_AirQualSenErr_Stat_CCU_Errors_Supply_chain_short_circuit (2) #endif #ifndef CCU_AirQualSenErr_Stat_CCU_Errors_Supply_chain_break #define CCU_AirQualSenErr_Stat_CCU_Errors_Supply_chain_break (1) #endif #ifndef CCU_AirQualSenErr_Stat_CCU_Errors_No_error #define CCU_AirQualSenErr_Stat_CCU_Errors_No_error (0) #endif // Value tables for @CCU_CommErr_Stat signal #ifndef CCU_CommErr_Stat_CCU_Errors_Error #define CCU_CommErr_Stat_CCU_Errors_Error (1) #endif #ifndef CCU_CommErr_Stat_CCU_Errors_No_error #define CCU_CommErr_Stat_CCU_Errors_No_error (0) #endif // Value tables for @CCU_TWVerr_Stat signal #ifndef CCU_TWVerr_Stat_CCU_Errors_Error #define CCU_TWVerr_Stat_CCU_Errors_Error (1) #endif #ifndef CCU_TWVerr_Stat_CCU_Errors_No_error #define CCU_TWVerr_Stat_CCU_Errors_No_error (0) #endif // Value tables for @CCU_IonizationErr_Stat signal #ifndef CCU_IonizationErr_Stat_CCU_Errors_Component_malfunction #define CCU_IonizationErr_Stat_CCU_Errors_Component_malfunction (4) #endif #ifndef CCU_IonizationErr_Stat_CCU_Errors_Communication_error #define CCU_IonizationErr_Stat_CCU_Errors_Communication_error (3) #endif #ifndef CCU_IonizationErr_Stat_CCU_Errors_Supply_chain_short_circuit #define CCU_IonizationErr_Stat_CCU_Errors_Supply_chain_short_circuit (2) #endif #ifndef CCU_IonizationErr_Stat_CCU_Errors_Supply_chain_break #define CCU_IonizationErr_Stat_CCU_Errors_Supply_chain_break (1) #endif #ifndef CCU_IonizationErr_Stat_CCU_Errors_No_error #define CCU_IonizationErr_Stat_CCU_Errors_No_error (0) #endif // Value tables for @CCU_AromaErr_Stat signal #ifndef CCU_AromaErr_Stat_CCU_Errors_Component_malfunction #define CCU_AromaErr_Stat_CCU_Errors_Component_malfunction (4) #endif #ifndef CCU_AromaErr_Stat_CCU_Errors_Communication_error #define CCU_AromaErr_Stat_CCU_Errors_Communication_error (3) #endif #ifndef CCU_AromaErr_Stat_CCU_Errors_Supply_chain_short_circuit #define CCU_AromaErr_Stat_CCU_Errors_Supply_chain_short_circuit (2) #endif #ifndef CCU_AromaErr_Stat_CCU_Errors_Supply_chain_break #define CCU_AromaErr_Stat_CCU_Errors_Supply_chain_break (1) #endif #ifndef CCU_AromaErr_Stat_CCU_Errors_No_error #define CCU_AromaErr_Stat_CCU_Errors_No_error (0) #endif typedef struct { #ifdef CANDB_USE_BITS_SIGNAL // Incar temperature sensors for front zone error status // 1 : "Error" // 0 : "No error" uint8_t CCU_IncarTempErrF_Stat : 1; // Bits= 1 // Incar temperature sensors for rear zone error status // 1 : "Error" // 0 : "No error" uint8_t CCU_IncarTempErrR_Stat : 1; // Bits= 1 // Duct temperature sensors for front zone error status // 1 : "Error" // 0 : "No error" uint8_t CCU_DuctTempSenErrF_Stat : 1; // Bits= 1 // Duct temperature sensors for rear zone error status // 1 : "Error" // 0 : "No error" uint8_t CCU_DuctTempSenErrR_Stat : 1; // Bits= 1 // Evaporator temperature sensor for front zone error status // 1 : "Error" // 0 : "No error" uint8_t CCU_EvaTempSenErrF_Stat : 1; // Bits= 1 // Evaporator temperature sensor for rear zone error status // 1 : "Error" // 0 : "No error" uint8_t CCU_EvaTempSenErrR_Stat : 1; // Bits= 1 // Deflectors for front zone error status // 1 : "Error" // 0 : "No error" uint8_t CCU_DeflectorSwErrF_Stat : 1; // Bits= 1 // Deflectors for rear zone error status // 1 : "Error" // 0 : "No error" uint8_t CCU_DeflectorSwErrR_Stat : 1; // Bits= 1 // Pressure sensors error status // 1 : "Error" // 0 : "No error" uint8_t CCU_PressSenErr_Stat : 1; // Bits= 1 // Ambient temperature sensor error status // 1 : "Error" // 0 : "No error" uint8_t CCU_AmbienTemptSenErr_Stat : 1; // Bits= 1 // Sealing valve error status // 1 : "Error" // 0 : "No error" uint8_t CCU_SealingValveErr_Stat : 1; // Bits= 1 // ETXV error status // 1 : "Error" // 0 : "No error" uint8_t CCU_ETXVerr_Stat : 1; // Bits= 1 // HVAC fan or TXV for front zone error status // 1 : "Error" // 0 : "No error" uint8_t CCU_HVACfanOrTXVerrF_Stat : 1; // Bits= 1 // HVAC fan or TXV for rear zone error status // 1 : "Error" // 0 : "No error" uint8_t CCU_HVACfanOrTXVerrR_Stat : 1; // Bits= 1 // Actuators for front zone error status // 1 : "Error" // 0 : "No error" uint8_t CCU_ActuatorErrF_Stat : 1; // Bits= 1 // Actuators for rear zone error status // 1 : "Error" // 0 : "No error" uint8_t CCU_ActuatorErrR_Stat : 1; // Bits= 1 // Ultraviolet system error status // 3 : "Component malfunction" // 2 : "Supply chain short circuit // 1 : "Supply chain break // 0 : "No error" uint8_t CCU_UltravioletErr_Stat : 2; // Bits= 2 // CCU VIN record error status // 1 : "Error" // 0 : "No error" uint8_t CCU_VinRecordErr_Stat : 1; // Bits= 1 // Air quality sensor error status // 4 : "Component malfunction" // 3 : "Communication error" // 2 : "Supply chain short circuit" // 1 : "Supply chain break" // 0 : "No error" uint8_t CCU_AirQualSenErr_Stat : 3; // Bits= 3 // CCU communication error status // 1 : "Error" // 0 : "No error" uint8_t CCU_CommErr_Stat : 1; // Bits= 1 // Two-way valve error status // 1 : "Error" // 0 : "No error" uint8_t CCU_TWVerr_Stat : 1; // Bits= 1 // Ionization system error status // 4 : "Component malfunction" // 3 : "Communication error // 2 : "Supply chain short circuit // 1 : "Supply chain break // 0 : "No error" uint8_t CCU_IonizationErr_Stat : 3; // Bits= 3 // Aromatization system error status // 4 : "Component malfunction" // 3 : "Communication error // 2 : "Supply chain short circuit // 1 : "Supply chain break // 0 : "No error" uint8_t CCU_AromaErr_Stat : 3; // Bits= 3 #else // Incar temperature sensors for front zone error status // 1 : "Error" // 0 : "No error" uint8_t CCU_IncarTempErrF_Stat; // Bits= 1 // Incar temperature sensors for rear zone error status // 1 : "Error" // 0 : "No error" uint8_t CCU_IncarTempErrR_Stat; // Bits= 1 // Duct temperature sensors for front zone error status // 1 : "Error" // 0 : "No error" uint8_t CCU_DuctTempSenErrF_Stat; // Bits= 1 // Duct temperature sensors for rear zone error status // 1 : "Error" // 0 : "No error" uint8_t CCU_DuctTempSenErrR_Stat; // Bits= 1 // Evaporator temperature sensor for front zone error status // 1 : "Error" // 0 : "No error" uint8_t CCU_EvaTempSenErrF_Stat; // Bits= 1 // Evaporator temperature sensor for rear zone error status // 1 : "Error" // 0 : "No error" uint8_t CCU_EvaTempSenErrR_Stat; // Bits= 1 // Deflectors for front zone error status // 1 : "Error" // 0 : "No error" uint8_t CCU_DeflectorSwErrF_Stat; // Bits= 1 // Deflectors for rear zone error status // 1 : "Error" // 0 : "No error" uint8_t CCU_DeflectorSwErrR_Stat; // Bits= 1 // Pressure sensors error status // 1 : "Error" // 0 : "No error" uint8_t CCU_PressSenErr_Stat; // Bits= 1 // Ambient temperature sensor error status // 1 : "Error" // 0 : "No error" uint8_t CCU_AmbienTemptSenErr_Stat; // Bits= 1 // Sealing valve error status // 1 : "Error" // 0 : "No error" uint8_t CCU_SealingValveErr_Stat; // Bits= 1 // ETXV error status // 1 : "Error" // 0 : "No error" uint8_t CCU_ETXVerr_Stat; // Bits= 1 // HVAC fan or TXV for front zone error status // 1 : "Error" // 0 : "No error" uint8_t CCU_HVACfanOrTXVerrF_Stat; // Bits= 1 // HVAC fan or TXV for rear zone error status // 1 : "Error" // 0 : "No error" uint8_t CCU_HVACfanOrTXVerrR_Stat; // Bits= 1 // Actuators for front zone error status // 1 : "Error" // 0 : "No error" uint8_t CCU_ActuatorErrF_Stat; // Bits= 1 // Actuators for rear zone error status // 1 : "Error" // 0 : "No error" uint8_t CCU_ActuatorErrR_Stat; // Bits= 1 // Ultraviolet system error status // 3 : "Component malfunction" // 2 : "Supply chain short circuit // 1 : "Supply chain break // 0 : "No error" uint8_t CCU_UltravioletErr_Stat; // Bits= 2 // CCU VIN record error status // 1 : "Error" // 0 : "No error" uint8_t CCU_VinRecordErr_Stat; // Bits= 1 // Air quality sensor error status // 4 : "Component malfunction" // 3 : "Communication error" // 2 : "Supply chain short circuit" // 1 : "Supply chain break" // 0 : "No error" uint8_t CCU_AirQualSenErr_Stat; // Bits= 3 // CCU communication error status // 1 : "Error" // 0 : "No error" uint8_t CCU_CommErr_Stat; // Bits= 1 // Two-way valve error status // 1 : "Error" // 0 : "No error" uint8_t CCU_TWVerr_Stat; // Bits= 1 // Ionization system error status // 4 : "Component malfunction" // 3 : "Communication error // 2 : "Supply chain short circuit // 1 : "Supply chain break // 0 : "No error" uint8_t CCU_IonizationErr_Stat; // Bits= 3 // Aromatization system error status // 4 : "Component malfunction" // 3 : "Communication error // 2 : "Supply chain short circuit // 1 : "Supply chain break // 0 : "No error" uint8_t CCU_AromaErr_Stat; // Bits= 3 #endif // CANDB_USE_BITS_SIGNAL #ifdef CANDB_USE_DIAG_MONITORS FrameMonitor_t mon1; #endif // CANDB_USE_DIAG_MONITORS } CCU_Errors_t; // def @CCU_Msg3 CAN Message (1281 0x501) #define CCU_Msg3_IDE (0U) #define CCU_Msg3_DLC (5U) #define CCU_Msg3_CANID (0x501U) #define CCU_Msg3_CYC (500U) // Value tables for @CCU_FAN_Req signal #ifndef CCU_FAN_Req_CCU_Msg3_Error #define CCU_FAN_Req_CCU_Msg3_Error (127) #endif // Value tables for @CCU_RestMode_Stat signal #ifndef CCU_RestMode_Stat_CCU_Msg3_Inactive #define CCU_RestMode_Stat_CCU_Msg3_Inactive (3) #endif #ifndef CCU_RestMode_Stat_CCU_Msg3_Active #define CCU_RestMode_Stat_CCU_Msg3_Active (2) #endif #ifndef CCU_RestMode_Stat_CCU_Msg3_Standby #define CCU_RestMode_Stat_CCU_Msg3_Standby (1) #endif #ifndef CCU_RestMode_Stat_CCU_Msg3_Not_requested #define CCU_RestMode_Stat_CCU_Msg3_Not_requested (0) #endif // signal: @CCU_IncarTempSum_Val_ro #define CANDB_CCU_IncarTempSum_Val_ro_CovFactor (0.5) #define CANDB_CCU_IncarTempSum_Val_ro_toS(x) ( (uint8_t) (((x) - (-50.0)) / (0.5)) ) #define CANDB_CCU_IncarTempSum_Val_ro_fromS(x) ( (((x) * (0.5)) + (-50.0)) ) typedef struct { #ifdef CANDB_USE_BITS_SIGNAL // Indicates the requested FAN speed from CCU system. // 127 : "Error" uint8_t CCU_FAN_Req : 7; // Bits= 7 Unit:'%' // CCU REST mode status // 3 : "Inactive" // 2 : "Active" // 1 : "Standby" // 0 : "Not requested" uint8_t CCU_RestMode_Stat : 2; // Bits= 2 // Arithmetic mean air temperature inside the car uint8_t CCU_IncarTempSum_Val_ro; // Bits= 8 Offset= -50.0 Factor= 0.5 Unit:'�C' #ifdef CANDB_USE_SIGFLOAT sigfloat_t CCU_IncarTempSum_Val_phys; #endif // CANDB_USE_SIGFLOAT // Rolling Counter [0 - 15] uint8_t CCU_MSG3_RC : 4; // Bits= 4 // Checksum XOR8 of the data field this message // Checksum computed as per XOR algorithm: // Byte 1 XOR byte 2 .... XOR byte n-1. (n = packet length.) uint8_t CCU_MSG3_CS; // Bits= 8 #else // Indicates the requested FAN speed from CCU system. // 127 : "Error" uint8_t CCU_FAN_Req; // Bits= 7 Unit:'%' // CCU REST mode status // 3 : "Inactive" // 2 : "Active" // 1 : "Standby" // 0 : "Not requested" uint8_t CCU_RestMode_Stat; // Bits= 2 // Arithmetic mean air temperature inside the car uint8_t CCU_IncarTempSum_Val_ro; // Bits= 8 Offset= -50.0 Factor= 0.5 Unit:'�C' #ifdef CANDB_USE_SIGFLOAT sigfloat_t CCU_IncarTempSum_Val_phys; #endif // CANDB_USE_SIGFLOAT // Rolling Counter [0 - 15] uint8_t CCU_MSG3_RC; // Bits= 4 // Checksum XOR8 of the data field this message // Checksum computed as per XOR algorithm: // Byte 1 XOR byte 2 .... XOR byte n-1. (n = packet length.) uint8_t CCU_MSG3_CS; // Bits= 8 #endif // CANDB_USE_BITS_SIGNAL #ifdef CANDB_USE_DIAG_MONITORS FrameMonitor_t mon1; #endif // CANDB_USE_DIAG_MONITORS } CCU_Msg3_t; // def @SDM_Cmd CAN Message (1295 0x50f) #define SDM_Cmd_IDE (0U) #define SDM_Cmd_DLC (5U) #define SDM_Cmd_CANID (0x50fU) // Value tables for @SDM_Aroma_Req signal #ifndef SDM_Aroma_Req_SDM_Cmd_No_change #define SDM_Aroma_Req_SDM_Cmd_No_change (0) #endif #ifndef SDM_Aroma_Req_SDM_Cmd_Aromatization_on #define SDM_Aroma_Req_SDM_Cmd_Aromatization_on (1) #endif #ifndef SDM_Aroma_Req_SDM_Cmd_Aromatization_off #define SDM_Aroma_Req_SDM_Cmd_Aromatization_off (2) #endif // Value tables for @SDM_AromaIntens_Req signal #ifndef SDM_AromaIntens_Req_SDM_Cmd_Aromatization_mode_3_step #define SDM_AromaIntens_Req_SDM_Cmd_Aromatization_mode_3_step (3) #endif #ifndef SDM_AromaIntens_Req_SDM_Cmd_Aromatization_mode_2_step #define SDM_AromaIntens_Req_SDM_Cmd_Aromatization_mode_2_step (2) #endif #ifndef SDM_AromaIntens_Req_SDM_Cmd_Aromatization_mode_1_step #define SDM_AromaIntens_Req_SDM_Cmd_Aromatization_mode_1_step (1) #endif #ifndef SDM_AromaIntens_Req_SDM_Cmd_No_change #define SDM_AromaIntens_Req_SDM_Cmd_No_change (0) #endif typedef struct { #ifdef CANDB_USE_BITS_SIGNAL // Aromatization activation request // 0 : "No change" // 1 : "Aromatization on" // 2 : "Aromatization off" uint8_t SDM_Aroma_Req : 2; // Bits= 2 // Aromatization intensity set request // 3 : "Aromatization mode 3 step" // 2 : "Aromatization mode 2 step" // 1 : "Aromatization mode 1 step" // 0 : "No change" uint8_t SDM_AromaIntens_Req : 2; // Bits= 2 #else // Aromatization activation request // 0 : "No change" // 1 : "Aromatization on" // 2 : "Aromatization off" uint8_t SDM_Aroma_Req; // Bits= 2 // Aromatization intensity set request // 3 : "Aromatization mode 3 step" // 2 : "Aromatization mode 2 step" // 1 : "Aromatization mode 1 step" // 0 : "No change" uint8_t SDM_AromaIntens_Req; // Bits= 2 #endif // CANDB_USE_BITS_SIGNAL #ifdef CANDB_USE_DIAG_MONITORS FrameMonitor_t mon1; #endif // CANDB_USE_DIAG_MONITORS } SDM_Cmd_t; // VIN Code structure: // e.g: XKN412300H1000027 // XKN: code WMI // 412300: vehicle model // H: Vehicle production year // 1: assembling at NAMI // 6 last characters: serial number. // REMARK: In case of VIN programming has failed, all characters will be = '0' // def @VEH_VIN CAN Message (1306 0x51a) #define VEH_VIN_IDE (0U) #define VEH_VIN_DLC (8U) #define VEH_VIN_CANID (0x51aU) #define VEH_VIN_CYC (5000U) // Value tables for @VIN_Addressing signal #ifndef VIN_Addressing_VEH_VIN_VIN_Part_3 #define VIN_Addressing_VEH_VIN_VIN_Part_3 (2) #endif #ifndef VIN_Addressing_VEH_VIN_VIN_Part_2 #define VIN_Addressing_VEH_VIN_VIN_Part_2 (1) #endif #ifndef VIN_Addressing_VEH_VIN_VIN_Part_1 #define VIN_Addressing_VEH_VIN_VIN_Part_1 (0) #endif typedef struct { #ifdef CANDB_USE_BITS_SIGNAL // Addresses the VIN Part: // 0x0 = Addresses VIN part 1 // 0x1 = Addresses VIN part 2 // 0x2 = Addresses VIN part 3 // 2 : "VIN Part 3" // 1 : "VIN Part 2" // 0 : "VIN Part 1" // MULTIPLEX master signal uint8_t VIN_Addressing : 2; // Bits= 2 // VIN character 1 // REMARK: // In case of VIN programming has failed, character will be = '0' // multiplex variable uint8_t VIN_Char1; // Bits= 8 // VIN character 8 // REMARK: // In case of VIN programming has failed, character will be = '0' // multiplex variable uint8_t VIN_Char8; // Bits= 8 // VIN character 15 // REMARK: // In case of VIN programming has failed, character will be = '0' // multiplex variable uint8_t VIN_Char15; // Bits= 8 // VIN character 16 // REMARK: // In case of VIN programming has failed, character will be = '0' // multiplex variable uint8_t VIN_Char16; // Bits= 8 // VIN character 2 // REMARK: // In case of VIN programming has failed, character will be = '0' // multiplex variable uint8_t VIN_Char2; // Bits= 8 // VIN character 9 // REMARK: // In case of VIN programming has failed, character will be = '0' // multiplex variable uint8_t VIN_Char9; // Bits= 8 // VIN character 10 // REMARK: // In case of VIN programming has failed, character will be = '0' // multiplex variable uint8_t VIN_Char10; // Bits= 8 // VIN character 17 // REMARK: // In case of VIN programming has failed, character will be = '0' // multiplex variable uint8_t VIN_Char17; // Bits= 8 // VIN character 3 // REMARK: // In case of VIN programming has failed, character will be = '0' // multiplex variable uint8_t VIN_Char3; // Bits= 8 // VIN character 4 // REMARK: // In case of VIN programming has failed, character will be = '0' // multiplex variable uint8_t VIN_Char4; // Bits= 8 // VIN character 11 // REMARK: // In case of VIN programming has failed, character will be = '0' // multiplex variable uint8_t VIN_Char11; // Bits= 8 // VIN character 12 // REMARK: // In case of VIN programming has failed, character will be = '0' // multiplex variable uint8_t VIN_Char12; // Bits= 8 // VIN character 5 // REMARK: // In case of VIN programming has failed, character will be = '0' // multiplex variable uint8_t VIN_Char5; // Bits= 8 // VIN character 6 // REMARK: // In case of VIN programming has failed, character will be = '0' // multiplex variable uint8_t VIN_Char6; // Bits= 8 // VIN character 13 // REMARK: // In case of VIN programming has failed, character will be = '0' // multiplex variable uint8_t VIN_Char13; // Bits= 8 // VIN character 7 // REMARK: // In case of VIN programming has failed, character will be = '0' // multiplex variable uint8_t VIN_Char7; // Bits= 8 // VIN character 14 // REMARK: // In case of VIN programming has failed, character will be = '0' // multiplex variable uint8_t VIN_Char14; // Bits= 8 #else // Addresses the VIN Part: // 0x0 = Addresses VIN part 1 // 0x1 = Addresses VIN part 2 // 0x2 = Addresses VIN part 3 // 2 : "VIN Part 3" // 1 : "VIN Part 2" // 0 : "VIN Part 1" // MULTIPLEX master signal uint8_t VIN_Addressing; // Bits= 2 // VIN character 1 // REMARK: // In case of VIN programming has failed, character will be = '0' // multiplex variable uint8_t VIN_Char1; // Bits= 8 // VIN character 8 // REMARK: // In case of VIN programming has failed, character will be = '0' // multiplex variable uint8_t VIN_Char8; // Bits= 8 // VIN character 15 // REMARK: // In case of VIN programming has failed, character will be = '0' // multiplex variable uint8_t VIN_Char15; // Bits= 8 // VIN character 16 // REMARK: // In case of VIN programming has failed, character will be = '0' // multiplex variable uint8_t VIN_Char16; // Bits= 8 // VIN character 2 // REMARK: // In case of VIN programming has failed, character will be = '0' // multiplex variable uint8_t VIN_Char2; // Bits= 8 // VIN character 9 // REMARK: // In case of VIN programming has failed, character will be = '0' // multiplex variable uint8_t VIN_Char9; // Bits= 8 // VIN character 10 // REMARK: // In case of VIN programming has failed, character will be = '0' // multiplex variable uint8_t VIN_Char10; // Bits= 8 // VIN character 17 // REMARK: // In case of VIN programming has failed, character will be = '0' // multiplex variable uint8_t VIN_Char17; // Bits= 8 // VIN character 3 // REMARK: // In case of VIN programming has failed, character will be = '0' // multiplex variable uint8_t VIN_Char3; // Bits= 8 // VIN character 4 // REMARK: // In case of VIN programming has failed, character will be = '0' // multiplex variable uint8_t VIN_Char4; // Bits= 8 // VIN character 11 // REMARK: // In case of VIN programming has failed, character will be = '0' // multiplex variable uint8_t VIN_Char11; // Bits= 8 // VIN character 12 // REMARK: // In case of VIN programming has failed, character will be = '0' // multiplex variable uint8_t VIN_Char12; // Bits= 8 // VIN character 5 // REMARK: // In case of VIN programming has failed, character will be = '0' // multiplex variable uint8_t VIN_Char5; // Bits= 8 // VIN character 6 // REMARK: // In case of VIN programming has failed, character will be = '0' // multiplex variable uint8_t VIN_Char6; // Bits= 8 // VIN character 13 // REMARK: // In case of VIN programming has failed, character will be = '0' // multiplex variable uint8_t VIN_Char13; // Bits= 8 // VIN character 7 // REMARK: // In case of VIN programming has failed, character will be = '0' // multiplex variable uint8_t VIN_Char7; // Bits= 8 // VIN character 14 // REMARK: // In case of VIN programming has failed, character will be = '0' // multiplex variable uint8_t VIN_Char14; // Bits= 8 #endif // CANDB_USE_BITS_SIGNAL #ifdef CANDB_USE_DIAG_MONITORS FrameMonitor_t mon1; #endif // CANDB_USE_DIAG_MONITORS } VEH_VIN_t; // def @OCUFL_MSG CAN Message (1313 0x521) #define OCUFL_MSG_IDE (0U) #define OCUFL_MSG_DLC (2U) #define OCUFL_MSG_CANID (0x521U) #define OCUFL_MSG_CYC (1000U) // Value tables for @OCUFL_OccupantWeight_Stat signal #ifndef OCUFL_OccupantWeight_Stat_OCUFL_MSG_Large_Occupant #define OCUFL_OccupantWeight_Stat_OCUFL_MSG_Large_Occupant (3) #endif #ifndef OCUFL_OccupantWeight_Stat_OCUFL_MSG_Small_Occupant #define OCUFL_OccupantWeight_Stat_OCUFL_MSG_Small_Occupant (2) #endif #ifndef OCUFL_OccupantWeight_Stat_OCUFL_MSG_Child_Seat #define OCUFL_OccupantWeight_Stat_OCUFL_MSG_Child_Seat (1) #endif #ifndef OCUFL_OccupantWeight_Stat_OCUFL_MSG_Empty #define OCUFL_OccupantWeight_Stat_OCUFL_MSG_Empty (0) #endif // Value tables for @OCUFL_SeatOccupied_Stat signal #ifndef OCUFL_SeatOccupied_Stat_OCUFL_MSG_Occupied #define OCUFL_SeatOccupied_Stat_OCUFL_MSG_Occupied (1) #endif #ifndef OCUFL_SeatOccupied_Stat_OCUFL_MSG_Not_Occupied #define OCUFL_SeatOccupied_Stat_OCUFL_MSG_Not_Occupied (0) #endif // Value tables for @OCUFL_SensorError_Stat signal #ifndef OCUFL_SensorError_Stat_OCUFL_MSG_Error #define OCUFL_SensorError_Stat_OCUFL_MSG_Error (1) #endif #ifndef OCUFL_SensorError_Stat_OCUFL_MSG_No_error #define OCUFL_SensorError_Stat_OCUFL_MSG_No_error (0) #endif typedef struct { #ifdef CANDB_USE_BITS_SIGNAL // Front left seat weight threshold indication. // $0 = Reserved // $1 = Child Seat // $2 = Small Occupant // $3 = Large Occupant // 3 : "Large Occupant" // 2 : "Small Occupant" // 1 : "Child Seat" // 0 : "Empty" uint8_t OCUFL_OccupantWeight_Stat : 2; // Bits= 2 // Front Left seat occupied indication. // $0 = Not Occupied // $1 = Occupied // OCSFL_SeatOccupied OCSFL_OccupantWeight OCSFL status // 0x00 0x00 Empty // 0x01 // 1 : "Occupied" // 0 : "Not Occupied" uint8_t OCUFL_SeatOccupied_Stat : 1; // Bits= 1 // Front Left seat mat sensor fault indication. // This bit shall remain latched for the duration of the current ignition cycle. // $0 = No Error // $1 = Error Detected // 1 : "Error" // 0 : "No error" uint8_t OCUFL_SensorError_Stat : 1; // Bits= 1 // Rolling Counter [0 - 15] uint8_t OCUFL_MSG_RC : 4; // Bits= 4 // Checksum CRC8 SAE J1850 of the data field this message uint8_t OCUFL_MSG_CS; // Bits= 8 #else // Front left seat weight threshold indication. // $0 = Reserved // $1 = Child Seat // $2 = Small Occupant // $3 = Large Occupant // 3 : "Large Occupant" // 2 : "Small Occupant" // 1 : "Child Seat" // 0 : "Empty" uint8_t OCUFL_OccupantWeight_Stat; // Bits= 2 // Front Left seat occupied indication. // $0 = Not Occupied // $1 = Occupied // OCSFL_SeatOccupied OCSFL_OccupantWeight OCSFL status // 0x00 0x00 Empty // 0x01 // 1 : "Occupied" // 0 : "Not Occupied" uint8_t OCUFL_SeatOccupied_Stat; // Bits= 1 // Front Left seat mat sensor fault indication. // This bit shall remain latched for the duration of the current ignition cycle. // $0 = No Error // $1 = Error Detected // 1 : "Error" // 0 : "No error" uint8_t OCUFL_SensorError_Stat; // Bits= 1 // Rolling Counter [0 - 15] uint8_t OCUFL_MSG_RC; // Bits= 4 // Checksum CRC8 SAE J1850 of the data field this message uint8_t OCUFL_MSG_CS; // Bits= 8 #endif // CANDB_USE_BITS_SIGNAL #ifdef CANDB_USE_DIAG_MONITORS FrameMonitor_t mon1; #endif // CANDB_USE_DIAG_MONITORS } OCUFL_MSG_t; // def @OCUFR_MSG CAN Message (1314 0x522) #define OCUFR_MSG_IDE (0U) #define OCUFR_MSG_DLC (2U) #define OCUFR_MSG_CANID (0x522U) #define OCUFR_MSG_CYC (1000U) // Value tables for @OCUFR_OccupantWeight_Stat signal #ifndef OCUFR_OccupantWeight_Stat_OCUFR_MSG_Large_Occupant #define OCUFR_OccupantWeight_Stat_OCUFR_MSG_Large_Occupant (3) #endif #ifndef OCUFR_OccupantWeight_Stat_OCUFR_MSG_Small_Occupant #define OCUFR_OccupantWeight_Stat_OCUFR_MSG_Small_Occupant (2) #endif #ifndef OCUFR_OccupantWeight_Stat_OCUFR_MSG_Child_Seat #define OCUFR_OccupantWeight_Stat_OCUFR_MSG_Child_Seat (1) #endif #ifndef OCUFR_OccupantWeight_Stat_OCUFR_MSG_Empty #define OCUFR_OccupantWeight_Stat_OCUFR_MSG_Empty (0) #endif // Value tables for @OCUFR_SeatOccupied_Stat signal #ifndef OCUFR_SeatOccupied_Stat_OCUFR_MSG_Occupied #define OCUFR_SeatOccupied_Stat_OCUFR_MSG_Occupied (1) #endif #ifndef OCUFR_SeatOccupied_Stat_OCUFR_MSG_Not_Occupied #define OCUFR_SeatOccupied_Stat_OCUFR_MSG_Not_Occupied (0) #endif // Value tables for @OCUFR_SensorError_Stat signal #ifndef OCUFR_SensorError_Stat_OCUFR_MSG_Error #define OCUFR_SensorError_Stat_OCUFR_MSG_Error (1) #endif #ifndef OCUFR_SensorError_Stat_OCUFR_MSG_No_error #define OCUFR_SensorError_Stat_OCUFR_MSG_No_error (0) #endif typedef struct { #ifdef CANDB_USE_BITS_SIGNAL // Front right seat weight threshold indication. // $0 = Reserved // $1 = Child Seat // $2 = Small Occupant // $3 = Large Occupant // 3 : "Large Occupant" // 2 : "Small Occupant" // 1 : "Child Seat" // 0 : "Empty" uint8_t OCUFR_OccupantWeight_Stat : 2; // Bits= 2 // Front Right seat occupied indication. // $0 = Not Occupied // $1 = Occupied // OCSFR_SeatOccupied OCSFR_OccupantWeight OCSFR status // 0x00 0x00 Empty // 0x01 // 1 : "Occupied" // 0 : "Not Occupied" uint8_t OCUFR_SeatOccupied_Stat : 1; // Bits= 1 // Front Right seat mat sensor fault indication. // This bit shall remain latched for the duration of the current ignition cycle. // $0 = No Error // $1 = Error Detected // 1 : "Error" // 0 : "No error" uint8_t OCUFR_SensorError_Stat : 1; // Bits= 1 // Rolling Counter [0 - 15] uint8_t OCUFR_MSG_RC : 4; // Bits= 4 // Checksum CRC8 SAE J1850 of the data field this message uint8_t OCUFR_MSG_CS; // Bits= 8 #else // Front right seat weight threshold indication. // $0 = Reserved // $1 = Child Seat // $2 = Small Occupant // $3 = Large Occupant // 3 : "Large Occupant" // 2 : "Small Occupant" // 1 : "Child Seat" // 0 : "Empty" uint8_t OCUFR_OccupantWeight_Stat; // Bits= 2 // Front Right seat occupied indication. // $0 = Not Occupied // $1 = Occupied // OCSFR_SeatOccupied OCSFR_OccupantWeight OCSFR status // 0x00 0x00 Empty // 0x01 // 1 : "Occupied" // 0 : "Not Occupied" uint8_t OCUFR_SeatOccupied_Stat; // Bits= 1 // Front Right seat mat sensor fault indication. // This bit shall remain latched for the duration of the current ignition cycle. // $0 = No Error // $1 = Error Detected // 1 : "Error" // 0 : "No error" uint8_t OCUFR_SensorError_Stat; // Bits= 1 // Rolling Counter [0 - 15] uint8_t OCUFR_MSG_RC; // Bits= 4 // Checksum CRC8 SAE J1850 of the data field this message uint8_t OCUFR_MSG_CS; // Bits= 8 #endif // CANDB_USE_BITS_SIGNAL #ifdef CANDB_USE_DIAG_MONITORS FrameMonitor_t mon1; #endif // CANDB_USE_DIAG_MONITORS } OCUFR_MSG_t; // def @OCURL_MSG CAN Message (1315 0x523) #define OCURL_MSG_IDE (0U) #define OCURL_MSG_DLC (2U) #define OCURL_MSG_CANID (0x523U) #define OCURL_MSG_CYC (1000U) // Value tables for @OCURL_OccupantWeight_Stat signal #ifndef OCURL_OccupantWeight_Stat_OCURL_MSG_Large_Occupant #define OCURL_OccupantWeight_Stat_OCURL_MSG_Large_Occupant (3) #endif #ifndef OCURL_OccupantWeight_Stat_OCURL_MSG_Small_Occupant #define OCURL_OccupantWeight_Stat_OCURL_MSG_Small_Occupant (2) #endif #ifndef OCURL_OccupantWeight_Stat_OCURL_MSG_Child_Seat #define OCURL_OccupantWeight_Stat_OCURL_MSG_Child_Seat (1) #endif #ifndef OCURL_OccupantWeight_Stat_OCURL_MSG_Empty #define OCURL_OccupantWeight_Stat_OCURL_MSG_Empty (0) #endif // Value tables for @OCURL_SeatOccupied_Stat signal #ifndef OCURL_SeatOccupied_Stat_OCURL_MSG_Occupied #define OCURL_SeatOccupied_Stat_OCURL_MSG_Occupied (1) #endif #ifndef OCURL_SeatOccupied_Stat_OCURL_MSG_Not_Occupied #define OCURL_SeatOccupied_Stat_OCURL_MSG_Not_Occupied (0) #endif // Value tables for @OCURL_SensorError_Stat signal #ifndef OCURL_SensorError_Stat_OCURL_MSG_Error #define OCURL_SensorError_Stat_OCURL_MSG_Error (1) #endif #ifndef OCURL_SensorError_Stat_OCURL_MSG_No_error #define OCURL_SensorError_Stat_OCURL_MSG_No_error (0) #endif typedef struct { #ifdef CANDB_USE_BITS_SIGNAL // Rear left seat weight threshold indication. // $0 = Reserved // $1 = Child Seat // $2 = Small Occupant // $3 = Large Occupant // 3 : "Large Occupant" // 2 : "Small Occupant" // 1 : "Child Seat" // 0 : "Empty" uint8_t OCURL_OccupantWeight_Stat : 2; // Bits= 2 // Rear Left seat occupied indication. // $0 = Not Occupied // $1 = Occupied // OCSRL_SeatOccupied OCSRL_OccupantWeight OCSRL status // 0x00 0x00 Empty // 0x01 // 1 : "Occupied" // 0 : "Not Occupied" uint8_t OCURL_SeatOccupied_Stat : 1; // Bits= 1 // Rear Left seat mat sensor fault indication. // This bit shall remain latched for the duration of the current ignition cycle. // $0 = No Error // $1 = Error Detected // 1 : "Error" // 0 : "No error" uint8_t OCURL_SensorError_Stat : 1; // Bits= 1 // Rolling Counter [0 - 15] uint8_t OCURL_MSG_RC : 4; // Bits= 4 // Checksum CRC8 SAE J1850 of the data field this message uint8_t OCURL_MSG_CS; // Bits= 8 #else // Rear left seat weight threshold indication. // $0 = Reserved // $1 = Child Seat // $2 = Small Occupant // $3 = Large Occupant // 3 : "Large Occupant" // 2 : "Small Occupant" // 1 : "Child Seat" // 0 : "Empty" uint8_t OCURL_OccupantWeight_Stat; // Bits= 2 // Rear Left seat occupied indication. // $0 = Not Occupied // $1 = Occupied // OCSRL_SeatOccupied OCSRL_OccupantWeight OCSRL status // 0x00 0x00 Empty // 0x01 // 1 : "Occupied" // 0 : "Not Occupied" uint8_t OCURL_SeatOccupied_Stat; // Bits= 1 // Rear Left seat mat sensor fault indication. // This bit shall remain latched for the duration of the current ignition cycle. // $0 = No Error // $1 = Error Detected // 1 : "Error" // 0 : "No error" uint8_t OCURL_SensorError_Stat; // Bits= 1 // Rolling Counter [0 - 15] uint8_t OCURL_MSG_RC; // Bits= 4 // Checksum CRC8 SAE J1850 of the data field this message uint8_t OCURL_MSG_CS; // Bits= 8 #endif // CANDB_USE_BITS_SIGNAL #ifdef CANDB_USE_DIAG_MONITORS FrameMonitor_t mon1; #endif // CANDB_USE_DIAG_MONITORS } OCURL_MSG_t; // def @OCURR_MSG CAN Message (1316 0x524) #define OCURR_MSG_IDE (0U) #define OCURR_MSG_DLC (2U) #define OCURR_MSG_CANID (0x524U) #define OCURR_MSG_CYC (1000U) // Value tables for @OCURR_OccupantWeight_Stat signal #ifndef OCURR_OccupantWeight_Stat_OCURR_MSG_Large_Occupant #define OCURR_OccupantWeight_Stat_OCURR_MSG_Large_Occupant (3) #endif #ifndef OCURR_OccupantWeight_Stat_OCURR_MSG_Small_Occupant #define OCURR_OccupantWeight_Stat_OCURR_MSG_Small_Occupant (2) #endif #ifndef OCURR_OccupantWeight_Stat_OCURR_MSG_Child_Seat #define OCURR_OccupantWeight_Stat_OCURR_MSG_Child_Seat (1) #endif #ifndef OCURR_OccupantWeight_Stat_OCURR_MSG_Empty #define OCURR_OccupantWeight_Stat_OCURR_MSG_Empty (0) #endif // Value tables for @OCURR_SeatOccupied_Stat signal #ifndef OCURR_SeatOccupied_Stat_OCURR_MSG_Occupied #define OCURR_SeatOccupied_Stat_OCURR_MSG_Occupied (1) #endif #ifndef OCURR_SeatOccupied_Stat_OCURR_MSG_Not_Occupied #define OCURR_SeatOccupied_Stat_OCURR_MSG_Not_Occupied (0) #endif // Value tables for @OCURR_SensorError_Stat signal #ifndef OCURR_SensorError_Stat_OCURR_MSG_Error #define OCURR_SensorError_Stat_OCURR_MSG_Error (1) #endif #ifndef OCURR_SensorError_Stat_OCURR_MSG_No_error #define OCURR_SensorError_Stat_OCURR_MSG_No_error (0) #endif typedef struct { #ifdef CANDB_USE_BITS_SIGNAL // Rear right seat weight threshold indication. // $0 = Reserved // $1 = Child Seat // $2 = Small Occupant // $3 = Large Occupant // 3 : "Large Occupant" // 2 : "Small Occupant" // 1 : "Child Seat" // 0 : "Empty" uint8_t OCURR_OccupantWeight_Stat : 2; // Bits= 2 // Rear Right seat occupied indication. // $0 = Not Occupied // $1 = Occupied // OCSRR_SeatOccupied OCSRR_OccupantWeight OCSRR status // 0x00 0x00 Empty // 0x01 // 1 : "Occupied" // 0 : "Not Occupied" uint8_t OCURR_SeatOccupied_Stat : 1; // Bits= 1 // Rear Right seat mat sensor fault indication. // This bit shall remain latched for the duration of the current ignition cycle. // $0 = No Error // $1 = Error Detected // 1 : "Error" // 0 : "No error" uint8_t OCURR_SensorError_Stat : 1; // Bits= 1 // Rolling Counter [0 - 15] uint8_t OCURR_MSG_RC : 4; // Bits= 4 // Checksum CRC8 SAE J1850 of the data field this message uint8_t OCURR_MSG_CS; // Bits= 8 #else // Rear right seat weight threshold indication. // $0 = Reserved // $1 = Child Seat // $2 = Small Occupant // $3 = Large Occupant // 3 : "Large Occupant" // 2 : "Small Occupant" // 1 : "Child Seat" // 0 : "Empty" uint8_t OCURR_OccupantWeight_Stat; // Bits= 2 // Rear Right seat occupied indication. // $0 = Not Occupied // $1 = Occupied // OCSRR_SeatOccupied OCSRR_OccupantWeight OCSRR status // 0x00 0x00 Empty // 0x01 // 1 : "Occupied" // 0 : "Not Occupied" uint8_t OCURR_SeatOccupied_Stat; // Bits= 1 // Rear Right seat mat sensor fault indication. // This bit shall remain latched for the duration of the current ignition cycle. // $0 = No Error // $1 = Error Detected // 1 : "Error" // 0 : "No error" uint8_t OCURR_SensorError_Stat; // Bits= 1 // Rolling Counter [0 - 15] uint8_t OCURR_MSG_RC; // Bits= 4 // Checksum CRC8 SAE J1850 of the data field this message uint8_t OCURR_MSG_CS; // Bits= 8 #endif // CANDB_USE_BITS_SIGNAL #ifdef CANDB_USE_DIAG_MONITORS FrameMonitor_t mon1; #endif // CANDB_USE_DIAG_MONITORS } OCURR_MSG_t; // Dividing wall status // def @DW_STATE CAN Message (1417 0x589) #define DW_STATE_IDE (0U) #define DW_STATE_DLC (4U) #define DW_STATE_CANID (0x589U) #define DW_STATE_CYC (100U) // Value tables for @DW_GlassPosition_Stat signal #ifndef DW_GlassPosition_Stat_DW_STATE_Reserved #define DW_GlassPosition_Stat_DW_STATE_Reserved (3) #endif #ifndef DW_GlassPosition_Stat_DW_STATE_Glass_down_position #define DW_GlassPosition_Stat_DW_STATE_Glass_down_position (2) #endif #ifndef DW_GlassPosition_Stat_DW_STATE_Glass_up_position #define DW_GlassPosition_Stat_DW_STATE_Glass_up_position (1) #endif #ifndef DW_GlassPosition_Stat_DW_STATE_Glass_position_not_applicable #define DW_GlassPosition_Stat_DW_STATE_Glass_position_not_applicable (0) #endif typedef struct { #ifdef CANDB_USE_BITS_SIGNAL // Current partition state // 3 : "Reserved" // 2 : "Glass down position" // 1 : "Glass up position" // 0 : "Glass position not applicable" uint8_t DW_GlassPosition_Stat : 2; // Bits= 2 #else // Current partition state // 3 : "Reserved" // 2 : "Glass down position" // 1 : "Glass up position" // 0 : "Glass position not applicable" uint8_t DW_GlassPosition_Stat; // Bits= 2 #endif // CANDB_USE_BITS_SIGNAL #ifdef CANDB_USE_DIAG_MONITORS FrameMonitor_t mon1; #endif // CANDB_USE_DIAG_MONITORS } DW_STATE_t; // def @FIU_CCU1 CAN Message (1441 0x5a1) #define FIU_CCU1_IDE (0U) #define FIU_CCU1_DLC (8U) #define FIU_CCU1_CANID (0x5a1U) // signal: @FIU_TargetTempFL_Val_ro #define CANDB_FIU_TargetTempFL_Val_ro_CovFactor (0.5) #define CANDB_FIU_TargetTempFL_Val_ro_toS(x) ( (uint8_t) (((x) - (15.5)) / (0.5)) ) #define CANDB_FIU_TargetTempFL_Val_ro_fromS(x) ( (((x) * (0.5)) + (15.5)) ) // Value tables for @FIU_FootTempCorFL_Req signal #ifndef FIU_FootTempCorFL_Req_FIU_CCU1_No_change #define FIU_FootTempCorFL_Req_FIU_CCU1_No_change (0) #endif #ifndef FIU_FootTempCorFL_Req_FIU_CCU1__step #define FIU_FootTempCorFL_Req_FIU_CCU1__step (1) #endif #ifndef FIU_FootTempCorFL_Req_FIU_CCU1__step #define FIU_FootTempCorFL_Req_FIU_CCU1__step (2) #endif #ifndef FIU_FootTempCorFL_Req_FIU_CCU1__step #define FIU_FootTempCorFL_Req_FIU_CCU1__step (3) #endif #ifndef FIU_FootTempCorFL_Req_FIU_CCU1_ #define FIU_FootTempCorFL_Req_FIU_CCU1_ (4) #endif #ifndef FIU_FootTempCorFL_Req_FIU_CCU1__step #define FIU_FootTempCorFL_Req_FIU_CCU1__step (5) #endif #ifndef FIU_FootTempCorFL_Req_FIU_CCU1__step #define FIU_FootTempCorFL_Req_FIU_CCU1__step (6) #endif #ifndef FIU_FootTempCorFL_Req_FIU_CCU1__step #define FIU_FootTempCorFL_Req_FIU_CCU1__step (7) #endif // signal: @FIU_TargetTempFR_Val_ro #define CANDB_FIU_TargetTempFR_Val_ro_CovFactor (0.5) #define CANDB_FIU_TargetTempFR_Val_ro_toS(x) ( (uint8_t) (((x) - (15.5)) / (0.5)) ) #define CANDB_FIU_TargetTempFR_Val_ro_fromS(x) ( (((x) * (0.5)) + (15.5)) ) // Value tables for @FIU_FootTempCorFR_Req signal #ifndef FIU_FootTempCorFR_Req_FIU_CCU1_No_change #define FIU_FootTempCorFR_Req_FIU_CCU1_No_change (0) #endif #ifndef FIU_FootTempCorFR_Req_FIU_CCU1__step #define FIU_FootTempCorFR_Req_FIU_CCU1__step (1) #endif #ifndef FIU_FootTempCorFR_Req_FIU_CCU1__step #define FIU_FootTempCorFR_Req_FIU_CCU1__step (2) #endif #ifndef FIU_FootTempCorFR_Req_FIU_CCU1__step #define FIU_FootTempCorFR_Req_FIU_CCU1__step (3) #endif #ifndef FIU_FootTempCorFR_Req_FIU_CCU1_ #define FIU_FootTempCorFR_Req_FIU_CCU1_ (4) #endif #ifndef FIU_FootTempCorFR_Req_FIU_CCU1__step #define FIU_FootTempCorFR_Req_FIU_CCU1__step (5) #endif #ifndef FIU_FootTempCorFR_Req_FIU_CCU1__step #define FIU_FootTempCorFR_Req_FIU_CCU1__step (6) #endif #ifndef FIU_FootTempCorFR_Req_FIU_CCU1__step #define FIU_FootTempCorFR_Req_FIU_CCU1__step (7) #endif // Value tables for @FIU_CCmodeFL_Req signal #ifndef FIU_CCmodeFL_Req_FIU_CCU1_No_change #define FIU_CCmodeFL_Req_FIU_CCU1_No_change (0) #endif #ifndef FIU_CCmodeFL_Req_FIU_CCU1_Manual_mode_requested #define FIU_CCmodeFL_Req_FIU_CCU1_Manual_mode_requested (1) #endif #ifndef FIU_CCmodeFL_Req_FIU_CCU1_Auto_mode_requested #define FIU_CCmodeFL_Req_FIU_CCU1_Auto_mode_requested (2) #endif // Value tables for @FIU_AirDirectionFL_Def_Req signal #ifndef FIU_AirDirectionFL_Def_Req_FIU_CCU1_No_change #define FIU_AirDirectionFL_Def_Req_FIU_CCU1_No_change (0) #endif #ifndef FIU_AirDirectionFL_Def_Req_FIU_CCU1_Active #define FIU_AirDirectionFL_Def_Req_FIU_CCU1_Active (1) #endif #ifndef FIU_AirDirectionFL_Def_Req_FIU_CCU1_Inactive #define FIU_AirDirectionFL_Def_Req_FIU_CCU1_Inactive (2) #endif // Value tables for @FIU_AirDirectionFL_Face_Req signal #ifndef FIU_AirDirectionFL_Face_Req_FIU_CCU1_No_change #define FIU_AirDirectionFL_Face_Req_FIU_CCU1_No_change (0) #endif #ifndef FIU_AirDirectionFL_Face_Req_FIU_CCU1_Active #define FIU_AirDirectionFL_Face_Req_FIU_CCU1_Active (1) #endif #ifndef FIU_AirDirectionFL_Face_Req_FIU_CCU1_Inactive #define FIU_AirDirectionFL_Face_Req_FIU_CCU1_Inactive (2) #endif // Value tables for @FIU_AirDirectionFL_Foot_Req signal #ifndef FIU_AirDirectionFL_Foot_Req_FIU_CCU1_No_change #define FIU_AirDirectionFL_Foot_Req_FIU_CCU1_No_change (0) #endif #ifndef FIU_AirDirectionFL_Foot_Req_FIU_CCU1_Active #define FIU_AirDirectionFL_Foot_Req_FIU_CCU1_Active (1) #endif #ifndef FIU_AirDirectionFL_Foot_Req_FIU_CCU1_Inactive #define FIU_AirDirectionFL_Foot_Req_FIU_CCU1_Inactive (2) #endif // Value tables for @FIU_CCmodeFR_Req signal #ifndef FIU_CCmodeFR_Req_FIU_CCU1_No_change #define FIU_CCmodeFR_Req_FIU_CCU1_No_change (0) #endif #ifndef FIU_CCmodeFR_Req_FIU_CCU1_Manual_mode_requested #define FIU_CCmodeFR_Req_FIU_CCU1_Manual_mode_requested (1) #endif #ifndef FIU_CCmodeFR_Req_FIU_CCU1_Auto_mode_requested #define FIU_CCmodeFR_Req_FIU_CCU1_Auto_mode_requested (2) #endif // Value tables for @FIU_AirDirectionFR_Def_Req signal #ifndef FIU_AirDirectionFR_Def_Req_FIU_CCU1_No_change #define FIU_AirDirectionFR_Def_Req_FIU_CCU1_No_change (0) #endif #ifndef FIU_AirDirectionFR_Def_Req_FIU_CCU1_Active #define FIU_AirDirectionFR_Def_Req_FIU_CCU1_Active (1) #endif #ifndef FIU_AirDirectionFR_Def_Req_FIU_CCU1_Inactive #define FIU_AirDirectionFR_Def_Req_FIU_CCU1_Inactive (2) #endif // Value tables for @FIU_AirDirectionFR_Face_Req signal #ifndef FIU_AirDirectionFR_Face_Req_FIU_CCU1_No_change #define FIU_AirDirectionFR_Face_Req_FIU_CCU1_No_change (0) #endif #ifndef FIU_AirDirectionFR_Face_Req_FIU_CCU1_Active #define FIU_AirDirectionFR_Face_Req_FIU_CCU1_Active (1) #endif #ifndef FIU_AirDirectionFR_Face_Req_FIU_CCU1_Inactive #define FIU_AirDirectionFR_Face_Req_FIU_CCU1_Inactive (2) #endif // Value tables for @FIU_AirDirectionFR_Foot_Req signal #ifndef FIU_AirDirectionFR_Foot_Req_FIU_CCU1_No_change #define FIU_AirDirectionFR_Foot_Req_FIU_CCU1_No_change (0) #endif #ifndef FIU_AirDirectionFR_Foot_Req_FIU_CCU1_Active #define FIU_AirDirectionFR_Foot_Req_FIU_CCU1_Active (1) #endif #ifndef FIU_AirDirectionFR_Foot_Req_FIU_CCU1_Inactive #define FIU_AirDirectionFR_Foot_Req_FIU_CCU1_Inactive (2) #endif // Value tables for @FIU_BlowerSpeedFL_Req signal #ifndef FIU_BlowerSpeedFL_Req_FIU_CCU1_No_change #define FIU_BlowerSpeedFL_Req_FIU_CCU1_No_change (0) #endif #ifndef FIU_BlowerSpeedFL_Req_FIU_CCU1__step #define FIU_BlowerSpeedFL_Req_FIU_CCU1__step (1) #endif #ifndef FIU_BlowerSpeedFL_Req_FIU_CCU1__step #define FIU_BlowerSpeedFL_Req_FIU_CCU1__step (2) #endif #ifndef FIU_BlowerSpeedFL_Req_FIU_CCU1__step #define FIU_BlowerSpeedFL_Req_FIU_CCU1__step (3) #endif #ifndef FIU_BlowerSpeedFL_Req_FIU_CCU1__step #define FIU_BlowerSpeedFL_Req_FIU_CCU1__step (4) #endif #ifndef FIU_BlowerSpeedFL_Req_FIU_CCU1__step #define FIU_BlowerSpeedFL_Req_FIU_CCU1__step (5) #endif #ifndef FIU_BlowerSpeedFL_Req_FIU_CCU1__step #define FIU_BlowerSpeedFL_Req_FIU_CCU1__step (6) #endif #ifndef FIU_BlowerSpeedFL_Req_FIU_CCU1__step #define FIU_BlowerSpeedFL_Req_FIU_CCU1__step (7) #endif #ifndef FIU_BlowerSpeedFL_Req_FIU_CCU1_Blower_off #define FIU_BlowerSpeedFL_Req_FIU_CCU1_Blower_off (8) #endif // Value tables for @FIU_BlowerSpeedFR_Req signal #ifndef FIU_BlowerSpeedFR_Req_FIU_CCU1_No_change #define FIU_BlowerSpeedFR_Req_FIU_CCU1_No_change (0) #endif #ifndef FIU_BlowerSpeedFR_Req_FIU_CCU1__step #define FIU_BlowerSpeedFR_Req_FIU_CCU1__step (1) #endif #ifndef FIU_BlowerSpeedFR_Req_FIU_CCU1__step #define FIU_BlowerSpeedFR_Req_FIU_CCU1__step (2) #endif #ifndef FIU_BlowerSpeedFR_Req_FIU_CCU1__step #define FIU_BlowerSpeedFR_Req_FIU_CCU1__step (3) #endif #ifndef FIU_BlowerSpeedFR_Req_FIU_CCU1__step #define FIU_BlowerSpeedFR_Req_FIU_CCU1__step (4) #endif #ifndef FIU_BlowerSpeedFR_Req_FIU_CCU1__step #define FIU_BlowerSpeedFR_Req_FIU_CCU1__step (5) #endif #ifndef FIU_BlowerSpeedFR_Req_FIU_CCU1__step #define FIU_BlowerSpeedFR_Req_FIU_CCU1__step (6) #endif #ifndef FIU_BlowerSpeedFR_Req_FIU_CCU1__step #define FIU_BlowerSpeedFR_Req_FIU_CCU1__step (7) #endif #ifndef FIU_BlowerSpeedFR_Req_FIU_CCU1_Blower_off #define FIU_BlowerSpeedFR_Req_FIU_CCU1_Blower_off (8) #endif // Value tables for @FIU_CCautoModeFL_Req signal #ifndef FIU_CCautoModeFL_Req_FIU_CCU1_No_change #define FIU_CCautoModeFL_Req_FIU_CCU1_No_change (0) #endif #ifndef FIU_CCautoModeFL_Req_FIU_CCU1_Auto_mode_1_requested #define FIU_CCautoModeFL_Req_FIU_CCU1_Auto_mode_1_requested (1) #endif #ifndef FIU_CCautoModeFL_Req_FIU_CCU1_Auto_mode_2_requested #define FIU_CCautoModeFL_Req_FIU_CCU1_Auto_mode_2_requested (2) #endif #ifndef FIU_CCautoModeFL_Req_FIU_CCU1_Auto_mode_3_requested #define FIU_CCautoModeFL_Req_FIU_CCU1_Auto_mode_3_requested (3) #endif #ifndef FIU_CCautoModeFL_Req_FIU_CCU1_Auto_mode_4_requested #define FIU_CCautoModeFL_Req_FIU_CCU1_Auto_mode_4_requested (4) #endif #ifndef FIU_CCautoModeFL_Req_FIU_CCU1_Auto_mode_5_requested #define FIU_CCautoModeFL_Req_FIU_CCU1_Auto_mode_5_requested (5) #endif // Value tables for @FIU_CCautoModeFR_Req signal #ifndef FIU_CCautoModeFR_Req_FIU_CCU1_No_change #define FIU_CCautoModeFR_Req_FIU_CCU1_No_change (0) #endif #ifndef FIU_CCautoModeFR_Req_FIU_CCU1_Auto_mode_1_requested #define FIU_CCautoModeFR_Req_FIU_CCU1_Auto_mode_1_requested (1) #endif #ifndef FIU_CCautoModeFR_Req_FIU_CCU1_Auto_mode_2_requested #define FIU_CCautoModeFR_Req_FIU_CCU1_Auto_mode_2_requested (2) #endif #ifndef FIU_CCautoModeFR_Req_FIU_CCU1_Auto_mode_3_requested #define FIU_CCautoModeFR_Req_FIU_CCU1_Auto_mode_3_requested (3) #endif #ifndef FIU_CCautoModeFR_Req_FIU_CCU1_Auto_mode_4_requested #define FIU_CCautoModeFR_Req_FIU_CCU1_Auto_mode_4_requested (4) #endif #ifndef FIU_CCautoModeFR_Req_FIU_CCU1_Auto_mode_5_requested #define FIU_CCautoModeFR_Req_FIU_CCU1_Auto_mode_5_requested (5) #endif // Value tables for @FIU_Recirculation_Req signal #ifndef FIU_Recirculation_Req_FIU_CCU1_No_change #define FIU_Recirculation_Req_FIU_CCU1_No_change (0) #endif #ifndef FIU_Recirculation_Req_FIU_CCU1_Recirculation_mode_Rec_on #define FIU_Recirculation_Req_FIU_CCU1_Recirculation_mode_Rec_on (1) #endif #ifndef FIU_Recirculation_Req_FIU_CCU1_Fresh_air_mode_Rec_off #define FIU_Recirculation_Req_FIU_CCU1_Fresh_air_mode_Rec_off (2) #endif #ifndef FIU_Recirculation_Req_FIU_CCU1_Auto_recirculation_mode #define FIU_Recirculation_Req_FIU_CCU1_Auto_recirculation_mode (3) #endif // Value tables for @FIU_DeflectorSwDL_Req signal #ifndef FIU_DeflectorSwDL_Req_FIU_CCU1_No_LED #define FIU_DeflectorSwDL_Req_FIU_CCU1_No_LED (4) #endif #ifndef FIU_DeflectorSwDL_Req_FIU_CCU1_LED_3_step #define FIU_DeflectorSwDL_Req_FIU_CCU1_LED_3_step (3) #endif #ifndef FIU_DeflectorSwDL_Req_FIU_CCU1_LED_2_step #define FIU_DeflectorSwDL_Req_FIU_CCU1_LED_2_step (2) #endif #ifndef FIU_DeflectorSwDL_Req_FIU_CCU1_LED_1_step #define FIU_DeflectorSwDL_Req_FIU_CCU1_LED_1_step (1) #endif #ifndef FIU_DeflectorSwDL_Req_FIU_CCU1_No_change #define FIU_DeflectorSwDL_Req_FIU_CCU1_No_change (0) #endif // Value tables for @FIU_DeflectorSwDR_Req signal #ifndef FIU_DeflectorSwDR_Req_FIU_CCU1_No_LED #define FIU_DeflectorSwDR_Req_FIU_CCU1_No_LED (4) #endif #ifndef FIU_DeflectorSwDR_Req_FIU_CCU1_LED_3_step #define FIU_DeflectorSwDR_Req_FIU_CCU1_LED_3_step (3) #endif #ifndef FIU_DeflectorSwDR_Req_FIU_CCU1_LED_2_step #define FIU_DeflectorSwDR_Req_FIU_CCU1_LED_2_step (2) #endif #ifndef FIU_DeflectorSwDR_Req_FIU_CCU1_LED_1_step #define FIU_DeflectorSwDR_Req_FIU_CCU1_LED_1_step (1) #endif #ifndef FIU_DeflectorSwDR_Req_FIU_CCU1_No_change #define FIU_DeflectorSwDR_Req_FIU_CCU1_No_change (0) #endif // Value tables for @FIU_ACfrontOFF_Req signal #ifndef FIU_ACfrontOFF_Req_FIU_CCU1_No_change #define FIU_ACfrontOFF_Req_FIU_CCU1_No_change (0) #endif #ifndef FIU_ACfrontOFF_Req_FIU_CCU1_AC_front_ON #define FIU_ACfrontOFF_Req_FIU_CCU1_AC_front_ON (1) #endif #ifndef FIU_ACfrontOFF_Req_FIU_CCU1_AC_front_OFF #define FIU_ACfrontOFF_Req_FIU_CCU1_AC_front_OFF (2) #endif // Value tables for @FIU_DeflectorSwFPL_Req signal #ifndef FIU_DeflectorSwFPL_Req_FIU_CCU1_No_LED #define FIU_DeflectorSwFPL_Req_FIU_CCU1_No_LED (4) #endif #ifndef FIU_DeflectorSwFPL_Req_FIU_CCU1_LED_3_step #define FIU_DeflectorSwFPL_Req_FIU_CCU1_LED_3_step (3) #endif #ifndef FIU_DeflectorSwFPL_Req_FIU_CCU1_LED_2_step #define FIU_DeflectorSwFPL_Req_FIU_CCU1_LED_2_step (2) #endif #ifndef FIU_DeflectorSwFPL_Req_FIU_CCU1_LED_1_step #define FIU_DeflectorSwFPL_Req_FIU_CCU1_LED_1_step (1) #endif #ifndef FIU_DeflectorSwFPL_Req_FIU_CCU1_No_change #define FIU_DeflectorSwFPL_Req_FIU_CCU1_No_change (0) #endif // Value tables for @FIU_DeflectorSwFPR_Req signal #ifndef FIU_DeflectorSwFPR_Req_FIU_CCU1_No_LED #define FIU_DeflectorSwFPR_Req_FIU_CCU1_No_LED (4) #endif #ifndef FIU_DeflectorSwFPR_Req_FIU_CCU1_LED_3_step #define FIU_DeflectorSwFPR_Req_FIU_CCU1_LED_3_step (3) #endif #ifndef FIU_DeflectorSwFPR_Req_FIU_CCU1_LED_2_step #define FIU_DeflectorSwFPR_Req_FIU_CCU1_LED_2_step (2) #endif #ifndef FIU_DeflectorSwFPR_Req_FIU_CCU1_LED_1_step #define FIU_DeflectorSwFPR_Req_FIU_CCU1_LED_1_step (1) #endif #ifndef FIU_DeflectorSwFPR_Req_FIU_CCU1_No_change #define FIU_DeflectorSwFPR_Req_FIU_CCU1_No_change (0) #endif // Value tables for @FIU_FrontZoneSync_Req signal #ifndef FIU_FrontZoneSync_Req_FIU_CCU1_No_change #define FIU_FrontZoneSync_Req_FIU_CCU1_No_change (0) #endif #ifndef FIU_FrontZoneSync_Req_FIU_CCU1_Sync_front #define FIU_FrontZoneSync_Req_FIU_CCU1_Sync_front (1) #endif #ifndef FIU_FrontZoneSync_Req_FIU_CCU1_Sync_all #define FIU_FrontZoneSync_Req_FIU_CCU1_Sync_all (2) #endif #ifndef FIU_FrontZoneSync_Req_FIU_CCU1_Sync_off #define FIU_FrontZoneSync_Req_FIU_CCU1_Sync_off (3) #endif typedef struct { #ifdef CANDB_USE_BITS_SIGNAL // Target temperature for front left zone value uint8_t FIU_TargetTempFL_Val_ro : 5; // Bits= 5 Offset= 15.5 Factor= 0.5 #ifdef CANDB_USE_SIGFLOAT sigfloat_t FIU_TargetTempFL_Val_phys; #endif // CANDB_USE_SIGFLOAT // Footwell temperature correction for front left zone request // 0 : "No change" // 1 : "-3 step" // 2 : "-2 step" // 3 : "-1 step" // 4 : "0" // 5 : "+1 step" // 6 : "+2 step" // 7 : "+3 step" uint8_t FIU_FootTempCorFL_Req : 3; // Bits= 3 // Target temperature for front right zone value uint8_t FIU_TargetTempFR_Val_ro : 5; // Bits= 5 Offset= 15.5 Factor= 0.5 #ifdef CANDB_USE_SIGFLOAT sigfloat_t FIU_TargetTempFR_Val_phys; #endif // CANDB_USE_SIGFLOAT // Footwell temperature correction for front right zone request // 0 : "No change" // 1 : "-3 step" // 2 : "-2 step" // 3 : "-1 step" // 4 : "0" // 5 : "+1 step" // 6 : "+2 step" // 7 : "+3 step" uint8_t FIU_FootTempCorFR_Req : 3; // Bits= 3 // Climate control mode for front left zone request // 0 : "No change" // 1 : "Manual mode requested" // 2 : "Auto mode requested" uint8_t FIU_CCmodeFL_Req : 2; // Bits= 2 // Airflow direction mode for front left zone request // 0 : "No change" // 1 : "Active" // 2 : "Inactive" uint8_t FIU_AirDirectionFL_Def_Req : 2; // Bits= 2 // Airflow direction mode for front left zone request // 0 : "No change" // 1 : "Active" // 2 : "Inactive" uint8_t FIU_AirDirectionFL_Face_Req : 2; // Bits= 2 // Airflow direction mode for front left zone request // 0 : "No change" // 1 : "Active" // 2 : "Inactive" uint8_t FIU_AirDirectionFL_Foot_Req : 2; // Bits= 2 // Climate control mode for front right zone request // 0 : "No change" // 1 : "Manual mode requested" // 2 : "Auto mode requested" uint8_t FIU_CCmodeFR_Req : 2; // Bits= 2 // Airflow direction mode for front right zone request // 0 : "No change" // 1 : "Active" // 2 : "Inactive" uint8_t FIU_AirDirectionFR_Def_Req : 2; // Bits= 2 // Airflow direction mode for front right zone request // 0 : "No change" // 1 : "Active" // 2 : "Inactive" uint8_t FIU_AirDirectionFR_Face_Req : 2; // Bits= 2 // Airflow direction mode for front right zone request // 0 : "No change" // 1 : "Active" // 2 : "Inactive" uint8_t FIU_AirDirectionFR_Foot_Req : 2; // Bits= 2 // Blower speed for front left zone request // 0 : "No change" // 1 : "1 step" // 2 : "2 step" // 3 : "3 step" // 4 : "4 step" // 5 : "5 step" // 6 : "6 step" // 7 : "7 step" // 8 : "Blower off" uint8_t FIU_BlowerSpeedFL_Req : 4; // Bits= 4 // Blower speed for front right zone request // 0 : "No change" // 1 : "1 step" // 2 : "2 step" // 3 : "3 step" // 4 : "4 step" // 5 : "5 step" // 6 : "6 step" // 7 : "7 step" // 8 : "Blower off" uint8_t FIU_BlowerSpeedFR_Req : 4; // Bits= 4 // Climate control auto mode for front left zone request // 0 : "No change" // 1 : "Auto mode 1 requested" // 2 : "Auto mode 2 requested" // 3 : "Auto mode 3 requested" // 4 : "Auto mode 4 requested" // 5 : "Auto mode 5 requested" uint8_t FIU_CCautoModeFL_Req : 3; // Bits= 3 // Climate control auto mode for front right zone request // 0 : "No change" // 1 : "Auto mode 1 requested" // 2 : "Auto mode 2 requested" // 3 : "Auto mode 3 requested" // 4 : "Auto mode 4 requested" // 5 : "Auto mode 5 requested" uint8_t FIU_CCautoModeFR_Req : 3; // Bits= 3 // Recirculation mode requested // 0 : "No change" // 1 : "Recirculation mode (Rec on)" // 2 : "Fresh air mode (Rec off)" // 3 : "Auto recirculation mode" uint8_t FIU_Recirculation_Req : 2; // Bits= 2 // Deflector driver left request // 4 : "No LED" // 3 : "LED 3 step" // 2 : "LED 2 step" // 1 : "LED 1 step" // 0 : "No change" uint8_t FIU_DeflectorSwDL_Req : 3; // Bits= 3 // Deflector driver right request // 4 : "No LED" // 3 : "LED 3 step" // 2 : "LED 2 step" // 1 : "LED 1 step" // 0 : "No change" uint8_t FIU_DeflectorSwDR_Req : 3; // Bits= 3 // Air conditioner OFF front request // 0 : "No change" // 1 : "AC front ON" // 2 : "AC front OFF" uint8_t FIU_ACfrontOFF_Req : 2; // Bits= 2 // Deflector front passenger left request // 4 : "No LED" // 3 : "LED 3 step" // 2 : "LED 2 step" // 1 : "LED 1 step" // 0 : "No change" uint8_t FIU_DeflectorSwFPL_Req : 3; // Bits= 3 // Deflector front passenger right request // 4 : "No LED" // 3 : "LED 3 step" // 2 : "LED 2 step" // 1 : "LED 1 step" // 0 : "No change" uint8_t FIU_DeflectorSwFPR_Req : 3; // Bits= 3 // Front climate zones synchronization on/off request // 0 : "No change" // 1 : "Sync front" // 2 : "Sync all" // 3 : "Sync off" uint8_t FIU_FrontZoneSync_Req : 2; // Bits= 2 #else // Target temperature for front left zone value uint8_t FIU_TargetTempFL_Val_ro; // Bits= 5 Offset= 15.5 Factor= 0.5 #ifdef CANDB_USE_SIGFLOAT sigfloat_t FIU_TargetTempFL_Val_phys; #endif // CANDB_USE_SIGFLOAT // Footwell temperature correction for front left zone request // 0 : "No change" // 1 : "-3 step" // 2 : "-2 step" // 3 : "-1 step" // 4 : "0" // 5 : "+1 step" // 6 : "+2 step" // 7 : "+3 step" uint8_t FIU_FootTempCorFL_Req; // Bits= 3 // Target temperature for front right zone value uint8_t FIU_TargetTempFR_Val_ro; // Bits= 5 Offset= 15.5 Factor= 0.5 #ifdef CANDB_USE_SIGFLOAT sigfloat_t FIU_TargetTempFR_Val_phys; #endif // CANDB_USE_SIGFLOAT // Footwell temperature correction for front right zone request // 0 : "No change" // 1 : "-3 step" // 2 : "-2 step" // 3 : "-1 step" // 4 : "0" // 5 : "+1 step" // 6 : "+2 step" // 7 : "+3 step" uint8_t FIU_FootTempCorFR_Req; // Bits= 3 // Climate control mode for front left zone request // 0 : "No change" // 1 : "Manual mode requested" // 2 : "Auto mode requested" uint8_t FIU_CCmodeFL_Req; // Bits= 2 // Airflow direction mode for front left zone request // 0 : "No change" // 1 : "Active" // 2 : "Inactive" uint8_t FIU_AirDirectionFL_Def_Req; // Bits= 2 // Airflow direction mode for front left zone request // 0 : "No change" // 1 : "Active" // 2 : "Inactive" uint8_t FIU_AirDirectionFL_Face_Req; // Bits= 2 // Airflow direction mode for front left zone request // 0 : "No change" // 1 : "Active" // 2 : "Inactive" uint8_t FIU_AirDirectionFL_Foot_Req; // Bits= 2 // Climate control mode for front right zone request // 0 : "No change" // 1 : "Manual mode requested" // 2 : "Auto mode requested" uint8_t FIU_CCmodeFR_Req; // Bits= 2 // Airflow direction mode for front right zone request // 0 : "No change" // 1 : "Active" // 2 : "Inactive" uint8_t FIU_AirDirectionFR_Def_Req; // Bits= 2 // Airflow direction mode for front right zone request // 0 : "No change" // 1 : "Active" // 2 : "Inactive" uint8_t FIU_AirDirectionFR_Face_Req; // Bits= 2 // Airflow direction mode for front right zone request // 0 : "No change" // 1 : "Active" // 2 : "Inactive" uint8_t FIU_AirDirectionFR_Foot_Req; // Bits= 2 // Blower speed for front left zone request // 0 : "No change" // 1 : "1 step" // 2 : "2 step" // 3 : "3 step" // 4 : "4 step" // 5 : "5 step" // 6 : "6 step" // 7 : "7 step" // 8 : "Blower off" uint8_t FIU_BlowerSpeedFL_Req; // Bits= 4 // Blower speed for front right zone request // 0 : "No change" // 1 : "1 step" // 2 : "2 step" // 3 : "3 step" // 4 : "4 step" // 5 : "5 step" // 6 : "6 step" // 7 : "7 step" // 8 : "Blower off" uint8_t FIU_BlowerSpeedFR_Req; // Bits= 4 // Climate control auto mode for front left zone request // 0 : "No change" // 1 : "Auto mode 1 requested" // 2 : "Auto mode 2 requested" // 3 : "Auto mode 3 requested" // 4 : "Auto mode 4 requested" // 5 : "Auto mode 5 requested" uint8_t FIU_CCautoModeFL_Req; // Bits= 3 // Climate control auto mode for front right zone request // 0 : "No change" // 1 : "Auto mode 1 requested" // 2 : "Auto mode 2 requested" // 3 : "Auto mode 3 requested" // 4 : "Auto mode 4 requested" // 5 : "Auto mode 5 requested" uint8_t FIU_CCautoModeFR_Req; // Bits= 3 // Recirculation mode requested // 0 : "No change" // 1 : "Recirculation mode (Rec on)" // 2 : "Fresh air mode (Rec off)" // 3 : "Auto recirculation mode" uint8_t FIU_Recirculation_Req; // Bits= 2 // Deflector driver left request // 4 : "No LED" // 3 : "LED 3 step" // 2 : "LED 2 step" // 1 : "LED 1 step" // 0 : "No change" uint8_t FIU_DeflectorSwDL_Req; // Bits= 3 // Deflector driver right request // 4 : "No LED" // 3 : "LED 3 step" // 2 : "LED 2 step" // 1 : "LED 1 step" // 0 : "No change" uint8_t FIU_DeflectorSwDR_Req; // Bits= 3 // Air conditioner OFF front request // 0 : "No change" // 1 : "AC front ON" // 2 : "AC front OFF" uint8_t FIU_ACfrontOFF_Req; // Bits= 2 // Deflector front passenger left request // 4 : "No LED" // 3 : "LED 3 step" // 2 : "LED 2 step" // 1 : "LED 1 step" // 0 : "No change" uint8_t FIU_DeflectorSwFPL_Req; // Bits= 3 // Deflector front passenger right request // 4 : "No LED" // 3 : "LED 3 step" // 2 : "LED 2 step" // 1 : "LED 1 step" // 0 : "No change" uint8_t FIU_DeflectorSwFPR_Req; // Bits= 3 // Front climate zones synchronization on/off request // 0 : "No change" // 1 : "Sync front" // 2 : "Sync all" // 3 : "Sync off" uint8_t FIU_FrontZoneSync_Req; // Bits= 2 #endif // CANDB_USE_BITS_SIGNAL #ifdef CANDB_USE_DIAG_MONITORS FrameMonitor_t mon1; #endif // CANDB_USE_DIAG_MONITORS } FIU_CCU1_t; // def @FIU_CCU2 CAN Message (1442 0x5a2) #define FIU_CCU2_IDE (0U) #define FIU_CCU2_DLC (8U) #define FIU_CCU2_CANID (0x5a2U) // signal: @FIU_TargetTempRL_Val_ro #define CANDB_FIU_TargetTempRL_Val_ro_CovFactor (0.5) #define CANDB_FIU_TargetTempRL_Val_ro_toS(x) ( (uint8_t) (((x) - (15.5)) / (0.5)) ) #define CANDB_FIU_TargetTempRL_Val_ro_fromS(x) ( (((x) * (0.5)) + (15.5)) ) // Value tables for @FIU_FootTempCorRL_Req signal #ifndef FIU_FootTempCorRL_Req_FIU_CCU2_No_change #define FIU_FootTempCorRL_Req_FIU_CCU2_No_change (0) #endif #ifndef FIU_FootTempCorRL_Req_FIU_CCU2__step #define FIU_FootTempCorRL_Req_FIU_CCU2__step (1) #endif #ifndef FIU_FootTempCorRL_Req_FIU_CCU2__step #define FIU_FootTempCorRL_Req_FIU_CCU2__step (2) #endif #ifndef FIU_FootTempCorRL_Req_FIU_CCU2__step #define FIU_FootTempCorRL_Req_FIU_CCU2__step (3) #endif #ifndef FIU_FootTempCorRL_Req_FIU_CCU2_ #define FIU_FootTempCorRL_Req_FIU_CCU2_ (4) #endif #ifndef FIU_FootTempCorRL_Req_FIU_CCU2__step #define FIU_FootTempCorRL_Req_FIU_CCU2__step (5) #endif #ifndef FIU_FootTempCorRL_Req_FIU_CCU2__step #define FIU_FootTempCorRL_Req_FIU_CCU2__step (6) #endif #ifndef FIU_FootTempCorRL_Req_FIU_CCU2__step #define FIU_FootTempCorRL_Req_FIU_CCU2__step (7) #endif // signal: @FIU_TargetTempRR_Val_ro #define CANDB_FIU_TargetTempRR_Val_ro_CovFactor (0.5) #define CANDB_FIU_TargetTempRR_Val_ro_toS(x) ( (uint8_t) (((x) - (15.5)) / (0.5)) ) #define CANDB_FIU_TargetTempRR_Val_ro_fromS(x) ( (((x) * (0.5)) + (15.5)) ) // Value tables for @FIU_FootTempCorRR_Req signal #ifndef FIU_FootTempCorRR_Req_FIU_CCU2_No_change #define FIU_FootTempCorRR_Req_FIU_CCU2_No_change (0) #endif #ifndef FIU_FootTempCorRR_Req_FIU_CCU2__step #define FIU_FootTempCorRR_Req_FIU_CCU2__step (1) #endif #ifndef FIU_FootTempCorRR_Req_FIU_CCU2__step #define FIU_FootTempCorRR_Req_FIU_CCU2__step (2) #endif #ifndef FIU_FootTempCorRR_Req_FIU_CCU2__step #define FIU_FootTempCorRR_Req_FIU_CCU2__step (3) #endif #ifndef FIU_FootTempCorRR_Req_FIU_CCU2_ #define FIU_FootTempCorRR_Req_FIU_CCU2_ (4) #endif #ifndef FIU_FootTempCorRR_Req_FIU_CCU2__step #define FIU_FootTempCorRR_Req_FIU_CCU2__step (5) #endif #ifndef FIU_FootTempCorRR_Req_FIU_CCU2__step #define FIU_FootTempCorRR_Req_FIU_CCU2__step (6) #endif #ifndef FIU_FootTempCorRR_Req_FIU_CCU2__step #define FIU_FootTempCorRR_Req_FIU_CCU2__step (7) #endif // Value tables for @FIU_CCmodeRL_Req signal #ifndef FIU_CCmodeRL_Req_FIU_CCU2_No_change #define FIU_CCmodeRL_Req_FIU_CCU2_No_change (0) #endif #ifndef FIU_CCmodeRL_Req_FIU_CCU2_Manual_mode_requested #define FIU_CCmodeRL_Req_FIU_CCU2_Manual_mode_requested (1) #endif #ifndef FIU_CCmodeRL_Req_FIU_CCU2_Auto_mode_requested #define FIU_CCmodeRL_Req_FIU_CCU2_Auto_mode_requested (2) #endif // Value tables for @FIU_AirDirectionRL_Def_Req signal #ifndef FIU_AirDirectionRL_Def_Req_FIU_CCU2_No_change #define FIU_AirDirectionRL_Def_Req_FIU_CCU2_No_change (0) #endif #ifndef FIU_AirDirectionRL_Def_Req_FIU_CCU2_Active #define FIU_AirDirectionRL_Def_Req_FIU_CCU2_Active (1) #endif #ifndef FIU_AirDirectionRL_Def_Req_FIU_CCU2_Inactive #define FIU_AirDirectionRL_Def_Req_FIU_CCU2_Inactive (2) #endif // Value tables for @FIU_AirDirectionRL_Face_Req signal #ifndef FIU_AirDirectionRL_Face_Req_FIU_CCU2_No_change #define FIU_AirDirectionRL_Face_Req_FIU_CCU2_No_change (0) #endif #ifndef FIU_AirDirectionRL_Face_Req_FIU_CCU2_Active #define FIU_AirDirectionRL_Face_Req_FIU_CCU2_Active (1) #endif #ifndef FIU_AirDirectionRL_Face_Req_FIU_CCU2_Inactive #define FIU_AirDirectionRL_Face_Req_FIU_CCU2_Inactive (2) #endif // Value tables for @FIU_AirDirectionRL_Foot_Req signal #ifndef FIU_AirDirectionRL_Foot_Req_FIU_CCU2_No_change #define FIU_AirDirectionRL_Foot_Req_FIU_CCU2_No_change (0) #endif #ifndef FIU_AirDirectionRL_Foot_Req_FIU_CCU2_Active #define FIU_AirDirectionRL_Foot_Req_FIU_CCU2_Active (1) #endif #ifndef FIU_AirDirectionRL_Foot_Req_FIU_CCU2_Inactive #define FIU_AirDirectionRL_Foot_Req_FIU_CCU2_Inactive (2) #endif // Value tables for @FIU_CCmodeRR_Req signal #ifndef FIU_CCmodeRR_Req_FIU_CCU2_No_change #define FIU_CCmodeRR_Req_FIU_CCU2_No_change (0) #endif #ifndef FIU_CCmodeRR_Req_FIU_CCU2_Manual_mode_requested #define FIU_CCmodeRR_Req_FIU_CCU2_Manual_mode_requested (1) #endif #ifndef FIU_CCmodeRR_Req_FIU_CCU2_Auto_mode_requested #define FIU_CCmodeRR_Req_FIU_CCU2_Auto_mode_requested (2) #endif // Value tables for @FIU_AirDirectionRR_Def_Req signal #ifndef FIU_AirDirectionRR_Def_Req_FIU_CCU2_No_change #define FIU_AirDirectionRR_Def_Req_FIU_CCU2_No_change (0) #endif #ifndef FIU_AirDirectionRR_Def_Req_FIU_CCU2_Active #define FIU_AirDirectionRR_Def_Req_FIU_CCU2_Active (1) #endif #ifndef FIU_AirDirectionRR_Def_Req_FIU_CCU2_Inactive #define FIU_AirDirectionRR_Def_Req_FIU_CCU2_Inactive (2) #endif // Value tables for @FIU_AirDirectionRR_Face_Req signal #ifndef FIU_AirDirectionRR_Face_Req_FIU_CCU2_No_change #define FIU_AirDirectionRR_Face_Req_FIU_CCU2_No_change (0) #endif #ifndef FIU_AirDirectionRR_Face_Req_FIU_CCU2_Active #define FIU_AirDirectionRR_Face_Req_FIU_CCU2_Active (1) #endif #ifndef FIU_AirDirectionRR_Face_Req_FIU_CCU2_Inactive #define FIU_AirDirectionRR_Face_Req_FIU_CCU2_Inactive (2) #endif // Value tables for @FIU_AirDirectionRR_Foot_Req signal #ifndef FIU_AirDirectionRR_Foot_Req_FIU_CCU2_No_change #define FIU_AirDirectionRR_Foot_Req_FIU_CCU2_No_change (0) #endif #ifndef FIU_AirDirectionRR_Foot_Req_FIU_CCU2_Active #define FIU_AirDirectionRR_Foot_Req_FIU_CCU2_Active (1) #endif #ifndef FIU_AirDirectionRR_Foot_Req_FIU_CCU2_Inactive #define FIU_AirDirectionRR_Foot_Req_FIU_CCU2_Inactive (2) #endif // Value tables for @FIU_BlowerSpeedRL_Req signal #ifndef FIU_BlowerSpeedRL_Req_FIU_CCU2_No_change #define FIU_BlowerSpeedRL_Req_FIU_CCU2_No_change (0) #endif #ifndef FIU_BlowerSpeedRL_Req_FIU_CCU2__step #define FIU_BlowerSpeedRL_Req_FIU_CCU2__step (1) #endif #ifndef FIU_BlowerSpeedRL_Req_FIU_CCU2__step #define FIU_BlowerSpeedRL_Req_FIU_CCU2__step (2) #endif #ifndef FIU_BlowerSpeedRL_Req_FIU_CCU2__step #define FIU_BlowerSpeedRL_Req_FIU_CCU2__step (3) #endif #ifndef FIU_BlowerSpeedRL_Req_FIU_CCU2__step #define FIU_BlowerSpeedRL_Req_FIU_CCU2__step (4) #endif #ifndef FIU_BlowerSpeedRL_Req_FIU_CCU2__step #define FIU_BlowerSpeedRL_Req_FIU_CCU2__step (5) #endif #ifndef FIU_BlowerSpeedRL_Req_FIU_CCU2__step #define FIU_BlowerSpeedRL_Req_FIU_CCU2__step (6) #endif #ifndef FIU_BlowerSpeedRL_Req_FIU_CCU2__step #define FIU_BlowerSpeedRL_Req_FIU_CCU2__step (7) #endif #ifndef FIU_BlowerSpeedRL_Req_FIU_CCU2_Blower_off #define FIU_BlowerSpeedRL_Req_FIU_CCU2_Blower_off (8) #endif // Value tables for @FIU_BlowerSpeedRR_Req signal #ifndef FIU_BlowerSpeedRR_Req_FIU_CCU2_No_change #define FIU_BlowerSpeedRR_Req_FIU_CCU2_No_change (0) #endif #ifndef FIU_BlowerSpeedRR_Req_FIU_CCU2__step #define FIU_BlowerSpeedRR_Req_FIU_CCU2__step (1) #endif #ifndef FIU_BlowerSpeedRR_Req_FIU_CCU2__step #define FIU_BlowerSpeedRR_Req_FIU_CCU2__step (2) #endif #ifndef FIU_BlowerSpeedRR_Req_FIU_CCU2__step #define FIU_BlowerSpeedRR_Req_FIU_CCU2__step (3) #endif #ifndef FIU_BlowerSpeedRR_Req_FIU_CCU2__step #define FIU_BlowerSpeedRR_Req_FIU_CCU2__step (4) #endif #ifndef FIU_BlowerSpeedRR_Req_FIU_CCU2__step #define FIU_BlowerSpeedRR_Req_FIU_CCU2__step (5) #endif #ifndef FIU_BlowerSpeedRR_Req_FIU_CCU2__step #define FIU_BlowerSpeedRR_Req_FIU_CCU2__step (6) #endif #ifndef FIU_BlowerSpeedRR_Req_FIU_CCU2__step #define FIU_BlowerSpeedRR_Req_FIU_CCU2__step (7) #endif #ifndef FIU_BlowerSpeedRR_Req_FIU_CCU2_Blower_off #define FIU_BlowerSpeedRR_Req_FIU_CCU2_Blower_off (8) #endif // Value tables for @FIU_CCautoModeRL_Req signal #ifndef FIU_CCautoModeRL_Req_FIU_CCU2_No_change #define FIU_CCautoModeRL_Req_FIU_CCU2_No_change (0) #endif #ifndef FIU_CCautoModeRL_Req_FIU_CCU2_Auto_mode_1_requested #define FIU_CCautoModeRL_Req_FIU_CCU2_Auto_mode_1_requested (1) #endif #ifndef FIU_CCautoModeRL_Req_FIU_CCU2_Auto_mode_2_requested #define FIU_CCautoModeRL_Req_FIU_CCU2_Auto_mode_2_requested (2) #endif #ifndef FIU_CCautoModeRL_Req_FIU_CCU2_Auto_mode_3_requested #define FIU_CCautoModeRL_Req_FIU_CCU2_Auto_mode_3_requested (3) #endif #ifndef FIU_CCautoModeRL_Req_FIU_CCU2_Auto_mode_4_requested #define FIU_CCautoModeRL_Req_FIU_CCU2_Auto_mode_4_requested (4) #endif #ifndef FIU_CCautoModeRL_Req_FIU_CCU2_Auto_mode_5_requested #define FIU_CCautoModeRL_Req_FIU_CCU2_Auto_mode_5_requested (5) #endif // Value tables for @FIU_CCautoModeRR_Req signal #ifndef FIU_CCautoModeRR_Req_FIU_CCU2_No_change #define FIU_CCautoModeRR_Req_FIU_CCU2_No_change (0) #endif #ifndef FIU_CCautoModeRR_Req_FIU_CCU2_Auto_mode_1_requested #define FIU_CCautoModeRR_Req_FIU_CCU2_Auto_mode_1_requested (1) #endif #ifndef FIU_CCautoModeRR_Req_FIU_CCU2_Auto_mode_2_requested #define FIU_CCautoModeRR_Req_FIU_CCU2_Auto_mode_2_requested (2) #endif #ifndef FIU_CCautoModeRR_Req_FIU_CCU2_Auto_mode_3_requested #define FIU_CCautoModeRR_Req_FIU_CCU2_Auto_mode_3_requested (3) #endif #ifndef FIU_CCautoModeRR_Req_FIU_CCU2_Auto_mode_4_requested #define FIU_CCautoModeRR_Req_FIU_CCU2_Auto_mode_4_requested (4) #endif #ifndef FIU_CCautoModeRR_Req_FIU_CCU2_Auto_mode_5_requested #define FIU_CCautoModeRR_Req_FIU_CCU2_Auto_mode_5_requested (5) #endif // Value tables for @FIU_DeflectorSwRLB_Req signal #ifndef FIU_DeflectorSwRLB_Req_FIU_CCU2_No_LED #define FIU_DeflectorSwRLB_Req_FIU_CCU2_No_LED (4) #endif #ifndef FIU_DeflectorSwRLB_Req_FIU_CCU2_LED_3_step #define FIU_DeflectorSwRLB_Req_FIU_CCU2_LED_3_step (3) #endif #ifndef FIU_DeflectorSwRLB_Req_FIU_CCU2_LED_2_step #define FIU_DeflectorSwRLB_Req_FIU_CCU2_LED_2_step (2) #endif #ifndef FIU_DeflectorSwRLB_Req_FIU_CCU2_LED_1_step #define FIU_DeflectorSwRLB_Req_FIU_CCU2_LED_1_step (1) #endif #ifndef FIU_DeflectorSwRLB_Req_FIU_CCU2_No_change #define FIU_DeflectorSwRLB_Req_FIU_CCU2_No_change (0) #endif // Value tables for @FIU_DeflectorSwFCL_Req signal #ifndef FIU_DeflectorSwFCL_Req_FIU_CCU2_No_LED #define FIU_DeflectorSwFCL_Req_FIU_CCU2_No_LED (4) #endif #ifndef FIU_DeflectorSwFCL_Req_FIU_CCU2_LED_3_step #define FIU_DeflectorSwFCL_Req_FIU_CCU2_LED_3_step (3) #endif #ifndef FIU_DeflectorSwFCL_Req_FIU_CCU2_LED_2_step #define FIU_DeflectorSwFCL_Req_FIU_CCU2_LED_2_step (2) #endif #ifndef FIU_DeflectorSwFCL_Req_FIU_CCU2_LED_1_step #define FIU_DeflectorSwFCL_Req_FIU_CCU2_LED_1_step (1) #endif #ifndef FIU_DeflectorSwFCL_Req_FIU_CCU2_No_change #define FIU_DeflectorSwFCL_Req_FIU_CCU2_No_change (0) #endif // Value tables for @FIU_ACrearOFF_Req signal #ifndef FIU_ACrearOFF_Req_FIU_CCU2_No_change #define FIU_ACrearOFF_Req_FIU_CCU2_No_change (0) #endif #ifndef FIU_ACrearOFF_Req_FIU_CCU2_AC_front_ON #define FIU_ACrearOFF_Req_FIU_CCU2_AC_front_ON (1) #endif #ifndef FIU_ACrearOFF_Req_FIU_CCU2_AC_front_OFF #define FIU_ACrearOFF_Req_FIU_CCU2_AC_front_OFF (2) #endif // Value tables for @FIU_DeflectorSwFCR_Req signal #ifndef FIU_DeflectorSwFCR_Req_FIU_CCU2_No_LED #define FIU_DeflectorSwFCR_Req_FIU_CCU2_No_LED (4) #endif #ifndef FIU_DeflectorSwFCR_Req_FIU_CCU2_LED_3_step #define FIU_DeflectorSwFCR_Req_FIU_CCU2_LED_3_step (3) #endif #ifndef FIU_DeflectorSwFCR_Req_FIU_CCU2_LED_2_step #define FIU_DeflectorSwFCR_Req_FIU_CCU2_LED_2_step (2) #endif #ifndef FIU_DeflectorSwFCR_Req_FIU_CCU2_LED_1_step #define FIU_DeflectorSwFCR_Req_FIU_CCU2_LED_1_step (1) #endif #ifndef FIU_DeflectorSwFCR_Req_FIU_CCU2_No_change #define FIU_DeflectorSwFCR_Req_FIU_CCU2_No_change (0) #endif // Value tables for @FIU_DeflectorSwRRB_Req signal #ifndef FIU_DeflectorSwRRB_Req_FIU_CCU2_No_LED #define FIU_DeflectorSwRRB_Req_FIU_CCU2_No_LED (4) #endif #ifndef FIU_DeflectorSwRRB_Req_FIU_CCU2_LED_3_step #define FIU_DeflectorSwRRB_Req_FIU_CCU2_LED_3_step (3) #endif #ifndef FIU_DeflectorSwRRB_Req_FIU_CCU2_LED_2_step #define FIU_DeflectorSwRRB_Req_FIU_CCU2_LED_2_step (2) #endif #ifndef FIU_DeflectorSwRRB_Req_FIU_CCU2_LED_1_step #define FIU_DeflectorSwRRB_Req_FIU_CCU2_LED_1_step (1) #endif #ifndef FIU_DeflectorSwRRB_Req_FIU_CCU2_No_change #define FIU_DeflectorSwRRB_Req_FIU_CCU2_No_change (0) #endif // Value tables for @FIU_RearZoneSync_Req signal #ifndef FIU_RearZoneSync_Req_FIU_CCU2_No_change #define FIU_RearZoneSync_Req_FIU_CCU2_No_change (0) #endif #ifndef FIU_RearZoneSync_Req_FIU_CCU2_Sync_rear #define FIU_RearZoneSync_Req_FIU_CCU2_Sync_rear (1) #endif #ifndef FIU_RearZoneSync_Req_FIU_CCU2_Sync_off #define FIU_RearZoneSync_Req_FIU_CCU2_Sync_off (2) #endif typedef struct { #ifdef CANDB_USE_BITS_SIGNAL // Target temperature for rear left zone value uint8_t FIU_TargetTempRL_Val_ro : 5; // Bits= 5 Offset= 15.5 Factor= 0.5 #ifdef CANDB_USE_SIGFLOAT sigfloat_t FIU_TargetTempRL_Val_phys; #endif // CANDB_USE_SIGFLOAT // Footwell temperature correction for rear left zone request // 0 : "No change" // 1 : "-3 step" // 2 : "-2 step" // 3 : "-1 step" // 4 : "0" // 5 : "+1 step" // 6 : "+2 step" // 7 : "+3 step" uint8_t FIU_FootTempCorRL_Req : 3; // Bits= 3 // Target temperature for rear right zone value uint8_t FIU_TargetTempRR_Val_ro : 5; // Bits= 5 Offset= 15.5 Factor= 0.5 #ifdef CANDB_USE_SIGFLOAT sigfloat_t FIU_TargetTempRR_Val_phys; #endif // CANDB_USE_SIGFLOAT // Footwell temperature correction for rear right zone request // 0 : "No change" // 1 : "-3 step" // 2 : "-2 step" // 3 : "-1 step" // 4 : "0" // 5 : "+1 step" // 6 : "+2 step" // 7 : "+3 step" uint8_t FIU_FootTempCorRR_Req : 3; // Bits= 3 // Climate control mode for rear left zone request // 0 : "No change" // 1 : "Manual mode requested" // 2 : "Auto mode requested" uint8_t FIU_CCmodeRL_Req : 2; // Bits= 2 // Airflow direction mode for rear left zone request // 0 : "No change" // 1 : "Active" // 2 : "Inactive" uint8_t FIU_AirDirectionRL_Def_Req : 2; // Bits= 2 // Airflow direction mode for rear left zone request // 0 : "No change" // 1 : "Active" // 2 : "Inactive" uint8_t FIU_AirDirectionRL_Face_Req : 2; // Bits= 2 // Airflow direction mode for rear left zone request // 0 : "No change" // 1 : "Active" // 2 : "Inactive" uint8_t FIU_AirDirectionRL_Foot_Req : 2; // Bits= 2 // Climate control mode for rear right zone request // 0 : "No change" // 1 : "Manual mode requested" // 2 : "Auto mode requested" uint8_t FIU_CCmodeRR_Req : 2; // Bits= 2 // Airflow direction mode for rear right zone request // 0 : "No change" // 1 : "Active" // 2 : "Inactive" uint8_t FIU_AirDirectionRR_Def_Req : 2; // Bits= 2 // Airflow direction mode for rear right zone request // 0 : "No change" // 1 : "Active" // 2 : "Inactive" uint8_t FIU_AirDirectionRR_Face_Req : 2; // Bits= 2 // Airflow direction mode for rear right zone request // 0 : "No change" // 1 : "Active" // 2 : "Inactive" uint8_t FIU_AirDirectionRR_Foot_Req : 2; // Bits= 2 // Blower speed for rear left zone request // 0 : "No change" // 1 : "1 step" // 2 : "2 step" // 3 : "3 step" // 4 : "4 step" // 5 : "5 step" // 6 : "6 step" // 7 : "7 step" // 8 : "Blower off" uint8_t FIU_BlowerSpeedRL_Req : 4; // Bits= 4 // Blower speed for rear right zone request // 0 : "No change" // 1 : "1 step" // 2 : "2 step" // 3 : "3 step" // 4 : "4 step" // 5 : "5 step" // 6 : "6 step" // 7 : "7 step" // 8 : "Blower off" uint8_t FIU_BlowerSpeedRR_Req : 4; // Bits= 4 // Climate control auto mode for rear left zone request // 0 : "No change" // 1 : "Auto mode 1 requested" // 2 : "Auto mode 2 requested" // 3 : "Auto mode 3 requested" // 4 : "Auto mode 4 requested" // 5 : "Auto mode 5 requested" uint8_t FIU_CCautoModeRL_Req : 3; // Bits= 3 // Climate control auto mode for rear right zone request // 0 : "No change" // 1 : "Auto mode 1 requested" // 2 : "Auto mode 2 requested" // 3 : "Auto mode 3 requested" // 4 : "Auto mode 4 requested" // 5 : "Auto mode 5 requested" uint8_t FIU_CCautoModeRR_Req : 3; // Bits= 3 // Deflector rear left in B-pillar request // 4 : "No LED" // 3 : "LED 3 step" // 2 : "LED 2 step" // 1 : "LED 1 step" // 0 : "No change" uint8_t FIU_DeflectorSwRLB_Req : 3; // Bits= 3 // Deflector front console left request // 4 : "No LED" // 3 : "LED 3 step" // 2 : "LED 2 step" // 1 : "LED 1 step" // 0 : "No change" uint8_t FIU_DeflectorSwFCL_Req : 3; // Bits= 3 // Air conditioner OFF rear request // 0 : "No change" // 1 : "AC front ON" // 2 : "AC front OFF" uint8_t FIU_ACrearOFF_Req : 2; // Bits= 2 // Deflector front console right request // 4 : "No LED" // 3 : "LED 3 step" // 2 : "LED 2 step" // 1 : "LED 1 step" // 0 : "No change" uint8_t FIU_DeflectorSwFCR_Req : 3; // Bits= 3 // Deflector rear right in B-pillar request // 4 : "No LED" // 3 : "LED 3 step" // 2 : "LED 2 step" // 1 : "LED 1 step" // 0 : "No change" uint8_t FIU_DeflectorSwRRB_Req : 3; // Bits= 3 // Rear climate zones synchronization on/off request // 0 : "No change" // 1 : "Sync rear" // 2 : "Sync off" uint8_t FIU_RearZoneSync_Req : 2; // Bits= 2 #else // Target temperature for rear left zone value uint8_t FIU_TargetTempRL_Val_ro; // Bits= 5 Offset= 15.5 Factor= 0.5 #ifdef CANDB_USE_SIGFLOAT sigfloat_t FIU_TargetTempRL_Val_phys; #endif // CANDB_USE_SIGFLOAT // Footwell temperature correction for rear left zone request // 0 : "No change" // 1 : "-3 step" // 2 : "-2 step" // 3 : "-1 step" // 4 : "0" // 5 : "+1 step" // 6 : "+2 step" // 7 : "+3 step" uint8_t FIU_FootTempCorRL_Req; // Bits= 3 // Target temperature for rear right zone value uint8_t FIU_TargetTempRR_Val_ro; // Bits= 5 Offset= 15.5 Factor= 0.5 #ifdef CANDB_USE_SIGFLOAT sigfloat_t FIU_TargetTempRR_Val_phys; #endif // CANDB_USE_SIGFLOAT // Footwell temperature correction for rear right zone request // 0 : "No change" // 1 : "-3 step" // 2 : "-2 step" // 3 : "-1 step" // 4 : "0" // 5 : "+1 step" // 6 : "+2 step" // 7 : "+3 step" uint8_t FIU_FootTempCorRR_Req; // Bits= 3 // Climate control mode for rear left zone request // 0 : "No change" // 1 : "Manual mode requested" // 2 : "Auto mode requested" uint8_t FIU_CCmodeRL_Req; // Bits= 2 // Airflow direction mode for rear left zone request // 0 : "No change" // 1 : "Active" // 2 : "Inactive" uint8_t FIU_AirDirectionRL_Def_Req; // Bits= 2 // Airflow direction mode for rear left zone request // 0 : "No change" // 1 : "Active" // 2 : "Inactive" uint8_t FIU_AirDirectionRL_Face_Req; // Bits= 2 // Airflow direction mode for rear left zone request // 0 : "No change" // 1 : "Active" // 2 : "Inactive" uint8_t FIU_AirDirectionRL_Foot_Req; // Bits= 2 // Climate control mode for rear right zone request // 0 : "No change" // 1 : "Manual mode requested" // 2 : "Auto mode requested" uint8_t FIU_CCmodeRR_Req; // Bits= 2 // Airflow direction mode for rear right zone request // 0 : "No change" // 1 : "Active" // 2 : "Inactive" uint8_t FIU_AirDirectionRR_Def_Req; // Bits= 2 // Airflow direction mode for rear right zone request // 0 : "No change" // 1 : "Active" // 2 : "Inactive" uint8_t FIU_AirDirectionRR_Face_Req; // Bits= 2 // Airflow direction mode for rear right zone request // 0 : "No change" // 1 : "Active" // 2 : "Inactive" uint8_t FIU_AirDirectionRR_Foot_Req; // Bits= 2 // Blower speed for rear left zone request // 0 : "No change" // 1 : "1 step" // 2 : "2 step" // 3 : "3 step" // 4 : "4 step" // 5 : "5 step" // 6 : "6 step" // 7 : "7 step" // 8 : "Blower off" uint8_t FIU_BlowerSpeedRL_Req; // Bits= 4 // Blower speed for rear right zone request // 0 : "No change" // 1 : "1 step" // 2 : "2 step" // 3 : "3 step" // 4 : "4 step" // 5 : "5 step" // 6 : "6 step" // 7 : "7 step" // 8 : "Blower off" uint8_t FIU_BlowerSpeedRR_Req; // Bits= 4 // Climate control auto mode for rear left zone request // 0 : "No change" // 1 : "Auto mode 1 requested" // 2 : "Auto mode 2 requested" // 3 : "Auto mode 3 requested" // 4 : "Auto mode 4 requested" // 5 : "Auto mode 5 requested" uint8_t FIU_CCautoModeRL_Req; // Bits= 3 // Climate control auto mode for rear right zone request // 0 : "No change" // 1 : "Auto mode 1 requested" // 2 : "Auto mode 2 requested" // 3 : "Auto mode 3 requested" // 4 : "Auto mode 4 requested" // 5 : "Auto mode 5 requested" uint8_t FIU_CCautoModeRR_Req; // Bits= 3 // Deflector rear left in B-pillar request // 4 : "No LED" // 3 : "LED 3 step" // 2 : "LED 2 step" // 1 : "LED 1 step" // 0 : "No change" uint8_t FIU_DeflectorSwRLB_Req; // Bits= 3 // Deflector front console left request // 4 : "No LED" // 3 : "LED 3 step" // 2 : "LED 2 step" // 1 : "LED 1 step" // 0 : "No change" uint8_t FIU_DeflectorSwFCL_Req; // Bits= 3 // Air conditioner OFF rear request // 0 : "No change" // 1 : "AC front ON" // 2 : "AC front OFF" uint8_t FIU_ACrearOFF_Req; // Bits= 2 // Deflector front console right request // 4 : "No LED" // 3 : "LED 3 step" // 2 : "LED 2 step" // 1 : "LED 1 step" // 0 : "No change" uint8_t FIU_DeflectorSwFCR_Req; // Bits= 3 // Deflector rear right in B-pillar request // 4 : "No LED" // 3 : "LED 3 step" // 2 : "LED 2 step" // 1 : "LED 1 step" // 0 : "No change" uint8_t FIU_DeflectorSwRRB_Req; // Bits= 3 // Rear climate zones synchronization on/off request // 0 : "No change" // 1 : "Sync rear" // 2 : "Sync off" uint8_t FIU_RearZoneSync_Req; // Bits= 2 #endif // CANDB_USE_BITS_SIGNAL #ifdef CANDB_USE_DIAG_MONITORS FrameMonitor_t mon1; #endif // CANDB_USE_DIAG_MONITORS } FIU_CCU2_t; // def @FIU_CCU3 CAN Message (1443 0x5a3) #define FIU_CCU3_IDE (0U) #define FIU_CCU3_DLC (3U) #define FIU_CCU3_CANID (0x5a3U) // Value tables for @FIU_Aroma_Req signal #ifndef FIU_Aroma_Req_FIU_CCU3_No_change #define FIU_Aroma_Req_FIU_CCU3_No_change (0) #endif #ifndef FIU_Aroma_Req_FIU_CCU3_Aromatization_on #define FIU_Aroma_Req_FIU_CCU3_Aromatization_on (1) #endif #ifndef FIU_Aroma_Req_FIU_CCU3_Aromatization_off #define FIU_Aroma_Req_FIU_CCU3_Aromatization_off (2) #endif // Value tables for @FIU_AromaIntens_Req signal #ifndef FIU_AromaIntens_Req_FIU_CCU3_No_change #define FIU_AromaIntens_Req_FIU_CCU3_No_change (0) #endif #ifndef FIU_AromaIntens_Req_FIU_CCU3_Aromatization_mode_1_step #define FIU_AromaIntens_Req_FIU_CCU3_Aromatization_mode_1_step (1) #endif #ifndef FIU_AromaIntens_Req_FIU_CCU3_Aromatization_mode_2_step #define FIU_AromaIntens_Req_FIU_CCU3_Aromatization_mode_2_step (2) #endif #ifndef FIU_AromaIntens_Req_FIU_CCU3_Aromatization_mode_3_step #define FIU_AromaIntens_Req_FIU_CCU3_Aromatization_mode_3_step (3) #endif // Value tables for @FIU_Rest_Req signal #ifndef FIU_Rest_Req_FIU_CCU3_No_change #define FIU_Rest_Req_FIU_CCU3_No_change (0) #endif #ifndef FIU_Rest_Req_FIU_CCU3_Rest_mode_requested #define FIU_Rest_Req_FIU_CCU3_Rest_mode_requested (1) #endif #ifndef FIU_Rest_Req_FIU_CCU3_Rest_mode_not_requested #define FIU_Rest_Req_FIU_CCU3_Rest_mode_not_requested (2) #endif // Value tables for @FIU_Ionization_Req signal #ifndef FIU_Ionization_Req_FIU_CCU3_Ionization_off #define FIU_Ionization_Req_FIU_CCU3_Ionization_off (2) #endif #ifndef FIU_Ionization_Req_FIU_CCU3_Ionization_on #define FIU_Ionization_Req_FIU_CCU3_Ionization_on (1) #endif #ifndef FIU_Ionization_Req_FIU_CCU3_No_change #define FIU_Ionization_Req_FIU_CCU3_No_change (0) #endif // Value tables for @FIU_RLfootBlowDis_Req signal #ifndef FIU_RLfootBlowDis_Req_FIU_CCU3_No_change #define FIU_RLfootBlowDis_Req_FIU_CCU3_No_change (0) #endif #ifndef FIU_RLfootBlowDis_Req_FIU_CCU3_Rear_footwell_blowing_disabled_limitation_ON #define FIU_RLfootBlowDis_Req_FIU_CCU3_Rear_footwell_blowing_disabled_limitation_ON (1) #endif #ifndef FIU_RLfootBlowDis_Req_FIU_CCU3_Rear_footwell_blowing_enabled_limitation_OFF #define FIU_RLfootBlowDis_Req_FIU_CCU3_Rear_footwell_blowing_enabled_limitation_OFF (2) #endif // Value tables for @FIU_RRfootBlowDis_Req signal #ifndef FIU_RRfootBlowDis_Req_FIU_CCU3_No_change #define FIU_RRfootBlowDis_Req_FIU_CCU3_No_change (0) #endif #ifndef FIU_RRfootBlowDis_Req_FIU_CCU3_Rear_footwell_blowing_disabled_limitation_ON #define FIU_RRfootBlowDis_Req_FIU_CCU3_Rear_footwell_blowing_disabled_limitation_ON (1) #endif #ifndef FIU_RRfootBlowDis_Req_FIU_CCU3_Rear_footwell_blowing_enabled_limitation_OFF #define FIU_RRfootBlowDis_Req_FIU_CCU3_Rear_footwell_blowing_enabled_limitation_OFF (2) #endif // Value tables for @FIU_ACmax_Req signal #ifndef FIU_ACmax_Req_FIU_CCU3_No_change #define FIU_ACmax_Req_FIU_CCU3_No_change (0) #endif #ifndef FIU_ACmax_Req_FIU_CCU3_AC_MAX_on #define FIU_ACmax_Req_FIU_CCU3_AC_MAX_on (1) #endif #ifndef FIU_ACmax_Req_FIU_CCU3_AC_MAX_off #define FIU_ACmax_Req_FIU_CCU3_AC_MAX_off (2) #endif // Value tables for @FIU_Defrost_Req signal #ifndef FIU_Defrost_Req_FIU_CCU3_No_change #define FIU_Defrost_Req_FIU_CCU3_No_change (0) #endif #ifndef FIU_Defrost_Req_FIU_CCU3_Defrost_on #define FIU_Defrost_Req_FIU_CCU3_Defrost_on (1) #endif #ifndef FIU_Defrost_Req_FIU_CCU3_Defrost_off #define FIU_Defrost_Req_FIU_CCU3_Defrost_off (2) #endif // Value tables for @FIU_Ultraviolet_Req signal #ifndef FIU_Ultraviolet_Req_FIU_CCU3_Ultraviolet_off #define FIU_Ultraviolet_Req_FIU_CCU3_Ultraviolet_off (2) #endif #ifndef FIU_Ultraviolet_Req_FIU_CCU3_Ultraviolet_on #define FIU_Ultraviolet_Req_FIU_CCU3_Ultraviolet_on (1) #endif #ifndef FIU_Ultraviolet_Req_FIU_CCU3_No_change #define FIU_Ultraviolet_Req_FIU_CCU3_No_change (0) #endif typedef struct { #ifdef CANDB_USE_BITS_SIGNAL // Aromatization system request // 0 : "No change" // 1 : "Aromatization on" // 2 : "Aromatization off" uint8_t FIU_Aroma_Req : 2; // Bits= 2 // Aromatization intensity request // 0 : "No change" // 1 : "Aromatization mode 1 step" // 2 : "Aromatization mode 2 step" // 3 : "Aromatization mode 3 step" uint8_t FIU_AromaIntens_Req : 2; // Bits= 2 // Rest mode request // 0 : "No change" // 1 : "Rest mode requested" // 2 : "Rest mode not requested" uint8_t FIU_Rest_Req : 2; // Bits= 2 // Ionization system request // 2 : "Ionization off" // 1 : "Ionization on" // 0 : "No change" uint8_t FIU_Ionization_Req : 2; // Bits= 2 // Rear left passenger footwell blowing disable request (summer mode) // 0 : "No change" // 1 : "Rear footwell blowing disabled (limitation ON)" // 2 : "Rear footwell blowing enabled (limitation OFF)" uint8_t FIU_RLfootBlowDis_Req : 2; // Bits= 2 // Rear right passenger footwell blowing disable request (summer mode) // 0 : "No change" // 1 : "Rear footwell blowing disabled (limitation ON)" // 2 : "Rear footwell blowing enabled (limitation OFF)" uint8_t FIU_RRfootBlowDis_Req : 2; // Bits= 2 // AC max mode request // 0 : "No change" // 1 : "AC MAX on" // 2 : "AC MAX off" uint8_t FIU_ACmax_Req : 2; // Bits= 2 // Defrost max mode request // 0 : "No change" // 1 : "Defrost on" // 2 : "Defrost off" uint8_t FIU_Defrost_Req : 2; // Bits= 2 // Ultraviolet system mode request // 2 : "Ultraviolet off" // 1 : "Ultraviolet on" // 0 : "No change" uint8_t FIU_Ultraviolet_Req : 2; // Bits= 2 #else // Aromatization system request // 0 : "No change" // 1 : "Aromatization on" // 2 : "Aromatization off" uint8_t FIU_Aroma_Req; // Bits= 2 // Aromatization intensity request // 0 : "No change" // 1 : "Aromatization mode 1 step" // 2 : "Aromatization mode 2 step" // 3 : "Aromatization mode 3 step" uint8_t FIU_AromaIntens_Req; // Bits= 2 // Rest mode request // 0 : "No change" // 1 : "Rest mode requested" // 2 : "Rest mode not requested" uint8_t FIU_Rest_Req; // Bits= 2 // Ionization system request // 2 : "Ionization off" // 1 : "Ionization on" // 0 : "No change" uint8_t FIU_Ionization_Req; // Bits= 2 // Rear left passenger footwell blowing disable request (summer mode) // 0 : "No change" // 1 : "Rear footwell blowing disabled (limitation ON)" // 2 : "Rear footwell blowing enabled (limitation OFF)" uint8_t FIU_RLfootBlowDis_Req; // Bits= 2 // Rear right passenger footwell blowing disable request (summer mode) // 0 : "No change" // 1 : "Rear footwell blowing disabled (limitation ON)" // 2 : "Rear footwell blowing enabled (limitation OFF)" uint8_t FIU_RRfootBlowDis_Req; // Bits= 2 // AC max mode request // 0 : "No change" // 1 : "AC MAX on" // 2 : "AC MAX off" uint8_t FIU_ACmax_Req; // Bits= 2 // Defrost max mode request // 0 : "No change" // 1 : "Defrost on" // 2 : "Defrost off" uint8_t FIU_Defrost_Req; // Bits= 2 // Ultraviolet system mode request // 2 : "Ultraviolet off" // 1 : "Ultraviolet on" // 0 : "No change" uint8_t FIU_Ultraviolet_Req; // Bits= 2 #endif // CANDB_USE_BITS_SIGNAL #ifdef CANDB_USE_DIAG_MONITORS FrameMonitor_t mon1; #endif // CANDB_USE_DIAG_MONITORS } FIU_CCU3_t; // Diagnostic message // def @Diag_To_CCU CAN Message (1963 0x7ab) #define Diag_To_CCU_IDE (0U) #define Diag_To_CCU_DLC (8U) #define Diag_To_CCU_CANID (0x7abU) typedef struct { #ifdef CANDB_USE_BITS_SIGNAL // Diagnostic signal uint64_t Diag_To_CCU_Sig; // Bits=64 #else // Diagnostic signal uint64_t Diag_To_CCU_Sig; // Bits=64 #endif // CANDB_USE_BITS_SIGNAL #ifdef CANDB_USE_DIAG_MONITORS FrameMonitor_t mon1; #endif // CANDB_USE_DIAG_MONITORS } Diag_To_CCU_t; // Diagnostic message // def @Diag_From_CCU CAN Message (1979 0x7bb) #define Diag_From_CCU_IDE (0U) #define Diag_From_CCU_DLC (8U) #define Diag_From_CCU_CANID (0x7bbU) typedef struct { #ifdef CANDB_USE_BITS_SIGNAL // Diagnostic signal uint64_t Diag_From_CCU_Sig; // Bits=64 #else // Diagnostic signal uint64_t Diag_From_CCU_Sig; // Bits=64 #endif // CANDB_USE_BITS_SIGNAL #ifdef CANDB_USE_DIAG_MONITORS FrameMonitor_t mon1; #endif // CANDB_USE_DIAG_MONITORS } Diag_From_CCU_t; // Diagnostic message // def @Diag_Functional CAN Message (2015 0x7df) #define Diag_Functional_IDE (0U) #define Diag_Functional_DLC (8U) #define Diag_Functional_CANID (0x7dfU) typedef struct { #ifdef CANDB_USE_BITS_SIGNAL // Diagnostic signal uint64_t Diag_Functional_Sig; // Bits=64 #else // Diagnostic signal uint64_t Diag_Functional_Sig; // Bits=64 #endif // CANDB_USE_BITS_SIGNAL #ifdef CANDB_USE_DIAG_MONITORS FrameMonitor_t mon1; #endif // CANDB_USE_DIAG_MONITORS } Diag_Functional_t; // def @HVC_01 CAN Message (419395865 0x18ff7919) #define HVC_01_IDE (1U) #define HVC_01_DLC (8U) #define HVC_01_CANID (0x18ff7919U) #define HVC_01_CYC (100U) // Value tables for @HVC_ActSpeed_Val signal #ifndef HVC_ActSpeed_Val_HVC_01_Invalid #define HVC_ActSpeed_Val_HVC_01_Invalid (65535) #endif // signal: @HVC_ActTemp_Val_ro #define CANDB_HVC_ActTemp_Val_ro_CovFactor (2) #define CANDB_HVC_ActTemp_Val_ro_toS(x) ( (uint8_t) (((x) - (-40)) / (2)) ) #define CANDB_HVC_ActTemp_Val_ro_fromS(x) ( (((x) * (2)) + (-40)) ) // Value tables for @HVC_OvTemp_Stat signal #ifndef HVC_OvTemp_Stat_HVC_01_Fault #define HVC_OvTemp_Stat_HVC_01_Fault (1) #endif #ifndef HVC_OvTemp_Stat_HVC_01_Normal #define HVC_OvTemp_Stat_HVC_01_Normal (0) #endif // Value tables for @HVC_ActMode_Stat signal #ifndef HVC_ActMode_Stat_HVC_01_Error #define HVC_ActMode_Stat_HVC_01_Error (2) #endif #ifndef HVC_ActMode_Stat_HVC_01_Active #define HVC_ActMode_Stat_HVC_01_Active (1) #endif #ifndef HVC_ActMode_Stat_HVC_01_Standby #define HVC_ActMode_Stat_HVC_01_Standby (0) #endif // Value tables for @HVC_FaultLvl_Stat signal #ifndef HVC_FaultLvl_Stat_HVC_01_Level_3_failure #define HVC_FaultLvl_Stat_HVC_01_Level_3_failure (3) #endif #ifndef HVC_FaultLvl_Stat_HVC_01_Level_2_failure #define HVC_FaultLvl_Stat_HVC_01_Level_2_failure (2) #endif #ifndef HVC_FaultLvl_Stat_HVC_01_Level_1_failure #define HVC_FaultLvl_Stat_HVC_01_Level_1_failure (1) #endif #ifndef HVC_FaultLvl_Stat_HVC_01_No_trouble #define HVC_FaultLvl_Stat_HVC_01_No_trouble (0) #endif // Value tables for @HVC_OvSpeed_Stat signal #ifndef HVC_OvSpeed_Stat_HVC_01_Fault #define HVC_OvSpeed_Stat_HVC_01_Fault (1) #endif #ifndef HVC_OvSpeed_Stat_HVC_01_Normal #define HVC_OvSpeed_Stat_HVC_01_Normal (0) #endif // Value tables for @CCM2_LossStepErr_Stat signal #ifndef CCM2_LossStepErr_Stat_HVC_01_Fault #define CCM2_LossStepErr_Stat_HVC_01_Fault (1) #endif #ifndef CCM2_LossStepErr_Stat_HVC_01_Normal #define CCM2_LossStepErr_Stat_HVC_01_Normal (0) #endif // Value tables for @HVC_OvLoadErr_Stat signal #ifndef HVC_OvLoadErr_Stat_HVC_01_Fault #define HVC_OvLoadErr_Stat_HVC_01_Fault (1) #endif #ifndef HVC_OvLoadErr_Stat_HVC_01_Normal #define HVC_OvLoadErr_Stat_HVC_01_Normal (0) #endif // Value tables for @HVC_IGBTErr_Stat signal #ifndef HVC_IGBTErr_Stat_HVC_01_Fault #define HVC_IGBTErr_Stat_HVC_01_Fault (1) #endif #ifndef HVC_IGBTErr_Stat_HVC_01_Normal #define HVC_IGBTErr_Stat_HVC_01_Normal (0) #endif // Value tables for @HVC_ErrCode_Stat signal #ifndef HVC_ErrCode_Stat_HVC_01_Over_Temperature_Drop_speed #define HVC_ErrCode_Stat_HVC_01_Over_Temperature_Drop_speed (132) #endif #ifndef HVC_ErrCode_Stat_HVC_01_Over_Temperature #define HVC_ErrCode_Stat_HVC_01_Over_Temperature (131) #endif #ifndef HVC_ErrCode_Stat_HVC_01_ADC_Error #define HVC_ErrCode_Stat_HVC_01_ADC_Error (130) #endif #ifndef HVC_ErrCode_Stat_HVC_01_Speed_Error #define HVC_ErrCode_Stat_HVC_01_Speed_Error (129) #endif #ifndef HVC_ErrCode_Stat_HVC_01_Over_power_Drop_Frequency #define HVC_ErrCode_Stat_HVC_01_Over_power_Drop_Frequency (128) #endif #ifndef HVC_ErrCode_Stat_HVC_01_Over_current_Drop_Frequeney #define HVC_ErrCode_Stat_HVC_01_Over_current_Drop_Frequeney (64) #endif #ifndef HVC_ErrCode_Stat_HVC_01_Communication_Error #define HVC_ErrCode_Stat_HVC_01_Communication_Error (32) #endif #ifndef HVC_ErrCode_Stat_HVC_01_Standby_Under_Voltage #define HVC_ErrCode_Stat_HVC_01_Standby_Under_Voltage (16) #endif #ifndef HVC_ErrCode_Stat_HVC_01_Standby_Over_Voltage #define HVC_ErrCode_Stat_HVC_01_Standby_Over_Voltage (8) #endif #ifndef HVC_ErrCode_Stat_HVC_01_Under_Voltage #define HVC_ErrCode_Stat_HVC_01_Under_Voltage (4) #endif #ifndef HVC_ErrCode_Stat_HVC_01_Over_Voltage #define HVC_ErrCode_Stat_HVC_01_Over_Voltage (2) #endif #ifndef HVC_ErrCode_Stat_HVC_01_Over_current #define HVC_ErrCode_Stat_HVC_01_Over_current (1) #endif #ifndef HVC_ErrCode_Stat_HVC_01_No_error #define HVC_ErrCode_Stat_HVC_01_No_error (0) #endif // signal: @HVC_PhaCurrA_Val_ro #define CANDB_HVC_PhaCurrA_Val_ro_CovFactor (0.16) #define CANDB_HVC_PhaCurrA_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.16)) ) #define CANDB_HVC_PhaCurrA_Val_ro_fromS(x) ( (((x) * (0.16)) + (0.0)) ) // signal: @HVC_ActCurr_Val_ro #define CANDB_HVC_ActCurr_Val_ro_CovFactor (0.1) #define CANDB_HVC_ActCurr_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.1)) ) #define CANDB_HVC_ActCurr_Val_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) // signal: @HVC_ActVolt_Val_ro #define CANDB_HVC_ActVolt_Val_ro_CovFactor (4) #define CANDB_HVC_ActVolt_Val_ro_toS(x) ( (uint8_t) ((x) / (4)) ) #define CANDB_HVC_ActVolt_Val_ro_fromS(x) ( ((x) * (4)) ) typedef struct { #ifdef CANDB_USE_BITS_SIGNAL // ACActualSpeed // AC actual speed // 65535 : "Invalid" uint16_t HVC_ActSpeed_Val; // Bits=16 Unit:'rpm' // EACTemp // controller temperature uint8_t HVC_ActTemp_Val_ro : 7; // Bits= 7 Offset= -40 Factor= 2 Unit:'�C' #ifdef CANDB_USE_SIGFLOAT int16_t HVC_ActTemp_Val_phys; #endif // CANDB_USE_SIGFLOAT // CCM2_OverTempErr // over temperature fault // 1 : "Fault" // 0 : "Normal" uint8_t HVC_OvTemp_Stat : 1; // Bits= 1 // AC_WorkSt // AC working status // 2 : "Error" // 1 : "Active" // 0 : "Standby" uint8_t HVC_ActMode_Stat : 2; // Bits= 2 // AC_FaultLevel // Compressor failure class // 3 : "Level 3 failure" // 2 : "Level 2 failure" // 1 : "Level 1 failure" // 0 : "No trouble" uint8_t HVC_FaultLvl_Stat : 2; // Bits= 2 // CCM2_OverSpeedErr // Abnormal speed fault // 1 : "Fault" // 0 : "Normal" uint8_t HVC_OvSpeed_Stat : 1; // Bits= 1 // CCM2_LossStepErr // out of sync failure // 1 : "Fault" // 0 : "Normal" uint8_t CCM2_LossStepErr_Stat : 1; // Bits= 1 // CCM2_OverLoadError // overload fault // 1 : "Fault" // 0 : "Normal" uint8_t HVC_OvLoadErr_Stat : 1; // Bits= 1 // IGBTErr // Power tube failure // 1 : "Fault" // 0 : "Normal" uint8_t HVC_IGBTErr_Stat : 1; // Bits= 1 // AC_ErrorCode // AC fault code // 132 : "Over Temperature Drop speed" // 131 : "Over Temperature" // 130 : "ADC Error" // 129 : "Speed Error" // 128 : "Over power Drop Frequency" // 64 : "Over current Drop Frequeney" // 32 : "Communication Error" // 16 : "Standby Under Voltage" // 8 : "Standby Over Voltage" // 4 : "Under Voltage" // 2 : "Over Voltage" // 1 : "Over current" // 0 : "No error" uint8_t HVC_ErrCode_Stat; // Bits= 8 // AC_PhaCur_A // phase current uint8_t HVC_PhaCurrA_Val_ro; // Bits= 8 Factor= 0.16 Unit:'A' #ifdef CANDB_USE_SIGFLOAT sigfloat_t HVC_PhaCurrA_Val_phys; #endif // CANDB_USE_SIGFLOAT // AC_Current // AC current uint8_t HVC_ActCurr_Val_ro; // Bits= 8 Factor= 0.1 Unit:'A' #ifdef CANDB_USE_SIGFLOAT sigfloat_t HVC_ActCurr_Val_phys; #endif // CANDB_USE_SIGFLOAT // AC_Voltage // AC voltage uint8_t HVC_ActVolt_Val_ro; // Bits= 8 Factor= 4 Unit:'V' #ifdef CANDB_USE_SIGFLOAT uint16_t HVC_ActVolt_Val_phys; #endif // CANDB_USE_SIGFLOAT #else // ACActualSpeed // AC actual speed // 65535 : "Invalid" uint16_t HVC_ActSpeed_Val; // Bits=16 Unit:'rpm' // EACTemp // controller temperature uint8_t HVC_ActTemp_Val_ro; // Bits= 7 Offset= -40 Factor= 2 Unit:'�C' #ifdef CANDB_USE_SIGFLOAT int16_t HVC_ActTemp_Val_phys; #endif // CANDB_USE_SIGFLOAT // CCM2_OverTempErr // over temperature fault // 1 : "Fault" // 0 : "Normal" uint8_t HVC_OvTemp_Stat; // Bits= 1 // AC_WorkSt // AC working status // 2 : "Error" // 1 : "Active" // 0 : "Standby" uint8_t HVC_ActMode_Stat; // Bits= 2 // AC_FaultLevel // Compressor failure class // 3 : "Level 3 failure" // 2 : "Level 2 failure" // 1 : "Level 1 failure" // 0 : "No trouble" uint8_t HVC_FaultLvl_Stat; // Bits= 2 // CCM2_OverSpeedErr // Abnormal speed fault // 1 : "Fault" // 0 : "Normal" uint8_t HVC_OvSpeed_Stat; // Bits= 1 // CCM2_LossStepErr // out of sync failure // 1 : "Fault" // 0 : "Normal" uint8_t CCM2_LossStepErr_Stat; // Bits= 1 // CCM2_OverLoadError // overload fault // 1 : "Fault" // 0 : "Normal" uint8_t HVC_OvLoadErr_Stat; // Bits= 1 // IGBTErr // Power tube failure // 1 : "Fault" // 0 : "Normal" uint8_t HVC_IGBTErr_Stat; // Bits= 1 // AC_ErrorCode // AC fault code // 132 : "Over Temperature Drop speed" // 131 : "Over Temperature" // 130 : "ADC Error" // 129 : "Speed Error" // 128 : "Over power Drop Frequency" // 64 : "Over current Drop Frequeney" // 32 : "Communication Error" // 16 : "Standby Under Voltage" // 8 : "Standby Over Voltage" // 4 : "Under Voltage" // 2 : "Over Voltage" // 1 : "Over current" // 0 : "No error" uint8_t HVC_ErrCode_Stat; // Bits= 8 // AC_PhaCur_A // phase current uint8_t HVC_PhaCurrA_Val_ro; // Bits= 8 Factor= 0.16 Unit:'A' #ifdef CANDB_USE_SIGFLOAT sigfloat_t HVC_PhaCurrA_Val_phys; #endif // CANDB_USE_SIGFLOAT // AC_Current // AC current uint8_t HVC_ActCurr_Val_ro; // Bits= 8 Factor= 0.1 Unit:'A' #ifdef CANDB_USE_SIGFLOAT sigfloat_t HVC_ActCurr_Val_phys; #endif // CANDB_USE_SIGFLOAT // AC_Voltage // AC voltage uint8_t HVC_ActVolt_Val_ro; // Bits= 8 Factor= 4 Unit:'V' #ifdef CANDB_USE_SIGFLOAT uint16_t HVC_ActVolt_Val_phys; #endif // CANDB_USE_SIGFLOAT #endif // CANDB_USE_BITS_SIGNAL #ifdef CANDB_USE_DIAG_MONITORS FrameMonitor_t mon1; #endif // CANDB_USE_DIAG_MONITORS } HVC_01_t; // def @CCU_AC_Ctrl CAN Message (419426816 0x18fff200) #define CCU_AC_Ctrl_IDE (1U) #define CCU_AC_Ctrl_DLC (8U) #define CCU_AC_Ctrl_CANID (0x18fff200U) #define CCU_AC_Ctrl_CYC (100U) // Value tables for @CCU_VCU_ACSpeedReq signal #ifndef CCU_VCU_ACSpeedReq_CCU_AC_Ctrl_Invalid #define CCU_VCU_ACSpeedReq_CCU_AC_Ctrl_Invalid (65535) #endif // signal: @CCU_ACMaxPowerConsumptionAllow_ro #define CANDB_CCU_ACMaxPowerConsumptionAllow_ro_CovFactor (0.1) #define CANDB_CCU_ACMaxPowerConsumptionAllow_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.1)) ) #define CANDB_CCU_ACMaxPowerConsumptionAllow_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) // Value tables for @CCU_VCU_AC_WorkReq signal #ifndef CCU_VCU_AC_WorkReq_CCU_AC_Ctrl_Active #define CCU_VCU_AC_WorkReq_CCU_AC_Ctrl_Active (1) #endif #ifndef CCU_VCU_AC_WorkReq_CCU_AC_Ctrl_Standby #define CCU_VCU_AC_WorkReq_CCU_AC_Ctrl_Standby (0) #endif typedef struct { #ifdef CANDB_USE_BITS_SIGNAL // 65535 : "Invalid" uint16_t CCU_VCU_ACSpeedReq; // Bits=16 Unit:'rpm' uint8_t CCU_ACMaxPowerConsumptionAllow_ro; // Bits= 8 Factor= 0.1 Unit:'kW' #ifdef CANDB_USE_SIGFLOAT sigfloat_t CCU_ACMaxPowerConsumptionAllow_phys; #endif // CANDB_USE_SIGFLOAT // 1 : "Active" // 0 : "Standby" uint8_t CCU_VCU_AC_WorkReq : 1; // Bits= 1 #else // 65535 : "Invalid" uint16_t CCU_VCU_ACSpeedReq; // Bits=16 Unit:'rpm' uint8_t CCU_ACMaxPowerConsumptionAllow_ro; // Bits= 8 Factor= 0.1 Unit:'kW' #ifdef CANDB_USE_SIGFLOAT sigfloat_t CCU_ACMaxPowerConsumptionAllow_phys; #endif // CANDB_USE_SIGFLOAT // 1 : "Active" // 0 : "Standby" uint8_t CCU_VCU_AC_WorkReq; // Bits= 1 #endif // CANDB_USE_BITS_SIGNAL #ifdef CANDB_USE_DIAG_MONITORS FrameMonitor_t mon1; #endif // CANDB_USE_DIAG_MONITORS } CCU_AC_Ctrl_t; // Function signatures uint32_t Unpack_ESC_04_candb(ESC_04_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_ESC_04_candb(ESC_04_t* _m, __CoderDbcCanFrame_t__* cframe); #else uint32_t Pack_ESC_04_candb(ESC_04_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT uint32_t Unpack_EMS_Veh_candb(EMS_Veh_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_EMS_Veh_candb(EMS_Veh_t* _m, __CoderDbcCanFrame_t__* cframe); #else uint32_t Pack_EMS_Veh_candb(EMS_Veh_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT uint32_t Unpack_BCM_Powertrain_candb(BCM_Powertrain_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_BCM_Powertrain_candb(BCM_Powertrain_t* _m, __CoderDbcCanFrame_t__* cframe); #else uint32_t Pack_BCM_Powertrain_candb(BCM_Powertrain_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT uint32_t Unpack_EMS_Veh_02_candb(EMS_Veh_02_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_EMS_Veh_02_candb(EMS_Veh_02_t* _m, __CoderDbcCanFrame_t__* cframe); #else uint32_t Pack_EMS_Veh_02_candb(EMS_Veh_02_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT uint32_t Unpack_BCM_EEM_candb(BCM_EEM_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_BCM_EEM_candb(BCM_EEM_t* _m, __CoderDbcCanFrame_t__* cframe); #else uint32_t Pack_BCM_EEM_candb(BCM_EEM_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT uint32_t Unpack_DMFR_Msg1_candb(DMFR_Msg1_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_DMFR_Msg1_candb(DMFR_Msg1_t* _m, __CoderDbcCanFrame_t__* cframe); #else uint32_t Pack_DMFR_Msg1_candb(DMFR_Msg1_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT uint32_t Unpack_DMFL_Msg1_candb(DMFL_Msg1_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_DMFL_Msg1_candb(DMFL_Msg1_t* _m, __CoderDbcCanFrame_t__* cframe); #else uint32_t Pack_DMFL_Msg1_candb(DMFL_Msg1_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT uint32_t Unpack_TM_Stat_candb(TM_Stat_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_TM_Stat_candb(TM_Stat_t* _m, __CoderDbcCanFrame_t__* cframe); #else uint32_t Pack_TM_Stat_candb(TM_Stat_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT uint32_t Unpack_TM_CP_candb(TM_CP_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_TM_CP_candb(TM_CP_t* _m, __CoderDbcCanFrame_t__* cframe); #else uint32_t Pack_TM_CP_candb(TM_CP_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT uint32_t Unpack_HVC_CCU_Status_Msg_candb(HVC_CCU_Status_Msg_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_HVC_CCU_Status_Msg_candb(HVC_CCU_Status_Msg_t* _m, __CoderDbcCanFrame_t__* cframe); #else uint32_t Pack_HVC_CCU_Status_Msg_candb(HVC_CCU_Status_Msg_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT uint32_t Unpack_BCM_VEH_STATE_candb(BCM_VEH_STATE_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_BCM_VEH_STATE_candb(BCM_VEH_STATE_t* _m, __CoderDbcCanFrame_t__* cframe); #else uint32_t Pack_BCM_VEH_STATE_candb(BCM_VEH_STATE_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT uint32_t Unpack_EMS_HVC_Req_Msg_candb(EMS_HVC_Req_Msg_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_EMS_HVC_Req_Msg_candb(EMS_HVC_Req_Msg_t* _m, __CoderDbcCanFrame_t__* cframe); #else uint32_t Pack_EMS_HVC_Req_Msg_candb(EMS_HVC_Req_Msg_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT uint32_t Unpack_HVC_Err_Status_Msg_candb(HVC_Err_Status_Msg_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_HVC_Err_Status_Msg_candb(HVC_Err_Status_Msg_t* _m, __CoderDbcCanFrame_t__* cframe); #else uint32_t Pack_HVC_Err_Status_Msg_candb(HVC_Err_Status_Msg_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT uint32_t Unpack_CCU_HVC_Req_Msg_candb(CCU_HVC_Req_Msg_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_CCU_HVC_Req_Msg_candb(CCU_HVC_Req_Msg_t* _m, __CoderDbcCanFrame_t__* cframe); #else uint32_t Pack_CCU_HVC_Req_Msg_candb(CCU_HVC_Req_Msg_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT uint32_t Unpack_CCU_Stat1_candb(CCU_Stat1_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_CCU_Stat1_candb(CCU_Stat1_t* _m, __CoderDbcCanFrame_t__* cframe); #else uint32_t Pack_CCU_Stat1_candb(CCU_Stat1_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT uint32_t Unpack_CCU_Stat2_candb(CCU_Stat2_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_CCU_Stat2_candb(CCU_Stat2_t* _m, __CoderDbcCanFrame_t__* cframe); #else uint32_t Pack_CCU_Stat2_candb(CCU_Stat2_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT uint32_t Unpack_CCU_Requests_candb(CCU_Requests_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_CCU_Requests_candb(CCU_Requests_t* _m, __CoderDbcCanFrame_t__* cframe); #else uint32_t Pack_CCU_Requests_candb(CCU_Requests_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT uint32_t Unpack_CCU_Stat3_candb(CCU_Stat3_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_CCU_Stat3_candb(CCU_Stat3_t* _m, __CoderDbcCanFrame_t__* cframe); #else uint32_t Pack_CCU_Stat3_candb(CCU_Stat3_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT uint32_t Unpack_CCU_VCU_Msg1_candb(CCU_VCU_Msg1_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_CCU_VCU_Msg1_candb(CCU_VCU_Msg1_t* _m, __CoderDbcCanFrame_t__* cframe); #else uint32_t Pack_CCU_VCU_Msg1_candb(CCU_VCU_Msg1_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT uint32_t Unpack_CCU_VCU_Msg2_candb(CCU_VCU_Msg2_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_CCU_VCU_Msg2_candb(CCU_VCU_Msg2_t* _m, __CoderDbcCanFrame_t__* cframe); #else uint32_t Pack_CCU_VCU_Msg2_candb(CCU_VCU_Msg2_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT uint32_t Unpack_BCM_CLIMATIC_DATA_candb(BCM_CLIMATIC_DATA_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_BCM_CLIMATIC_DATA_candb(BCM_CLIMATIC_DATA_t* _m, __CoderDbcCanFrame_t__* cframe); #else uint32_t Pack_BCM_CLIMATIC_DATA_candb(BCM_CLIMATIC_DATA_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT uint32_t Unpack_CCU_Msg1_candb(CCU_Msg1_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_CCU_Msg1_candb(CCU_Msg1_t* _m, __CoderDbcCanFrame_t__* cframe); #else uint32_t Pack_CCU_Msg1_candb(CCU_Msg1_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT uint32_t Unpack_VCU_CCU_Req_candb(VCU_CCU_Req_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_VCU_CCU_Req_candb(VCU_CCU_Req_t* _m, __CoderDbcCanFrame_t__* cframe); #else uint32_t Pack_VCU_CCU_Req_candb(VCU_CCU_Req_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT uint32_t Unpack_ESC_08_candb(ESC_08_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_ESC_08_candb(ESC_08_t* _m, __CoderDbcCanFrame_t__* cframe); #else uint32_t Pack_ESC_08_candb(ESC_08_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT uint32_t Unpack_SMFL_status_candb(SMFL_status_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_SMFL_status_candb(SMFL_status_t* _m, __CoderDbcCanFrame_t__* cframe); #else uint32_t Pack_SMFL_status_candb(SMFL_status_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT uint32_t Unpack_SMFR_status_candb(SMFR_status_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_SMFR_status_candb(SMFR_status_t* _m, __CoderDbcCanFrame_t__* cframe); #else uint32_t Pack_SMFR_status_candb(SMFR_status_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT uint32_t Unpack_SMRL_status_candb(SMRL_status_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_SMRL_status_candb(SMRL_status_t* _m, __CoderDbcCanFrame_t__* cframe); #else uint32_t Pack_SMRL_status_candb(SMRL_status_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT uint32_t Unpack_SMRR_status_candb(SMRR_status_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_SMRR_status_candb(SMRR_status_t* _m, __CoderDbcCanFrame_t__* cframe); #else uint32_t Pack_SMRR_status_candb(SMRR_status_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT uint32_t Unpack_CCU_Errors_candb(CCU_Errors_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_CCU_Errors_candb(CCU_Errors_t* _m, __CoderDbcCanFrame_t__* cframe); #else uint32_t Pack_CCU_Errors_candb(CCU_Errors_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT uint32_t Unpack_CCU_Msg3_candb(CCU_Msg3_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_CCU_Msg3_candb(CCU_Msg3_t* _m, __CoderDbcCanFrame_t__* cframe); #else uint32_t Pack_CCU_Msg3_candb(CCU_Msg3_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT uint32_t Unpack_SDM_Cmd_candb(SDM_Cmd_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_SDM_Cmd_candb(SDM_Cmd_t* _m, __CoderDbcCanFrame_t__* cframe); #else uint32_t Pack_SDM_Cmd_candb(SDM_Cmd_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT uint32_t Unpack_VEH_VIN_candb(VEH_VIN_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_VEH_VIN_candb(VEH_VIN_t* _m, __CoderDbcCanFrame_t__* cframe); #else uint32_t Pack_VEH_VIN_candb(VEH_VIN_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT uint32_t Unpack_OCUFL_MSG_candb(OCUFL_MSG_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_OCUFL_MSG_candb(OCUFL_MSG_t* _m, __CoderDbcCanFrame_t__* cframe); #else uint32_t Pack_OCUFL_MSG_candb(OCUFL_MSG_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT uint32_t Unpack_OCUFR_MSG_candb(OCUFR_MSG_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_OCUFR_MSG_candb(OCUFR_MSG_t* _m, __CoderDbcCanFrame_t__* cframe); #else uint32_t Pack_OCUFR_MSG_candb(OCUFR_MSG_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT uint32_t Unpack_OCURL_MSG_candb(OCURL_MSG_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_OCURL_MSG_candb(OCURL_MSG_t* _m, __CoderDbcCanFrame_t__* cframe); #else uint32_t Pack_OCURL_MSG_candb(OCURL_MSG_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT uint32_t Unpack_OCURR_MSG_candb(OCURR_MSG_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_OCURR_MSG_candb(OCURR_MSG_t* _m, __CoderDbcCanFrame_t__* cframe); #else uint32_t Pack_OCURR_MSG_candb(OCURR_MSG_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT uint32_t Unpack_DW_STATE_candb(DW_STATE_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_DW_STATE_candb(DW_STATE_t* _m, __CoderDbcCanFrame_t__* cframe); #else uint32_t Pack_DW_STATE_candb(DW_STATE_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT uint32_t Unpack_FIU_CCU1_candb(FIU_CCU1_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_FIU_CCU1_candb(FIU_CCU1_t* _m, __CoderDbcCanFrame_t__* cframe); #else uint32_t Pack_FIU_CCU1_candb(FIU_CCU1_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT uint32_t Unpack_FIU_CCU2_candb(FIU_CCU2_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_FIU_CCU2_candb(FIU_CCU2_t* _m, __CoderDbcCanFrame_t__* cframe); #else uint32_t Pack_FIU_CCU2_candb(FIU_CCU2_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT uint32_t Unpack_FIU_CCU3_candb(FIU_CCU3_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_FIU_CCU3_candb(FIU_CCU3_t* _m, __CoderDbcCanFrame_t__* cframe); #else uint32_t Pack_FIU_CCU3_candb(FIU_CCU3_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT uint32_t Unpack_Diag_To_CCU_candb(Diag_To_CCU_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_Diag_To_CCU_candb(Diag_To_CCU_t* _m, __CoderDbcCanFrame_t__* cframe); #else uint32_t Pack_Diag_To_CCU_candb(Diag_To_CCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT uint32_t Unpack_Diag_From_CCU_candb(Diag_From_CCU_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_Diag_From_CCU_candb(Diag_From_CCU_t* _m, __CoderDbcCanFrame_t__* cframe); #else uint32_t Pack_Diag_From_CCU_candb(Diag_From_CCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT uint32_t Unpack_Diag_Functional_candb(Diag_Functional_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_Diag_Functional_candb(Diag_Functional_t* _m, __CoderDbcCanFrame_t__* cframe); #else uint32_t Pack_Diag_Functional_candb(Diag_Functional_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT uint32_t Unpack_HVC_01_candb(HVC_01_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_HVC_01_candb(HVC_01_t* _m, __CoderDbcCanFrame_t__* cframe); #else uint32_t Pack_HVC_01_candb(HVC_01_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT uint32_t Unpack_CCU_AC_Ctrl_candb(CCU_AC_Ctrl_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_CCU_AC_Ctrl_candb(CCU_AC_Ctrl_t* _m, __CoderDbcCanFrame_t__* cframe); #else uint32_t Pack_CCU_AC_Ctrl_candb(CCU_AC_Ctrl_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT #ifdef __cplusplus } #endif