HVAC_M7_CAN_MATRIX/lib/candb.c

3014 lines
132 KiB
C

// Generator version : v3.1
// DBC filename : CCU.dbc
#include "candb.h"
// DBC file version
#if (VER_CANDB_MAJ != (0U)) || (VER_CANDB_MIN != (0U))
#error The CANDB dbc source files have different versions
#endif
#ifdef CANDB_USE_DIAG_MONITORS
// Function prototypes to be called each time CAN frame is unpacked
// FMon function may detect RC, CRC or DLC violation
#include "candb-fmon.h"
#endif // CANDB_USE_DIAG_MONITORS
// This macro guard for the case when you need to enable
// using diag monitors but there is no necessity in proper
// SysTick provider. For providing one you need define macro
// before this line - in dbccodeconf.h
#ifndef GetSystemTick
#define GetSystemTick() (0u)
#endif
// This macro guard is for the case when you want to build
// app with enabled optoin auto CSM, but don't yet have
// proper getframehash implementation
#ifndef GetFrameHash
#define GetFrameHash(a,b,c,d,e) (0u)
#endif
// This function performs extension of sign for the signals
// whose bit width value is not aligned to one of power of 2 or less than 8.
// The types 'bitext_t' and 'ubitext_t' define the biggest bit width which
// can be correctly handled. You need to select type which can contain
// n+1 bits where n is the largest signed signal width. For example if
// the most wide signed signal has a width of 31 bits you need to set
// bitext_t as int32_t and ubitext_t as uint32_t
// Defined these typedefs in @dbccodeconf.h or locally in 'dbcdrvname'-config.h
static bitext_t __ext_sig__(ubitext_t val, uint8_t bits)
{
ubitext_t const m = (ubitext_t) (1u << (bits - 1u));
return ((val ^ m) - m);
}
uint32_t Unpack_ESC_04_candb(ESC_04_t* _m, const uint8_t* _d, uint8_t dlc_)
{
(void)dlc_;
_m->ESC_VehicleSpeed_ro = (uint16_t) ( ((_d[1] & (0xFFU)) << 8U) | (_d[0] & (0xFFU)) );
#ifdef CANDB_USE_SIGFLOAT
_m->ESC_VehicleSpeed_phys = (sigfloat_t)(CANDB_ESC_VehicleSpeed_ro_fromS(_m->ESC_VehicleSpeed_ro));
#endif // CANDB_USE_SIGFLOAT
_m->ESC_VehicleSpeed_ValueError = (uint8_t) ( (_d[2] & (0x01U)) );
_m->ESC_04_RC = (uint8_t) ( ((_d[6] >> 4U) & (0x0FU)) );
_m->ESC_04_CS = (uint8_t) ( (_d[7] & (0xFFU)) );
#ifdef CANDB_USE_DIAG_MONITORS
_m->mon1.dlc_error = (dlc_ < ESC_04_DLC);
_m->mon1.last_cycle = GetSystemTick();
_m->mon1.frame_cnt++;
FMon_ESC_04_candb(&_m->mon1, ESC_04_CANID);
#endif // CANDB_USE_DIAG_MONITORS
return ESC_04_CANID;
}
#ifdef CANDB_USE_CANSTRUCT
uint32_t Pack_ESC_04_candb(ESC_04_t* _m, __CoderDbcCanFrame_t__* cframe)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(ESC_04_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE);
#ifdef CANDB_USE_SIGFLOAT
_m->ESC_VehicleSpeed_ro = (uint16_t) CANDB_ESC_VehicleSpeed_ro_toS(_m->ESC_VehicleSpeed_phys);
#endif // CANDB_USE_SIGFLOAT
cframe->Data[0] |= (uint8_t) ( (_m->ESC_VehicleSpeed_ro & (0xFFU)) );
cframe->Data[1] |= (uint8_t) ( ((_m->ESC_VehicleSpeed_ro >> 8U) & (0xFFU)) );
cframe->Data[2] |= (uint8_t) ( (_m->ESC_VehicleSpeed_ValueError & (0x01U)) );
cframe->Data[6] |= (uint8_t) ( ((_m->ESC_04_RC & (0x0FU)) << 4U) );
cframe->Data[7] |= (uint8_t) ( (_m->ESC_04_CS & (0xFFU)) );
cframe->MsgId = (uint32_t) ESC_04_CANID;
cframe->DLC = (uint8_t) ESC_04_DLC;
cframe->IDE = (uint8_t) ESC_04_IDE;
return ESC_04_CANID;
}
#else
uint32_t Pack_ESC_04_candb(ESC_04_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(ESC_04_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE);
#ifdef CANDB_USE_SIGFLOAT
_m->ESC_VehicleSpeed_ro = (uint16_t) CANDB_ESC_VehicleSpeed_ro_toS(_m->ESC_VehicleSpeed_phys);
#endif // CANDB_USE_SIGFLOAT
_d[0] |= (uint8_t) ( (_m->ESC_VehicleSpeed_ro & (0xFFU)) );
_d[1] |= (uint8_t) ( ((_m->ESC_VehicleSpeed_ro >> 8U) & (0xFFU)) );
_d[2] |= (uint8_t) ( (_m->ESC_VehicleSpeed_ValueError & (0x01U)) );
_d[6] |= (uint8_t) ( ((_m->ESC_04_RC & (0x0FU)) << 4U) );
_d[7] |= (uint8_t) ( (_m->ESC_04_CS & (0xFFU)) );
*_len = (uint8_t) ESC_04_DLC;
*_ide = (uint8_t) ESC_04_IDE;
return ESC_04_CANID;
}
#endif // CANDB_USE_CANSTRUCT
uint32_t Unpack_EMS_Veh_candb(EMS_Veh_t* _m, const uint8_t* _d, uint8_t dlc_)
{
(void)dlc_;
_m->EMS_nICEngineSpeed3_Val_ro = (uint16_t) ( ((_d[1] & (0xFFU)) << 8U) | (_d[0] & (0xFFU)) );
#ifdef CANDB_USE_SIGFLOAT
_m->EMS_nICEngineSpeed3_Val_phys = (sigfloat_t)(CANDB_EMS_nICEngineSpeed3_Val_ro_fromS(_m->EMS_nICEngineSpeed3_Val_ro));
#endif // CANDB_USE_SIGFLOAT
_m->EMS_EngCoolTemp_Val_ro = (uint8_t) ( (_d[2] & (0xFFU)) );
#ifdef CANDB_USE_SIGFLOAT
_m->EMS_EngCoolTemp_Val_phys = (int16_t) CANDB_EMS_EngCoolTemp_Val_ro_fromS(_m->EMS_EngCoolTemp_Val_ro);
#endif // CANDB_USE_SIGFLOAT
#ifdef CANDB_USE_DIAG_MONITORS
_m->mon1.dlc_error = (dlc_ < EMS_Veh_DLC);
_m->mon1.last_cycle = GetSystemTick();
_m->mon1.frame_cnt++;
FMon_EMS_Veh_candb(&_m->mon1, EMS_Veh_CANID);
#endif // CANDB_USE_DIAG_MONITORS
return EMS_Veh_CANID;
}
#ifdef CANDB_USE_CANSTRUCT
uint32_t Pack_EMS_Veh_candb(EMS_Veh_t* _m, __CoderDbcCanFrame_t__* cframe)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(EMS_Veh_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE);
#ifdef CANDB_USE_SIGFLOAT
_m->EMS_nICEngineSpeed3_Val_ro = (uint16_t) CANDB_EMS_nICEngineSpeed3_Val_ro_toS(_m->EMS_nICEngineSpeed3_Val_phys);
_m->EMS_EngCoolTemp_Val_ro = (uint8_t) CANDB_EMS_EngCoolTemp_Val_ro_toS(_m->EMS_EngCoolTemp_Val_phys);
#endif // CANDB_USE_SIGFLOAT
cframe->Data[0] |= (uint8_t) ( (_m->EMS_nICEngineSpeed3_Val_ro & (0xFFU)) );
cframe->Data[1] |= (uint8_t) ( ((_m->EMS_nICEngineSpeed3_Val_ro >> 8U) & (0xFFU)) );
cframe->Data[2] |= (uint8_t) ( (_m->EMS_EngCoolTemp_Val_ro & (0xFFU)) );
cframe->MsgId = (uint32_t) EMS_Veh_CANID;
cframe->DLC = (uint8_t) EMS_Veh_DLC;
cframe->IDE = (uint8_t) EMS_Veh_IDE;
return EMS_Veh_CANID;
}
#else
uint32_t Pack_EMS_Veh_candb(EMS_Veh_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(EMS_Veh_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE);
#ifdef CANDB_USE_SIGFLOAT
_m->EMS_nICEngineSpeed3_Val_ro = (uint16_t) CANDB_EMS_nICEngineSpeed3_Val_ro_toS(_m->EMS_nICEngineSpeed3_Val_phys);
_m->EMS_EngCoolTemp_Val_ro = (uint8_t) CANDB_EMS_EngCoolTemp_Val_ro_toS(_m->EMS_EngCoolTemp_Val_phys);
#endif // CANDB_USE_SIGFLOAT
_d[0] |= (uint8_t) ( (_m->EMS_nICEngineSpeed3_Val_ro & (0xFFU)) );
_d[1] |= (uint8_t) ( ((_m->EMS_nICEngineSpeed3_Val_ro >> 8U) & (0xFFU)) );
_d[2] |= (uint8_t) ( (_m->EMS_EngCoolTemp_Val_ro & (0xFFU)) );
*_len = (uint8_t) EMS_Veh_DLC;
*_ide = (uint8_t) EMS_Veh_IDE;
return EMS_Veh_CANID;
}
#endif // CANDB_USE_CANSTRUCT
uint32_t Unpack_BCM_Powertrain_candb(BCM_Powertrain_t* _m, const uint8_t* _d, uint8_t dlc_)
{
(void)dlc_;
_m->BCM_AmbTempRaw_ro = (uint16_t) ( ((_d[1] & (0xFFU)) << 8U) | (_d[0] & (0xFFU)) );
#ifdef CANDB_USE_SIGFLOAT
_m->BCM_AmbTempRaw_phys = (sigfloat_t)(CANDB_BCM_AmbTempRaw_ro_fromS(_m->BCM_AmbTempRaw_ro));
#endif // CANDB_USE_SIGFLOAT
_m->BCM_Powertrain_RC = (uint8_t) ( (_d[4] & (0x0FU)) );
_m->BCM_Powertrain_CS = (uint8_t) ( (_d[5] & (0xFFU)) );
#ifdef CANDB_USE_DIAG_MONITORS
_m->mon1.dlc_error = (dlc_ < BCM_Powertrain_DLC);
_m->mon1.last_cycle = GetSystemTick();
_m->mon1.frame_cnt++;
FMon_BCM_Powertrain_candb(&_m->mon1, BCM_Powertrain_CANID);
#endif // CANDB_USE_DIAG_MONITORS
return BCM_Powertrain_CANID;
}
#ifdef CANDB_USE_CANSTRUCT
uint32_t Pack_BCM_Powertrain_candb(BCM_Powertrain_t* _m, __CoderDbcCanFrame_t__* cframe)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(BCM_Powertrain_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE);
#ifdef CANDB_USE_SIGFLOAT
_m->BCM_AmbTempRaw_ro = (uint16_t) CANDB_BCM_AmbTempRaw_ro_toS(_m->BCM_AmbTempRaw_phys);
#endif // CANDB_USE_SIGFLOAT
cframe->Data[0] |= (uint8_t) ( (_m->BCM_AmbTempRaw_ro & (0xFFU)) );
cframe->Data[1] |= (uint8_t) ( ((_m->BCM_AmbTempRaw_ro >> 8U) & (0xFFU)) );
cframe->Data[4] |= (uint8_t) ( (_m->BCM_Powertrain_RC & (0x0FU)) );
cframe->Data[5] |= (uint8_t) ( (_m->BCM_Powertrain_CS & (0xFFU)) );
cframe->MsgId = (uint32_t) BCM_Powertrain_CANID;
cframe->DLC = (uint8_t) BCM_Powertrain_DLC;
cframe->IDE = (uint8_t) BCM_Powertrain_IDE;
return BCM_Powertrain_CANID;
}
#else
uint32_t Pack_BCM_Powertrain_candb(BCM_Powertrain_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(BCM_Powertrain_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE);
#ifdef CANDB_USE_SIGFLOAT
_m->BCM_AmbTempRaw_ro = (uint16_t) CANDB_BCM_AmbTempRaw_ro_toS(_m->BCM_AmbTempRaw_phys);
#endif // CANDB_USE_SIGFLOAT
_d[0] |= (uint8_t) ( (_m->BCM_AmbTempRaw_ro & (0xFFU)) );
_d[1] |= (uint8_t) ( ((_m->BCM_AmbTempRaw_ro >> 8U) & (0xFFU)) );
_d[4] |= (uint8_t) ( (_m->BCM_Powertrain_RC & (0x0FU)) );
_d[5] |= (uint8_t) ( (_m->BCM_Powertrain_CS & (0xFFU)) );
*_len = (uint8_t) BCM_Powertrain_DLC;
*_ide = (uint8_t) BCM_Powertrain_IDE;
return BCM_Powertrain_CANID;
}
#endif // CANDB_USE_CANSTRUCT
uint32_t Unpack_EMS_Veh_02_candb(EMS_Veh_02_t* _m, const uint8_t* _d, uint8_t dlc_)
{
(void)dlc_;
_m->BMS_ActualTemp_Val_ro = (uint8_t) ( ((_d[1] & (0x07U)) << 5U) | ((_d[0] >> 3U) & (0x1FU)) );
#ifdef CANDB_USE_SIGFLOAT
_m->BMS_ActualTemp_Val_phys = (sigfloat_t)(CANDB_BMS_ActualTemp_Val_ro_fromS(_m->BMS_ActualTemp_Val_ro));
#endif // CANDB_USE_SIGFLOAT
_m->EMS_Veh_02_RC = (uint8_t) ( ((_d[1] >> 4U) & (0x0FU)) );
_m->EMS_Veh_02_CS = (uint8_t) ( (_d[2] & (0xFFU)) );
#ifdef CANDB_USE_DIAG_MONITORS
_m->mon1.dlc_error = (dlc_ < EMS_Veh_02_DLC);
_m->mon1.last_cycle = GetSystemTick();
_m->mon1.frame_cnt++;
FMon_EMS_Veh_02_candb(&_m->mon1, EMS_Veh_02_CANID);
#endif // CANDB_USE_DIAG_MONITORS
return EMS_Veh_02_CANID;
}
#ifdef CANDB_USE_CANSTRUCT
uint32_t Pack_EMS_Veh_02_candb(EMS_Veh_02_t* _m, __CoderDbcCanFrame_t__* cframe)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(EMS_Veh_02_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE);
#ifdef CANDB_USE_SIGFLOAT
_m->BMS_ActualTemp_Val_ro = (uint8_t) CANDB_BMS_ActualTemp_Val_ro_toS(_m->BMS_ActualTemp_Val_phys);
#endif // CANDB_USE_SIGFLOAT
cframe->Data[0] |= (uint8_t) ( ((_m->BMS_ActualTemp_Val_ro & (0x1FU)) << 3U) );
cframe->Data[1] |= (uint8_t) ( ((_m->BMS_ActualTemp_Val_ro >> 5U) & (0x07U)) | ((_m->EMS_Veh_02_RC & (0x0FU)) << 4U) );
cframe->Data[2] |= (uint8_t) ( (_m->EMS_Veh_02_CS & (0xFFU)) );
cframe->MsgId = (uint32_t) EMS_Veh_02_CANID;
cframe->DLC = (uint8_t) EMS_Veh_02_DLC;
cframe->IDE = (uint8_t) EMS_Veh_02_IDE;
return EMS_Veh_02_CANID;
}
#else
uint32_t Pack_EMS_Veh_02_candb(EMS_Veh_02_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(EMS_Veh_02_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE);
#ifdef CANDB_USE_SIGFLOAT
_m->BMS_ActualTemp_Val_ro = (uint8_t) CANDB_BMS_ActualTemp_Val_ro_toS(_m->BMS_ActualTemp_Val_phys);
#endif // CANDB_USE_SIGFLOAT
_d[0] |= (uint8_t) ( ((_m->BMS_ActualTemp_Val_ro & (0x1FU)) << 3U) );
_d[1] |= (uint8_t) ( ((_m->BMS_ActualTemp_Val_ro >> 5U) & (0x07U)) | ((_m->EMS_Veh_02_RC & (0x0FU)) << 4U) );
_d[2] |= (uint8_t) ( (_m->EMS_Veh_02_CS & (0xFFU)) );
*_len = (uint8_t) EMS_Veh_02_DLC;
*_ide = (uint8_t) EMS_Veh_02_IDE;
return EMS_Veh_02_CANID;
}
#endif // CANDB_USE_CANSTRUCT
uint32_t Unpack_BCM_EEM_candb(BCM_EEM_t* _m, const uint8_t* _d, uint8_t dlc_)
{
(void)dlc_;
_m->BCM_EEM_StPowMgn = (uint8_t) ( ((_d[1] >> 2U) & (0x07U)) );
_m->BCM_EEM_RC = (uint8_t) ( ((_d[3] >> 4U) & (0x0FU)) );
_m->BCM_EEM_CS = (uint8_t) ( (_d[4] & (0xFFU)) );
#ifdef CANDB_USE_DIAG_MONITORS
_m->mon1.dlc_error = (dlc_ < BCM_EEM_DLC);
_m->mon1.last_cycle = GetSystemTick();
_m->mon1.frame_cnt++;
FMon_BCM_EEM_candb(&_m->mon1, BCM_EEM_CANID);
#endif // CANDB_USE_DIAG_MONITORS
return BCM_EEM_CANID;
}
#ifdef CANDB_USE_CANSTRUCT
uint32_t Pack_BCM_EEM_candb(BCM_EEM_t* _m, __CoderDbcCanFrame_t__* cframe)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(BCM_EEM_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE);
cframe->Data[1] |= (uint8_t) ( ((_m->BCM_EEM_StPowMgn & (0x07U)) << 2U) );
cframe->Data[3] |= (uint8_t) ( ((_m->BCM_EEM_RC & (0x0FU)) << 4U) );
cframe->Data[4] |= (uint8_t) ( (_m->BCM_EEM_CS & (0xFFU)) );
cframe->MsgId = (uint32_t) BCM_EEM_CANID;
cframe->DLC = (uint8_t) BCM_EEM_DLC;
cframe->IDE = (uint8_t) BCM_EEM_IDE;
return BCM_EEM_CANID;
}
#else
uint32_t Pack_BCM_EEM_candb(BCM_EEM_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(BCM_EEM_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE);
_d[1] |= (uint8_t) ( ((_m->BCM_EEM_StPowMgn & (0x07U)) << 2U) );
_d[3] |= (uint8_t) ( ((_m->BCM_EEM_RC & (0x0FU)) << 4U) );
_d[4] |= (uint8_t) ( (_m->BCM_EEM_CS & (0xFFU)) );
*_len = (uint8_t) BCM_EEM_DLC;
*_ide = (uint8_t) BCM_EEM_IDE;
return BCM_EEM_CANID;
}
#endif // CANDB_USE_CANSTRUCT
uint32_t Unpack_DMFR_Msg1_candb(DMFR_Msg1_t* _m, const uint8_t* _d, uint8_t dlc_)
{
(void)dlc_;
_m->DMFR_MirrorHeating_Status = (uint8_t) ( ((_d[0] >> 5U) & (0x03U)) );
#ifdef CANDB_USE_DIAG_MONITORS
_m->mon1.dlc_error = (dlc_ < DMFR_Msg1_DLC);
_m->mon1.last_cycle = GetSystemTick();
_m->mon1.frame_cnt++;
FMon_DMFR_Msg1_candb(&_m->mon1, DMFR_Msg1_CANID);
#endif // CANDB_USE_DIAG_MONITORS
return DMFR_Msg1_CANID;
}
#ifdef CANDB_USE_CANSTRUCT
uint32_t Pack_DMFR_Msg1_candb(DMFR_Msg1_t* _m, __CoderDbcCanFrame_t__* cframe)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(DMFR_Msg1_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE);
cframe->Data[0] |= (uint8_t) ( ((_m->DMFR_MirrorHeating_Status & (0x03U)) << 5U) );
cframe->MsgId = (uint32_t) DMFR_Msg1_CANID;
cframe->DLC = (uint8_t) DMFR_Msg1_DLC;
cframe->IDE = (uint8_t) DMFR_Msg1_IDE;
return DMFR_Msg1_CANID;
}
#else
uint32_t Pack_DMFR_Msg1_candb(DMFR_Msg1_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(DMFR_Msg1_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE);
_d[0] |= (uint8_t) ( ((_m->DMFR_MirrorHeating_Status & (0x03U)) << 5U) );
*_len = (uint8_t) DMFR_Msg1_DLC;
*_ide = (uint8_t) DMFR_Msg1_IDE;
return DMFR_Msg1_CANID;
}
#endif // CANDB_USE_CANSTRUCT
uint32_t Unpack_DMFL_Msg1_candb(DMFL_Msg1_t* _m, const uint8_t* _d, uint8_t dlc_)
{
(void)dlc_;
_m->DMFL_MirrorHeating_Status = (uint8_t) ( (_d[1] & (0x03U)) );
#ifdef CANDB_USE_DIAG_MONITORS
_m->mon1.dlc_error = (dlc_ < DMFL_Msg1_DLC);
_m->mon1.last_cycle = GetSystemTick();
_m->mon1.frame_cnt++;
FMon_DMFL_Msg1_candb(&_m->mon1, DMFL_Msg1_CANID);
#endif // CANDB_USE_DIAG_MONITORS
return DMFL_Msg1_CANID;
}
#ifdef CANDB_USE_CANSTRUCT
uint32_t Pack_DMFL_Msg1_candb(DMFL_Msg1_t* _m, __CoderDbcCanFrame_t__* cframe)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(DMFL_Msg1_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE);
cframe->Data[1] |= (uint8_t) ( (_m->DMFL_MirrorHeating_Status & (0x03U)) );
cframe->MsgId = (uint32_t) DMFL_Msg1_CANID;
cframe->DLC = (uint8_t) DMFL_Msg1_DLC;
cframe->IDE = (uint8_t) DMFL_Msg1_IDE;
return DMFL_Msg1_CANID;
}
#else
uint32_t Pack_DMFL_Msg1_candb(DMFL_Msg1_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(DMFL_Msg1_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE);
_d[1] |= (uint8_t) ( (_m->DMFL_MirrorHeating_Status & (0x03U)) );
*_len = (uint8_t) DMFL_Msg1_DLC;
*_ide = (uint8_t) DMFL_Msg1_IDE;
return DMFL_Msg1_CANID;
}
#endif // CANDB_USE_CANSTRUCT
uint32_t Unpack_TM_Stat_candb(TM_Stat_t* _m, const uint8_t* _d, uint8_t dlc_)
{
(void)dlc_;
_m->TM_RearWindowHeating_Stat = (uint8_t) ( (_d[0] & (0x01U)) );
#ifdef CANDB_USE_DIAG_MONITORS
_m->mon1.dlc_error = (dlc_ < TM_Stat_DLC);
_m->mon1.last_cycle = GetSystemTick();
_m->mon1.frame_cnt++;
FMon_TM_Stat_candb(&_m->mon1, TM_Stat_CANID);
#endif // CANDB_USE_DIAG_MONITORS
return TM_Stat_CANID;
}
#ifdef CANDB_USE_CANSTRUCT
uint32_t Pack_TM_Stat_candb(TM_Stat_t* _m, __CoderDbcCanFrame_t__* cframe)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(TM_Stat_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE);
cframe->Data[0] |= (uint8_t) ( (_m->TM_RearWindowHeating_Stat & (0x01U)) );
cframe->MsgId = (uint32_t) TM_Stat_CANID;
cframe->DLC = (uint8_t) TM_Stat_DLC;
cframe->IDE = (uint8_t) TM_Stat_IDE;
return TM_Stat_CANID;
}
#else
uint32_t Pack_TM_Stat_candb(TM_Stat_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(TM_Stat_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE);
_d[0] |= (uint8_t) ( (_m->TM_RearWindowHeating_Stat & (0x01U)) );
*_len = (uint8_t) TM_Stat_DLC;
*_ide = (uint8_t) TM_Stat_IDE;
return TM_Stat_CANID;
}
#endif // CANDB_USE_CANSTRUCT
uint32_t Unpack_TM_CP_candb(TM_CP_t* _m, const uint8_t* _d, uint8_t dlc_)
{
(void)dlc_;
_m->CCPF_AutoButtonR_Stat = (uint8_t) ( (_d[2] & (0x03U)) );
_m->CCPR_AutoButtonL_Stat = (uint8_t) ( ((_d[2] >> 2U) & (0x03U)) );
_m->CCPR_AutoButtonR_Stat = (uint8_t) ( ((_d[2] >> 4U) & (0x03U)) );
_m->CCPF_DefButton_Stat = (uint8_t) ( ((_d[2] >> 6U) & (0x03U)) );
_m->CCPF_TempToggleR_Stat = (uint8_t) ( (_d[3] & (0x07U)) );
_m->CCPF_TempToggleL_Stat = (uint8_t) ( ((_d[3] >> 3U) & (0x07U)) );
_m->CCPF_AutoButtonL_Stat = (uint8_t) ( ((_d[3] >> 6U) & (0x03U)) );
_m->CCPR_TempToggleR_Stat = (uint8_t) ( (_d[4] & (0x07U)) );
_m->CCPR_TempToggleL_Stat = (uint8_t) ( ((_d[4] >> 3U) & (0x07U)) );
_m->CCPF_RecButton_Stat = (uint8_t) ( ((_d[4] >> 6U) & (0x03U)) );
_m->CCPF_AcMaxButton_Stat = (uint8_t) ( (_d[5] & (0x03U)) );
#ifdef CANDB_USE_DIAG_MONITORS
_m->mon1.dlc_error = (dlc_ < TM_CP_DLC);
_m->mon1.last_cycle = GetSystemTick();
_m->mon1.frame_cnt++;
FMon_TM_CP_candb(&_m->mon1, TM_CP_CANID);
#endif // CANDB_USE_DIAG_MONITORS
return TM_CP_CANID;
}
#ifdef CANDB_USE_CANSTRUCT
uint32_t Pack_TM_CP_candb(TM_CP_t* _m, __CoderDbcCanFrame_t__* cframe)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(TM_CP_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE);
cframe->Data[2] |= (uint8_t) ( (_m->CCPF_AutoButtonR_Stat & (0x03U)) | ((_m->CCPR_AutoButtonL_Stat & (0x03U)) << 2U) | ((_m->CCPR_AutoButtonR_Stat & (0x03U)) << 4U) | ((_m->CCPF_DefButton_Stat & (0x03U)) << 6U) );
cframe->Data[3] |= (uint8_t) ( (_m->CCPF_TempToggleR_Stat & (0x07U)) | ((_m->CCPF_TempToggleL_Stat & (0x07U)) << 3U) | ((_m->CCPF_AutoButtonL_Stat & (0x03U)) << 6U) );
cframe->Data[4] |= (uint8_t) ( (_m->CCPR_TempToggleR_Stat & (0x07U)) | ((_m->CCPR_TempToggleL_Stat & (0x07U)) << 3U) | ((_m->CCPF_RecButton_Stat & (0x03U)) << 6U) );
cframe->Data[5] |= (uint8_t) ( (_m->CCPF_AcMaxButton_Stat & (0x03U)) );
cframe->MsgId = (uint32_t) TM_CP_CANID;
cframe->DLC = (uint8_t) TM_CP_DLC;
cframe->IDE = (uint8_t) TM_CP_IDE;
return TM_CP_CANID;
}
#else
uint32_t Pack_TM_CP_candb(TM_CP_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(TM_CP_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE);
_d[2] |= (uint8_t) ( (_m->CCPF_AutoButtonR_Stat & (0x03U)) | ((_m->CCPR_AutoButtonL_Stat & (0x03U)) << 2U) | ((_m->CCPR_AutoButtonR_Stat & (0x03U)) << 4U) | ((_m->CCPF_DefButton_Stat & (0x03U)) << 6U) );
_d[3] |= (uint8_t) ( (_m->CCPF_TempToggleR_Stat & (0x07U)) | ((_m->CCPF_TempToggleL_Stat & (0x07U)) << 3U) | ((_m->CCPF_AutoButtonL_Stat & (0x03U)) << 6U) );
_d[4] |= (uint8_t) ( (_m->CCPR_TempToggleR_Stat & (0x07U)) | ((_m->CCPR_TempToggleL_Stat & (0x07U)) << 3U) | ((_m->CCPF_RecButton_Stat & (0x03U)) << 6U) );
_d[5] |= (uint8_t) ( (_m->CCPF_AcMaxButton_Stat & (0x03U)) );
*_len = (uint8_t) TM_CP_DLC;
*_ide = (uint8_t) TM_CP_IDE;
return TM_CP_CANID;
}
#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_)
{
(void)dlc_;
_m->HVC_eCompActSpeed_Val_ro = (uint8_t) ( (_d[0] & (0xFFU)) );
#ifdef CANDB_USE_SIGFLOAT
_m->HVC_eCompActSpeed_Val_phys = (uint16_t) CANDB_HVC_eCompActSpeed_Val_ro_fromS(_m->HVC_eCompActSpeed_Val_ro);
#endif // CANDB_USE_SIGFLOAT
_m->HVC_eComp_Stat = (uint8_t) ( (_d[1] & (0x07U)) );
_m->HVC_CCU_Status_RC = (uint8_t) ( ((_d[1] >> 4U) & (0x0FU)) );
_m->HVC_CCU_Status_CS = (uint8_t) ( (_d[2] & (0xFFU)) );
#ifdef CANDB_USE_DIAG_MONITORS
_m->mon1.dlc_error = (dlc_ < HVC_CCU_Status_Msg_DLC);
_m->mon1.last_cycle = GetSystemTick();
_m->mon1.frame_cnt++;
FMon_HVC_CCU_Status_Msg_candb(&_m->mon1, HVC_CCU_Status_Msg_CANID);
#endif // CANDB_USE_DIAG_MONITORS
return HVC_CCU_Status_Msg_CANID;
}
#ifdef CANDB_USE_CANSTRUCT
uint32_t Pack_HVC_CCU_Status_Msg_candb(HVC_CCU_Status_Msg_t* _m, __CoderDbcCanFrame_t__* cframe)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(HVC_CCU_Status_Msg_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE);
#ifdef CANDB_USE_SIGFLOAT
_m->HVC_eCompActSpeed_Val_ro = (uint8_t) CANDB_HVC_eCompActSpeed_Val_ro_toS(_m->HVC_eCompActSpeed_Val_phys);
#endif // CANDB_USE_SIGFLOAT
cframe->Data[0] |= (uint8_t) ( (_m->HVC_eCompActSpeed_Val_ro & (0xFFU)) );
cframe->Data[1] |= (uint8_t) ( (_m->HVC_eComp_Stat & (0x07U)) | ((_m->HVC_CCU_Status_RC & (0x0FU)) << 4U) );
cframe->Data[2] |= (uint8_t) ( (_m->HVC_CCU_Status_CS & (0xFFU)) );
cframe->MsgId = (uint32_t) HVC_CCU_Status_Msg_CANID;
cframe->DLC = (uint8_t) HVC_CCU_Status_Msg_DLC;
cframe->IDE = (uint8_t) HVC_CCU_Status_Msg_IDE;
return HVC_CCU_Status_Msg_CANID;
}
#else
uint32_t Pack_HVC_CCU_Status_Msg_candb(HVC_CCU_Status_Msg_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(HVC_CCU_Status_Msg_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE);
#ifdef CANDB_USE_SIGFLOAT
_m->HVC_eCompActSpeed_Val_ro = (uint8_t) CANDB_HVC_eCompActSpeed_Val_ro_toS(_m->HVC_eCompActSpeed_Val_phys);
#endif // CANDB_USE_SIGFLOAT
_d[0] |= (uint8_t) ( (_m->HVC_eCompActSpeed_Val_ro & (0xFFU)) );
_d[1] |= (uint8_t) ( (_m->HVC_eComp_Stat & (0x07U)) | ((_m->HVC_CCU_Status_RC & (0x0FU)) << 4U) );
_d[2] |= (uint8_t) ( (_m->HVC_CCU_Status_CS & (0xFFU)) );
*_len = (uint8_t) HVC_CCU_Status_Msg_DLC;
*_ide = (uint8_t) HVC_CCU_Status_Msg_IDE;
return HVC_CCU_Status_Msg_CANID;
}
#endif // CANDB_USE_CANSTRUCT
uint32_t Unpack_BCM_VEH_STATE_candb(BCM_VEH_STATE_t* _m, const uint8_t* _d, uint8_t dlc_)
{
(void)dlc_;
_m->BCM_T15_Stat = (uint8_t) ( (_d[0] & (0x01U)) );
_m->BCM_T30d_Stat = (uint8_t) ( ((_d[0] >> 1U) & (0x01U)) );
_m->BCM_T30i_Stat = (uint8_t) ( ((_d[0] >> 2U) & (0x01U)) );
_m->StealthModeEn = (uint8_t) ( ((_d[0] >> 6U) & (0x01U)) );
_m->BCM_CCTerm_Stat = (uint8_t) ( ((_d[1] >> 5U) & (0x01U)) );
_m->BCM_T30i_DisableWarning = (uint8_t) ( ((_d[1] >> 6U) & (0x01U)) );
_m->BCM_T30d_DisableWarning = (uint8_t) ( (_d[3] & (0x01U)) );
_m->BCM_IndFadingTime_Req_ro = (uint8_t) ( ((_d[3] >> 2U) & (0x1FU)) );
#ifdef CANDB_USE_SIGFLOAT
_m->BCM_IndFadingTime_Req_phys = (sigfloat_t)(CANDB_BCM_IndFadingTime_Req_ro_fromS(_m->BCM_IndFadingTime_Req_ro));
#endif // CANDB_USE_SIGFLOAT
_m->BCM_CCTermDisableWarning = (uint8_t) ( ((_d[3] >> 7U) & (0x01U)) );
_m->BCM_VehicleMode_Stat = (uint8_t) ( (_d[6] & (0x0FU)) );
_m->BCM_SwIndIntens_Stat = (uint8_t) ( ((_d[6] >> 4U) & (0x01U)) );
_m->BCM_Vehicle_DrvMode = (uint8_t) ( ((_d[6] >> 5U) & (0x07U)) );
_m->BCM_LVBatteryVoltage_ro = (uint8_t) ( (_d[7] & (0xFFU)) );
#ifdef CANDB_USE_SIGFLOAT
_m->BCM_LVBatteryVoltage_phys = (sigfloat_t)(CANDB_BCM_LVBatteryVoltage_ro_fromS(_m->BCM_LVBatteryVoltage_ro));
#endif // CANDB_USE_SIGFLOAT
#ifdef CANDB_USE_DIAG_MONITORS
_m->mon1.dlc_error = (dlc_ < BCM_VEH_STATE_DLC);
_m->mon1.last_cycle = GetSystemTick();
_m->mon1.frame_cnt++;
FMon_BCM_VEH_STATE_candb(&_m->mon1, BCM_VEH_STATE_CANID);
#endif // CANDB_USE_DIAG_MONITORS
return BCM_VEH_STATE_CANID;
}
#ifdef CANDB_USE_CANSTRUCT
uint32_t Pack_BCM_VEH_STATE_candb(BCM_VEH_STATE_t* _m, __CoderDbcCanFrame_t__* cframe)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(BCM_VEH_STATE_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE);
#ifdef CANDB_USE_SIGFLOAT
_m->BCM_IndFadingTime_Req_ro = (uint8_t) CANDB_BCM_IndFadingTime_Req_ro_toS(_m->BCM_IndFadingTime_Req_phys);
_m->BCM_LVBatteryVoltage_ro = (uint8_t) CANDB_BCM_LVBatteryVoltage_ro_toS(_m->BCM_LVBatteryVoltage_phys);
#endif // CANDB_USE_SIGFLOAT
cframe->Data[0] |= (uint8_t) ( (_m->BCM_T15_Stat & (0x01U)) | ((_m->BCM_T30d_Stat & (0x01U)) << 1U) | ((_m->BCM_T30i_Stat & (0x01U)) << 2U) | ((_m->StealthModeEn & (0x01U)) << 6U) );
cframe->Data[1] |= (uint8_t) ( ((_m->BCM_CCTerm_Stat & (0x01U)) << 5U) | ((_m->BCM_T30i_DisableWarning & (0x01U)) << 6U) );
cframe->Data[3] |= (uint8_t) ( (_m->BCM_T30d_DisableWarning & (0x01U)) | ((_m->BCM_IndFadingTime_Req_ro & (0x1FU)) << 2U) | ((_m->BCM_CCTermDisableWarning & (0x01U)) << 7U) );
cframe->Data[6] |= (uint8_t) ( (_m->BCM_VehicleMode_Stat & (0x0FU)) | ((_m->BCM_SwIndIntens_Stat & (0x01U)) << 4U) | ((_m->BCM_Vehicle_DrvMode & (0x07U)) << 5U) );
cframe->Data[7] |= (uint8_t) ( (_m->BCM_LVBatteryVoltage_ro & (0xFFU)) );
cframe->MsgId = (uint32_t) BCM_VEH_STATE_CANID;
cframe->DLC = (uint8_t) BCM_VEH_STATE_DLC;
cframe->IDE = (uint8_t) BCM_VEH_STATE_IDE;
return BCM_VEH_STATE_CANID;
}
#else
uint32_t Pack_BCM_VEH_STATE_candb(BCM_VEH_STATE_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(BCM_VEH_STATE_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE);
#ifdef CANDB_USE_SIGFLOAT
_m->BCM_IndFadingTime_Req_ro = (uint8_t) CANDB_BCM_IndFadingTime_Req_ro_toS(_m->BCM_IndFadingTime_Req_phys);
_m->BCM_LVBatteryVoltage_ro = (uint8_t) CANDB_BCM_LVBatteryVoltage_ro_toS(_m->BCM_LVBatteryVoltage_phys);
#endif // CANDB_USE_SIGFLOAT
_d[0] |= (uint8_t) ( (_m->BCM_T15_Stat & (0x01U)) | ((_m->BCM_T30d_Stat & (0x01U)) << 1U) | ((_m->BCM_T30i_Stat & (0x01U)) << 2U) | ((_m->StealthModeEn & (0x01U)) << 6U) );
_d[1] |= (uint8_t) ( ((_m->BCM_CCTerm_Stat & (0x01U)) << 5U) | ((_m->BCM_T30i_DisableWarning & (0x01U)) << 6U) );
_d[3] |= (uint8_t) ( (_m->BCM_T30d_DisableWarning & (0x01U)) | ((_m->BCM_IndFadingTime_Req_ro & (0x1FU)) << 2U) | ((_m->BCM_CCTermDisableWarning & (0x01U)) << 7U) );
_d[6] |= (uint8_t) ( (_m->BCM_VehicleMode_Stat & (0x0FU)) | ((_m->BCM_SwIndIntens_Stat & (0x01U)) << 4U) | ((_m->BCM_Vehicle_DrvMode & (0x07U)) << 5U) );
_d[7] |= (uint8_t) ( (_m->BCM_LVBatteryVoltage_ro & (0xFFU)) );
*_len = (uint8_t) BCM_VEH_STATE_DLC;
*_ide = (uint8_t) BCM_VEH_STATE_IDE;
return BCM_VEH_STATE_CANID;
}
#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_)
{
(void)dlc_;
_m->EMS_eCompChiller_Req = (uint8_t) ( ((_d[0] >> 2U) & (0x01U)) );
_m->EMS_HVC_Req_RC = (uint8_t) ( ((_d[1] >> 4U) & (0x0FU)) );
_m->EMS_HVC_Req_CS = (uint8_t) ( (_d[2] & (0xFFU)) );
#ifdef CANDB_USE_DIAG_MONITORS
_m->mon1.dlc_error = (dlc_ < EMS_HVC_Req_Msg_DLC);
_m->mon1.last_cycle = GetSystemTick();
_m->mon1.frame_cnt++;
FMon_EMS_HVC_Req_Msg_candb(&_m->mon1, EMS_HVC_Req_Msg_CANID);
#endif // CANDB_USE_DIAG_MONITORS
return EMS_HVC_Req_Msg_CANID;
}
#ifdef CANDB_USE_CANSTRUCT
uint32_t Pack_EMS_HVC_Req_Msg_candb(EMS_HVC_Req_Msg_t* _m, __CoderDbcCanFrame_t__* cframe)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(EMS_HVC_Req_Msg_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE);
cframe->Data[0] |= (uint8_t) ( ((_m->EMS_eCompChiller_Req & (0x01U)) << 2U) );
cframe->Data[1] |= (uint8_t) ( ((_m->EMS_HVC_Req_RC & (0x0FU)) << 4U) );
cframe->Data[2] |= (uint8_t) ( (_m->EMS_HVC_Req_CS & (0xFFU)) );
cframe->MsgId = (uint32_t) EMS_HVC_Req_Msg_CANID;
cframe->DLC = (uint8_t) EMS_HVC_Req_Msg_DLC;
cframe->IDE = (uint8_t) EMS_HVC_Req_Msg_IDE;
return EMS_HVC_Req_Msg_CANID;
}
#else
uint32_t Pack_EMS_HVC_Req_Msg_candb(EMS_HVC_Req_Msg_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(EMS_HVC_Req_Msg_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE);
_d[0] |= (uint8_t) ( ((_m->EMS_eCompChiller_Req & (0x01U)) << 2U) );
_d[1] |= (uint8_t) ( ((_m->EMS_HVC_Req_RC & (0x0FU)) << 4U) );
_d[2] |= (uint8_t) ( (_m->EMS_HVC_Req_CS & (0xFFU)) );
*_len = (uint8_t) EMS_HVC_Req_Msg_DLC;
*_ide = (uint8_t) EMS_HVC_Req_Msg_IDE;
return EMS_HVC_Req_Msg_CANID;
}
#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_)
{
(void)dlc_;
_m->HVC_CompSpeed_Val_ro = (uint8_t) ( (_d[0] & (0xFFU)) );
#ifdef CANDB_USE_SIGFLOAT
_m->HVC_CompSpeed_Val_phys = (uint16_t) CANDB_HVC_CompSpeed_Val_ro_fromS(_m->HVC_CompSpeed_Val_ro);
#endif // CANDB_USE_SIGFLOAT
_m->HVC_Comp_Stat = (uint8_t) ( (_d[1] & (0x03U)) );
_m->HVC_Reserved01 = (uint8_t) ( ((_d[1] >> 2U) & (0x3FU)) );
_m->HVC_CompInputV_Val_ro = (uint8_t) ( (_d[2] & (0xFFU)) );
#ifdef CANDB_USE_SIGFLOAT
_m->HVC_CompInputV_Val_phys = (uint16_t) CANDB_HVC_CompInputV_Val_ro_fromS(_m->HVC_CompInputV_Val_ro);
#endif // CANDB_USE_SIGFLOAT
_m->HVC_CompInputC_Val_ro = (uint8_t) ( (_d[3] & (0xFFU)) );
#ifdef CANDB_USE_SIGFLOAT
_m->HVC_CompInputC_Val_phys = (sigfloat_t)(CANDB_HVC_CompInputC_Val_ro_fromS(_m->HVC_CompInputC_Val_ro));
#endif // CANDB_USE_SIGFLOAT
_m->HVC_CompInvTemp_Val_ro = (uint8_t) ( (_d[4] & (0xFFU)) );
#ifdef CANDB_USE_SIGFLOAT
_m->HVC_CompInvTemp_Val_phys = (int16_t) CANDB_HVC_CompInvTemp_Val_ro_fromS(_m->HVC_CompInvTemp_Val_ro);
#endif // CANDB_USE_SIGFLOAT
_m->HVC_CompPhaseC_Val_ro = (uint8_t) ( (_d[5] & (0xFFU)) );
#ifdef CANDB_USE_SIGFLOAT
_m->HVC_CompPhaseC_Val_phys = (sigfloat_t)(CANDB_HVC_CompPhaseC_Val_ro_fromS(_m->HVC_CompPhaseC_Val_ro));
#endif // CANDB_USE_SIGFLOAT
_m->HVC_CompUV_Stat = (uint8_t) ( (_d[6] & (0x01U)) );
_m->HVC_CompOV_Stat = (uint8_t) ( ((_d[6] >> 1U) & (0x01U)) );
_m->HVC_CompOvHeat_Stat = (uint8_t) ( ((_d[6] >> 2U) & (0x01U)) );
_m->HVC_CompOvTorque_Stat = (uint8_t) ( ((_d[6] >> 3U) & (0x01U)) );
_m->HVC_CompLowVoltErr_Stat = (uint8_t) ( ((_d[6] >> 4U) & (0x01U)) );
_m->HVC_CompComErr_Stat = (uint8_t) ( ((_d[6] >> 5U) & (0x01U)) );
_m->HVC_Reserved02 = (uint8_t) ( ((_d[6] >> 6U) & (0x03U)) );
_m->HVC_CompTempSensErr_Stat = (uint8_t) ( (_d[7] & (0x01U)) );
_m->HVC_CompCurrSensErr_Stat = (uint8_t) ( ((_d[7] >> 1U) & (0x01U)) );
_m->HVC_CompCurrShortCirc_Stat = (uint8_t) ( ((_d[7] >> 2U) & (0x01U)) );
_m->HVC_CompInPowSupply_Stat = (uint8_t) ( ((_d[7] >> 3U) & (0x01U)) );
_m->HVC_CompTorqueStallErr_Stat = (uint8_t) ( ((_d[7] >> 4U) & (0x01U)) );
_m->HVC_CompVoltSensErr_Stat = (uint8_t) ( ((_d[7] >> 5U) & (0x01U)) );
_m->HVC_Reserved03 = (uint8_t) ( ((_d[7] >> 6U) & (0x03U)) );
#ifdef CANDB_USE_DIAG_MONITORS
_m->mon1.dlc_error = (dlc_ < HVC_Err_Status_Msg_DLC);
_m->mon1.last_cycle = GetSystemTick();
_m->mon1.frame_cnt++;
FMon_HVC_Err_Status_Msg_candb(&_m->mon1, HVC_Err_Status_Msg_CANID);
#endif // CANDB_USE_DIAG_MONITORS
return HVC_Err_Status_Msg_CANID;
}
#ifdef CANDB_USE_CANSTRUCT
uint32_t Pack_HVC_Err_Status_Msg_candb(HVC_Err_Status_Msg_t* _m, __CoderDbcCanFrame_t__* cframe)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(HVC_Err_Status_Msg_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE);
#ifdef CANDB_USE_SIGFLOAT
_m->HVC_CompSpeed_Val_ro = (uint8_t) CANDB_HVC_CompSpeed_Val_ro_toS(_m->HVC_CompSpeed_Val_phys);
_m->HVC_CompInputV_Val_ro = (uint8_t) CANDB_HVC_CompInputV_Val_ro_toS(_m->HVC_CompInputV_Val_phys);
_m->HVC_CompInputC_Val_ro = (uint8_t) CANDB_HVC_CompInputC_Val_ro_toS(_m->HVC_CompInputC_Val_phys);
_m->HVC_CompInvTemp_Val_ro = (uint8_t) CANDB_HVC_CompInvTemp_Val_ro_toS(_m->HVC_CompInvTemp_Val_phys);
_m->HVC_CompPhaseC_Val_ro = (uint8_t) CANDB_HVC_CompPhaseC_Val_ro_toS(_m->HVC_CompPhaseC_Val_phys);
#endif // CANDB_USE_SIGFLOAT
cframe->Data[0] |= (uint8_t) ( (_m->HVC_CompSpeed_Val_ro & (0xFFU)) );
cframe->Data[1] |= (uint8_t) ( (_m->HVC_Comp_Stat & (0x03U)) | ((_m->HVC_Reserved01 & (0x3FU)) << 2U) );
cframe->Data[2] |= (uint8_t) ( (_m->HVC_CompInputV_Val_ro & (0xFFU)) );
cframe->Data[3] |= (uint8_t) ( (_m->HVC_CompInputC_Val_ro & (0xFFU)) );
cframe->Data[4] |= (uint8_t) ( (_m->HVC_CompInvTemp_Val_ro & (0xFFU)) );
cframe->Data[5] |= (uint8_t) ( (_m->HVC_CompPhaseC_Val_ro & (0xFFU)) );
cframe->Data[6] |= (uint8_t) ( (_m->HVC_CompUV_Stat & (0x01U)) | ((_m->HVC_CompOV_Stat & (0x01U)) << 1U) | ((_m->HVC_CompOvHeat_Stat & (0x01U)) << 2U) | ((_m->HVC_CompOvTorque_Stat & (0x01U)) << 3U) | ((_m->HVC_CompLowVoltErr_Stat & (0x01U)) << 4U) | ((_m->HVC_CompComErr_Stat & (0x01U)) << 5U) | ((_m->HVC_Reserved02 & (0x03U)) << 6U) );
cframe->Data[7] |= (uint8_t) ( (_m->HVC_CompTempSensErr_Stat & (0x01U)) | ((_m->HVC_CompCurrSensErr_Stat & (0x01U)) << 1U) | ((_m->HVC_CompCurrShortCirc_Stat & (0x01U)) << 2U) | ((_m->HVC_CompInPowSupply_Stat & (0x01U)) << 3U) | ((_m->HVC_CompTorqueStallErr_Stat & (0x01U)) << 4U) | ((_m->HVC_CompVoltSensErr_Stat & (0x01U)) << 5U) | ((_m->HVC_Reserved03 & (0x03U)) << 6U) );
cframe->MsgId = (uint32_t) HVC_Err_Status_Msg_CANID;
cframe->DLC = (uint8_t) HVC_Err_Status_Msg_DLC;
cframe->IDE = (uint8_t) HVC_Err_Status_Msg_IDE;
return HVC_Err_Status_Msg_CANID;
}
#else
uint32_t Pack_HVC_Err_Status_Msg_candb(HVC_Err_Status_Msg_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(HVC_Err_Status_Msg_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE);
#ifdef CANDB_USE_SIGFLOAT
_m->HVC_CompSpeed_Val_ro = (uint8_t) CANDB_HVC_CompSpeed_Val_ro_toS(_m->HVC_CompSpeed_Val_phys);
_m->HVC_CompInputV_Val_ro = (uint8_t) CANDB_HVC_CompInputV_Val_ro_toS(_m->HVC_CompInputV_Val_phys);
_m->HVC_CompInputC_Val_ro = (uint8_t) CANDB_HVC_CompInputC_Val_ro_toS(_m->HVC_CompInputC_Val_phys);
_m->HVC_CompInvTemp_Val_ro = (uint8_t) CANDB_HVC_CompInvTemp_Val_ro_toS(_m->HVC_CompInvTemp_Val_phys);
_m->HVC_CompPhaseC_Val_ro = (uint8_t) CANDB_HVC_CompPhaseC_Val_ro_toS(_m->HVC_CompPhaseC_Val_phys);
#endif // CANDB_USE_SIGFLOAT
_d[0] |= (uint8_t) ( (_m->HVC_CompSpeed_Val_ro & (0xFFU)) );
_d[1] |= (uint8_t) ( (_m->HVC_Comp_Stat & (0x03U)) | ((_m->HVC_Reserved01 & (0x3FU)) << 2U) );
_d[2] |= (uint8_t) ( (_m->HVC_CompInputV_Val_ro & (0xFFU)) );
_d[3] |= (uint8_t) ( (_m->HVC_CompInputC_Val_ro & (0xFFU)) );
_d[4] |= (uint8_t) ( (_m->HVC_CompInvTemp_Val_ro & (0xFFU)) );
_d[5] |= (uint8_t) ( (_m->HVC_CompPhaseC_Val_ro & (0xFFU)) );
_d[6] |= (uint8_t) ( (_m->HVC_CompUV_Stat & (0x01U)) | ((_m->HVC_CompOV_Stat & (0x01U)) << 1U) | ((_m->HVC_CompOvHeat_Stat & (0x01U)) << 2U) | ((_m->HVC_CompOvTorque_Stat & (0x01U)) << 3U) | ((_m->HVC_CompLowVoltErr_Stat & (0x01U)) << 4U) | ((_m->HVC_CompComErr_Stat & (0x01U)) << 5U) | ((_m->HVC_Reserved02 & (0x03U)) << 6U) );
_d[7] |= (uint8_t) ( (_m->HVC_CompTempSensErr_Stat & (0x01U)) | ((_m->HVC_CompCurrSensErr_Stat & (0x01U)) << 1U) | ((_m->HVC_CompCurrShortCirc_Stat & (0x01U)) << 2U) | ((_m->HVC_CompInPowSupply_Stat & (0x01U)) << 3U) | ((_m->HVC_CompTorqueStallErr_Stat & (0x01U)) << 4U) | ((_m->HVC_CompVoltSensErr_Stat & (0x01U)) << 5U) | ((_m->HVC_Reserved03 & (0x03U)) << 6U) );
*_len = (uint8_t) HVC_Err_Status_Msg_DLC;
*_ide = (uint8_t) HVC_Err_Status_Msg_IDE;
return HVC_Err_Status_Msg_CANID;
}
#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_)
{
(void)dlc_;
_m->CCU_eCompSpeedReq_Val_ro = (uint8_t) ( (_d[0] & (0xFFU)) );
#ifdef CANDB_USE_SIGFLOAT
_m->CCU_eCompSpeedReq_Val_phys = (uint16_t) CANDB_CCU_eCompSpeedReq_Val_ro_fromS(_m->CCU_eCompSpeedReq_Val_ro);
#endif // CANDB_USE_SIGFLOAT
_m->CCU_eCompReq_Stat = (uint8_t) ( (_d[1] & (0x01U)) );
_m->CCU_LowTempValve_Req = (uint8_t) ( ((_d[1] >> 1U) & (0x03U)) );
_m->CCU_HVC_Req_RC = (uint8_t) ( ((_d[1] >> 4U) & (0x0FU)) );
_m->CCU_HVC_Req_CS = (uint8_t) ( (_d[2] & (0xFFU)) );
#ifdef CANDB_USE_DIAG_MONITORS
_m->mon1.dlc_error = (dlc_ < CCU_HVC_Req_Msg_DLC);
_m->mon1.last_cycle = GetSystemTick();
_m->mon1.frame_cnt++;
FMon_CCU_HVC_Req_Msg_candb(&_m->mon1, CCU_HVC_Req_Msg_CANID);
#endif // CANDB_USE_DIAG_MONITORS
return CCU_HVC_Req_Msg_CANID;
}
#ifdef CANDB_USE_CANSTRUCT
uint32_t Pack_CCU_HVC_Req_Msg_candb(CCU_HVC_Req_Msg_t* _m, __CoderDbcCanFrame_t__* cframe)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(CCU_HVC_Req_Msg_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE);
#ifdef CANDB_USE_SIGFLOAT
_m->CCU_eCompSpeedReq_Val_ro = (uint8_t) CANDB_CCU_eCompSpeedReq_Val_ro_toS(_m->CCU_eCompSpeedReq_Val_phys);
#endif // CANDB_USE_SIGFLOAT
cframe->Data[0] |= (uint8_t) ( (_m->CCU_eCompSpeedReq_Val_ro & (0xFFU)) );
cframe->Data[1] |= (uint8_t) ( (_m->CCU_eCompReq_Stat & (0x01U)) | ((_m->CCU_LowTempValve_Req & (0x03U)) << 1U) | ((_m->CCU_HVC_Req_RC & (0x0FU)) << 4U) );
cframe->Data[2] |= (uint8_t) ( (_m->CCU_HVC_Req_CS & (0xFFU)) );
cframe->MsgId = (uint32_t) CCU_HVC_Req_Msg_CANID;
cframe->DLC = (uint8_t) CCU_HVC_Req_Msg_DLC;
cframe->IDE = (uint8_t) CCU_HVC_Req_Msg_IDE;
return CCU_HVC_Req_Msg_CANID;
}
#else
uint32_t Pack_CCU_HVC_Req_Msg_candb(CCU_HVC_Req_Msg_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(CCU_HVC_Req_Msg_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE);
#ifdef CANDB_USE_SIGFLOAT
_m->CCU_eCompSpeedReq_Val_ro = (uint8_t) CANDB_CCU_eCompSpeedReq_Val_ro_toS(_m->CCU_eCompSpeedReq_Val_phys);
#endif // CANDB_USE_SIGFLOAT
_d[0] |= (uint8_t) ( (_m->CCU_eCompSpeedReq_Val_ro & (0xFFU)) );
_d[1] |= (uint8_t) ( (_m->CCU_eCompReq_Stat & (0x01U)) | ((_m->CCU_LowTempValve_Req & (0x03U)) << 1U) | ((_m->CCU_HVC_Req_RC & (0x0FU)) << 4U) );
_d[2] |= (uint8_t) ( (_m->CCU_HVC_Req_CS & (0xFFU)) );
*_len = (uint8_t) CCU_HVC_Req_Msg_DLC;
*_ide = (uint8_t) CCU_HVC_Req_Msg_IDE;
return CCU_HVC_Req_Msg_CANID;
}
#endif // CANDB_USE_CANSTRUCT
uint32_t Unpack_CCU_Stat1_candb(CCU_Stat1_t* _m, const uint8_t* _d, uint8_t dlc_)
{
(void)dlc_;
_m->CCU_ModeFL_Stat = (uint8_t) ( (_d[0] & (0x03U)) );
_m->CCU_ModeFR_Stat = (uint8_t) ( ((_d[0] >> 2U) & (0x03U)) );
_m->CCU_ModeRL_Stat = (uint8_t) ( ((_d[0] >> 4U) & (0x03U)) );
_m->CCU_ModeRR_Stat = (uint8_t) ( ((_d[0] >> 6U) & (0x03U)) );
_m->CCU_AutoModeFL_Stat = (uint8_t) ( (_d[1] & (0x07U)) );
_m->CCU_AutoModeFR_Stat = (uint8_t) ( ((_d[1] >> 3U) & (0x07U)) );
_m->CCU_AirDirectionRL_Face_Stat = (uint8_t) ( ((_d[1] >> 6U) & (0x01U)) );
_m->CCU_AirDirectionRL_Foot_Stat = (uint8_t) ( ((_d[1] >> 7U) & (0x01U)) );
_m->CCU_AutoModeRL_Stat = (uint8_t) ( (_d[2] & (0x07U)) );
_m->CCU_AutoModeRR_Stat = (uint8_t) ( ((_d[2] >> 3U) & (0x07U)) );
_m->CCU_AirDirectionRR_Face_Stat = (uint8_t) ( ((_d[2] >> 6U) & (0x01U)) );
_m->CCU_AirDirectionRR_Foot_Stat = (uint8_t) ( ((_d[2] >> 7U) & (0x01U)) );
_m->CCU_AirDirectionFL_Def_Stat = (uint8_t) ( (_d[3] & (0x01U)) );
_m->CCU_AirDirectionFL_Face_Stat = (uint8_t) ( ((_d[3] >> 1U) & (0x01U)) );
_m->CCU_AirDirectionFL_Foot_Stat = (uint8_t) ( ((_d[3] >> 2U) & (0x01U)) );
_m->CCU_AirDirectionFR_Def_Stat = (uint8_t) ( ((_d[3] >> 3U) & (0x01U)) );
_m->CCU_AirDirectionFR_Face_Stat = (uint8_t) ( ((_d[3] >> 4U) & (0x01U)) );
_m->CCU_AirDirectionFR_Foot_Stat = (uint8_t) ( ((_d[3] >> 5U) & (0x01U)) );
_m->CCU_Recirculation_Stat = (uint8_t) ( ((_d[3] >> 6U) & (0x03U)) );
_m->CCU_BlowerSpeedFL_Stat = (uint8_t) ( (_d[4] & (0x07U)) );
_m->CCU_TargetTempFL_Stat_ro = (uint8_t) ( ((_d[4] >> 3U) & (0x1FU)) );
#ifdef CANDB_USE_SIGFLOAT
_m->CCU_TargetTempFL_Stat_phys = (sigfloat_t)(CANDB_CCU_TargetTempFL_Stat_ro_fromS(_m->CCU_TargetTempFL_Stat_ro));
#endif // CANDB_USE_SIGFLOAT
_m->CCU_BlowerSpeedFR_Stat = (uint8_t) ( (_d[5] & (0x07U)) );
_m->CCU_TargetTempFR_Stat_ro = (uint8_t) ( ((_d[5] >> 3U) & (0x1FU)) );
#ifdef CANDB_USE_SIGFLOAT
_m->CCU_TargetTempFR_Stat_phys = (sigfloat_t)(CANDB_CCU_TargetTempFR_Stat_ro_fromS(_m->CCU_TargetTempFR_Stat_ro));
#endif // CANDB_USE_SIGFLOAT
_m->CCU_BlowerSpeedRL_Stat = (uint8_t) ( (_d[6] & (0x07U)) );
_m->CCU_TargetTempRR_Stat_ro = (uint8_t) ( ((_d[6] >> 3U) & (0x1FU)) );
#ifdef CANDB_USE_SIGFLOAT
_m->CCU_TargetTempRR_Stat_phys = (sigfloat_t)(CANDB_CCU_TargetTempRR_Stat_ro_fromS(_m->CCU_TargetTempRR_Stat_ro));
#endif // CANDB_USE_SIGFLOAT
_m->CCU_BlowerSpeedRR_Stat = (uint8_t) ( (_d[7] & (0x07U)) );
_m->CCU_TargetTempRL_Stat_ro = (uint8_t) ( ((_d[7] >> 3U) & (0x1FU)) );
#ifdef CANDB_USE_SIGFLOAT
_m->CCU_TargetTempRL_Stat_phys = (sigfloat_t)(CANDB_CCU_TargetTempRL_Stat_ro_fromS(_m->CCU_TargetTempRL_Stat_ro));
#endif // CANDB_USE_SIGFLOAT
#ifdef CANDB_USE_DIAG_MONITORS
_m->mon1.dlc_error = (dlc_ < CCU_Stat1_DLC);
_m->mon1.last_cycle = GetSystemTick();
_m->mon1.frame_cnt++;
FMon_CCU_Stat1_candb(&_m->mon1, CCU_Stat1_CANID);
#endif // CANDB_USE_DIAG_MONITORS
return CCU_Stat1_CANID;
}
#ifdef CANDB_USE_CANSTRUCT
uint32_t Pack_CCU_Stat1_candb(CCU_Stat1_t* _m, __CoderDbcCanFrame_t__* cframe)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(CCU_Stat1_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE);
#ifdef CANDB_USE_SIGFLOAT
_m->CCU_TargetTempFL_Stat_ro = (uint8_t) CANDB_CCU_TargetTempFL_Stat_ro_toS(_m->CCU_TargetTempFL_Stat_phys);
_m->CCU_TargetTempFR_Stat_ro = (uint8_t) CANDB_CCU_TargetTempFR_Stat_ro_toS(_m->CCU_TargetTempFR_Stat_phys);
_m->CCU_TargetTempRR_Stat_ro = (uint8_t) CANDB_CCU_TargetTempRR_Stat_ro_toS(_m->CCU_TargetTempRR_Stat_phys);
_m->CCU_TargetTempRL_Stat_ro = (uint8_t) CANDB_CCU_TargetTempRL_Stat_ro_toS(_m->CCU_TargetTempRL_Stat_phys);
#endif // CANDB_USE_SIGFLOAT
cframe->Data[0] |= (uint8_t) ( (_m->CCU_ModeFL_Stat & (0x03U)) | ((_m->CCU_ModeFR_Stat & (0x03U)) << 2U) | ((_m->CCU_ModeRL_Stat & (0x03U)) << 4U) | ((_m->CCU_ModeRR_Stat & (0x03U)) << 6U) );
cframe->Data[1] |= (uint8_t) ( (_m->CCU_AutoModeFL_Stat & (0x07U)) | ((_m->CCU_AutoModeFR_Stat & (0x07U)) << 3U) | ((_m->CCU_AirDirectionRL_Face_Stat & (0x01U)) << 6U) | ((_m->CCU_AirDirectionRL_Foot_Stat & (0x01U)) << 7U) );
cframe->Data[2] |= (uint8_t) ( (_m->CCU_AutoModeRL_Stat & (0x07U)) | ((_m->CCU_AutoModeRR_Stat & (0x07U)) << 3U) | ((_m->CCU_AirDirectionRR_Face_Stat & (0x01U)) << 6U) | ((_m->CCU_AirDirectionRR_Foot_Stat & (0x01U)) << 7U) );
cframe->Data[3] |= (uint8_t) ( (_m->CCU_AirDirectionFL_Def_Stat & (0x01U)) | ((_m->CCU_AirDirectionFL_Face_Stat & (0x01U)) << 1U) | ((_m->CCU_AirDirectionFL_Foot_Stat & (0x01U)) << 2U) | ((_m->CCU_AirDirectionFR_Def_Stat & (0x01U)) << 3U) | ((_m->CCU_AirDirectionFR_Face_Stat & (0x01U)) << 4U) | ((_m->CCU_AirDirectionFR_Foot_Stat & (0x01U)) << 5U) | ((_m->CCU_Recirculation_Stat & (0x03U)) << 6U) );
cframe->Data[4] |= (uint8_t) ( (_m->CCU_BlowerSpeedFL_Stat & (0x07U)) | ((_m->CCU_TargetTempFL_Stat_ro & (0x1FU)) << 3U) );
cframe->Data[5] |= (uint8_t) ( (_m->CCU_BlowerSpeedFR_Stat & (0x07U)) | ((_m->CCU_TargetTempFR_Stat_ro & (0x1FU)) << 3U) );
cframe->Data[6] |= (uint8_t) ( (_m->CCU_BlowerSpeedRL_Stat & (0x07U)) | ((_m->CCU_TargetTempRR_Stat_ro & (0x1FU)) << 3U) );
cframe->Data[7] |= (uint8_t) ( (_m->CCU_BlowerSpeedRR_Stat & (0x07U)) | ((_m->CCU_TargetTempRL_Stat_ro & (0x1FU)) << 3U) );
cframe->MsgId = (uint32_t) CCU_Stat1_CANID;
cframe->DLC = (uint8_t) CCU_Stat1_DLC;
cframe->IDE = (uint8_t) CCU_Stat1_IDE;
return CCU_Stat1_CANID;
}
#else
uint32_t Pack_CCU_Stat1_candb(CCU_Stat1_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(CCU_Stat1_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE);
#ifdef CANDB_USE_SIGFLOAT
_m->CCU_TargetTempFL_Stat_ro = (uint8_t) CANDB_CCU_TargetTempFL_Stat_ro_toS(_m->CCU_TargetTempFL_Stat_phys);
_m->CCU_TargetTempFR_Stat_ro = (uint8_t) CANDB_CCU_TargetTempFR_Stat_ro_toS(_m->CCU_TargetTempFR_Stat_phys);
_m->CCU_TargetTempRR_Stat_ro = (uint8_t) CANDB_CCU_TargetTempRR_Stat_ro_toS(_m->CCU_TargetTempRR_Stat_phys);
_m->CCU_TargetTempRL_Stat_ro = (uint8_t) CANDB_CCU_TargetTempRL_Stat_ro_toS(_m->CCU_TargetTempRL_Stat_phys);
#endif // CANDB_USE_SIGFLOAT
_d[0] |= (uint8_t) ( (_m->CCU_ModeFL_Stat & (0x03U)) | ((_m->CCU_ModeFR_Stat & (0x03U)) << 2U) | ((_m->CCU_ModeRL_Stat & (0x03U)) << 4U) | ((_m->CCU_ModeRR_Stat & (0x03U)) << 6U) );
_d[1] |= (uint8_t) ( (_m->CCU_AutoModeFL_Stat & (0x07U)) | ((_m->CCU_AutoModeFR_Stat & (0x07U)) << 3U) | ((_m->CCU_AirDirectionRL_Face_Stat & (0x01U)) << 6U) | ((_m->CCU_AirDirectionRL_Foot_Stat & (0x01U)) << 7U) );
_d[2] |= (uint8_t) ( (_m->CCU_AutoModeRL_Stat & (0x07U)) | ((_m->CCU_AutoModeRR_Stat & (0x07U)) << 3U) | ((_m->CCU_AirDirectionRR_Face_Stat & (0x01U)) << 6U) | ((_m->CCU_AirDirectionRR_Foot_Stat & (0x01U)) << 7U) );
_d[3] |= (uint8_t) ( (_m->CCU_AirDirectionFL_Def_Stat & (0x01U)) | ((_m->CCU_AirDirectionFL_Face_Stat & (0x01U)) << 1U) | ((_m->CCU_AirDirectionFL_Foot_Stat & (0x01U)) << 2U) | ((_m->CCU_AirDirectionFR_Def_Stat & (0x01U)) << 3U) | ((_m->CCU_AirDirectionFR_Face_Stat & (0x01U)) << 4U) | ((_m->CCU_AirDirectionFR_Foot_Stat & (0x01U)) << 5U) | ((_m->CCU_Recirculation_Stat & (0x03U)) << 6U) );
_d[4] |= (uint8_t) ( (_m->CCU_BlowerSpeedFL_Stat & (0x07U)) | ((_m->CCU_TargetTempFL_Stat_ro & (0x1FU)) << 3U) );
_d[5] |= (uint8_t) ( (_m->CCU_BlowerSpeedFR_Stat & (0x07U)) | ((_m->CCU_TargetTempFR_Stat_ro & (0x1FU)) << 3U) );
_d[6] |= (uint8_t) ( (_m->CCU_BlowerSpeedRL_Stat & (0x07U)) | ((_m->CCU_TargetTempRR_Stat_ro & (0x1FU)) << 3U) );
_d[7] |= (uint8_t) ( (_m->CCU_BlowerSpeedRR_Stat & (0x07U)) | ((_m->CCU_TargetTempRL_Stat_ro & (0x1FU)) << 3U) );
*_len = (uint8_t) CCU_Stat1_DLC;
*_ide = (uint8_t) CCU_Stat1_IDE;
return CCU_Stat1_CANID;
}
#endif // CANDB_USE_CANSTRUCT
uint32_t Unpack_CCU_Stat2_candb(CCU_Stat2_t* _m, const uint8_t* _d, uint8_t dlc_)
{
(void)dlc_;
_m->CCU_AromaCartridgeSw_Stat = (uint8_t) ( (_d[0] & (0x01U)) );
_m->CCU_FrontZoneSync_Stat = (uint8_t) ( ((_d[0] >> 3U) & (0x01U)) );
_m->CCU_RearZoneSync_Stat = (uint8_t) ( ((_d[0] >> 4U) & (0x01U)) );
_m->CCU_AllZoneSync_Stat = (uint8_t) ( ((_d[0] >> 5U) & (0x01U)) );
_m->CCU_ACfront_Stat = (uint8_t) ( ((_d[0] >> 6U) & (0x01U)) );
_m->CCU_ACrear_Stat = (uint8_t) ( ((_d[0] >> 7U) & (0x01U)) );
_m->CCU_ACmaxF_Stat = (uint8_t) ( (_d[1] & (0x01U)) );
_m->CCU_ACmaxR_Stat = (uint8_t) ( ((_d[1] >> 1U) & (0x01U)) );
_m->CCU_Defrost_Stat = (uint8_t) ( ((_d[1] >> 2U) & (0x01U)) );
_m->CCU_Ionization_Stat = (uint8_t) ( ((_d[1] >> 3U) & (0x01U)) );
_m->CCU_FootTempCorFL_Stat = (uint8_t) ( (_d[2] & (0x07U)) );
_m->CCU_FootTempCorFR_Stat = (uint8_t) ( ((_d[2] >> 3U) & (0x07U)) );
_m->CCU_AromaIntens_Stat = (uint8_t) ( ((_d[2] >> 6U) & (0x03U)) );
_m->CCU_FootTempCorRL_Stat = (uint8_t) ( (_d[3] & (0x07U)) );
_m->CCU_FootTempCorRR_Stat = (uint8_t) ( ((_d[3] >> 3U) & (0x07U)) );
_m->CCU_DeflectorSwDL_Stat = (uint8_t) ( (_d[4] & (0x03U)) );
_m->CCU_DeflectorSwDR_Stat = (uint8_t) ( ((_d[4] >> 2U) & (0x03U)) );
_m->CCU_DeflectorSwFPL_Stat = (uint8_t) ( ((_d[4] >> 4U) & (0x03U)) );
_m->CCU_DeflectorSwFPR_Stat = (uint8_t) ( ((_d[4] >> 6U) & (0x03U)) );
_m->CCU_DeflectorSwFCL_Stat = (uint8_t) ( (_d[5] & (0x03U)) );
_m->CCU_DeflectorSwFCR_Stat = (uint8_t) ( ((_d[5] >> 2U) & (0x03U)) );
_m->CCU_DeflectorSwRLB_Stat = (uint8_t) ( ((_d[5] >> 4U) & (0x03U)) );
_m->CCU_DeflectorSwRRB_Stat = (uint8_t) ( ((_d[5] >> 6U) & (0x03U)) );
#ifdef CANDB_USE_DIAG_MONITORS
_m->mon1.dlc_error = (dlc_ < CCU_Stat2_DLC);
_m->mon1.last_cycle = GetSystemTick();
_m->mon1.frame_cnt++;
FMon_CCU_Stat2_candb(&_m->mon1, CCU_Stat2_CANID);
#endif // CANDB_USE_DIAG_MONITORS
return CCU_Stat2_CANID;
}
#ifdef CANDB_USE_CANSTRUCT
uint32_t Pack_CCU_Stat2_candb(CCU_Stat2_t* _m, __CoderDbcCanFrame_t__* cframe)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(CCU_Stat2_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE);
cframe->Data[0] |= (uint8_t) ( (_m->CCU_AromaCartridgeSw_Stat & (0x01U)) | ((_m->CCU_FrontZoneSync_Stat & (0x01U)) << 3U) | ((_m->CCU_RearZoneSync_Stat & (0x01U)) << 4U) | ((_m->CCU_AllZoneSync_Stat & (0x01U)) << 5U) | ((_m->CCU_ACfront_Stat & (0x01U)) << 6U) | ((_m->CCU_ACrear_Stat & (0x01U)) << 7U) );
cframe->Data[1] |= (uint8_t) ( (_m->CCU_ACmaxF_Stat & (0x01U)) | ((_m->CCU_ACmaxR_Stat & (0x01U)) << 1U) | ((_m->CCU_Defrost_Stat & (0x01U)) << 2U) | ((_m->CCU_Ionization_Stat & (0x01U)) << 3U) );
cframe->Data[2] |= (uint8_t) ( (_m->CCU_FootTempCorFL_Stat & (0x07U)) | ((_m->CCU_FootTempCorFR_Stat & (0x07U)) << 3U) | ((_m->CCU_AromaIntens_Stat & (0x03U)) << 6U) );
cframe->Data[3] |= (uint8_t) ( (_m->CCU_FootTempCorRL_Stat & (0x07U)) | ((_m->CCU_FootTempCorRR_Stat & (0x07U)) << 3U) );
cframe->Data[4] |= (uint8_t) ( (_m->CCU_DeflectorSwDL_Stat & (0x03U)) | ((_m->CCU_DeflectorSwDR_Stat & (0x03U)) << 2U) | ((_m->CCU_DeflectorSwFPL_Stat & (0x03U)) << 4U) | ((_m->CCU_DeflectorSwFPR_Stat & (0x03U)) << 6U) );
cframe->Data[5] |= (uint8_t) ( (_m->CCU_DeflectorSwFCL_Stat & (0x03U)) | ((_m->CCU_DeflectorSwFCR_Stat & (0x03U)) << 2U) | ((_m->CCU_DeflectorSwRLB_Stat & (0x03U)) << 4U) | ((_m->CCU_DeflectorSwRRB_Stat & (0x03U)) << 6U) );
cframe->MsgId = (uint32_t) CCU_Stat2_CANID;
cframe->DLC = (uint8_t) CCU_Stat2_DLC;
cframe->IDE = (uint8_t) CCU_Stat2_IDE;
return CCU_Stat2_CANID;
}
#else
uint32_t Pack_CCU_Stat2_candb(CCU_Stat2_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(CCU_Stat2_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE);
_d[0] |= (uint8_t) ( (_m->CCU_AromaCartridgeSw_Stat & (0x01U)) | ((_m->CCU_FrontZoneSync_Stat & (0x01U)) << 3U) | ((_m->CCU_RearZoneSync_Stat & (0x01U)) << 4U) | ((_m->CCU_AllZoneSync_Stat & (0x01U)) << 5U) | ((_m->CCU_ACfront_Stat & (0x01U)) << 6U) | ((_m->CCU_ACrear_Stat & (0x01U)) << 7U) );
_d[1] |= (uint8_t) ( (_m->CCU_ACmaxF_Stat & (0x01U)) | ((_m->CCU_ACmaxR_Stat & (0x01U)) << 1U) | ((_m->CCU_Defrost_Stat & (0x01U)) << 2U) | ((_m->CCU_Ionization_Stat & (0x01U)) << 3U) );
_d[2] |= (uint8_t) ( (_m->CCU_FootTempCorFL_Stat & (0x07U)) | ((_m->CCU_FootTempCorFR_Stat & (0x07U)) << 3U) | ((_m->CCU_AromaIntens_Stat & (0x03U)) << 6U) );
_d[3] |= (uint8_t) ( (_m->CCU_FootTempCorRL_Stat & (0x07U)) | ((_m->CCU_FootTempCorRR_Stat & (0x07U)) << 3U) );
_d[4] |= (uint8_t) ( (_m->CCU_DeflectorSwDL_Stat & (0x03U)) | ((_m->CCU_DeflectorSwDR_Stat & (0x03U)) << 2U) | ((_m->CCU_DeflectorSwFPL_Stat & (0x03U)) << 4U) | ((_m->CCU_DeflectorSwFPR_Stat & (0x03U)) << 6U) );
_d[5] |= (uint8_t) ( (_m->CCU_DeflectorSwFCL_Stat & (0x03U)) | ((_m->CCU_DeflectorSwFCR_Stat & (0x03U)) << 2U) | ((_m->CCU_DeflectorSwRLB_Stat & (0x03U)) << 4U) | ((_m->CCU_DeflectorSwRRB_Stat & (0x03U)) << 6U) );
*_len = (uint8_t) CCU_Stat2_DLC;
*_ide = (uint8_t) CCU_Stat2_IDE;
return CCU_Stat2_CANID;
}
#endif // CANDB_USE_CANSTRUCT
uint32_t Unpack_CCU_Requests_candb(CCU_Requests_t* _m, const uint8_t* _d, uint8_t dlc_)
{
(void)dlc_;
_m->CCU_CarpetHeatFL_Req = (uint8_t) ( (_d[0] & (0x01U)) );
_m->CCU_CarpetHeatFR_Req = (uint8_t) ( ((_d[0] >> 1U) & (0x01U)) );
_m->CCU_CarpetHeatRL_Req = (uint8_t) ( ((_d[0] >> 2U) & (0x01U)) );
_m->CCU_CarpetHeatRR_Req = (uint8_t) ( ((_d[0] >> 3U) & (0x01U)) );
#ifdef CANDB_USE_DIAG_MONITORS
_m->mon1.dlc_error = (dlc_ < CCU_Requests_DLC);
_m->mon1.last_cycle = GetSystemTick();
_m->mon1.frame_cnt++;
FMon_CCU_Requests_candb(&_m->mon1, CCU_Requests_CANID);
#endif // CANDB_USE_DIAG_MONITORS
return CCU_Requests_CANID;
}
#ifdef CANDB_USE_CANSTRUCT
uint32_t Pack_CCU_Requests_candb(CCU_Requests_t* _m, __CoderDbcCanFrame_t__* cframe)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(CCU_Requests_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE);
cframe->Data[0] |= (uint8_t) ( (_m->CCU_CarpetHeatFL_Req & (0x01U)) | ((_m->CCU_CarpetHeatFR_Req & (0x01U)) << 1U) | ((_m->CCU_CarpetHeatRL_Req & (0x01U)) << 2U) | ((_m->CCU_CarpetHeatRR_Req & (0x01U)) << 3U) );
cframe->MsgId = (uint32_t) CCU_Requests_CANID;
cframe->DLC = (uint8_t) CCU_Requests_DLC;
cframe->IDE = (uint8_t) CCU_Requests_IDE;
return CCU_Requests_CANID;
}
#else
uint32_t Pack_CCU_Requests_candb(CCU_Requests_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(CCU_Requests_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE);
_d[0] |= (uint8_t) ( (_m->CCU_CarpetHeatFL_Req & (0x01U)) | ((_m->CCU_CarpetHeatFR_Req & (0x01U)) << 1U) | ((_m->CCU_CarpetHeatRL_Req & (0x01U)) << 2U) | ((_m->CCU_CarpetHeatRR_Req & (0x01U)) << 3U) );
*_len = (uint8_t) CCU_Requests_DLC;
*_ide = (uint8_t) CCU_Requests_IDE;
return CCU_Requests_CANID;
}
#endif // CANDB_USE_CANSTRUCT
uint32_t Unpack_CCU_Stat3_candb(CCU_Stat3_t* _m, const uint8_t* _d, uint8_t dlc_)
{
(void)dlc_;
_m->CCU_AromaCartridgeCapacity_Stat_ro = (uint8_t) ( (_d[0] & (0x0FU)) );
#ifdef CANDB_USE_SIGFLOAT
_m->CCU_AromaCartridgeCapacity_Stat_phys = (uint8_t) CANDB_CCU_AromaCartridgeCapacity_Stat_ro_fromS(_m->CCU_AromaCartridgeCapacity_Stat_ro);
#endif // CANDB_USE_SIGFLOAT
_m->CCU_AromaCartridgeFlavor_Stat = (uint8_t) ( ((_d[1] >> 4U) & (0x0FU)) );
_m->CCU_AromaFaultReason_Stat = (uint8_t) ( (_d[3] & (0x07U)) );
_m->CCU_RLfootBlowDis_Stat = (uint8_t) ( ((_d[3] >> 3U) & (0x01U)) );
_m->CCU_RRfootBlowDis_Stat = (uint8_t) ( ((_d[3] >> 4U) & (0x01U)) );
_m->CCU_RestMode2_Stat = (uint8_t) ( ((_d[3] >> 5U) & (0x03U)) );
#ifdef CANDB_USE_DIAG_MONITORS
_m->mon1.dlc_error = (dlc_ < CCU_Stat3_DLC);
_m->mon1.last_cycle = GetSystemTick();
_m->mon1.frame_cnt++;
FMon_CCU_Stat3_candb(&_m->mon1, CCU_Stat3_CANID);
#endif // CANDB_USE_DIAG_MONITORS
return CCU_Stat3_CANID;
}
#ifdef CANDB_USE_CANSTRUCT
uint32_t Pack_CCU_Stat3_candb(CCU_Stat3_t* _m, __CoderDbcCanFrame_t__* cframe)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(CCU_Stat3_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE);
#ifdef CANDB_USE_SIGFLOAT
_m->CCU_AromaCartridgeCapacity_Stat_ro = (uint8_t) CANDB_CCU_AromaCartridgeCapacity_Stat_ro_toS(_m->CCU_AromaCartridgeCapacity_Stat_phys);
#endif // CANDB_USE_SIGFLOAT
cframe->Data[0] |= (uint8_t) ( (_m->CCU_AromaCartridgeCapacity_Stat_ro & (0x0FU)) );
cframe->Data[1] |= (uint8_t) ( ((_m->CCU_AromaCartridgeFlavor_Stat & (0x0FU)) << 4U) );
cframe->Data[3] |= (uint8_t) ( (_m->CCU_AromaFaultReason_Stat & (0x07U)) | ((_m->CCU_RLfootBlowDis_Stat & (0x01U)) << 3U) | ((_m->CCU_RRfootBlowDis_Stat & (0x01U)) << 4U) | ((_m->CCU_RestMode2_Stat & (0x03U)) << 5U) );
cframe->MsgId = (uint32_t) CCU_Stat3_CANID;
cframe->DLC = (uint8_t) CCU_Stat3_DLC;
cframe->IDE = (uint8_t) CCU_Stat3_IDE;
return CCU_Stat3_CANID;
}
#else
uint32_t Pack_CCU_Stat3_candb(CCU_Stat3_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(CCU_Stat3_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE);
#ifdef CANDB_USE_SIGFLOAT
_m->CCU_AromaCartridgeCapacity_Stat_ro = (uint8_t) CANDB_CCU_AromaCartridgeCapacity_Stat_ro_toS(_m->CCU_AromaCartridgeCapacity_Stat_phys);
#endif // CANDB_USE_SIGFLOAT
_d[0] |= (uint8_t) ( (_m->CCU_AromaCartridgeCapacity_Stat_ro & (0x0FU)) );
_d[1] |= (uint8_t) ( ((_m->CCU_AromaCartridgeFlavor_Stat & (0x0FU)) << 4U) );
_d[3] |= (uint8_t) ( (_m->CCU_AromaFaultReason_Stat & (0x07U)) | ((_m->CCU_RLfootBlowDis_Stat & (0x01U)) << 3U) | ((_m->CCU_RRfootBlowDis_Stat & (0x01U)) << 4U) | ((_m->CCU_RestMode2_Stat & (0x03U)) << 5U) );
*_len = (uint8_t) CCU_Stat3_DLC;
*_ide = (uint8_t) CCU_Stat3_IDE;
return CCU_Stat3_CANID;
}
#endif // CANDB_USE_CANSTRUCT
uint32_t Unpack_CCU_VCU_Msg1_candb(CCU_VCU_Msg1_t* _m, const uint8_t* _d, uint8_t dlc_)
{
(void)dlc_;
_m->CCU_Sen_Pressure_ro = (uint16_t) ( ((_d[1] & (0x0FU)) << 8U) | (_d[0] & (0xFFU)) );
#ifdef CANDB_USE_SIGFLOAT
_m->CCU_Sen_Pressure_phys = (sigfloat_t)(CANDB_CCU_Sen_Pressure_ro_fromS(_m->CCU_Sen_Pressure_ro));
#endif // CANDB_USE_SIGFLOAT
_m->CCU_EvaTargetTemp_Val_ro = (int16_t) __ext_sig__(( ((_d[2] & (0xFFU)) << 4U) | ((_d[1] >> 4U) & (0x0FU)) ), 12);
#ifdef CANDB_USE_SIGFLOAT
_m->CCU_EvaTargetTemp_Val_phys = (sigfloat_t)(CANDB_CCU_EvaTargetTemp_Val_ro_fromS(_m->CCU_EvaTargetTemp_Val_ro));
#endif // CANDB_USE_SIGFLOAT
_m->CCU_EvaCurrTempF_Val_ro = (int16_t) __ext_sig__(( ((_d[4] & (0x0FU)) << 8U) | (_d[3] & (0xFFU)) ), 12);
#ifdef CANDB_USE_SIGFLOAT
_m->CCU_EvaCurrTempF_Val_phys = (sigfloat_t)(CANDB_CCU_EvaCurrTempF_Val_ro_fromS(_m->CCU_EvaCurrTempF_Val_ro));
#endif // CANDB_USE_SIGFLOAT
_m->CCU_EvaCurrTempR_Val_ro = (int16_t) __ext_sig__(( ((_d[5] & (0xFFU)) << 4U) | ((_d[4] >> 4U) & (0x0FU)) ), 12);
#ifdef CANDB_USE_SIGFLOAT
_m->CCU_EvaCurrTempR_Val_phys = (sigfloat_t)(CANDB_CCU_EvaCurrTempR_Val_ro_fromS(_m->CCU_EvaCurrTempR_Val_ro));
#endif // CANDB_USE_SIGFLOAT
_m->CCU_LiquidHeaterTargetTemp_Req = (uint8_t) ( (_d[6] & (0x7FU)) );
_m->CCU_VCU_Msg1_RC = (uint8_t) ( ((_d[7] >> 4U) & (0x0FU)) );
#ifdef CANDB_USE_DIAG_MONITORS
_m->mon1.dlc_error = (dlc_ < CCU_VCU_Msg1_DLC);
_m->mon1.last_cycle = GetSystemTick();
_m->mon1.frame_cnt++;
FMon_CCU_VCU_Msg1_candb(&_m->mon1, CCU_VCU_Msg1_CANID);
#endif // CANDB_USE_DIAG_MONITORS
return CCU_VCU_Msg1_CANID;
}
#ifdef CANDB_USE_CANSTRUCT
uint32_t Pack_CCU_VCU_Msg1_candb(CCU_VCU_Msg1_t* _m, __CoderDbcCanFrame_t__* cframe)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(CCU_VCU_Msg1_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE);
#ifdef CANDB_USE_SIGFLOAT
_m->CCU_Sen_Pressure_ro = (uint16_t) CANDB_CCU_Sen_Pressure_ro_toS(_m->CCU_Sen_Pressure_phys);
_m->CCU_EvaTargetTemp_Val_ro = (int16_t) CANDB_CCU_EvaTargetTemp_Val_ro_toS(_m->CCU_EvaTargetTemp_Val_phys);
_m->CCU_EvaCurrTempF_Val_ro = (int16_t) CANDB_CCU_EvaCurrTempF_Val_ro_toS(_m->CCU_EvaCurrTempF_Val_phys);
_m->CCU_EvaCurrTempR_Val_ro = (int16_t) CANDB_CCU_EvaCurrTempR_Val_ro_toS(_m->CCU_EvaCurrTempR_Val_phys);
#endif // CANDB_USE_SIGFLOAT
cframe->Data[0] |= (uint8_t) ( (_m->CCU_Sen_Pressure_ro & (0xFFU)) );
cframe->Data[1] |= (uint8_t) ( ((_m->CCU_Sen_Pressure_ro >> 8U) & (0x0FU)) | ((_m->CCU_EvaTargetTemp_Val_ro & (0x0FU)) << 4U) );
cframe->Data[2] |= (uint8_t) ( ((_m->CCU_EvaTargetTemp_Val_ro >> 4U) & (0xFFU)) );
cframe->Data[3] |= (uint8_t) ( (_m->CCU_EvaCurrTempF_Val_ro & (0xFFU)) );
cframe->Data[4] |= (uint8_t) ( ((_m->CCU_EvaCurrTempF_Val_ro >> 8U) & (0x0FU)) | ((_m->CCU_EvaCurrTempR_Val_ro & (0x0FU)) << 4U) );
cframe->Data[5] |= (uint8_t) ( ((_m->CCU_EvaCurrTempR_Val_ro >> 4U) & (0xFFU)) );
cframe->Data[6] |= (uint8_t) ( (_m->CCU_LiquidHeaterTargetTemp_Req & (0x7FU)) );
cframe->Data[7] |= (uint8_t) ( ((_m->CCU_VCU_Msg1_RC & (0x0FU)) << 4U) );
cframe->MsgId = (uint32_t) CCU_VCU_Msg1_CANID;
cframe->DLC = (uint8_t) CCU_VCU_Msg1_DLC;
cframe->IDE = (uint8_t) CCU_VCU_Msg1_IDE;
return CCU_VCU_Msg1_CANID;
}
#else
uint32_t Pack_CCU_VCU_Msg1_candb(CCU_VCU_Msg1_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(CCU_VCU_Msg1_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE);
#ifdef CANDB_USE_SIGFLOAT
_m->CCU_Sen_Pressure_ro = (uint16_t) CANDB_CCU_Sen_Pressure_ro_toS(_m->CCU_Sen_Pressure_phys);
_m->CCU_EvaTargetTemp_Val_ro = (int16_t) CANDB_CCU_EvaTargetTemp_Val_ro_toS(_m->CCU_EvaTargetTemp_Val_phys);
_m->CCU_EvaCurrTempF_Val_ro = (int16_t) CANDB_CCU_EvaCurrTempF_Val_ro_toS(_m->CCU_EvaCurrTempF_Val_phys);
_m->CCU_EvaCurrTempR_Val_ro = (int16_t) CANDB_CCU_EvaCurrTempR_Val_ro_toS(_m->CCU_EvaCurrTempR_Val_phys);
#endif // CANDB_USE_SIGFLOAT
_d[0] |= (uint8_t) ( (_m->CCU_Sen_Pressure_ro & (0xFFU)) );
_d[1] |= (uint8_t) ( ((_m->CCU_Sen_Pressure_ro >> 8U) & (0x0FU)) | ((_m->CCU_EvaTargetTemp_Val_ro & (0x0FU)) << 4U) );
_d[2] |= (uint8_t) ( ((_m->CCU_EvaTargetTemp_Val_ro >> 4U) & (0xFFU)) );
_d[3] |= (uint8_t) ( (_m->CCU_EvaCurrTempF_Val_ro & (0xFFU)) );
_d[4] |= (uint8_t) ( ((_m->CCU_EvaCurrTempF_Val_ro >> 8U) & (0x0FU)) | ((_m->CCU_EvaCurrTempR_Val_ro & (0x0FU)) << 4U) );
_d[5] |= (uint8_t) ( ((_m->CCU_EvaCurrTempR_Val_ro >> 4U) & (0xFFU)) );
_d[6] |= (uint8_t) ( (_m->CCU_LiquidHeaterTargetTemp_Req & (0x7FU)) );
_d[7] |= (uint8_t) ( ((_m->CCU_VCU_Msg1_RC & (0x0FU)) << 4U) );
*_len = (uint8_t) CCU_VCU_Msg1_DLC;
*_ide = (uint8_t) CCU_VCU_Msg1_IDE;
return CCU_VCU_Msg1_CANID;
}
#endif // CANDB_USE_CANSTRUCT
uint32_t Unpack_CCU_VCU_Msg2_candb(CCU_VCU_Msg2_t* _m, const uint8_t* _d, uint8_t dlc_)
{
(void)dlc_;
_m->eTXV_batChiller_Pos_Stat = (uint8_t) ( (_d[0] & (0x7FU)) );
_m->eTXV_batChiller_Err_Stat = (uint8_t) ( (_d[1] & (0x03U)) );
_m->eTXV_batChiller_Pressure_Val_ro = (uint8_t) ( ((_d[1] >> 2U) & (0x3FU)) );
#ifdef CANDB_USE_SIGFLOAT
_m->eTXV_batChiller_Pressure_Val_phys = (sigfloat_t)(CANDB_eTXV_batChiller_Pressure_Val_ro_fromS(_m->eTXV_batChiller_Pressure_Val_ro));
#endif // CANDB_USE_SIGFLOAT
_m->eTXV_batChiller_Temp_Val_ro = (uint8_t) ( (_d[2] & (0x7FU)) );
#ifdef CANDB_USE_SIGFLOAT
_m->eTXV_batChiller_Temp_Val_phys = (int8_t) CANDB_eTXV_batChiller_Temp_Val_ro_fromS(_m->eTXV_batChiller_Temp_Val_ro);
#endif // CANDB_USE_SIGFLOAT
_m->eTXV_eeChiller_Pos_Stat = (uint8_t) ( (_d[3] & (0x7FU)) );
_m->eTXV_eeChiller_Err_Stat = (uint8_t) ( (_d[4] & (0x03U)) );
_m->eTXV_eeChiller_Pressure_Val_ro = (uint8_t) ( ((_d[4] >> 2U) & (0x3FU)) );
#ifdef CANDB_USE_SIGFLOAT
_m->eTXV_eeChiller_Pressure_Val_phys = (sigfloat_t)(CANDB_eTXV_eeChiller_Pressure_Val_ro_fromS(_m->eTXV_eeChiller_Pressure_Val_ro));
#endif // CANDB_USE_SIGFLOAT
_m->eTXV_eeChiller_Temp_Val_ro = (uint8_t) ( (_d[5] & (0x7FU)) );
#ifdef CANDB_USE_SIGFLOAT
_m->eTXV_eeChiller_Temp_Val_phys = (int8_t) CANDB_eTXV_eeChiller_Temp_Val_ro_fromS(_m->eTXV_eeChiller_Temp_Val_ro);
#endif // CANDB_USE_SIGFLOAT
_m->CCU_VCU_Msg2_RC = (uint8_t) ( ((_d[7] >> 4U) & (0x0FU)) );
#ifdef CANDB_USE_DIAG_MONITORS
_m->mon1.dlc_error = (dlc_ < CCU_VCU_Msg2_DLC);
_m->mon1.last_cycle = GetSystemTick();
_m->mon1.frame_cnt++;
FMon_CCU_VCU_Msg2_candb(&_m->mon1, CCU_VCU_Msg2_CANID);
#endif // CANDB_USE_DIAG_MONITORS
return CCU_VCU_Msg2_CANID;
}
#ifdef CANDB_USE_CANSTRUCT
uint32_t Pack_CCU_VCU_Msg2_candb(CCU_VCU_Msg2_t* _m, __CoderDbcCanFrame_t__* cframe)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(CCU_VCU_Msg2_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE);
#ifdef CANDB_USE_SIGFLOAT
_m->eTXV_batChiller_Pressure_Val_ro = (uint8_t) CANDB_eTXV_batChiller_Pressure_Val_ro_toS(_m->eTXV_batChiller_Pressure_Val_phys);
_m->eTXV_batChiller_Temp_Val_ro = (uint8_t) CANDB_eTXV_batChiller_Temp_Val_ro_toS(_m->eTXV_batChiller_Temp_Val_phys);
_m->eTXV_eeChiller_Pressure_Val_ro = (uint8_t) CANDB_eTXV_eeChiller_Pressure_Val_ro_toS(_m->eTXV_eeChiller_Pressure_Val_phys);
_m->eTXV_eeChiller_Temp_Val_ro = (uint8_t) CANDB_eTXV_eeChiller_Temp_Val_ro_toS(_m->eTXV_eeChiller_Temp_Val_phys);
#endif // CANDB_USE_SIGFLOAT
cframe->Data[0] |= (uint8_t) ( (_m->eTXV_batChiller_Pos_Stat & (0x7FU)) );
cframe->Data[1] |= (uint8_t) ( (_m->eTXV_batChiller_Err_Stat & (0x03U)) | ((_m->eTXV_batChiller_Pressure_Val_ro & (0x3FU)) << 2U) );
cframe->Data[2] |= (uint8_t) ( (_m->eTXV_batChiller_Temp_Val_ro & (0x7FU)) );
cframe->Data[3] |= (uint8_t) ( (_m->eTXV_eeChiller_Pos_Stat & (0x7FU)) );
cframe->Data[4] |= (uint8_t) ( (_m->eTXV_eeChiller_Err_Stat & (0x03U)) | ((_m->eTXV_eeChiller_Pressure_Val_ro & (0x3FU)) << 2U) );
cframe->Data[5] |= (uint8_t) ( (_m->eTXV_eeChiller_Temp_Val_ro & (0x7FU)) );
cframe->Data[7] |= (uint8_t) ( ((_m->CCU_VCU_Msg2_RC & (0x0FU)) << 4U) );
cframe->MsgId = (uint32_t) CCU_VCU_Msg2_CANID;
cframe->DLC = (uint8_t) CCU_VCU_Msg2_DLC;
cframe->IDE = (uint8_t) CCU_VCU_Msg2_IDE;
return CCU_VCU_Msg2_CANID;
}
#else
uint32_t Pack_CCU_VCU_Msg2_candb(CCU_VCU_Msg2_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(CCU_VCU_Msg2_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE);
#ifdef CANDB_USE_SIGFLOAT
_m->eTXV_batChiller_Pressure_Val_ro = (uint8_t) CANDB_eTXV_batChiller_Pressure_Val_ro_toS(_m->eTXV_batChiller_Pressure_Val_phys);
_m->eTXV_batChiller_Temp_Val_ro = (uint8_t) CANDB_eTXV_batChiller_Temp_Val_ro_toS(_m->eTXV_batChiller_Temp_Val_phys);
_m->eTXV_eeChiller_Pressure_Val_ro = (uint8_t) CANDB_eTXV_eeChiller_Pressure_Val_ro_toS(_m->eTXV_eeChiller_Pressure_Val_phys);
_m->eTXV_eeChiller_Temp_Val_ro = (uint8_t) CANDB_eTXV_eeChiller_Temp_Val_ro_toS(_m->eTXV_eeChiller_Temp_Val_phys);
#endif // CANDB_USE_SIGFLOAT
_d[0] |= (uint8_t) ( (_m->eTXV_batChiller_Pos_Stat & (0x7FU)) );
_d[1] |= (uint8_t) ( (_m->eTXV_batChiller_Err_Stat & (0x03U)) | ((_m->eTXV_batChiller_Pressure_Val_ro & (0x3FU)) << 2U) );
_d[2] |= (uint8_t) ( (_m->eTXV_batChiller_Temp_Val_ro & (0x7FU)) );
_d[3] |= (uint8_t) ( (_m->eTXV_eeChiller_Pos_Stat & (0x7FU)) );
_d[4] |= (uint8_t) ( (_m->eTXV_eeChiller_Err_Stat & (0x03U)) | ((_m->eTXV_eeChiller_Pressure_Val_ro & (0x3FU)) << 2U) );
_d[5] |= (uint8_t) ( (_m->eTXV_eeChiller_Temp_Val_ro & (0x7FU)) );
_d[7] |= (uint8_t) ( ((_m->CCU_VCU_Msg2_RC & (0x0FU)) << 4U) );
*_len = (uint8_t) CCU_VCU_Msg2_DLC;
*_ide = (uint8_t) CCU_VCU_Msg2_IDE;
return CCU_VCU_Msg2_CANID;
}
#endif // CANDB_USE_CANSTRUCT
uint32_t Unpack_BCM_CLIMATIC_DATA_candb(BCM_CLIMATIC_DATA_t* _m, const uint8_t* _d, uint8_t dlc_)
{
(void)dlc_;
_m->SolarSensRightVal_ro = (uint8_t) ( (_d[0] & (0xFFU)) );
#ifdef CANDB_USE_SIGFLOAT
_m->SolarSensRightVal_phys = (sigfloat_t)(CANDB_SolarSensRightVal_ro_fromS(_m->SolarSensRightVal_ro));
#endif // CANDB_USE_SIGFLOAT
_m->FrontWindowHeating_Status = (uint8_t) ( ((_d[1] >> 1U) & (0x01U)) );
_m->RearWindowHeating_Status = (uint8_t) ( ((_d[1] >> 2U) & (0x01U)) );
_m->SolarSensLeftVal_ro = (uint8_t) ( (_d[2] & (0xFFU)) );
#ifdef CANDB_USE_SIGFLOAT
_m->SolarSensLeftVal_phys = (sigfloat_t)(CANDB_SolarSensLeftVal_ro_fromS(_m->SolarSensLeftVal_ro));
#endif // CANDB_USE_SIGFLOAT
_m->SideWindowHeating_Status = (uint8_t) ( (_d[3] & (0x01U)) );
_m->BCM_SideWindowType_Stat = (uint8_t) ( ((_d[3] >> 3U) & (0x01U)) );
_m->BCM_WindowWashingSt = (uint8_t) ( ((_d[3] >> 5U) & (0x01U)) );
_m->BCM_GloveBox_Stat = (uint8_t) ( ((_d[3] >> 6U) & (0x01U)) );
_m->WindshieldTemp_ro = (uint8_t) ( (_d[4] & (0xFFU)) );
#ifdef CANDB_USE_SIGFLOAT
_m->WindshieldTemp_phys = (sigfloat_t)(CANDB_WindshieldTemp_ro_fromS(_m->WindshieldTemp_ro));
#endif // CANDB_USE_SIGFLOAT
_m->WindshieldHumidity_ro = (uint8_t) ( (_d[5] & (0xFFU)) );
#ifdef CANDB_USE_SIGFLOAT
_m->WindshieldHumidity_phys = (sigfloat_t)(CANDB_WindshieldHumidity_ro_fromS(_m->WindshieldHumidity_ro));
#endif // CANDB_USE_SIGFLOAT
#ifdef CANDB_USE_DIAG_MONITORS
_m->mon1.dlc_error = (dlc_ < BCM_CLIMATIC_DATA_DLC);
_m->mon1.last_cycle = GetSystemTick();
_m->mon1.frame_cnt++;
FMon_BCM_CLIMATIC_DATA_candb(&_m->mon1, BCM_CLIMATIC_DATA_CANID);
#endif // CANDB_USE_DIAG_MONITORS
return BCM_CLIMATIC_DATA_CANID;
}
#ifdef CANDB_USE_CANSTRUCT
uint32_t Pack_BCM_CLIMATIC_DATA_candb(BCM_CLIMATIC_DATA_t* _m, __CoderDbcCanFrame_t__* cframe)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(BCM_CLIMATIC_DATA_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE);
#ifdef CANDB_USE_SIGFLOAT
_m->SolarSensRightVal_ro = (uint8_t) CANDB_SolarSensRightVal_ro_toS(_m->SolarSensRightVal_phys);
_m->SolarSensLeftVal_ro = (uint8_t) CANDB_SolarSensLeftVal_ro_toS(_m->SolarSensLeftVal_phys);
_m->WindshieldTemp_ro = (uint8_t) CANDB_WindshieldTemp_ro_toS(_m->WindshieldTemp_phys);
_m->WindshieldHumidity_ro = (uint8_t) CANDB_WindshieldHumidity_ro_toS(_m->WindshieldHumidity_phys);
#endif // CANDB_USE_SIGFLOAT
cframe->Data[0] |= (uint8_t) ( (_m->SolarSensRightVal_ro & (0xFFU)) );
cframe->Data[1] |= (uint8_t) ( ((_m->FrontWindowHeating_Status & (0x01U)) << 1U) | ((_m->RearWindowHeating_Status & (0x01U)) << 2U) );
cframe->Data[2] |= (uint8_t) ( (_m->SolarSensLeftVal_ro & (0xFFU)) );
cframe->Data[3] |= (uint8_t) ( (_m->SideWindowHeating_Status & (0x01U)) | ((_m->BCM_SideWindowType_Stat & (0x01U)) << 3U) | ((_m->BCM_WindowWashingSt & (0x01U)) << 5U) | ((_m->BCM_GloveBox_Stat & (0x01U)) << 6U) );
cframe->Data[4] |= (uint8_t) ( (_m->WindshieldTemp_ro & (0xFFU)) );
cframe->Data[5] |= (uint8_t) ( (_m->WindshieldHumidity_ro & (0xFFU)) );
cframe->MsgId = (uint32_t) BCM_CLIMATIC_DATA_CANID;
cframe->DLC = (uint8_t) BCM_CLIMATIC_DATA_DLC;
cframe->IDE = (uint8_t) BCM_CLIMATIC_DATA_IDE;
return BCM_CLIMATIC_DATA_CANID;
}
#else
uint32_t Pack_BCM_CLIMATIC_DATA_candb(BCM_CLIMATIC_DATA_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(BCM_CLIMATIC_DATA_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE);
#ifdef CANDB_USE_SIGFLOAT
_m->SolarSensRightVal_ro = (uint8_t) CANDB_SolarSensRightVal_ro_toS(_m->SolarSensRightVal_phys);
_m->SolarSensLeftVal_ro = (uint8_t) CANDB_SolarSensLeftVal_ro_toS(_m->SolarSensLeftVal_phys);
_m->WindshieldTemp_ro = (uint8_t) CANDB_WindshieldTemp_ro_toS(_m->WindshieldTemp_phys);
_m->WindshieldHumidity_ro = (uint8_t) CANDB_WindshieldHumidity_ro_toS(_m->WindshieldHumidity_phys);
#endif // CANDB_USE_SIGFLOAT
_d[0] |= (uint8_t) ( (_m->SolarSensRightVal_ro & (0xFFU)) );
_d[1] |= (uint8_t) ( ((_m->FrontWindowHeating_Status & (0x01U)) << 1U) | ((_m->RearWindowHeating_Status & (0x01U)) << 2U) );
_d[2] |= (uint8_t) ( (_m->SolarSensLeftVal_ro & (0xFFU)) );
_d[3] |= (uint8_t) ( (_m->SideWindowHeating_Status & (0x01U)) | ((_m->BCM_SideWindowType_Stat & (0x01U)) << 3U) | ((_m->BCM_WindowWashingSt & (0x01U)) << 5U) | ((_m->BCM_GloveBox_Stat & (0x01U)) << 6U) );
_d[4] |= (uint8_t) ( (_m->WindshieldTemp_ro & (0xFFU)) );
_d[5] |= (uint8_t) ( (_m->WindshieldHumidity_ro & (0xFFU)) );
*_len = (uint8_t) BCM_CLIMATIC_DATA_DLC;
*_ide = (uint8_t) BCM_CLIMATIC_DATA_IDE;
return BCM_CLIMATIC_DATA_CANID;
}
#endif // CANDB_USE_CANSTRUCT
uint32_t Unpack_CCU_Msg1_candb(CCU_Msg1_t* _m, const uint8_t* _d, uint8_t dlc_)
{
(void)dlc_;
_m->CCU_MirrorHeating_Req = (uint8_t) ( (_d[0] & (0x03U)) );
_m->CCU_RecirculationLed_Cmd = (uint8_t) ( ((_d[0] >> 2U) & (0x01U)) );
_m->CCU_DefrostLed_Req = (uint8_t) ( ((_d[0] >> 3U) & (0x01U)) );
_m->CCU_SideWindowHeating_Req = (uint8_t) ( ((_d[0] >> 4U) & (0x03U)) );
_m->CCU_RearWindowHeating_Req = (uint8_t) ( ((_d[0] >> 6U) & (0x03U)) );
_m->CCU_FrontWindowHeating_Req = (uint8_t) ( (_d[1] & (0x03U)) );
_m->CCU_EmergAirCleaning_Stat = (uint8_t) ( ((_d[1] >> 2U) & (0x01U)) );
_m->CCU_FireExtinguishSys_Stat = (uint8_t) ( ((_d[1] >> 3U) & (0x01U)) );
_m->CCU_FLAutoPsngrLed_Cmd = (uint8_t) ( (_d[3] & (0x01U)) );
_m->CCU_FRAutoPsngrLed_Cmd = (uint8_t) ( ((_d[3] >> 1U) & (0x01U)) );
_m->CCU_RLAutoPsngrLed_Cmd = (uint8_t) ( ((_d[3] >> 2U) & (0x01U)) );
_m->CCU_RRAutoPsngrLed_Cmd = (uint8_t) ( ((_d[3] >> 3U) & (0x01U)) );
_m->CCU_AC_MaxLed_Cmd = (uint8_t) ( ((_d[3] >> 4U) & (0x01U)) );
_m->CCU_MSG1_RC = (uint8_t) ( ((_d[6] >> 4U) & (0x0FU)) );
_m->CCU_MSG1_CS = (uint8_t) ( (_d[7] & (0xFFU)) );
#ifdef CANDB_USE_DIAG_MONITORS
_m->mon1.dlc_error = (dlc_ < CCU_Msg1_DLC);
_m->mon1.last_cycle = GetSystemTick();
_m->mon1.frame_cnt++;
FMon_CCU_Msg1_candb(&_m->mon1, CCU_Msg1_CANID);
#endif // CANDB_USE_DIAG_MONITORS
return CCU_Msg1_CANID;
}
#ifdef CANDB_USE_CANSTRUCT
uint32_t Pack_CCU_Msg1_candb(CCU_Msg1_t* _m, __CoderDbcCanFrame_t__* cframe)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(CCU_Msg1_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE);
cframe->Data[0] |= (uint8_t) ( (_m->CCU_MirrorHeating_Req & (0x03U)) | ((_m->CCU_RecirculationLed_Cmd & (0x01U)) << 2U) | ((_m->CCU_DefrostLed_Req & (0x01U)) << 3U) | ((_m->CCU_SideWindowHeating_Req & (0x03U)) << 4U) | ((_m->CCU_RearWindowHeating_Req & (0x03U)) << 6U) );
cframe->Data[1] |= (uint8_t) ( (_m->CCU_FrontWindowHeating_Req & (0x03U)) | ((_m->CCU_EmergAirCleaning_Stat & (0x01U)) << 2U) | ((_m->CCU_FireExtinguishSys_Stat & (0x01U)) << 3U) );
cframe->Data[3] |= (uint8_t) ( (_m->CCU_FLAutoPsngrLed_Cmd & (0x01U)) | ((_m->CCU_FRAutoPsngrLed_Cmd & (0x01U)) << 1U) | ((_m->CCU_RLAutoPsngrLed_Cmd & (0x01U)) << 2U) | ((_m->CCU_RRAutoPsngrLed_Cmd & (0x01U)) << 3U) | ((_m->CCU_AC_MaxLed_Cmd & (0x01U)) << 4U) );
cframe->Data[6] |= (uint8_t) ( ((_m->CCU_MSG1_RC & (0x0FU)) << 4U) );
cframe->Data[7] |= (uint8_t) ( (_m->CCU_MSG1_CS & (0xFFU)) );
cframe->MsgId = (uint32_t) CCU_Msg1_CANID;
cframe->DLC = (uint8_t) CCU_Msg1_DLC;
cframe->IDE = (uint8_t) CCU_Msg1_IDE;
return CCU_Msg1_CANID;
}
#else
uint32_t Pack_CCU_Msg1_candb(CCU_Msg1_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(CCU_Msg1_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE);
_d[0] |= (uint8_t) ( (_m->CCU_MirrorHeating_Req & (0x03U)) | ((_m->CCU_RecirculationLed_Cmd & (0x01U)) << 2U) | ((_m->CCU_DefrostLed_Req & (0x01U)) << 3U) | ((_m->CCU_SideWindowHeating_Req & (0x03U)) << 4U) | ((_m->CCU_RearWindowHeating_Req & (0x03U)) << 6U) );
_d[1] |= (uint8_t) ( (_m->CCU_FrontWindowHeating_Req & (0x03U)) | ((_m->CCU_EmergAirCleaning_Stat & (0x01U)) << 2U) | ((_m->CCU_FireExtinguishSys_Stat & (0x01U)) << 3U) );
_d[3] |= (uint8_t) ( (_m->CCU_FLAutoPsngrLed_Cmd & (0x01U)) | ((_m->CCU_FRAutoPsngrLed_Cmd & (0x01U)) << 1U) | ((_m->CCU_RLAutoPsngrLed_Cmd & (0x01U)) << 2U) | ((_m->CCU_RRAutoPsngrLed_Cmd & (0x01U)) << 3U) | ((_m->CCU_AC_MaxLed_Cmd & (0x01U)) << 4U) );
_d[6] |= (uint8_t) ( ((_m->CCU_MSG1_RC & (0x0FU)) << 4U) );
_d[7] |= (uint8_t) ( (_m->CCU_MSG1_CS & (0xFFU)) );
*_len = (uint8_t) CCU_Msg1_DLC;
*_ide = (uint8_t) CCU_Msg1_IDE;
return CCU_Msg1_CANID;
}
#endif // CANDB_USE_CANSTRUCT
uint32_t Unpack_VCU_CCU_Req_candb(VCU_CCU_Req_t* _m, const uint8_t* _d, uint8_t dlc_)
{
(void)dlc_;
_m->VCU_eTXV_batChiller_Pos_Req = (uint8_t) ( (_d[0] & (0x7FU)) );
_m->VCU_eTXV_eeChiller_Pos_Req = (uint8_t) ( (_d[1] & (0x7FU)) );
_m->VCU_LiquidHeaterCurrentTemp_Stat_ro = (uint8_t) ( (_d[2] & (0xFFU)) );
#ifdef CANDB_USE_SIGFLOAT
_m->VCU_LiquidHeaterCurrentTemp_Stat_phys = (sigfloat_t)(CANDB_VCU_LiquidHeaterCurrentTemp_Stat_ro_fromS(_m->VCU_LiquidHeaterCurrentTemp_Stat_ro));
#endif // CANDB_USE_SIGFLOAT
_m->VCU_CCU_Req_RC = (uint8_t) ( (_d[3] & (0x0FU)) );
#ifdef CANDB_USE_DIAG_MONITORS
_m->mon1.dlc_error = (dlc_ < VCU_CCU_Req_DLC);
_m->mon1.last_cycle = GetSystemTick();
_m->mon1.frame_cnt++;
FMon_VCU_CCU_Req_candb(&_m->mon1, VCU_CCU_Req_CANID);
#endif // CANDB_USE_DIAG_MONITORS
return VCU_CCU_Req_CANID;
}
#ifdef CANDB_USE_CANSTRUCT
uint32_t Pack_VCU_CCU_Req_candb(VCU_CCU_Req_t* _m, __CoderDbcCanFrame_t__* cframe)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(VCU_CCU_Req_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE);
#ifdef CANDB_USE_SIGFLOAT
_m->VCU_LiquidHeaterCurrentTemp_Stat_ro = (uint8_t) CANDB_VCU_LiquidHeaterCurrentTemp_Stat_ro_toS(_m->VCU_LiquidHeaterCurrentTemp_Stat_phys);
#endif // CANDB_USE_SIGFLOAT
cframe->Data[0] |= (uint8_t) ( (_m->VCU_eTXV_batChiller_Pos_Req & (0x7FU)) );
cframe->Data[1] |= (uint8_t) ( (_m->VCU_eTXV_eeChiller_Pos_Req & (0x7FU)) );
cframe->Data[2] |= (uint8_t) ( (_m->VCU_LiquidHeaterCurrentTemp_Stat_ro & (0xFFU)) );
cframe->Data[3] |= (uint8_t) ( (_m->VCU_CCU_Req_RC & (0x0FU)) );
cframe->MsgId = (uint32_t) VCU_CCU_Req_CANID;
cframe->DLC = (uint8_t) VCU_CCU_Req_DLC;
cframe->IDE = (uint8_t) VCU_CCU_Req_IDE;
return VCU_CCU_Req_CANID;
}
#else
uint32_t Pack_VCU_CCU_Req_candb(VCU_CCU_Req_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(VCU_CCU_Req_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE);
#ifdef CANDB_USE_SIGFLOAT
_m->VCU_LiquidHeaterCurrentTemp_Stat_ro = (uint8_t) CANDB_VCU_LiquidHeaterCurrentTemp_Stat_ro_toS(_m->VCU_LiquidHeaterCurrentTemp_Stat_phys);
#endif // CANDB_USE_SIGFLOAT
_d[0] |= (uint8_t) ( (_m->VCU_eTXV_batChiller_Pos_Req & (0x7FU)) );
_d[1] |= (uint8_t) ( (_m->VCU_eTXV_eeChiller_Pos_Req & (0x7FU)) );
_d[2] |= (uint8_t) ( (_m->VCU_LiquidHeaterCurrentTemp_Stat_ro & (0xFFU)) );
_d[3] |= (uint8_t) ( (_m->VCU_CCU_Req_RC & (0x0FU)) );
*_len = (uint8_t) VCU_CCU_Req_DLC;
*_ide = (uint8_t) VCU_CCU_Req_IDE;
return VCU_CCU_Req_CANID;
}
#endif // CANDB_USE_CANSTRUCT
uint32_t Unpack_ESC_08_candb(ESC_08_t* _m, const uint8_t* _d, uint8_t dlc_)
{
(void)dlc_;
_m->ESC_Mileage_Val_ro = (uint32_t) ( ((_d[3] & (0x07U)) << 24U) | ((_d[2] & (0xFFU)) << 16U) | ((_d[1] & (0xFFU)) << 8U) | (_d[0] & (0xFFU)) );
#ifdef CANDB_USE_SIGFLOAT
_m->ESC_Mileage_Val_phys = (sigfloat_t)(CANDB_ESC_Mileage_Val_ro_fromS(_m->ESC_Mileage_Val_ro));
#endif // CANDB_USE_SIGFLOAT
_m->ESC_08_RC = (uint8_t) ( ((_d[3] >> 4U) & (0x0FU)) );
_m->ESC_08_CS = (uint8_t) ( (_d[4] & (0xFFU)) );
#ifdef CANDB_USE_DIAG_MONITORS
_m->mon1.dlc_error = (dlc_ < ESC_08_DLC);
_m->mon1.last_cycle = GetSystemTick();
_m->mon1.frame_cnt++;
FMon_ESC_08_candb(&_m->mon1, ESC_08_CANID);
#endif // CANDB_USE_DIAG_MONITORS
return ESC_08_CANID;
}
#ifdef CANDB_USE_CANSTRUCT
uint32_t Pack_ESC_08_candb(ESC_08_t* _m, __CoderDbcCanFrame_t__* cframe)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(ESC_08_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE);
#ifdef CANDB_USE_SIGFLOAT
_m->ESC_Mileage_Val_ro = (uint32_t) CANDB_ESC_Mileage_Val_ro_toS(_m->ESC_Mileage_Val_phys);
#endif // CANDB_USE_SIGFLOAT
cframe->Data[0] |= (uint8_t) ( (_m->ESC_Mileage_Val_ro & (0xFFU)) );
cframe->Data[1] |= (uint8_t) ( ((_m->ESC_Mileage_Val_ro >> 8U) & (0xFFU)) );
cframe->Data[2] |= (uint8_t) ( ((_m->ESC_Mileage_Val_ro >> 16U) & (0xFFU)) );
cframe->Data[3] |= (uint8_t) ( ((_m->ESC_Mileage_Val_ro >> 24U) & (0x07U)) | ((_m->ESC_08_RC & (0x0FU)) << 4U) );
cframe->Data[4] |= (uint8_t) ( (_m->ESC_08_CS & (0xFFU)) );
cframe->MsgId = (uint32_t) ESC_08_CANID;
cframe->DLC = (uint8_t) ESC_08_DLC;
cframe->IDE = (uint8_t) ESC_08_IDE;
return ESC_08_CANID;
}
#else
uint32_t Pack_ESC_08_candb(ESC_08_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(ESC_08_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE);
#ifdef CANDB_USE_SIGFLOAT
_m->ESC_Mileage_Val_ro = (uint32_t) CANDB_ESC_Mileage_Val_ro_toS(_m->ESC_Mileage_Val_phys);
#endif // CANDB_USE_SIGFLOAT
_d[0] |= (uint8_t) ( (_m->ESC_Mileage_Val_ro & (0xFFU)) );
_d[1] |= (uint8_t) ( ((_m->ESC_Mileage_Val_ro >> 8U) & (0xFFU)) );
_d[2] |= (uint8_t) ( ((_m->ESC_Mileage_Val_ro >> 16U) & (0xFFU)) );
_d[3] |= (uint8_t) ( ((_m->ESC_Mileage_Val_ro >> 24U) & (0x07U)) | ((_m->ESC_08_RC & (0x0FU)) << 4U) );
_d[4] |= (uint8_t) ( (_m->ESC_08_CS & (0xFFU)) );
*_len = (uint8_t) ESC_08_DLC;
*_ide = (uint8_t) ESC_08_IDE;
return ESC_08_CANID;
}
#endif // CANDB_USE_CANSTRUCT
uint32_t Unpack_SMFL_status_candb(SMFL_status_t* _m, const uint8_t* _d, uint8_t dlc_)
{
(void)dlc_;
_m->SMFL_CarpetHeat_Stat = (uint8_t) ( ((_d[6] >> 1U) & (0x01U)) );
#ifdef CANDB_USE_DIAG_MONITORS
_m->mon1.dlc_error = (dlc_ < SMFL_status_DLC);
_m->mon1.last_cycle = GetSystemTick();
_m->mon1.frame_cnt++;
FMon_SMFL_status_candb(&_m->mon1, SMFL_status_CANID);
#endif // CANDB_USE_DIAG_MONITORS
return SMFL_status_CANID;
}
#ifdef CANDB_USE_CANSTRUCT
uint32_t Pack_SMFL_status_candb(SMFL_status_t* _m, __CoderDbcCanFrame_t__* cframe)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(SMFL_status_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE);
cframe->Data[6] |= (uint8_t) ( ((_m->SMFL_CarpetHeat_Stat & (0x01U)) << 1U) );
cframe->MsgId = (uint32_t) SMFL_status_CANID;
cframe->DLC = (uint8_t) SMFL_status_DLC;
cframe->IDE = (uint8_t) SMFL_status_IDE;
return SMFL_status_CANID;
}
#else
uint32_t Pack_SMFL_status_candb(SMFL_status_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(SMFL_status_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE);
_d[6] |= (uint8_t) ( ((_m->SMFL_CarpetHeat_Stat & (0x01U)) << 1U) );
*_len = (uint8_t) SMFL_status_DLC;
*_ide = (uint8_t) SMFL_status_IDE;
return SMFL_status_CANID;
}
#endif // CANDB_USE_CANSTRUCT
uint32_t Unpack_SMFR_status_candb(SMFR_status_t* _m, const uint8_t* _d, uint8_t dlc_)
{
(void)dlc_;
_m->SMFR_CarpetHeat_Stat = (uint8_t) ( ((_d[6] >> 1U) & (0x01U)) );
#ifdef CANDB_USE_DIAG_MONITORS
_m->mon1.dlc_error = (dlc_ < SMFR_status_DLC);
_m->mon1.last_cycle = GetSystemTick();
_m->mon1.frame_cnt++;
FMon_SMFR_status_candb(&_m->mon1, SMFR_status_CANID);
#endif // CANDB_USE_DIAG_MONITORS
return SMFR_status_CANID;
}
#ifdef CANDB_USE_CANSTRUCT
uint32_t Pack_SMFR_status_candb(SMFR_status_t* _m, __CoderDbcCanFrame_t__* cframe)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(SMFR_status_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE);
cframe->Data[6] |= (uint8_t) ( ((_m->SMFR_CarpetHeat_Stat & (0x01U)) << 1U) );
cframe->MsgId = (uint32_t) SMFR_status_CANID;
cframe->DLC = (uint8_t) SMFR_status_DLC;
cframe->IDE = (uint8_t) SMFR_status_IDE;
return SMFR_status_CANID;
}
#else
uint32_t Pack_SMFR_status_candb(SMFR_status_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(SMFR_status_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE);
_d[6] |= (uint8_t) ( ((_m->SMFR_CarpetHeat_Stat & (0x01U)) << 1U) );
*_len = (uint8_t) SMFR_status_DLC;
*_ide = (uint8_t) SMFR_status_IDE;
return SMFR_status_CANID;
}
#endif // CANDB_USE_CANSTRUCT
uint32_t Unpack_SMRL_status_candb(SMRL_status_t* _m, const uint8_t* _d, uint8_t dlc_)
{
(void)dlc_;
_m->SMRL_CarpetHeat_Stat = (uint8_t) ( ((_d[6] >> 1U) & (0x01U)) );
#ifdef CANDB_USE_DIAG_MONITORS
_m->mon1.dlc_error = (dlc_ < SMRL_status_DLC);
_m->mon1.last_cycle = GetSystemTick();
_m->mon1.frame_cnt++;
FMon_SMRL_status_candb(&_m->mon1, SMRL_status_CANID);
#endif // CANDB_USE_DIAG_MONITORS
return SMRL_status_CANID;
}
#ifdef CANDB_USE_CANSTRUCT
uint32_t Pack_SMRL_status_candb(SMRL_status_t* _m, __CoderDbcCanFrame_t__* cframe)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(SMRL_status_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE);
cframe->Data[6] |= (uint8_t) ( ((_m->SMRL_CarpetHeat_Stat & (0x01U)) << 1U) );
cframe->MsgId = (uint32_t) SMRL_status_CANID;
cframe->DLC = (uint8_t) SMRL_status_DLC;
cframe->IDE = (uint8_t) SMRL_status_IDE;
return SMRL_status_CANID;
}
#else
uint32_t Pack_SMRL_status_candb(SMRL_status_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(SMRL_status_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE);
_d[6] |= (uint8_t) ( ((_m->SMRL_CarpetHeat_Stat & (0x01U)) << 1U) );
*_len = (uint8_t) SMRL_status_DLC;
*_ide = (uint8_t) SMRL_status_IDE;
return SMRL_status_CANID;
}
#endif // CANDB_USE_CANSTRUCT
uint32_t Unpack_SMRR_status_candb(SMRR_status_t* _m, const uint8_t* _d, uint8_t dlc_)
{
(void)dlc_;
_m->SMRR_CarpetHeat_Stat = (uint8_t) ( ((_d[6] >> 1U) & (0x01U)) );
#ifdef CANDB_USE_DIAG_MONITORS
_m->mon1.dlc_error = (dlc_ < SMRR_status_DLC);
_m->mon1.last_cycle = GetSystemTick();
_m->mon1.frame_cnt++;
FMon_SMRR_status_candb(&_m->mon1, SMRR_status_CANID);
#endif // CANDB_USE_DIAG_MONITORS
return SMRR_status_CANID;
}
#ifdef CANDB_USE_CANSTRUCT
uint32_t Pack_SMRR_status_candb(SMRR_status_t* _m, __CoderDbcCanFrame_t__* cframe)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(SMRR_status_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE);
cframe->Data[6] |= (uint8_t) ( ((_m->SMRR_CarpetHeat_Stat & (0x01U)) << 1U) );
cframe->MsgId = (uint32_t) SMRR_status_CANID;
cframe->DLC = (uint8_t) SMRR_status_DLC;
cframe->IDE = (uint8_t) SMRR_status_IDE;
return SMRR_status_CANID;
}
#else
uint32_t Pack_SMRR_status_candb(SMRR_status_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(SMRR_status_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE);
_d[6] |= (uint8_t) ( ((_m->SMRR_CarpetHeat_Stat & (0x01U)) << 1U) );
*_len = (uint8_t) SMRR_status_DLC;
*_ide = (uint8_t) SMRR_status_IDE;
return SMRR_status_CANID;
}
#endif // CANDB_USE_CANSTRUCT
uint32_t Unpack_CCU_Errors_candb(CCU_Errors_t* _m, const uint8_t* _d, uint8_t dlc_)
{
(void)dlc_;
_m->CCU_IncarTempErrF_Stat = (uint8_t) ( (_d[0] & (0x01U)) );
_m->CCU_IncarTempErrR_Stat = (uint8_t) ( ((_d[0] >> 1U) & (0x01U)) );
_m->CCU_DuctTempSenErrF_Stat = (uint8_t) ( ((_d[0] >> 2U) & (0x01U)) );
_m->CCU_DuctTempSenErrR_Stat = (uint8_t) ( ((_d[0] >> 3U) & (0x01U)) );
_m->CCU_EvaTempSenErrF_Stat = (uint8_t) ( ((_d[0] >> 4U) & (0x01U)) );
_m->CCU_EvaTempSenErrR_Stat = (uint8_t) ( ((_d[0] >> 5U) & (0x01U)) );
_m->CCU_DeflectorSwErrF_Stat = (uint8_t) ( ((_d[0] >> 6U) & (0x01U)) );
_m->CCU_DeflectorSwErrR_Stat = (uint8_t) ( ((_d[0] >> 7U) & (0x01U)) );
_m->CCU_PressSenErr_Stat = (uint8_t) ( (_d[1] & (0x01U)) );
_m->CCU_AmbienTemptSenErr_Stat = (uint8_t) ( ((_d[1] >> 1U) & (0x01U)) );
_m->CCU_SealingValveErr_Stat = (uint8_t) ( ((_d[1] >> 2U) & (0x01U)) );
_m->CCU_ETXVerr_Stat = (uint8_t) ( ((_d[1] >> 3U) & (0x01U)) );
_m->CCU_HVACfanOrTXVerrF_Stat = (uint8_t) ( ((_d[1] >> 4U) & (0x01U)) );
_m->CCU_HVACfanOrTXVerrR_Stat = (uint8_t) ( ((_d[1] >> 5U) & (0x01U)) );
_m->CCU_ActuatorErrF_Stat = (uint8_t) ( ((_d[1] >> 6U) & (0x01U)) );
_m->CCU_ActuatorErrR_Stat = (uint8_t) ( ((_d[1] >> 7U) & (0x01U)) );
_m->CCU_UltravioletErr_Stat = (uint8_t) ( (_d[2] & (0x03U)) );
_m->CCU_VinRecordErr_Stat = (uint8_t) ( ((_d[2] >> 2U) & (0x01U)) );
_m->CCU_AirQualSenErr_Stat = (uint8_t) ( ((_d[2] >> 3U) & (0x07U)) );
_m->CCU_CommErr_Stat = (uint8_t) ( ((_d[2] >> 6U) & (0x01U)) );
_m->CCU_TWVerr_Stat = (uint8_t) ( ((_d[2] >> 7U) & (0x01U)) );
_m->CCU_IonizationErr_Stat = (uint8_t) ( (_d[3] & (0x07U)) );
_m->CCU_AromaErr_Stat = (uint8_t) ( ((_d[3] >> 3U) & (0x07U)) );
#ifdef CANDB_USE_DIAG_MONITORS
_m->mon1.dlc_error = (dlc_ < CCU_Errors_DLC);
_m->mon1.last_cycle = GetSystemTick();
_m->mon1.frame_cnt++;
FMon_CCU_Errors_candb(&_m->mon1, CCU_Errors_CANID);
#endif // CANDB_USE_DIAG_MONITORS
return CCU_Errors_CANID;
}
#ifdef CANDB_USE_CANSTRUCT
uint32_t Pack_CCU_Errors_candb(CCU_Errors_t* _m, __CoderDbcCanFrame_t__* cframe)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(CCU_Errors_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE);
cframe->Data[0] |= (uint8_t) ( (_m->CCU_IncarTempErrF_Stat & (0x01U)) | ((_m->CCU_IncarTempErrR_Stat & (0x01U)) << 1U) | ((_m->CCU_DuctTempSenErrF_Stat & (0x01U)) << 2U) | ((_m->CCU_DuctTempSenErrR_Stat & (0x01U)) << 3U) | ((_m->CCU_EvaTempSenErrF_Stat & (0x01U)) << 4U) | ((_m->CCU_EvaTempSenErrR_Stat & (0x01U)) << 5U) | ((_m->CCU_DeflectorSwErrF_Stat & (0x01U)) << 6U) | ((_m->CCU_DeflectorSwErrR_Stat & (0x01U)) << 7U) );
cframe->Data[1] |= (uint8_t) ( (_m->CCU_PressSenErr_Stat & (0x01U)) | ((_m->CCU_AmbienTemptSenErr_Stat & (0x01U)) << 1U) | ((_m->CCU_SealingValveErr_Stat & (0x01U)) << 2U) | ((_m->CCU_ETXVerr_Stat & (0x01U)) << 3U) | ((_m->CCU_HVACfanOrTXVerrF_Stat & (0x01U)) << 4U) | ((_m->CCU_HVACfanOrTXVerrR_Stat & (0x01U)) << 5U) | ((_m->CCU_ActuatorErrF_Stat & (0x01U)) << 6U) | ((_m->CCU_ActuatorErrR_Stat & (0x01U)) << 7U) );
cframe->Data[2] |= (uint8_t) ( (_m->CCU_UltravioletErr_Stat & (0x03U)) | ((_m->CCU_VinRecordErr_Stat & (0x01U)) << 2U) | ((_m->CCU_AirQualSenErr_Stat & (0x07U)) << 3U) | ((_m->CCU_CommErr_Stat & (0x01U)) << 6U) | ((_m->CCU_TWVerr_Stat & (0x01U)) << 7U) );
cframe->Data[3] |= (uint8_t) ( (_m->CCU_IonizationErr_Stat & (0x07U)) | ((_m->CCU_AromaErr_Stat & (0x07U)) << 3U) );
cframe->MsgId = (uint32_t) CCU_Errors_CANID;
cframe->DLC = (uint8_t) CCU_Errors_DLC;
cframe->IDE = (uint8_t) CCU_Errors_IDE;
return CCU_Errors_CANID;
}
#else
uint32_t Pack_CCU_Errors_candb(CCU_Errors_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(CCU_Errors_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE);
_d[0] |= (uint8_t) ( (_m->CCU_IncarTempErrF_Stat & (0x01U)) | ((_m->CCU_IncarTempErrR_Stat & (0x01U)) << 1U) | ((_m->CCU_DuctTempSenErrF_Stat & (0x01U)) << 2U) | ((_m->CCU_DuctTempSenErrR_Stat & (0x01U)) << 3U) | ((_m->CCU_EvaTempSenErrF_Stat & (0x01U)) << 4U) | ((_m->CCU_EvaTempSenErrR_Stat & (0x01U)) << 5U) | ((_m->CCU_DeflectorSwErrF_Stat & (0x01U)) << 6U) | ((_m->CCU_DeflectorSwErrR_Stat & (0x01U)) << 7U) );
_d[1] |= (uint8_t) ( (_m->CCU_PressSenErr_Stat & (0x01U)) | ((_m->CCU_AmbienTemptSenErr_Stat & (0x01U)) << 1U) | ((_m->CCU_SealingValveErr_Stat & (0x01U)) << 2U) | ((_m->CCU_ETXVerr_Stat & (0x01U)) << 3U) | ((_m->CCU_HVACfanOrTXVerrF_Stat & (0x01U)) << 4U) | ((_m->CCU_HVACfanOrTXVerrR_Stat & (0x01U)) << 5U) | ((_m->CCU_ActuatorErrF_Stat & (0x01U)) << 6U) | ((_m->CCU_ActuatorErrR_Stat & (0x01U)) << 7U) );
_d[2] |= (uint8_t) ( (_m->CCU_UltravioletErr_Stat & (0x03U)) | ((_m->CCU_VinRecordErr_Stat & (0x01U)) << 2U) | ((_m->CCU_AirQualSenErr_Stat & (0x07U)) << 3U) | ((_m->CCU_CommErr_Stat & (0x01U)) << 6U) | ((_m->CCU_TWVerr_Stat & (0x01U)) << 7U) );
_d[3] |= (uint8_t) ( (_m->CCU_IonizationErr_Stat & (0x07U)) | ((_m->CCU_AromaErr_Stat & (0x07U)) << 3U) );
*_len = (uint8_t) CCU_Errors_DLC;
*_ide = (uint8_t) CCU_Errors_IDE;
return CCU_Errors_CANID;
}
#endif // CANDB_USE_CANSTRUCT
uint32_t Unpack_CCU_Msg3_candb(CCU_Msg3_t* _m, const uint8_t* _d, uint8_t dlc_)
{
(void)dlc_;
_m->CCU_FAN_Req = (uint8_t) ( (_d[0] & (0x7FU)) );
_m->CCU_RestMode_Stat = (uint8_t) ( ((_d[1] >> 2U) & (0x03U)) );
_m->CCU_IncarTempSum_Val_ro = (uint8_t) ( (_d[2] & (0xFFU)) );
#ifdef CANDB_USE_SIGFLOAT
_m->CCU_IncarTempSum_Val_phys = (sigfloat_t)(CANDB_CCU_IncarTempSum_Val_ro_fromS(_m->CCU_IncarTempSum_Val_ro));
#endif // CANDB_USE_SIGFLOAT
_m->CCU_MSG3_RC = (uint8_t) ( (_d[3] & (0x0FU)) );
_m->CCU_MSG3_CS = (uint8_t) ( (_d[4] & (0xFFU)) );
#ifdef CANDB_USE_DIAG_MONITORS
_m->mon1.dlc_error = (dlc_ < CCU_Msg3_DLC);
_m->mon1.last_cycle = GetSystemTick();
_m->mon1.frame_cnt++;
FMon_CCU_Msg3_candb(&_m->mon1, CCU_Msg3_CANID);
#endif // CANDB_USE_DIAG_MONITORS
return CCU_Msg3_CANID;
}
#ifdef CANDB_USE_CANSTRUCT
uint32_t Pack_CCU_Msg3_candb(CCU_Msg3_t* _m, __CoderDbcCanFrame_t__* cframe)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(CCU_Msg3_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE);
#ifdef CANDB_USE_SIGFLOAT
_m->CCU_IncarTempSum_Val_ro = (uint8_t) CANDB_CCU_IncarTempSum_Val_ro_toS(_m->CCU_IncarTempSum_Val_phys);
#endif // CANDB_USE_SIGFLOAT
cframe->Data[0] |= (uint8_t) ( (_m->CCU_FAN_Req & (0x7FU)) );
cframe->Data[1] |= (uint8_t) ( ((_m->CCU_RestMode_Stat & (0x03U)) << 2U) );
cframe->Data[2] |= (uint8_t) ( (_m->CCU_IncarTempSum_Val_ro & (0xFFU)) );
cframe->Data[3] |= (uint8_t) ( (_m->CCU_MSG3_RC & (0x0FU)) );
cframe->Data[4] |= (uint8_t) ( (_m->CCU_MSG3_CS & (0xFFU)) );
cframe->MsgId = (uint32_t) CCU_Msg3_CANID;
cframe->DLC = (uint8_t) CCU_Msg3_DLC;
cframe->IDE = (uint8_t) CCU_Msg3_IDE;
return CCU_Msg3_CANID;
}
#else
uint32_t Pack_CCU_Msg3_candb(CCU_Msg3_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(CCU_Msg3_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE);
#ifdef CANDB_USE_SIGFLOAT
_m->CCU_IncarTempSum_Val_ro = (uint8_t) CANDB_CCU_IncarTempSum_Val_ro_toS(_m->CCU_IncarTempSum_Val_phys);
#endif // CANDB_USE_SIGFLOAT
_d[0] |= (uint8_t) ( (_m->CCU_FAN_Req & (0x7FU)) );
_d[1] |= (uint8_t) ( ((_m->CCU_RestMode_Stat & (0x03U)) << 2U) );
_d[2] |= (uint8_t) ( (_m->CCU_IncarTempSum_Val_ro & (0xFFU)) );
_d[3] |= (uint8_t) ( (_m->CCU_MSG3_RC & (0x0FU)) );
_d[4] |= (uint8_t) ( (_m->CCU_MSG3_CS & (0xFFU)) );
*_len = (uint8_t) CCU_Msg3_DLC;
*_ide = (uint8_t) CCU_Msg3_IDE;
return CCU_Msg3_CANID;
}
#endif // CANDB_USE_CANSTRUCT
uint32_t Unpack_SDM_Cmd_candb(SDM_Cmd_t* _m, const uint8_t* _d, uint8_t dlc_)
{
(void)dlc_;
_m->SDM_Aroma_Req = (uint8_t) ( ((_d[1] >> 6U) & (0x03U)) );
_m->SDM_AromaIntens_Req = (uint8_t) ( ((_d[2] >> 6U) & (0x03U)) );
#ifdef CANDB_USE_DIAG_MONITORS
_m->mon1.dlc_error = (dlc_ < SDM_Cmd_DLC);
_m->mon1.last_cycle = GetSystemTick();
_m->mon1.frame_cnt++;
FMon_SDM_Cmd_candb(&_m->mon1, SDM_Cmd_CANID);
#endif // CANDB_USE_DIAG_MONITORS
return SDM_Cmd_CANID;
}
#ifdef CANDB_USE_CANSTRUCT
uint32_t Pack_SDM_Cmd_candb(SDM_Cmd_t* _m, __CoderDbcCanFrame_t__* cframe)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(SDM_Cmd_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE);
cframe->Data[1] |= (uint8_t) ( ((_m->SDM_Aroma_Req & (0x03U)) << 6U) );
cframe->Data[2] |= (uint8_t) ( ((_m->SDM_AromaIntens_Req & (0x03U)) << 6U) );
cframe->MsgId = (uint32_t) SDM_Cmd_CANID;
cframe->DLC = (uint8_t) SDM_Cmd_DLC;
cframe->IDE = (uint8_t) SDM_Cmd_IDE;
return SDM_Cmd_CANID;
}
#else
uint32_t Pack_SDM_Cmd_candb(SDM_Cmd_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(SDM_Cmd_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE);
_d[1] |= (uint8_t) ( ((_m->SDM_Aroma_Req & (0x03U)) << 6U) );
_d[2] |= (uint8_t) ( ((_m->SDM_AromaIntens_Req & (0x03U)) << 6U) );
*_len = (uint8_t) SDM_Cmd_DLC;
*_ide = (uint8_t) SDM_Cmd_IDE;
return SDM_Cmd_CANID;
}
#endif // CANDB_USE_CANSTRUCT
uint32_t Unpack_VEH_VIN_candb(VEH_VIN_t* _m, const uint8_t* _d, uint8_t dlc_)
{
(void)dlc_;
_m->VIN_Addressing = (uint8_t) ( (_d[0] & (0x03U)) );
_m->VIN_Char1 = (uint8_t) ( (_d[1] & (0xFFU)) );
_m->VIN_Char8 = (uint8_t) ( (_d[1] & (0xFFU)) );
_m->VIN_Char15 = (uint8_t) ( (_d[1] & (0xFFU)) );
_m->VIN_Char16 = (uint8_t) ( (_d[2] & (0xFFU)) );
_m->VIN_Char2 = (uint8_t) ( (_d[2] & (0xFFU)) );
_m->VIN_Char9 = (uint8_t) ( (_d[2] & (0xFFU)) );
_m->VIN_Char10 = (uint8_t) ( (_d[3] & (0xFFU)) );
_m->VIN_Char17 = (uint8_t) ( (_d[3] & (0xFFU)) );
_m->VIN_Char3 = (uint8_t) ( (_d[3] & (0xFFU)) );
_m->VIN_Char4 = (uint8_t) ( (_d[4] & (0xFFU)) );
_m->VIN_Char11 = (uint8_t) ( (_d[4] & (0xFFU)) );
_m->VIN_Char12 = (uint8_t) ( (_d[5] & (0xFFU)) );
_m->VIN_Char5 = (uint8_t) ( (_d[5] & (0xFFU)) );
_m->VIN_Char6 = (uint8_t) ( (_d[6] & (0xFFU)) );
_m->VIN_Char13 = (uint8_t) ( (_d[6] & (0xFFU)) );
_m->VIN_Char7 = (uint8_t) ( (_d[7] & (0xFFU)) );
_m->VIN_Char14 = (uint8_t) ( (_d[7] & (0xFFU)) );
#ifdef CANDB_USE_DIAG_MONITORS
_m->mon1.dlc_error = (dlc_ < VEH_VIN_DLC);
_m->mon1.last_cycle = GetSystemTick();
_m->mon1.frame_cnt++;
FMon_VEH_VIN_candb(&_m->mon1, VEH_VIN_CANID);
#endif // CANDB_USE_DIAG_MONITORS
return VEH_VIN_CANID;
}
#ifdef CANDB_USE_CANSTRUCT
uint32_t Pack_VEH_VIN_candb(VEH_VIN_t* _m, __CoderDbcCanFrame_t__* cframe)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(VEH_VIN_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE);
cframe->Data[0] |= (uint8_t) ( (_m->VIN_Addressing & (0x03U)) );
cframe->Data[1] |= (uint8_t) ( (_m->VIN_Char1 & (0xFFU)) | (_m->VIN_Char8 & (0xFFU)) | (_m->VIN_Char15 & (0xFFU)) );
cframe->Data[2] |= (uint8_t) ( (_m->VIN_Char16 & (0xFFU)) | (_m->VIN_Char2 & (0xFFU)) | (_m->VIN_Char9 & (0xFFU)) );
cframe->Data[3] |= (uint8_t) ( (_m->VIN_Char10 & (0xFFU)) | (_m->VIN_Char17 & (0xFFU)) | (_m->VIN_Char3 & (0xFFU)) );
cframe->Data[4] |= (uint8_t) ( (_m->VIN_Char4 & (0xFFU)) | (_m->VIN_Char11 & (0xFFU)) );
cframe->Data[5] |= (uint8_t) ( (_m->VIN_Char12 & (0xFFU)) | (_m->VIN_Char5 & (0xFFU)) );
cframe->Data[6] |= (uint8_t) ( (_m->VIN_Char6 & (0xFFU)) | (_m->VIN_Char13 & (0xFFU)) );
cframe->Data[7] |= (uint8_t) ( (_m->VIN_Char7 & (0xFFU)) | (_m->VIN_Char14 & (0xFFU)) );
cframe->MsgId = (uint32_t) VEH_VIN_CANID;
cframe->DLC = (uint8_t) VEH_VIN_DLC;
cframe->IDE = (uint8_t) VEH_VIN_IDE;
return VEH_VIN_CANID;
}
#else
uint32_t Pack_VEH_VIN_candb(VEH_VIN_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(VEH_VIN_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE);
_d[0] |= (uint8_t) ( (_m->VIN_Addressing & (0x03U)) );
_d[1] |= (uint8_t) ( (_m->VIN_Char1 & (0xFFU)) | (_m->VIN_Char8 & (0xFFU)) | (_m->VIN_Char15 & (0xFFU)) );
_d[2] |= (uint8_t) ( (_m->VIN_Char16 & (0xFFU)) | (_m->VIN_Char2 & (0xFFU)) | (_m->VIN_Char9 & (0xFFU)) );
_d[3] |= (uint8_t) ( (_m->VIN_Char10 & (0xFFU)) | (_m->VIN_Char17 & (0xFFU)) | (_m->VIN_Char3 & (0xFFU)) );
_d[4] |= (uint8_t) ( (_m->VIN_Char4 & (0xFFU)) | (_m->VIN_Char11 & (0xFFU)) );
_d[5] |= (uint8_t) ( (_m->VIN_Char12 & (0xFFU)) | (_m->VIN_Char5 & (0xFFU)) );
_d[6] |= (uint8_t) ( (_m->VIN_Char6 & (0xFFU)) | (_m->VIN_Char13 & (0xFFU)) );
_d[7] |= (uint8_t) ( (_m->VIN_Char7 & (0xFFU)) | (_m->VIN_Char14 & (0xFFU)) );
*_len = (uint8_t) VEH_VIN_DLC;
*_ide = (uint8_t) VEH_VIN_IDE;
return VEH_VIN_CANID;
}
#endif // CANDB_USE_CANSTRUCT
uint32_t Unpack_OCUFL_MSG_candb(OCUFL_MSG_t* _m, const uint8_t* _d, uint8_t dlc_)
{
(void)dlc_;
_m->OCUFL_OccupantWeight_Stat = (uint8_t) ( (_d[0] & (0x03U)) );
_m->OCUFL_SeatOccupied_Stat = (uint8_t) ( ((_d[0] >> 2U) & (0x01U)) );
_m->OCUFL_SensorError_Stat = (uint8_t) ( ((_d[0] >> 3U) & (0x01U)) );
_m->OCUFL_MSG_RC = (uint8_t) ( ((_d[0] >> 4U) & (0x0FU)) );
_m->OCUFL_MSG_CS = (uint8_t) ( (_d[1] & (0xFFU)) );
#ifdef CANDB_USE_DIAG_MONITORS
_m->mon1.dlc_error = (dlc_ < OCUFL_MSG_DLC);
_m->mon1.last_cycle = GetSystemTick();
_m->mon1.frame_cnt++;
FMon_OCUFL_MSG_candb(&_m->mon1, OCUFL_MSG_CANID);
#endif // CANDB_USE_DIAG_MONITORS
return OCUFL_MSG_CANID;
}
#ifdef CANDB_USE_CANSTRUCT
uint32_t Pack_OCUFL_MSG_candb(OCUFL_MSG_t* _m, __CoderDbcCanFrame_t__* cframe)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(OCUFL_MSG_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE);
cframe->Data[0] |= (uint8_t) ( (_m->OCUFL_OccupantWeight_Stat & (0x03U)) | ((_m->OCUFL_SeatOccupied_Stat & (0x01U)) << 2U) | ((_m->OCUFL_SensorError_Stat & (0x01U)) << 3U) | ((_m->OCUFL_MSG_RC & (0x0FU)) << 4U) );
cframe->Data[1] |= (uint8_t) ( (_m->OCUFL_MSG_CS & (0xFFU)) );
cframe->MsgId = (uint32_t) OCUFL_MSG_CANID;
cframe->DLC = (uint8_t) OCUFL_MSG_DLC;
cframe->IDE = (uint8_t) OCUFL_MSG_IDE;
return OCUFL_MSG_CANID;
}
#else
uint32_t Pack_OCUFL_MSG_candb(OCUFL_MSG_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(OCUFL_MSG_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE);
_d[0] |= (uint8_t) ( (_m->OCUFL_OccupantWeight_Stat & (0x03U)) | ((_m->OCUFL_SeatOccupied_Stat & (0x01U)) << 2U) | ((_m->OCUFL_SensorError_Stat & (0x01U)) << 3U) | ((_m->OCUFL_MSG_RC & (0x0FU)) << 4U) );
_d[1] |= (uint8_t) ( (_m->OCUFL_MSG_CS & (0xFFU)) );
*_len = (uint8_t) OCUFL_MSG_DLC;
*_ide = (uint8_t) OCUFL_MSG_IDE;
return OCUFL_MSG_CANID;
}
#endif // CANDB_USE_CANSTRUCT
uint32_t Unpack_OCUFR_MSG_candb(OCUFR_MSG_t* _m, const uint8_t* _d, uint8_t dlc_)
{
(void)dlc_;
_m->OCUFR_OccupantWeight_Stat = (uint8_t) ( (_d[0] & (0x03U)) );
_m->OCUFR_SeatOccupied_Stat = (uint8_t) ( ((_d[0] >> 2U) & (0x01U)) );
_m->OCUFR_SensorError_Stat = (uint8_t) ( ((_d[0] >> 3U) & (0x01U)) );
_m->OCUFR_MSG_RC = (uint8_t) ( ((_d[0] >> 4U) & (0x0FU)) );
_m->OCUFR_MSG_CS = (uint8_t) ( (_d[1] & (0xFFU)) );
#ifdef CANDB_USE_DIAG_MONITORS
_m->mon1.dlc_error = (dlc_ < OCUFR_MSG_DLC);
_m->mon1.last_cycle = GetSystemTick();
_m->mon1.frame_cnt++;
FMon_OCUFR_MSG_candb(&_m->mon1, OCUFR_MSG_CANID);
#endif // CANDB_USE_DIAG_MONITORS
return OCUFR_MSG_CANID;
}
#ifdef CANDB_USE_CANSTRUCT
uint32_t Pack_OCUFR_MSG_candb(OCUFR_MSG_t* _m, __CoderDbcCanFrame_t__* cframe)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(OCUFR_MSG_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE);
cframe->Data[0] |= (uint8_t) ( (_m->OCUFR_OccupantWeight_Stat & (0x03U)) | ((_m->OCUFR_SeatOccupied_Stat & (0x01U)) << 2U) | ((_m->OCUFR_SensorError_Stat & (0x01U)) << 3U) | ((_m->OCUFR_MSG_RC & (0x0FU)) << 4U) );
cframe->Data[1] |= (uint8_t) ( (_m->OCUFR_MSG_CS & (0xFFU)) );
cframe->MsgId = (uint32_t) OCUFR_MSG_CANID;
cframe->DLC = (uint8_t) OCUFR_MSG_DLC;
cframe->IDE = (uint8_t) OCUFR_MSG_IDE;
return OCUFR_MSG_CANID;
}
#else
uint32_t Pack_OCUFR_MSG_candb(OCUFR_MSG_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(OCUFR_MSG_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE);
_d[0] |= (uint8_t) ( (_m->OCUFR_OccupantWeight_Stat & (0x03U)) | ((_m->OCUFR_SeatOccupied_Stat & (0x01U)) << 2U) | ((_m->OCUFR_SensorError_Stat & (0x01U)) << 3U) | ((_m->OCUFR_MSG_RC & (0x0FU)) << 4U) );
_d[1] |= (uint8_t) ( (_m->OCUFR_MSG_CS & (0xFFU)) );
*_len = (uint8_t) OCUFR_MSG_DLC;
*_ide = (uint8_t) OCUFR_MSG_IDE;
return OCUFR_MSG_CANID;
}
#endif // CANDB_USE_CANSTRUCT
uint32_t Unpack_OCURL_MSG_candb(OCURL_MSG_t* _m, const uint8_t* _d, uint8_t dlc_)
{
(void)dlc_;
_m->OCURL_OccupantWeight_Stat = (uint8_t) ( (_d[0] & (0x03U)) );
_m->OCURL_SeatOccupied_Stat = (uint8_t) ( ((_d[0] >> 2U) & (0x01U)) );
_m->OCURL_SensorError_Stat = (uint8_t) ( ((_d[0] >> 3U) & (0x01U)) );
_m->OCURL_MSG_RC = (uint8_t) ( ((_d[0] >> 4U) & (0x0FU)) );
_m->OCURL_MSG_CS = (uint8_t) ( (_d[1] & (0xFFU)) );
#ifdef CANDB_USE_DIAG_MONITORS
_m->mon1.dlc_error = (dlc_ < OCURL_MSG_DLC);
_m->mon1.last_cycle = GetSystemTick();
_m->mon1.frame_cnt++;
FMon_OCURL_MSG_candb(&_m->mon1, OCURL_MSG_CANID);
#endif // CANDB_USE_DIAG_MONITORS
return OCURL_MSG_CANID;
}
#ifdef CANDB_USE_CANSTRUCT
uint32_t Pack_OCURL_MSG_candb(OCURL_MSG_t* _m, __CoderDbcCanFrame_t__* cframe)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(OCURL_MSG_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE);
cframe->Data[0] |= (uint8_t) ( (_m->OCURL_OccupantWeight_Stat & (0x03U)) | ((_m->OCURL_SeatOccupied_Stat & (0x01U)) << 2U) | ((_m->OCURL_SensorError_Stat & (0x01U)) << 3U) | ((_m->OCURL_MSG_RC & (0x0FU)) << 4U) );
cframe->Data[1] |= (uint8_t) ( (_m->OCURL_MSG_CS & (0xFFU)) );
cframe->MsgId = (uint32_t) OCURL_MSG_CANID;
cframe->DLC = (uint8_t) OCURL_MSG_DLC;
cframe->IDE = (uint8_t) OCURL_MSG_IDE;
return OCURL_MSG_CANID;
}
#else
uint32_t Pack_OCURL_MSG_candb(OCURL_MSG_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(OCURL_MSG_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE);
_d[0] |= (uint8_t) ( (_m->OCURL_OccupantWeight_Stat & (0x03U)) | ((_m->OCURL_SeatOccupied_Stat & (0x01U)) << 2U) | ((_m->OCURL_SensorError_Stat & (0x01U)) << 3U) | ((_m->OCURL_MSG_RC & (0x0FU)) << 4U) );
_d[1] |= (uint8_t) ( (_m->OCURL_MSG_CS & (0xFFU)) );
*_len = (uint8_t) OCURL_MSG_DLC;
*_ide = (uint8_t) OCURL_MSG_IDE;
return OCURL_MSG_CANID;
}
#endif // CANDB_USE_CANSTRUCT
uint32_t Unpack_OCURR_MSG_candb(OCURR_MSG_t* _m, const uint8_t* _d, uint8_t dlc_)
{
(void)dlc_;
_m->OCURR_OccupantWeight_Stat = (uint8_t) ( (_d[0] & (0x03U)) );
_m->OCURR_SeatOccupied_Stat = (uint8_t) ( ((_d[0] >> 2U) & (0x01U)) );
_m->OCURR_SensorError_Stat = (uint8_t) ( ((_d[0] >> 3U) & (0x01U)) );
_m->OCURR_MSG_RC = (uint8_t) ( ((_d[0] >> 4U) & (0x0FU)) );
_m->OCURR_MSG_CS = (uint8_t) ( (_d[1] & (0xFFU)) );
#ifdef CANDB_USE_DIAG_MONITORS
_m->mon1.dlc_error = (dlc_ < OCURR_MSG_DLC);
_m->mon1.last_cycle = GetSystemTick();
_m->mon1.frame_cnt++;
FMon_OCURR_MSG_candb(&_m->mon1, OCURR_MSG_CANID);
#endif // CANDB_USE_DIAG_MONITORS
return OCURR_MSG_CANID;
}
#ifdef CANDB_USE_CANSTRUCT
uint32_t Pack_OCURR_MSG_candb(OCURR_MSG_t* _m, __CoderDbcCanFrame_t__* cframe)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(OCURR_MSG_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE);
cframe->Data[0] |= (uint8_t) ( (_m->OCURR_OccupantWeight_Stat & (0x03U)) | ((_m->OCURR_SeatOccupied_Stat & (0x01U)) << 2U) | ((_m->OCURR_SensorError_Stat & (0x01U)) << 3U) | ((_m->OCURR_MSG_RC & (0x0FU)) << 4U) );
cframe->Data[1] |= (uint8_t) ( (_m->OCURR_MSG_CS & (0xFFU)) );
cframe->MsgId = (uint32_t) OCURR_MSG_CANID;
cframe->DLC = (uint8_t) OCURR_MSG_DLC;
cframe->IDE = (uint8_t) OCURR_MSG_IDE;
return OCURR_MSG_CANID;
}
#else
uint32_t Pack_OCURR_MSG_candb(OCURR_MSG_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(OCURR_MSG_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE);
_d[0] |= (uint8_t) ( (_m->OCURR_OccupantWeight_Stat & (0x03U)) | ((_m->OCURR_SeatOccupied_Stat & (0x01U)) << 2U) | ((_m->OCURR_SensorError_Stat & (0x01U)) << 3U) | ((_m->OCURR_MSG_RC & (0x0FU)) << 4U) );
_d[1] |= (uint8_t) ( (_m->OCURR_MSG_CS & (0xFFU)) );
*_len = (uint8_t) OCURR_MSG_DLC;
*_ide = (uint8_t) OCURR_MSG_IDE;
return OCURR_MSG_CANID;
}
#endif // CANDB_USE_CANSTRUCT
uint32_t Unpack_DW_STATE_candb(DW_STATE_t* _m, const uint8_t* _d, uint8_t dlc_)
{
(void)dlc_;
_m->DW_GlassPosition_Stat = (uint8_t) ( ((_d[1] >> 2U) & (0x03U)) );
#ifdef CANDB_USE_DIAG_MONITORS
_m->mon1.dlc_error = (dlc_ < DW_STATE_DLC);
_m->mon1.last_cycle = GetSystemTick();
_m->mon1.frame_cnt++;
FMon_DW_STATE_candb(&_m->mon1, DW_STATE_CANID);
#endif // CANDB_USE_DIAG_MONITORS
return DW_STATE_CANID;
}
#ifdef CANDB_USE_CANSTRUCT
uint32_t Pack_DW_STATE_candb(DW_STATE_t* _m, __CoderDbcCanFrame_t__* cframe)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(DW_STATE_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE);
cframe->Data[1] |= (uint8_t) ( ((_m->DW_GlassPosition_Stat & (0x03U)) << 2U) );
cframe->MsgId = (uint32_t) DW_STATE_CANID;
cframe->DLC = (uint8_t) DW_STATE_DLC;
cframe->IDE = (uint8_t) DW_STATE_IDE;
return DW_STATE_CANID;
}
#else
uint32_t Pack_DW_STATE_candb(DW_STATE_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(DW_STATE_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE);
_d[1] |= (uint8_t) ( ((_m->DW_GlassPosition_Stat & (0x03U)) << 2U) );
*_len = (uint8_t) DW_STATE_DLC;
*_ide = (uint8_t) DW_STATE_IDE;
return DW_STATE_CANID;
}
#endif // CANDB_USE_CANSTRUCT
uint32_t Unpack_FIU_CCU1_candb(FIU_CCU1_t* _m, const uint8_t* _d, uint8_t dlc_)
{
(void)dlc_;
_m->FIU_TargetTempFL_Val_ro = (uint8_t) ( (_d[0] & (0x1FU)) );
#ifdef CANDB_USE_SIGFLOAT
_m->FIU_TargetTempFL_Val_phys = (sigfloat_t)(CANDB_FIU_TargetTempFL_Val_ro_fromS(_m->FIU_TargetTempFL_Val_ro));
#endif // CANDB_USE_SIGFLOAT
_m->FIU_FootTempCorFL_Req = (uint8_t) ( ((_d[0] >> 5U) & (0x07U)) );
_m->FIU_TargetTempFR_Val_ro = (uint8_t) ( (_d[1] & (0x1FU)) );
#ifdef CANDB_USE_SIGFLOAT
_m->FIU_TargetTempFR_Val_phys = (sigfloat_t)(CANDB_FIU_TargetTempFR_Val_ro_fromS(_m->FIU_TargetTempFR_Val_ro));
#endif // CANDB_USE_SIGFLOAT
_m->FIU_FootTempCorFR_Req = (uint8_t) ( ((_d[1] >> 5U) & (0x07U)) );
_m->FIU_CCmodeFL_Req = (uint8_t) ( (_d[2] & (0x03U)) );
_m->FIU_AirDirectionFL_Def_Req = (uint8_t) ( ((_d[2] >> 2U) & (0x03U)) );
_m->FIU_AirDirectionFL_Face_Req = (uint8_t) ( ((_d[2] >> 4U) & (0x03U)) );
_m->FIU_AirDirectionFL_Foot_Req = (uint8_t) ( ((_d[2] >> 6U) & (0x03U)) );
_m->FIU_CCmodeFR_Req = (uint8_t) ( (_d[3] & (0x03U)) );
_m->FIU_AirDirectionFR_Def_Req = (uint8_t) ( ((_d[3] >> 2U) & (0x03U)) );
_m->FIU_AirDirectionFR_Face_Req = (uint8_t) ( ((_d[3] >> 4U) & (0x03U)) );
_m->FIU_AirDirectionFR_Foot_Req = (uint8_t) ( ((_d[3] >> 6U) & (0x03U)) );
_m->FIU_BlowerSpeedFL_Req = (uint8_t) ( (_d[4] & (0x0FU)) );
_m->FIU_BlowerSpeedFR_Req = (uint8_t) ( ((_d[4] >> 4U) & (0x0FU)) );
_m->FIU_CCautoModeFL_Req = (uint8_t) ( (_d[5] & (0x07U)) );
_m->FIU_CCautoModeFR_Req = (uint8_t) ( ((_d[5] >> 3U) & (0x07U)) );
_m->FIU_Recirculation_Req = (uint8_t) ( ((_d[5] >> 6U) & (0x03U)) );
_m->FIU_DeflectorSwDL_Req = (uint8_t) ( (_d[6] & (0x07U)) );
_m->FIU_DeflectorSwDR_Req = (uint8_t) ( ((_d[6] >> 3U) & (0x07U)) );
_m->FIU_ACfrontOFF_Req = (uint8_t) ( ((_d[6] >> 6U) & (0x03U)) );
_m->FIU_DeflectorSwFPL_Req = (uint8_t) ( (_d[7] & (0x07U)) );
_m->FIU_DeflectorSwFPR_Req = (uint8_t) ( ((_d[7] >> 3U) & (0x07U)) );
_m->FIU_FrontZoneSync_Req = (uint8_t) ( ((_d[7] >> 6U) & (0x03U)) );
#ifdef CANDB_USE_DIAG_MONITORS
_m->mon1.dlc_error = (dlc_ < FIU_CCU1_DLC);
_m->mon1.last_cycle = GetSystemTick();
_m->mon1.frame_cnt++;
FMon_FIU_CCU1_candb(&_m->mon1, FIU_CCU1_CANID);
#endif // CANDB_USE_DIAG_MONITORS
return FIU_CCU1_CANID;
}
#ifdef CANDB_USE_CANSTRUCT
uint32_t Pack_FIU_CCU1_candb(FIU_CCU1_t* _m, __CoderDbcCanFrame_t__* cframe)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(FIU_CCU1_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE);
#ifdef CANDB_USE_SIGFLOAT
_m->FIU_TargetTempFL_Val_ro = (uint8_t) CANDB_FIU_TargetTempFL_Val_ro_toS(_m->FIU_TargetTempFL_Val_phys);
_m->FIU_TargetTempFR_Val_ro = (uint8_t) CANDB_FIU_TargetTempFR_Val_ro_toS(_m->FIU_TargetTempFR_Val_phys);
#endif // CANDB_USE_SIGFLOAT
cframe->Data[0] |= (uint8_t) ( (_m->FIU_TargetTempFL_Val_ro & (0x1FU)) | ((_m->FIU_FootTempCorFL_Req & (0x07U)) << 5U) );
cframe->Data[1] |= (uint8_t) ( (_m->FIU_TargetTempFR_Val_ro & (0x1FU)) | ((_m->FIU_FootTempCorFR_Req & (0x07U)) << 5U) );
cframe->Data[2] |= (uint8_t) ( (_m->FIU_CCmodeFL_Req & (0x03U)) | ((_m->FIU_AirDirectionFL_Def_Req & (0x03U)) << 2U) | ((_m->FIU_AirDirectionFL_Face_Req & (0x03U)) << 4U) | ((_m->FIU_AirDirectionFL_Foot_Req & (0x03U)) << 6U) );
cframe->Data[3] |= (uint8_t) ( (_m->FIU_CCmodeFR_Req & (0x03U)) | ((_m->FIU_AirDirectionFR_Def_Req & (0x03U)) << 2U) | ((_m->FIU_AirDirectionFR_Face_Req & (0x03U)) << 4U) | ((_m->FIU_AirDirectionFR_Foot_Req & (0x03U)) << 6U) );
cframe->Data[4] |= (uint8_t) ( (_m->FIU_BlowerSpeedFL_Req & (0x0FU)) | ((_m->FIU_BlowerSpeedFR_Req & (0x0FU)) << 4U) );
cframe->Data[5] |= (uint8_t) ( (_m->FIU_CCautoModeFL_Req & (0x07U)) | ((_m->FIU_CCautoModeFR_Req & (0x07U)) << 3U) | ((_m->FIU_Recirculation_Req & (0x03U)) << 6U) );
cframe->Data[6] |= (uint8_t) ( (_m->FIU_DeflectorSwDL_Req & (0x07U)) | ((_m->FIU_DeflectorSwDR_Req & (0x07U)) << 3U) | ((_m->FIU_ACfrontOFF_Req & (0x03U)) << 6U) );
cframe->Data[7] |= (uint8_t) ( (_m->FIU_DeflectorSwFPL_Req & (0x07U)) | ((_m->FIU_DeflectorSwFPR_Req & (0x07U)) << 3U) | ((_m->FIU_FrontZoneSync_Req & (0x03U)) << 6U) );
cframe->MsgId = (uint32_t) FIU_CCU1_CANID;
cframe->DLC = (uint8_t) FIU_CCU1_DLC;
cframe->IDE = (uint8_t) FIU_CCU1_IDE;
return FIU_CCU1_CANID;
}
#else
uint32_t Pack_FIU_CCU1_candb(FIU_CCU1_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(FIU_CCU1_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE);
#ifdef CANDB_USE_SIGFLOAT
_m->FIU_TargetTempFL_Val_ro = (uint8_t) CANDB_FIU_TargetTempFL_Val_ro_toS(_m->FIU_TargetTempFL_Val_phys);
_m->FIU_TargetTempFR_Val_ro = (uint8_t) CANDB_FIU_TargetTempFR_Val_ro_toS(_m->FIU_TargetTempFR_Val_phys);
#endif // CANDB_USE_SIGFLOAT
_d[0] |= (uint8_t) ( (_m->FIU_TargetTempFL_Val_ro & (0x1FU)) | ((_m->FIU_FootTempCorFL_Req & (0x07U)) << 5U) );
_d[1] |= (uint8_t) ( (_m->FIU_TargetTempFR_Val_ro & (0x1FU)) | ((_m->FIU_FootTempCorFR_Req & (0x07U)) << 5U) );
_d[2] |= (uint8_t) ( (_m->FIU_CCmodeFL_Req & (0x03U)) | ((_m->FIU_AirDirectionFL_Def_Req & (0x03U)) << 2U) | ((_m->FIU_AirDirectionFL_Face_Req & (0x03U)) << 4U) | ((_m->FIU_AirDirectionFL_Foot_Req & (0x03U)) << 6U) );
_d[3] |= (uint8_t) ( (_m->FIU_CCmodeFR_Req & (0x03U)) | ((_m->FIU_AirDirectionFR_Def_Req & (0x03U)) << 2U) | ((_m->FIU_AirDirectionFR_Face_Req & (0x03U)) << 4U) | ((_m->FIU_AirDirectionFR_Foot_Req & (0x03U)) << 6U) );
_d[4] |= (uint8_t) ( (_m->FIU_BlowerSpeedFL_Req & (0x0FU)) | ((_m->FIU_BlowerSpeedFR_Req & (0x0FU)) << 4U) );
_d[5] |= (uint8_t) ( (_m->FIU_CCautoModeFL_Req & (0x07U)) | ((_m->FIU_CCautoModeFR_Req & (0x07U)) << 3U) | ((_m->FIU_Recirculation_Req & (0x03U)) << 6U) );
_d[6] |= (uint8_t) ( (_m->FIU_DeflectorSwDL_Req & (0x07U)) | ((_m->FIU_DeflectorSwDR_Req & (0x07U)) << 3U) | ((_m->FIU_ACfrontOFF_Req & (0x03U)) << 6U) );
_d[7] |= (uint8_t) ( (_m->FIU_DeflectorSwFPL_Req & (0x07U)) | ((_m->FIU_DeflectorSwFPR_Req & (0x07U)) << 3U) | ((_m->FIU_FrontZoneSync_Req & (0x03U)) << 6U) );
*_len = (uint8_t) FIU_CCU1_DLC;
*_ide = (uint8_t) FIU_CCU1_IDE;
return FIU_CCU1_CANID;
}
#endif // CANDB_USE_CANSTRUCT
uint32_t Unpack_FIU_CCU2_candb(FIU_CCU2_t* _m, const uint8_t* _d, uint8_t dlc_)
{
(void)dlc_;
_m->FIU_TargetTempRL_Val_ro = (uint8_t) ( (_d[0] & (0x1FU)) );
#ifdef CANDB_USE_SIGFLOAT
_m->FIU_TargetTempRL_Val_phys = (sigfloat_t)(CANDB_FIU_TargetTempRL_Val_ro_fromS(_m->FIU_TargetTempRL_Val_ro));
#endif // CANDB_USE_SIGFLOAT
_m->FIU_FootTempCorRL_Req = (uint8_t) ( ((_d[0] >> 5U) & (0x07U)) );
_m->FIU_TargetTempRR_Val_ro = (uint8_t) ( (_d[1] & (0x1FU)) );
#ifdef CANDB_USE_SIGFLOAT
_m->FIU_TargetTempRR_Val_phys = (sigfloat_t)(CANDB_FIU_TargetTempRR_Val_ro_fromS(_m->FIU_TargetTempRR_Val_ro));
#endif // CANDB_USE_SIGFLOAT
_m->FIU_FootTempCorRR_Req = (uint8_t) ( ((_d[1] >> 5U) & (0x07U)) );
_m->FIU_CCmodeRL_Req = (uint8_t) ( (_d[2] & (0x03U)) );
_m->FIU_AirDirectionRL_Def_Req = (uint8_t) ( ((_d[2] >> 2U) & (0x03U)) );
_m->FIU_AirDirectionRL_Face_Req = (uint8_t) ( ((_d[2] >> 4U) & (0x03U)) );
_m->FIU_AirDirectionRL_Foot_Req = (uint8_t) ( ((_d[2] >> 6U) & (0x03U)) );
_m->FIU_CCmodeRR_Req = (uint8_t) ( (_d[3] & (0x03U)) );
_m->FIU_AirDirectionRR_Def_Req = (uint8_t) ( ((_d[3] >> 2U) & (0x03U)) );
_m->FIU_AirDirectionRR_Face_Req = (uint8_t) ( ((_d[3] >> 4U) & (0x03U)) );
_m->FIU_AirDirectionRR_Foot_Req = (uint8_t) ( ((_d[3] >> 6U) & (0x03U)) );
_m->FIU_BlowerSpeedRL_Req = (uint8_t) ( (_d[4] & (0x0FU)) );
_m->FIU_BlowerSpeedRR_Req = (uint8_t) ( ((_d[4] >> 4U) & (0x0FU)) );
_m->FIU_CCautoModeRL_Req = (uint8_t) ( (_d[5] & (0x07U)) );
_m->FIU_CCautoModeRR_Req = (uint8_t) ( ((_d[5] >> 3U) & (0x07U)) );
_m->FIU_DeflectorSwRLB_Req = (uint8_t) ( (_d[6] & (0x07U)) );
_m->FIU_DeflectorSwFCL_Req = (uint8_t) ( ((_d[6] >> 3U) & (0x07U)) );
_m->FIU_ACrearOFF_Req = (uint8_t) ( ((_d[6] >> 6U) & (0x03U)) );
_m->FIU_DeflectorSwFCR_Req = (uint8_t) ( (_d[7] & (0x07U)) );
_m->FIU_DeflectorSwRRB_Req = (uint8_t) ( ((_d[7] >> 3U) & (0x07U)) );
_m->FIU_RearZoneSync_Req = (uint8_t) ( ((_d[7] >> 6U) & (0x03U)) );
#ifdef CANDB_USE_DIAG_MONITORS
_m->mon1.dlc_error = (dlc_ < FIU_CCU2_DLC);
_m->mon1.last_cycle = GetSystemTick();
_m->mon1.frame_cnt++;
FMon_FIU_CCU2_candb(&_m->mon1, FIU_CCU2_CANID);
#endif // CANDB_USE_DIAG_MONITORS
return FIU_CCU2_CANID;
}
#ifdef CANDB_USE_CANSTRUCT
uint32_t Pack_FIU_CCU2_candb(FIU_CCU2_t* _m, __CoderDbcCanFrame_t__* cframe)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(FIU_CCU2_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE);
#ifdef CANDB_USE_SIGFLOAT
_m->FIU_TargetTempRL_Val_ro = (uint8_t) CANDB_FIU_TargetTempRL_Val_ro_toS(_m->FIU_TargetTempRL_Val_phys);
_m->FIU_TargetTempRR_Val_ro = (uint8_t) CANDB_FIU_TargetTempRR_Val_ro_toS(_m->FIU_TargetTempRR_Val_phys);
#endif // CANDB_USE_SIGFLOAT
cframe->Data[0] |= (uint8_t) ( (_m->FIU_TargetTempRL_Val_ro & (0x1FU)) | ((_m->FIU_FootTempCorRL_Req & (0x07U)) << 5U) );
cframe->Data[1] |= (uint8_t) ( (_m->FIU_TargetTempRR_Val_ro & (0x1FU)) | ((_m->FIU_FootTempCorRR_Req & (0x07U)) << 5U) );
cframe->Data[2] |= (uint8_t) ( (_m->FIU_CCmodeRL_Req & (0x03U)) | ((_m->FIU_AirDirectionRL_Def_Req & (0x03U)) << 2U) | ((_m->FIU_AirDirectionRL_Face_Req & (0x03U)) << 4U) | ((_m->FIU_AirDirectionRL_Foot_Req & (0x03U)) << 6U) );
cframe->Data[3] |= (uint8_t) ( (_m->FIU_CCmodeRR_Req & (0x03U)) | ((_m->FIU_AirDirectionRR_Def_Req & (0x03U)) << 2U) | ((_m->FIU_AirDirectionRR_Face_Req & (0x03U)) << 4U) | ((_m->FIU_AirDirectionRR_Foot_Req & (0x03U)) << 6U) );
cframe->Data[4] |= (uint8_t) ( (_m->FIU_BlowerSpeedRL_Req & (0x0FU)) | ((_m->FIU_BlowerSpeedRR_Req & (0x0FU)) << 4U) );
cframe->Data[5] |= (uint8_t) ( (_m->FIU_CCautoModeRL_Req & (0x07U)) | ((_m->FIU_CCautoModeRR_Req & (0x07U)) << 3U) );
cframe->Data[6] |= (uint8_t) ( (_m->FIU_DeflectorSwRLB_Req & (0x07U)) | ((_m->FIU_DeflectorSwFCL_Req & (0x07U)) << 3U) | ((_m->FIU_ACrearOFF_Req & (0x03U)) << 6U) );
cframe->Data[7] |= (uint8_t) ( (_m->FIU_DeflectorSwFCR_Req & (0x07U)) | ((_m->FIU_DeflectorSwRRB_Req & (0x07U)) << 3U) | ((_m->FIU_RearZoneSync_Req & (0x03U)) << 6U) );
cframe->MsgId = (uint32_t) FIU_CCU2_CANID;
cframe->DLC = (uint8_t) FIU_CCU2_DLC;
cframe->IDE = (uint8_t) FIU_CCU2_IDE;
return FIU_CCU2_CANID;
}
#else
uint32_t Pack_FIU_CCU2_candb(FIU_CCU2_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(FIU_CCU2_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE);
#ifdef CANDB_USE_SIGFLOAT
_m->FIU_TargetTempRL_Val_ro = (uint8_t) CANDB_FIU_TargetTempRL_Val_ro_toS(_m->FIU_TargetTempRL_Val_phys);
_m->FIU_TargetTempRR_Val_ro = (uint8_t) CANDB_FIU_TargetTempRR_Val_ro_toS(_m->FIU_TargetTempRR_Val_phys);
#endif // CANDB_USE_SIGFLOAT
_d[0] |= (uint8_t) ( (_m->FIU_TargetTempRL_Val_ro & (0x1FU)) | ((_m->FIU_FootTempCorRL_Req & (0x07U)) << 5U) );
_d[1] |= (uint8_t) ( (_m->FIU_TargetTempRR_Val_ro & (0x1FU)) | ((_m->FIU_FootTempCorRR_Req & (0x07U)) << 5U) );
_d[2] |= (uint8_t) ( (_m->FIU_CCmodeRL_Req & (0x03U)) | ((_m->FIU_AirDirectionRL_Def_Req & (0x03U)) << 2U) | ((_m->FIU_AirDirectionRL_Face_Req & (0x03U)) << 4U) | ((_m->FIU_AirDirectionRL_Foot_Req & (0x03U)) << 6U) );
_d[3] |= (uint8_t) ( (_m->FIU_CCmodeRR_Req & (0x03U)) | ((_m->FIU_AirDirectionRR_Def_Req & (0x03U)) << 2U) | ((_m->FIU_AirDirectionRR_Face_Req & (0x03U)) << 4U) | ((_m->FIU_AirDirectionRR_Foot_Req & (0x03U)) << 6U) );
_d[4] |= (uint8_t) ( (_m->FIU_BlowerSpeedRL_Req & (0x0FU)) | ((_m->FIU_BlowerSpeedRR_Req & (0x0FU)) << 4U) );
_d[5] |= (uint8_t) ( (_m->FIU_CCautoModeRL_Req & (0x07U)) | ((_m->FIU_CCautoModeRR_Req & (0x07U)) << 3U) );
_d[6] |= (uint8_t) ( (_m->FIU_DeflectorSwRLB_Req & (0x07U)) | ((_m->FIU_DeflectorSwFCL_Req & (0x07U)) << 3U) | ((_m->FIU_ACrearOFF_Req & (0x03U)) << 6U) );
_d[7] |= (uint8_t) ( (_m->FIU_DeflectorSwFCR_Req & (0x07U)) | ((_m->FIU_DeflectorSwRRB_Req & (0x07U)) << 3U) | ((_m->FIU_RearZoneSync_Req & (0x03U)) << 6U) );
*_len = (uint8_t) FIU_CCU2_DLC;
*_ide = (uint8_t) FIU_CCU2_IDE;
return FIU_CCU2_CANID;
}
#endif // CANDB_USE_CANSTRUCT
uint32_t Unpack_FIU_CCU3_candb(FIU_CCU3_t* _m, const uint8_t* _d, uint8_t dlc_)
{
(void)dlc_;
_m->FIU_Aroma_Req = (uint8_t) ( (_d[0] & (0x03U)) );
_m->FIU_AromaIntens_Req = (uint8_t) ( ((_d[0] >> 2U) & (0x03U)) );
_m->FIU_Rest_Req = (uint8_t) ( ((_d[0] >> 4U) & (0x03U)) );
_m->FIU_Ionization_Req = (uint8_t) ( ((_d[0] >> 6U) & (0x03U)) );
_m->FIU_RLfootBlowDis_Req = (uint8_t) ( (_d[1] & (0x03U)) );
_m->FIU_RRfootBlowDis_Req = (uint8_t) ( ((_d[1] >> 2U) & (0x03U)) );
_m->FIU_ACmax_Req = (uint8_t) ( ((_d[1] >> 4U) & (0x03U)) );
_m->FIU_Defrost_Req = (uint8_t) ( ((_d[1] >> 6U) & (0x03U)) );
_m->FIU_Ultraviolet_Req = (uint8_t) ( (_d[2] & (0x03U)) );
#ifdef CANDB_USE_DIAG_MONITORS
_m->mon1.dlc_error = (dlc_ < FIU_CCU3_DLC);
_m->mon1.last_cycle = GetSystemTick();
_m->mon1.frame_cnt++;
FMon_FIU_CCU3_candb(&_m->mon1, FIU_CCU3_CANID);
#endif // CANDB_USE_DIAG_MONITORS
return FIU_CCU3_CANID;
}
#ifdef CANDB_USE_CANSTRUCT
uint32_t Pack_FIU_CCU3_candb(FIU_CCU3_t* _m, __CoderDbcCanFrame_t__* cframe)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(FIU_CCU3_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE);
cframe->Data[0] |= (uint8_t) ( (_m->FIU_Aroma_Req & (0x03U)) | ((_m->FIU_AromaIntens_Req & (0x03U)) << 2U) | ((_m->FIU_Rest_Req & (0x03U)) << 4U) | ((_m->FIU_Ionization_Req & (0x03U)) << 6U) );
cframe->Data[1] |= (uint8_t) ( (_m->FIU_RLfootBlowDis_Req & (0x03U)) | ((_m->FIU_RRfootBlowDis_Req & (0x03U)) << 2U) | ((_m->FIU_ACmax_Req & (0x03U)) << 4U) | ((_m->FIU_Defrost_Req & (0x03U)) << 6U) );
cframe->Data[2] |= (uint8_t) ( (_m->FIU_Ultraviolet_Req & (0x03U)) );
cframe->MsgId = (uint32_t) FIU_CCU3_CANID;
cframe->DLC = (uint8_t) FIU_CCU3_DLC;
cframe->IDE = (uint8_t) FIU_CCU3_IDE;
return FIU_CCU3_CANID;
}
#else
uint32_t Pack_FIU_CCU3_candb(FIU_CCU3_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(FIU_CCU3_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE);
_d[0] |= (uint8_t) ( (_m->FIU_Aroma_Req & (0x03U)) | ((_m->FIU_AromaIntens_Req & (0x03U)) << 2U) | ((_m->FIU_Rest_Req & (0x03U)) << 4U) | ((_m->FIU_Ionization_Req & (0x03U)) << 6U) );
_d[1] |= (uint8_t) ( (_m->FIU_RLfootBlowDis_Req & (0x03U)) | ((_m->FIU_RRfootBlowDis_Req & (0x03U)) << 2U) | ((_m->FIU_ACmax_Req & (0x03U)) << 4U) | ((_m->FIU_Defrost_Req & (0x03U)) << 6U) );
_d[2] |= (uint8_t) ( (_m->FIU_Ultraviolet_Req & (0x03U)) );
*_len = (uint8_t) FIU_CCU3_DLC;
*_ide = (uint8_t) FIU_CCU3_IDE;
return FIU_CCU3_CANID;
}
#endif // CANDB_USE_CANSTRUCT
uint32_t Unpack_Diag_To_CCU_candb(Diag_To_CCU_t* _m, const uint8_t* _d, uint8_t dlc_)
{
(void)dlc_;
_m->Diag_To_CCU_Sig = (uint64_t) ( ((uint64_t)(_d[0] & (0xFFU)) << 56U) | ((uint64_t)(_d[1] & (0xFFU)) << 48U) | ((uint64_t)(_d[2] & (0xFFU)) << 40U) | ((uint64_t)(_d[3] & (0xFFU)) << 32U) | ((_d[4] & (0xFFU)) << 24U) | ((_d[5] & (0xFFU)) << 16U) | ((_d[6] & (0xFFU)) << 8U) | (_d[7] & (0xFFU)) );
#ifdef CANDB_USE_DIAG_MONITORS
_m->mon1.dlc_error = (dlc_ < Diag_To_CCU_DLC);
_m->mon1.last_cycle = GetSystemTick();
_m->mon1.frame_cnt++;
FMon_Diag_To_CCU_candb(&_m->mon1, Diag_To_CCU_CANID);
#endif // CANDB_USE_DIAG_MONITORS
return Diag_To_CCU_CANID;
}
#ifdef CANDB_USE_CANSTRUCT
uint32_t Pack_Diag_To_CCU_candb(Diag_To_CCU_t* _m, __CoderDbcCanFrame_t__* cframe)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_CCU_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE);
cframe->Data[0] |= (uint8_t) ( ((_m->Diag_To_CCU_Sig >> 56U) & (0xFFU)) );
cframe->Data[1] |= (uint8_t) ( ((_m->Diag_To_CCU_Sig >> 48U) & (0xFFU)) );
cframe->Data[2] |= (uint8_t) ( ((_m->Diag_To_CCU_Sig >> 40U) & (0xFFU)) );
cframe->Data[3] |= (uint8_t) ( ((_m->Diag_To_CCU_Sig >> 32U) & (0xFFU)) );
cframe->Data[4] |= (uint8_t) ( ((_m->Diag_To_CCU_Sig >> 24U) & (0xFFU)) );
cframe->Data[5] |= (uint8_t) ( ((_m->Diag_To_CCU_Sig >> 16U) & (0xFFU)) );
cframe->Data[6] |= (uint8_t) ( ((_m->Diag_To_CCU_Sig >> 8U) & (0xFFU)) );
cframe->Data[7] |= (uint8_t) ( (_m->Diag_To_CCU_Sig & (0xFFU)) );
cframe->MsgId = (uint32_t) Diag_To_CCU_CANID;
cframe->DLC = (uint8_t) Diag_To_CCU_DLC;
cframe->IDE = (uint8_t) Diag_To_CCU_IDE;
return Diag_To_CCU_CANID;
}
#else
uint32_t Pack_Diag_To_CCU_candb(Diag_To_CCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_CCU_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE);
_d[0] |= (uint8_t) ( ((_m->Diag_To_CCU_Sig >> 56U) & (0xFFU)) );
_d[1] |= (uint8_t) ( ((_m->Diag_To_CCU_Sig >> 48U) & (0xFFU)) );
_d[2] |= (uint8_t) ( ((_m->Diag_To_CCU_Sig >> 40U) & (0xFFU)) );
_d[3] |= (uint8_t) ( ((_m->Diag_To_CCU_Sig >> 32U) & (0xFFU)) );
_d[4] |= (uint8_t) ( ((_m->Diag_To_CCU_Sig >> 24U) & (0xFFU)) );
_d[5] |= (uint8_t) ( ((_m->Diag_To_CCU_Sig >> 16U) & (0xFFU)) );
_d[6] |= (uint8_t) ( ((_m->Diag_To_CCU_Sig >> 8U) & (0xFFU)) );
_d[7] |= (uint8_t) ( (_m->Diag_To_CCU_Sig & (0xFFU)) );
*_len = (uint8_t) Diag_To_CCU_DLC;
*_ide = (uint8_t) Diag_To_CCU_IDE;
return Diag_To_CCU_CANID;
}
#endif // CANDB_USE_CANSTRUCT
uint32_t Unpack_Diag_From_CCU_candb(Diag_From_CCU_t* _m, const uint8_t* _d, uint8_t dlc_)
{
(void)dlc_;
_m->Diag_From_CCU_Sig = (uint64_t) ( ((uint64_t)(_d[0] & (0xFFU)) << 56U) | ((uint64_t)(_d[1] & (0xFFU)) << 48U) | ((uint64_t)(_d[2] & (0xFFU)) << 40U) | ((uint64_t)(_d[3] & (0xFFU)) << 32U) | ((_d[4] & (0xFFU)) << 24U) | ((_d[5] & (0xFFU)) << 16U) | ((_d[6] & (0xFFU)) << 8U) | (_d[7] & (0xFFU)) );
#ifdef CANDB_USE_DIAG_MONITORS
_m->mon1.dlc_error = (dlc_ < Diag_From_CCU_DLC);
_m->mon1.last_cycle = GetSystemTick();
_m->mon1.frame_cnt++;
FMon_Diag_From_CCU_candb(&_m->mon1, Diag_From_CCU_CANID);
#endif // CANDB_USE_DIAG_MONITORS
return Diag_From_CCU_CANID;
}
#ifdef CANDB_USE_CANSTRUCT
uint32_t Pack_Diag_From_CCU_candb(Diag_From_CCU_t* _m, __CoderDbcCanFrame_t__* cframe)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_CCU_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE);
cframe->Data[0] |= (uint8_t) ( ((_m->Diag_From_CCU_Sig >> 56U) & (0xFFU)) );
cframe->Data[1] |= (uint8_t) ( ((_m->Diag_From_CCU_Sig >> 48U) & (0xFFU)) );
cframe->Data[2] |= (uint8_t) ( ((_m->Diag_From_CCU_Sig >> 40U) & (0xFFU)) );
cframe->Data[3] |= (uint8_t) ( ((_m->Diag_From_CCU_Sig >> 32U) & (0xFFU)) );
cframe->Data[4] |= (uint8_t) ( ((_m->Diag_From_CCU_Sig >> 24U) & (0xFFU)) );
cframe->Data[5] |= (uint8_t) ( ((_m->Diag_From_CCU_Sig >> 16U) & (0xFFU)) );
cframe->Data[6] |= (uint8_t) ( ((_m->Diag_From_CCU_Sig >> 8U) & (0xFFU)) );
cframe->Data[7] |= (uint8_t) ( (_m->Diag_From_CCU_Sig & (0xFFU)) );
cframe->MsgId = (uint32_t) Diag_From_CCU_CANID;
cframe->DLC = (uint8_t) Diag_From_CCU_DLC;
cframe->IDE = (uint8_t) Diag_From_CCU_IDE;
return Diag_From_CCU_CANID;
}
#else
uint32_t Pack_Diag_From_CCU_candb(Diag_From_CCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_CCU_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE);
_d[0] |= (uint8_t) ( ((_m->Diag_From_CCU_Sig >> 56U) & (0xFFU)) );
_d[1] |= (uint8_t) ( ((_m->Diag_From_CCU_Sig >> 48U) & (0xFFU)) );
_d[2] |= (uint8_t) ( ((_m->Diag_From_CCU_Sig >> 40U) & (0xFFU)) );
_d[3] |= (uint8_t) ( ((_m->Diag_From_CCU_Sig >> 32U) & (0xFFU)) );
_d[4] |= (uint8_t) ( ((_m->Diag_From_CCU_Sig >> 24U) & (0xFFU)) );
_d[5] |= (uint8_t) ( ((_m->Diag_From_CCU_Sig >> 16U) & (0xFFU)) );
_d[6] |= (uint8_t) ( ((_m->Diag_From_CCU_Sig >> 8U) & (0xFFU)) );
_d[7] |= (uint8_t) ( (_m->Diag_From_CCU_Sig & (0xFFU)) );
*_len = (uint8_t) Diag_From_CCU_DLC;
*_ide = (uint8_t) Diag_From_CCU_IDE;
return Diag_From_CCU_CANID;
}
#endif // CANDB_USE_CANSTRUCT
uint32_t Unpack_Diag_Functional_candb(Diag_Functional_t* _m, const uint8_t* _d, uint8_t dlc_)
{
(void)dlc_;
_m->Diag_Functional_Sig = (uint64_t) ( ((uint64_t)(_d[0] & (0xFFU)) << 56U) | ((uint64_t)(_d[1] & (0xFFU)) << 48U) | ((uint64_t)(_d[2] & (0xFFU)) << 40U) | ((uint64_t)(_d[3] & (0xFFU)) << 32U) | ((_d[4] & (0xFFU)) << 24U) | ((_d[5] & (0xFFU)) << 16U) | ((_d[6] & (0xFFU)) << 8U) | (_d[7] & (0xFFU)) );
#ifdef CANDB_USE_DIAG_MONITORS
_m->mon1.dlc_error = (dlc_ < Diag_Functional_DLC);
_m->mon1.last_cycle = GetSystemTick();
_m->mon1.frame_cnt++;
FMon_Diag_Functional_candb(&_m->mon1, Diag_Functional_CANID);
#endif // CANDB_USE_DIAG_MONITORS
return Diag_Functional_CANID;
}
#ifdef CANDB_USE_CANSTRUCT
uint32_t Pack_Diag_Functional_candb(Diag_Functional_t* _m, __CoderDbcCanFrame_t__* cframe)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_Functional_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE);
cframe->Data[0] |= (uint8_t) ( ((_m->Diag_Functional_Sig >> 56U) & (0xFFU)) );
cframe->Data[1] |= (uint8_t) ( ((_m->Diag_Functional_Sig >> 48U) & (0xFFU)) );
cframe->Data[2] |= (uint8_t) ( ((_m->Diag_Functional_Sig >> 40U) & (0xFFU)) );
cframe->Data[3] |= (uint8_t) ( ((_m->Diag_Functional_Sig >> 32U) & (0xFFU)) );
cframe->Data[4] |= (uint8_t) ( ((_m->Diag_Functional_Sig >> 24U) & (0xFFU)) );
cframe->Data[5] |= (uint8_t) ( ((_m->Diag_Functional_Sig >> 16U) & (0xFFU)) );
cframe->Data[6] |= (uint8_t) ( ((_m->Diag_Functional_Sig >> 8U) & (0xFFU)) );
cframe->Data[7] |= (uint8_t) ( (_m->Diag_Functional_Sig & (0xFFU)) );
cframe->MsgId = (uint32_t) Diag_Functional_CANID;
cframe->DLC = (uint8_t) Diag_Functional_DLC;
cframe->IDE = (uint8_t) Diag_Functional_IDE;
return Diag_Functional_CANID;
}
#else
uint32_t Pack_Diag_Functional_candb(Diag_Functional_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_Functional_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE);
_d[0] |= (uint8_t) ( ((_m->Diag_Functional_Sig >> 56U) & (0xFFU)) );
_d[1] |= (uint8_t) ( ((_m->Diag_Functional_Sig >> 48U) & (0xFFU)) );
_d[2] |= (uint8_t) ( ((_m->Diag_Functional_Sig >> 40U) & (0xFFU)) );
_d[3] |= (uint8_t) ( ((_m->Diag_Functional_Sig >> 32U) & (0xFFU)) );
_d[4] |= (uint8_t) ( ((_m->Diag_Functional_Sig >> 24U) & (0xFFU)) );
_d[5] |= (uint8_t) ( ((_m->Diag_Functional_Sig >> 16U) & (0xFFU)) );
_d[6] |= (uint8_t) ( ((_m->Diag_Functional_Sig >> 8U) & (0xFFU)) );
_d[7] |= (uint8_t) ( (_m->Diag_Functional_Sig & (0xFFU)) );
*_len = (uint8_t) Diag_Functional_DLC;
*_ide = (uint8_t) Diag_Functional_IDE;
return Diag_Functional_CANID;
}
#endif // CANDB_USE_CANSTRUCT
uint32_t Unpack_HVC_01_candb(HVC_01_t* _m, const uint8_t* _d, uint8_t dlc_)
{
(void)dlc_;
_m->HVC_ActSpeed_Val = (uint16_t) ( ((_d[1] & (0xFFU)) << 8U) | (_d[0] & (0xFFU)) );
_m->HVC_ActTemp_Val_ro = (uint8_t) ( (_d[2] & (0x7FU)) );
#ifdef CANDB_USE_SIGFLOAT
_m->HVC_ActTemp_Val_phys = (int16_t) CANDB_HVC_ActTemp_Val_ro_fromS(_m->HVC_ActTemp_Val_ro);
#endif // CANDB_USE_SIGFLOAT
_m->HVC_OvTemp_Stat = (uint8_t) ( ((_d[2] >> 7U) & (0x01U)) );
_m->HVC_ActMode_Stat = (uint8_t) ( (_d[3] & (0x03U)) );
_m->HVC_FaultLvl_Stat = (uint8_t) ( ((_d[3] >> 2U) & (0x03U)) );
_m->HVC_OvSpeed_Stat = (uint8_t) ( ((_d[3] >> 4U) & (0x01U)) );
_m->CCM2_LossStepErr_Stat = (uint8_t) ( ((_d[3] >> 5U) & (0x01U)) );
_m->HVC_OvLoadErr_Stat = (uint8_t) ( ((_d[3] >> 6U) & (0x01U)) );
_m->HVC_IGBTErr_Stat = (uint8_t) ( ((_d[3] >> 7U) & (0x01U)) );
_m->HVC_ErrCode_Stat = (uint8_t) ( (_d[4] & (0xFFU)) );
_m->HVC_PhaCurrA_Val_ro = (uint8_t) ( (_d[5] & (0xFFU)) );
#ifdef CANDB_USE_SIGFLOAT
_m->HVC_PhaCurrA_Val_phys = (sigfloat_t)(CANDB_HVC_PhaCurrA_Val_ro_fromS(_m->HVC_PhaCurrA_Val_ro));
#endif // CANDB_USE_SIGFLOAT
_m->HVC_ActCurr_Val_ro = (uint8_t) ( (_d[6] & (0xFFU)) );
#ifdef CANDB_USE_SIGFLOAT
_m->HVC_ActCurr_Val_phys = (sigfloat_t)(CANDB_HVC_ActCurr_Val_ro_fromS(_m->HVC_ActCurr_Val_ro));
#endif // CANDB_USE_SIGFLOAT
_m->HVC_ActVolt_Val_ro = (uint8_t) ( (_d[7] & (0xFFU)) );
#ifdef CANDB_USE_SIGFLOAT
_m->HVC_ActVolt_Val_phys = (uint16_t) CANDB_HVC_ActVolt_Val_ro_fromS(_m->HVC_ActVolt_Val_ro);
#endif // CANDB_USE_SIGFLOAT
#ifdef CANDB_USE_DIAG_MONITORS
_m->mon1.dlc_error = (dlc_ < HVC_01_DLC);
_m->mon1.last_cycle = GetSystemTick();
_m->mon1.frame_cnt++;
FMon_HVC_01_candb(&_m->mon1, HVC_01_CANID);
#endif // CANDB_USE_DIAG_MONITORS
return HVC_01_CANID;
}
#ifdef CANDB_USE_CANSTRUCT
uint32_t Pack_HVC_01_candb(HVC_01_t* _m, __CoderDbcCanFrame_t__* cframe)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(HVC_01_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE);
#ifdef CANDB_USE_SIGFLOAT
_m->HVC_ActTemp_Val_ro = (uint8_t) CANDB_HVC_ActTemp_Val_ro_toS(_m->HVC_ActTemp_Val_phys);
_m->HVC_PhaCurrA_Val_ro = (uint8_t) CANDB_HVC_PhaCurrA_Val_ro_toS(_m->HVC_PhaCurrA_Val_phys);
_m->HVC_ActCurr_Val_ro = (uint8_t) CANDB_HVC_ActCurr_Val_ro_toS(_m->HVC_ActCurr_Val_phys);
_m->HVC_ActVolt_Val_ro = (uint8_t) CANDB_HVC_ActVolt_Val_ro_toS(_m->HVC_ActVolt_Val_phys);
#endif // CANDB_USE_SIGFLOAT
cframe->Data[0] |= (uint8_t) ( (_m->HVC_ActSpeed_Val & (0xFFU)) );
cframe->Data[1] |= (uint8_t) ( ((_m->HVC_ActSpeed_Val >> 8U) & (0xFFU)) );
cframe->Data[2] |= (uint8_t) ( (_m->HVC_ActTemp_Val_ro & (0x7FU)) | ((_m->HVC_OvTemp_Stat & (0x01U)) << 7U) );
cframe->Data[3] |= (uint8_t) ( (_m->HVC_ActMode_Stat & (0x03U)) | ((_m->HVC_FaultLvl_Stat & (0x03U)) << 2U) | ((_m->HVC_OvSpeed_Stat & (0x01U)) << 4U) | ((_m->CCM2_LossStepErr_Stat & (0x01U)) << 5U) | ((_m->HVC_OvLoadErr_Stat & (0x01U)) << 6U) | ((_m->HVC_IGBTErr_Stat & (0x01U)) << 7U) );
cframe->Data[4] |= (uint8_t) ( (_m->HVC_ErrCode_Stat & (0xFFU)) );
cframe->Data[5] |= (uint8_t) ( (_m->HVC_PhaCurrA_Val_ro & (0xFFU)) );
cframe->Data[6] |= (uint8_t) ( (_m->HVC_ActCurr_Val_ro & (0xFFU)) );
cframe->Data[7] |= (uint8_t) ( (_m->HVC_ActVolt_Val_ro & (0xFFU)) );
cframe->MsgId = (uint32_t) HVC_01_CANID;
cframe->DLC = (uint8_t) HVC_01_DLC;
cframe->IDE = (uint8_t) HVC_01_IDE;
return HVC_01_CANID;
}
#else
uint32_t Pack_HVC_01_candb(HVC_01_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(HVC_01_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE);
#ifdef CANDB_USE_SIGFLOAT
_m->HVC_ActTemp_Val_ro = (uint8_t) CANDB_HVC_ActTemp_Val_ro_toS(_m->HVC_ActTemp_Val_phys);
_m->HVC_PhaCurrA_Val_ro = (uint8_t) CANDB_HVC_PhaCurrA_Val_ro_toS(_m->HVC_PhaCurrA_Val_phys);
_m->HVC_ActCurr_Val_ro = (uint8_t) CANDB_HVC_ActCurr_Val_ro_toS(_m->HVC_ActCurr_Val_phys);
_m->HVC_ActVolt_Val_ro = (uint8_t) CANDB_HVC_ActVolt_Val_ro_toS(_m->HVC_ActVolt_Val_phys);
#endif // CANDB_USE_SIGFLOAT
_d[0] |= (uint8_t) ( (_m->HVC_ActSpeed_Val & (0xFFU)) );
_d[1] |= (uint8_t) ( ((_m->HVC_ActSpeed_Val >> 8U) & (0xFFU)) );
_d[2] |= (uint8_t) ( (_m->HVC_ActTemp_Val_ro & (0x7FU)) | ((_m->HVC_OvTemp_Stat & (0x01U)) << 7U) );
_d[3] |= (uint8_t) ( (_m->HVC_ActMode_Stat & (0x03U)) | ((_m->HVC_FaultLvl_Stat & (0x03U)) << 2U) | ((_m->HVC_OvSpeed_Stat & (0x01U)) << 4U) | ((_m->CCM2_LossStepErr_Stat & (0x01U)) << 5U) | ((_m->HVC_OvLoadErr_Stat & (0x01U)) << 6U) | ((_m->HVC_IGBTErr_Stat & (0x01U)) << 7U) );
_d[4] |= (uint8_t) ( (_m->HVC_ErrCode_Stat & (0xFFU)) );
_d[5] |= (uint8_t) ( (_m->HVC_PhaCurrA_Val_ro & (0xFFU)) );
_d[6] |= (uint8_t) ( (_m->HVC_ActCurr_Val_ro & (0xFFU)) );
_d[7] |= (uint8_t) ( (_m->HVC_ActVolt_Val_ro & (0xFFU)) );
*_len = (uint8_t) HVC_01_DLC;
*_ide = (uint8_t) HVC_01_IDE;
return HVC_01_CANID;
}
#endif // CANDB_USE_CANSTRUCT
uint32_t Unpack_CCU_AC_Ctrl_candb(CCU_AC_Ctrl_t* _m, const uint8_t* _d, uint8_t dlc_)
{
(void)dlc_;
_m->CCU_VCU_ACSpeedReq = (uint16_t) ( ((_d[1] & (0xFFU)) << 8U) | (_d[0] & (0xFFU)) );
_m->CCU_ACMaxPowerConsumptionAllow_ro = (uint8_t) ( (_d[2] & (0xFFU)) );
#ifdef CANDB_USE_SIGFLOAT
_m->CCU_ACMaxPowerConsumptionAllow_phys = (sigfloat_t)(CANDB_CCU_ACMaxPowerConsumptionAllow_ro_fromS(_m->CCU_ACMaxPowerConsumptionAllow_ro));
#endif // CANDB_USE_SIGFLOAT
_m->CCU_VCU_AC_WorkReq = (uint8_t) ( (_d[3] & (0x01U)) );
#ifdef CANDB_USE_DIAG_MONITORS
_m->mon1.dlc_error = (dlc_ < CCU_AC_Ctrl_DLC);
_m->mon1.last_cycle = GetSystemTick();
_m->mon1.frame_cnt++;
FMon_CCU_AC_Ctrl_candb(&_m->mon1, CCU_AC_Ctrl_CANID);
#endif // CANDB_USE_DIAG_MONITORS
return CCU_AC_Ctrl_CANID;
}
#ifdef CANDB_USE_CANSTRUCT
uint32_t Pack_CCU_AC_Ctrl_candb(CCU_AC_Ctrl_t* _m, __CoderDbcCanFrame_t__* cframe)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(CCU_AC_Ctrl_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE);
#ifdef CANDB_USE_SIGFLOAT
_m->CCU_ACMaxPowerConsumptionAllow_ro = (uint8_t) CANDB_CCU_ACMaxPowerConsumptionAllow_ro_toS(_m->CCU_ACMaxPowerConsumptionAllow_phys);
#endif // CANDB_USE_SIGFLOAT
cframe->Data[0] |= (uint8_t) ( (_m->CCU_VCU_ACSpeedReq & (0xFFU)) );
cframe->Data[1] |= (uint8_t) ( ((_m->CCU_VCU_ACSpeedReq >> 8U) & (0xFFU)) );
cframe->Data[2] |= (uint8_t) ( (_m->CCU_ACMaxPowerConsumptionAllow_ro & (0xFFU)) );
cframe->Data[3] |= (uint8_t) ( (_m->CCU_VCU_AC_WorkReq & (0x01U)) );
cframe->MsgId = (uint32_t) CCU_AC_Ctrl_CANID;
cframe->DLC = (uint8_t) CCU_AC_Ctrl_DLC;
cframe->IDE = (uint8_t) CCU_AC_Ctrl_IDE;
return CCU_AC_Ctrl_CANID;
}
#else
uint32_t Pack_CCU_AC_Ctrl_candb(CCU_AC_Ctrl_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide)
{
uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(CCU_AC_Ctrl_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE);
#ifdef CANDB_USE_SIGFLOAT
_m->CCU_ACMaxPowerConsumptionAllow_ro = (uint8_t) CANDB_CCU_ACMaxPowerConsumptionAllow_ro_toS(_m->CCU_ACMaxPowerConsumptionAllow_phys);
#endif // CANDB_USE_SIGFLOAT
_d[0] |= (uint8_t) ( (_m->CCU_VCU_ACSpeedReq & (0xFFU)) );
_d[1] |= (uint8_t) ( ((_m->CCU_VCU_ACSpeedReq >> 8U) & (0xFFU)) );
_d[2] |= (uint8_t) ( (_m->CCU_ACMaxPowerConsumptionAllow_ro & (0xFFU)) );
_d[3] |= (uint8_t) ( (_m->CCU_VCU_AC_WorkReq & (0x01U)) );
*_len = (uint8_t) CCU_AC_Ctrl_DLC;
*_ide = (uint8_t) CCU_AC_Ctrl_IDE;
return CCU_AC_Ctrl_CANID;
}
#endif // CANDB_USE_CANSTRUCT