From d98c276fc2e4e078a51244ce4b12e2226ca4b88c Mon Sep 17 00:00:00 2001 From: cfif Date: Fri, 5 Dec 2025 13:47:22 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- butl/bcm_candb-binutil.c | 365 + butl/bcm_candb-binutil.h | 150 + butl/ccu_candb-binutil.c | 8 +- butl/ccu_candb-binutil.h | 1 - butl/cgw_candb-binutil.c | 429 + butl/cgw_candb-binutil.h | 241 + butl/dmfl_candb-binutil.c | 161 + butl/dmfl_candb-binutil.h | 75 + butl/dmfr_candb-binutil.c | 149 + butl/dmfr_candb-binutil.h | 72 + butl/dmrl_candb-binutil.c | 129 + butl/dmrl_candb-binutil.h | 65 + butl/dmrr_candb-binutil.c | 133 + butl/dmrr_candb-binutil.h | 66 + butl/ethsw_candb-binutil.c | 47 + butl/ethsw_candb-binutil.h | 36 + butl/ftcu_candb-binutil.c | 49 + butl/ftcu_candb-binutil.h | 44 + butl/ic_candb-binutil.c | 169 + butl/ic_candb-binutil.h | 74 + butl/lb_psilcu_candb-binutil.c | 41 + butl/lb_psilcu_candb-binutil.h | 40 + butl/ptg_candb-binutil.c | 61 + butl/ptg_candb-binutil.h | 46 + butl/rb_psilcu_candb-binutil.c | 41 + butl/rb_psilcu_candb-binutil.h | 40 + butl/rbcu_candb-binutil.c | 41 + butl/rbcu_candb-binutil.h | 39 + butl/sdm_candb-binutil.c | 181 + butl/sdm_candb-binutil.h | 76 + butl/smfl_candb-binutil.c | 133 + butl/smfl_candb-binutil.h | 70 + butl/smfr_candb-binutil.c | 145 + butl/smfr_candb-binutil.h | 73 + butl/smrl_candb-binutil.c | 97 + butl/smrl_candb-binutil.h | 58 + butl/smrr_candb-binutil.c | 105 + butl/smrr_candb-binutil.h | 60 + butl/sroof_candb-binutil.c | 49 + butl/sroof_candb-binutil.h | 42 + butl/tm_candb-binutil.c | 213 + butl/tm_candb-binutil.h | 109 + butl/vau_candb-binutil.c | 125 + butl/vau_candb-binutil.h | 71 + butl/vector__xxx_candb-binutil.c | 208 +- butl/vector__xxx_candb-binutil.h | 97 +- butl/wch_candb-binutil.c | 57 + butl/wch_candb-binutil.h | 45 + lib/candb-fmon.h | 669 +- lib/candb.c | 15751 ++++++++- lib/candb.h | 49744 ++++++++++++++++++++++++++++- usr/candb-fmon.c | 1328 +- 52 files changed, 71703 insertions(+), 615 deletions(-) create mode 100644 butl/bcm_candb-binutil.c create mode 100644 butl/bcm_candb-binutil.h create mode 100644 butl/cgw_candb-binutil.c create mode 100644 butl/cgw_candb-binutil.h create mode 100644 butl/dmfl_candb-binutil.c create mode 100644 butl/dmfl_candb-binutil.h create mode 100644 butl/dmfr_candb-binutil.c create mode 100644 butl/dmfr_candb-binutil.h create mode 100644 butl/dmrl_candb-binutil.c create mode 100644 butl/dmrl_candb-binutil.h create mode 100644 butl/dmrr_candb-binutil.c create mode 100644 butl/dmrr_candb-binutil.h create mode 100644 butl/ethsw_candb-binutil.c create mode 100644 butl/ethsw_candb-binutil.h create mode 100644 butl/ftcu_candb-binutil.c create mode 100644 butl/ftcu_candb-binutil.h create mode 100644 butl/ic_candb-binutil.c create mode 100644 butl/ic_candb-binutil.h create mode 100644 butl/lb_psilcu_candb-binutil.c create mode 100644 butl/lb_psilcu_candb-binutil.h create mode 100644 butl/ptg_candb-binutil.c create mode 100644 butl/ptg_candb-binutil.h create mode 100644 butl/rb_psilcu_candb-binutil.c create mode 100644 butl/rb_psilcu_candb-binutil.h create mode 100644 butl/rbcu_candb-binutil.c create mode 100644 butl/rbcu_candb-binutil.h create mode 100644 butl/sdm_candb-binutil.c create mode 100644 butl/sdm_candb-binutil.h create mode 100644 butl/smfl_candb-binutil.c create mode 100644 butl/smfl_candb-binutil.h create mode 100644 butl/smfr_candb-binutil.c create mode 100644 butl/smfr_candb-binutil.h create mode 100644 butl/smrl_candb-binutil.c create mode 100644 butl/smrl_candb-binutil.h create mode 100644 butl/smrr_candb-binutil.c create mode 100644 butl/smrr_candb-binutil.h create mode 100644 butl/sroof_candb-binutil.c create mode 100644 butl/sroof_candb-binutil.h create mode 100644 butl/tm_candb-binutil.c create mode 100644 butl/tm_candb-binutil.h create mode 100644 butl/vau_candb-binutil.c create mode 100644 butl/vau_candb-binutil.h create mode 100644 butl/wch_candb-binutil.c create mode 100644 butl/wch_candb-binutil.h diff --git a/butl/bcm_candb-binutil.c b/butl/bcm_candb-binutil.c new file mode 100644 index 0000000..de52927 --- /dev/null +++ b/butl/bcm_candb-binutil.c @@ -0,0 +1,365 @@ +// Generator version : v3.1 +// DBC filename : CCU.dbc +#include "bcm_candb-binutil.h" + +// DBC file version +#if (VER_CANDB_MAJ != (0U)) || (VER_CANDB_MIN != (0U)) +#error The BCM_CANDB binutil source file has inconsistency with core dbc lib! +#endif + +#ifdef __DEF_BCM_CANDB__ + +bcm_candb_rx_t bcm_candb_rx; + +bcm_candb_tx_t bcm_candb_tx; + +#endif // __DEF_BCM_CANDB__ + +uint32_t bcm_candb_Receive(bcm_candb_rx_t* _m, const uint8_t* _d, uint32_t _id, uint8_t dlc_) +{ + uint32_t recid = 0; + if ((_id >= 0xB1U) && (_id < 0x50FU)) { + if ((_id >= 0xB1U) && (_id < 0x253U)) { + if ((_id >= 0xB1U) && (_id < 0x21AU)) { + if ((_id >= 0xB1U) && (_id < 0x153U)) { + if ((_id >= 0xB1U) && (_id < 0x100U)) { + if (_id == 0xB1U) { + recid = Unpack_TCU_R932_1_candb(&(_m->TCU_R932_1), _d, dlc_); + } else if (_id == 0xF2U) { + recid = Unpack_SCU_02_candb(&(_m->SCU_02), _d, dlc_); + } + } else { + if (_id == 0x100U) { + recid = Unpack_ESC_04_candb(&(_m->ESC_04), _d, dlc_); + } else { + if (_id == 0x121U) { + recid = Unpack_VAU2_Msg1_candb(&(_m->VAU2_Msg1), _d, dlc_); + } else if (_id == 0x150U) { + recid = Unpack_EMS_Veh_candb(&(_m->EMS_Veh), _d, dlc_); + } + } + } + } else { + if ((_id >= 0x153U) && (_id < 0x156U)) { + if (_id == 0x153U) { + recid = Unpack_EMS_Veh_02_candb(&(_m->EMS_Veh_02), _d, dlc_); + } else if (_id == 0x155U) { + recid = Unpack_EMS_EEM_01_candb(&(_m->EMS_EEM_01), _d, dlc_); + } + } else { + if (_id == 0x156U) { + recid = Unpack_EMS_EEM_02_candb(&(_m->EMS_EEM_02), _d, dlc_); + } else { + if (_id == 0x20AU) { + recid = Unpack_DAS_02_candb(&(_m->DAS_02), _d, dlc_); + } else if (_id == 0x210U) { + recid = Unpack_ACU_01_candb(&(_m->ACU_01), _d, dlc_); + } + } + } + } + } else { + if ((_id >= 0x21AU) && (_id < 0x246U)) { + if ((_id >= 0x21AU) && (_id < 0x243U)) { + if (_id == 0x21AU) { + recid = Unpack_EPB_Status_candb(&(_m->EPB_Status), _d, dlc_); + } else if (_id == 0x238U) { + recid = Unpack_SWM_ContrlsState_candb(&(_m->SWM_ContrlsState), _d, dlc_); + } + } else { + if (_id == 0x243U) { + recid = Unpack_DMFR_Msg1_candb(&(_m->DMFR_Msg1), _d, dlc_); + } else { + if (_id == 0x244U) { + recid = Unpack_DMFL_Msg1_candb(&(_m->DMFL_Msg1), _d, dlc_); + } else if (_id == 0x245U) { + recid = Unpack_DMRL_Msg1_candb(&(_m->DMRL_Msg1), _d, dlc_); + } + } + } + } else { + if ((_id >= 0x246U) && (_id < 0x24CU)) { + if (_id == 0x246U) { + recid = Unpack_DMRR_Msg1_candb(&(_m->DMRR_Msg1), _d, dlc_); + } else { + if (_id == 0x247U) { + recid = Unpack_TM_Stat_candb(&(_m->TM_Stat), _d, dlc_); + } else if (_id == 0x249U) { + recid = Unpack_PTG_Body_Stat_candb(&(_m->PTG_Body_Stat), _d, dlc_); + } + } + } else { + if (_id == 0x24CU) { + recid = Unpack_TM_CP_candb(&(_m->TM_CP), _d, dlc_); + } else { + if (_id == 0x24FU) { + recid = Unpack_VAU2_Msg2_candb(&(_m->VAU2_Msg2), _d, dlc_); + } else if (_id == 0x252U) { + recid = Unpack_LB_pSilCU_State_candb(&(_m->LB_pSilCU_State), _d, dlc_); + } + } + } + } + } + } else { + if ((_id >= 0x253U) && (_id < 0x3D0U)) { + if ((_id >= 0x253U) && (_id < 0x368U)) { + if ((_id >= 0x253U) && (_id < 0x2B0U)) { + if (_id == 0x253U) { + recid = Unpack_RB_pSilCU_State_candb(&(_m->RB_pSilCU_State), _d, dlc_); + } else if (_id == 0x277U) { + recid = Unpack_ATS_Status_candb(&(_m->ATS_Status), _d, dlc_); + } + } else { + if (_id == 0x2B0U) { + recid = Unpack_SAS_Standard_candb(&(_m->SAS_Standard), _d, dlc_); + } else { + if (_id == 0x2E7U) { + recid = Unpack_IC_ABSOLUTE_CLOCK_candb(&(_m->IC_ABSOLUTE_CLOCK), _d, dlc_); + } else if (_id == 0x367U) { + recid = Unpack_DMFL_SMFL_REQ_CTR_SEATS_candb(&(_m->DMFL_SMFL_REQ_CTR_SEATS), _d, dlc_); + } + } + } + } else { + if ((_id >= 0x368U) && (_id < 0x380U)) { + if (_id == 0x368U) { + recid = Unpack_DMFR_SMFR_REQ_CTR_SEATS_candb(&(_m->DMFR_SMFR_REQ_CTR_SEATS), _d, dlc_); + } else { + if (_id == 0x369U) { + recid = Unpack_DMRL_SMRL_REQ_CTR_SEATS_candb(&(_m->DMRL_SMRL_REQ_CTR_SEATS), _d, dlc_); + } else if (_id == 0x36AU) { + recid = Unpack_DMRR_SMRR_REQ_CTR_SEATS_candb(&(_m->DMRR_SMRR_REQ_CTR_SEATS), _d, dlc_); + } + } + } else { + if (_id == 0x380U) { + recid = Unpack_CCU_Msg1_candb(&(_m->CCU_Msg1), _d, dlc_); + } else { + if (_id == 0x38AU) { + recid = Unpack_Sroof_State_candb(&(_m->Sroof_State), _d, dlc_); + } else if (_id == 0x3C1U) { + recid = Unpack_ESC_08_candb(&(_m->ESC_08), _d, dlc_); + } + } + } + } + } else { + if ((_id >= 0x3D0U) && (_id < 0x4D0U)) { + if ((_id >= 0x3D0U) && (_id < 0x4AFU)) { + if (_id == 0x3D0U) { + recid = Unpack_MAS_Status_candb(&(_m->MAS_Status), _d, dlc_); + } else if (_id == 0x495U) { + recid = Unpack_CGW_COMM_REQ_candb(&(_m->CGW_COMM_REQ), _d, dlc_); + } + } else { + if (_id == 0x4AFU) { + recid = Unpack_DCDC1248_01_candb(&(_m->DCDC1248_01), _d, dlc_); + } else { + if (_id == 0x4B1U) { + recid = Unpack_DCDC1248_02_candb(&(_m->DCDC1248_02), _d, dlc_); + } else if (_id == 0x4B6U) { + recid = Unpack_FIU_Profile_candb(&(_m->FIU_Profile), _d, dlc_); + } + } + } + } else { + if ((_id >= 0x4D0U) && (_id < 0x4D3U)) { + if (_id == 0x4D0U) { + recid = Unpack_SMFL_status_candb(&(_m->SMFL_status), _d, dlc_); + } else { + if (_id == 0x4D1U) { + recid = Unpack_SMFR_status_candb(&(_m->SMFR_status), _d, dlc_); + } else if (_id == 0x4D2U) { + recid = Unpack_SMRL_status_candb(&(_m->SMRL_status), _d, dlc_); + } + } + } else { + if (_id == 0x4D3U) { + recid = Unpack_SMRR_status_candb(&(_m->SMRR_status), _d, dlc_); + } else { + if (_id == 0x501U) { + recid = Unpack_CCU_Msg3_candb(&(_m->CCU_Msg3), _d, dlc_); + } else if (_id == 0x50BU) { + recid = Unpack_FIU_Cmd_candb(&(_m->FIU_Cmd), _d, dlc_); + } + } + } + } + } + } + } else { + if ((_id >= 0x50FU) && (_id < 0x599U)) { + if ((_id >= 0x50FU) && (_id < 0x539U)) { + if ((_id >= 0x50FU) && (_id < 0x524U)) { + if ((_id >= 0x50FU) && (_id < 0x521U)) { + if (_id == 0x50FU) { + recid = Unpack_SDM_Cmd_candb(&(_m->SDM_Cmd), _d, dlc_); + } else if (_id == 0x511U) { + recid = Unpack_HUD_MSG_STATUS_candb(&(_m->HUD_MSG_STATUS), _d, dlc_); + } + } else { + if (_id == 0x521U) { + recid = Unpack_OCUFL_MSG_candb(&(_m->OCUFL_MSG), _d, dlc_); + } else { + if (_id == 0x522U) { + recid = Unpack_OCUFR_MSG_candb(&(_m->OCUFR_MSG), _d, dlc_); + } else if (_id == 0x523U) { + recid = Unpack_OCURL_MSG_candb(&(_m->OCURL_MSG), _d, dlc_); + } + } + } + } else { + if ((_id >= 0x524U) && (_id < 0x533U)) { + if (_id == 0x524U) { + recid = Unpack_OCURR_MSG_candb(&(_m->OCURR_MSG), _d, dlc_); + } else if (_id == 0x525U) { + recid = Unpack_RBCU_BODY_Stat_candb(&(_m->RBCU_BODY_Stat), _d, dlc_); + } + } else { + if (_id == 0x533U) { + recid = Unpack_SMFL_MEM1_candb(&(_m->SMFL_MEM1), _d, dlc_); + } else { + if (_id == 0x535U) { + recid = Unpack_SMFL_MEM2_candb(&(_m->SMFL_MEM2), _d, dlc_); + } else if (_id == 0x537U) { + recid = Unpack_SMFR_MEM1_candb(&(_m->SMFR_MEM1), _d, dlc_); + } + } + } + } + } else { + if ((_id >= 0x539U) && (_id < 0x58EU)) { + if ((_id >= 0x539U) && (_id < 0x53DU)) { + if (_id == 0x539U) { + recid = Unpack_SMFR_MEM2_candb(&(_m->SMFR_MEM2), _d, dlc_); + } else if (_id == 0x53BU) { + recid = Unpack_SMRL_MEM1_candb(&(_m->SMRL_MEM1), _d, dlc_); + } + } else { + if (_id == 0x53DU) { + recid = Unpack_SMRL_MEM2_candb(&(_m->SMRL_MEM2), _d, dlc_); + } else { + if (_id == 0x53FU) { + recid = Unpack_SMRR_MEM1_candb(&(_m->SMRR_MEM1), _d, dlc_); + } else if (_id == 0x541U) { + recid = Unpack_SMRR_MEM2_candb(&(_m->SMRR_MEM2), _d, dlc_); + } + } + } + } else { + if ((_id >= 0x58EU) && (_id < 0x596U)) { + if (_id == 0x58EU) { + recid = Unpack_FIU_Msg1_candb(&(_m->FIU_Msg1), _d, dlc_); + } else { + if (_id == 0x58FU) { + recid = Unpack_FIU_Msg2_candb(&(_m->FIU_Msg2), _d, dlc_); + } else if (_id == 0x594U) { + recid = Unpack_FIU_Msg3_candb(&(_m->FIU_Msg3), _d, dlc_); + } + } + } else { + if (_id == 0x596U) { + recid = Unpack_WHFL_MSG1_candb(&(_m->WHFL_MSG1), _d, dlc_); + } else { + if (_id == 0x597U) { + recid = Unpack_WHFR_Msg1_candb(&(_m->WHFR_Msg1), _d, dlc_); + } else if (_id == 0x598U) { + recid = Unpack_PLDSilCU_State_candb(&(_m->PLDSilCU_State), _d, dlc_); + } + } + } + } + } + } else { + if ((_id >= 0x599U) && (_id < 0x5E9U)) { + if ((_id >= 0x599U) && (_id < 0x5A3U)) { + if ((_id >= 0x599U) && (_id < 0x59BU)) { + if (_id == 0x599U) { + recid = Unpack_PRDSilCU_State_candb(&(_m->PRDSilCU_State), _d, dlc_); + } else if (_id == 0x59AU) { + recid = Unpack_FLDSilCU_State_candb(&(_m->FLDSilCU_State), _d, dlc_); + } + } else { + if (_id == 0x59BU) { + recid = Unpack_FRDSilCU_State_candb(&(_m->FRDSilCU_State), _d, dlc_); + } else { + if (_id == 0x59CU) { + recid = Unpack_RLDSilCU_State_candb(&(_m->RLDSilCU_State), _d, dlc_); + } else if (_id == 0x59DU) { + recid = Unpack_RRDSilCU_State_candb(&(_m->RRDSilCU_State), _d, dlc_); + } + } + } + } else { + if ((_id >= 0x5A3U) && (_id < 0x5CBU)) { + if (_id == 0x5A3U) { + recid = Unpack_FIU_CCU3_candb(&(_m->FIU_CCU3), _d, dlc_); + } else { + if (_id == 0x5AAU) { + recid = Unpack_IC_DISPLAY_CLOCK_candb(&(_m->IC_DISPLAY_CLOCK), _d, dlc_); + } else if (_id == 0x5CAU) { + recid = Unpack_ICLSilCU_State_candb(&(_m->ICLSilCU_State), _d, dlc_); + } + } + } else { + if (_id == 0x5CBU) { + recid = Unpack_ICRSilCU_State_candb(&(_m->ICRSilCU_State), _d, dlc_); + } else { + if (_id == 0x5DAU) { + recid = Unpack_SFRSilCU_State_candb(&(_m->SFRSilCU_State), _d, dlc_); + } else if (_id == 0x5DBU) { + recid = Unpack_SFLSilCU_State_candb(&(_m->SFLSilCU_State), _d, dlc_); + } + } + } + } + } else { + if ((_id >= 0x5E9U) && (_id < 0x5EFU)) { + if ((_id >= 0x5E9U) && (_id < 0x5EBU)) { + if (_id == 0x5E9U) { + recid = Unpack_RDRSilCU_State_candb(&(_m->RDRSilCU_State), _d, dlc_); + } else if (_id == 0x5EAU) { + recid = Unpack_FCSilCU_State_candb(&(_m->FCSilCU_State), _d, dlc_); + } + } else { + if (_id == 0x5EBU) { + recid = Unpack_RCLSilCU_State_candb(&(_m->RCLSilCU_State), _d, dlc_); + } else { + if (_id == 0x5ECU) { + recid = Unpack_RCRSilCU_State_candb(&(_m->RCRSilCU_State), _d, dlc_); + } else if (_id == 0x5EDU) { + recid = Unpack_RDLSilCU_State_candb(&(_m->RDLSilCU_State), _d, dlc_); + } + } + } + } else { + if ((_id >= 0x5EFU) && (_id < 0x691U)) { + if (_id == 0x5EFU) { + recid = Unpack_CCPF_BodyTM_Stat_candb(&(_m->CCPF_BodyTM_Stat), _d, dlc_); + } else { + if (_id == 0x622U) { + recid = Unpack_VAU_BLE_Device_candb(&(_m->VAU_BLE_Device), _d, dlc_); + } else if (_id == 0x690U) { + recid = Unpack_SSL_Status_candb(&(_m->SSL_Status), _d, dlc_); + } + } + } else { + if (_id == 0x691U) { + recid = Unpack_SSR_Status_candb(&(_m->SSR_Status), _d, dlc_); + } else { + if (_id == 0x7A3U) { + recid = Unpack_Diag_To_BCM_candb(&(_m->Diag_To_BCM), _d, dlc_); + } else if (_id == 0x7DFU) { + recid = Unpack_Diag_Functional_candb(&(_m->Diag_Functional), _d, dlc_); + } + } + } + } + } + } + } + + return recid; +} + diff --git a/butl/bcm_candb-binutil.h b/butl/bcm_candb-binutil.h new file mode 100644 index 0000000..123a36d --- /dev/null +++ b/butl/bcm_candb-binutil.h @@ -0,0 +1,150 @@ +// Generator version : v3.1 +// DBC filename : CCU.dbc +#pragma once + +#ifdef __cplusplus +extern "C" { +#endif + +#include "dbccodeconf.h" + +#include "candb.h" + +typedef struct +{ + TCU_R932_1_t TCU_R932_1; + SCU_02_t SCU_02; + ESC_04_t ESC_04; + VAU2_Msg1_t VAU2_Msg1; + EMS_Veh_t EMS_Veh; + EMS_Veh_02_t EMS_Veh_02; + EMS_EEM_01_t EMS_EEM_01; + EMS_EEM_02_t EMS_EEM_02; + DAS_02_t DAS_02; + ACU_01_t ACU_01; + EPB_Status_t EPB_Status; + SWM_ContrlsState_t SWM_ContrlsState; + DMFR_Msg1_t DMFR_Msg1; + DMFL_Msg1_t DMFL_Msg1; + DMRL_Msg1_t DMRL_Msg1; + DMRR_Msg1_t DMRR_Msg1; + TM_Stat_t TM_Stat; + PTG_Body_Stat_t PTG_Body_Stat; + TM_CP_t TM_CP; + VAU2_Msg2_t VAU2_Msg2; + LB_pSilCU_State_t LB_pSilCU_State; + RB_pSilCU_State_t RB_pSilCU_State; + ATS_Status_t ATS_Status; + SAS_Standard_t SAS_Standard; + IC_ABSOLUTE_CLOCK_t IC_ABSOLUTE_CLOCK; + DMFL_SMFL_REQ_CTR_SEATS_t DMFL_SMFL_REQ_CTR_SEATS; + DMFR_SMFR_REQ_CTR_SEATS_t DMFR_SMFR_REQ_CTR_SEATS; + DMRL_SMRL_REQ_CTR_SEATS_t DMRL_SMRL_REQ_CTR_SEATS; + DMRR_SMRR_REQ_CTR_SEATS_t DMRR_SMRR_REQ_CTR_SEATS; + CCU_Msg1_t CCU_Msg1; + Sroof_State_t Sroof_State; + ESC_08_t ESC_08; + MAS_Status_t MAS_Status; + CGW_COMM_REQ_t CGW_COMM_REQ; + DCDC1248_01_t DCDC1248_01; + DCDC1248_02_t DCDC1248_02; + FIU_Profile_t FIU_Profile; + SMFL_status_t SMFL_status; + SMFR_status_t SMFR_status; + SMRL_status_t SMRL_status; + SMRR_status_t SMRR_status; + CCU_Msg3_t CCU_Msg3; + FIU_Cmd_t FIU_Cmd; + SDM_Cmd_t SDM_Cmd; + HUD_MSG_STATUS_t HUD_MSG_STATUS; + OCUFL_MSG_t OCUFL_MSG; + OCUFR_MSG_t OCUFR_MSG; + OCURL_MSG_t OCURL_MSG; + OCURR_MSG_t OCURR_MSG; + RBCU_BODY_Stat_t RBCU_BODY_Stat; + SMFL_MEM1_t SMFL_MEM1; + SMFL_MEM2_t SMFL_MEM2; + SMFR_MEM1_t SMFR_MEM1; + SMFR_MEM2_t SMFR_MEM2; + SMRL_MEM1_t SMRL_MEM1; + SMRL_MEM2_t SMRL_MEM2; + SMRR_MEM1_t SMRR_MEM1; + SMRR_MEM2_t SMRR_MEM2; + FIU_Msg1_t FIU_Msg1; + FIU_Msg2_t FIU_Msg2; + FIU_Msg3_t FIU_Msg3; + WHFL_MSG1_t WHFL_MSG1; + WHFR_Msg1_t WHFR_Msg1; + PLDSilCU_State_t PLDSilCU_State; + PRDSilCU_State_t PRDSilCU_State; + FLDSilCU_State_t FLDSilCU_State; + FRDSilCU_State_t FRDSilCU_State; + RLDSilCU_State_t RLDSilCU_State; + RRDSilCU_State_t RRDSilCU_State; + FIU_CCU3_t FIU_CCU3; + IC_DISPLAY_CLOCK_t IC_DISPLAY_CLOCK; + ICLSilCU_State_t ICLSilCU_State; + ICRSilCU_State_t ICRSilCU_State; + SFRSilCU_State_t SFRSilCU_State; + SFLSilCU_State_t SFLSilCU_State; + RDRSilCU_State_t RDRSilCU_State; + FCSilCU_State_t FCSilCU_State; + RCLSilCU_State_t RCLSilCU_State; + RCRSilCU_State_t RCRSilCU_State; + RDLSilCU_State_t RDLSilCU_State; + CCPF_BodyTM_Stat_t CCPF_BodyTM_Stat; + VAU_BLE_Device_t VAU_BLE_Device; + SSL_Status_t SSL_Status; + SSR_Status_t SSR_Status; + Diag_To_BCM_t Diag_To_BCM; + Diag_Functional_t Diag_Functional; +} bcm_candb_rx_t; + +typedef struct +{ + BCM_Powertrain_t BCM_Powertrain; + BCM_EEM_t BCM_EEM; + BCM_ExteriorLightState_t BCM_ExteriorLightState; + BCM_StyleCmd1_t BCM_StyleCmd1; + BCM_DMS_01_t BCM_DMS_01; + BCM_VEH_STATE_t BCM_VEH_STATE; + BCM_Veh_State2_t BCM_Veh_State2; + BCM_ALS_Light_Front_t BCM_ALS_Light_Front; + BCM_ALS_Light_Rear_t BCM_ALS_Light_Rear; + BCM_Rear_Plafond_Light_Data_t BCM_Rear_Plafond_Light_Data; + BCM_Lock_CTR_t BCM_Lock_CTR; + BCM_DCDC12_CNTRL_t BCM_DCDC12_CNTRL; + BCM_IC_Info_Msg_t BCM_IC_Info_Msg; + BCM_CLIMATIC_DATA_t BCM_CLIMATIC_DATA; + VEH_VIN_t VEH_VIN; + BCM_RunningBoards_t BCM_RunningBoards; + BCM_MEM_SMFL1_t BCM_MEM_SMFL1; + BCM_MEM_SMFL2_t BCM_MEM_SMFL2; + BCM_MEM_SMFR1_t BCM_MEM_SMFR1; + BCM_MEM_SMFR2_t BCM_MEM_SMFR2; + BCM_MEM_SMRL1_t BCM_MEM_SMRL1; + BCM_MEM_SMRL2_t BCM_MEM_SMRL2; + BCM_MEM_SMRR1_t BCM_MEM_SMRR1; + BCM_MEM_SMRR2_t BCM_MEM_SMRR2; + BCM_StyleCmd2_t BCM_StyleCmd2; + BCM_StyleCmd3_t BCM_StyleCmd3; + BCM_WHF_Request_t BCM_WHF_Request; + BCM_UserConfig_Stat_t BCM_UserConfig_Stat; + Diag_From_APU_t Diag_From_APU; + Diag_To_APU_t Diag_To_APU; + Diag_From_BCM_t Diag_From_BCM; +} bcm_candb_tx_t; + +uint32_t bcm_candb_Receive(bcm_candb_rx_t* m, const uint8_t* d, uint32_t msgid, uint8_t dlc); + +#ifdef __DEF_BCM_CANDB__ + +extern bcm_candb_rx_t bcm_candb_rx; + +extern bcm_candb_tx_t bcm_candb_tx; + +#endif // __DEF_BCM_CANDB__ + +#ifdef __cplusplus +} +#endif diff --git a/butl/ccu_candb-binutil.c b/butl/ccu_candb-binutil.c index bbbc5a9..c636c03 100644 --- a/butl/ccu_candb-binutil.c +++ b/butl/ccu_candb-binutil.c @@ -136,12 +136,8 @@ uint32_t ccu_candb_Receive(ccu_candb_rx_t* _m, const uint8_t* _d, uint32_t _id, } else { if (_id == 0x7ABU) { recid = Unpack_Diag_To_CCU_candb(&(_m->Diag_To_CCU), _d, dlc_); - } else { - if (_id == 0x7DFU) { - recid = Unpack_Diag_Functional_candb(&(_m->Diag_Functional), _d, dlc_); - } else if (_id == 0x18FF7919U) { - recid = Unpack_HVC_01_candb(&(_m->HVC_01), _d, dlc_); - } + } else if (_id == 0x7DFU) { + recid = Unpack_Diag_Functional_candb(&(_m->Diag_Functional), _d, dlc_); } } } diff --git a/butl/ccu_candb-binutil.h b/butl/ccu_candb-binutil.h index bc7c031..28dec70 100644 --- a/butl/ccu_candb-binutil.h +++ b/butl/ccu_candb-binutil.h @@ -44,7 +44,6 @@ typedef struct FIU_CCU3_t FIU_CCU3; Diag_To_CCU_t Diag_To_CCU; Diag_Functional_t Diag_Functional; - HVC_01_t HVC_01; } ccu_candb_rx_t; typedef struct diff --git a/butl/cgw_candb-binutil.c b/butl/cgw_candb-binutil.c new file mode 100644 index 0000000..8ae551f --- /dev/null +++ b/butl/cgw_candb-binutil.c @@ -0,0 +1,429 @@ +// Generator version : v3.1 +// DBC filename : CCU.dbc +#include "cgw_candb-binutil.h" + +// DBC file version +#if (VER_CANDB_MAJ != (0U)) || (VER_CANDB_MIN != (0U)) +#error The CGW_CANDB binutil source file has inconsistency with core dbc lib! +#endif + +#ifdef __DEF_CGW_CANDB__ + +cgw_candb_rx_t cgw_candb_rx; + +cgw_candb_tx_t cgw_candb_tx; + +#endif // __DEF_CGW_CANDB__ + +uint32_t cgw_candb_Receive(cgw_candb_rx_t* _m, const uint8_t* _d, uint32_t _id, uint8_t dlc_) +{ + uint32_t recid = 0; + if ((_id >= 0x51U) && (_id < 0x523U)) { + if ((_id >= 0x51U) && (_id < 0x2F0U)) { + if ((_id >= 0x51U) && (_id < 0x243U)) { + if ((_id >= 0x51U) && (_id < 0xBFU)) { + if ((_id >= 0x51U) && (_id < 0x94U)) { + if (_id == 0x51U) { + recid = Unpack_SDM_MAS_Req_candb(&(_m->SDM_MAS_Req), _d, dlc_); + } else { + if (_id == 0x8FU) { + recid = Unpack_VAU_TCU_Hash_Resp_candb(&(_m->VAU_TCU_Hash_Resp), _d, dlc_); + } else if (_id == 0x91U) { + recid = Unpack_VAU_EMS_VCU_Hash_Resp_candb(&(_m->VAU_EMS_VCU_Hash_Resp), _d, dlc_); + } + } + } else { + if (_id == 0x94U) { + recid = Unpack_VAU2_INVRL_Hash_Resp_candb(&(_m->VAU2_INVRL_Hash_Resp), _d, dlc_); + } else { + if (_id == 0x95U) { + recid = Unpack_WChF_NFC_VAU_Transfer_State_candb(&(_m->WChF_NFC_VAU_Transfer_State), _d, dlc_); + } else if (_id == 0x98U) { + recid = Unpack_VAU2_INVRR_Hash_Resp_candb(&(_m->VAU2_INVRR_Hash_Resp), _d, dlc_); + } + } + } + } else { + if ((_id >= 0xBFU) && (_id < 0x152U)) { + if (_id == 0xBFU) { + recid = Unpack_VAU2_INVF_Hash_Resp_candb(&(_m->VAU2_INVF_Hash_Resp), _d, dlc_); + } else { + if (_id == 0xE3U) { + recid = Unpack_FTCU_DAT1_candb(&(_m->FTCU_DAT1), _d, dlc_); + } else if (_id == 0xE5U) { + recid = Unpack_FTCU_DAT3_candb(&(_m->FTCU_DAT3), _d, dlc_); + } + } + } else { + if (_id == 0x152U) { + recid = Unpack_BCM_Powertrain_candb(&(_m->BCM_Powertrain), _d, dlc_); + } else { + if (_id == 0x157U) { + recid = Unpack_BCM_EEM_candb(&(_m->BCM_EEM), _d, dlc_); + } else if (_id == 0x231U) { + recid = Unpack_BCM_ExteriorLightState_candb(&(_m->BCM_ExteriorLightState), _d, dlc_); + } + } + } + } + } else { + if ((_id >= 0x243U) && (_id < 0x24CU)) { + if ((_id >= 0x243U) && (_id < 0x246U)) { + if (_id == 0x243U) { + recid = Unpack_DMFR_Msg1_candb(&(_m->DMFR_Msg1), _d, dlc_); + } else { + if (_id == 0x244U) { + recid = Unpack_DMFL_Msg1_candb(&(_m->DMFL_Msg1), _d, dlc_); + } else if (_id == 0x245U) { + recid = Unpack_DMRL_Msg1_candb(&(_m->DMRL_Msg1), _d, dlc_); + } + } + } else { + if (_id == 0x246U) { + recid = Unpack_DMRR_Msg1_candb(&(_m->DMRR_Msg1), _d, dlc_); + } else { + if (_id == 0x247U) { + recid = Unpack_TM_Stat_candb(&(_m->TM_Stat), _d, dlc_); + } else if (_id == 0x249U) { + recid = Unpack_PTG_Body_Stat_candb(&(_m->PTG_Body_Stat), _d, dlc_); + } + } + } + } else { + if ((_id >= 0x24CU) && (_id < 0x280U)) { + if (_id == 0x24CU) { + recid = Unpack_TM_CP_candb(&(_m->TM_CP), _d, dlc_); + } else { + if (_id == 0x24FU) { + recid = Unpack_VAU2_Msg2_candb(&(_m->VAU2_Msg2), _d, dlc_); + } else if (_id == 0x251U) { + recid = Unpack_BCM_DMS_01_candb(&(_m->BCM_DMS_01), _d, dlc_); + } + } + } else { + if ((_id >= 0x280U) && (_id < 0x283U)) { + if (_id == 0x280U) { + recid = Unpack_BCM_VEH_STATE_candb(&(_m->BCM_VEH_STATE), _d, dlc_); + } else if (_id == 0x282U) { + recid = Unpack_BCM_Veh_State2_candb(&(_m->BCM_Veh_State2), _d, dlc_); + } + } else { + if (_id == 0x283U) { + recid = Unpack_BCM_ALS_Light_Front_candb(&(_m->BCM_ALS_Light_Front), _d, dlc_); + } else if (_id == 0x284U) { + recid = Unpack_BCM_ALS_Light_Rear_candb(&(_m->BCM_ALS_Light_Rear), _d, dlc_); + } + } + } + } + } + } else { + if ((_id >= 0x2F0U) && (_id < 0x4D1U)) { + if ((_id >= 0x2F0U) && (_id < 0x315U)) { + if ((_id >= 0x2F0U) && (_id < 0x311U)) { + if (_id == 0x2F0U) { + recid = Unpack_BCM_Lock_CTR_candb(&(_m->BCM_Lock_CTR), _d, dlc_); + } else { + if (_id == 0x308U) { + recid = Unpack_BCM_DCDC12_CNTRL_candb(&(_m->BCM_DCDC12_CNTRL), _d, dlc_); + } else if (_id == 0x310U) { + recid = Unpack_CCU_HVC_Req_Msg_candb(&(_m->CCU_HVC_Req_Msg), _d, dlc_); + } + } + } else { + if (_id == 0x311U) { + recid = Unpack_CCU_Stat1_candb(&(_m->CCU_Stat1), _d, dlc_); + } else { + if (_id == 0x312U) { + recid = Unpack_CCU_Stat2_candb(&(_m->CCU_Stat2), _d, dlc_); + } else if (_id == 0x314U) { + recid = Unpack_CCU_Stat3_candb(&(_m->CCU_Stat3), _d, dlc_); + } + } + } + } else { + if ((_id >= 0x315U) && (_id < 0x365U)) { + if (_id == 0x315U) { + recid = Unpack_CCU_VCU_Msg1_candb(&(_m->CCU_VCU_Msg1), _d, dlc_); + } else { + if (_id == 0x316U) { + recid = Unpack_CCU_VCU_Msg2_candb(&(_m->CCU_VCU_Msg2), _d, dlc_); + } else if (_id == 0x362U) { + recid = Unpack_BCM_IC_Info_Msg_candb(&(_m->BCM_IC_Info_Msg), _d, dlc_); + } + } + } else { + if ((_id >= 0x365U) && (_id < 0x3CBU)) { + if (_id == 0x365U) { + recid = Unpack_BCM_CLIMATIC_DATA_candb(&(_m->BCM_CLIMATIC_DATA), _d, dlc_); + } else if (_id == 0x380U) { + recid = Unpack_CCU_Msg1_candb(&(_m->CCU_Msg1), _d, dlc_); + } + } else { + if (_id == 0x3CBU) { + recid = Unpack_WChF_Status_candb(&(_m->WChF_Status), _d, dlc_); + } else if (_id == 0x4D0U) { + recid = Unpack_SMFL_status_candb(&(_m->SMFL_status), _d, dlc_); + } + } + } + } + } else { + if ((_id >= 0x4D1U) && (_id < 0x4FEU)) { + if ((_id >= 0x4D1U) && (_id < 0x4D4U)) { + if (_id == 0x4D1U) { + recid = Unpack_SMFR_status_candb(&(_m->SMFR_status), _d, dlc_); + } else { + if (_id == 0x4D2U) { + recid = Unpack_SMRL_status_candb(&(_m->SMRL_status), _d, dlc_); + } else if (_id == 0x4D3U) { + recid = Unpack_SMRR_status_candb(&(_m->SMRR_status), _d, dlc_); + } + } + } else { + if (_id == 0x4D4U) { + recid = Unpack_DocSL_T_FL_candb(&(_m->DocSL_T_FL), _d, dlc_); + } else { + if (_id == 0x4D5U) { + recid = Unpack_DocSR_T_FR_candb(&(_m->DocSR_T_FR), _d, dlc_); + } else if (_id == 0x4F0U) { + recid = Unpack_VAU_TPMS_Msg_candb(&(_m->VAU_TPMS_Msg), _d, dlc_); + } + } + } + } else { + if ((_id >= 0x4FEU) && (_id < 0x512U)) { + if (_id == 0x4FEU) { + recid = Unpack_CCU_Errors_candb(&(_m->CCU_Errors), _d, dlc_); + } else { + if (_id == 0x501U) { + recid = Unpack_CCU_Msg3_candb(&(_m->CCU_Msg3), _d, dlc_); + } else if (_id == 0x50EU) { + recid = Unpack_IC_SDM_Info_candb(&(_m->IC_SDM_Info), _d, dlc_); + } + } + } else { + if ((_id >= 0x512U) && (_id < 0x521U)) { + if (_id == 0x512U) { + recid = Unpack_IC_SDM_Info_02_candb(&(_m->IC_SDM_Info_02), _d, dlc_); + } else if (_id == 0x51AU) { + recid = Unpack_VEH_VIN_candb(&(_m->VEH_VIN), _d, dlc_); + } + } else { + if (_id == 0x521U) { + recid = Unpack_OCUFL_MSG_candb(&(_m->OCUFL_MSG), _d, dlc_); + } else if (_id == 0x522U) { + recid = Unpack_OCUFR_MSG_candb(&(_m->OCUFR_MSG), _d, dlc_); + } + } + } + } + } + } + } else { + if ((_id >= 0x523U) && (_id < 0x7B4U)) { + if ((_id >= 0x523U) && (_id < 0x728U)) { + if ((_id >= 0x523U) && (_id < 0x630U)) { + if ((_id >= 0x523U) && (_id < 0x5ACU)) { + if (_id == 0x523U) { + recid = Unpack_OCURL_MSG_candb(&(_m->OCURL_MSG), _d, dlc_); + } else { + if (_id == 0x524U) { + recid = Unpack_OCURR_MSG_candb(&(_m->OCURR_MSG), _d, dlc_); + } else if (_id == 0x525U) { + recid = Unpack_RBCU_BODY_Stat_candb(&(_m->RBCU_BODY_Stat), _d, dlc_); + } + } + } else { + if (_id == 0x5ACU) { + recid = Unpack_BCM_UserConfig_Stat_candb(&(_m->BCM_UserConfig_Stat), _d, dlc_); + } else { + if (_id == 0x601U) { + recid = Unpack_WChF_FIU_TransferState_candb(&(_m->WChF_FIU_TransferState), _d, dlc_); + } else if (_id == 0x622U) { + recid = Unpack_VAU_BLE_Device_candb(&(_m->VAU_BLE_Device), _d, dlc_); + } + } + } + } else { + if ((_id >= 0x630U) && (_id < 0x703U)) { + if (_id == 0x630U) { + recid = Unpack_Diag_From_APU_candb(&(_m->Diag_From_APU), _d, dlc_); + } else { + if (_id == 0x6D0U) { + recid = Unpack_PTG_To_SupplierTool_candb(&(_m->PTG_To_SupplierTool), _d, dlc_); + } else if (_id == 0x701U) { + recid = Unpack_Diag_From_CCPF_candb(&(_m->Diag_From_CCPF), _d, dlc_); + } + } + } else { + if (_id == 0x703U) { + recid = Unpack_Diag_From_CCPR_candb(&(_m->Diag_From_CCPR), _d, dlc_); + } else { + if (_id == 0x716U) { + recid = Unpack_Diag_From_SSL_candb(&(_m->Diag_From_SSL), _d, dlc_); + } else if (_id == 0x719U) { + recid = Unpack_Diag_From_SSR_candb(&(_m->Diag_From_SSR), _d, dlc_); + } + } + } + } + } else { + if ((_id >= 0x728U) && (_id < 0x794U)) { + if ((_id >= 0x728U) && (_id < 0x72EU)) { + if (_id == 0x728U) { + recid = Unpack_Diag_From_FCSilCU_candb(&(_m->Diag_From_FCSilCU), _d, dlc_); + } else { + if (_id == 0x72CU) { + recid = Unpack_Diag_From_FLDSilCU_candb(&(_m->Diag_From_FLDSilCU), _d, dlc_); + } else if (_id == 0x72DU) { + recid = Unpack_Diag_From_FRDSilCU_candb(&(_m->Diag_From_FRDSilCU), _d, dlc_); + } + } + } else { + if (_id == 0x72EU) { + recid = Unpack_Diag_From_ICLSilCU_candb(&(_m->Diag_From_ICLSilCU), _d, dlc_); + } else { + if (_id == 0x74AU) { + recid = Unpack_Diag_From_FTCU_candb(&(_m->Diag_From_FTCU), _d, dlc_); + } else if (_id == 0x77FU) { + recid = Unpack_Diag_From_SRoof_candb(&(_m->Diag_From_SRoof), _d, dlc_); + } + } + } + } else { + if ((_id >= 0x794U) && (_id < 0x799U)) { + if (_id == 0x794U) { + recid = Unpack_Diag_From_ICRSilCU_candb(&(_m->Diag_From_ICRSilCU), _d, dlc_); + } else { + if (_id == 0x797U) { + recid = Unpack_Diag_From_LB_pSilCU_candb(&(_m->Diag_From_LB_pSilCU), _d, dlc_); + } else if (_id == 0x798U) { + recid = Unpack_Diag_From_PLSilCU_candb(&(_m->Diag_From_PLSilCU), _d, dlc_); + } + } + } else { + if ((_id >= 0x799U) && (_id < 0x7B0U)) { + if (_id == 0x799U) { + recid = Unpack_Diag_From_PRSilCU_candb(&(_m->Diag_From_PRSilCU), _d, dlc_); + } else if (_id == 0x79CU) { + recid = Unpack_Diag_From_RB_pSilCU_candb(&(_m->Diag_From_RB_pSilCU), _d, dlc_); + } + } else { + if (_id == 0x7B0U) { + recid = Unpack_Diag_From_VAU_candb(&(_m->Diag_From_VAU), _d, dlc_); + } else if (_id == 0x7B3U) { + recid = Unpack_Diag_From_BCM_candb(&(_m->Diag_From_BCM), _d, dlc_); + } + } + } + } + } + } else { + if ((_id >= 0x7B4U) && (_id < 0x7CDU)) { + if ((_id >= 0x7B4U) && (_id < 0x7BBU)) { + if ((_id >= 0x7B4U) && (_id < 0x7B7U)) { + if (_id == 0x7B4U) { + recid = Unpack_Diag_From_DMFL_candb(&(_m->Diag_From_DMFL), _d, dlc_); + } else { + if (_id == 0x7B5U) { + recid = Unpack_Diag_From_DMFR_candb(&(_m->Diag_From_DMFR), _d, dlc_); + } else if (_id == 0x7B6U) { + recid = Unpack_Diag_From_DMRL_candb(&(_m->Diag_From_DMRL), _d, dlc_); + } + } + } else { + if (_id == 0x7B7U) { + recid = Unpack_Diag_From_DMRR_candb(&(_m->Diag_From_DMRR), _d, dlc_); + } else { + if (_id == 0x7B9U) { + recid = Unpack_Diag_From_SMRR_candb(&(_m->Diag_From_SMRR), _d, dlc_); + } else if (_id == 0x7BAU) { + recid = Unpack_Diag_From_TM_candb(&(_m->Diag_From_TM), _d, dlc_); + } + } + } + } else { + if ((_id >= 0x7BBU) && (_id < 0x7BFU)) { + if (_id == 0x7BBU) { + recid = Unpack_Diag_From_CCU_candb(&(_m->Diag_From_CCU), _d, dlc_); + } else { + if (_id == 0x7BDU) { + recid = Unpack_Diag_From_SMFL_candb(&(_m->Diag_From_SMFL), _d, dlc_); + } else if (_id == 0x7BEU) { + recid = Unpack_Diag_From_SMFR_candb(&(_m->Diag_From_SMFR), _d, dlc_); + } + } + } else { + if ((_id >= 0x7BFU) && (_id < 0x7CBU)) { + if (_id == 0x7BFU) { + recid = Unpack_Diag_From_SMRL_candb(&(_m->Diag_From_SMRL), _d, dlc_); + } else if (_id == 0x7C6U) { + recid = Unpack_Diag_From_OCUFL_candb(&(_m->Diag_From_OCUFL), _d, dlc_); + } + } else { + if (_id == 0x7CBU) { + recid = Unpack_Diag_From_PTG_candb(&(_m->Diag_From_PTG), _d, dlc_); + } else if (_id == 0x7CCU) { + recid = Unpack_Diag_From_OCUFR_candb(&(_m->Diag_From_OCUFR), _d, dlc_); + } + } + } + } + } else { + if ((_id >= 0x7CDU) && (_id < 0x7D8U)) { + if ((_id >= 0x7CDU) && (_id < 0x7D2U)) { + if (_id == 0x7CDU) { + recid = Unpack_Diag_From_OCURL_candb(&(_m->Diag_From_OCURL), _d, dlc_); + } else { + if (_id == 0x7CEU) { + recid = Unpack_Diag_From_OCURR_candb(&(_m->Diag_From_OCURR), _d, dlc_); + } else if (_id == 0x7D1U) { + recid = Unpack_Diag_From_RCLSilCU_candb(&(_m->Diag_From_RCLSilCU), _d, dlc_); + } + } + } else { + if (_id == 0x7D2U) { + recid = Unpack_Diag_From_RCRSilCU_candb(&(_m->Diag_From_RCRSilCU), _d, dlc_); + } else { + if (_id == 0x7D3U) { + recid = Unpack_Diag_From_RDLSilCU_candb(&(_m->Diag_From_RDLSilCU), _d, dlc_); + } else if (_id == 0x7D4U) { + recid = Unpack_Diag_From_RDRSilCU_candb(&(_m->Diag_From_RDRSilCU), _d, dlc_); + } + } + } + } else { + if ((_id >= 0x7D8U) && (_id < 0x7F7U)) { + if (_id == 0x7D8U) { + recid = Unpack_Diag_From_RLDSilCU_candb(&(_m->Diag_From_RLDSilCU), _d, dlc_); + } else { + if (_id == 0x7D9U) { + recid = Unpack_Diag_From_RRDSilCU_candb(&(_m->Diag_From_RRDSilCU), _d, dlc_); + } else if (_id == 0x7F5U) { + recid = Unpack_Diag_From_SFRSilCU_candb(&(_m->Diag_From_SFRSilCU), _d, dlc_); + } + } + } else { + if ((_id >= 0x7F7U) && (_id < 0x7F9U)) { + if (_id == 0x7F7U) { + recid = Unpack_Diag_From_SFLSilCU_candb(&(_m->Diag_From_SFLSilCU), _d, dlc_); + } else if (_id == 0x7F8U) { + recid = Unpack_Diag_From_WHFL_candb(&(_m->Diag_From_WHFL), _d, dlc_); + } + } else { + if (_id == 0x7F9U) { + recid = Unpack_Diag_From_WHFR_candb(&(_m->Diag_From_WHFR), _d, dlc_); + } else if (_id == 0x18FFF200U) { + recid = Unpack_CCU_AC_Ctrl_candb(&(_m->CCU_AC_Ctrl), _d, dlc_); + } + } + } + } + } + } + } + + return recid; +} + diff --git a/butl/cgw_candb-binutil.h b/butl/cgw_candb-binutil.h new file mode 100644 index 0000000..7f9ffc5 --- /dev/null +++ b/butl/cgw_candb-binutil.h @@ -0,0 +1,241 @@ +// Generator version : v3.1 +// DBC filename : CCU.dbc +#pragma once + +#ifdef __cplusplus +extern "C" { +#endif + +#include "dbccodeconf.h" + +#include "candb.h" + +typedef struct +{ + SDM_MAS_Req_t SDM_MAS_Req; + VAU_TCU_Hash_Resp_t VAU_TCU_Hash_Resp; + VAU_EMS_VCU_Hash_Resp_t VAU_EMS_VCU_Hash_Resp; + VAU2_INVRL_Hash_Resp_t VAU2_INVRL_Hash_Resp; + WChF_NFC_VAU_Transfer_State_t WChF_NFC_VAU_Transfer_State; + VAU2_INVRR_Hash_Resp_t VAU2_INVRR_Hash_Resp; + VAU2_INVF_Hash_Resp_t VAU2_INVF_Hash_Resp; + FTCU_DAT1_t FTCU_DAT1; + FTCU_DAT3_t FTCU_DAT3; + BCM_Powertrain_t BCM_Powertrain; + BCM_EEM_t BCM_EEM; + BCM_ExteriorLightState_t BCM_ExteriorLightState; + DMFR_Msg1_t DMFR_Msg1; + DMFL_Msg1_t DMFL_Msg1; + DMRL_Msg1_t DMRL_Msg1; + DMRR_Msg1_t DMRR_Msg1; + TM_Stat_t TM_Stat; + PTG_Body_Stat_t PTG_Body_Stat; + TM_CP_t TM_CP; + VAU2_Msg2_t VAU2_Msg2; + BCM_DMS_01_t BCM_DMS_01; + BCM_VEH_STATE_t BCM_VEH_STATE; + BCM_Veh_State2_t BCM_Veh_State2; + BCM_ALS_Light_Front_t BCM_ALS_Light_Front; + BCM_ALS_Light_Rear_t BCM_ALS_Light_Rear; + BCM_Lock_CTR_t BCM_Lock_CTR; + BCM_DCDC12_CNTRL_t BCM_DCDC12_CNTRL; + CCU_HVC_Req_Msg_t CCU_HVC_Req_Msg; + CCU_Stat1_t CCU_Stat1; + CCU_Stat2_t CCU_Stat2; + CCU_Stat3_t CCU_Stat3; + CCU_VCU_Msg1_t CCU_VCU_Msg1; + CCU_VCU_Msg2_t CCU_VCU_Msg2; + BCM_IC_Info_Msg_t BCM_IC_Info_Msg; + BCM_CLIMATIC_DATA_t BCM_CLIMATIC_DATA; + CCU_Msg1_t CCU_Msg1; + WChF_Status_t WChF_Status; + SMFL_status_t SMFL_status; + SMFR_status_t SMFR_status; + SMRL_status_t SMRL_status; + SMRR_status_t SMRR_status; + DocSL_T_FL_t DocSL_T_FL; + DocSR_T_FR_t DocSR_T_FR; + VAU_TPMS_Msg_t VAU_TPMS_Msg; + CCU_Errors_t CCU_Errors; + CCU_Msg3_t CCU_Msg3; + IC_SDM_Info_t IC_SDM_Info; + IC_SDM_Info_02_t IC_SDM_Info_02; + VEH_VIN_t VEH_VIN; + OCUFL_MSG_t OCUFL_MSG; + OCUFR_MSG_t OCUFR_MSG; + OCURL_MSG_t OCURL_MSG; + OCURR_MSG_t OCURR_MSG; + RBCU_BODY_Stat_t RBCU_BODY_Stat; + BCM_UserConfig_Stat_t BCM_UserConfig_Stat; + WChF_FIU_TransferState_t WChF_FIU_TransferState; + VAU_BLE_Device_t VAU_BLE_Device; + Diag_From_APU_t Diag_From_APU; + PTG_To_SupplierTool_t PTG_To_SupplierTool; + Diag_From_CCPF_t Diag_From_CCPF; + Diag_From_CCPR_t Diag_From_CCPR; + Diag_From_SSL_t Diag_From_SSL; + Diag_From_SSR_t Diag_From_SSR; + Diag_From_FCSilCU_t Diag_From_FCSilCU; + Diag_From_FLDSilCU_t Diag_From_FLDSilCU; + Diag_From_FRDSilCU_t Diag_From_FRDSilCU; + Diag_From_ICLSilCU_t Diag_From_ICLSilCU; + Diag_From_FTCU_t Diag_From_FTCU; + Diag_From_SRoof_t Diag_From_SRoof; + Diag_From_ICRSilCU_t Diag_From_ICRSilCU; + Diag_From_LB_pSilCU_t Diag_From_LB_pSilCU; + Diag_From_PLSilCU_t Diag_From_PLSilCU; + Diag_From_PRSilCU_t Diag_From_PRSilCU; + Diag_From_RB_pSilCU_t Diag_From_RB_pSilCU; + Diag_From_VAU_t Diag_From_VAU; + Diag_From_BCM_t Diag_From_BCM; + Diag_From_DMFL_t Diag_From_DMFL; + Diag_From_DMFR_t Diag_From_DMFR; + Diag_From_DMRL_t Diag_From_DMRL; + Diag_From_DMRR_t Diag_From_DMRR; + Diag_From_SMRR_t Diag_From_SMRR; + Diag_From_TM_t Diag_From_TM; + Diag_From_CCU_t Diag_From_CCU; + Diag_From_SMFL_t Diag_From_SMFL; + Diag_From_SMFR_t Diag_From_SMFR; + Diag_From_SMRL_t Diag_From_SMRL; + Diag_From_OCUFL_t Diag_From_OCUFL; + Diag_From_PTG_t Diag_From_PTG; + Diag_From_OCUFR_t Diag_From_OCUFR; + Diag_From_OCURL_t Diag_From_OCURL; + Diag_From_OCURR_t Diag_From_OCURR; + Diag_From_RCLSilCU_t Diag_From_RCLSilCU; + Diag_From_RCRSilCU_t Diag_From_RCRSilCU; + Diag_From_RDLSilCU_t Diag_From_RDLSilCU; + Diag_From_RDRSilCU_t Diag_From_RDRSilCU; + Diag_From_RLDSilCU_t Diag_From_RLDSilCU; + Diag_From_RRDSilCU_t Diag_From_RRDSilCU; + Diag_From_SFRSilCU_t Diag_From_SFRSilCU; + Diag_From_SFLSilCU_t Diag_From_SFLSilCU; + Diag_From_WHFL_t Diag_From_WHFL; + Diag_From_WHFR_t Diag_From_WHFR; + CCU_AC_Ctrl_t CCU_AC_Ctrl; +} cgw_candb_rx_t; + +typedef struct +{ + EMS_VCU_VAU_Immo_Req_t EMS_VCU_VAU_Immo_Req; + TCU_VAU_Immo_Req_t TCU_VAU_Immo_Req; + TCU_R932_1_t TCU_R932_1; + SCU_02_t SCU_02; + ESC_04_t ESC_04; + ESC_09_t ESC_09; + ESC_YRS_01_t ESC_YRS_01; + EMS_Veh_t EMS_Veh; + EMS_Indicators_t EMS_Indicators; + EMS_Veh_02_t EMS_Veh_02; + EMS_EEM_01_t EMS_EEM_01; + EMS_EEM_02_t EMS_EEM_02; + DAS_01_t DAS_01; + DAS_04_t DAS_04; + VCU_DriveInfo_t VCU_DriveInfo; + DAS_02_t DAS_02; + DAS_07_t DAS_07; + ACU_01_t ACU_01; + EPB_Status_t EPB_Status; + SWM_ContrlsState_t SWM_ContrlsState; + FIU_Access_Msg1_t FIU_Access_Msg1; + HVC_CCU_Status_Msg_t HVC_CCU_Status_Msg; + ATS_Status_t ATS_Status; + EMS_HVC_Req_Msg_t EMS_HVC_Req_Msg; + SAS_Standard_t SAS_Standard; + IC_ABSOLUTE_CLOCK_t IC_ABSOLUTE_CLOCK; + HVC_Err_Status_Msg_t HVC_Err_Status_Msg; + VCU_CCU_Req_t VCU_CCU_Req; + IC_DATA_MSG_t IC_DATA_MSG; + ESC_08_t ESC_08; + MAS_Status_t MAS_Status; + EPB_VM_MSG_t EPB_VM_MSG; + CGW_COMM_REQ_t CGW_COMM_REQ; + DCDC1248_01_t DCDC1248_01; + FIU_REQ_CTR_01_t FIU_REQ_CTR_01; + DCDC1248_02_t DCDC1248_02; + FIU_Access_Msg2_t FIU_Access_Msg2; + USBSw_Stat_t USBSw_Stat; + FIU_Cmd_t FIU_Cmd; + HUD_MSG_STATUS_t HUD_MSG_STATUS; + FIU_SMRL_REQ_CTR_SEATS_t FIU_SMRL_REQ_CTR_SEATS; + FIU_SMFR_REQ_CTR_SEATS_t FIU_SMFR_REQ_CTR_SEATS; + FIU_SMFL_REQ_CTR_SEATS_t FIU_SMFL_REQ_CTR_SEATS; + FIU_SMRR_REQ_CTR_SEATS_t FIU_SMRR_REQ_CTR_SEATS; + FIU_CTRL_DW_t FIU_CTRL_DW; + DW_STATE_t DW_STATE; + FIU_Msg1_t FIU_Msg1; + FIU_Msg2_t FIU_Msg2; + ERAG_DATA_MSG_t ERAG_DATA_MSG; + FIU_Msg3_t FIU_Msg3; + FIU_EngMenu_t FIU_EngMenu; + FIU_CCU1_t FIU_CCU1; + FIU_CCU2_t FIU_CCU2; + FIU_CCU3_t FIU_CCU3; + IC_DISPLAY_CLOCK_t IC_DISPLAY_CLOCK; + FIU_MAS_Main_t FIU_MAS_Main; + MAS_APA_Paths_t MAS_APA_Paths; + MAS_APA_ParkPlace_t MAS_APA_ParkPlace; + IntCOM_Info_Stat_t IntCOM_Info_Stat; + LTE_Sum_State2_t LTE_Sum_State2; + FIU_WChF_TransferState_t FIU_WChF_TransferState; + SupplierTool_To_PTG_t SupplierTool_To_PTG; + Diag_To_CCPF_t Diag_To_CCPF; + Diag_To_CCPR_t Diag_To_CCPR; + Diag_To_SSL_t Diag_To_SSL; + Diag_To_SSR_t Diag_To_SSR; + Diag_To_FCSilCU_t Diag_To_FCSilCU; + Diag_To_FLDSilCU_t Diag_To_FLDSilCU; + Diag_To_FRDSilCU_t Diag_To_FRDSilCU; + Diag_To_ICLSilCU_t Diag_To_ICLSilCU; + Diag_To_APU_t Diag_To_APU; + Diag_To_FTCU_t Diag_To_FTCU; + Diag_To_Sroof_t Diag_To_Sroof; + Diag_To_ICRSilCU_t Diag_To_ICRSilCU; + Diag_To_LB_pSilCU_t Diag_To_LB_pSilCU; + Diag_To_PLSilCU_t Diag_To_PLSilCU; + Diag_To_PRSilCU_t Diag_To_PRSilCU; + Diag_To_RB_pSilCU_t Diag_To_RB_pSilCU; + Diag_To_VAU_t Diag_To_VAU; + Diag_To_BCM_t Diag_To_BCM; + Diag_To_DMFL_t Diag_To_DMFL; + Diag_To_DMFR_t Diag_To_DMFR; + Diag_To_DMRL_t Diag_To_DMRL; + Diag_To_DMRR_t Diag_To_DMRR; + Diag_To_SMRR_t Diag_To_SMRR; + Diag_To_TM_t Diag_To_TM; + Diag_To_CCU_t Diag_To_CCU; + Diag_To_SMFL_t Diag_To_SMFL; + Diag_To_SMFR_t Diag_To_SMFR; + Diag_To_SMRL_t Diag_To_SMRL; + Diag_To_RCLSilCU_t Diag_To_RCLSilCU; + Diag_To_RCRSilCU_t Diag_To_RCRSilCU; + Diag_To_RDLSilCU_t Diag_To_RDLSilCU; + Diag_To_RDRSilCU_t Diag_To_RDRSilCU; + Diag_To_RLDSilCU_t Diag_To_RLDSilCU; + Diag_To_RRDSilCU_t Diag_To_RRDSilCU; + Diag_To_OCUFL_t Diag_To_OCUFL; + Diag_To_PTG_t Diag_To_PTG; + Diag_To_OCUFR_t Diag_To_OCUFR; + Diag_To_OCURL_t Diag_To_OCURL; + Diag_To_OCURR_t Diag_To_OCURR; + Diag_Functional_t Diag_Functional; + Diag_To_SFRSilCU_t Diag_To_SFRSilCU; + Diag_To_SFLSilCU_t Diag_To_SFLSilCU; + Diag_To_WHFL_t Diag_To_WHFL; + Diag_To_WHFR_t Diag_To_WHFR; +} cgw_candb_tx_t; + +uint32_t cgw_candb_Receive(cgw_candb_rx_t* m, const uint8_t* d, uint32_t msgid, uint8_t dlc); + +#ifdef __DEF_CGW_CANDB__ + +extern cgw_candb_rx_t cgw_candb_rx; + +extern cgw_candb_tx_t cgw_candb_tx; + +#endif // __DEF_CGW_CANDB__ + +#ifdef __cplusplus +} +#endif diff --git a/butl/dmfl_candb-binutil.c b/butl/dmfl_candb-binutil.c new file mode 100644 index 0000000..9a435cc --- /dev/null +++ b/butl/dmfl_candb-binutil.c @@ -0,0 +1,161 @@ +// Generator version : v3.1 +// DBC filename : CCU.dbc +#include "dmfl_candb-binutil.h" + +// DBC file version +#if (VER_CANDB_MAJ != (0U)) || (VER_CANDB_MIN != (0U)) +#error The DMFL_CANDB binutil source file has inconsistency with core dbc lib! +#endif + +#ifdef __DEF_DMFL_CANDB__ + +dmfl_candb_rx_t dmfl_candb_rx; + +dmfl_candb_tx_t dmfl_candb_tx; + +#endif // __DEF_DMFL_CANDB__ + +uint32_t dmfl_candb_Receive(dmfl_candb_rx_t* _m, const uint8_t* _d, uint32_t _id, uint8_t dlc_) +{ + uint32_t recid = 0; + if ((_id >= 0xB1U) && (_id < 0x36AU)) { + if ((_id >= 0xB1U) && (_id < 0x231U)) { + if ((_id >= 0xB1U) && (_id < 0x162U)) { + if ((_id >= 0xB1U) && (_id < 0x157U)) { + if (_id == 0xB1U) { + recid = Unpack_TCU_R932_1_candb(&(_m->TCU_R932_1), _d, dlc_); + } else if (_id == 0x100U) { + recid = Unpack_ESC_04_candb(&(_m->ESC_04), _d, dlc_); + } + } else { + if (_id == 0x157U) { + recid = Unpack_BCM_EEM_candb(&(_m->BCM_EEM), _d, dlc_); + } else if (_id == 0x160U) { + recid = Unpack_DAS_01_candb(&(_m->DAS_01), _d, dlc_); + } + } + } else { + if ((_id >= 0x162U) && (_id < 0x20BU)) { + if (_id == 0x162U) { + recid = Unpack_DAS_04_candb(&(_m->DAS_04), _d, dlc_); + } else if (_id == 0x20AU) { + recid = Unpack_DAS_02_candb(&(_m->DAS_02), _d, dlc_); + } + } else { + if (_id == 0x20BU) { + recid = Unpack_DAS_07_candb(&(_m->DAS_07), _d, dlc_); + } else if (_id == 0x210U) { + recid = Unpack_ACU_01_candb(&(_m->ACU_01), _d, dlc_); + } + } + } + } else { + if ((_id >= 0x231U) && (_id < 0x246U)) { + if ((_id >= 0x231U) && (_id < 0x243U)) { + if (_id == 0x231U) { + recid = Unpack_BCM_ExteriorLightState_candb(&(_m->BCM_ExteriorLightState), _d, dlc_); + } else if (_id == 0x23AU) { + recid = Unpack_BCM_StyleCmd1_candb(&(_m->BCM_StyleCmd1), _d, dlc_); + } + } else { + if (_id == 0x243U) { + recid = Unpack_DMFR_Msg1_candb(&(_m->DMFR_Msg1), _d, dlc_); + } else if (_id == 0x245U) { + recid = Unpack_DMRL_Msg1_candb(&(_m->DMRL_Msg1), _d, dlc_); + } + } + } else { + if ((_id >= 0x246U) && (_id < 0x282U)) { + if (_id == 0x246U) { + recid = Unpack_DMRR_Msg1_candb(&(_m->DMRR_Msg1), _d, dlc_); + } else if (_id == 0x280U) { + recid = Unpack_BCM_VEH_STATE_candb(&(_m->BCM_VEH_STATE), _d, dlc_); + } + } else { + if (_id == 0x282U) { + recid = Unpack_BCM_Veh_State2_candb(&(_m->BCM_Veh_State2), _d, dlc_); + } else { + if (_id == 0x2F0U) { + recid = Unpack_BCM_Lock_CTR_candb(&(_m->BCM_Lock_CTR), _d, dlc_); + } else if (_id == 0x365U) { + recid = Unpack_BCM_CLIMATIC_DATA_candb(&(_m->BCM_CLIMATIC_DATA), _d, dlc_); + } + } + } + } + } + } else { + if ((_id >= 0x36AU) && (_id < 0x594U)) { + if ((_id >= 0x36AU) && (_id < 0x4D0U)) { + if ((_id >= 0x36AU) && (_id < 0x38AU)) { + if (_id == 0x36AU) { + recid = Unpack_DMRR_SMRR_REQ_CTR_SEATS_candb(&(_m->DMRR_SMRR_REQ_CTR_SEATS), _d, dlc_); + } else if (_id == 0x380U) { + recid = Unpack_CCU_Msg1_candb(&(_m->CCU_Msg1), _d, dlc_); + } + } else { + if (_id == 0x38AU) { + recid = Unpack_Sroof_State_candb(&(_m->Sroof_State), _d, dlc_); + } else if (_id == 0x4B6U) { + recid = Unpack_FIU_Profile_candb(&(_m->FIU_Profile), _d, dlc_); + } + } + } else { + if ((_id >= 0x4D0U) && (_id < 0x51AU)) { + if (_id == 0x4D0U) { + recid = Unpack_SMFL_status_candb(&(_m->SMFL_status), _d, dlc_); + } else if (_id == 0x50FU) { + recid = Unpack_SDM_Cmd_candb(&(_m->SDM_Cmd), _d, dlc_); + } + } else { + if (_id == 0x51AU) { + recid = Unpack_VEH_VIN_candb(&(_m->VEH_VIN), _d, dlc_); + } else { + if (_id == 0x58EU) { + recid = Unpack_FIU_Msg1_candb(&(_m->FIU_Msg1), _d, dlc_); + } else if (_id == 0x58FU) { + recid = Unpack_FIU_Msg2_candb(&(_m->FIU_Msg2), _d, dlc_); + } + } + } + } + } else { + if ((_id >= 0x594U) && (_id < 0x5ACU)) { + if ((_id >= 0x594U) && (_id < 0x5A7U)) { + if (_id == 0x594U) { + recid = Unpack_FIU_Msg3_candb(&(_m->FIU_Msg3), _d, dlc_); + } else if (_id == 0x5A6U) { + recid = Unpack_BCM_StyleCmd2_candb(&(_m->BCM_StyleCmd2), _d, dlc_); + } + } else { + if (_id == 0x5A7U) { + recid = Unpack_BCM_StyleCmd3_candb(&(_m->BCM_StyleCmd3), _d, dlc_); + } else if (_id == 0x5A8U) { + recid = Unpack_BCM_WHF_Request_candb(&(_m->BCM_WHF_Request), _d, dlc_); + } + } + } else { + if ((_id >= 0x5ACU) && (_id < 0x7A4U)) { + if (_id == 0x5ACU) { + recid = Unpack_BCM_UserConfig_Stat_candb(&(_m->BCM_UserConfig_Stat), _d, dlc_); + } else if (_id == 0x71CU) { + recid = Unpack_Diag_To_FLDSilCU_candb(&(_m->Diag_To_FLDSilCU), _d, dlc_); + } + } else { + if (_id == 0x7A4U) { + recid = Unpack_Diag_To_DMFL_candb(&(_m->Diag_To_DMFL), _d, dlc_); + } else { + if (_id == 0x7DFU) { + recid = Unpack_Diag_Functional_candb(&(_m->Diag_Functional), _d, dlc_); + } else if (_id == 0x7F0U) { + recid = Unpack_Diag_To_WHFL_candb(&(_m->Diag_To_WHFL), _d, dlc_); + } + } + } + } + } + } + + return recid; +} + diff --git a/butl/dmfl_candb-binutil.h b/butl/dmfl_candb-binutil.h new file mode 100644 index 0000000..3b9bceb --- /dev/null +++ b/butl/dmfl_candb-binutil.h @@ -0,0 +1,75 @@ +// Generator version : v3.1 +// DBC filename : CCU.dbc +#pragma once + +#ifdef __cplusplus +extern "C" { +#endif + +#include "dbccodeconf.h" + +#include "candb.h" + +typedef struct +{ + TCU_R932_1_t TCU_R932_1; + ESC_04_t ESC_04; + BCM_EEM_t BCM_EEM; + DAS_01_t DAS_01; + DAS_04_t DAS_04; + DAS_02_t DAS_02; + DAS_07_t DAS_07; + ACU_01_t ACU_01; + BCM_ExteriorLightState_t BCM_ExteriorLightState; + BCM_StyleCmd1_t BCM_StyleCmd1; + DMFR_Msg1_t DMFR_Msg1; + DMRL_Msg1_t DMRL_Msg1; + DMRR_Msg1_t DMRR_Msg1; + BCM_VEH_STATE_t BCM_VEH_STATE; + BCM_Veh_State2_t BCM_Veh_State2; + BCM_Lock_CTR_t BCM_Lock_CTR; + BCM_CLIMATIC_DATA_t BCM_CLIMATIC_DATA; + DMRR_SMRR_REQ_CTR_SEATS_t DMRR_SMRR_REQ_CTR_SEATS; + CCU_Msg1_t CCU_Msg1; + Sroof_State_t Sroof_State; + FIU_Profile_t FIU_Profile; + SMFL_status_t SMFL_status; + SDM_Cmd_t SDM_Cmd; + VEH_VIN_t VEH_VIN; + FIU_Msg1_t FIU_Msg1; + FIU_Msg2_t FIU_Msg2; + FIU_Msg3_t FIU_Msg3; + BCM_StyleCmd2_t BCM_StyleCmd2; + BCM_StyleCmd3_t BCM_StyleCmd3; + BCM_WHF_Request_t BCM_WHF_Request; + BCM_UserConfig_Stat_t BCM_UserConfig_Stat; + Diag_To_FLDSilCU_t Diag_To_FLDSilCU; + Diag_To_DMFL_t Diag_To_DMFL; + Diag_Functional_t Diag_Functional; + Diag_To_WHFL_t Diag_To_WHFL; +} dmfl_candb_rx_t; + +typedef struct +{ + DMFL_Msg1_t DMFL_Msg1; + DMFL_SMFL_REQ_CTR_SEATS_t DMFL_SMFL_REQ_CTR_SEATS; + WHFL_MSG1_t WHFL_MSG1; + FLDSilCU_State_t FLDSilCU_State; + Diag_From_FLDSilCU_t Diag_From_FLDSilCU; + Diag_From_DMFL_t Diag_From_DMFL; + Diag_From_WHFL_t Diag_From_WHFL; +} dmfl_candb_tx_t; + +uint32_t dmfl_candb_Receive(dmfl_candb_rx_t* m, const uint8_t* d, uint32_t msgid, uint8_t dlc); + +#ifdef __DEF_DMFL_CANDB__ + +extern dmfl_candb_rx_t dmfl_candb_rx; + +extern dmfl_candb_tx_t dmfl_candb_tx; + +#endif // __DEF_DMFL_CANDB__ + +#ifdef __cplusplus +} +#endif diff --git a/butl/dmfr_candb-binutil.c b/butl/dmfr_candb-binutil.c new file mode 100644 index 0000000..1c19e22 --- /dev/null +++ b/butl/dmfr_candb-binutil.c @@ -0,0 +1,149 @@ +// Generator version : v3.1 +// DBC filename : CCU.dbc +#include "dmfr_candb-binutil.h" + +// DBC file version +#if (VER_CANDB_MAJ != (0U)) || (VER_CANDB_MIN != (0U)) +#error The DMFR_CANDB binutil source file has inconsistency with core dbc lib! +#endif + +#ifdef __DEF_DMFR_CANDB__ + +dmfr_candb_rx_t dmfr_candb_rx; + +dmfr_candb_tx_t dmfr_candb_tx; + +#endif // __DEF_DMFR_CANDB__ + +uint32_t dmfr_candb_Receive(dmfr_candb_rx_t* _m, const uint8_t* _d, uint32_t _id, uint8_t dlc_) +{ + uint32_t recid = 0; + if ((_id >= 0xB1U) && (_id < 0x380U)) { + if ((_id >= 0xB1U) && (_id < 0x231U)) { + if ((_id >= 0xB1U) && (_id < 0x162U)) { + if ((_id >= 0xB1U) && (_id < 0x157U)) { + if (_id == 0xB1U) { + recid = Unpack_TCU_R932_1_candb(&(_m->TCU_R932_1), _d, dlc_); + } else if (_id == 0x100U) { + recid = Unpack_ESC_04_candb(&(_m->ESC_04), _d, dlc_); + } + } else { + if (_id == 0x157U) { + recid = Unpack_BCM_EEM_candb(&(_m->BCM_EEM), _d, dlc_); + } else if (_id == 0x160U) { + recid = Unpack_DAS_01_candb(&(_m->DAS_01), _d, dlc_); + } + } + } else { + if ((_id >= 0x162U) && (_id < 0x20BU)) { + if (_id == 0x162U) { + recid = Unpack_DAS_04_candb(&(_m->DAS_04), _d, dlc_); + } else if (_id == 0x20AU) { + recid = Unpack_DAS_02_candb(&(_m->DAS_02), _d, dlc_); + } + } else { + if (_id == 0x20BU) { + recid = Unpack_DAS_07_candb(&(_m->DAS_07), _d, dlc_); + } else if (_id == 0x210U) { + recid = Unpack_ACU_01_candb(&(_m->ACU_01), _d, dlc_); + } + } + } + } else { + if ((_id >= 0x231U) && (_id < 0x282U)) { + if ((_id >= 0x231U) && (_id < 0x244U)) { + if (_id == 0x231U) { + recid = Unpack_BCM_ExteriorLightState_candb(&(_m->BCM_ExteriorLightState), _d, dlc_); + } else if (_id == 0x23AU) { + recid = Unpack_BCM_StyleCmd1_candb(&(_m->BCM_StyleCmd1), _d, dlc_); + } + } else { + if (_id == 0x244U) { + recid = Unpack_DMFL_Msg1_candb(&(_m->DMFL_Msg1), _d, dlc_); + } else if (_id == 0x280U) { + recid = Unpack_BCM_VEH_STATE_candb(&(_m->BCM_VEH_STATE), _d, dlc_); + } + } + } else { + if ((_id >= 0x282U) && (_id < 0x365U)) { + if (_id == 0x282U) { + recid = Unpack_BCM_Veh_State2_candb(&(_m->BCM_Veh_State2), _d, dlc_); + } else if (_id == 0x2F0U) { + recid = Unpack_BCM_Lock_CTR_candb(&(_m->BCM_Lock_CTR), _d, dlc_); + } + } else { + if (_id == 0x365U) { + recid = Unpack_BCM_CLIMATIC_DATA_candb(&(_m->BCM_CLIMATIC_DATA), _d, dlc_); + } else if (_id == 0x367U) { + recid = Unpack_DMFL_SMFL_REQ_CTR_SEATS_candb(&(_m->DMFL_SMFL_REQ_CTR_SEATS), _d, dlc_); + } + } + } + } + } else { + if ((_id >= 0x380U) && (_id < 0x5A6U)) { + if ((_id >= 0x380U) && (_id < 0x50FU)) { + if ((_id >= 0x380U) && (_id < 0x4B6U)) { + if (_id == 0x380U) { + recid = Unpack_CCU_Msg1_candb(&(_m->CCU_Msg1), _d, dlc_); + } else if (_id == 0x38AU) { + recid = Unpack_Sroof_State_candb(&(_m->Sroof_State), _d, dlc_); + } + } else { + if (_id == 0x4B6U) { + recid = Unpack_FIU_Profile_candb(&(_m->FIU_Profile), _d, dlc_); + } else if (_id == 0x4D1U) { + recid = Unpack_SMFR_status_candb(&(_m->SMFR_status), _d, dlc_); + } + } + } else { + if ((_id >= 0x50FU) && (_id < 0x58EU)) { + if (_id == 0x50FU) { + recid = Unpack_SDM_Cmd_candb(&(_m->SDM_Cmd), _d, dlc_); + } else if (_id == 0x51AU) { + recid = Unpack_VEH_VIN_candb(&(_m->VEH_VIN), _d, dlc_); + } + } else { + if (_id == 0x58EU) { + recid = Unpack_FIU_Msg1_candb(&(_m->FIU_Msg1), _d, dlc_); + } else if (_id == 0x594U) { + recid = Unpack_FIU_Msg3_candb(&(_m->FIU_Msg3), _d, dlc_); + } + } + } + } else { + if ((_id >= 0x5A6U) && (_id < 0x71DU)) { + if ((_id >= 0x5A6U) && (_id < 0x5A8U)) { + if (_id == 0x5A6U) { + recid = Unpack_BCM_StyleCmd2_candb(&(_m->BCM_StyleCmd2), _d, dlc_); + } else if (_id == 0x5A7U) { + recid = Unpack_BCM_StyleCmd3_candb(&(_m->BCM_StyleCmd3), _d, dlc_); + } + } else { + if (_id == 0x5A8U) { + recid = Unpack_BCM_WHF_Request_candb(&(_m->BCM_WHF_Request), _d, dlc_); + } else if (_id == 0x5ACU) { + recid = Unpack_BCM_UserConfig_Stat_candb(&(_m->BCM_UserConfig_Stat), _d, dlc_); + } + } + } else { + if ((_id >= 0x71DU) && (_id < 0x7DFU)) { + if (_id == 0x71DU) { + recid = Unpack_Diag_To_FRDSilCU_candb(&(_m->Diag_To_FRDSilCU), _d, dlc_); + } else if (_id == 0x7A5U) { + recid = Unpack_Diag_To_DMFR_candb(&(_m->Diag_To_DMFR), _d, dlc_); + } + } else { + if (_id == 0x7DFU) { + recid = Unpack_Diag_Functional_candb(&(_m->Diag_Functional), _d, dlc_); + } else if (_id == 0x7F1U) { + recid = Unpack_Diag_To_WHFR_candb(&(_m->Diag_To_WHFR), _d, dlc_); + } + } + } + } + } + + return recid; +} + diff --git a/butl/dmfr_candb-binutil.h b/butl/dmfr_candb-binutil.h new file mode 100644 index 0000000..ce0bf4f --- /dev/null +++ b/butl/dmfr_candb-binutil.h @@ -0,0 +1,72 @@ +// Generator version : v3.1 +// DBC filename : CCU.dbc +#pragma once + +#ifdef __cplusplus +extern "C" { +#endif + +#include "dbccodeconf.h" + +#include "candb.h" + +typedef struct +{ + TCU_R932_1_t TCU_R932_1; + ESC_04_t ESC_04; + BCM_EEM_t BCM_EEM; + DAS_01_t DAS_01; + DAS_04_t DAS_04; + DAS_02_t DAS_02; + DAS_07_t DAS_07; + ACU_01_t ACU_01; + BCM_ExteriorLightState_t BCM_ExteriorLightState; + BCM_StyleCmd1_t BCM_StyleCmd1; + DMFL_Msg1_t DMFL_Msg1; + BCM_VEH_STATE_t BCM_VEH_STATE; + BCM_Veh_State2_t BCM_Veh_State2; + BCM_Lock_CTR_t BCM_Lock_CTR; + BCM_CLIMATIC_DATA_t BCM_CLIMATIC_DATA; + DMFL_SMFL_REQ_CTR_SEATS_t DMFL_SMFL_REQ_CTR_SEATS; + CCU_Msg1_t CCU_Msg1; + Sroof_State_t Sroof_State; + FIU_Profile_t FIU_Profile; + SMFR_status_t SMFR_status; + SDM_Cmd_t SDM_Cmd; + VEH_VIN_t VEH_VIN; + FIU_Msg1_t FIU_Msg1; + FIU_Msg3_t FIU_Msg3; + BCM_StyleCmd2_t BCM_StyleCmd2; + BCM_StyleCmd3_t BCM_StyleCmd3; + BCM_WHF_Request_t BCM_WHF_Request; + BCM_UserConfig_Stat_t BCM_UserConfig_Stat; + Diag_To_FRDSilCU_t Diag_To_FRDSilCU; + Diag_To_DMFR_t Diag_To_DMFR; + Diag_Functional_t Diag_Functional; + Diag_To_WHFR_t Diag_To_WHFR; +} dmfr_candb_rx_t; + +typedef struct +{ + DMFR_Msg1_t DMFR_Msg1; + DMFR_SMFR_REQ_CTR_SEATS_t DMFR_SMFR_REQ_CTR_SEATS; + WHFR_Msg1_t WHFR_Msg1; + FRDSilCU_State_t FRDSilCU_State; + Diag_From_FRDSilCU_t Diag_From_FRDSilCU; + Diag_From_DMFR_t Diag_From_DMFR; + Diag_From_WHFR_t Diag_From_WHFR; +} dmfr_candb_tx_t; + +uint32_t dmfr_candb_Receive(dmfr_candb_rx_t* m, const uint8_t* d, uint32_t msgid, uint8_t dlc); + +#ifdef __DEF_DMFR_CANDB__ + +extern dmfr_candb_rx_t dmfr_candb_rx; + +extern dmfr_candb_tx_t dmfr_candb_tx; + +#endif // __DEF_DMFR_CANDB__ + +#ifdef __cplusplus +} +#endif diff --git a/butl/dmrl_candb-binutil.c b/butl/dmrl_candb-binutil.c new file mode 100644 index 0000000..343016f --- /dev/null +++ b/butl/dmrl_candb-binutil.c @@ -0,0 +1,129 @@ +// Generator version : v3.1 +// DBC filename : CCU.dbc +#include "dmrl_candb-binutil.h" + +// DBC file version +#if (VER_CANDB_MAJ != (0U)) || (VER_CANDB_MIN != (0U)) +#error The DMRL_CANDB binutil source file has inconsistency with core dbc lib! +#endif + +#ifdef __DEF_DMRL_CANDB__ + +dmrl_candb_rx_t dmrl_candb_rx; + +dmrl_candb_tx_t dmrl_candb_tx; + +#endif // __DEF_DMRL_CANDB__ + +uint32_t dmrl_candb_Receive(dmrl_candb_rx_t* _m, const uint8_t* _d, uint32_t _id, uint8_t dlc_) +{ + uint32_t recid = 0; + if ((_id >= 0x100U) && (_id < 0x365U)) { + if ((_id >= 0x100U) && (_id < 0x210U)) { + if ((_id >= 0x100U) && (_id < 0x162U)) { + if (_id == 0x100U) { + recid = Unpack_ESC_04_candb(&(_m->ESC_04), _d, dlc_); + } else { + if (_id == 0x157U) { + recid = Unpack_BCM_EEM_candb(&(_m->BCM_EEM), _d, dlc_); + } else if (_id == 0x160U) { + recid = Unpack_DAS_01_candb(&(_m->DAS_01), _d, dlc_); + } + } + } else { + if (_id == 0x162U) { + recid = Unpack_DAS_04_candb(&(_m->DAS_04), _d, dlc_); + } else { + if (_id == 0x20AU) { + recid = Unpack_DAS_02_candb(&(_m->DAS_02), _d, dlc_); + } else if (_id == 0x20BU) { + recid = Unpack_DAS_07_candb(&(_m->DAS_07), _d, dlc_); + } + } + } + } else { + if ((_id >= 0x210U) && (_id < 0x246U)) { + if (_id == 0x210U) { + recid = Unpack_ACU_01_candb(&(_m->ACU_01), _d, dlc_); + } else { + if (_id == 0x23AU) { + recid = Unpack_BCM_StyleCmd1_candb(&(_m->BCM_StyleCmd1), _d, dlc_); + } else if (_id == 0x244U) { + recid = Unpack_DMFL_Msg1_candb(&(_m->DMFL_Msg1), _d, dlc_); + } + } + } else { + if ((_id >= 0x246U) && (_id < 0x280U)) { + if (_id == 0x246U) { + recid = Unpack_DMRR_Msg1_candb(&(_m->DMRR_Msg1), _d, dlc_); + } else if (_id == 0x247U) { + recid = Unpack_TM_Stat_candb(&(_m->TM_Stat), _d, dlc_); + } + } else { + if (_id == 0x280U) { + recid = Unpack_BCM_VEH_STATE_candb(&(_m->BCM_VEH_STATE), _d, dlc_); + } else if (_id == 0x2F0U) { + recid = Unpack_BCM_Lock_CTR_candb(&(_m->BCM_Lock_CTR), _d, dlc_); + } + } + } + } + } else { + if ((_id >= 0x365U) && (_id < 0x594U)) { + if ((_id >= 0x365U) && (_id < 0x4D1U)) { + if (_id == 0x365U) { + recid = Unpack_BCM_CLIMATIC_DATA_candb(&(_m->BCM_CLIMATIC_DATA), _d, dlc_); + } else { + if (_id == 0x380U) { + recid = Unpack_CCU_Msg1_candb(&(_m->CCU_Msg1), _d, dlc_); + } else if (_id == 0x38AU) { + recid = Unpack_Sroof_State_candb(&(_m->Sroof_State), _d, dlc_); + } + } + } else { + if ((_id >= 0x4D1U) && (_id < 0x50FU)) { + if (_id == 0x4D1U) { + recid = Unpack_SMFR_status_candb(&(_m->SMFR_status), _d, dlc_); + } else if (_id == 0x4D2U) { + recid = Unpack_SMRL_status_candb(&(_m->SMRL_status), _d, dlc_); + } + } else { + if (_id == 0x50FU) { + recid = Unpack_SDM_Cmd_candb(&(_m->SDM_Cmd), _d, dlc_); + } else if (_id == 0x51AU) { + recid = Unpack_VEH_VIN_candb(&(_m->VEH_VIN), _d, dlc_); + } + } + } + } else { + if ((_id >= 0x594U) && (_id < 0x5ACU)) { + if (_id == 0x594U) { + recid = Unpack_FIU_Msg3_candb(&(_m->FIU_Msg3), _d, dlc_); + } else { + if (_id == 0x5A6U) { + recid = Unpack_BCM_StyleCmd2_candb(&(_m->BCM_StyleCmd2), _d, dlc_); + } else if (_id == 0x5A7U) { + recid = Unpack_BCM_StyleCmd3_candb(&(_m->BCM_StyleCmd3), _d, dlc_); + } + } + } else { + if ((_id >= 0x5ACU) && (_id < 0x7C8U)) { + if (_id == 0x5ACU) { + recid = Unpack_BCM_UserConfig_Stat_candb(&(_m->BCM_UserConfig_Stat), _d, dlc_); + } else if (_id == 0x7A6U) { + recid = Unpack_Diag_To_DMRL_candb(&(_m->Diag_To_DMRL), _d, dlc_); + } + } else { + if (_id == 0x7C8U) { + recid = Unpack_Diag_To_RLDSilCU_candb(&(_m->Diag_To_RLDSilCU), _d, dlc_); + } else if (_id == 0x7DFU) { + recid = Unpack_Diag_Functional_candb(&(_m->Diag_Functional), _d, dlc_); + } + } + } + } + } + + return recid; +} + diff --git a/butl/dmrl_candb-binutil.h b/butl/dmrl_candb-binutil.h new file mode 100644 index 0000000..c6fa09d --- /dev/null +++ b/butl/dmrl_candb-binutil.h @@ -0,0 +1,65 @@ +// Generator version : v3.1 +// DBC filename : CCU.dbc +#pragma once + +#ifdef __cplusplus +extern "C" { +#endif + +#include "dbccodeconf.h" + +#include "candb.h" + +typedef struct +{ + ESC_04_t ESC_04; + BCM_EEM_t BCM_EEM; + DAS_01_t DAS_01; + DAS_04_t DAS_04; + DAS_02_t DAS_02; + DAS_07_t DAS_07; + ACU_01_t ACU_01; + BCM_StyleCmd1_t BCM_StyleCmd1; + DMFL_Msg1_t DMFL_Msg1; + DMRR_Msg1_t DMRR_Msg1; + TM_Stat_t TM_Stat; + BCM_VEH_STATE_t BCM_VEH_STATE; + BCM_Lock_CTR_t BCM_Lock_CTR; + BCM_CLIMATIC_DATA_t BCM_CLIMATIC_DATA; + CCU_Msg1_t CCU_Msg1; + Sroof_State_t Sroof_State; + SMFR_status_t SMFR_status; + SMRL_status_t SMRL_status; + SDM_Cmd_t SDM_Cmd; + VEH_VIN_t VEH_VIN; + FIU_Msg3_t FIU_Msg3; + BCM_StyleCmd2_t BCM_StyleCmd2; + BCM_StyleCmd3_t BCM_StyleCmd3; + BCM_UserConfig_Stat_t BCM_UserConfig_Stat; + Diag_To_DMRL_t Diag_To_DMRL; + Diag_To_RLDSilCU_t Diag_To_RLDSilCU; + Diag_Functional_t Diag_Functional; +} dmrl_candb_rx_t; + +typedef struct +{ + DMRL_Msg1_t DMRL_Msg1; + DMRL_SMRL_REQ_CTR_SEATS_t DMRL_SMRL_REQ_CTR_SEATS; + RLDSilCU_State_t RLDSilCU_State; + Diag_From_DMRL_t Diag_From_DMRL; + Diag_From_RLDSilCU_t Diag_From_RLDSilCU; +} dmrl_candb_tx_t; + +uint32_t dmrl_candb_Receive(dmrl_candb_rx_t* m, const uint8_t* d, uint32_t msgid, uint8_t dlc); + +#ifdef __DEF_DMRL_CANDB__ + +extern dmrl_candb_rx_t dmrl_candb_rx; + +extern dmrl_candb_tx_t dmrl_candb_tx; + +#endif // __DEF_DMRL_CANDB__ + +#ifdef __cplusplus +} +#endif diff --git a/butl/dmrr_candb-binutil.c b/butl/dmrr_candb-binutil.c new file mode 100644 index 0000000..ede32ce --- /dev/null +++ b/butl/dmrr_candb-binutil.c @@ -0,0 +1,133 @@ +// Generator version : v3.1 +// DBC filename : CCU.dbc +#include "dmrr_candb-binutil.h" + +// DBC file version +#if (VER_CANDB_MAJ != (0U)) || (VER_CANDB_MIN != (0U)) +#error The DMRR_CANDB binutil source file has inconsistency with core dbc lib! +#endif + +#ifdef __DEF_DMRR_CANDB__ + +dmrr_candb_rx_t dmrr_candb_rx; + +dmrr_candb_tx_t dmrr_candb_tx; + +#endif // __DEF_DMRR_CANDB__ + +uint32_t dmrr_candb_Receive(dmrr_candb_rx_t* _m, const uint8_t* _d, uint32_t _id, uint8_t dlc_) +{ + uint32_t recid = 0; + if ((_id >= 0x100U) && (_id < 0x367U)) { + if ((_id >= 0x100U) && (_id < 0x23AU)) { + if ((_id >= 0x100U) && (_id < 0x162U)) { + if (_id == 0x100U) { + recid = Unpack_ESC_04_candb(&(_m->ESC_04), _d, dlc_); + } else { + if (_id == 0x157U) { + recid = Unpack_BCM_EEM_candb(&(_m->BCM_EEM), _d, dlc_); + } else if (_id == 0x160U) { + recid = Unpack_DAS_01_candb(&(_m->DAS_01), _d, dlc_); + } + } + } else { + if ((_id >= 0x162U) && (_id < 0x20BU)) { + if (_id == 0x162U) { + recid = Unpack_DAS_04_candb(&(_m->DAS_04), _d, dlc_); + } else if (_id == 0x20AU) { + recid = Unpack_DAS_02_candb(&(_m->DAS_02), _d, dlc_); + } + } else { + if (_id == 0x20BU) { + recid = Unpack_DAS_07_candb(&(_m->DAS_07), _d, dlc_); + } else if (_id == 0x210U) { + recid = Unpack_ACU_01_candb(&(_m->ACU_01), _d, dlc_); + } + } + } + } else { + if ((_id >= 0x23AU) && (_id < 0x247U)) { + if (_id == 0x23AU) { + recid = Unpack_BCM_StyleCmd1_candb(&(_m->BCM_StyleCmd1), _d, dlc_); + } else { + if (_id == 0x244U) { + recid = Unpack_DMFL_Msg1_candb(&(_m->DMFL_Msg1), _d, dlc_); + } else if (_id == 0x245U) { + recid = Unpack_DMRL_Msg1_candb(&(_m->DMRL_Msg1), _d, dlc_); + } + } + } else { + if ((_id >= 0x247U) && (_id < 0x2F0U)) { + if (_id == 0x247U) { + recid = Unpack_TM_Stat_candb(&(_m->TM_Stat), _d, dlc_); + } else if (_id == 0x280U) { + recid = Unpack_BCM_VEH_STATE_candb(&(_m->BCM_VEH_STATE), _d, dlc_); + } + } else { + if (_id == 0x2F0U) { + recid = Unpack_BCM_Lock_CTR_candb(&(_m->BCM_Lock_CTR), _d, dlc_); + } else if (_id == 0x365U) { + recid = Unpack_BCM_CLIMATIC_DATA_candb(&(_m->BCM_CLIMATIC_DATA), _d, dlc_); + } + } + } + } + } else { + if ((_id >= 0x367U) && (_id < 0x594U)) { + if ((_id >= 0x367U) && (_id < 0x4D1U)) { + if (_id == 0x367U) { + recid = Unpack_DMFL_SMFL_REQ_CTR_SEATS_candb(&(_m->DMFL_SMFL_REQ_CTR_SEATS), _d, dlc_); + } else { + if (_id == 0x380U) { + recid = Unpack_CCU_Msg1_candb(&(_m->CCU_Msg1), _d, dlc_); + } else if (_id == 0x38AU) { + recid = Unpack_Sroof_State_candb(&(_m->Sroof_State), _d, dlc_); + } + } + } else { + if ((_id >= 0x4D1U) && (_id < 0x50FU)) { + if (_id == 0x4D1U) { + recid = Unpack_SMFR_status_candb(&(_m->SMFR_status), _d, dlc_); + } else if (_id == 0x4D3U) { + recid = Unpack_SMRR_status_candb(&(_m->SMRR_status), _d, dlc_); + } + } else { + if (_id == 0x50FU) { + recid = Unpack_SDM_Cmd_candb(&(_m->SDM_Cmd), _d, dlc_); + } else if (_id == 0x51AU) { + recid = Unpack_VEH_VIN_candb(&(_m->VEH_VIN), _d, dlc_); + } + } + } + } else { + if ((_id >= 0x594U) && (_id < 0x5ACU)) { + if (_id == 0x594U) { + recid = Unpack_FIU_Msg3_candb(&(_m->FIU_Msg3), _d, dlc_); + } else { + if (_id == 0x5A6U) { + recid = Unpack_BCM_StyleCmd2_candb(&(_m->BCM_StyleCmd2), _d, dlc_); + } else if (_id == 0x5A7U) { + recid = Unpack_BCM_StyleCmd3_candb(&(_m->BCM_StyleCmd3), _d, dlc_); + } + } + } else { + if ((_id >= 0x5ACU) && (_id < 0x7C9U)) { + if (_id == 0x5ACU) { + recid = Unpack_BCM_UserConfig_Stat_candb(&(_m->BCM_UserConfig_Stat), _d, dlc_); + } else if (_id == 0x7A7U) { + recid = Unpack_Diag_To_DMRR_candb(&(_m->Diag_To_DMRR), _d, dlc_); + } + } else { + if (_id == 0x7C9U) { + recid = Unpack_Diag_To_RRDSilCU_candb(&(_m->Diag_To_RRDSilCU), _d, dlc_); + } else if (_id == 0x7DFU) { + recid = Unpack_Diag_Functional_candb(&(_m->Diag_Functional), _d, dlc_); + } + } + } + } + } + + return recid; +} + diff --git a/butl/dmrr_candb-binutil.h b/butl/dmrr_candb-binutil.h new file mode 100644 index 0000000..09ee084 --- /dev/null +++ b/butl/dmrr_candb-binutil.h @@ -0,0 +1,66 @@ +// Generator version : v3.1 +// DBC filename : CCU.dbc +#pragma once + +#ifdef __cplusplus +extern "C" { +#endif + +#include "dbccodeconf.h" + +#include "candb.h" + +typedef struct +{ + ESC_04_t ESC_04; + BCM_EEM_t BCM_EEM; + DAS_01_t DAS_01; + DAS_04_t DAS_04; + DAS_02_t DAS_02; + DAS_07_t DAS_07; + ACU_01_t ACU_01; + BCM_StyleCmd1_t BCM_StyleCmd1; + DMFL_Msg1_t DMFL_Msg1; + DMRL_Msg1_t DMRL_Msg1; + TM_Stat_t TM_Stat; + BCM_VEH_STATE_t BCM_VEH_STATE; + BCM_Lock_CTR_t BCM_Lock_CTR; + BCM_CLIMATIC_DATA_t BCM_CLIMATIC_DATA; + DMFL_SMFL_REQ_CTR_SEATS_t DMFL_SMFL_REQ_CTR_SEATS; + CCU_Msg1_t CCU_Msg1; + Sroof_State_t Sroof_State; + SMFR_status_t SMFR_status; + SMRR_status_t SMRR_status; + SDM_Cmd_t SDM_Cmd; + VEH_VIN_t VEH_VIN; + FIU_Msg3_t FIU_Msg3; + BCM_StyleCmd2_t BCM_StyleCmd2; + BCM_StyleCmd3_t BCM_StyleCmd3; + BCM_UserConfig_Stat_t BCM_UserConfig_Stat; + Diag_To_DMRR_t Diag_To_DMRR; + Diag_To_RRDSilCU_t Diag_To_RRDSilCU; + Diag_Functional_t Diag_Functional; +} dmrr_candb_rx_t; + +typedef struct +{ + DMRR_Msg1_t DMRR_Msg1; + DMRR_SMRR_REQ_CTR_SEATS_t DMRR_SMRR_REQ_CTR_SEATS; + RRDSilCU_State_t RRDSilCU_State; + Diag_From_DMRR_t Diag_From_DMRR; + Diag_From_RRDSilCU_t Diag_From_RRDSilCU; +} dmrr_candb_tx_t; + +uint32_t dmrr_candb_Receive(dmrr_candb_rx_t* m, const uint8_t* d, uint32_t msgid, uint8_t dlc); + +#ifdef __DEF_DMRR_CANDB__ + +extern dmrr_candb_rx_t dmrr_candb_rx; + +extern dmrr_candb_tx_t dmrr_candb_tx; + +#endif // __DEF_DMRR_CANDB__ + +#ifdef __cplusplus +} +#endif diff --git a/butl/ethsw_candb-binutil.c b/butl/ethsw_candb-binutil.c new file mode 100644 index 0000000..73993a0 --- /dev/null +++ b/butl/ethsw_candb-binutil.c @@ -0,0 +1,47 @@ +// Generator version : v3.1 +// DBC filename : CCU.dbc +#include "ethsw_candb-binutil.h" + +// DBC file version +#if (VER_CANDB_MAJ != (0U)) || (VER_CANDB_MIN != (0U)) +#error The ETHSW_CANDB binutil source file has inconsistency with core dbc lib! +#endif + +#ifdef __DEF_ETHSW_CANDB__ + +ethsw_candb_rx_t ethsw_candb_rx; + +#endif // __DEF_ETHSW_CANDB__ + +uint32_t ethsw_candb_Receive(ethsw_candb_rx_t* _m, const uint8_t* _d, uint32_t _id, uint8_t dlc_) +{ + uint32_t recid = 0; + if ((_id >= 0x280U) && (_id < 0x314U)) { + if (_id == 0x280U) { + recid = Unpack_BCM_VEH_STATE_candb(&(_m->BCM_VEH_STATE), _d, dlc_); + } else { + if (_id == 0x282U) { + recid = Unpack_BCM_Veh_State2_candb(&(_m->BCM_Veh_State2), _d, dlc_); + } else if (_id == 0x312U) { + recid = Unpack_CCU_Stat2_candb(&(_m->CCU_Stat2), _d, dlc_); + } + } + } else { + if ((_id >= 0x314U) && (_id < 0x589U)) { + if (_id == 0x314U) { + recid = Unpack_CCU_Stat3_candb(&(_m->CCU_Stat3), _d, dlc_); + } else if (_id == 0x51AU) { + recid = Unpack_VEH_VIN_candb(&(_m->VEH_VIN), _d, dlc_); + } + } else { + if (_id == 0x589U) { + recid = Unpack_DW_STATE_candb(&(_m->DW_STATE), _d, dlc_); + } else if (_id == 0x7DFU) { + recid = Unpack_Diag_Functional_candb(&(_m->Diag_Functional), _d, dlc_); + } + } + } + + return recid; +} + diff --git a/butl/ethsw_candb-binutil.h b/butl/ethsw_candb-binutil.h new file mode 100644 index 0000000..22255f6 --- /dev/null +++ b/butl/ethsw_candb-binutil.h @@ -0,0 +1,36 @@ +// Generator version : v3.1 +// DBC filename : CCU.dbc +#pragma once + +#ifdef __cplusplus +extern "C" { +#endif + +#include "dbccodeconf.h" + +#include "candb.h" + +typedef struct +{ + BCM_VEH_STATE_t BCM_VEH_STATE; + BCM_Veh_State2_t BCM_Veh_State2; + CCU_Stat2_t CCU_Stat2; + CCU_Stat3_t CCU_Stat3; + VEH_VIN_t VEH_VIN; + DW_STATE_t DW_STATE; + Diag_Functional_t Diag_Functional; +} ethsw_candb_rx_t; + +// There is no any TX mapped massage. + +uint32_t ethsw_candb_Receive(ethsw_candb_rx_t* m, const uint8_t* d, uint32_t msgid, uint8_t dlc); + +#ifdef __DEF_ETHSW_CANDB__ + +extern ethsw_candb_rx_t ethsw_candb_rx; + +#endif // __DEF_ETHSW_CANDB__ + +#ifdef __cplusplus +} +#endif diff --git a/butl/ftcu_candb-binutil.c b/butl/ftcu_candb-binutil.c new file mode 100644 index 0000000..563fc7f --- /dev/null +++ b/butl/ftcu_candb-binutil.c @@ -0,0 +1,49 @@ +// Generator version : v3.1 +// DBC filename : CCU.dbc +#include "ftcu_candb-binutil.h" + +// DBC file version +#if (VER_CANDB_MAJ != (0U)) || (VER_CANDB_MIN != (0U)) +#error The FTCU_CANDB binutil source file has inconsistency with core dbc lib! +#endif + +#ifdef __DEF_FTCU_CANDB__ + +ftcu_candb_rx_t ftcu_candb_rx; + +ftcu_candb_tx_t ftcu_candb_tx; + +#endif // __DEF_FTCU_CANDB__ + +uint32_t ftcu_candb_Receive(ftcu_candb_rx_t* _m, const uint8_t* _d, uint32_t _id, uint8_t dlc_) +{ + uint32_t recid = 0; + if ((_id >= 0x150U) && (_id < 0x280U)) { + if (_id == 0x150U) { + recid = Unpack_EMS_Veh_candb(&(_m->EMS_Veh), _d, dlc_); + } else { + if (_id == 0x152U) { + recid = Unpack_BCM_Powertrain_candb(&(_m->BCM_Powertrain), _d, dlc_); + } else if (_id == 0x210U) { + recid = Unpack_ACU_01_candb(&(_m->ACU_01), _d, dlc_); + } + } + } else { + if ((_id >= 0x280U) && (_id < 0x73AU)) { + if (_id == 0x280U) { + recid = Unpack_BCM_VEH_STATE_candb(&(_m->BCM_VEH_STATE), _d, dlc_); + } else if (_id == 0x51AU) { + recid = Unpack_VEH_VIN_candb(&(_m->VEH_VIN), _d, dlc_); + } + } else { + if (_id == 0x73AU) { + recid = Unpack_Diag_To_FTCU_candb(&(_m->Diag_To_FTCU), _d, dlc_); + } else if (_id == 0x7DFU) { + recid = Unpack_Diag_Functional_candb(&(_m->Diag_Functional), _d, dlc_); + } + } + } + + return recid; +} + diff --git a/butl/ftcu_candb-binutil.h b/butl/ftcu_candb-binutil.h new file mode 100644 index 0000000..2a71d63 --- /dev/null +++ b/butl/ftcu_candb-binutil.h @@ -0,0 +1,44 @@ +// Generator version : v3.1 +// DBC filename : CCU.dbc +#pragma once + +#ifdef __cplusplus +extern "C" { +#endif + +#include "dbccodeconf.h" + +#include "candb.h" + +typedef struct +{ + EMS_Veh_t EMS_Veh; + BCM_Powertrain_t BCM_Powertrain; + ACU_01_t ACU_01; + BCM_VEH_STATE_t BCM_VEH_STATE; + VEH_VIN_t VEH_VIN; + Diag_To_FTCU_t Diag_To_FTCU; + Diag_Functional_t Diag_Functional; +} ftcu_candb_rx_t; + +typedef struct +{ + FTCU_DAT1_t FTCU_DAT1; + FTCU_DAT2_t FTCU_DAT2; + FTCU_DAT3_t FTCU_DAT3; + Diag_From_FTCU_t Diag_From_FTCU; +} ftcu_candb_tx_t; + +uint32_t ftcu_candb_Receive(ftcu_candb_rx_t* m, const uint8_t* d, uint32_t msgid, uint8_t dlc); + +#ifdef __DEF_FTCU_CANDB__ + +extern ftcu_candb_rx_t ftcu_candb_rx; + +extern ftcu_candb_tx_t ftcu_candb_tx; + +#endif // __DEF_FTCU_CANDB__ + +#ifdef __cplusplus +} +#endif diff --git a/butl/ic_candb-binutil.c b/butl/ic_candb-binutil.c new file mode 100644 index 0000000..a505a81 --- /dev/null +++ b/butl/ic_candb-binutil.c @@ -0,0 +1,169 @@ +// Generator version : v3.1 +// DBC filename : CCU.dbc +#include "ic_candb-binutil.h" + +// DBC file version +#if (VER_CANDB_MAJ != (0U)) || (VER_CANDB_MIN != (0U)) +#error The IC_CANDB binutil source file has inconsistency with core dbc lib! +#endif + +#ifdef __DEF_IC_CANDB__ + +ic_candb_rx_t ic_candb_rx; + +ic_candb_tx_t ic_candb_tx; + +#endif // __DEF_IC_CANDB__ + +uint32_t ic_candb_Receive(ic_candb_rx_t* _m, const uint8_t* _d, uint32_t _id, uint8_t dlc_) +{ + uint32_t recid = 0; + if ((_id >= 0x8FU) && (_id < 0x282U)) { + if ((_id >= 0x8FU) && (_id < 0x243U)) { + if ((_id >= 0x8FU) && (_id < 0x152U)) { + if ((_id >= 0x8FU) && (_id < 0xE4U)) { + if (_id == 0x8FU) { + recid = Unpack_VAU_TCU_Hash_Resp_candb(&(_m->VAU_TCU_Hash_Resp), _d, dlc_); + } else if (_id == 0x91U) { + recid = Unpack_VAU_EMS_VCU_Hash_Resp_candb(&(_m->VAU_EMS_VCU_Hash_Resp), _d, dlc_); + } + } else { + if (_id == 0xE4U) { + recid = Unpack_FTCU_DAT2_candb(&(_m->FTCU_DAT2), _d, dlc_); + } else if (_id == 0x121U) { + recid = Unpack_VAU2_Msg1_candb(&(_m->VAU2_Msg1), _d, dlc_); + } + } + } else { + if ((_id >= 0x152U) && (_id < 0x157U)) { + if (_id == 0x152U) { + recid = Unpack_BCM_Powertrain_candb(&(_m->BCM_Powertrain), _d, dlc_); + } else if (_id == 0x153U) { + recid = Unpack_EMS_Veh_02_candb(&(_m->EMS_Veh_02), _d, dlc_); + } + } else { + if (_id == 0x157U) { + recid = Unpack_BCM_EEM_candb(&(_m->BCM_EEM), _d, dlc_); + } else { + if (_id == 0x20BU) { + recid = Unpack_DAS_07_candb(&(_m->DAS_07), _d, dlc_); + } else if (_id == 0x231U) { + recid = Unpack_BCM_ExteriorLightState_candb(&(_m->BCM_ExteriorLightState), _d, dlc_); + } + } + } + } + } else { + if ((_id >= 0x243U) && (_id < 0x247U)) { + if ((_id >= 0x243U) && (_id < 0x245U)) { + if (_id == 0x243U) { + recid = Unpack_DMFR_Msg1_candb(&(_m->DMFR_Msg1), _d, dlc_); + } else if (_id == 0x244U) { + recid = Unpack_DMFL_Msg1_candb(&(_m->DMFL_Msg1), _d, dlc_); + } + } else { + if (_id == 0x245U) { + recid = Unpack_DMRL_Msg1_candb(&(_m->DMRL_Msg1), _d, dlc_); + } else if (_id == 0x246U) { + recid = Unpack_DMRR_Msg1_candb(&(_m->DMRR_Msg1), _d, dlc_); + } + } + } else { + if ((_id >= 0x247U) && (_id < 0x251U)) { + if (_id == 0x247U) { + recid = Unpack_TM_Stat_candb(&(_m->TM_Stat), _d, dlc_); + } else if (_id == 0x24FU) { + recid = Unpack_VAU2_Msg2_candb(&(_m->VAU2_Msg2), _d, dlc_); + } + } else { + if (_id == 0x251U) { + recid = Unpack_BCM_DMS_01_candb(&(_m->BCM_DMS_01), _d, dlc_); + } else { + if (_id == 0x277U) { + recid = Unpack_ATS_Status_candb(&(_m->ATS_Status), _d, dlc_); + } else if (_id == 0x280U) { + recid = Unpack_BCM_VEH_STATE_candb(&(_m->BCM_VEH_STATE), _d, dlc_); + } + } + } + } + } + } else { + if ((_id >= 0x282U) && (_id < 0x4F0U)) { + if ((_id >= 0x282U) && (_id < 0x365U)) { + if ((_id >= 0x282U) && (_id < 0x305U)) { + if (_id == 0x282U) { + recid = Unpack_BCM_Veh_State2_candb(&(_m->BCM_Veh_State2), _d, dlc_); + } else if (_id == 0x2F0U) { + recid = Unpack_BCM_Lock_CTR_candb(&(_m->BCM_Lock_CTR), _d, dlc_); + } + } else { + if (_id == 0x305U) { + recid = Unpack_HVC_Err_Status_Msg_candb(&(_m->HVC_Err_Status_Msg), _d, dlc_); + } else if (_id == 0x362U) { + recid = Unpack_BCM_IC_Info_Msg_candb(&(_m->BCM_IC_Info_Msg), _d, dlc_); + } + } + } else { + if ((_id >= 0x365U) && (_id < 0x3CBU)) { + if (_id == 0x365U) { + recid = Unpack_BCM_CLIMATIC_DATA_candb(&(_m->BCM_CLIMATIC_DATA), _d, dlc_); + } else if (_id == 0x38AU) { + recid = Unpack_Sroof_State_candb(&(_m->Sroof_State), _d, dlc_); + } + } else { + if (_id == 0x3CBU) { + recid = Unpack_WChF_Status_candb(&(_m->WChF_Status), _d, dlc_); + } else { + if (_id == 0x423U) { + recid = Unpack_EPB_VM_MSG_candb(&(_m->EPB_VM_MSG), _d, dlc_); + } else if (_id == 0x4AFU) { + recid = Unpack_DCDC1248_01_candb(&(_m->DCDC1248_01), _d, dlc_); + } + } + } + } + } else { + if ((_id >= 0x4F0U) && (_id < 0x522U)) { + if ((_id >= 0x4F0U) && (_id < 0x51AU)) { + if (_id == 0x4F0U) { + recid = Unpack_VAU_TPMS_Msg_candb(&(_m->VAU_TPMS_Msg), _d, dlc_); + } else if (_id == 0x4FEU) { + recid = Unpack_CCU_Errors_candb(&(_m->CCU_Errors), _d, dlc_); + } + } else { + if (_id == 0x51AU) { + recid = Unpack_VEH_VIN_candb(&(_m->VEH_VIN), _d, dlc_); + } else { + if (_id == 0x51EU) { + recid = Unpack_BCM_RunningBoards_candb(&(_m->BCM_RunningBoards), _d, dlc_); + } else if (_id == 0x521U) { + recid = Unpack_OCUFL_MSG_candb(&(_m->OCUFL_MSG), _d, dlc_); + } + } + } + } else { + if ((_id >= 0x522U) && (_id < 0x524U)) { + if (_id == 0x522U) { + recid = Unpack_OCUFR_MSG_candb(&(_m->OCUFR_MSG), _d, dlc_); + } else if (_id == 0x523U) { + recid = Unpack_OCURL_MSG_candb(&(_m->OCURL_MSG), _d, dlc_); + } + } else { + if (_id == 0x524U) { + recid = Unpack_OCURR_MSG_candb(&(_m->OCURR_MSG), _d, dlc_); + } else { + if (_id == 0x525U) { + recid = Unpack_RBCU_BODY_Stat_candb(&(_m->RBCU_BODY_Stat), _d, dlc_); + } else if (_id == 0x622U) { + recid = Unpack_VAU_BLE_Device_candb(&(_m->VAU_BLE_Device), _d, dlc_); + } + } + } + } + } + } + + return recid; +} + diff --git a/butl/ic_candb-binutil.h b/butl/ic_candb-binutil.h new file mode 100644 index 0000000..46e22e9 --- /dev/null +++ b/butl/ic_candb-binutil.h @@ -0,0 +1,74 @@ +// Generator version : v3.1 +// DBC filename : CCU.dbc +#pragma once + +#ifdef __cplusplus +extern "C" { +#endif + +#include "dbccodeconf.h" + +#include "candb.h" + +typedef struct +{ + VAU_TCU_Hash_Resp_t VAU_TCU_Hash_Resp; + VAU_EMS_VCU_Hash_Resp_t VAU_EMS_VCU_Hash_Resp; + FTCU_DAT2_t FTCU_DAT2; + VAU2_Msg1_t VAU2_Msg1; + BCM_Powertrain_t BCM_Powertrain; + EMS_Veh_02_t EMS_Veh_02; + BCM_EEM_t BCM_EEM; + DAS_07_t DAS_07; + BCM_ExteriorLightState_t BCM_ExteriorLightState; + DMFR_Msg1_t DMFR_Msg1; + DMFL_Msg1_t DMFL_Msg1; + DMRL_Msg1_t DMRL_Msg1; + DMRR_Msg1_t DMRR_Msg1; + TM_Stat_t TM_Stat; + VAU2_Msg2_t VAU2_Msg2; + BCM_DMS_01_t BCM_DMS_01; + ATS_Status_t ATS_Status; + BCM_VEH_STATE_t BCM_VEH_STATE; + BCM_Veh_State2_t BCM_Veh_State2; + BCM_Lock_CTR_t BCM_Lock_CTR; + HVC_Err_Status_Msg_t HVC_Err_Status_Msg; + BCM_IC_Info_Msg_t BCM_IC_Info_Msg; + BCM_CLIMATIC_DATA_t BCM_CLIMATIC_DATA; + Sroof_State_t Sroof_State; + WChF_Status_t WChF_Status; + EPB_VM_MSG_t EPB_VM_MSG; + DCDC1248_01_t DCDC1248_01; + VAU_TPMS_Msg_t VAU_TPMS_Msg; + CCU_Errors_t CCU_Errors; + VEH_VIN_t VEH_VIN; + BCM_RunningBoards_t BCM_RunningBoards; + OCUFL_MSG_t OCUFL_MSG; + OCUFR_MSG_t OCUFR_MSG; + OCURL_MSG_t OCURL_MSG; + OCURR_MSG_t OCURR_MSG; + RBCU_BODY_Stat_t RBCU_BODY_Stat; + VAU_BLE_Device_t VAU_BLE_Device; +} ic_candb_rx_t; + +typedef struct +{ + FIU_Profile_t FIU_Profile; + IC_SDM_Info_t IC_SDM_Info; + IC_SDM_Info_02_t IC_SDM_Info_02; + IC_Milleage_t IC_Milleage; +} ic_candb_tx_t; + +uint32_t ic_candb_Receive(ic_candb_rx_t* m, const uint8_t* d, uint32_t msgid, uint8_t dlc); + +#ifdef __DEF_IC_CANDB__ + +extern ic_candb_rx_t ic_candb_rx; + +extern ic_candb_tx_t ic_candb_tx; + +#endif // __DEF_IC_CANDB__ + +#ifdef __cplusplus +} +#endif diff --git a/butl/lb_psilcu_candb-binutil.c b/butl/lb_psilcu_candb-binutil.c new file mode 100644 index 0000000..07de523 --- /dev/null +++ b/butl/lb_psilcu_candb-binutil.c @@ -0,0 +1,41 @@ +// Generator version : v3.1 +// DBC filename : CCU.dbc +#include "lb_psilcu_candb-binutil.h" + +// DBC file version +#if (VER_CANDB_MAJ != (0U)) || (VER_CANDB_MIN != (0U)) +#error The LB_PSILCU_CANDB binutil source file has inconsistency with core dbc lib! +#endif + +#ifdef __DEF_LB_PSILCU_CANDB__ + +lb_psilcu_candb_rx_t lb_psilcu_candb_rx; + +lb_psilcu_candb_tx_t lb_psilcu_candb_tx; + +#endif // __DEF_LB_PSILCU_CANDB__ + +uint32_t lb_psilcu_candb_Receive(lb_psilcu_candb_rx_t* _m, const uint8_t* _d, uint32_t _id, uint8_t dlc_) +{ + uint32_t recid = 0; + if ((_id >= 0x23AU) && (_id < 0x5A6U)) { + if (_id == 0x23AU) { + recid = Unpack_BCM_StyleCmd1_candb(&(_m->BCM_StyleCmd1), _d, dlc_); + } else if (_id == 0x51AU) { + recid = Unpack_VEH_VIN_candb(&(_m->VEH_VIN), _d, dlc_); + } + } else { + if (_id == 0x5A6U) { + recid = Unpack_BCM_StyleCmd2_candb(&(_m->BCM_StyleCmd2), _d, dlc_); + } else { + if (_id == 0x5A7U) { + recid = Unpack_BCM_StyleCmd3_candb(&(_m->BCM_StyleCmd3), _d, dlc_); + } else if (_id == 0x787U) { + recid = Unpack_Diag_To_LB_pSilCU_candb(&(_m->Diag_To_LB_pSilCU), _d, dlc_); + } + } + } + + return recid; +} + diff --git a/butl/lb_psilcu_candb-binutil.h b/butl/lb_psilcu_candb-binutil.h new file mode 100644 index 0000000..0a1fdee --- /dev/null +++ b/butl/lb_psilcu_candb-binutil.h @@ -0,0 +1,40 @@ +// Generator version : v3.1 +// DBC filename : CCU.dbc +#pragma once + +#ifdef __cplusplus +extern "C" { +#endif + +#include "dbccodeconf.h" + +#include "candb.h" + +typedef struct +{ + BCM_StyleCmd1_t BCM_StyleCmd1; + VEH_VIN_t VEH_VIN; + BCM_StyleCmd2_t BCM_StyleCmd2; + BCM_StyleCmd3_t BCM_StyleCmd3; + Diag_To_LB_pSilCU_t Diag_To_LB_pSilCU; +} lb_psilcu_candb_rx_t; + +typedef struct +{ + LB_pSilCU_State_t LB_pSilCU_State; + Diag_From_LB_pSilCU_t Diag_From_LB_pSilCU; +} lb_psilcu_candb_tx_t; + +uint32_t lb_psilcu_candb_Receive(lb_psilcu_candb_rx_t* m, const uint8_t* d, uint32_t msgid, uint8_t dlc); + +#ifdef __DEF_LB_PSILCU_CANDB__ + +extern lb_psilcu_candb_rx_t lb_psilcu_candb_rx; + +extern lb_psilcu_candb_tx_t lb_psilcu_candb_tx; + +#endif // __DEF_LB_PSILCU_CANDB__ + +#ifdef __cplusplus +} +#endif diff --git a/butl/ptg_candb-binutil.c b/butl/ptg_candb-binutil.c new file mode 100644 index 0000000..be6fc4e --- /dev/null +++ b/butl/ptg_candb-binutil.c @@ -0,0 +1,61 @@ +// Generator version : v3.1 +// DBC filename : CCU.dbc +#include "ptg_candb-binutil.h" + +// DBC file version +#if (VER_CANDB_MAJ != (0U)) || (VER_CANDB_MIN != (0U)) +#error The PTG_CANDB binutil source file has inconsistency with core dbc lib! +#endif + +#ifdef __DEF_PTG_CANDB__ + +ptg_candb_rx_t ptg_candb_rx; + +ptg_candb_tx_t ptg_candb_tx; + +#endif // __DEF_PTG_CANDB__ + +uint32_t ptg_candb_Receive(ptg_candb_rx_t* _m, const uint8_t* _d, uint32_t _id, uint8_t dlc_) +{ + uint32_t recid = 0; + if ((_id >= 0xB1U) && (_id < 0x2F0U)) { + if ((_id >= 0xB1U) && (_id < 0x247U)) { + if (_id == 0xB1U) { + recid = Unpack_TCU_R932_1_candb(&(_m->TCU_R932_1), _d, dlc_); + } else if (_id == 0x100U) { + recid = Unpack_ESC_04_candb(&(_m->ESC_04), _d, dlc_); + } + } else { + if (_id == 0x247U) { + recid = Unpack_TM_Stat_candb(&(_m->TM_Stat), _d, dlc_); + } else { + if (_id == 0x24FU) { + recid = Unpack_VAU2_Msg2_candb(&(_m->VAU2_Msg2), _d, dlc_); + } else if (_id == 0x280U) { + recid = Unpack_BCM_VEH_STATE_candb(&(_m->BCM_VEH_STATE), _d, dlc_); + } + } + } + } else { + if ((_id >= 0x2F0U) && (_id < 0x6D1U)) { + if (_id == 0x2F0U) { + recid = Unpack_BCM_Lock_CTR_candb(&(_m->BCM_Lock_CTR), _d, dlc_); + } else if (_id == 0x51AU) { + recid = Unpack_VEH_VIN_candb(&(_m->VEH_VIN), _d, dlc_); + } + } else { + if (_id == 0x6D1U) { + recid = Unpack_SupplierTool_To_PTG_candb(&(_m->SupplierTool_To_PTG), _d, dlc_); + } else { + if (_id == 0x7DBU) { + recid = Unpack_Diag_To_PTG_candb(&(_m->Diag_To_PTG), _d, dlc_); + } else if (_id == 0x7DFU) { + recid = Unpack_Diag_Functional_candb(&(_m->Diag_Functional), _d, dlc_); + } + } + } + } + + return recid; +} + diff --git a/butl/ptg_candb-binutil.h b/butl/ptg_candb-binutil.h new file mode 100644 index 0000000..a2a4ad2 --- /dev/null +++ b/butl/ptg_candb-binutil.h @@ -0,0 +1,46 @@ +// Generator version : v3.1 +// DBC filename : CCU.dbc +#pragma once + +#ifdef __cplusplus +extern "C" { +#endif + +#include "dbccodeconf.h" + +#include "candb.h" + +typedef struct +{ + TCU_R932_1_t TCU_R932_1; + ESC_04_t ESC_04; + TM_Stat_t TM_Stat; + VAU2_Msg2_t VAU2_Msg2; + BCM_VEH_STATE_t BCM_VEH_STATE; + BCM_Lock_CTR_t BCM_Lock_CTR; + VEH_VIN_t VEH_VIN; + SupplierTool_To_PTG_t SupplierTool_To_PTG; + Diag_To_PTG_t Diag_To_PTG; + Diag_Functional_t Diag_Functional; +} ptg_candb_rx_t; + +typedef struct +{ + PTG_Body_Stat_t PTG_Body_Stat; + PTG_To_SupplierTool_t PTG_To_SupplierTool; + Diag_From_PTG_t Diag_From_PTG; +} ptg_candb_tx_t; + +uint32_t ptg_candb_Receive(ptg_candb_rx_t* m, const uint8_t* d, uint32_t msgid, uint8_t dlc); + +#ifdef __DEF_PTG_CANDB__ + +extern ptg_candb_rx_t ptg_candb_rx; + +extern ptg_candb_tx_t ptg_candb_tx; + +#endif // __DEF_PTG_CANDB__ + +#ifdef __cplusplus +} +#endif diff --git a/butl/rb_psilcu_candb-binutil.c b/butl/rb_psilcu_candb-binutil.c new file mode 100644 index 0000000..d9a5855 --- /dev/null +++ b/butl/rb_psilcu_candb-binutil.c @@ -0,0 +1,41 @@ +// Generator version : v3.1 +// DBC filename : CCU.dbc +#include "rb_psilcu_candb-binutil.h" + +// DBC file version +#if (VER_CANDB_MAJ != (0U)) || (VER_CANDB_MIN != (0U)) +#error The RB_PSILCU_CANDB binutil source file has inconsistency with core dbc lib! +#endif + +#ifdef __DEF_RB_PSILCU_CANDB__ + +rb_psilcu_candb_rx_t rb_psilcu_candb_rx; + +rb_psilcu_candb_tx_t rb_psilcu_candb_tx; + +#endif // __DEF_RB_PSILCU_CANDB__ + +uint32_t rb_psilcu_candb_Receive(rb_psilcu_candb_rx_t* _m, const uint8_t* _d, uint32_t _id, uint8_t dlc_) +{ + uint32_t recid = 0; + if ((_id >= 0x23AU) && (_id < 0x5A6U)) { + if (_id == 0x23AU) { + recid = Unpack_BCM_StyleCmd1_candb(&(_m->BCM_StyleCmd1), _d, dlc_); + } else if (_id == 0x51AU) { + recid = Unpack_VEH_VIN_candb(&(_m->VEH_VIN), _d, dlc_); + } + } else { + if (_id == 0x5A6U) { + recid = Unpack_BCM_StyleCmd2_candb(&(_m->BCM_StyleCmd2), _d, dlc_); + } else { + if (_id == 0x5A7U) { + recid = Unpack_BCM_StyleCmd3_candb(&(_m->BCM_StyleCmd3), _d, dlc_); + } else if (_id == 0x78CU) { + recid = Unpack_Diag_To_RB_pSilCU_candb(&(_m->Diag_To_RB_pSilCU), _d, dlc_); + } + } + } + + return recid; +} + diff --git a/butl/rb_psilcu_candb-binutil.h b/butl/rb_psilcu_candb-binutil.h new file mode 100644 index 0000000..5de42f2 --- /dev/null +++ b/butl/rb_psilcu_candb-binutil.h @@ -0,0 +1,40 @@ +// Generator version : v3.1 +// DBC filename : CCU.dbc +#pragma once + +#ifdef __cplusplus +extern "C" { +#endif + +#include "dbccodeconf.h" + +#include "candb.h" + +typedef struct +{ + BCM_StyleCmd1_t BCM_StyleCmd1; + VEH_VIN_t VEH_VIN; + BCM_StyleCmd2_t BCM_StyleCmd2; + BCM_StyleCmd3_t BCM_StyleCmd3; + Diag_To_RB_pSilCU_t Diag_To_RB_pSilCU; +} rb_psilcu_candb_rx_t; + +typedef struct +{ + RB_pSilCU_State_t RB_pSilCU_State; + Diag_From_RB_pSilCU_t Diag_From_RB_pSilCU; +} rb_psilcu_candb_tx_t; + +uint32_t rb_psilcu_candb_Receive(rb_psilcu_candb_rx_t* m, const uint8_t* d, uint32_t msgid, uint8_t dlc); + +#ifdef __DEF_RB_PSILCU_CANDB__ + +extern rb_psilcu_candb_rx_t rb_psilcu_candb_rx; + +extern rb_psilcu_candb_tx_t rb_psilcu_candb_tx; + +#endif // __DEF_RB_PSILCU_CANDB__ + +#ifdef __cplusplus +} +#endif diff --git a/butl/rbcu_candb-binutil.c b/butl/rbcu_candb-binutil.c new file mode 100644 index 0000000..5ef18d2 --- /dev/null +++ b/butl/rbcu_candb-binutil.c @@ -0,0 +1,41 @@ +// Generator version : v3.1 +// DBC filename : CCU.dbc +#include "rbcu_candb-binutil.h" + +// DBC file version +#if (VER_CANDB_MAJ != (0U)) || (VER_CANDB_MIN != (0U)) +#error The RBCU_CANDB binutil source file has inconsistency with core dbc lib! +#endif + +#ifdef __DEF_RBCU_CANDB__ + +rbcu_candb_rx_t rbcu_candb_rx; + +rbcu_candb_tx_t rbcu_candb_tx; + +#endif // __DEF_RBCU_CANDB__ + +uint32_t rbcu_candb_Receive(rbcu_candb_rx_t* _m, const uint8_t* _d, uint32_t _id, uint8_t dlc_) +{ + uint32_t recid = 0; + if ((_id >= 0x100U) && (_id < 0x50BU)) { + if (_id == 0x100U) { + recid = Unpack_ESC_04_candb(&(_m->ESC_04), _d, dlc_); + } else if (_id == 0x280U) { + recid = Unpack_BCM_VEH_STATE_candb(&(_m->BCM_VEH_STATE), _d, dlc_); + } + } else { + if (_id == 0x50BU) { + recid = Unpack_FIU_Cmd_candb(&(_m->FIU_Cmd), _d, dlc_); + } else { + if (_id == 0x51AU) { + recid = Unpack_VEH_VIN_candb(&(_m->VEH_VIN), _d, dlc_); + } else if (_id == 0x51EU) { + recid = Unpack_BCM_RunningBoards_candb(&(_m->BCM_RunningBoards), _d, dlc_); + } + } + } + + return recid; +} + diff --git a/butl/rbcu_candb-binutil.h b/butl/rbcu_candb-binutil.h new file mode 100644 index 0000000..88fa7f1 --- /dev/null +++ b/butl/rbcu_candb-binutil.h @@ -0,0 +1,39 @@ +// Generator version : v3.1 +// DBC filename : CCU.dbc +#pragma once + +#ifdef __cplusplus +extern "C" { +#endif + +#include "dbccodeconf.h" + +#include "candb.h" + +typedef struct +{ + ESC_04_t ESC_04; + BCM_VEH_STATE_t BCM_VEH_STATE; + FIU_Cmd_t FIU_Cmd; + VEH_VIN_t VEH_VIN; + BCM_RunningBoards_t BCM_RunningBoards; +} rbcu_candb_rx_t; + +typedef struct +{ + RBCU_BODY_Stat_t RBCU_BODY_Stat; +} rbcu_candb_tx_t; + +uint32_t rbcu_candb_Receive(rbcu_candb_rx_t* m, const uint8_t* d, uint32_t msgid, uint8_t dlc); + +#ifdef __DEF_RBCU_CANDB__ + +extern rbcu_candb_rx_t rbcu_candb_rx; + +extern rbcu_candb_tx_t rbcu_candb_tx; + +#endif // __DEF_RBCU_CANDB__ + +#ifdef __cplusplus +} +#endif diff --git a/butl/sdm_candb-binutil.c b/butl/sdm_candb-binutil.c new file mode 100644 index 0000000..2fce3b0 --- /dev/null +++ b/butl/sdm_candb-binutil.c @@ -0,0 +1,181 @@ +// Generator version : v3.1 +// DBC filename : CCU.dbc +#include "sdm_candb-binutil.h" + +// DBC file version +#if (VER_CANDB_MAJ != (0U)) || (VER_CANDB_MIN != (0U)) +#error The SDM_CANDB binutil source file has inconsistency with core dbc lib! +#endif + +#ifdef __DEF_SDM_CANDB__ + +sdm_candb_rx_t sdm_candb_rx; + +sdm_candb_tx_t sdm_candb_tx; + +#endif // __DEF_SDM_CANDB__ + +uint32_t sdm_candb_Receive(sdm_candb_rx_t* _m, const uint8_t* _d, uint32_t _id, uint8_t dlc_) +{ + uint32_t recid = 0; + if ((_id >= 0x99U) && (_id < 0x3C1U)) { + if ((_id >= 0x99U) && (_id < 0x245U)) { + if ((_id >= 0x99U) && (_id < 0x152U)) { + if ((_id >= 0x99U) && (_id < 0x100U)) { + if (_id == 0x99U) { + recid = Unpack_VAU_SDM_Immo_Req_candb(&(_m->VAU_SDM_Immo_Req), _d, dlc_); + } else if (_id == 0xB1U) { + recid = Unpack_TCU_R932_1_candb(&(_m->TCU_R932_1), _d, dlc_); + } + } else { + if (_id == 0x100U) { + recid = Unpack_ESC_04_candb(&(_m->ESC_04), _d, dlc_); + } else { + if (_id == 0x150U) { + recid = Unpack_EMS_Veh_candb(&(_m->EMS_Veh), _d, dlc_); + } else if (_id == 0x151U) { + recid = Unpack_EMS_Indicators_candb(&(_m->EMS_Indicators), _d, dlc_); + } + } + } + } else { + if ((_id >= 0x152U) && (_id < 0x231U)) { + if (_id == 0x152U) { + recid = Unpack_BCM_Powertrain_candb(&(_m->BCM_Powertrain), _d, dlc_); + } else if (_id == 0x21AU) { + recid = Unpack_EPB_Status_candb(&(_m->EPB_Status), _d, dlc_); + } + } else { + if (_id == 0x231U) { + recid = Unpack_BCM_ExteriorLightState_candb(&(_m->BCM_ExteriorLightState), _d, dlc_); + } else { + if (_id == 0x243U) { + recid = Unpack_DMFR_Msg1_candb(&(_m->DMFR_Msg1), _d, dlc_); + } else if (_id == 0x244U) { + recid = Unpack_DMFL_Msg1_candb(&(_m->DMFL_Msg1), _d, dlc_); + } + } + } + } + } else { + if ((_id >= 0x245U) && (_id < 0x2F0U)) { + if ((_id >= 0x245U) && (_id < 0x247U)) { + if (_id == 0x245U) { + recid = Unpack_DMRL_Msg1_candb(&(_m->DMRL_Msg1), _d, dlc_); + } else if (_id == 0x246U) { + recid = Unpack_DMRR_Msg1_candb(&(_m->DMRR_Msg1), _d, dlc_); + } + } else { + if (_id == 0x247U) { + recid = Unpack_TM_Stat_candb(&(_m->TM_Stat), _d, dlc_); + } else { + if (_id == 0x280U) { + recid = Unpack_BCM_VEH_STATE_candb(&(_m->BCM_VEH_STATE), _d, dlc_); + } else if (_id == 0x282U) { + recid = Unpack_BCM_Veh_State2_candb(&(_m->BCM_Veh_State2), _d, dlc_); + } + } + } + } else { + if ((_id >= 0x2F0U) && (_id < 0x362U)) { + if (_id == 0x2F0U) { + recid = Unpack_BCM_Lock_CTR_candb(&(_m->BCM_Lock_CTR), _d, dlc_); + } else if (_id == 0x312U) { + recid = Unpack_CCU_Stat2_candb(&(_m->CCU_Stat2), _d, dlc_); + } + } else { + if (_id == 0x362U) { + recid = Unpack_BCM_IC_Info_Msg_candb(&(_m->BCM_IC_Info_Msg), _d, dlc_); + } else { + if (_id == 0x365U) { + recid = Unpack_BCM_CLIMATIC_DATA_candb(&(_m->BCM_CLIMATIC_DATA), _d, dlc_); + } else if (_id == 0x3AAU) { + recid = Unpack_IC_DATA_MSG_candb(&(_m->IC_DATA_MSG), _d, dlc_); + } + } + } + } + } + } else { + if ((_id >= 0x3C1U) && (_id < 0x514U)) { + if ((_id >= 0x3C1U) && (_id < 0x4D3U)) { + if ((_id >= 0x3C1U) && (_id < 0x4D0U)) { + if (_id == 0x3C1U) { + recid = Unpack_ESC_08_candb(&(_m->ESC_08), _d, dlc_); + } else if (_id == 0x3D0U) { + recid = Unpack_MAS_Status_candb(&(_m->MAS_Status), _d, dlc_); + } + } else { + if (_id == 0x4D0U) { + recid = Unpack_SMFL_status_candb(&(_m->SMFL_status), _d, dlc_); + } else { + if (_id == 0x4D1U) { + recid = Unpack_SMFR_status_candb(&(_m->SMFR_status), _d, dlc_); + } else if (_id == 0x4D2U) { + recid = Unpack_SMRL_status_candb(&(_m->SMRL_status), _d, dlc_); + } + } + } + } else { + if ((_id >= 0x4D3U) && (_id < 0x501U)) { + if (_id == 0x4D3U) { + recid = Unpack_SMRR_status_candb(&(_m->SMRR_status), _d, dlc_); + } else if (_id == 0x4F0U) { + recid = Unpack_VAU_TPMS_Msg_candb(&(_m->VAU_TPMS_Msg), _d, dlc_); + } + } else { + if (_id == 0x501U) { + recid = Unpack_CCU_Msg3_candb(&(_m->CCU_Msg3), _d, dlc_); + } else { + if (_id == 0x50EU) { + recid = Unpack_IC_SDM_Info_candb(&(_m->IC_SDM_Info), _d, dlc_); + } else if (_id == 0x512U) { + recid = Unpack_IC_SDM_Info_02_candb(&(_m->IC_SDM_Info_02), _d, dlc_); + } + } + } + } + } else { + if ((_id >= 0x514U) && (_id < 0x5A3U)) { + if ((_id >= 0x514U) && (_id < 0x590U)) { + if (_id == 0x514U) { + recid = Unpack_IC_Milleage_candb(&(_m->IC_Milleage), _d, dlc_); + } else if (_id == 0x51AU) { + recid = Unpack_VEH_VIN_candb(&(_m->VEH_VIN), _d, dlc_); + } + } else { + if (_id == 0x590U) { + recid = Unpack_ERAG_DATA_MSG_candb(&(_m->ERAG_DATA_MSG), _d, dlc_); + } else { + if (_id == 0x5A1U) { + recid = Unpack_FIU_CCU1_candb(&(_m->FIU_CCU1), _d, dlc_); + } else if (_id == 0x5A2U) { + recid = Unpack_FIU_CCU2_candb(&(_m->FIU_CCU2), _d, dlc_); + } + } + } + } else { + if ((_id >= 0x5A3U) && (_id < 0x5ADU)) { + if (_id == 0x5A3U) { + recid = Unpack_FIU_CCU3_candb(&(_m->FIU_CCU3), _d, dlc_); + } else if (_id == 0x5ACU) { + recid = Unpack_BCM_UserConfig_Stat_candb(&(_m->BCM_UserConfig_Stat), _d, dlc_); + } + } else { + if (_id == 0x5ADU) { + recid = Unpack_FIU_MAS_Main_candb(&(_m->FIU_MAS_Main), _d, dlc_); + } else { + if (_id == 0x5B1U) { + recid = Unpack_MAS_APA_Paths_candb(&(_m->MAS_APA_Paths), _d, dlc_); + } else if (_id == 0x7DFU) { + recid = Unpack_Diag_Functional_candb(&(_m->Diag_Functional), _d, dlc_); + } + } + } + } + } + } + + return recid; +} + diff --git a/butl/sdm_candb-binutil.h b/butl/sdm_candb-binutil.h new file mode 100644 index 0000000..657ed04 --- /dev/null +++ b/butl/sdm_candb-binutil.h @@ -0,0 +1,76 @@ +// Generator version : v3.1 +// DBC filename : CCU.dbc +#pragma once + +#ifdef __cplusplus +extern "C" { +#endif + +#include "dbccodeconf.h" + +#include "candb.h" + +typedef struct +{ + VAU_SDM_Immo_Req_t VAU_SDM_Immo_Req; + TCU_R932_1_t TCU_R932_1; + ESC_04_t ESC_04; + EMS_Veh_t EMS_Veh; + EMS_Indicators_t EMS_Indicators; + BCM_Powertrain_t BCM_Powertrain; + EPB_Status_t EPB_Status; + BCM_ExteriorLightState_t BCM_ExteriorLightState; + DMFR_Msg1_t DMFR_Msg1; + DMFL_Msg1_t DMFL_Msg1; + DMRL_Msg1_t DMRL_Msg1; + DMRR_Msg1_t DMRR_Msg1; + TM_Stat_t TM_Stat; + BCM_VEH_STATE_t BCM_VEH_STATE; + BCM_Veh_State2_t BCM_Veh_State2; + BCM_Lock_CTR_t BCM_Lock_CTR; + CCU_Stat2_t CCU_Stat2; + BCM_IC_Info_Msg_t BCM_IC_Info_Msg; + BCM_CLIMATIC_DATA_t BCM_CLIMATIC_DATA; + IC_DATA_MSG_t IC_DATA_MSG; + ESC_08_t ESC_08; + MAS_Status_t MAS_Status; + SMFL_status_t SMFL_status; + SMFR_status_t SMFR_status; + SMRL_status_t SMRL_status; + SMRR_status_t SMRR_status; + VAU_TPMS_Msg_t VAU_TPMS_Msg; + CCU_Msg3_t CCU_Msg3; + IC_SDM_Info_t IC_SDM_Info; + IC_SDM_Info_02_t IC_SDM_Info_02; + IC_Milleage_t IC_Milleage; + VEH_VIN_t VEH_VIN; + ERAG_DATA_MSG_t ERAG_DATA_MSG; + FIU_CCU1_t FIU_CCU1; + FIU_CCU2_t FIU_CCU2; + FIU_CCU3_t FIU_CCU3; + BCM_UserConfig_Stat_t BCM_UserConfig_Stat; + FIU_MAS_Main_t FIU_MAS_Main; + MAS_APA_Paths_t MAS_APA_Paths; + Diag_Functional_t Diag_Functional; +} sdm_candb_rx_t; + +typedef struct +{ + SDM_MAS_Req_t SDM_MAS_Req; + SDM_VAU_Hash_Resp_t SDM_VAU_Hash_Resp; + SDM_Cmd_t SDM_Cmd; +} sdm_candb_tx_t; + +uint32_t sdm_candb_Receive(sdm_candb_rx_t* m, const uint8_t* d, uint32_t msgid, uint8_t dlc); + +#ifdef __DEF_SDM_CANDB__ + +extern sdm_candb_rx_t sdm_candb_rx; + +extern sdm_candb_tx_t sdm_candb_tx; + +#endif // __DEF_SDM_CANDB__ + +#ifdef __cplusplus +} +#endif diff --git a/butl/smfl_candb-binutil.c b/butl/smfl_candb-binutil.c new file mode 100644 index 0000000..5cd81ae --- /dev/null +++ b/butl/smfl_candb-binutil.c @@ -0,0 +1,133 @@ +// Generator version : v3.1 +// DBC filename : CCU.dbc +#include "smfl_candb-binutil.h" + +// DBC file version +#if (VER_CANDB_MAJ != (0U)) || (VER_CANDB_MIN != (0U)) +#error The SMFL_CANDB binutil source file has inconsistency with core dbc lib! +#endif + +#ifdef __DEF_SMFL_CANDB__ + +smfl_candb_rx_t smfl_candb_rx; + +smfl_candb_tx_t smfl_candb_tx; + +#endif // __DEF_SMFL_CANDB__ + +uint32_t smfl_candb_Receive(smfl_candb_rx_t* _m, const uint8_t* _d, uint32_t _id, uint8_t dlc_) +{ + uint32_t recid = 0; + if ((_id >= 0x130U) && (_id < 0x4B6U)) { + if ((_id >= 0x130U) && (_id < 0x251U)) { + if ((_id >= 0x130U) && (_id < 0x210U)) { + if (_id == 0x130U) { + recid = Unpack_ESC_YRS_01_candb(&(_m->ESC_YRS_01), _d, dlc_); + } else { + if (_id == 0x152U) { + recid = Unpack_BCM_Powertrain_candb(&(_m->BCM_Powertrain), _d, dlc_); + } else if (_id == 0x157U) { + recid = Unpack_BCM_EEM_candb(&(_m->BCM_EEM), _d, dlc_); + } + } + } else { + if ((_id >= 0x210U) && (_id < 0x244U)) { + if (_id == 0x210U) { + recid = Unpack_ACU_01_candb(&(_m->ACU_01), _d, dlc_); + } else if (_id == 0x23AU) { + recid = Unpack_BCM_StyleCmd1_candb(&(_m->BCM_StyleCmd1), _d, dlc_); + } + } else { + if (_id == 0x244U) { + recid = Unpack_DMFL_Msg1_candb(&(_m->DMFL_Msg1), _d, dlc_); + } else if (_id == 0x245U) { + recid = Unpack_DMRL_Msg1_candb(&(_m->DMRL_Msg1), _d, dlc_); + } + } + } + } else { + if ((_id >= 0x251U) && (_id < 0x284U)) { + if (_id == 0x251U) { + recid = Unpack_BCM_DMS_01_candb(&(_m->BCM_DMS_01), _d, dlc_); + } else { + if (_id == 0x280U) { + recid = Unpack_BCM_VEH_STATE_candb(&(_m->BCM_VEH_STATE), _d, dlc_); + } else if (_id == 0x282U) { + recid = Unpack_BCM_Veh_State2_candb(&(_m->BCM_Veh_State2), _d, dlc_); + } + } + } else { + if ((_id >= 0x284U) && (_id < 0x313U)) { + if (_id == 0x284U) { + recid = Unpack_BCM_ALS_Light_Rear_candb(&(_m->BCM_ALS_Light_Rear), _d, dlc_); + } else if (_id == 0x285U) { + recid = Unpack_BCM_Rear_Plafond_Light_Data_candb(&(_m->BCM_Rear_Plafond_Light_Data), _d, dlc_); + } + } else { + if (_id == 0x313U) { + recid = Unpack_CCU_Requests_candb(&(_m->CCU_Requests), _d, dlc_); + } else if (_id == 0x367U) { + recid = Unpack_DMFL_SMFL_REQ_CTR_SEATS_candb(&(_m->DMFL_SMFL_REQ_CTR_SEATS), _d, dlc_); + } + } + } + } + } else { + if ((_id >= 0x4B6U) && (_id < 0x595U)) { + if ((_id >= 0x4B6U) && (_id < 0x536U)) { + if (_id == 0x4B6U) { + recid = Unpack_FIU_Profile_candb(&(_m->FIU_Profile), _d, dlc_); + } else { + if (_id == 0x51AU) { + recid = Unpack_VEH_VIN_candb(&(_m->VEH_VIN), _d, dlc_); + } else if (_id == 0x534U) { + recid = Unpack_BCM_MEM_SMFL1_candb(&(_m->BCM_MEM_SMFL1), _d, dlc_); + } + } + } else { + if ((_id >= 0x536U) && (_id < 0x553U)) { + if (_id == 0x536U) { + recid = Unpack_BCM_MEM_SMFL2_candb(&(_m->BCM_MEM_SMFL2), _d, dlc_); + } else if (_id == 0x53DU) { + recid = Unpack_SMRL_MEM2_candb(&(_m->SMRL_MEM2), _d, dlc_); + } + } else { + if (_id == 0x553U) { + recid = Unpack_FIU_SMFL_REQ_CTR_SEATS_candb(&(_m->FIU_SMFL_REQ_CTR_SEATS), _d, dlc_); + } else if (_id == 0x58EU) { + recid = Unpack_FIU_Msg1_candb(&(_m->FIU_Msg1), _d, dlc_); + } + } + } + } else { + if ((_id >= 0x595U) && (_id < 0x7ADU)) { + if (_id == 0x595U) { + recid = Unpack_FIU_EngMenu_candb(&(_m->FIU_EngMenu), _d, dlc_); + } else { + if (_id == 0x5A6U) { + recid = Unpack_BCM_StyleCmd2_candb(&(_m->BCM_StyleCmd2), _d, dlc_); + } else if (_id == 0x5A7U) { + recid = Unpack_BCM_StyleCmd3_candb(&(_m->BCM_StyleCmd3), _d, dlc_); + } + } + } else { + if ((_id >= 0x7ADU) && (_id < 0x7DFU)) { + if (_id == 0x7ADU) { + recid = Unpack_Diag_To_SMFL_candb(&(_m->Diag_To_SMFL), _d, dlc_); + } else if (_id == 0x7D6U) { + recid = Unpack_Diag_To_OCUFL_candb(&(_m->Diag_To_OCUFL), _d, dlc_); + } + } else { + if (_id == 0x7DFU) { + recid = Unpack_Diag_Functional_candb(&(_m->Diag_Functional), _d, dlc_); + } else if (_id == 0x7E7U) { + recid = Unpack_Diag_To_SFLSilCU_candb(&(_m->Diag_To_SFLSilCU), _d, dlc_); + } + } + } + } + } + + return recid; +} + diff --git a/butl/smfl_candb-binutil.h b/butl/smfl_candb-binutil.h new file mode 100644 index 0000000..f9189d1 --- /dev/null +++ b/butl/smfl_candb-binutil.h @@ -0,0 +1,70 @@ +// Generator version : v3.1 +// DBC filename : CCU.dbc +#pragma once + +#ifdef __cplusplus +extern "C" { +#endif + +#include "dbccodeconf.h" + +#include "candb.h" + +typedef struct +{ + ESC_YRS_01_t ESC_YRS_01; + BCM_Powertrain_t BCM_Powertrain; + BCM_EEM_t BCM_EEM; + ACU_01_t ACU_01; + BCM_StyleCmd1_t BCM_StyleCmd1; + DMFL_Msg1_t DMFL_Msg1; + DMRL_Msg1_t DMRL_Msg1; + BCM_DMS_01_t BCM_DMS_01; + BCM_VEH_STATE_t BCM_VEH_STATE; + BCM_Veh_State2_t BCM_Veh_State2; + BCM_ALS_Light_Rear_t BCM_ALS_Light_Rear; + BCM_Rear_Plafond_Light_Data_t BCM_Rear_Plafond_Light_Data; + CCU_Requests_t CCU_Requests; + DMFL_SMFL_REQ_CTR_SEATS_t DMFL_SMFL_REQ_CTR_SEATS; + FIU_Profile_t FIU_Profile; + VEH_VIN_t VEH_VIN; + BCM_MEM_SMFL1_t BCM_MEM_SMFL1; + BCM_MEM_SMFL2_t BCM_MEM_SMFL2; + SMRL_MEM2_t SMRL_MEM2; + FIU_SMFL_REQ_CTR_SEATS_t FIU_SMFL_REQ_CTR_SEATS; + FIU_Msg1_t FIU_Msg1; + FIU_EngMenu_t FIU_EngMenu; + BCM_StyleCmd2_t BCM_StyleCmd2; + BCM_StyleCmd3_t BCM_StyleCmd3; + Diag_To_SMFL_t Diag_To_SMFL; + Diag_To_OCUFL_t Diag_To_OCUFL; + Diag_Functional_t Diag_Functional; + Diag_To_SFLSilCU_t Diag_To_SFLSilCU; +} smfl_candb_rx_t; + +typedef struct +{ + SMFL_status_t SMFL_status; + DocSL_T_FL_t DocSL_T_FL; + OCUFL_MSG_t OCUFL_MSG; + SMFL_MEM1_t SMFL_MEM1; + SMFL_MEM2_t SMFL_MEM2; + SFLSilCU_State_t SFLSilCU_State; + Diag_From_SMFL_t Diag_From_SMFL; + Diag_From_OCUFL_t Diag_From_OCUFL; + Diag_From_SFLSilCU_t Diag_From_SFLSilCU; +} smfl_candb_tx_t; + +uint32_t smfl_candb_Receive(smfl_candb_rx_t* m, const uint8_t* d, uint32_t msgid, uint8_t dlc); + +#ifdef __DEF_SMFL_CANDB__ + +extern smfl_candb_rx_t smfl_candb_rx; + +extern smfl_candb_tx_t smfl_candb_tx; + +#endif // __DEF_SMFL_CANDB__ + +#ifdef __cplusplus +} +#endif diff --git a/butl/smfr_candb-binutil.c b/butl/smfr_candb-binutil.c new file mode 100644 index 0000000..363a1f6 --- /dev/null +++ b/butl/smfr_candb-binutil.c @@ -0,0 +1,145 @@ +// Generator version : v3.1 +// DBC filename : CCU.dbc +#include "smfr_candb-binutil.h" + +// DBC file version +#if (VER_CANDB_MAJ != (0U)) || (VER_CANDB_MIN != (0U)) +#error The SMFR_CANDB binutil source file has inconsistency with core dbc lib! +#endif + +#ifdef __DEF_SMFR_CANDB__ + +smfr_candb_rx_t smfr_candb_rx; + +smfr_candb_tx_t smfr_candb_tx; + +#endif // __DEF_SMFR_CANDB__ + +uint32_t smfr_candb_Receive(smfr_candb_rx_t* _m, const uint8_t* _d, uint32_t _id, uint8_t dlc_) +{ + uint32_t recid = 0; + if ((_id >= 0x130U) && (_id < 0x36AU)) { + if ((_id >= 0x130U) && (_id < 0x246U)) { + if ((_id >= 0x130U) && (_id < 0x210U)) { + if (_id == 0x130U) { + recid = Unpack_ESC_YRS_01_candb(&(_m->ESC_YRS_01), _d, dlc_); + } else { + if (_id == 0x152U) { + recid = Unpack_BCM_Powertrain_candb(&(_m->BCM_Powertrain), _d, dlc_); + } else if (_id == 0x157U) { + recid = Unpack_BCM_EEM_candb(&(_m->BCM_EEM), _d, dlc_); + } + } + } else { + if ((_id >= 0x210U) && (_id < 0x243U)) { + if (_id == 0x210U) { + recid = Unpack_ACU_01_candb(&(_m->ACU_01), _d, dlc_); + } else if (_id == 0x23AU) { + recid = Unpack_BCM_StyleCmd1_candb(&(_m->BCM_StyleCmd1), _d, dlc_); + } + } else { + if (_id == 0x243U) { + recid = Unpack_DMFR_Msg1_candb(&(_m->DMFR_Msg1), _d, dlc_); + } else if (_id == 0x244U) { + recid = Unpack_DMFL_Msg1_candb(&(_m->DMFL_Msg1), _d, dlc_); + } + } + } + } else { + if ((_id >= 0x246U) && (_id < 0x285U)) { + if ((_id >= 0x246U) && (_id < 0x282U)) { + if (_id == 0x246U) { + recid = Unpack_DMRR_Msg1_candb(&(_m->DMRR_Msg1), _d, dlc_); + } else if (_id == 0x280U) { + recid = Unpack_BCM_VEH_STATE_candb(&(_m->BCM_VEH_STATE), _d, dlc_); + } + } else { + if (_id == 0x282U) { + recid = Unpack_BCM_Veh_State2_candb(&(_m->BCM_Veh_State2), _d, dlc_); + } else if (_id == 0x284U) { + recid = Unpack_BCM_ALS_Light_Rear_candb(&(_m->BCM_ALS_Light_Rear), _d, dlc_); + } + } + } else { + if ((_id >= 0x285U) && (_id < 0x367U)) { + if (_id == 0x285U) { + recid = Unpack_BCM_Rear_Plafond_Light_Data_candb(&(_m->BCM_Rear_Plafond_Light_Data), _d, dlc_); + } else if (_id == 0x313U) { + recid = Unpack_CCU_Requests_candb(&(_m->CCU_Requests), _d, dlc_); + } + } else { + if (_id == 0x367U) { + recid = Unpack_DMFL_SMFL_REQ_CTR_SEATS_candb(&(_m->DMFL_SMFL_REQ_CTR_SEATS), _d, dlc_); + } else if (_id == 0x368U) { + recid = Unpack_DMFR_SMFR_REQ_CTR_SEATS_candb(&(_m->DMFR_SMFR_REQ_CTR_SEATS), _d, dlc_); + } + } + } + } + } else { + if ((_id >= 0x36AU) && (_id < 0x58EU)) { + if ((_id >= 0x36AU) && (_id < 0x52DU)) { + if ((_id >= 0x36AU) && (_id < 0x4D3U)) { + if (_id == 0x36AU) { + recid = Unpack_DMRR_SMRR_REQ_CTR_SEATS_candb(&(_m->DMRR_SMRR_REQ_CTR_SEATS), _d, dlc_); + } else if (_id == 0x4B6U) { + recid = Unpack_FIU_Profile_candb(&(_m->FIU_Profile), _d, dlc_); + } + } else { + if (_id == 0x4D3U) { + recid = Unpack_SMRR_status_candb(&(_m->SMRR_status), _d, dlc_); + } else if (_id == 0x51AU) { + recid = Unpack_VEH_VIN_candb(&(_m->VEH_VIN), _d, dlc_); + } + } + } else { + if ((_id >= 0x52DU) && (_id < 0x53AU)) { + if (_id == 0x52DU) { + recid = Unpack_FIU_SMFR_REQ_CTR_SEATS_candb(&(_m->FIU_SMFR_REQ_CTR_SEATS), _d, dlc_); + } else if (_id == 0x538U) { + recid = Unpack_BCM_MEM_SMFR1_candb(&(_m->BCM_MEM_SMFR1), _d, dlc_); + } + } else { + if (_id == 0x53AU) { + recid = Unpack_BCM_MEM_SMFR2_candb(&(_m->BCM_MEM_SMFR2), _d, dlc_); + } else if (_id == 0x541U) { + recid = Unpack_SMRR_MEM2_candb(&(_m->SMRR_MEM2), _d, dlc_); + } + } + } + } else { + if ((_id >= 0x58EU) && (_id < 0x7AEU)) { + if ((_id >= 0x58EU) && (_id < 0x5A6U)) { + if (_id == 0x58EU) { + recid = Unpack_FIU_Msg1_candb(&(_m->FIU_Msg1), _d, dlc_); + } else if (_id == 0x595U) { + recid = Unpack_FIU_EngMenu_candb(&(_m->FIU_EngMenu), _d, dlc_); + } + } else { + if (_id == 0x5A6U) { + recid = Unpack_BCM_StyleCmd2_candb(&(_m->BCM_StyleCmd2), _d, dlc_); + } else if (_id == 0x5A7U) { + recid = Unpack_BCM_StyleCmd3_candb(&(_m->BCM_StyleCmd3), _d, dlc_); + } + } + } else { + if ((_id >= 0x7AEU) && (_id < 0x7DFU)) { + if (_id == 0x7AEU) { + recid = Unpack_Diag_To_SMFR_candb(&(_m->Diag_To_SMFR), _d, dlc_); + } else if (_id == 0x7DCU) { + recid = Unpack_Diag_To_OCUFR_candb(&(_m->Diag_To_OCUFR), _d, dlc_); + } + } else { + if (_id == 0x7DFU) { + recid = Unpack_Diag_Functional_candb(&(_m->Diag_Functional), _d, dlc_); + } else if (_id == 0x7E5U) { + recid = Unpack_Diag_To_SFRSilCU_candb(&(_m->Diag_To_SFRSilCU), _d, dlc_); + } + } + } + } + } + + return recid; +} + diff --git a/butl/smfr_candb-binutil.h b/butl/smfr_candb-binutil.h new file mode 100644 index 0000000..1db74da --- /dev/null +++ b/butl/smfr_candb-binutil.h @@ -0,0 +1,73 @@ +// Generator version : v3.1 +// DBC filename : CCU.dbc +#pragma once + +#ifdef __cplusplus +extern "C" { +#endif + +#include "dbccodeconf.h" + +#include "candb.h" + +typedef struct +{ + ESC_YRS_01_t ESC_YRS_01; + BCM_Powertrain_t BCM_Powertrain; + BCM_EEM_t BCM_EEM; + ACU_01_t ACU_01; + BCM_StyleCmd1_t BCM_StyleCmd1; + DMFR_Msg1_t DMFR_Msg1; + DMFL_Msg1_t DMFL_Msg1; + DMRR_Msg1_t DMRR_Msg1; + BCM_VEH_STATE_t BCM_VEH_STATE; + BCM_Veh_State2_t BCM_Veh_State2; + BCM_ALS_Light_Rear_t BCM_ALS_Light_Rear; + BCM_Rear_Plafond_Light_Data_t BCM_Rear_Plafond_Light_Data; + CCU_Requests_t CCU_Requests; + DMFL_SMFL_REQ_CTR_SEATS_t DMFL_SMFL_REQ_CTR_SEATS; + DMFR_SMFR_REQ_CTR_SEATS_t DMFR_SMFR_REQ_CTR_SEATS; + DMRR_SMRR_REQ_CTR_SEATS_t DMRR_SMRR_REQ_CTR_SEATS; + FIU_Profile_t FIU_Profile; + SMRR_status_t SMRR_status; + VEH_VIN_t VEH_VIN; + FIU_SMFR_REQ_CTR_SEATS_t FIU_SMFR_REQ_CTR_SEATS; + BCM_MEM_SMFR1_t BCM_MEM_SMFR1; + BCM_MEM_SMFR2_t BCM_MEM_SMFR2; + SMRR_MEM2_t SMRR_MEM2; + FIU_Msg1_t FIU_Msg1; + FIU_EngMenu_t FIU_EngMenu; + BCM_StyleCmd2_t BCM_StyleCmd2; + BCM_StyleCmd3_t BCM_StyleCmd3; + Diag_To_SMFR_t Diag_To_SMFR; + Diag_To_OCUFR_t Diag_To_OCUFR; + Diag_Functional_t Diag_Functional; + Diag_To_SFRSilCU_t Diag_To_SFRSilCU; +} smfr_candb_rx_t; + +typedef struct +{ + SMFR_status_t SMFR_status; + DocSR_T_FR_t DocSR_T_FR; + OCUFR_MSG_t OCUFR_MSG; + SMFR_MEM1_t SMFR_MEM1; + SMFR_MEM2_t SMFR_MEM2; + SFRSilCU_State_t SFRSilCU_State; + Diag_From_SMFR_t Diag_From_SMFR; + Diag_From_OCUFR_t Diag_From_OCUFR; + Diag_From_SFRSilCU_t Diag_From_SFRSilCU; +} smfr_candb_tx_t; + +uint32_t smfr_candb_Receive(smfr_candb_rx_t* m, const uint8_t* d, uint32_t msgid, uint8_t dlc); + +#ifdef __DEF_SMFR_CANDB__ + +extern smfr_candb_rx_t smfr_candb_rx; + +extern smfr_candb_tx_t smfr_candb_tx; + +#endif // __DEF_SMFR_CANDB__ + +#ifdef __cplusplus +} +#endif diff --git a/butl/smrl_candb-binutil.c b/butl/smrl_candb-binutil.c new file mode 100644 index 0000000..d891465 --- /dev/null +++ b/butl/smrl_candb-binutil.c @@ -0,0 +1,97 @@ +// Generator version : v3.1 +// DBC filename : CCU.dbc +#include "smrl_candb-binutil.h" + +// DBC file version +#if (VER_CANDB_MAJ != (0U)) || (VER_CANDB_MIN != (0U)) +#error The SMRL_CANDB binutil source file has inconsistency with core dbc lib! +#endif + +#ifdef __DEF_SMRL_CANDB__ + +smrl_candb_rx_t smrl_candb_rx; + +smrl_candb_tx_t smrl_candb_tx; + +#endif // __DEF_SMRL_CANDB__ + +uint32_t smrl_candb_Receive(smrl_candb_rx_t* _m, const uint8_t* _d, uint32_t _id, uint8_t dlc_) +{ + uint32_t recid = 0; + if ((_id >= 0x130U) && (_id < 0x369U)) { + if ((_id >= 0x130U) && (_id < 0x245U)) { + if ((_id >= 0x130U) && (_id < 0x157U)) { + if (_id == 0x130U) { + recid = Unpack_ESC_YRS_01_candb(&(_m->ESC_YRS_01), _d, dlc_); + } else if (_id == 0x152U) { + recid = Unpack_BCM_Powertrain_candb(&(_m->BCM_Powertrain), _d, dlc_); + } + } else { + if (_id == 0x157U) { + recid = Unpack_BCM_EEM_candb(&(_m->BCM_EEM), _d, dlc_); + } else if (_id == 0x210U) { + recid = Unpack_ACU_01_candb(&(_m->ACU_01), _d, dlc_); + } + } + } else { + if ((_id >= 0x245U) && (_id < 0x282U)) { + if (_id == 0x245U) { + recid = Unpack_DMRL_Msg1_candb(&(_m->DMRL_Msg1), _d, dlc_); + } else if (_id == 0x280U) { + recid = Unpack_BCM_VEH_STATE_candb(&(_m->BCM_VEH_STATE), _d, dlc_); + } + } else { + if (_id == 0x282U) { + recid = Unpack_BCM_Veh_State2_candb(&(_m->BCM_Veh_State2), _d, dlc_); + } else { + if (_id == 0x284U) { + recid = Unpack_BCM_ALS_Light_Rear_candb(&(_m->BCM_ALS_Light_Rear), _d, dlc_); + } else if (_id == 0x313U) { + recid = Unpack_CCU_Requests_candb(&(_m->CCU_Requests), _d, dlc_); + } + } + } + } + } else { + if ((_id >= 0x369U) && (_id < 0x53EU)) { + if ((_id >= 0x369U) && (_id < 0x51AU)) { + if (_id == 0x369U) { + recid = Unpack_DMRL_SMRL_REQ_CTR_SEATS_candb(&(_m->DMRL_SMRL_REQ_CTR_SEATS), _d, dlc_); + } else if (_id == 0x4B6U) { + recid = Unpack_FIU_Profile_candb(&(_m->FIU_Profile), _d, dlc_); + } + } else { + if (_id == 0x51AU) { + recid = Unpack_VEH_VIN_candb(&(_m->VEH_VIN), _d, dlc_); + } else { + if (_id == 0x52CU) { + recid = Unpack_FIU_SMRL_REQ_CTR_SEATS_candb(&(_m->FIU_SMRL_REQ_CTR_SEATS), _d, dlc_); + } else if (_id == 0x53CU) { + recid = Unpack_BCM_MEM_SMRL1_candb(&(_m->BCM_MEM_SMRL1), _d, dlc_); + } + } + } + } else { + if ((_id >= 0x53EU) && (_id < 0x7AFU)) { + if (_id == 0x53EU) { + recid = Unpack_BCM_MEM_SMRL2_candb(&(_m->BCM_MEM_SMRL2), _d, dlc_); + } else if (_id == 0x58EU) { + recid = Unpack_FIU_Msg1_candb(&(_m->FIU_Msg1), _d, dlc_); + } + } else { + if (_id == 0x7AFU) { + recid = Unpack_Diag_To_SMRL_candb(&(_m->Diag_To_SMRL), _d, dlc_); + } else { + if (_id == 0x7DDU) { + recid = Unpack_Diag_To_OCURL_candb(&(_m->Diag_To_OCURL), _d, dlc_); + } else if (_id == 0x7DFU) { + recid = Unpack_Diag_Functional_candb(&(_m->Diag_Functional), _d, dlc_); + } + } + } + } + } + + return recid; +} + diff --git a/butl/smrl_candb-binutil.h b/butl/smrl_candb-binutil.h new file mode 100644 index 0000000..63f3c84 --- /dev/null +++ b/butl/smrl_candb-binutil.h @@ -0,0 +1,58 @@ +// Generator version : v3.1 +// DBC filename : CCU.dbc +#pragma once + +#ifdef __cplusplus +extern "C" { +#endif + +#include "dbccodeconf.h" + +#include "candb.h" + +typedef struct +{ + ESC_YRS_01_t ESC_YRS_01; + BCM_Powertrain_t BCM_Powertrain; + BCM_EEM_t BCM_EEM; + ACU_01_t ACU_01; + DMRL_Msg1_t DMRL_Msg1; + BCM_VEH_STATE_t BCM_VEH_STATE; + BCM_Veh_State2_t BCM_Veh_State2; + BCM_ALS_Light_Rear_t BCM_ALS_Light_Rear; + CCU_Requests_t CCU_Requests; + DMRL_SMRL_REQ_CTR_SEATS_t DMRL_SMRL_REQ_CTR_SEATS; + FIU_Profile_t FIU_Profile; + VEH_VIN_t VEH_VIN; + FIU_SMRL_REQ_CTR_SEATS_t FIU_SMRL_REQ_CTR_SEATS; + BCM_MEM_SMRL1_t BCM_MEM_SMRL1; + BCM_MEM_SMRL2_t BCM_MEM_SMRL2; + FIU_Msg1_t FIU_Msg1; + Diag_To_SMRL_t Diag_To_SMRL; + Diag_To_OCURL_t Diag_To_OCURL; + Diag_Functional_t Diag_Functional; +} smrl_candb_rx_t; + +typedef struct +{ + SMRL_status_t SMRL_status; + OCURL_MSG_t OCURL_MSG; + SMRL_MEM1_t SMRL_MEM1; + SMRL_MEM2_t SMRL_MEM2; + Diag_From_SMRL_t Diag_From_SMRL; + Diag_From_OCURL_t Diag_From_OCURL; +} smrl_candb_tx_t; + +uint32_t smrl_candb_Receive(smrl_candb_rx_t* m, const uint8_t* d, uint32_t msgid, uint8_t dlc); + +#ifdef __DEF_SMRL_CANDB__ + +extern smrl_candb_rx_t smrl_candb_rx; + +extern smrl_candb_tx_t smrl_candb_tx; + +#endif // __DEF_SMRL_CANDB__ + +#ifdef __cplusplus +} +#endif diff --git a/butl/smrr_candb-binutil.c b/butl/smrr_candb-binutil.c new file mode 100644 index 0000000..784a548 --- /dev/null +++ b/butl/smrr_candb-binutil.c @@ -0,0 +1,105 @@ +// Generator version : v3.1 +// DBC filename : CCU.dbc +#include "smrr_candb-binutil.h" + +// DBC file version +#if (VER_CANDB_MAJ != (0U)) || (VER_CANDB_MIN != (0U)) +#error The SMRR_CANDB binutil source file has inconsistency with core dbc lib! +#endif + +#ifdef __DEF_SMRR_CANDB__ + +smrr_candb_rx_t smrr_candb_rx; + +smrr_candb_tx_t smrr_candb_tx; + +#endif // __DEF_SMRR_CANDB__ + +uint32_t smrr_candb_Receive(smrr_candb_rx_t* _m, const uint8_t* _d, uint32_t _id, uint8_t dlc_) +{ + uint32_t recid = 0; + if ((_id >= 0x130U) && (_id < 0x367U)) { + if ((_id >= 0x130U) && (_id < 0x246U)) { + if ((_id >= 0x130U) && (_id < 0x157U)) { + if (_id == 0x130U) { + recid = Unpack_ESC_YRS_01_candb(&(_m->ESC_YRS_01), _d, dlc_); + } else if (_id == 0x152U) { + recid = Unpack_BCM_Powertrain_candb(&(_m->BCM_Powertrain), _d, dlc_); + } + } else { + if (_id == 0x157U) { + recid = Unpack_BCM_EEM_candb(&(_m->BCM_EEM), _d, dlc_); + } else { + if (_id == 0x210U) { + recid = Unpack_ACU_01_candb(&(_m->ACU_01), _d, dlc_); + } else if (_id == 0x244U) { + recid = Unpack_DMFL_Msg1_candb(&(_m->DMFL_Msg1), _d, dlc_); + } + } + } + } else { + if ((_id >= 0x246U) && (_id < 0x282U)) { + if (_id == 0x246U) { + recid = Unpack_DMRR_Msg1_candb(&(_m->DMRR_Msg1), _d, dlc_); + } else if (_id == 0x280U) { + recid = Unpack_BCM_VEH_STATE_candb(&(_m->BCM_VEH_STATE), _d, dlc_); + } + } else { + if (_id == 0x282U) { + recid = Unpack_BCM_Veh_State2_candb(&(_m->BCM_Veh_State2), _d, dlc_); + } else { + if (_id == 0x284U) { + recid = Unpack_BCM_ALS_Light_Rear_candb(&(_m->BCM_ALS_Light_Rear), _d, dlc_); + } else if (_id == 0x313U) { + recid = Unpack_CCU_Requests_candb(&(_m->CCU_Requests), _d, dlc_); + } + } + } + } + } else { + if ((_id >= 0x367U) && (_id < 0x542U)) { + if ((_id >= 0x367U) && (_id < 0x4B6U)) { + if (_id == 0x367U) { + recid = Unpack_DMFL_SMFL_REQ_CTR_SEATS_candb(&(_m->DMFL_SMFL_REQ_CTR_SEATS), _d, dlc_); + } else if (_id == 0x36AU) { + recid = Unpack_DMRR_SMRR_REQ_CTR_SEATS_candb(&(_m->DMRR_SMRR_REQ_CTR_SEATS), _d, dlc_); + } + } else { + if (_id == 0x4B6U) { + recid = Unpack_FIU_Profile_candb(&(_m->FIU_Profile), _d, dlc_); + } else { + if (_id == 0x51AU) { + recid = Unpack_VEH_VIN_candb(&(_m->VEH_VIN), _d, dlc_); + } else if (_id == 0x540U) { + recid = Unpack_BCM_MEM_SMRR1_candb(&(_m->BCM_MEM_SMRR1), _d, dlc_); + } + } + } + } else { + if ((_id >= 0x542U) && (_id < 0x7A9U)) { + if (_id == 0x542U) { + recid = Unpack_BCM_MEM_SMRR2_candb(&(_m->BCM_MEM_SMRR2), _d, dlc_); + } else { + if (_id == 0x554U) { + recid = Unpack_FIU_SMRR_REQ_CTR_SEATS_candb(&(_m->FIU_SMRR_REQ_CTR_SEATS), _d, dlc_); + } else if (_id == 0x58EU) { + recid = Unpack_FIU_Msg1_candb(&(_m->FIU_Msg1), _d, dlc_); + } + } + } else { + if (_id == 0x7A9U) { + recid = Unpack_Diag_To_SMRR_candb(&(_m->Diag_To_SMRR), _d, dlc_); + } else { + if (_id == 0x7DEU) { + recid = Unpack_Diag_To_OCURR_candb(&(_m->Diag_To_OCURR), _d, dlc_); + } else if (_id == 0x7DFU) { + recid = Unpack_Diag_Functional_candb(&(_m->Diag_Functional), _d, dlc_); + } + } + } + } + } + + return recid; +} + diff --git a/butl/smrr_candb-binutil.h b/butl/smrr_candb-binutil.h new file mode 100644 index 0000000..87e6d86 --- /dev/null +++ b/butl/smrr_candb-binutil.h @@ -0,0 +1,60 @@ +// Generator version : v3.1 +// DBC filename : CCU.dbc +#pragma once + +#ifdef __cplusplus +extern "C" { +#endif + +#include "dbccodeconf.h" + +#include "candb.h" + +typedef struct +{ + ESC_YRS_01_t ESC_YRS_01; + BCM_Powertrain_t BCM_Powertrain; + BCM_EEM_t BCM_EEM; + ACU_01_t ACU_01; + DMFL_Msg1_t DMFL_Msg1; + DMRR_Msg1_t DMRR_Msg1; + BCM_VEH_STATE_t BCM_VEH_STATE; + BCM_Veh_State2_t BCM_Veh_State2; + BCM_ALS_Light_Rear_t BCM_ALS_Light_Rear; + CCU_Requests_t CCU_Requests; + DMFL_SMFL_REQ_CTR_SEATS_t DMFL_SMFL_REQ_CTR_SEATS; + DMRR_SMRR_REQ_CTR_SEATS_t DMRR_SMRR_REQ_CTR_SEATS; + FIU_Profile_t FIU_Profile; + VEH_VIN_t VEH_VIN; + BCM_MEM_SMRR1_t BCM_MEM_SMRR1; + BCM_MEM_SMRR2_t BCM_MEM_SMRR2; + FIU_SMRR_REQ_CTR_SEATS_t FIU_SMRR_REQ_CTR_SEATS; + FIU_Msg1_t FIU_Msg1; + Diag_To_SMRR_t Diag_To_SMRR; + Diag_To_OCURR_t Diag_To_OCURR; + Diag_Functional_t Diag_Functional; +} smrr_candb_rx_t; + +typedef struct +{ + SMRR_status_t SMRR_status; + OCURR_MSG_t OCURR_MSG; + SMRR_MEM1_t SMRR_MEM1; + SMRR_MEM2_t SMRR_MEM2; + Diag_From_SMRR_t Diag_From_SMRR; + Diag_From_OCURR_t Diag_From_OCURR; +} smrr_candb_tx_t; + +uint32_t smrr_candb_Receive(smrr_candb_rx_t* m, const uint8_t* d, uint32_t msgid, uint8_t dlc); + +#ifdef __DEF_SMRR_CANDB__ + +extern smrr_candb_rx_t smrr_candb_rx; + +extern smrr_candb_tx_t smrr_candb_tx; + +#endif // __DEF_SMRR_CANDB__ + +#ifdef __cplusplus +} +#endif diff --git a/butl/sroof_candb-binutil.c b/butl/sroof_candb-binutil.c new file mode 100644 index 0000000..9b2708b --- /dev/null +++ b/butl/sroof_candb-binutil.c @@ -0,0 +1,49 @@ +// Generator version : v3.1 +// DBC filename : CCU.dbc +#include "sroof_candb-binutil.h" + +// DBC file version +#if (VER_CANDB_MAJ != (0U)) || (VER_CANDB_MIN != (0U)) +#error The SROOF_CANDB binutil source file has inconsistency with core dbc lib! +#endif + +#ifdef __DEF_SROOF_CANDB__ + +sroof_candb_rx_t sroof_candb_rx; + +sroof_candb_tx_t sroof_candb_tx; + +#endif // __DEF_SROOF_CANDB__ + +uint32_t sroof_candb_Receive(sroof_candb_rx_t* _m, const uint8_t* _d, uint32_t _id, uint8_t dlc_) +{ + uint32_t recid = 0; + if ((_id >= 0x157U) && (_id < 0x280U)) { + if (_id == 0x157U) { + recid = Unpack_BCM_EEM_candb(&(_m->BCM_EEM), _d, dlc_); + } else { + if (_id == 0x243U) { + recid = Unpack_DMFR_Msg1_candb(&(_m->DMFR_Msg1), _d, dlc_); + } else if (_id == 0x244U) { + recid = Unpack_DMFL_Msg1_candb(&(_m->DMFL_Msg1), _d, dlc_); + } + } + } else { + if ((_id >= 0x280U) && (_id < 0x51AU)) { + if (_id == 0x280U) { + recid = Unpack_BCM_VEH_STATE_candb(&(_m->BCM_VEH_STATE), _d, dlc_); + } else if (_id == 0x282U) { + recid = Unpack_BCM_Veh_State2_candb(&(_m->BCM_Veh_State2), _d, dlc_); + } + } else { + if (_id == 0x51AU) { + recid = Unpack_VEH_VIN_candb(&(_m->VEH_VIN), _d, dlc_); + } else if (_id == 0x76FU) { + recid = Unpack_Diag_To_Sroof_candb(&(_m->Diag_To_Sroof), _d, dlc_); + } + } + } + + return recid; +} + diff --git a/butl/sroof_candb-binutil.h b/butl/sroof_candb-binutil.h new file mode 100644 index 0000000..2952af4 --- /dev/null +++ b/butl/sroof_candb-binutil.h @@ -0,0 +1,42 @@ +// Generator version : v3.1 +// DBC filename : CCU.dbc +#pragma once + +#ifdef __cplusplus +extern "C" { +#endif + +#include "dbccodeconf.h" + +#include "candb.h" + +typedef struct +{ + BCM_EEM_t BCM_EEM; + DMFR_Msg1_t DMFR_Msg1; + DMFL_Msg1_t DMFL_Msg1; + BCM_VEH_STATE_t BCM_VEH_STATE; + BCM_Veh_State2_t BCM_Veh_State2; + VEH_VIN_t VEH_VIN; + Diag_To_Sroof_t Diag_To_Sroof; +} sroof_candb_rx_t; + +typedef struct +{ + Sroof_State_t Sroof_State; + Diag_From_SRoof_t Diag_From_SRoof; +} sroof_candb_tx_t; + +uint32_t sroof_candb_Receive(sroof_candb_rx_t* m, const uint8_t* d, uint32_t msgid, uint8_t dlc); + +#ifdef __DEF_SROOF_CANDB__ + +extern sroof_candb_rx_t sroof_candb_rx; + +extern sroof_candb_tx_t sroof_candb_tx; + +#endif // __DEF_SROOF_CANDB__ + +#ifdef __cplusplus +} +#endif diff --git a/butl/tm_candb-binutil.c b/butl/tm_candb-binutil.c new file mode 100644 index 0000000..e286bb5 --- /dev/null +++ b/butl/tm_candb-binutil.c @@ -0,0 +1,213 @@ +// Generator version : v3.1 +// DBC filename : CCU.dbc +#include "tm_candb-binutil.h" + +// DBC file version +#if (VER_CANDB_MAJ != (0U)) || (VER_CANDB_MIN != (0U)) +#error The TM_CANDB binutil source file has inconsistency with core dbc lib! +#endif + +#ifdef __DEF_TM_CANDB__ + +tm_candb_rx_t tm_candb_rx; + +tm_candb_tx_t tm_candb_tx; + +#endif // __DEF_TM_CANDB__ + +uint32_t tm_candb_Receive(tm_candb_rx_t* _m, const uint8_t* _d, uint32_t _id, uint8_t dlc_) +{ + uint32_t recid = 0; + if ((_id >= 0xB1U) && (_id < 0x587U)) { + if ((_id >= 0xB1U) && (_id < 0x283U)) { + if ((_id >= 0xB1U) && (_id < 0x244U)) { + if ((_id >= 0xB1U) && (_id < 0x210U)) { + if (_id == 0xB1U) { + recid = Unpack_TCU_R932_1_candb(&(_m->TCU_R932_1), _d, dlc_); + } else { + if (_id == 0x100U) { + recid = Unpack_ESC_04_candb(&(_m->ESC_04), _d, dlc_); + } else if (_id == 0x157U) { + recid = Unpack_BCM_EEM_candb(&(_m->BCM_EEM), _d, dlc_); + } + } + } else { + if (_id == 0x210U) { + recid = Unpack_ACU_01_candb(&(_m->ACU_01), _d, dlc_); + } else { + if (_id == 0x231U) { + recid = Unpack_BCM_ExteriorLightState_candb(&(_m->BCM_ExteriorLightState), _d, dlc_); + } else if (_id == 0x23AU) { + recid = Unpack_BCM_StyleCmd1_candb(&(_m->BCM_StyleCmd1), _d, dlc_); + } + } + } + } else { + if ((_id >= 0x244U) && (_id < 0x24FU)) { + if (_id == 0x244U) { + recid = Unpack_DMFL_Msg1_candb(&(_m->DMFL_Msg1), _d, dlc_); + } else { + if (_id == 0x245U) { + recid = Unpack_DMRL_Msg1_candb(&(_m->DMRL_Msg1), _d, dlc_); + } else if (_id == 0x246U) { + recid = Unpack_DMRR_Msg1_candb(&(_m->DMRR_Msg1), _d, dlc_); + } + } + } else { + if (_id == 0x24FU) { + recid = Unpack_VAU2_Msg2_candb(&(_m->VAU2_Msg2), _d, dlc_); + } else { + if (_id == 0x280U) { + recid = Unpack_BCM_VEH_STATE_candb(&(_m->BCM_VEH_STATE), _d, dlc_); + } else if (_id == 0x282U) { + recid = Unpack_BCM_Veh_State2_candb(&(_m->BCM_Veh_State2), _d, dlc_); + } + } + } + } + } else { + if ((_id >= 0x283U) && (_id < 0x380U)) { + if ((_id >= 0x283U) && (_id < 0x2F0U)) { + if (_id == 0x283U) { + recid = Unpack_BCM_ALS_Light_Front_candb(&(_m->BCM_ALS_Light_Front), _d, dlc_); + } else { + if (_id == 0x284U) { + recid = Unpack_BCM_ALS_Light_Rear_candb(&(_m->BCM_ALS_Light_Rear), _d, dlc_); + } else if (_id == 0x285U) { + recid = Unpack_BCM_Rear_Plafond_Light_Data_candb(&(_m->BCM_Rear_Plafond_Light_Data), _d, dlc_); + } + } + } else { + if (_id == 0x2F0U) { + recid = Unpack_BCM_Lock_CTR_candb(&(_m->BCM_Lock_CTR), _d, dlc_); + } else { + if (_id == 0x362U) { + recid = Unpack_BCM_IC_Info_Msg_candb(&(_m->BCM_IC_Info_Msg), _d, dlc_); + } else if (_id == 0x365U) { + recid = Unpack_BCM_CLIMATIC_DATA_candb(&(_m->BCM_CLIMATIC_DATA), _d, dlc_); + } + } + } + } else { + if ((_id >= 0x380U) && (_id < 0x4D5U)) { + if (_id == 0x380U) { + recid = Unpack_CCU_Msg1_candb(&(_m->CCU_Msg1), _d, dlc_); + } else { + if (_id == 0x38AU) { + recid = Unpack_Sroof_State_candb(&(_m->Sroof_State), _d, dlc_); + } else if (_id == 0x4D4U) { + recid = Unpack_DocSL_T_FL_candb(&(_m->DocSL_T_FL), _d, dlc_); + } + } + } else { + if (_id == 0x4D5U) { + recid = Unpack_DocSR_T_FR_candb(&(_m->DocSR_T_FR), _d, dlc_); + } else { + if (_id == 0x50BU) { + recid = Unpack_FIU_Cmd_candb(&(_m->FIU_Cmd), _d, dlc_); + } else if (_id == 0x51AU) { + recid = Unpack_VEH_VIN_candb(&(_m->VEH_VIN), _d, dlc_); + } + } + } + } + } + } else { + if ((_id >= 0x587U) && (_id < 0x709U)) { + if ((_id >= 0x587U) && (_id < 0x5A7U)) { + if ((_id >= 0x587U) && (_id < 0x594U)) { + if (_id == 0x587U) { + recid = Unpack_FIU_CTRL_DW_candb(&(_m->FIU_CTRL_DW), _d, dlc_); + } else { + if (_id == 0x58EU) { + recid = Unpack_FIU_Msg1_candb(&(_m->FIU_Msg1), _d, dlc_); + } else if (_id == 0x58FU) { + recid = Unpack_FIU_Msg2_candb(&(_m->FIU_Msg2), _d, dlc_); + } + } + } else { + if (_id == 0x594U) { + recid = Unpack_FIU_Msg3_candb(&(_m->FIU_Msg3), _d, dlc_); + } else { + if (_id == 0x595U) { + recid = Unpack_FIU_EngMenu_candb(&(_m->FIU_EngMenu), _d, dlc_); + } else if (_id == 0x5A6U) { + recid = Unpack_BCM_StyleCmd2_candb(&(_m->BCM_StyleCmd2), _d, dlc_); + } + } + } + } else { + if ((_id >= 0x5A7U) && (_id < 0x702U)) { + if (_id == 0x5A7U) { + recid = Unpack_BCM_StyleCmd3_candb(&(_m->BCM_StyleCmd3), _d, dlc_); + } else { + if (_id == 0x5AAU) { + recid = Unpack_IC_DISPLAY_CLOCK_candb(&(_m->IC_DISPLAY_CLOCK), _d, dlc_); + } else if (_id == 0x5F3U) { + recid = Unpack_IntCOM_Info_Stat_candb(&(_m->IntCOM_Info_Stat), _d, dlc_); + } + } + } else { + if (_id == 0x702U) { + recid = Unpack_Diag_To_CCPF_candb(&(_m->Diag_To_CCPF), _d, dlc_); + } else { + if (_id == 0x704U) { + recid = Unpack_Diag_To_CCPR_candb(&(_m->Diag_To_CCPR), _d, dlc_); + } else if (_id == 0x706U) { + recid = Unpack_Diag_To_SSL_candb(&(_m->Diag_To_SSL), _d, dlc_); + } + } + } + } + } else { + if ((_id >= 0x709U) && (_id < 0x7AAU)) { + if ((_id >= 0x709U) && (_id < 0x784U)) { + if (_id == 0x709U) { + recid = Unpack_Diag_To_SSR_candb(&(_m->Diag_To_SSR), _d, dlc_); + } else { + if (_id == 0x718U) { + recid = Unpack_Diag_To_FCSilCU_candb(&(_m->Diag_To_FCSilCU), _d, dlc_); + } else if (_id == 0x720U) { + recid = Unpack_Diag_To_ICLSilCU_candb(&(_m->Diag_To_ICLSilCU), _d, dlc_); + } + } + } else { + if (_id == 0x784U) { + recid = Unpack_Diag_To_ICRSilCU_candb(&(_m->Diag_To_ICRSilCU), _d, dlc_); + } else { + if (_id == 0x788U) { + recid = Unpack_Diag_To_PLSilCU_candb(&(_m->Diag_To_PLSilCU), _d, dlc_); + } else if (_id == 0x789U) { + recid = Unpack_Diag_To_PRSilCU_candb(&(_m->Diag_To_PRSilCU), _d, dlc_); + } + } + } + } else { + if ((_id >= 0x7AAU) && (_id < 0x7C3U)) { + if (_id == 0x7AAU) { + recid = Unpack_Diag_To_TM_candb(&(_m->Diag_To_TM), _d, dlc_); + } else { + if (_id == 0x7C1U) { + recid = Unpack_Diag_To_RCLSilCU_candb(&(_m->Diag_To_RCLSilCU), _d, dlc_); + } else if (_id == 0x7C2U) { + recid = Unpack_Diag_To_RCRSilCU_candb(&(_m->Diag_To_RCRSilCU), _d, dlc_); + } + } + } else { + if (_id == 0x7C3U) { + recid = Unpack_Diag_To_RDLSilCU_candb(&(_m->Diag_To_RDLSilCU), _d, dlc_); + } else { + if (_id == 0x7C4U) { + recid = Unpack_Diag_To_RDRSilCU_candb(&(_m->Diag_To_RDRSilCU), _d, dlc_); + } else if (_id == 0x7DFU) { + recid = Unpack_Diag_Functional_candb(&(_m->Diag_Functional), _d, dlc_); + } + } + } + } + } + } + + return recid; +} + diff --git a/butl/tm_candb-binutil.h b/butl/tm_candb-binutil.h new file mode 100644 index 0000000..4606bf6 --- /dev/null +++ b/butl/tm_candb-binutil.h @@ -0,0 +1,109 @@ +// Generator version : v3.1 +// DBC filename : CCU.dbc +#pragma once + +#ifdef __cplusplus +extern "C" { +#endif + +#include "dbccodeconf.h" + +#include "candb.h" + +typedef struct +{ + TCU_R932_1_t TCU_R932_1; + ESC_04_t ESC_04; + BCM_EEM_t BCM_EEM; + ACU_01_t ACU_01; + BCM_ExteriorLightState_t BCM_ExteriorLightState; + BCM_StyleCmd1_t BCM_StyleCmd1; + DMFL_Msg1_t DMFL_Msg1; + DMRL_Msg1_t DMRL_Msg1; + DMRR_Msg1_t DMRR_Msg1; + VAU2_Msg2_t VAU2_Msg2; + BCM_VEH_STATE_t BCM_VEH_STATE; + BCM_Veh_State2_t BCM_Veh_State2; + BCM_ALS_Light_Front_t BCM_ALS_Light_Front; + BCM_ALS_Light_Rear_t BCM_ALS_Light_Rear; + BCM_Rear_Plafond_Light_Data_t BCM_Rear_Plafond_Light_Data; + BCM_Lock_CTR_t BCM_Lock_CTR; + BCM_IC_Info_Msg_t BCM_IC_Info_Msg; + BCM_CLIMATIC_DATA_t BCM_CLIMATIC_DATA; + CCU_Msg1_t CCU_Msg1; + Sroof_State_t Sroof_State; + DocSL_T_FL_t DocSL_T_FL; + DocSR_T_FR_t DocSR_T_FR; + FIU_Cmd_t FIU_Cmd; + VEH_VIN_t VEH_VIN; + FIU_CTRL_DW_t FIU_CTRL_DW; + FIU_Msg1_t FIU_Msg1; + FIU_Msg2_t FIU_Msg2; + FIU_Msg3_t FIU_Msg3; + FIU_EngMenu_t FIU_EngMenu; + BCM_StyleCmd2_t BCM_StyleCmd2; + BCM_StyleCmd3_t BCM_StyleCmd3; + IC_DISPLAY_CLOCK_t IC_DISPLAY_CLOCK; + IntCOM_Info_Stat_t IntCOM_Info_Stat; + Diag_To_CCPF_t Diag_To_CCPF; + Diag_To_CCPR_t Diag_To_CCPR; + Diag_To_SSL_t Diag_To_SSL; + Diag_To_SSR_t Diag_To_SSR; + Diag_To_FCSilCU_t Diag_To_FCSilCU; + Diag_To_ICLSilCU_t Diag_To_ICLSilCU; + Diag_To_ICRSilCU_t Diag_To_ICRSilCU; + Diag_To_PLSilCU_t Diag_To_PLSilCU; + Diag_To_PRSilCU_t Diag_To_PRSilCU; + Diag_To_TM_t Diag_To_TM; + Diag_To_RCLSilCU_t Diag_To_RCLSilCU; + Diag_To_RCRSilCU_t Diag_To_RCRSilCU; + Diag_To_RDLSilCU_t Diag_To_RDLSilCU; + Diag_To_RDRSilCU_t Diag_To_RDRSilCU; + Diag_Functional_t Diag_Functional; +} tm_candb_rx_t; + +typedef struct +{ + TM_Stat_t TM_Stat; + TM_CP_t TM_CP; + PLDSilCU_State_t PLDSilCU_State; + PRDSilCU_State_t PRDSilCU_State; + ICLSilCU_State_t ICLSilCU_State; + ICRSilCU_State_t ICRSilCU_State; + RDRSilCU_State_t RDRSilCU_State; + FCSilCU_State_t FCSilCU_State; + RCLSilCU_State_t RCLSilCU_State; + RCRSilCU_State_t RCRSilCU_State; + RDLSilCU_State_t RDLSilCU_State; + CCPF_BodyTM_Stat_t CCPF_BodyTM_Stat; + SSL_Status_t SSL_Status; + SSR_Status_t SSR_Status; + Diag_From_CCPF_t Diag_From_CCPF; + Diag_From_CCPR_t Diag_From_CCPR; + Diag_From_SSL_t Diag_From_SSL; + Diag_From_SSR_t Diag_From_SSR; + Diag_From_FCSilCU_t Diag_From_FCSilCU; + Diag_From_ICLSilCU_t Diag_From_ICLSilCU; + Diag_From_ICRSilCU_t Diag_From_ICRSilCU; + Diag_From_PLSilCU_t Diag_From_PLSilCU; + Diag_From_PRSilCU_t Diag_From_PRSilCU; + Diag_From_TM_t Diag_From_TM; + Diag_From_RCLSilCU_t Diag_From_RCLSilCU; + Diag_From_RCRSilCU_t Diag_From_RCRSilCU; + Diag_From_RDLSilCU_t Diag_From_RDLSilCU; + Diag_From_RDRSilCU_t Diag_From_RDRSilCU; +} tm_candb_tx_t; + +uint32_t tm_candb_Receive(tm_candb_rx_t* m, const uint8_t* d, uint32_t msgid, uint8_t dlc); + +#ifdef __DEF_TM_CANDB__ + +extern tm_candb_rx_t tm_candb_rx; + +extern tm_candb_tx_t tm_candb_tx; + +#endif // __DEF_TM_CANDB__ + +#ifdef __cplusplus +} +#endif diff --git a/butl/vau_candb-binutil.c b/butl/vau_candb-binutil.c new file mode 100644 index 0000000..a9ee9dd --- /dev/null +++ b/butl/vau_candb-binutil.c @@ -0,0 +1,125 @@ +// Generator version : v3.1 +// DBC filename : CCU.dbc +#include "vau_candb-binutil.h" + +// DBC file version +#if (VER_CANDB_MAJ != (0U)) || (VER_CANDB_MIN != (0U)) +#error The VAU_CANDB binutil source file has inconsistency with core dbc lib! +#endif + +#ifdef __DEF_VAU_CANDB__ + +vau_candb_rx_t vau_candb_rx; + +vau_candb_tx_t vau_candb_tx; + +#endif // __DEF_VAU_CANDB__ + +uint32_t vau_candb_Receive(vau_candb_rx_t* _m, const uint8_t* _d, uint32_t _id, uint8_t dlc_) +{ + uint32_t recid = 0; + if ((_id >= 0x88U) && (_id < 0x282U)) { + if ((_id >= 0x88U) && (_id < 0x243U)) { + if ((_id >= 0x88U) && (_id < 0xA0U)) { + if (_id == 0x88U) { + recid = Unpack_EMS_VCU_VAU_Immo_Req_candb(&(_m->EMS_VCU_VAU_Immo_Req), _d, dlc_); + } else { + if (_id == 0x8AU) { + recid = Unpack_TCU_VAU_Immo_Req_candb(&(_m->TCU_VAU_Immo_Req), _d, dlc_); + } else if (_id == 0x95U) { + recid = Unpack_WChF_NFC_VAU_Transfer_State_candb(&(_m->WChF_NFC_VAU_Transfer_State), _d, dlc_); + } + } + } else { + if (_id == 0xA0U) { + recid = Unpack_SDM_VAU_Hash_Resp_candb(&(_m->SDM_VAU_Hash_Resp), _d, dlc_); + } else { + if (_id == 0x152U) { + recid = Unpack_BCM_Powertrain_candb(&(_m->BCM_Powertrain), _d, dlc_); + } else if (_id == 0x242U) { + recid = Unpack_FIU_Access_Msg1_candb(&(_m->FIU_Access_Msg1), _d, dlc_); + } + } + } + } else { + if ((_id >= 0x243U) && (_id < 0x246U)) { + if (_id == 0x243U) { + recid = Unpack_DMFR_Msg1_candb(&(_m->DMFR_Msg1), _d, dlc_); + } else { + if (_id == 0x244U) { + recid = Unpack_DMFL_Msg1_candb(&(_m->DMFL_Msg1), _d, dlc_); + } else if (_id == 0x245U) { + recid = Unpack_DMRL_Msg1_candb(&(_m->DMRL_Msg1), _d, dlc_); + } + } + } else { + if ((_id >= 0x246U) && (_id < 0x249U)) { + if (_id == 0x246U) { + recid = Unpack_DMRR_Msg1_candb(&(_m->DMRR_Msg1), _d, dlc_); + } else if (_id == 0x247U) { + recid = Unpack_TM_Stat_candb(&(_m->TM_Stat), _d, dlc_); + } + } else { + if (_id == 0x249U) { + recid = Unpack_PTG_Body_Stat_candb(&(_m->PTG_Body_Stat), _d, dlc_); + } else if (_id == 0x280U) { + recid = Unpack_BCM_VEH_STATE_candb(&(_m->BCM_VEH_STATE), _d, dlc_); + } + } + } + } + } else { + if ((_id >= 0x282U) && (_id < 0x521U)) { + if ((_id >= 0x282U) && (_id < 0x4B6U)) { + if (_id == 0x282U) { + recid = Unpack_BCM_Veh_State2_candb(&(_m->BCM_Veh_State2), _d, dlc_); + } else { + if (_id == 0x2F0U) { + recid = Unpack_BCM_Lock_CTR_candb(&(_m->BCM_Lock_CTR), _d, dlc_); + } else if (_id == 0x4B5U) { + recid = Unpack_FIU_Access_Msg2_candb(&(_m->FIU_Access_Msg2), _d, dlc_); + } + } + } else { + if (_id == 0x4B6U) { + recid = Unpack_FIU_Profile_candb(&(_m->FIU_Profile), _d, dlc_); + } else { + if (_id == 0x50BU) { + recid = Unpack_FIU_Cmd_candb(&(_m->FIU_Cmd), _d, dlc_); + } else if (_id == 0x51AU) { + recid = Unpack_VEH_VIN_candb(&(_m->VEH_VIN), _d, dlc_); + } + } + } + } else { + if ((_id >= 0x521U) && (_id < 0x524U)) { + if (_id == 0x521U) { + recid = Unpack_OCUFL_MSG_candb(&(_m->OCUFL_MSG), _d, dlc_); + } else { + if (_id == 0x522U) { + recid = Unpack_OCUFR_MSG_candb(&(_m->OCUFR_MSG), _d, dlc_); + } else if (_id == 0x523U) { + recid = Unpack_OCURL_MSG_candb(&(_m->OCURL_MSG), _d, dlc_); + } + } + } else { + if ((_id >= 0x524U) && (_id < 0x7A0U)) { + if (_id == 0x524U) { + recid = Unpack_OCURR_MSG_candb(&(_m->OCURR_MSG), _d, dlc_); + } else if (_id == 0x5ACU) { + recid = Unpack_BCM_UserConfig_Stat_candb(&(_m->BCM_UserConfig_Stat), _d, dlc_); + } + } else { + if (_id == 0x7A0U) { + recid = Unpack_Diag_To_VAU_candb(&(_m->Diag_To_VAU), _d, dlc_); + } else if (_id == 0x7DFU) { + recid = Unpack_Diag_Functional_candb(&(_m->Diag_Functional), _d, dlc_); + } + } + } + } + } + + return recid; +} + diff --git a/butl/vau_candb-binutil.h b/butl/vau_candb-binutil.h new file mode 100644 index 0000000..b19faa4 --- /dev/null +++ b/butl/vau_candb-binutil.h @@ -0,0 +1,71 @@ +// Generator version : v3.1 +// DBC filename : CCU.dbc +#pragma once + +#ifdef __cplusplus +extern "C" { +#endif + +#include "dbccodeconf.h" + +#include "candb.h" + +typedef struct +{ + EMS_VCU_VAU_Immo_Req_t EMS_VCU_VAU_Immo_Req; + TCU_VAU_Immo_Req_t TCU_VAU_Immo_Req; + WChF_NFC_VAU_Transfer_State_t WChF_NFC_VAU_Transfer_State; + SDM_VAU_Hash_Resp_t SDM_VAU_Hash_Resp; + BCM_Powertrain_t BCM_Powertrain; + FIU_Access_Msg1_t FIU_Access_Msg1; + DMFR_Msg1_t DMFR_Msg1; + DMFL_Msg1_t DMFL_Msg1; + DMRL_Msg1_t DMRL_Msg1; + DMRR_Msg1_t DMRR_Msg1; + TM_Stat_t TM_Stat; + PTG_Body_Stat_t PTG_Body_Stat; + BCM_VEH_STATE_t BCM_VEH_STATE; + BCM_Veh_State2_t BCM_Veh_State2; + BCM_Lock_CTR_t BCM_Lock_CTR; + FIU_Access_Msg2_t FIU_Access_Msg2; + FIU_Profile_t FIU_Profile; + FIU_Cmd_t FIU_Cmd; + VEH_VIN_t VEH_VIN; + OCUFL_MSG_t OCUFL_MSG; + OCUFR_MSG_t OCUFR_MSG; + OCURL_MSG_t OCURL_MSG; + OCURR_MSG_t OCURR_MSG; + BCM_UserConfig_Stat_t BCM_UserConfig_Stat; + Diag_To_VAU_t Diag_To_VAU; + Diag_Functional_t Diag_Functional; +} vau_candb_rx_t; + +typedef struct +{ + VAU2_NFC_TransferState_t VAU2_NFC_TransferState; + VAU_TCU_Hash_Resp_t VAU_TCU_Hash_Resp; + VAU_EMS_VCU_Hash_Resp_t VAU_EMS_VCU_Hash_Resp; + VAU2_INVRL_Hash_Resp_t VAU2_INVRL_Hash_Resp; + VAU2_INVRR_Hash_Resp_t VAU2_INVRR_Hash_Resp; + VAU_SDM_Immo_Req_t VAU_SDM_Immo_Req; + VAU2_INVF_Hash_Resp_t VAU2_INVF_Hash_Resp; + VAU2_Msg1_t VAU2_Msg1; + VAU2_Msg2_t VAU2_Msg2; + VAU_TPMS_Msg_t VAU_TPMS_Msg; + VAU_BLE_Device_t VAU_BLE_Device; + Diag_From_VAU_t Diag_From_VAU; +} vau_candb_tx_t; + +uint32_t vau_candb_Receive(vau_candb_rx_t* m, const uint8_t* d, uint32_t msgid, uint8_t dlc); + +#ifdef __DEF_VAU_CANDB__ + +extern vau_candb_rx_t vau_candb_rx; + +extern vau_candb_tx_t vau_candb_tx; + +#endif // __DEF_VAU_CANDB__ + +#ifdef __cplusplus +} +#endif diff --git a/butl/vector__xxx_candb-binutil.c b/butl/vector__xxx_candb-binutil.c index cfa8c66..1d49452 100644 --- a/butl/vector__xxx_candb-binutil.c +++ b/butl/vector__xxx_candb-binutil.c @@ -11,54 +11,204 @@ vector__xxx_candb_rx_t vector__xxx_candb_rx; -vector__xxx_candb_tx_t vector__xxx_candb_tx; - #endif // __DEF_VECTOR__XXX_CANDB__ uint32_t vector__xxx_candb_Receive(vector__xxx_candb_rx_t* _m, const uint8_t* _d, uint32_t _id, uint8_t dlc_) { uint32_t recid = 0; - if ((_id >= 0x310U) && (_id < 0x316U)) { - if ((_id >= 0x310U) && (_id < 0x313U)) { - if (_id == 0x310U) { - recid = Unpack_CCU_HVC_Req_Msg_candb(&(_m->CCU_HVC_Req_Msg), _d, dlc_); + if ((_id >= 0xB1U) && (_id < 0x3AAU)) { + if ((_id >= 0xB1U) && (_id < 0x20AU)) { + if ((_id >= 0xB1U) && (_id < 0x150U)) { + if ((_id >= 0xB1U) && (_id < 0x100U)) { + if (_id == 0xB1U) { + recid = Unpack_TCU_R932_1_candb(&(_m->TCU_R932_1), _d, dlc_); + } else { + if (_id == 0xE4U) { + recid = Unpack_FTCU_DAT2_candb(&(_m->FTCU_DAT2), _d, dlc_); + } else if (_id == 0xE5U) { + recid = Unpack_FTCU_DAT3_candb(&(_m->FTCU_DAT3), _d, dlc_); + } + } + } else { + if (_id == 0x100U) { + recid = Unpack_ESC_04_candb(&(_m->ESC_04), _d, dlc_); + } else { + if (_id == 0x112U) { + recid = Unpack_ESC_09_candb(&(_m->ESC_09), _d, dlc_); + } else if (_id == 0x130U) { + recid = Unpack_ESC_YRS_01_candb(&(_m->ESC_YRS_01), _d, dlc_); + } + } + } } else { - if (_id == 0x311U) { - recid = Unpack_CCU_Stat1_candb(&(_m->CCU_Stat1), _d, dlc_); - } else if (_id == 0x312U) { - recid = Unpack_CCU_Stat2_candb(&(_m->CCU_Stat2), _d, dlc_); + if ((_id >= 0x150U) && (_id < 0x160U)) { + if (_id == 0x150U) { + recid = Unpack_EMS_Veh_candb(&(_m->EMS_Veh), _d, dlc_); + } else { + if (_id == 0x151U) { + recid = Unpack_EMS_Indicators_candb(&(_m->EMS_Indicators), _d, dlc_); + } else if (_id == 0x153U) { + recid = Unpack_EMS_Veh_02_candb(&(_m->EMS_Veh_02), _d, dlc_); + } + } + } else { + if (_id == 0x160U) { + recid = Unpack_DAS_01_candb(&(_m->DAS_01), _d, dlc_); + } else { + if (_id == 0x162U) { + recid = Unpack_DAS_04_candb(&(_m->DAS_04), _d, dlc_); + } else if (_id == 0x18AU) { + recid = Unpack_VCU_DriveInfo_candb(&(_m->VCU_DriveInfo), _d, dlc_); + } + } } } } else { - if (_id == 0x313U) { - recid = Unpack_CCU_Requests_candb(&(_m->CCU_Requests), _d, dlc_); + if ((_id >= 0x20AU) && (_id < 0x247U)) { + if ((_id >= 0x20AU) && (_id < 0x238U)) { + if (_id == 0x20AU) { + recid = Unpack_DAS_02_candb(&(_m->DAS_02), _d, dlc_); + } else { + if (_id == 0x210U) { + recid = Unpack_ACU_01_candb(&(_m->ACU_01), _d, dlc_); + } else if (_id == 0x21AU) { + recid = Unpack_EPB_Status_candb(&(_m->EPB_Status), _d, dlc_); + } + } + } else { + if (_id == 0x238U) { + recid = Unpack_SWM_ContrlsState_candb(&(_m->SWM_ContrlsState), _d, dlc_); + } else { + if (_id == 0x242U) { + recid = Unpack_FIU_Access_Msg1_candb(&(_m->FIU_Access_Msg1), _d, dlc_); + } else if (_id == 0x243U) { + recid = Unpack_DMFR_Msg1_candb(&(_m->DMFR_Msg1), _d, dlc_); + } + } + } } else { - if (_id == 0x314U) { - recid = Unpack_CCU_Stat3_candb(&(_m->CCU_Stat3), _d, dlc_); - } else if (_id == 0x315U) { - recid = Unpack_CCU_VCU_Msg1_candb(&(_m->CCU_VCU_Msg1), _d, dlc_); + if ((_id >= 0x247U) && (_id < 0x282U)) { + if (_id == 0x247U) { + recid = Unpack_TM_Stat_candb(&(_m->TM_Stat), _d, dlc_); + } else { + if (_id == 0x277U) { + recid = Unpack_ATS_Status_candb(&(_m->ATS_Status), _d, dlc_); + } else if (_id == 0x280U) { + recid = Unpack_BCM_VEH_STATE_candb(&(_m->BCM_VEH_STATE), _d, dlc_); + } + } + } else { + if ((_id >= 0x282U) && (_id < 0x2B0U)) { + if (_id == 0x282U) { + recid = Unpack_BCM_Veh_State2_candb(&(_m->BCM_Veh_State2), _d, dlc_); + } else if (_id == 0x298U) { + recid = Unpack_EMS_HVC_Req_Msg_candb(&(_m->EMS_HVC_Req_Msg), _d, dlc_); + } + } else { + if (_id == 0x2B0U) { + recid = Unpack_SAS_Standard_candb(&(_m->SAS_Standard), _d, dlc_); + } else if (_id == 0x314U) { + recid = Unpack_CCU_Stat3_candb(&(_m->CCU_Stat3), _d, dlc_); + } + } } } } } else { - if ((_id >= 0x316U) && (_id < 0x501U)) { - if (_id == 0x316U) { - recid = Unpack_CCU_VCU_Msg2_candb(&(_m->CCU_VCU_Msg2), _d, dlc_); + if ((_id >= 0x3AAU) && (_id < 0x536U)) { + if ((_id >= 0x3AAU) && (_id < 0x4C0U)) { + if ((_id >= 0x3AAU) && (_id < 0x4B0U)) { + if (_id == 0x3AAU) { + recid = Unpack_IC_DATA_MSG_candb(&(_m->IC_DATA_MSG), _d, dlc_); + } else { + if (_id == 0x3D0U) { + recid = Unpack_MAS_Status_candb(&(_m->MAS_Status), _d, dlc_); + } else if (_id == 0x4AFU) { + recid = Unpack_DCDC1248_01_candb(&(_m->DCDC1248_01), _d, dlc_); + } + } + } else { + if (_id == 0x4B0U) { + recid = Unpack_FIU_REQ_CTR_01_candb(&(_m->FIU_REQ_CTR_01), _d, dlc_); + } else { + if (_id == 0x4B1U) { + recid = Unpack_DCDC1248_02_candb(&(_m->DCDC1248_02), _d, dlc_); + } else if (_id == 0x4B6U) { + recid = Unpack_FIU_Profile_candb(&(_m->FIU_Profile), _d, dlc_); + } + } + } } else { - if (_id == 0x380U) { - recid = Unpack_CCU_Msg1_candb(&(_m->CCU_Msg1), _d, dlc_); - } else if (_id == 0x4FEU) { - recid = Unpack_CCU_Errors_candb(&(_m->CCU_Errors), _d, dlc_); + if ((_id >= 0x4C0U) && (_id < 0x50FU)) { + if (_id == 0x4C0U) { + recid = Unpack_USBSw_Stat_candb(&(_m->USBSw_Stat), _d, dlc_); + } else { + if (_id == 0x4FEU) { + recid = Unpack_CCU_Errors_candb(&(_m->CCU_Errors), _d, dlc_); + } else if (_id == 0x50BU) { + recid = Unpack_FIU_Cmd_candb(&(_m->FIU_Cmd), _d, dlc_); + } + } + } else { + if (_id == 0x50FU) { + recid = Unpack_SDM_Cmd_candb(&(_m->SDM_Cmd), _d, dlc_); + } else { + if (_id == 0x511U) { + recid = Unpack_HUD_MSG_STATUS_candb(&(_m->HUD_MSG_STATUS), _d, dlc_); + } else if (_id == 0x52CU) { + recid = Unpack_FIU_SMRL_REQ_CTR_SEATS_candb(&(_m->FIU_SMRL_REQ_CTR_SEATS), _d, dlc_); + } + } } } } else { - if (_id == 0x501U) { - recid = Unpack_CCU_Msg3_candb(&(_m->CCU_Msg3), _d, dlc_); + if ((_id >= 0x536U) && (_id < 0x5ACU)) { + if ((_id >= 0x536U) && (_id < 0x58EU)) { + if (_id == 0x536U) { + recid = Unpack_BCM_MEM_SMFL2_candb(&(_m->BCM_MEM_SMFL2), _d, dlc_); + } else { + if (_id == 0x554U) { + recid = Unpack_FIU_SMRR_REQ_CTR_SEATS_candb(&(_m->FIU_SMRR_REQ_CTR_SEATS), _d, dlc_); + } else if (_id == 0x587U) { + recid = Unpack_FIU_CTRL_DW_candb(&(_m->FIU_CTRL_DW), _d, dlc_); + } + } + } else { + if (_id == 0x58EU) { + recid = Unpack_FIU_Msg1_candb(&(_m->FIU_Msg1), _d, dlc_); + } else { + if (_id == 0x590U) { + recid = Unpack_ERAG_DATA_MSG_candb(&(_m->ERAG_DATA_MSG), _d, dlc_); + } else if (_id == 0x594U) { + recid = Unpack_FIU_Msg3_candb(&(_m->FIU_Msg3), _d, dlc_); + } + } + } } else { - if (_id == 0x7BBU) { - recid = Unpack_Diag_From_CCU_candb(&(_m->Diag_From_CCU), _d, dlc_); - } else if (_id == 0x18FFF200U) { - recid = Unpack_CCU_AC_Ctrl_candb(&(_m->CCU_AC_Ctrl), _d, dlc_); + if ((_id >= 0x5ACU) && (_id < 0x5B2U)) { + if (_id == 0x5ACU) { + recid = Unpack_BCM_UserConfig_Stat_candb(&(_m->BCM_UserConfig_Stat), _d, dlc_); + } else { + if (_id == 0x5ADU) { + recid = Unpack_FIU_MAS_Main_candb(&(_m->FIU_MAS_Main), _d, dlc_); + } else if (_id == 0x5B1U) { + recid = Unpack_MAS_APA_Paths_candb(&(_m->MAS_APA_Paths), _d, dlc_); + } + } + } else { + if ((_id >= 0x5B2U) && (_id < 0x5F3U)) { + if (_id == 0x5B2U) { + recid = Unpack_MAS_APA_ParkPlace_candb(&(_m->MAS_APA_ParkPlace), _d, dlc_); + } else if (_id == 0x5EFU) { + recid = Unpack_CCPF_BodyTM_Stat_candb(&(_m->CCPF_BodyTM_Stat), _d, dlc_); + } + } else { + if (_id == 0x5F3U) { + recid = Unpack_IntCOM_Info_Stat_candb(&(_m->IntCOM_Info_Stat), _d, dlc_); + } else if (_id == 0x730U) { + recid = Unpack_Diag_To_APU_candb(&(_m->Diag_To_APU), _d, dlc_); + } + } } } } diff --git a/butl/vector__xxx_candb-binutil.h b/butl/vector__xxx_candb-binutil.h index 1d64ce5..29b93a6 100644 --- a/butl/vector__xxx_candb-binutil.h +++ b/butl/vector__xxx_candb-binutil.h @@ -12,56 +12,59 @@ extern "C" { typedef struct { - CCU_HVC_Req_Msg_t CCU_HVC_Req_Msg; - CCU_Stat1_t CCU_Stat1; - CCU_Stat2_t CCU_Stat2; - CCU_Requests_t CCU_Requests; + TCU_R932_1_t TCU_R932_1; + FTCU_DAT2_t FTCU_DAT2; + FTCU_DAT3_t FTCU_DAT3; + ESC_04_t ESC_04; + ESC_09_t ESC_09; + ESC_YRS_01_t ESC_YRS_01; + EMS_Veh_t EMS_Veh; + EMS_Indicators_t EMS_Indicators; + EMS_Veh_02_t EMS_Veh_02; + DAS_01_t DAS_01; + DAS_04_t DAS_04; + VCU_DriveInfo_t VCU_DriveInfo; + DAS_02_t DAS_02; + ACU_01_t ACU_01; + EPB_Status_t EPB_Status; + SWM_ContrlsState_t SWM_ContrlsState; + FIU_Access_Msg1_t FIU_Access_Msg1; + DMFR_Msg1_t DMFR_Msg1; + TM_Stat_t TM_Stat; + ATS_Status_t ATS_Status; + BCM_VEH_STATE_t BCM_VEH_STATE; + BCM_Veh_State2_t BCM_Veh_State2; + EMS_HVC_Req_Msg_t EMS_HVC_Req_Msg; + SAS_Standard_t SAS_Standard; CCU_Stat3_t CCU_Stat3; - CCU_VCU_Msg1_t CCU_VCU_Msg1; - CCU_VCU_Msg2_t CCU_VCU_Msg2; - CCU_Msg1_t CCU_Msg1; + IC_DATA_MSG_t IC_DATA_MSG; + MAS_Status_t MAS_Status; + DCDC1248_01_t DCDC1248_01; + FIU_REQ_CTR_01_t FIU_REQ_CTR_01; + DCDC1248_02_t DCDC1248_02; + FIU_Profile_t FIU_Profile; + USBSw_Stat_t USBSw_Stat; CCU_Errors_t CCU_Errors; - CCU_Msg3_t CCU_Msg3; - Diag_From_CCU_t Diag_From_CCU; - CCU_AC_Ctrl_t CCU_AC_Ctrl; + FIU_Cmd_t FIU_Cmd; + SDM_Cmd_t SDM_Cmd; + HUD_MSG_STATUS_t HUD_MSG_STATUS; + FIU_SMRL_REQ_CTR_SEATS_t FIU_SMRL_REQ_CTR_SEATS; + BCM_MEM_SMFL2_t BCM_MEM_SMFL2; + FIU_SMRR_REQ_CTR_SEATS_t FIU_SMRR_REQ_CTR_SEATS; + FIU_CTRL_DW_t FIU_CTRL_DW; + FIU_Msg1_t FIU_Msg1; + ERAG_DATA_MSG_t ERAG_DATA_MSG; + FIU_Msg3_t FIU_Msg3; + BCM_UserConfig_Stat_t BCM_UserConfig_Stat; + FIU_MAS_Main_t FIU_MAS_Main; + MAS_APA_Paths_t MAS_APA_Paths; + MAS_APA_ParkPlace_t MAS_APA_ParkPlace; + CCPF_BodyTM_Stat_t CCPF_BodyTM_Stat; + IntCOM_Info_Stat_t IntCOM_Info_Stat; + Diag_To_APU_t Diag_To_APU; } vector__xxx_candb_rx_t; -typedef struct -{ - ESC_04_t ESC_04; - EMS_Veh_t EMS_Veh; - BCM_Powertrain_t BCM_Powertrain; - EMS_Veh_02_t EMS_Veh_02; - BCM_EEM_t BCM_EEM; - DMFR_Msg1_t DMFR_Msg1; - DMFL_Msg1_t DMFL_Msg1; - TM_Stat_t TM_Stat; - TM_CP_t TM_CP; - HVC_CCU_Status_Msg_t HVC_CCU_Status_Msg; - BCM_VEH_STATE_t BCM_VEH_STATE; - EMS_HVC_Req_Msg_t EMS_HVC_Req_Msg; - HVC_Err_Status_Msg_t HVC_Err_Status_Msg; - BCM_CLIMATIC_DATA_t BCM_CLIMATIC_DATA; - VCU_CCU_Req_t VCU_CCU_Req; - ESC_08_t ESC_08; - SMFL_status_t SMFL_status; - SMFR_status_t SMFR_status; - SMRL_status_t SMRL_status; - SMRR_status_t SMRR_status; - SDM_Cmd_t SDM_Cmd; - VEH_VIN_t VEH_VIN; - OCUFL_MSG_t OCUFL_MSG; - OCUFR_MSG_t OCUFR_MSG; - OCURL_MSG_t OCURL_MSG; - OCURR_MSG_t OCURR_MSG; - DW_STATE_t DW_STATE; - FIU_CCU1_t FIU_CCU1; - FIU_CCU2_t FIU_CCU2; - FIU_CCU3_t FIU_CCU3; - Diag_To_CCU_t Diag_To_CCU; - Diag_Functional_t Diag_Functional; - HVC_01_t HVC_01; -} vector__xxx_candb_tx_t; +// There is no any TX mapped massage. uint32_t vector__xxx_candb_Receive(vector__xxx_candb_rx_t* m, const uint8_t* d, uint32_t msgid, uint8_t dlc); @@ -69,8 +72,6 @@ uint32_t vector__xxx_candb_Receive(vector__xxx_candb_rx_t* m, const uint8_t* d, extern vector__xxx_candb_rx_t vector__xxx_candb_rx; -extern vector__xxx_candb_tx_t vector__xxx_candb_tx; - #endif // __DEF_VECTOR__XXX_CANDB__ #ifdef __cplusplus diff --git a/butl/wch_candb-binutil.c b/butl/wch_candb-binutil.c new file mode 100644 index 0000000..851ccc4 --- /dev/null +++ b/butl/wch_candb-binutil.c @@ -0,0 +1,57 @@ +// Generator version : v3.1 +// DBC filename : CCU.dbc +#include "wch_candb-binutil.h" + +// DBC file version +#if (VER_CANDB_MAJ != (0U)) || (VER_CANDB_MIN != (0U)) +#error The WCH_CANDB binutil source file has inconsistency with core dbc lib! +#endif + +#ifdef __DEF_WCH_CANDB__ + +wch_candb_rx_t wch_candb_rx; + +wch_candb_tx_t wch_candb_tx; + +#endif // __DEF_WCH_CANDB__ + +uint32_t wch_candb_Receive(wch_candb_rx_t* _m, const uint8_t* _d, uint32_t _id, uint8_t dlc_) +{ + uint32_t recid = 0; + if ((_id >= 0x8EU) && (_id < 0x280U)) { + if ((_id >= 0x8EU) && (_id < 0x157U)) { + if (_id == 0x8EU) { + recid = Unpack_VAU2_NFC_TransferState_candb(&(_m->VAU2_NFC_TransferState), _d, dlc_); + } else if (_id == 0x121U) { + recid = Unpack_VAU2_Msg1_candb(&(_m->VAU2_Msg1), _d, dlc_); + } + } else { + if (_id == 0x157U) { + recid = Unpack_BCM_EEM_candb(&(_m->BCM_EEM), _d, dlc_); + } else if (_id == 0x24FU) { + recid = Unpack_VAU2_Msg2_candb(&(_m->VAU2_Msg2), _d, dlc_); + } + } + } else { + if ((_id >= 0x280U) && (_id < 0x5F7U)) { + if (_id == 0x280U) { + recid = Unpack_BCM_VEH_STATE_candb(&(_m->BCM_VEH_STATE), _d, dlc_); + } else if (_id == 0x51AU) { + recid = Unpack_VEH_VIN_candb(&(_m->VEH_VIN), _d, dlc_); + } + } else { + if (_id == 0x5F7U) { + recid = Unpack_LTE_Sum_State2_candb(&(_m->LTE_Sum_State2), _d, dlc_); + } else { + if (_id == 0x604U) { + recid = Unpack_FIU_WChF_TransferState_candb(&(_m->FIU_WChF_TransferState), _d, dlc_); + } else if (_id == 0x7DFU) { + recid = Unpack_Diag_Functional_candb(&(_m->Diag_Functional), _d, dlc_); + } + } + } + } + + return recid; +} + diff --git a/butl/wch_candb-binutil.h b/butl/wch_candb-binutil.h new file mode 100644 index 0000000..c9cb5e2 --- /dev/null +++ b/butl/wch_candb-binutil.h @@ -0,0 +1,45 @@ +// Generator version : v3.1 +// DBC filename : CCU.dbc +#pragma once + +#ifdef __cplusplus +extern "C" { +#endif + +#include "dbccodeconf.h" + +#include "candb.h" + +typedef struct +{ + VAU2_NFC_TransferState_t VAU2_NFC_TransferState; + VAU2_Msg1_t VAU2_Msg1; + BCM_EEM_t BCM_EEM; + VAU2_Msg2_t VAU2_Msg2; + BCM_VEH_STATE_t BCM_VEH_STATE; + VEH_VIN_t VEH_VIN; + LTE_Sum_State2_t LTE_Sum_State2; + FIU_WChF_TransferState_t FIU_WChF_TransferState; + Diag_Functional_t Diag_Functional; +} wch_candb_rx_t; + +typedef struct +{ + WChF_NFC_VAU_Transfer_State_t WChF_NFC_VAU_Transfer_State; + WChF_Status_t WChF_Status; + WChF_FIU_TransferState_t WChF_FIU_TransferState; +} wch_candb_tx_t; + +uint32_t wch_candb_Receive(wch_candb_rx_t* m, const uint8_t* d, uint32_t msgid, uint8_t dlc); + +#ifdef __DEF_WCH_CANDB__ + +extern wch_candb_rx_t wch_candb_rx; + +extern wch_candb_tx_t wch_candb_tx; + +#endif // __DEF_WCH_CANDB__ + +#ifdef __cplusplus +} +#endif diff --git a/lib/candb-fmon.h b/lib/candb-fmon.h index 8f001a6..62293f2 100644 --- a/lib/candb-fmon.h +++ b/lib/candb-fmon.h @@ -26,19 +26,69 @@ separated .c file. If it won't be done the linkage error will happen void _FMon_MONO_candb(FrameMonitor_t* _mon, uint32_t msgid); +#define FMon_SDM_MAS_Req_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_EMS_VCU_VAU_Immo_Req_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_TCU_VAU_Immo_Req_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_VAU2_NFC_TransferState_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_VAU_TCU_Hash_Resp_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_VAU_EMS_VCU_Hash_Resp_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_VAU2_INVRL_Hash_Resp_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_WChF_NFC_VAU_Transfer_State_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_VAU2_INVRR_Hash_Resp_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_VAU_SDM_Immo_Req_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_SDM_VAU_Hash_Resp_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_TCU_R932_1_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_VAU2_INVF_Hash_Resp_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_FTCU_DAT1_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_FTCU_DAT2_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_FTCU_DAT3_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_SCU_02_candb(x, y) _FMon_MONO_candb((x), (y)) #define FMon_ESC_04_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_ESC_09_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_VAU2_Msg1_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_ESC_YRS_01_candb(x, y) _FMon_MONO_candb((x), (y)) #define FMon_EMS_Veh_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_EMS_Indicators_candb(x, y) _FMon_MONO_candb((x), (y)) #define FMon_BCM_Powertrain_candb(x, y) _FMon_MONO_candb((x), (y)) #define FMon_EMS_Veh_02_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_EMS_EEM_01_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_EMS_EEM_02_candb(x, y) _FMon_MONO_candb((x), (y)) #define FMon_BCM_EEM_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_DAS_01_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_DAS_04_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_VCU_DriveInfo_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_DAS_02_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_DAS_07_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_ACU_01_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_EPB_Status_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_BCM_ExteriorLightState_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_SWM_ContrlsState_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_BCM_StyleCmd1_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_FIU_Access_Msg1_candb(x, y) _FMon_MONO_candb((x), (y)) #define FMon_DMFR_Msg1_candb(x, y) _FMon_MONO_candb((x), (y)) #define FMon_DMFL_Msg1_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_DMRL_Msg1_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_DMRR_Msg1_candb(x, y) _FMon_MONO_candb((x), (y)) #define FMon_TM_Stat_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_PTG_Body_Stat_candb(x, y) _FMon_MONO_candb((x), (y)) #define FMon_TM_CP_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_VAU2_Msg2_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_BCM_DMS_01_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_LB_pSilCU_State_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_RB_pSilCU_State_candb(x, y) _FMon_MONO_candb((x), (y)) #define FMon_HVC_CCU_Status_Msg_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_ATS_Status_candb(x, y) _FMon_MONO_candb((x), (y)) #define FMon_BCM_VEH_STATE_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_BCM_Veh_State2_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_BCM_ALS_Light_Front_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_BCM_ALS_Light_Rear_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_BCM_Rear_Plafond_Light_Data_candb(x, y) _FMon_MONO_candb((x), (y)) #define FMon_EMS_HVC_Req_Msg_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_SAS_Standard_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_IC_ABSOLUTE_CLOCK_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_BCM_Lock_CTR_candb(x, y) _FMon_MONO_candb((x), (y)) #define FMon_HVC_Err_Status_Msg_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_BCM_DCDC12_CNTRL_candb(x, y) _FMon_MONO_candb((x), (y)) #define FMon_CCU_HVC_Req_Msg_candb(x, y) _FMon_MONO_candb((x), (y)) #define FMon_CCU_Stat1_candb(x, y) _FMon_MONO_candb((x), (y)) #define FMon_CCU_Stat2_candb(x, y) _FMon_MONO_candb((x), (y)) @@ -46,47 +96,268 @@ void _FMon_MONO_candb(FrameMonitor_t* _mon, uint32_t msgid); #define FMon_CCU_Stat3_candb(x, y) _FMon_MONO_candb((x), (y)) #define FMon_CCU_VCU_Msg1_candb(x, y) _FMon_MONO_candb((x), (y)) #define FMon_CCU_VCU_Msg2_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_BCM_IC_Info_Msg_candb(x, y) _FMon_MONO_candb((x), (y)) #define FMon_BCM_CLIMATIC_DATA_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_DMFL_SMFL_REQ_CTR_SEATS_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_DMFR_SMFR_REQ_CTR_SEATS_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_DMRL_SMRL_REQ_CTR_SEATS_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_DMRR_SMRR_REQ_CTR_SEATS_candb(x, y) _FMon_MONO_candb((x), (y)) #define FMon_CCU_Msg1_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Sroof_State_candb(x, y) _FMon_MONO_candb((x), (y)) #define FMon_VCU_CCU_Req_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_IC_DATA_MSG_candb(x, y) _FMon_MONO_candb((x), (y)) #define FMon_ESC_08_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_WChF_Status_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_MAS_Status_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_EPB_VM_MSG_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_CGW_COMM_REQ_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_DCDC1248_01_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_FIU_REQ_CTR_01_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_DCDC1248_02_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_FIU_Access_Msg2_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_FIU_Profile_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_USBSw_Stat_candb(x, y) _FMon_MONO_candb((x), (y)) #define FMon_SMFL_status_candb(x, y) _FMon_MONO_candb((x), (y)) #define FMon_SMFR_status_candb(x, y) _FMon_MONO_candb((x), (y)) #define FMon_SMRL_status_candb(x, y) _FMon_MONO_candb((x), (y)) #define FMon_SMRR_status_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_DocSL_T_FL_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_DocSR_T_FR_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_VAU_TPMS_Msg_candb(x, y) _FMon_MONO_candb((x), (y)) #define FMon_CCU_Errors_candb(x, y) _FMon_MONO_candb((x), (y)) #define FMon_CCU_Msg3_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_FIU_Cmd_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_IC_SDM_Info_candb(x, y) _FMon_MONO_candb((x), (y)) #define FMon_SDM_Cmd_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_HUD_MSG_STATUS_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_IC_SDM_Info_02_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_IC_Milleage_candb(x, y) _FMon_MONO_candb((x), (y)) #define FMon_VEH_VIN_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_BCM_RunningBoards_candb(x, y) _FMon_MONO_candb((x), (y)) #define FMon_OCUFL_MSG_candb(x, y) _FMon_MONO_candb((x), (y)) #define FMon_OCUFR_MSG_candb(x, y) _FMon_MONO_candb((x), (y)) #define FMon_OCURL_MSG_candb(x, y) _FMon_MONO_candb((x), (y)) #define FMon_OCURR_MSG_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_RBCU_BODY_Stat_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_FIU_SMRL_REQ_CTR_SEATS_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_FIU_SMFR_REQ_CTR_SEATS_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_SMFL_MEM1_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_BCM_MEM_SMFL1_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_SMFL_MEM2_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_BCM_MEM_SMFL2_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_SMFR_MEM1_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_BCM_MEM_SMFR1_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_SMFR_MEM2_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_BCM_MEM_SMFR2_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_SMRL_MEM1_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_BCM_MEM_SMRL1_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_SMRL_MEM2_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_BCM_MEM_SMRL2_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_SMRR_MEM1_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_BCM_MEM_SMRR1_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_SMRR_MEM2_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_BCM_MEM_SMRR2_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_FIU_SMFL_REQ_CTR_SEATS_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_FIU_SMRR_REQ_CTR_SEATS_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_FIU_CTRL_DW_candb(x, y) _FMon_MONO_candb((x), (y)) #define FMon_DW_STATE_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_FIU_Msg1_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_FIU_Msg2_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_ERAG_DATA_MSG_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_FIU_Msg3_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_FIU_EngMenu_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_WHFL_MSG1_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_WHFR_Msg1_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_PLDSilCU_State_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_PRDSilCU_State_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_FLDSilCU_State_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_FRDSilCU_State_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_RLDSilCU_State_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_RRDSilCU_State_candb(x, y) _FMon_MONO_candb((x), (y)) #define FMon_FIU_CCU1_candb(x, y) _FMon_MONO_candb((x), (y)) #define FMon_FIU_CCU2_candb(x, y) _FMon_MONO_candb((x), (y)) #define FMon_FIU_CCU3_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_BCM_StyleCmd2_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_BCM_StyleCmd3_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_BCM_WHF_Request_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_IC_DISPLAY_CLOCK_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_BCM_UserConfig_Stat_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_FIU_MAS_Main_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_MAS_APA_Paths_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_MAS_APA_ParkPlace_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_ICLSilCU_State_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_ICRSilCU_State_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_SFRSilCU_State_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_SFLSilCU_State_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_RDRSilCU_State_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_FCSilCU_State_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_RCLSilCU_State_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_RCRSilCU_State_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_RDLSilCU_State_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_CCPF_BodyTM_Stat_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_IntCOM_Info_Stat_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_LTE_Sum_State2_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_WChF_FIU_TransferState_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_FIU_WChF_TransferState_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_VAU_BLE_Device_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_From_APU_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_SSL_Status_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_SSR_Status_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_PTG_To_SupplierTool_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_SupplierTool_To_PTG_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_From_CCPF_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_To_CCPF_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_From_CCPR_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_To_CCPR_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_To_SSL_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_To_SSR_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_From_SSL_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_To_FCSilCU_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_From_SSR_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_To_FLDSilCU_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_To_FRDSilCU_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_To_ICLSilCU_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_From_FCSilCU_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_From_FLDSilCU_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_From_FRDSilCU_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_From_ICLSilCU_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_To_APU_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_To_FTCU_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_From_FTCU_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_To_Sroof_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_From_SRoof_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_To_ICRSilCU_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_To_LB_pSilCU_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_To_PLSilCU_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_To_PRSilCU_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_To_RB_pSilCU_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_From_ICRSilCU_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_From_LB_pSilCU_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_From_PLSilCU_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_From_PRSilCU_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_From_RB_pSilCU_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_To_VAU_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_To_BCM_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_To_DMFL_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_To_DMFR_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_To_DMRL_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_To_DMRR_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_To_SMRR_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_To_TM_candb(x, y) _FMon_MONO_candb((x), (y)) #define FMon_Diag_To_CCU_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_To_SMFL_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_To_SMFR_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_To_SMRL_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_From_VAU_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_From_BCM_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_From_DMFL_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_From_DMFR_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_From_DMRL_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_From_DMRR_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_From_SMRR_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_From_TM_candb(x, y) _FMon_MONO_candb((x), (y)) #define FMon_Diag_From_CCU_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_From_SMFL_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_From_SMFR_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_From_SMRL_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_To_RCLSilCU_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_To_RCRSilCU_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_To_RDLSilCU_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_To_RDRSilCU_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_From_OCUFL_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_To_RLDSilCU_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_To_RRDSilCU_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_From_PTG_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_From_OCUFR_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_From_OCURL_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_From_OCURR_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_From_RCLSilCU_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_From_RCRSilCU_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_From_RDLSilCU_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_From_RDRSilCU_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_To_OCUFL_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_From_RLDSilCU_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_From_RRDSilCU_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_To_PTG_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_To_OCUFR_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_To_OCURL_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_To_OCURR_candb(x, y) _FMon_MONO_candb((x), (y)) #define FMon_Diag_Functional_candb(x, y) _FMon_MONO_candb((x), (y)) -#define FMon_HVC_01_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_To_SFRSilCU_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_To_SFLSilCU_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_To_WHFL_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_To_WHFR_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_From_SFRSilCU_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_From_SFLSilCU_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_From_WHFL_candb(x, y) _FMon_MONO_candb((x), (y)) +#define FMon_Diag_From_WHFR_candb(x, y) _FMon_MONO_candb((x), (y)) #define FMon_CCU_AC_Ctrl_candb(x, y) _FMon_MONO_candb((x), (y)) #else +void _FMon_SDM_MAS_Req_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_EMS_VCU_VAU_Immo_Req_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_TCU_VAU_Immo_Req_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_VAU2_NFC_TransferState_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_VAU_TCU_Hash_Resp_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_VAU_EMS_VCU_Hash_Resp_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_VAU2_INVRL_Hash_Resp_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_WChF_NFC_VAU_Transfer_State_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_VAU2_INVRR_Hash_Resp_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_VAU_SDM_Immo_Req_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_SDM_VAU_Hash_Resp_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_TCU_R932_1_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_VAU2_INVF_Hash_Resp_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_FTCU_DAT1_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_FTCU_DAT2_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_FTCU_DAT3_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_SCU_02_candb(FrameMonitor_t* _mon, uint32_t msgid); void _FMon_ESC_04_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_ESC_09_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_VAU2_Msg1_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_ESC_YRS_01_candb(FrameMonitor_t* _mon, uint32_t msgid); void _FMon_EMS_Veh_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_EMS_Indicators_candb(FrameMonitor_t* _mon, uint32_t msgid); void _FMon_BCM_Powertrain_candb(FrameMonitor_t* _mon, uint32_t msgid); void _FMon_EMS_Veh_02_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_EMS_EEM_01_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_EMS_EEM_02_candb(FrameMonitor_t* _mon, uint32_t msgid); void _FMon_BCM_EEM_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_DAS_01_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_DAS_04_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_VCU_DriveInfo_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_DAS_02_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_DAS_07_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_ACU_01_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_EPB_Status_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_BCM_ExteriorLightState_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_SWM_ContrlsState_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_BCM_StyleCmd1_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_FIU_Access_Msg1_candb(FrameMonitor_t* _mon, uint32_t msgid); void _FMon_DMFR_Msg1_candb(FrameMonitor_t* _mon, uint32_t msgid); void _FMon_DMFL_Msg1_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_DMRL_Msg1_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_DMRR_Msg1_candb(FrameMonitor_t* _mon, uint32_t msgid); void _FMon_TM_Stat_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_PTG_Body_Stat_candb(FrameMonitor_t* _mon, uint32_t msgid); void _FMon_TM_CP_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_VAU2_Msg2_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_BCM_DMS_01_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_LB_pSilCU_State_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_RB_pSilCU_State_candb(FrameMonitor_t* _mon, uint32_t msgid); void _FMon_HVC_CCU_Status_Msg_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_ATS_Status_candb(FrameMonitor_t* _mon, uint32_t msgid); void _FMon_BCM_VEH_STATE_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_BCM_Veh_State2_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_BCM_ALS_Light_Front_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_BCM_ALS_Light_Rear_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_BCM_Rear_Plafond_Light_Data_candb(FrameMonitor_t* _mon, uint32_t msgid); void _FMon_EMS_HVC_Req_Msg_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_SAS_Standard_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_IC_ABSOLUTE_CLOCK_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_BCM_Lock_CTR_candb(FrameMonitor_t* _mon, uint32_t msgid); void _FMon_HVC_Err_Status_Msg_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_BCM_DCDC12_CNTRL_candb(FrameMonitor_t* _mon, uint32_t msgid); void _FMon_CCU_HVC_Req_Msg_candb(FrameMonitor_t* _mon, uint32_t msgid); void _FMon_CCU_Stat1_candb(FrameMonitor_t* _mon, uint32_t msgid); void _FMon_CCU_Stat2_candb(FrameMonitor_t* _mon, uint32_t msgid); @@ -94,45 +365,266 @@ void _FMon_CCU_Requests_candb(FrameMonitor_t* _mon, uint32_t msgid); void _FMon_CCU_Stat3_candb(FrameMonitor_t* _mon, uint32_t msgid); void _FMon_CCU_VCU_Msg1_candb(FrameMonitor_t* _mon, uint32_t msgid); void _FMon_CCU_VCU_Msg2_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_BCM_IC_Info_Msg_candb(FrameMonitor_t* _mon, uint32_t msgid); void _FMon_BCM_CLIMATIC_DATA_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_DMFL_SMFL_REQ_CTR_SEATS_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_DMFR_SMFR_REQ_CTR_SEATS_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_DMRL_SMRL_REQ_CTR_SEATS_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_DMRR_SMRR_REQ_CTR_SEATS_candb(FrameMonitor_t* _mon, uint32_t msgid); void _FMon_CCU_Msg1_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Sroof_State_candb(FrameMonitor_t* _mon, uint32_t msgid); void _FMon_VCU_CCU_Req_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_IC_DATA_MSG_candb(FrameMonitor_t* _mon, uint32_t msgid); void _FMon_ESC_08_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_WChF_Status_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_MAS_Status_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_EPB_VM_MSG_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_CGW_COMM_REQ_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_DCDC1248_01_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_FIU_REQ_CTR_01_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_DCDC1248_02_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_FIU_Access_Msg2_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_FIU_Profile_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_USBSw_Stat_candb(FrameMonitor_t* _mon, uint32_t msgid); void _FMon_SMFL_status_candb(FrameMonitor_t* _mon, uint32_t msgid); void _FMon_SMFR_status_candb(FrameMonitor_t* _mon, uint32_t msgid); void _FMon_SMRL_status_candb(FrameMonitor_t* _mon, uint32_t msgid); void _FMon_SMRR_status_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_DocSL_T_FL_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_DocSR_T_FR_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_VAU_TPMS_Msg_candb(FrameMonitor_t* _mon, uint32_t msgid); void _FMon_CCU_Errors_candb(FrameMonitor_t* _mon, uint32_t msgid); void _FMon_CCU_Msg3_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_FIU_Cmd_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_IC_SDM_Info_candb(FrameMonitor_t* _mon, uint32_t msgid); void _FMon_SDM_Cmd_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_HUD_MSG_STATUS_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_IC_SDM_Info_02_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_IC_Milleage_candb(FrameMonitor_t* _mon, uint32_t msgid); void _FMon_VEH_VIN_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_BCM_RunningBoards_candb(FrameMonitor_t* _mon, uint32_t msgid); void _FMon_OCUFL_MSG_candb(FrameMonitor_t* _mon, uint32_t msgid); void _FMon_OCUFR_MSG_candb(FrameMonitor_t* _mon, uint32_t msgid); void _FMon_OCURL_MSG_candb(FrameMonitor_t* _mon, uint32_t msgid); void _FMon_OCURR_MSG_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_RBCU_BODY_Stat_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_FIU_SMRL_REQ_CTR_SEATS_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_FIU_SMFR_REQ_CTR_SEATS_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_SMFL_MEM1_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_BCM_MEM_SMFL1_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_SMFL_MEM2_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_BCM_MEM_SMFL2_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_SMFR_MEM1_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_BCM_MEM_SMFR1_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_SMFR_MEM2_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_BCM_MEM_SMFR2_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_SMRL_MEM1_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_BCM_MEM_SMRL1_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_SMRL_MEM2_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_BCM_MEM_SMRL2_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_SMRR_MEM1_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_BCM_MEM_SMRR1_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_SMRR_MEM2_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_BCM_MEM_SMRR2_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_FIU_SMFL_REQ_CTR_SEATS_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_FIU_SMRR_REQ_CTR_SEATS_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_FIU_CTRL_DW_candb(FrameMonitor_t* _mon, uint32_t msgid); void _FMon_DW_STATE_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_FIU_Msg1_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_FIU_Msg2_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_ERAG_DATA_MSG_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_FIU_Msg3_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_FIU_EngMenu_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_WHFL_MSG1_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_WHFR_Msg1_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_PLDSilCU_State_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_PRDSilCU_State_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_FLDSilCU_State_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_FRDSilCU_State_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_RLDSilCU_State_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_RRDSilCU_State_candb(FrameMonitor_t* _mon, uint32_t msgid); void _FMon_FIU_CCU1_candb(FrameMonitor_t* _mon, uint32_t msgid); void _FMon_FIU_CCU2_candb(FrameMonitor_t* _mon, uint32_t msgid); void _FMon_FIU_CCU3_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_BCM_StyleCmd2_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_BCM_StyleCmd3_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_BCM_WHF_Request_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_IC_DISPLAY_CLOCK_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_BCM_UserConfig_Stat_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_FIU_MAS_Main_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_MAS_APA_Paths_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_MAS_APA_ParkPlace_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_ICLSilCU_State_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_ICRSilCU_State_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_SFRSilCU_State_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_SFLSilCU_State_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_RDRSilCU_State_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_FCSilCU_State_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_RCLSilCU_State_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_RCRSilCU_State_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_RDLSilCU_State_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_CCPF_BodyTM_Stat_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_IntCOM_Info_Stat_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_LTE_Sum_State2_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_WChF_FIU_TransferState_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_FIU_WChF_TransferState_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_VAU_BLE_Device_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_From_APU_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_SSL_Status_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_SSR_Status_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_PTG_To_SupplierTool_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_SupplierTool_To_PTG_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_From_CCPF_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_To_CCPF_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_From_CCPR_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_To_CCPR_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_To_SSL_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_To_SSR_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_From_SSL_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_To_FCSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_From_SSR_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_To_FLDSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_To_FRDSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_To_ICLSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_From_FCSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_From_FLDSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_From_FRDSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_From_ICLSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_To_APU_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_To_FTCU_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_From_FTCU_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_To_Sroof_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_From_SRoof_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_To_ICRSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_To_LB_pSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_To_PLSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_To_PRSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_To_RB_pSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_From_ICRSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_From_LB_pSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_From_PLSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_From_PRSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_From_RB_pSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_To_VAU_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_To_BCM_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_To_DMFL_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_To_DMFR_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_To_DMRL_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_To_DMRR_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_To_SMRR_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_To_TM_candb(FrameMonitor_t* _mon, uint32_t msgid); void _FMon_Diag_To_CCU_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_To_SMFL_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_To_SMFR_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_To_SMRL_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_From_VAU_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_From_BCM_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_From_DMFL_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_From_DMFR_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_From_DMRL_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_From_DMRR_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_From_SMRR_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_From_TM_candb(FrameMonitor_t* _mon, uint32_t msgid); void _FMon_Diag_From_CCU_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_From_SMFL_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_From_SMFR_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_From_SMRL_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_To_RCLSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_To_RCRSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_To_RDLSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_To_RDRSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_From_OCUFL_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_To_RLDSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_To_RRDSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_From_PTG_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_From_OCUFR_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_From_OCURL_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_From_OCURR_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_From_RCLSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_From_RCRSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_From_RDLSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_From_RDRSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_To_OCUFL_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_From_RLDSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_From_RRDSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_To_PTG_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_To_OCUFR_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_To_OCURL_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_To_OCURR_candb(FrameMonitor_t* _mon, uint32_t msgid); void _FMon_Diag_Functional_candb(FrameMonitor_t* _mon, uint32_t msgid); -void _FMon_HVC_01_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_To_SFRSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_To_SFLSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_To_WHFL_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_To_WHFR_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_From_SFRSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_From_SFLSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_From_WHFL_candb(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_Diag_From_WHFR_candb(FrameMonitor_t* _mon, uint32_t msgid); void _FMon_CCU_AC_Ctrl_candb(FrameMonitor_t* _mon, uint32_t msgid); +#define FMon_SDM_MAS_Req_candb(x, y) _FMon_SDM_MAS_Req_candb((x), (y)) +#define FMon_EMS_VCU_VAU_Immo_Req_candb(x, y) _FMon_EMS_VCU_VAU_Immo_Req_candb((x), (y)) +#define FMon_TCU_VAU_Immo_Req_candb(x, y) _FMon_TCU_VAU_Immo_Req_candb((x), (y)) +#define FMon_VAU2_NFC_TransferState_candb(x, y) _FMon_VAU2_NFC_TransferState_candb((x), (y)) +#define FMon_VAU_TCU_Hash_Resp_candb(x, y) _FMon_VAU_TCU_Hash_Resp_candb((x), (y)) +#define FMon_VAU_EMS_VCU_Hash_Resp_candb(x, y) _FMon_VAU_EMS_VCU_Hash_Resp_candb((x), (y)) +#define FMon_VAU2_INVRL_Hash_Resp_candb(x, y) _FMon_VAU2_INVRL_Hash_Resp_candb((x), (y)) +#define FMon_WChF_NFC_VAU_Transfer_State_candb(x, y) _FMon_WChF_NFC_VAU_Transfer_State_candb((x), (y)) +#define FMon_VAU2_INVRR_Hash_Resp_candb(x, y) _FMon_VAU2_INVRR_Hash_Resp_candb((x), (y)) +#define FMon_VAU_SDM_Immo_Req_candb(x, y) _FMon_VAU_SDM_Immo_Req_candb((x), (y)) +#define FMon_SDM_VAU_Hash_Resp_candb(x, y) _FMon_SDM_VAU_Hash_Resp_candb((x), (y)) +#define FMon_TCU_R932_1_candb(x, y) _FMon_TCU_R932_1_candb((x), (y)) +#define FMon_VAU2_INVF_Hash_Resp_candb(x, y) _FMon_VAU2_INVF_Hash_Resp_candb((x), (y)) +#define FMon_FTCU_DAT1_candb(x, y) _FMon_FTCU_DAT1_candb((x), (y)) +#define FMon_FTCU_DAT2_candb(x, y) _FMon_FTCU_DAT2_candb((x), (y)) +#define FMon_FTCU_DAT3_candb(x, y) _FMon_FTCU_DAT3_candb((x), (y)) +#define FMon_SCU_02_candb(x, y) _FMon_SCU_02_candb((x), (y)) #define FMon_ESC_04_candb(x, y) _FMon_ESC_04_candb((x), (y)) +#define FMon_ESC_09_candb(x, y) _FMon_ESC_09_candb((x), (y)) +#define FMon_VAU2_Msg1_candb(x, y) _FMon_VAU2_Msg1_candb((x), (y)) +#define FMon_ESC_YRS_01_candb(x, y) _FMon_ESC_YRS_01_candb((x), (y)) #define FMon_EMS_Veh_candb(x, y) _FMon_EMS_Veh_candb((x), (y)) +#define FMon_EMS_Indicators_candb(x, y) _FMon_EMS_Indicators_candb((x), (y)) #define FMon_BCM_Powertrain_candb(x, y) _FMon_BCM_Powertrain_candb((x), (y)) #define FMon_EMS_Veh_02_candb(x, y) _FMon_EMS_Veh_02_candb((x), (y)) +#define FMon_EMS_EEM_01_candb(x, y) _FMon_EMS_EEM_01_candb((x), (y)) +#define FMon_EMS_EEM_02_candb(x, y) _FMon_EMS_EEM_02_candb((x), (y)) #define FMon_BCM_EEM_candb(x, y) _FMon_BCM_EEM_candb((x), (y)) +#define FMon_DAS_01_candb(x, y) _FMon_DAS_01_candb((x), (y)) +#define FMon_DAS_04_candb(x, y) _FMon_DAS_04_candb((x), (y)) +#define FMon_VCU_DriveInfo_candb(x, y) _FMon_VCU_DriveInfo_candb((x), (y)) +#define FMon_DAS_02_candb(x, y) _FMon_DAS_02_candb((x), (y)) +#define FMon_DAS_07_candb(x, y) _FMon_DAS_07_candb((x), (y)) +#define FMon_ACU_01_candb(x, y) _FMon_ACU_01_candb((x), (y)) +#define FMon_EPB_Status_candb(x, y) _FMon_EPB_Status_candb((x), (y)) +#define FMon_BCM_ExteriorLightState_candb(x, y) _FMon_BCM_ExteriorLightState_candb((x), (y)) +#define FMon_SWM_ContrlsState_candb(x, y) _FMon_SWM_ContrlsState_candb((x), (y)) +#define FMon_BCM_StyleCmd1_candb(x, y) _FMon_BCM_StyleCmd1_candb((x), (y)) +#define FMon_FIU_Access_Msg1_candb(x, y) _FMon_FIU_Access_Msg1_candb((x), (y)) #define FMon_DMFR_Msg1_candb(x, y) _FMon_DMFR_Msg1_candb((x), (y)) #define FMon_DMFL_Msg1_candb(x, y) _FMon_DMFL_Msg1_candb((x), (y)) +#define FMon_DMRL_Msg1_candb(x, y) _FMon_DMRL_Msg1_candb((x), (y)) +#define FMon_DMRR_Msg1_candb(x, y) _FMon_DMRR_Msg1_candb((x), (y)) #define FMon_TM_Stat_candb(x, y) _FMon_TM_Stat_candb((x), (y)) +#define FMon_PTG_Body_Stat_candb(x, y) _FMon_PTG_Body_Stat_candb((x), (y)) #define FMon_TM_CP_candb(x, y) _FMon_TM_CP_candb((x), (y)) +#define FMon_VAU2_Msg2_candb(x, y) _FMon_VAU2_Msg2_candb((x), (y)) +#define FMon_BCM_DMS_01_candb(x, y) _FMon_BCM_DMS_01_candb((x), (y)) +#define FMon_LB_pSilCU_State_candb(x, y) _FMon_LB_pSilCU_State_candb((x), (y)) +#define FMon_RB_pSilCU_State_candb(x, y) _FMon_RB_pSilCU_State_candb((x), (y)) #define FMon_HVC_CCU_Status_Msg_candb(x, y) _FMon_HVC_CCU_Status_Msg_candb((x), (y)) +#define FMon_ATS_Status_candb(x, y) _FMon_ATS_Status_candb((x), (y)) #define FMon_BCM_VEH_STATE_candb(x, y) _FMon_BCM_VEH_STATE_candb((x), (y)) +#define FMon_BCM_Veh_State2_candb(x, y) _FMon_BCM_Veh_State2_candb((x), (y)) +#define FMon_BCM_ALS_Light_Front_candb(x, y) _FMon_BCM_ALS_Light_Front_candb((x), (y)) +#define FMon_BCM_ALS_Light_Rear_candb(x, y) _FMon_BCM_ALS_Light_Rear_candb((x), (y)) +#define FMon_BCM_Rear_Plafond_Light_Data_candb(x, y) _FMon_BCM_Rear_Plafond_Light_Data_candb((x), (y)) #define FMon_EMS_HVC_Req_Msg_candb(x, y) _FMon_EMS_HVC_Req_Msg_candb((x), (y)) +#define FMon_SAS_Standard_candb(x, y) _FMon_SAS_Standard_candb((x), (y)) +#define FMon_IC_ABSOLUTE_CLOCK_candb(x, y) _FMon_IC_ABSOLUTE_CLOCK_candb((x), (y)) +#define FMon_BCM_Lock_CTR_candb(x, y) _FMon_BCM_Lock_CTR_candb((x), (y)) #define FMon_HVC_Err_Status_Msg_candb(x, y) _FMon_HVC_Err_Status_Msg_candb((x), (y)) +#define FMon_BCM_DCDC12_CNTRL_candb(x, y) _FMon_BCM_DCDC12_CNTRL_candb((x), (y)) #define FMon_CCU_HVC_Req_Msg_candb(x, y) _FMon_CCU_HVC_Req_Msg_candb((x), (y)) #define FMon_CCU_Stat1_candb(x, y) _FMon_CCU_Stat1_candb((x), (y)) #define FMon_CCU_Stat2_candb(x, y) _FMon_CCU_Stat2_candb((x), (y)) @@ -140,30 +632,201 @@ void _FMon_CCU_AC_Ctrl_candb(FrameMonitor_t* _mon, uint32_t msgid); #define FMon_CCU_Stat3_candb(x, y) _FMon_CCU_Stat3_candb((x), (y)) #define FMon_CCU_VCU_Msg1_candb(x, y) _FMon_CCU_VCU_Msg1_candb((x), (y)) #define FMon_CCU_VCU_Msg2_candb(x, y) _FMon_CCU_VCU_Msg2_candb((x), (y)) +#define FMon_BCM_IC_Info_Msg_candb(x, y) _FMon_BCM_IC_Info_Msg_candb((x), (y)) #define FMon_BCM_CLIMATIC_DATA_candb(x, y) _FMon_BCM_CLIMATIC_DATA_candb((x), (y)) +#define FMon_DMFL_SMFL_REQ_CTR_SEATS_candb(x, y) _FMon_DMFL_SMFL_REQ_CTR_SEATS_candb((x), (y)) +#define FMon_DMFR_SMFR_REQ_CTR_SEATS_candb(x, y) _FMon_DMFR_SMFR_REQ_CTR_SEATS_candb((x), (y)) +#define FMon_DMRL_SMRL_REQ_CTR_SEATS_candb(x, y) _FMon_DMRL_SMRL_REQ_CTR_SEATS_candb((x), (y)) +#define FMon_DMRR_SMRR_REQ_CTR_SEATS_candb(x, y) _FMon_DMRR_SMRR_REQ_CTR_SEATS_candb((x), (y)) #define FMon_CCU_Msg1_candb(x, y) _FMon_CCU_Msg1_candb((x), (y)) +#define FMon_Sroof_State_candb(x, y) _FMon_Sroof_State_candb((x), (y)) #define FMon_VCU_CCU_Req_candb(x, y) _FMon_VCU_CCU_Req_candb((x), (y)) +#define FMon_IC_DATA_MSG_candb(x, y) _FMon_IC_DATA_MSG_candb((x), (y)) #define FMon_ESC_08_candb(x, y) _FMon_ESC_08_candb((x), (y)) +#define FMon_WChF_Status_candb(x, y) _FMon_WChF_Status_candb((x), (y)) +#define FMon_MAS_Status_candb(x, y) _FMon_MAS_Status_candb((x), (y)) +#define FMon_EPB_VM_MSG_candb(x, y) _FMon_EPB_VM_MSG_candb((x), (y)) +#define FMon_CGW_COMM_REQ_candb(x, y) _FMon_CGW_COMM_REQ_candb((x), (y)) +#define FMon_DCDC1248_01_candb(x, y) _FMon_DCDC1248_01_candb((x), (y)) +#define FMon_FIU_REQ_CTR_01_candb(x, y) _FMon_FIU_REQ_CTR_01_candb((x), (y)) +#define FMon_DCDC1248_02_candb(x, y) _FMon_DCDC1248_02_candb((x), (y)) +#define FMon_FIU_Access_Msg2_candb(x, y) _FMon_FIU_Access_Msg2_candb((x), (y)) +#define FMon_FIU_Profile_candb(x, y) _FMon_FIU_Profile_candb((x), (y)) +#define FMon_USBSw_Stat_candb(x, y) _FMon_USBSw_Stat_candb((x), (y)) #define FMon_SMFL_status_candb(x, y) _FMon_SMFL_status_candb((x), (y)) #define FMon_SMFR_status_candb(x, y) _FMon_SMFR_status_candb((x), (y)) #define FMon_SMRL_status_candb(x, y) _FMon_SMRL_status_candb((x), (y)) #define FMon_SMRR_status_candb(x, y) _FMon_SMRR_status_candb((x), (y)) +#define FMon_DocSL_T_FL_candb(x, y) _FMon_DocSL_T_FL_candb((x), (y)) +#define FMon_DocSR_T_FR_candb(x, y) _FMon_DocSR_T_FR_candb((x), (y)) +#define FMon_VAU_TPMS_Msg_candb(x, y) _FMon_VAU_TPMS_Msg_candb((x), (y)) #define FMon_CCU_Errors_candb(x, y) _FMon_CCU_Errors_candb((x), (y)) #define FMon_CCU_Msg3_candb(x, y) _FMon_CCU_Msg3_candb((x), (y)) +#define FMon_FIU_Cmd_candb(x, y) _FMon_FIU_Cmd_candb((x), (y)) +#define FMon_IC_SDM_Info_candb(x, y) _FMon_IC_SDM_Info_candb((x), (y)) #define FMon_SDM_Cmd_candb(x, y) _FMon_SDM_Cmd_candb((x), (y)) +#define FMon_HUD_MSG_STATUS_candb(x, y) _FMon_HUD_MSG_STATUS_candb((x), (y)) +#define FMon_IC_SDM_Info_02_candb(x, y) _FMon_IC_SDM_Info_02_candb((x), (y)) +#define FMon_IC_Milleage_candb(x, y) _FMon_IC_Milleage_candb((x), (y)) #define FMon_VEH_VIN_candb(x, y) _FMon_VEH_VIN_candb((x), (y)) +#define FMon_BCM_RunningBoards_candb(x, y) _FMon_BCM_RunningBoards_candb((x), (y)) #define FMon_OCUFL_MSG_candb(x, y) _FMon_OCUFL_MSG_candb((x), (y)) #define FMon_OCUFR_MSG_candb(x, y) _FMon_OCUFR_MSG_candb((x), (y)) #define FMon_OCURL_MSG_candb(x, y) _FMon_OCURL_MSG_candb((x), (y)) #define FMon_OCURR_MSG_candb(x, y) _FMon_OCURR_MSG_candb((x), (y)) +#define FMon_RBCU_BODY_Stat_candb(x, y) _FMon_RBCU_BODY_Stat_candb((x), (y)) +#define FMon_FIU_SMRL_REQ_CTR_SEATS_candb(x, y) _FMon_FIU_SMRL_REQ_CTR_SEATS_candb((x), (y)) +#define FMon_FIU_SMFR_REQ_CTR_SEATS_candb(x, y) _FMon_FIU_SMFR_REQ_CTR_SEATS_candb((x), (y)) +#define FMon_SMFL_MEM1_candb(x, y) _FMon_SMFL_MEM1_candb((x), (y)) +#define FMon_BCM_MEM_SMFL1_candb(x, y) _FMon_BCM_MEM_SMFL1_candb((x), (y)) +#define FMon_SMFL_MEM2_candb(x, y) _FMon_SMFL_MEM2_candb((x), (y)) +#define FMon_BCM_MEM_SMFL2_candb(x, y) _FMon_BCM_MEM_SMFL2_candb((x), (y)) +#define FMon_SMFR_MEM1_candb(x, y) _FMon_SMFR_MEM1_candb((x), (y)) +#define FMon_BCM_MEM_SMFR1_candb(x, y) _FMon_BCM_MEM_SMFR1_candb((x), (y)) +#define FMon_SMFR_MEM2_candb(x, y) _FMon_SMFR_MEM2_candb((x), (y)) +#define FMon_BCM_MEM_SMFR2_candb(x, y) _FMon_BCM_MEM_SMFR2_candb((x), (y)) +#define FMon_SMRL_MEM1_candb(x, y) _FMon_SMRL_MEM1_candb((x), (y)) +#define FMon_BCM_MEM_SMRL1_candb(x, y) _FMon_BCM_MEM_SMRL1_candb((x), (y)) +#define FMon_SMRL_MEM2_candb(x, y) _FMon_SMRL_MEM2_candb((x), (y)) +#define FMon_BCM_MEM_SMRL2_candb(x, y) _FMon_BCM_MEM_SMRL2_candb((x), (y)) +#define FMon_SMRR_MEM1_candb(x, y) _FMon_SMRR_MEM1_candb((x), (y)) +#define FMon_BCM_MEM_SMRR1_candb(x, y) _FMon_BCM_MEM_SMRR1_candb((x), (y)) +#define FMon_SMRR_MEM2_candb(x, y) _FMon_SMRR_MEM2_candb((x), (y)) +#define FMon_BCM_MEM_SMRR2_candb(x, y) _FMon_BCM_MEM_SMRR2_candb((x), (y)) +#define FMon_FIU_SMFL_REQ_CTR_SEATS_candb(x, y) _FMon_FIU_SMFL_REQ_CTR_SEATS_candb((x), (y)) +#define FMon_FIU_SMRR_REQ_CTR_SEATS_candb(x, y) _FMon_FIU_SMRR_REQ_CTR_SEATS_candb((x), (y)) +#define FMon_FIU_CTRL_DW_candb(x, y) _FMon_FIU_CTRL_DW_candb((x), (y)) #define FMon_DW_STATE_candb(x, y) _FMon_DW_STATE_candb((x), (y)) +#define FMon_FIU_Msg1_candb(x, y) _FMon_FIU_Msg1_candb((x), (y)) +#define FMon_FIU_Msg2_candb(x, y) _FMon_FIU_Msg2_candb((x), (y)) +#define FMon_ERAG_DATA_MSG_candb(x, y) _FMon_ERAG_DATA_MSG_candb((x), (y)) +#define FMon_FIU_Msg3_candb(x, y) _FMon_FIU_Msg3_candb((x), (y)) +#define FMon_FIU_EngMenu_candb(x, y) _FMon_FIU_EngMenu_candb((x), (y)) +#define FMon_WHFL_MSG1_candb(x, y) _FMon_WHFL_MSG1_candb((x), (y)) +#define FMon_WHFR_Msg1_candb(x, y) _FMon_WHFR_Msg1_candb((x), (y)) +#define FMon_PLDSilCU_State_candb(x, y) _FMon_PLDSilCU_State_candb((x), (y)) +#define FMon_PRDSilCU_State_candb(x, y) _FMon_PRDSilCU_State_candb((x), (y)) +#define FMon_FLDSilCU_State_candb(x, y) _FMon_FLDSilCU_State_candb((x), (y)) +#define FMon_FRDSilCU_State_candb(x, y) _FMon_FRDSilCU_State_candb((x), (y)) +#define FMon_RLDSilCU_State_candb(x, y) _FMon_RLDSilCU_State_candb((x), (y)) +#define FMon_RRDSilCU_State_candb(x, y) _FMon_RRDSilCU_State_candb((x), (y)) #define FMon_FIU_CCU1_candb(x, y) _FMon_FIU_CCU1_candb((x), (y)) #define FMon_FIU_CCU2_candb(x, y) _FMon_FIU_CCU2_candb((x), (y)) #define FMon_FIU_CCU3_candb(x, y) _FMon_FIU_CCU3_candb((x), (y)) +#define FMon_BCM_StyleCmd2_candb(x, y) _FMon_BCM_StyleCmd2_candb((x), (y)) +#define FMon_BCM_StyleCmd3_candb(x, y) _FMon_BCM_StyleCmd3_candb((x), (y)) +#define FMon_BCM_WHF_Request_candb(x, y) _FMon_BCM_WHF_Request_candb((x), (y)) +#define FMon_IC_DISPLAY_CLOCK_candb(x, y) _FMon_IC_DISPLAY_CLOCK_candb((x), (y)) +#define FMon_BCM_UserConfig_Stat_candb(x, y) _FMon_BCM_UserConfig_Stat_candb((x), (y)) +#define FMon_FIU_MAS_Main_candb(x, y) _FMon_FIU_MAS_Main_candb((x), (y)) +#define FMon_MAS_APA_Paths_candb(x, y) _FMon_MAS_APA_Paths_candb((x), (y)) +#define FMon_MAS_APA_ParkPlace_candb(x, y) _FMon_MAS_APA_ParkPlace_candb((x), (y)) +#define FMon_ICLSilCU_State_candb(x, y) _FMon_ICLSilCU_State_candb((x), (y)) +#define FMon_ICRSilCU_State_candb(x, y) _FMon_ICRSilCU_State_candb((x), (y)) +#define FMon_SFRSilCU_State_candb(x, y) _FMon_SFRSilCU_State_candb((x), (y)) +#define FMon_SFLSilCU_State_candb(x, y) _FMon_SFLSilCU_State_candb((x), (y)) +#define FMon_RDRSilCU_State_candb(x, y) _FMon_RDRSilCU_State_candb((x), (y)) +#define FMon_FCSilCU_State_candb(x, y) _FMon_FCSilCU_State_candb((x), (y)) +#define FMon_RCLSilCU_State_candb(x, y) _FMon_RCLSilCU_State_candb((x), (y)) +#define FMon_RCRSilCU_State_candb(x, y) _FMon_RCRSilCU_State_candb((x), (y)) +#define FMon_RDLSilCU_State_candb(x, y) _FMon_RDLSilCU_State_candb((x), (y)) +#define FMon_CCPF_BodyTM_Stat_candb(x, y) _FMon_CCPF_BodyTM_Stat_candb((x), (y)) +#define FMon_IntCOM_Info_Stat_candb(x, y) _FMon_IntCOM_Info_Stat_candb((x), (y)) +#define FMon_LTE_Sum_State2_candb(x, y) _FMon_LTE_Sum_State2_candb((x), (y)) +#define FMon_WChF_FIU_TransferState_candb(x, y) _FMon_WChF_FIU_TransferState_candb((x), (y)) +#define FMon_FIU_WChF_TransferState_candb(x, y) _FMon_FIU_WChF_TransferState_candb((x), (y)) +#define FMon_VAU_BLE_Device_candb(x, y) _FMon_VAU_BLE_Device_candb((x), (y)) +#define FMon_Diag_From_APU_candb(x, y) _FMon_Diag_From_APU_candb((x), (y)) +#define FMon_SSL_Status_candb(x, y) _FMon_SSL_Status_candb((x), (y)) +#define FMon_SSR_Status_candb(x, y) _FMon_SSR_Status_candb((x), (y)) +#define FMon_PTG_To_SupplierTool_candb(x, y) _FMon_PTG_To_SupplierTool_candb((x), (y)) +#define FMon_SupplierTool_To_PTG_candb(x, y) _FMon_SupplierTool_To_PTG_candb((x), (y)) +#define FMon_Diag_From_CCPF_candb(x, y) _FMon_Diag_From_CCPF_candb((x), (y)) +#define FMon_Diag_To_CCPF_candb(x, y) _FMon_Diag_To_CCPF_candb((x), (y)) +#define FMon_Diag_From_CCPR_candb(x, y) _FMon_Diag_From_CCPR_candb((x), (y)) +#define FMon_Diag_To_CCPR_candb(x, y) _FMon_Diag_To_CCPR_candb((x), (y)) +#define FMon_Diag_To_SSL_candb(x, y) _FMon_Diag_To_SSL_candb((x), (y)) +#define FMon_Diag_To_SSR_candb(x, y) _FMon_Diag_To_SSR_candb((x), (y)) +#define FMon_Diag_From_SSL_candb(x, y) _FMon_Diag_From_SSL_candb((x), (y)) +#define FMon_Diag_To_FCSilCU_candb(x, y) _FMon_Diag_To_FCSilCU_candb((x), (y)) +#define FMon_Diag_From_SSR_candb(x, y) _FMon_Diag_From_SSR_candb((x), (y)) +#define FMon_Diag_To_FLDSilCU_candb(x, y) _FMon_Diag_To_FLDSilCU_candb((x), (y)) +#define FMon_Diag_To_FRDSilCU_candb(x, y) _FMon_Diag_To_FRDSilCU_candb((x), (y)) +#define FMon_Diag_To_ICLSilCU_candb(x, y) _FMon_Diag_To_ICLSilCU_candb((x), (y)) +#define FMon_Diag_From_FCSilCU_candb(x, y) _FMon_Diag_From_FCSilCU_candb((x), (y)) +#define FMon_Diag_From_FLDSilCU_candb(x, y) _FMon_Diag_From_FLDSilCU_candb((x), (y)) +#define FMon_Diag_From_FRDSilCU_candb(x, y) _FMon_Diag_From_FRDSilCU_candb((x), (y)) +#define FMon_Diag_From_ICLSilCU_candb(x, y) _FMon_Diag_From_ICLSilCU_candb((x), (y)) +#define FMon_Diag_To_APU_candb(x, y) _FMon_Diag_To_APU_candb((x), (y)) +#define FMon_Diag_To_FTCU_candb(x, y) _FMon_Diag_To_FTCU_candb((x), (y)) +#define FMon_Diag_From_FTCU_candb(x, y) _FMon_Diag_From_FTCU_candb((x), (y)) +#define FMon_Diag_To_Sroof_candb(x, y) _FMon_Diag_To_Sroof_candb((x), (y)) +#define FMon_Diag_From_SRoof_candb(x, y) _FMon_Diag_From_SRoof_candb((x), (y)) +#define FMon_Diag_To_ICRSilCU_candb(x, y) _FMon_Diag_To_ICRSilCU_candb((x), (y)) +#define FMon_Diag_To_LB_pSilCU_candb(x, y) _FMon_Diag_To_LB_pSilCU_candb((x), (y)) +#define FMon_Diag_To_PLSilCU_candb(x, y) _FMon_Diag_To_PLSilCU_candb((x), (y)) +#define FMon_Diag_To_PRSilCU_candb(x, y) _FMon_Diag_To_PRSilCU_candb((x), (y)) +#define FMon_Diag_To_RB_pSilCU_candb(x, y) _FMon_Diag_To_RB_pSilCU_candb((x), (y)) +#define FMon_Diag_From_ICRSilCU_candb(x, y) _FMon_Diag_From_ICRSilCU_candb((x), (y)) +#define FMon_Diag_From_LB_pSilCU_candb(x, y) _FMon_Diag_From_LB_pSilCU_candb((x), (y)) +#define FMon_Diag_From_PLSilCU_candb(x, y) _FMon_Diag_From_PLSilCU_candb((x), (y)) +#define FMon_Diag_From_PRSilCU_candb(x, y) _FMon_Diag_From_PRSilCU_candb((x), (y)) +#define FMon_Diag_From_RB_pSilCU_candb(x, y) _FMon_Diag_From_RB_pSilCU_candb((x), (y)) +#define FMon_Diag_To_VAU_candb(x, y) _FMon_Diag_To_VAU_candb((x), (y)) +#define FMon_Diag_To_BCM_candb(x, y) _FMon_Diag_To_BCM_candb((x), (y)) +#define FMon_Diag_To_DMFL_candb(x, y) _FMon_Diag_To_DMFL_candb((x), (y)) +#define FMon_Diag_To_DMFR_candb(x, y) _FMon_Diag_To_DMFR_candb((x), (y)) +#define FMon_Diag_To_DMRL_candb(x, y) _FMon_Diag_To_DMRL_candb((x), (y)) +#define FMon_Diag_To_DMRR_candb(x, y) _FMon_Diag_To_DMRR_candb((x), (y)) +#define FMon_Diag_To_SMRR_candb(x, y) _FMon_Diag_To_SMRR_candb((x), (y)) +#define FMon_Diag_To_TM_candb(x, y) _FMon_Diag_To_TM_candb((x), (y)) #define FMon_Diag_To_CCU_candb(x, y) _FMon_Diag_To_CCU_candb((x), (y)) +#define FMon_Diag_To_SMFL_candb(x, y) _FMon_Diag_To_SMFL_candb((x), (y)) +#define FMon_Diag_To_SMFR_candb(x, y) _FMon_Diag_To_SMFR_candb((x), (y)) +#define FMon_Diag_To_SMRL_candb(x, y) _FMon_Diag_To_SMRL_candb((x), (y)) +#define FMon_Diag_From_VAU_candb(x, y) _FMon_Diag_From_VAU_candb((x), (y)) +#define FMon_Diag_From_BCM_candb(x, y) _FMon_Diag_From_BCM_candb((x), (y)) +#define FMon_Diag_From_DMFL_candb(x, y) _FMon_Diag_From_DMFL_candb((x), (y)) +#define FMon_Diag_From_DMFR_candb(x, y) _FMon_Diag_From_DMFR_candb((x), (y)) +#define FMon_Diag_From_DMRL_candb(x, y) _FMon_Diag_From_DMRL_candb((x), (y)) +#define FMon_Diag_From_DMRR_candb(x, y) _FMon_Diag_From_DMRR_candb((x), (y)) +#define FMon_Diag_From_SMRR_candb(x, y) _FMon_Diag_From_SMRR_candb((x), (y)) +#define FMon_Diag_From_TM_candb(x, y) _FMon_Diag_From_TM_candb((x), (y)) #define FMon_Diag_From_CCU_candb(x, y) _FMon_Diag_From_CCU_candb((x), (y)) +#define FMon_Diag_From_SMFL_candb(x, y) _FMon_Diag_From_SMFL_candb((x), (y)) +#define FMon_Diag_From_SMFR_candb(x, y) _FMon_Diag_From_SMFR_candb((x), (y)) +#define FMon_Diag_From_SMRL_candb(x, y) _FMon_Diag_From_SMRL_candb((x), (y)) +#define FMon_Diag_To_RCLSilCU_candb(x, y) _FMon_Diag_To_RCLSilCU_candb((x), (y)) +#define FMon_Diag_To_RCRSilCU_candb(x, y) _FMon_Diag_To_RCRSilCU_candb((x), (y)) +#define FMon_Diag_To_RDLSilCU_candb(x, y) _FMon_Diag_To_RDLSilCU_candb((x), (y)) +#define FMon_Diag_To_RDRSilCU_candb(x, y) _FMon_Diag_To_RDRSilCU_candb((x), (y)) +#define FMon_Diag_From_OCUFL_candb(x, y) _FMon_Diag_From_OCUFL_candb((x), (y)) +#define FMon_Diag_To_RLDSilCU_candb(x, y) _FMon_Diag_To_RLDSilCU_candb((x), (y)) +#define FMon_Diag_To_RRDSilCU_candb(x, y) _FMon_Diag_To_RRDSilCU_candb((x), (y)) +#define FMon_Diag_From_PTG_candb(x, y) _FMon_Diag_From_PTG_candb((x), (y)) +#define FMon_Diag_From_OCUFR_candb(x, y) _FMon_Diag_From_OCUFR_candb((x), (y)) +#define FMon_Diag_From_OCURL_candb(x, y) _FMon_Diag_From_OCURL_candb((x), (y)) +#define FMon_Diag_From_OCURR_candb(x, y) _FMon_Diag_From_OCURR_candb((x), (y)) +#define FMon_Diag_From_RCLSilCU_candb(x, y) _FMon_Diag_From_RCLSilCU_candb((x), (y)) +#define FMon_Diag_From_RCRSilCU_candb(x, y) _FMon_Diag_From_RCRSilCU_candb((x), (y)) +#define FMon_Diag_From_RDLSilCU_candb(x, y) _FMon_Diag_From_RDLSilCU_candb((x), (y)) +#define FMon_Diag_From_RDRSilCU_candb(x, y) _FMon_Diag_From_RDRSilCU_candb((x), (y)) +#define FMon_Diag_To_OCUFL_candb(x, y) _FMon_Diag_To_OCUFL_candb((x), (y)) +#define FMon_Diag_From_RLDSilCU_candb(x, y) _FMon_Diag_From_RLDSilCU_candb((x), (y)) +#define FMon_Diag_From_RRDSilCU_candb(x, y) _FMon_Diag_From_RRDSilCU_candb((x), (y)) +#define FMon_Diag_To_PTG_candb(x, y) _FMon_Diag_To_PTG_candb((x), (y)) +#define FMon_Diag_To_OCUFR_candb(x, y) _FMon_Diag_To_OCUFR_candb((x), (y)) +#define FMon_Diag_To_OCURL_candb(x, y) _FMon_Diag_To_OCURL_candb((x), (y)) +#define FMon_Diag_To_OCURR_candb(x, y) _FMon_Diag_To_OCURR_candb((x), (y)) #define FMon_Diag_Functional_candb(x, y) _FMon_Diag_Functional_candb((x), (y)) -#define FMon_HVC_01_candb(x, y) _FMon_HVC_01_candb((x), (y)) +#define FMon_Diag_To_SFRSilCU_candb(x, y) _FMon_Diag_To_SFRSilCU_candb((x), (y)) +#define FMon_Diag_To_SFLSilCU_candb(x, y) _FMon_Diag_To_SFLSilCU_candb((x), (y)) +#define FMon_Diag_To_WHFL_candb(x, y) _FMon_Diag_To_WHFL_candb((x), (y)) +#define FMon_Diag_To_WHFR_candb(x, y) _FMon_Diag_To_WHFR_candb((x), (y)) +#define FMon_Diag_From_SFRSilCU_candb(x, y) _FMon_Diag_From_SFRSilCU_candb((x), (y)) +#define FMon_Diag_From_SFLSilCU_candb(x, y) _FMon_Diag_From_SFLSilCU_candb((x), (y)) +#define FMon_Diag_From_WHFL_candb(x, y) _FMon_Diag_From_WHFL_candb((x), (y)) +#define FMon_Diag_From_WHFR_candb(x, y) _FMon_Diag_From_WHFR_candb((x), (y)) #define FMon_CCU_AC_Ctrl_candb(x, y) _FMon_CCU_AC_Ctrl_candb((x), (y)) #endif diff --git a/lib/candb.c b/lib/candb.c index 6442d49..38c4e4b 100644 --- a/lib/candb.c +++ b/lib/candb.c @@ -46,6 +46,1125 @@ static bitext_t __ext_sig__(ubitext_t val, uint8_t bits) return ((val ^ m) - m); } +uint32_t Unpack_SDM_MAS_Req_candb(SDM_MAS_Req_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->SDM_AVM_Active_Req = (uint8_t) ( (_d[0] & (0x01U)) ); + _m->SDM_MAS_Mode_Req = (uint8_t) ( ((_d[0] >> 1U) & (0x01U)) ); + _m->SDM_APAactive_Req = (uint8_t) ( ((_d[0] >> 2U) & (0x01U)) ); + _m->SDM_CntrlBtnAPA_Req = (uint8_t) ( ((_d[0] >> 3U) & (0x01U)) ); + _m->SDM_StartAPA_Req = (uint8_t) ( ((_d[0] >> 4U) & (0x01U)) ); + _m->SDM_MASoff_Req = (uint8_t) ( ((_d[0] >> 5U) & (0x01U)) ); + _m->SDM_ManeuverAllowed_Stat = (uint8_t) ( ((_d[0] >> 6U) & (0x01U)) ); + _m->SDM_PhoneAppAvail_Stat = (uint8_t) ( ((_d[0] >> 7U) & (0x01U)) ); + _m->SDM_ParkingOutPath_Req = (uint8_t) ( (_d[1] & (0x03U)) ); + _m->SDM_CtrlAPAerr_Stat = (uint8_t) ( ((_d[1] >> 2U) & (0x07U)) ); + _m->SDM_ContinueMove_Req = (uint8_t) ( ((_d[1] >> 5U) & (0x01U)) ); + _m->SDM_FIUmaster_Req = (uint8_t) ( ((_d[1] >> 6U) & (0x01U)) ); + _m->SDM_View_Req = (uint8_t) ( (_d[2] & (0x0FU)) ); + _m->SDM_MAS_Req_RC = (uint8_t) ( ((_d[2] >> 4U) & (0x0FU)) ); + _m->SDM_MAS_Req_CS = (uint8_t) ( (_d[3] & (0xFFU)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < SDM_MAS_Req_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_SDM_MAS_Req_candb(&_m->mon1, SDM_MAS_Req_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return SDM_MAS_Req_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_SDM_MAS_Req_candb(SDM_MAS_Req_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(SDM_MAS_Req_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->SDM_AVM_Active_Req & (0x01U)) | ((_m->SDM_MAS_Mode_Req & (0x01U)) << 1U) | ((_m->SDM_APAactive_Req & (0x01U)) << 2U) | ((_m->SDM_CntrlBtnAPA_Req & (0x01U)) << 3U) | ((_m->SDM_StartAPA_Req & (0x01U)) << 4U) | ((_m->SDM_MASoff_Req & (0x01U)) << 5U) | ((_m->SDM_ManeuverAllowed_Stat & (0x01U)) << 6U) | ((_m->SDM_PhoneAppAvail_Stat & (0x01U)) << 7U) ); + cframe->Data[1] |= (uint8_t) ( (_m->SDM_ParkingOutPath_Req & (0x03U)) | ((_m->SDM_CtrlAPAerr_Stat & (0x07U)) << 2U) | ((_m->SDM_ContinueMove_Req & (0x01U)) << 5U) | ((_m->SDM_FIUmaster_Req & (0x01U)) << 6U) ); + cframe->Data[2] |= (uint8_t) ( (_m->SDM_View_Req & (0x0FU)) | ((_m->SDM_MAS_Req_RC & (0x0FU)) << 4U) ); + cframe->Data[3] |= (uint8_t) ( (_m->SDM_MAS_Req_CS & (0xFFU)) ); + + cframe->MsgId = (uint32_t) SDM_MAS_Req_CANID; + cframe->DLC = (uint8_t) SDM_MAS_Req_DLC; + cframe->IDE = (uint8_t) SDM_MAS_Req_IDE; + return SDM_MAS_Req_CANID; +} + +#else + +uint32_t Pack_SDM_MAS_Req_candb(SDM_MAS_Req_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(SDM_MAS_Req_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->SDM_AVM_Active_Req & (0x01U)) | ((_m->SDM_MAS_Mode_Req & (0x01U)) << 1U) | ((_m->SDM_APAactive_Req & (0x01U)) << 2U) | ((_m->SDM_CntrlBtnAPA_Req & (0x01U)) << 3U) | ((_m->SDM_StartAPA_Req & (0x01U)) << 4U) | ((_m->SDM_MASoff_Req & (0x01U)) << 5U) | ((_m->SDM_ManeuverAllowed_Stat & (0x01U)) << 6U) | ((_m->SDM_PhoneAppAvail_Stat & (0x01U)) << 7U) ); + _d[1] |= (uint8_t) ( (_m->SDM_ParkingOutPath_Req & (0x03U)) | ((_m->SDM_CtrlAPAerr_Stat & (0x07U)) << 2U) | ((_m->SDM_ContinueMove_Req & (0x01U)) << 5U) | ((_m->SDM_FIUmaster_Req & (0x01U)) << 6U) ); + _d[2] |= (uint8_t) ( (_m->SDM_View_Req & (0x0FU)) | ((_m->SDM_MAS_Req_RC & (0x0FU)) << 4U) ); + _d[3] |= (uint8_t) ( (_m->SDM_MAS_Req_CS & (0xFFU)) ); + + *_len = (uint8_t) SDM_MAS_Req_DLC; + *_ide = (uint8_t) SDM_MAS_Req_IDE; + return SDM_MAS_Req_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_EMS_VCU_VAU_Immo_Req_candb(EMS_VCU_VAU_Immo_Req_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->EMS_VCU_VAU_Immo_Req = (uint64_t) ( ((uint64_t)(_d[7] & (0xFFU)) << 56U) | ((uint64_t)(_d[6] & (0xFFU)) << 48U) | ((uint64_t)(_d[5] & (0xFFU)) << 40U) | ((uint64_t)(_d[4] & (0xFFU)) << 32U) | ((_d[3] & (0xFFU)) << 24U) | ((_d[2] & (0xFFU)) << 16U) | ((_d[1] & (0xFFU)) << 8U) | (_d[0] & (0xFFU)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < EMS_VCU_VAU_Immo_Req_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_EMS_VCU_VAU_Immo_Req_candb(&_m->mon1, EMS_VCU_VAU_Immo_Req_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return EMS_VCU_VAU_Immo_Req_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_EMS_VCU_VAU_Immo_Req_candb(EMS_VCU_VAU_Immo_Req_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(EMS_VCU_VAU_Immo_Req_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->EMS_VCU_VAU_Immo_Req & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->EMS_VCU_VAU_Immo_Req >> 8U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->EMS_VCU_VAU_Immo_Req >> 16U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->EMS_VCU_VAU_Immo_Req >> 24U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->EMS_VCU_VAU_Immo_Req >> 32U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->EMS_VCU_VAU_Immo_Req >> 40U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->EMS_VCU_VAU_Immo_Req >> 48U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( ((_m->EMS_VCU_VAU_Immo_Req >> 56U) & (0xFFU)) ); + + cframe->MsgId = (uint32_t) EMS_VCU_VAU_Immo_Req_CANID; + cframe->DLC = (uint8_t) EMS_VCU_VAU_Immo_Req_DLC; + cframe->IDE = (uint8_t) EMS_VCU_VAU_Immo_Req_IDE; + return EMS_VCU_VAU_Immo_Req_CANID; +} + +#else + +uint32_t Pack_EMS_VCU_VAU_Immo_Req_candb(EMS_VCU_VAU_Immo_Req_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(EMS_VCU_VAU_Immo_Req_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->EMS_VCU_VAU_Immo_Req & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->EMS_VCU_VAU_Immo_Req >> 8U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->EMS_VCU_VAU_Immo_Req >> 16U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->EMS_VCU_VAU_Immo_Req >> 24U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->EMS_VCU_VAU_Immo_Req >> 32U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->EMS_VCU_VAU_Immo_Req >> 40U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->EMS_VCU_VAU_Immo_Req >> 48U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( ((_m->EMS_VCU_VAU_Immo_Req >> 56U) & (0xFFU)) ); + + *_len = (uint8_t) EMS_VCU_VAU_Immo_Req_DLC; + *_ide = (uint8_t) EMS_VCU_VAU_Immo_Req_IDE; + return EMS_VCU_VAU_Immo_Req_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_TCU_VAU_Immo_Req_candb(TCU_VAU_Immo_Req_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->TCU_VAU_Immo_Req = (uint64_t) ( ((uint64_t)(_d[7] & (0xFFU)) << 56U) | ((uint64_t)(_d[6] & (0xFFU)) << 48U) | ((uint64_t)(_d[5] & (0xFFU)) << 40U) | ((uint64_t)(_d[4] & (0xFFU)) << 32U) | ((_d[3] & (0xFFU)) << 24U) | ((_d[2] & (0xFFU)) << 16U) | ((_d[1] & (0xFFU)) << 8U) | (_d[0] & (0xFFU)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < TCU_VAU_Immo_Req_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_TCU_VAU_Immo_Req_candb(&_m->mon1, TCU_VAU_Immo_Req_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return TCU_VAU_Immo_Req_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_TCU_VAU_Immo_Req_candb(TCU_VAU_Immo_Req_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(TCU_VAU_Immo_Req_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->TCU_VAU_Immo_Req & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->TCU_VAU_Immo_Req >> 8U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->TCU_VAU_Immo_Req >> 16U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->TCU_VAU_Immo_Req >> 24U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->TCU_VAU_Immo_Req >> 32U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->TCU_VAU_Immo_Req >> 40U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->TCU_VAU_Immo_Req >> 48U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( ((_m->TCU_VAU_Immo_Req >> 56U) & (0xFFU)) ); + + cframe->MsgId = (uint32_t) TCU_VAU_Immo_Req_CANID; + cframe->DLC = (uint8_t) TCU_VAU_Immo_Req_DLC; + cframe->IDE = (uint8_t) TCU_VAU_Immo_Req_IDE; + return TCU_VAU_Immo_Req_CANID; +} + +#else + +uint32_t Pack_TCU_VAU_Immo_Req_candb(TCU_VAU_Immo_Req_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(TCU_VAU_Immo_Req_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->TCU_VAU_Immo_Req & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->TCU_VAU_Immo_Req >> 8U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->TCU_VAU_Immo_Req >> 16U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->TCU_VAU_Immo_Req >> 24U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->TCU_VAU_Immo_Req >> 32U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->TCU_VAU_Immo_Req >> 40U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->TCU_VAU_Immo_Req >> 48U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( ((_m->TCU_VAU_Immo_Req >> 56U) & (0xFFU)) ); + + *_len = (uint8_t) TCU_VAU_Immo_Req_DLC; + *_ide = (uint8_t) TCU_VAU_Immo_Req_IDE; + return TCU_VAU_Immo_Req_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_VAU2_NFC_TransferState_candb(VAU2_NFC_TransferState_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->VAU_NFC_FrameNumber = (uint8_t) ( (_d[0] & (0x0FU)) ); + _m->VAU_NFC_FrameTotalNumber = (uint8_t) ( ((_d[0] >> 4U) & (0x0FU)) ); + _m->VAU_NFC_TransferData = (uint64_t) ( ((uint64_t)(_d[7] & (0xFFU)) << 48U) | ((uint64_t)(_d[6] & (0xFFU)) << 40U) | ((uint64_t)(_d[5] & (0xFFU)) << 32U) | ((_d[4] & (0xFFU)) << 24U) | ((_d[3] & (0xFFU)) << 16U) | ((_d[2] & (0xFFU)) << 8U) | (_d[1] & (0xFFU)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < VAU2_NFC_TransferState_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_VAU2_NFC_TransferState_candb(&_m->mon1, VAU2_NFC_TransferState_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return VAU2_NFC_TransferState_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_VAU2_NFC_TransferState_candb(VAU2_NFC_TransferState_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(VAU2_NFC_TransferState_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->VAU_NFC_FrameNumber & (0x0FU)) | ((_m->VAU_NFC_FrameTotalNumber & (0x0FU)) << 4U) ); + cframe->Data[1] |= (uint8_t) ( (_m->VAU_NFC_TransferData & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->VAU_NFC_TransferData >> 8U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->VAU_NFC_TransferData >> 16U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->VAU_NFC_TransferData >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->VAU_NFC_TransferData >> 32U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->VAU_NFC_TransferData >> 40U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( ((_m->VAU_NFC_TransferData >> 48U) & (0xFFU)) ); + + cframe->MsgId = (uint32_t) VAU2_NFC_TransferState_CANID; + cframe->DLC = (uint8_t) VAU2_NFC_TransferState_DLC; + cframe->IDE = (uint8_t) VAU2_NFC_TransferState_IDE; + return VAU2_NFC_TransferState_CANID; +} + +#else + +uint32_t Pack_VAU2_NFC_TransferState_candb(VAU2_NFC_TransferState_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(VAU2_NFC_TransferState_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->VAU_NFC_FrameNumber & (0x0FU)) | ((_m->VAU_NFC_FrameTotalNumber & (0x0FU)) << 4U) ); + _d[1] |= (uint8_t) ( (_m->VAU_NFC_TransferData & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->VAU_NFC_TransferData >> 8U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->VAU_NFC_TransferData >> 16U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->VAU_NFC_TransferData >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->VAU_NFC_TransferData >> 32U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->VAU_NFC_TransferData >> 40U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( ((_m->VAU_NFC_TransferData >> 48U) & (0xFFU)) ); + + *_len = (uint8_t) VAU2_NFC_TransferState_DLC; + *_ide = (uint8_t) VAU2_NFC_TransferState_IDE; + return VAU2_NFC_TransferState_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_VAU_TCU_Hash_Resp_candb(VAU_TCU_Hash_Resp_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->VAU_TCU_Hash_Resp = (uint64_t) ( ((uint64_t)(_d[7] & (0xFFU)) << 56U) | ((uint64_t)(_d[6] & (0xFFU)) << 48U) | ((uint64_t)(_d[5] & (0xFFU)) << 40U) | ((uint64_t)(_d[4] & (0xFFU)) << 32U) | ((_d[3] & (0xFFU)) << 24U) | ((_d[2] & (0xFFU)) << 16U) | ((_d[1] & (0xFFU)) << 8U) | (_d[0] & (0xFFU)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < VAU_TCU_Hash_Resp_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_VAU_TCU_Hash_Resp_candb(&_m->mon1, VAU_TCU_Hash_Resp_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return VAU_TCU_Hash_Resp_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_VAU_TCU_Hash_Resp_candb(VAU_TCU_Hash_Resp_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(VAU_TCU_Hash_Resp_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->VAU_TCU_Hash_Resp & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->VAU_TCU_Hash_Resp >> 8U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->VAU_TCU_Hash_Resp >> 16U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->VAU_TCU_Hash_Resp >> 24U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->VAU_TCU_Hash_Resp >> 32U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->VAU_TCU_Hash_Resp >> 40U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->VAU_TCU_Hash_Resp >> 48U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( ((_m->VAU_TCU_Hash_Resp >> 56U) & (0xFFU)) ); + + cframe->MsgId = (uint32_t) VAU_TCU_Hash_Resp_CANID; + cframe->DLC = (uint8_t) VAU_TCU_Hash_Resp_DLC; + cframe->IDE = (uint8_t) VAU_TCU_Hash_Resp_IDE; + return VAU_TCU_Hash_Resp_CANID; +} + +#else + +uint32_t Pack_VAU_TCU_Hash_Resp_candb(VAU_TCU_Hash_Resp_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(VAU_TCU_Hash_Resp_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->VAU_TCU_Hash_Resp & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->VAU_TCU_Hash_Resp >> 8U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->VAU_TCU_Hash_Resp >> 16U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->VAU_TCU_Hash_Resp >> 24U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->VAU_TCU_Hash_Resp >> 32U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->VAU_TCU_Hash_Resp >> 40U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->VAU_TCU_Hash_Resp >> 48U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( ((_m->VAU_TCU_Hash_Resp >> 56U) & (0xFFU)) ); + + *_len = (uint8_t) VAU_TCU_Hash_Resp_DLC; + *_ide = (uint8_t) VAU_TCU_Hash_Resp_IDE; + return VAU_TCU_Hash_Resp_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_VAU_EMS_VCU_Hash_Resp_candb(VAU_EMS_VCU_Hash_Resp_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->VAU_EMS_VCU_Hash_Resp = (uint64_t) ( ((uint64_t)(_d[7] & (0xFFU)) << 56U) | ((uint64_t)(_d[6] & (0xFFU)) << 48U) | ((uint64_t)(_d[5] & (0xFFU)) << 40U) | ((uint64_t)(_d[4] & (0xFFU)) << 32U) | ((_d[3] & (0xFFU)) << 24U) | ((_d[2] & (0xFFU)) << 16U) | ((_d[1] & (0xFFU)) << 8U) | (_d[0] & (0xFFU)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < VAU_EMS_VCU_Hash_Resp_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_VAU_EMS_VCU_Hash_Resp_candb(&_m->mon1, VAU_EMS_VCU_Hash_Resp_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return VAU_EMS_VCU_Hash_Resp_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_VAU_EMS_VCU_Hash_Resp_candb(VAU_EMS_VCU_Hash_Resp_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(VAU_EMS_VCU_Hash_Resp_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->VAU_EMS_VCU_Hash_Resp & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->VAU_EMS_VCU_Hash_Resp >> 8U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->VAU_EMS_VCU_Hash_Resp >> 16U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->VAU_EMS_VCU_Hash_Resp >> 24U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->VAU_EMS_VCU_Hash_Resp >> 32U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->VAU_EMS_VCU_Hash_Resp >> 40U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->VAU_EMS_VCU_Hash_Resp >> 48U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( ((_m->VAU_EMS_VCU_Hash_Resp >> 56U) & (0xFFU)) ); + + cframe->MsgId = (uint32_t) VAU_EMS_VCU_Hash_Resp_CANID; + cframe->DLC = (uint8_t) VAU_EMS_VCU_Hash_Resp_DLC; + cframe->IDE = (uint8_t) VAU_EMS_VCU_Hash_Resp_IDE; + return VAU_EMS_VCU_Hash_Resp_CANID; +} + +#else + +uint32_t Pack_VAU_EMS_VCU_Hash_Resp_candb(VAU_EMS_VCU_Hash_Resp_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(VAU_EMS_VCU_Hash_Resp_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->VAU_EMS_VCU_Hash_Resp & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->VAU_EMS_VCU_Hash_Resp >> 8U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->VAU_EMS_VCU_Hash_Resp >> 16U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->VAU_EMS_VCU_Hash_Resp >> 24U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->VAU_EMS_VCU_Hash_Resp >> 32U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->VAU_EMS_VCU_Hash_Resp >> 40U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->VAU_EMS_VCU_Hash_Resp >> 48U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( ((_m->VAU_EMS_VCU_Hash_Resp >> 56U) & (0xFFU)) ); + + *_len = (uint8_t) VAU_EMS_VCU_Hash_Resp_DLC; + *_ide = (uint8_t) VAU_EMS_VCU_Hash_Resp_IDE; + return VAU_EMS_VCU_Hash_Resp_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_VAU2_INVRL_Hash_Resp_candb(VAU2_INVRL_Hash_Resp_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->VAU2_INVRL_Hash_Resp = (uint64_t) ( ((uint64_t)(_d[7] & (0xFFU)) << 56U) | ((uint64_t)(_d[6] & (0xFFU)) << 48U) | ((uint64_t)(_d[5] & (0xFFU)) << 40U) | ((uint64_t)(_d[4] & (0xFFU)) << 32U) | ((_d[3] & (0xFFU)) << 24U) | ((_d[2] & (0xFFU)) << 16U) | ((_d[1] & (0xFFU)) << 8U) | (_d[0] & (0xFFU)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < VAU2_INVRL_Hash_Resp_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_VAU2_INVRL_Hash_Resp_candb(&_m->mon1, VAU2_INVRL_Hash_Resp_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return VAU2_INVRL_Hash_Resp_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_VAU2_INVRL_Hash_Resp_candb(VAU2_INVRL_Hash_Resp_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(VAU2_INVRL_Hash_Resp_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->VAU2_INVRL_Hash_Resp & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->VAU2_INVRL_Hash_Resp >> 8U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->VAU2_INVRL_Hash_Resp >> 16U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->VAU2_INVRL_Hash_Resp >> 24U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->VAU2_INVRL_Hash_Resp >> 32U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->VAU2_INVRL_Hash_Resp >> 40U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->VAU2_INVRL_Hash_Resp >> 48U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( ((_m->VAU2_INVRL_Hash_Resp >> 56U) & (0xFFU)) ); + + cframe->MsgId = (uint32_t) VAU2_INVRL_Hash_Resp_CANID; + cframe->DLC = (uint8_t) VAU2_INVRL_Hash_Resp_DLC; + cframe->IDE = (uint8_t) VAU2_INVRL_Hash_Resp_IDE; + return VAU2_INVRL_Hash_Resp_CANID; +} + +#else + +uint32_t Pack_VAU2_INVRL_Hash_Resp_candb(VAU2_INVRL_Hash_Resp_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(VAU2_INVRL_Hash_Resp_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->VAU2_INVRL_Hash_Resp & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->VAU2_INVRL_Hash_Resp >> 8U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->VAU2_INVRL_Hash_Resp >> 16U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->VAU2_INVRL_Hash_Resp >> 24U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->VAU2_INVRL_Hash_Resp >> 32U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->VAU2_INVRL_Hash_Resp >> 40U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->VAU2_INVRL_Hash_Resp >> 48U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( ((_m->VAU2_INVRL_Hash_Resp >> 56U) & (0xFFU)) ); + + *_len = (uint8_t) VAU2_INVRL_Hash_Resp_DLC; + *_ide = (uint8_t) VAU2_INVRL_Hash_Resp_IDE; + return VAU2_INVRL_Hash_Resp_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_WChF_NFC_VAU_Transfer_State_candb(WChF_NFC_VAU_Transfer_State_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->WChF_NFC_FrameNumber_Val_ro = (uint8_t) ( (_d[0] & (0x0FU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->WChF_NFC_FrameNumber_Val_phys = (uint8_t) CANDB_WChF_NFC_FrameNumber_Val_ro_fromS(_m->WChF_NFC_FrameNumber_Val_ro); +#endif // CANDB_USE_SIGFLOAT + + _m->WChF_NFCFrameTotalNum_Val = (uint8_t) ( ((_d[0] >> 4U) & (0x0FU)) ); + _m->WChF_NFCTransferData_Val = (uint64_t) ( ((uint64_t)(_d[7] & (0xFFU)) << 48U) | ((uint64_t)(_d[6] & (0xFFU)) << 40U) | ((uint64_t)(_d[5] & (0xFFU)) << 32U) | ((_d[4] & (0xFFU)) << 24U) | ((_d[3] & (0xFFU)) << 16U) | ((_d[2] & (0xFFU)) << 8U) | (_d[1] & (0xFFU)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < WChF_NFC_VAU_Transfer_State_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_WChF_NFC_VAU_Transfer_State_candb(&_m->mon1, WChF_NFC_VAU_Transfer_State_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return WChF_NFC_VAU_Transfer_State_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_WChF_NFC_VAU_Transfer_State_candb(WChF_NFC_VAU_Transfer_State_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(WChF_NFC_VAU_Transfer_State_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->WChF_NFC_FrameNumber_Val_ro = (uint8_t) CANDB_WChF_NFC_FrameNumber_Val_ro_toS(_m->WChF_NFC_FrameNumber_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + cframe->Data[0] |= (uint8_t) ( (_m->WChF_NFC_FrameNumber_Val_ro & (0x0FU)) | ((_m->WChF_NFCFrameTotalNum_Val & (0x0FU)) << 4U) ); + cframe->Data[1] |= (uint8_t) ( (_m->WChF_NFCTransferData_Val & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->WChF_NFCTransferData_Val >> 8U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->WChF_NFCTransferData_Val >> 16U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->WChF_NFCTransferData_Val >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->WChF_NFCTransferData_Val >> 32U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->WChF_NFCTransferData_Val >> 40U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( ((_m->WChF_NFCTransferData_Val >> 48U) & (0xFFU)) ); + + cframe->MsgId = (uint32_t) WChF_NFC_VAU_Transfer_State_CANID; + cframe->DLC = (uint8_t) WChF_NFC_VAU_Transfer_State_DLC; + cframe->IDE = (uint8_t) WChF_NFC_VAU_Transfer_State_IDE; + return WChF_NFC_VAU_Transfer_State_CANID; +} + +#else + +uint32_t Pack_WChF_NFC_VAU_Transfer_State_candb(WChF_NFC_VAU_Transfer_State_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(WChF_NFC_VAU_Transfer_State_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->WChF_NFC_FrameNumber_Val_ro = (uint8_t) CANDB_WChF_NFC_FrameNumber_Val_ro_toS(_m->WChF_NFC_FrameNumber_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + _d[0] |= (uint8_t) ( (_m->WChF_NFC_FrameNumber_Val_ro & (0x0FU)) | ((_m->WChF_NFCFrameTotalNum_Val & (0x0FU)) << 4U) ); + _d[1] |= (uint8_t) ( (_m->WChF_NFCTransferData_Val & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->WChF_NFCTransferData_Val >> 8U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->WChF_NFCTransferData_Val >> 16U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->WChF_NFCTransferData_Val >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->WChF_NFCTransferData_Val >> 32U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->WChF_NFCTransferData_Val >> 40U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( ((_m->WChF_NFCTransferData_Val >> 48U) & (0xFFU)) ); + + *_len = (uint8_t) WChF_NFC_VAU_Transfer_State_DLC; + *_ide = (uint8_t) WChF_NFC_VAU_Transfer_State_IDE; + return WChF_NFC_VAU_Transfer_State_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_VAU2_INVRR_Hash_Resp_candb(VAU2_INVRR_Hash_Resp_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->VAU2_INVRR_Hash_Resp = (uint64_t) ( ((uint64_t)(_d[7] & (0xFFU)) << 56U) | ((uint64_t)(_d[6] & (0xFFU)) << 48U) | ((uint64_t)(_d[5] & (0xFFU)) << 40U) | ((uint64_t)(_d[4] & (0xFFU)) << 32U) | ((_d[3] & (0xFFU)) << 24U) | ((_d[2] & (0xFFU)) << 16U) | ((_d[1] & (0xFFU)) << 8U) | (_d[0] & (0xFFU)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < VAU2_INVRR_Hash_Resp_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_VAU2_INVRR_Hash_Resp_candb(&_m->mon1, VAU2_INVRR_Hash_Resp_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return VAU2_INVRR_Hash_Resp_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_VAU2_INVRR_Hash_Resp_candb(VAU2_INVRR_Hash_Resp_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(VAU2_INVRR_Hash_Resp_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->VAU2_INVRR_Hash_Resp & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->VAU2_INVRR_Hash_Resp >> 8U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->VAU2_INVRR_Hash_Resp >> 16U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->VAU2_INVRR_Hash_Resp >> 24U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->VAU2_INVRR_Hash_Resp >> 32U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->VAU2_INVRR_Hash_Resp >> 40U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->VAU2_INVRR_Hash_Resp >> 48U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( ((_m->VAU2_INVRR_Hash_Resp >> 56U) & (0xFFU)) ); + + cframe->MsgId = (uint32_t) VAU2_INVRR_Hash_Resp_CANID; + cframe->DLC = (uint8_t) VAU2_INVRR_Hash_Resp_DLC; + cframe->IDE = (uint8_t) VAU2_INVRR_Hash_Resp_IDE; + return VAU2_INVRR_Hash_Resp_CANID; +} + +#else + +uint32_t Pack_VAU2_INVRR_Hash_Resp_candb(VAU2_INVRR_Hash_Resp_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(VAU2_INVRR_Hash_Resp_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->VAU2_INVRR_Hash_Resp & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->VAU2_INVRR_Hash_Resp >> 8U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->VAU2_INVRR_Hash_Resp >> 16U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->VAU2_INVRR_Hash_Resp >> 24U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->VAU2_INVRR_Hash_Resp >> 32U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->VAU2_INVRR_Hash_Resp >> 40U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->VAU2_INVRR_Hash_Resp >> 48U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( ((_m->VAU2_INVRR_Hash_Resp >> 56U) & (0xFFU)) ); + + *_len = (uint8_t) VAU2_INVRR_Hash_Resp_DLC; + *_ide = (uint8_t) VAU2_INVRR_Hash_Resp_IDE; + return VAU2_INVRR_Hash_Resp_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_VAU_SDM_Immo_Req_candb(VAU_SDM_Immo_Req_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->VAU_SDM_Immo_Req = (uint64_t) ( ((uint64_t)(_d[7] & (0xFFU)) << 56U) | ((uint64_t)(_d[6] & (0xFFU)) << 48U) | ((uint64_t)(_d[5] & (0xFFU)) << 40U) | ((uint64_t)(_d[4] & (0xFFU)) << 32U) | ((_d[3] & (0xFFU)) << 24U) | ((_d[2] & (0xFFU)) << 16U) | ((_d[1] & (0xFFU)) << 8U) | (_d[0] & (0xFFU)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < VAU_SDM_Immo_Req_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_VAU_SDM_Immo_Req_candb(&_m->mon1, VAU_SDM_Immo_Req_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return VAU_SDM_Immo_Req_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_VAU_SDM_Immo_Req_candb(VAU_SDM_Immo_Req_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(VAU_SDM_Immo_Req_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->VAU_SDM_Immo_Req & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->VAU_SDM_Immo_Req >> 8U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->VAU_SDM_Immo_Req >> 16U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->VAU_SDM_Immo_Req >> 24U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->VAU_SDM_Immo_Req >> 32U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->VAU_SDM_Immo_Req >> 40U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->VAU_SDM_Immo_Req >> 48U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( ((_m->VAU_SDM_Immo_Req >> 56U) & (0xFFU)) ); + + cframe->MsgId = (uint32_t) VAU_SDM_Immo_Req_CANID; + cframe->DLC = (uint8_t) VAU_SDM_Immo_Req_DLC; + cframe->IDE = (uint8_t) VAU_SDM_Immo_Req_IDE; + return VAU_SDM_Immo_Req_CANID; +} + +#else + +uint32_t Pack_VAU_SDM_Immo_Req_candb(VAU_SDM_Immo_Req_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(VAU_SDM_Immo_Req_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->VAU_SDM_Immo_Req & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->VAU_SDM_Immo_Req >> 8U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->VAU_SDM_Immo_Req >> 16U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->VAU_SDM_Immo_Req >> 24U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->VAU_SDM_Immo_Req >> 32U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->VAU_SDM_Immo_Req >> 40U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->VAU_SDM_Immo_Req >> 48U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( ((_m->VAU_SDM_Immo_Req >> 56U) & (0xFFU)) ); + + *_len = (uint8_t) VAU_SDM_Immo_Req_DLC; + *_ide = (uint8_t) VAU_SDM_Immo_Req_IDE; + return VAU_SDM_Immo_Req_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_SDM_VAU_Hash_Resp_candb(SDM_VAU_Hash_Resp_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->SDM_VAU_Hash_RESC = (uint64_t) ( ((uint64_t)(_d[7] & (0xFFU)) << 56U) | ((uint64_t)(_d[6] & (0xFFU)) << 48U) | ((uint64_t)(_d[5] & (0xFFU)) << 40U) | ((uint64_t)(_d[4] & (0xFFU)) << 32U) | ((_d[3] & (0xFFU)) << 24U) | ((_d[2] & (0xFFU)) << 16U) | ((_d[1] & (0xFFU)) << 8U) | (_d[0] & (0xFFU)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < SDM_VAU_Hash_Resp_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_SDM_VAU_Hash_Resp_candb(&_m->mon1, SDM_VAU_Hash_Resp_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return SDM_VAU_Hash_Resp_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_SDM_VAU_Hash_Resp_candb(SDM_VAU_Hash_Resp_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(SDM_VAU_Hash_Resp_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->SDM_VAU_Hash_RESC & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->SDM_VAU_Hash_RESC >> 8U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->SDM_VAU_Hash_RESC >> 16U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->SDM_VAU_Hash_RESC >> 24U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->SDM_VAU_Hash_RESC >> 32U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->SDM_VAU_Hash_RESC >> 40U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->SDM_VAU_Hash_RESC >> 48U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( ((_m->SDM_VAU_Hash_RESC >> 56U) & (0xFFU)) ); + + cframe->MsgId = (uint32_t) SDM_VAU_Hash_Resp_CANID; + cframe->DLC = (uint8_t) SDM_VAU_Hash_Resp_DLC; + cframe->IDE = (uint8_t) SDM_VAU_Hash_Resp_IDE; + return SDM_VAU_Hash_Resp_CANID; +} + +#else + +uint32_t Pack_SDM_VAU_Hash_Resp_candb(SDM_VAU_Hash_Resp_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(SDM_VAU_Hash_Resp_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->SDM_VAU_Hash_RESC & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->SDM_VAU_Hash_RESC >> 8U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->SDM_VAU_Hash_RESC >> 16U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->SDM_VAU_Hash_RESC >> 24U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->SDM_VAU_Hash_RESC >> 32U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->SDM_VAU_Hash_RESC >> 40U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->SDM_VAU_Hash_RESC >> 48U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( ((_m->SDM_VAU_Hash_RESC >> 56U) & (0xFFU)) ); + + *_len = (uint8_t) SDM_VAU_Hash_Resp_DLC; + *_ide = (uint8_t) SDM_VAU_Hash_Resp_IDE; + return SDM_VAU_Hash_Resp_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_TCU_R932_1_candb(TCU_R932_1_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->numGearTarget = (uint8_t) ( (_d[0] & (0x0FU)) ); + _m->numGearEngaged = (uint8_t) ( ((_d[0] >> 4U) & (0x0FU)) ); + _m->ratEng2GbxTorqueRatio_ro = (uint16_t) ( ((_d[2] & (0x07U)) << 8U) | (_d[1] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->ratEng2GbxTorqueRatio_phys = (sigfloat_t)(CANDB_ratEng2GbxTorqueRatio_ro_fromS(_m->ratEng2GbxTorqueRatio_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->stGearLvr = (uint8_t) ( ((_d[2] >> 3U) & (0x07U)) ); + _m->stGbxMILReq = (uint8_t) ( ((_d[2] >> 6U) & (0x03U)) ); + _m->stGearboxMode = (uint8_t) ( (_d[3] & (0x07U)) ); + _m->stTransmissionWarnings = (uint8_t) ( ((_d[3] >> 3U) & (0x0FU)) ); + _m->bShiftInProgress = (uint8_t) ( ((_d[3] >> 7U) & (0x01U)) ); + _m->TCU_VehicleSpeed_ValueError = (uint8_t) ( (_d[4] & (0x01U)) ); + _m->stManualGbxMode = (uint8_t) ( ((_d[4] >> 1U) & (0x01U)) ); + _m->TCU_DriverBrakeReq = (uint8_t) ( ((_d[4] >> 2U) & (0x01U)) ); + _m->gearChangeSPDphase = (uint8_t) ( ((_d[4] >> 3U) & (0x01U)) ); + _m->TCU_VehicleSpeed_ro = (uint16_t) ( ((_d[6] & (0x0FU)) << 12U) | ((_d[5] & (0xFFU)) << 4U) | ((_d[4] >> 4U) & (0x0FU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->TCU_VehicleSpeed_phys = (sigfloat_t)(CANDB_TCU_VehicleSpeed_ro_fromS(_m->TCU_VehicleSpeed_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->TCU_R932_1_RC = (uint8_t) ( ((_d[6] >> 4U) & (0x0FU)) ); + _m->TCU_R932_1_CS = (uint8_t) ( (_d[7] & (0xFFU)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < TCU_R932_1_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_TCU_R932_1_candb(&_m->mon1, TCU_R932_1_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return TCU_R932_1_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_TCU_R932_1_candb(TCU_R932_1_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(TCU_R932_1_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->ratEng2GbxTorqueRatio_ro = (uint16_t) CANDB_ratEng2GbxTorqueRatio_ro_toS(_m->ratEng2GbxTorqueRatio_phys); + _m->TCU_VehicleSpeed_ro = (uint16_t) CANDB_TCU_VehicleSpeed_ro_toS(_m->TCU_VehicleSpeed_phys); +#endif // CANDB_USE_SIGFLOAT + + cframe->Data[0] |= (uint8_t) ( (_m->numGearTarget & (0x0FU)) | ((_m->numGearEngaged & (0x0FU)) << 4U) ); + cframe->Data[1] |= (uint8_t) ( (_m->ratEng2GbxTorqueRatio_ro & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->ratEng2GbxTorqueRatio_ro >> 8U) & (0x07U)) | ((_m->stGearLvr & (0x07U)) << 3U) | ((_m->stGbxMILReq & (0x03U)) << 6U) ); + cframe->Data[3] |= (uint8_t) ( (_m->stGearboxMode & (0x07U)) | ((_m->stTransmissionWarnings & (0x0FU)) << 3U) | ((_m->bShiftInProgress & (0x01U)) << 7U) ); + cframe->Data[4] |= (uint8_t) ( (_m->TCU_VehicleSpeed_ValueError & (0x01U)) | ((_m->stManualGbxMode & (0x01U)) << 1U) | ((_m->TCU_DriverBrakeReq & (0x01U)) << 2U) | ((_m->gearChangeSPDphase & (0x01U)) << 3U) | ((_m->TCU_VehicleSpeed_ro & (0x0FU)) << 4U) ); + cframe->Data[5] |= (uint8_t) ( ((_m->TCU_VehicleSpeed_ro >> 4U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->TCU_VehicleSpeed_ro >> 12U) & (0x0FU)) | ((_m->TCU_R932_1_RC & (0x0FU)) << 4U) ); + cframe->Data[7] |= (uint8_t) ( (_m->TCU_R932_1_CS & (0xFFU)) ); + + cframe->MsgId = (uint32_t) TCU_R932_1_CANID; + cframe->DLC = (uint8_t) TCU_R932_1_DLC; + cframe->IDE = (uint8_t) TCU_R932_1_IDE; + return TCU_R932_1_CANID; +} + +#else + +uint32_t Pack_TCU_R932_1_candb(TCU_R932_1_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(TCU_R932_1_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->ratEng2GbxTorqueRatio_ro = (uint16_t) CANDB_ratEng2GbxTorqueRatio_ro_toS(_m->ratEng2GbxTorqueRatio_phys); + _m->TCU_VehicleSpeed_ro = (uint16_t) CANDB_TCU_VehicleSpeed_ro_toS(_m->TCU_VehicleSpeed_phys); +#endif // CANDB_USE_SIGFLOAT + + _d[0] |= (uint8_t) ( (_m->numGearTarget & (0x0FU)) | ((_m->numGearEngaged & (0x0FU)) << 4U) ); + _d[1] |= (uint8_t) ( (_m->ratEng2GbxTorqueRatio_ro & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->ratEng2GbxTorqueRatio_ro >> 8U) & (0x07U)) | ((_m->stGearLvr & (0x07U)) << 3U) | ((_m->stGbxMILReq & (0x03U)) << 6U) ); + _d[3] |= (uint8_t) ( (_m->stGearboxMode & (0x07U)) | ((_m->stTransmissionWarnings & (0x0FU)) << 3U) | ((_m->bShiftInProgress & (0x01U)) << 7U) ); + _d[4] |= (uint8_t) ( (_m->TCU_VehicleSpeed_ValueError & (0x01U)) | ((_m->stManualGbxMode & (0x01U)) << 1U) | ((_m->TCU_DriverBrakeReq & (0x01U)) << 2U) | ((_m->gearChangeSPDphase & (0x01U)) << 3U) | ((_m->TCU_VehicleSpeed_ro & (0x0FU)) << 4U) ); + _d[5] |= (uint8_t) ( ((_m->TCU_VehicleSpeed_ro >> 4U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->TCU_VehicleSpeed_ro >> 12U) & (0x0FU)) | ((_m->TCU_R932_1_RC & (0x0FU)) << 4U) ); + _d[7] |= (uint8_t) ( (_m->TCU_R932_1_CS & (0xFFU)) ); + + *_len = (uint8_t) TCU_R932_1_DLC; + *_ide = (uint8_t) TCU_R932_1_IDE; + return TCU_R932_1_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_VAU2_INVF_Hash_Resp_candb(VAU2_INVF_Hash_Resp_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->VAU2_INVF_Hash_Resp = (uint64_t) ( ((uint64_t)(_d[7] & (0xFFU)) << 56U) | ((uint64_t)(_d[6] & (0xFFU)) << 48U) | ((uint64_t)(_d[5] & (0xFFU)) << 40U) | ((uint64_t)(_d[4] & (0xFFU)) << 32U) | ((_d[3] & (0xFFU)) << 24U) | ((_d[2] & (0xFFU)) << 16U) | ((_d[1] & (0xFFU)) << 8U) | (_d[0] & (0xFFU)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < VAU2_INVF_Hash_Resp_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_VAU2_INVF_Hash_Resp_candb(&_m->mon1, VAU2_INVF_Hash_Resp_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return VAU2_INVF_Hash_Resp_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_VAU2_INVF_Hash_Resp_candb(VAU2_INVF_Hash_Resp_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(VAU2_INVF_Hash_Resp_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->VAU2_INVF_Hash_Resp & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->VAU2_INVF_Hash_Resp >> 8U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->VAU2_INVF_Hash_Resp >> 16U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->VAU2_INVF_Hash_Resp >> 24U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->VAU2_INVF_Hash_Resp >> 32U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->VAU2_INVF_Hash_Resp >> 40U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->VAU2_INVF_Hash_Resp >> 48U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( ((_m->VAU2_INVF_Hash_Resp >> 56U) & (0xFFU)) ); + + cframe->MsgId = (uint32_t) VAU2_INVF_Hash_Resp_CANID; + cframe->DLC = (uint8_t) VAU2_INVF_Hash_Resp_DLC; + cframe->IDE = (uint8_t) VAU2_INVF_Hash_Resp_IDE; + return VAU2_INVF_Hash_Resp_CANID; +} + +#else + +uint32_t Pack_VAU2_INVF_Hash_Resp_candb(VAU2_INVF_Hash_Resp_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(VAU2_INVF_Hash_Resp_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->VAU2_INVF_Hash_Resp & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->VAU2_INVF_Hash_Resp >> 8U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->VAU2_INVF_Hash_Resp >> 16U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->VAU2_INVF_Hash_Resp >> 24U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->VAU2_INVF_Hash_Resp >> 32U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->VAU2_INVF_Hash_Resp >> 40U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->VAU2_INVF_Hash_Resp >> 48U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( ((_m->VAU2_INVF_Hash_Resp >> 56U) & (0xFFU)) ); + + *_len = (uint8_t) VAU2_INVF_Hash_Resp_DLC; + *_ide = (uint8_t) VAU2_INVF_Hash_Resp_IDE; + return VAU2_INVF_Hash_Resp_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_FTCU_DAT1_candb(FTCU_DAT1_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->FTCU_MeasuredCurrentPump1_Val_ro = (uint16_t) ( ((_d[1] & (0x03U)) << 8U) | (_d[0] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->FTCU_MeasuredCurrentPump1_Val_phys = (sigfloat_t)(CANDB_FTCU_MeasuredCurrentPump1_Val_ro_fromS(_m->FTCU_MeasuredCurrentPump1_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->FTCU_MeasuredCurrentPump2_Val_ro = (uint16_t) ( ((_d[2] & (0x0FU)) << 6U) | ((_d[1] >> 2U) & (0x3FU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->FTCU_MeasuredCurrentPump2_Val_phys = (sigfloat_t)(CANDB_FTCU_MeasuredCurrentPump2_Val_ro_fromS(_m->FTCU_MeasuredCurrentPump2_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->FTCU_EmtrPWMPump1_Val_ro = (uint16_t) ( ((_d[3] & (0x3FU)) << 4U) | ((_d[2] >> 4U) & (0x0FU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->FTCU_EmtrPWMPump1_Val_phys = (sigfloat_t)(CANDB_FTCU_EmtrPWMPump1_Val_ro_fromS(_m->FTCU_EmtrPWMPump1_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->FTCU_EmtrPWMPump2_Val_ro = (uint16_t) ( ((_d[4] & (0xFFU)) << 2U) | ((_d[3] >> 6U) & (0x03U)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->FTCU_EmtrPWMPump2_Val_phys = (sigfloat_t)(CANDB_FTCU_EmtrPWMPump2_Val_ro_fromS(_m->FTCU_EmtrPWMPump2_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < FTCU_DAT1_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_FTCU_DAT1_candb(&_m->mon1, FTCU_DAT1_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return FTCU_DAT1_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_FTCU_DAT1_candb(FTCU_DAT1_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(FTCU_DAT1_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->FTCU_MeasuredCurrentPump1_Val_ro = (uint16_t) CANDB_FTCU_MeasuredCurrentPump1_Val_ro_toS(_m->FTCU_MeasuredCurrentPump1_Val_phys); + _m->FTCU_MeasuredCurrentPump2_Val_ro = (uint16_t) CANDB_FTCU_MeasuredCurrentPump2_Val_ro_toS(_m->FTCU_MeasuredCurrentPump2_Val_phys); + _m->FTCU_EmtrPWMPump1_Val_ro = (uint16_t) CANDB_FTCU_EmtrPWMPump1_Val_ro_toS(_m->FTCU_EmtrPWMPump1_Val_phys); + _m->FTCU_EmtrPWMPump2_Val_ro = (uint16_t) CANDB_FTCU_EmtrPWMPump2_Val_ro_toS(_m->FTCU_EmtrPWMPump2_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + cframe->Data[0] |= (uint8_t) ( (_m->FTCU_MeasuredCurrentPump1_Val_ro & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->FTCU_MeasuredCurrentPump1_Val_ro >> 8U) & (0x03U)) | ((_m->FTCU_MeasuredCurrentPump2_Val_ro & (0x3FU)) << 2U) ); + cframe->Data[2] |= (uint8_t) ( ((_m->FTCU_MeasuredCurrentPump2_Val_ro >> 6U) & (0x0FU)) | ((_m->FTCU_EmtrPWMPump1_Val_ro & (0x0FU)) << 4U) ); + cframe->Data[3] |= (uint8_t) ( ((_m->FTCU_EmtrPWMPump1_Val_ro >> 4U) & (0x3FU)) | ((_m->FTCU_EmtrPWMPump2_Val_ro & (0x03U)) << 6U) ); + cframe->Data[4] |= (uint8_t) ( ((_m->FTCU_EmtrPWMPump2_Val_ro >> 2U) & (0xFFU)) ); + + cframe->MsgId = (uint32_t) FTCU_DAT1_CANID; + cframe->DLC = (uint8_t) FTCU_DAT1_DLC; + cframe->IDE = (uint8_t) FTCU_DAT1_IDE; + return FTCU_DAT1_CANID; +} + +#else + +uint32_t Pack_FTCU_DAT1_candb(FTCU_DAT1_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(FTCU_DAT1_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->FTCU_MeasuredCurrentPump1_Val_ro = (uint16_t) CANDB_FTCU_MeasuredCurrentPump1_Val_ro_toS(_m->FTCU_MeasuredCurrentPump1_Val_phys); + _m->FTCU_MeasuredCurrentPump2_Val_ro = (uint16_t) CANDB_FTCU_MeasuredCurrentPump2_Val_ro_toS(_m->FTCU_MeasuredCurrentPump2_Val_phys); + _m->FTCU_EmtrPWMPump1_Val_ro = (uint16_t) CANDB_FTCU_EmtrPWMPump1_Val_ro_toS(_m->FTCU_EmtrPWMPump1_Val_phys); + _m->FTCU_EmtrPWMPump2_Val_ro = (uint16_t) CANDB_FTCU_EmtrPWMPump2_Val_ro_toS(_m->FTCU_EmtrPWMPump2_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + _d[0] |= (uint8_t) ( (_m->FTCU_MeasuredCurrentPump1_Val_ro & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->FTCU_MeasuredCurrentPump1_Val_ro >> 8U) & (0x03U)) | ((_m->FTCU_MeasuredCurrentPump2_Val_ro & (0x3FU)) << 2U) ); + _d[2] |= (uint8_t) ( ((_m->FTCU_MeasuredCurrentPump2_Val_ro >> 6U) & (0x0FU)) | ((_m->FTCU_EmtrPWMPump1_Val_ro & (0x0FU)) << 4U) ); + _d[3] |= (uint8_t) ( ((_m->FTCU_EmtrPWMPump1_Val_ro >> 4U) & (0x3FU)) | ((_m->FTCU_EmtrPWMPump2_Val_ro & (0x03U)) << 6U) ); + _d[4] |= (uint8_t) ( ((_m->FTCU_EmtrPWMPump2_Val_ro >> 2U) & (0xFFU)) ); + + *_len = (uint8_t) FTCU_DAT1_DLC; + *_ide = (uint8_t) FTCU_DAT1_IDE; + return FTCU_DAT1_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_FTCU_DAT2_candb(FTCU_DAT2_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->FTCU_FuelPressure_Val = (uint16_t) ( ((_d[1] & (0x03U)) << 8U) | (_d[0] & (0xFFU)) ); + _m->FTCU_Err_Stat = (uint8_t) ( ((_d[1] >> 2U) & (0x1FU)) ); + _m->FTCU_FuelPumpOK_1_Stat = (uint8_t) ( ((_d[2] & (0x01U)) << 1U) | ((_d[1] >> 7U) & (0x01U)) ); + _m->FTCU_FuelPumpOK_2_Stat = (uint8_t) ( ((_d[2] >> 1U) & (0x03U)) ); + _m->FTCU_St_Val = (uint8_t) ( ((_d[3] & (0x07U)) << 5U) | ((_d[2] >> 3U) & (0x1FU)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < FTCU_DAT2_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_FTCU_DAT2_candb(&_m->mon1, FTCU_DAT2_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return FTCU_DAT2_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_FTCU_DAT2_candb(FTCU_DAT2_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(FTCU_DAT2_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->FTCU_FuelPressure_Val & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->FTCU_FuelPressure_Val >> 8U) & (0x03U)) | ((_m->FTCU_Err_Stat & (0x1FU)) << 2U) | ((_m->FTCU_FuelPumpOK_1_Stat & (0x01U)) << 7U) ); + cframe->Data[2] |= (uint8_t) ( ((_m->FTCU_FuelPumpOK_1_Stat >> 1U) & (0x01U)) | ((_m->FTCU_FuelPumpOK_2_Stat & (0x03U)) << 1U) | ((_m->FTCU_St_Val & (0x1FU)) << 3U) ); + cframe->Data[3] |= (uint8_t) ( ((_m->FTCU_St_Val >> 5U) & (0x07U)) ); + + cframe->MsgId = (uint32_t) FTCU_DAT2_CANID; + cframe->DLC = (uint8_t) FTCU_DAT2_DLC; + cframe->IDE = (uint8_t) FTCU_DAT2_IDE; + return FTCU_DAT2_CANID; +} + +#else + +uint32_t Pack_FTCU_DAT2_candb(FTCU_DAT2_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(FTCU_DAT2_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->FTCU_FuelPressure_Val & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->FTCU_FuelPressure_Val >> 8U) & (0x03U)) | ((_m->FTCU_Err_Stat & (0x1FU)) << 2U) | ((_m->FTCU_FuelPumpOK_1_Stat & (0x01U)) << 7U) ); + _d[2] |= (uint8_t) ( ((_m->FTCU_FuelPumpOK_1_Stat >> 1U) & (0x01U)) | ((_m->FTCU_FuelPumpOK_2_Stat & (0x03U)) << 1U) | ((_m->FTCU_St_Val & (0x1FU)) << 3U) ); + _d[3] |= (uint8_t) ( ((_m->FTCU_St_Val >> 5U) & (0x07U)) ); + + *_len = (uint8_t) FTCU_DAT2_DLC; + *_ide = (uint8_t) FTCU_DAT2_IDE; + return FTCU_DAT2_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_FTCU_DAT3_candb(FTCU_DAT3_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->FTCU_CPUTemperature_Val = (int16_t) __ext_sig__(( ((_d[1] & (0x03U)) << 8U) | (_d[0] & (0xFFU)) ), 10); + _m->FTCU_Ubat_Val_ro = (uint16_t) ( ((_d[2] & (0x1FU)) << 6U) | ((_d[1] >> 2U) & (0x3FU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->FTCU_Ubat_Val_phys = (sigfloat_t)(CANDB_FTCU_Ubat_Val_ro_fromS(_m->FTCU_Ubat_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->FTCU_DesiredPressure_Val = (uint16_t) ( ((_d[3] & (0x7FU)) << 3U) | ((_d[2] >> 5U) & (0x07U)) ); + _m->FTCU_FuelConsumption_Val = (uint8_t) ( ((_d[4] & (0x7FU)) << 1U) | ((_d[3] >> 7U) & (0x01U)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < FTCU_DAT3_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_FTCU_DAT3_candb(&_m->mon1, FTCU_DAT3_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return FTCU_DAT3_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_FTCU_DAT3_candb(FTCU_DAT3_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(FTCU_DAT3_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->FTCU_Ubat_Val_ro = (uint16_t) CANDB_FTCU_Ubat_Val_ro_toS(_m->FTCU_Ubat_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + cframe->Data[0] |= (uint8_t) ( (_m->FTCU_CPUTemperature_Val & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->FTCU_CPUTemperature_Val >> 8U) & (0x03U)) | ((_m->FTCU_Ubat_Val_ro & (0x3FU)) << 2U) ); + cframe->Data[2] |= (uint8_t) ( ((_m->FTCU_Ubat_Val_ro >> 6U) & (0x1FU)) | ((_m->FTCU_DesiredPressure_Val & (0x07U)) << 5U) ); + cframe->Data[3] |= (uint8_t) ( ((_m->FTCU_DesiredPressure_Val >> 3U) & (0x7FU)) | ((_m->FTCU_FuelConsumption_Val & (0x01U)) << 7U) ); + cframe->Data[4] |= (uint8_t) ( ((_m->FTCU_FuelConsumption_Val >> 1U) & (0x7FU)) ); + + cframe->MsgId = (uint32_t) FTCU_DAT3_CANID; + cframe->DLC = (uint8_t) FTCU_DAT3_DLC; + cframe->IDE = (uint8_t) FTCU_DAT3_IDE; + return FTCU_DAT3_CANID; +} + +#else + +uint32_t Pack_FTCU_DAT3_candb(FTCU_DAT3_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(FTCU_DAT3_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->FTCU_Ubat_Val_ro = (uint16_t) CANDB_FTCU_Ubat_Val_ro_toS(_m->FTCU_Ubat_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + _d[0] |= (uint8_t) ( (_m->FTCU_CPUTemperature_Val & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->FTCU_CPUTemperature_Val >> 8U) & (0x03U)) | ((_m->FTCU_Ubat_Val_ro & (0x3FU)) << 2U) ); + _d[2] |= (uint8_t) ( ((_m->FTCU_Ubat_Val_ro >> 6U) & (0x1FU)) | ((_m->FTCU_DesiredPressure_Val & (0x07U)) << 5U) ); + _d[3] |= (uint8_t) ( ((_m->FTCU_DesiredPressure_Val >> 3U) & (0x7FU)) | ((_m->FTCU_FuelConsumption_Val & (0x01U)) << 7U) ); + _d[4] |= (uint8_t) ( ((_m->FTCU_FuelConsumption_Val >> 1U) & (0x7FU)) ); + + *_len = (uint8_t) FTCU_DAT3_DLC; + *_ide = (uint8_t) FTCU_DAT3_IDE; + return FTCU_DAT3_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_SCU_02_candb(SCU_02_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->SCU_LeftFrHeight_ro = (uint8_t) ( (_d[0] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->SCU_LeftFrHeight_phys = (uint16_t) CANDB_SCU_LeftFrHeight_ro_fromS(_m->SCU_LeftFrHeight_ro); +#endif // CANDB_USE_SIGFLOAT + + _m->SCU_RightFrHeight_ro = (uint8_t) ( (_d[1] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->SCU_RightFrHeight_phys = (uint16_t) CANDB_SCU_RightFrHeight_ro_fromS(_m->SCU_RightFrHeight_ro); +#endif // CANDB_USE_SIGFLOAT + + _m->SCU_LeftRearHeight_ro = (uint8_t) ( (_d[2] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->SCU_LeftRearHeight_phys = (uint16_t) CANDB_SCU_LeftRearHeight_ro_fromS(_m->SCU_LeftRearHeight_ro); +#endif // CANDB_USE_SIGFLOAT + + _m->SCU_RightRearHeight_ro = (uint8_t) ( (_d[3] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->SCU_RightRearHeight_phys = (uint16_t) CANDB_SCU_RightRearHeight_ro_fromS(_m->SCU_RightRearHeight_ro); +#endif // CANDB_USE_SIGFLOAT + + _m->SCU_02_RC = (uint8_t) ( ((_d[4] >> 4U) & (0x0FU)) ); + _m->SCU_02_CS = (uint8_t) ( (_d[5] & (0xFFU)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < SCU_02_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_SCU_02_candb(&_m->mon1, SCU_02_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return SCU_02_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_SCU_02_candb(SCU_02_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(SCU_02_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->SCU_LeftFrHeight_ro = (uint8_t) CANDB_SCU_LeftFrHeight_ro_toS(_m->SCU_LeftFrHeight_phys); + _m->SCU_RightFrHeight_ro = (uint8_t) CANDB_SCU_RightFrHeight_ro_toS(_m->SCU_RightFrHeight_phys); + _m->SCU_LeftRearHeight_ro = (uint8_t) CANDB_SCU_LeftRearHeight_ro_toS(_m->SCU_LeftRearHeight_phys); + _m->SCU_RightRearHeight_ro = (uint8_t) CANDB_SCU_RightRearHeight_ro_toS(_m->SCU_RightRearHeight_phys); +#endif // CANDB_USE_SIGFLOAT + + cframe->Data[0] |= (uint8_t) ( (_m->SCU_LeftFrHeight_ro & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( (_m->SCU_RightFrHeight_ro & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( (_m->SCU_LeftRearHeight_ro & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( (_m->SCU_RightRearHeight_ro & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->SCU_02_RC & (0x0FU)) << 4U) ); + cframe->Data[5] |= (uint8_t) ( (_m->SCU_02_CS & (0xFFU)) ); + + cframe->MsgId = (uint32_t) SCU_02_CANID; + cframe->DLC = (uint8_t) SCU_02_DLC; + cframe->IDE = (uint8_t) SCU_02_IDE; + return SCU_02_CANID; +} + +#else + +uint32_t Pack_SCU_02_candb(SCU_02_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(SCU_02_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->SCU_LeftFrHeight_ro = (uint8_t) CANDB_SCU_LeftFrHeight_ro_toS(_m->SCU_LeftFrHeight_phys); + _m->SCU_RightFrHeight_ro = (uint8_t) CANDB_SCU_RightFrHeight_ro_toS(_m->SCU_RightFrHeight_phys); + _m->SCU_LeftRearHeight_ro = (uint8_t) CANDB_SCU_LeftRearHeight_ro_toS(_m->SCU_LeftRearHeight_phys); + _m->SCU_RightRearHeight_ro = (uint8_t) CANDB_SCU_RightRearHeight_ro_toS(_m->SCU_RightRearHeight_phys); +#endif // CANDB_USE_SIGFLOAT + + _d[0] |= (uint8_t) ( (_m->SCU_LeftFrHeight_ro & (0xFFU)) ); + _d[1] |= (uint8_t) ( (_m->SCU_RightFrHeight_ro & (0xFFU)) ); + _d[2] |= (uint8_t) ( (_m->SCU_LeftRearHeight_ro & (0xFFU)) ); + _d[3] |= (uint8_t) ( (_m->SCU_RightRearHeight_ro & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->SCU_02_RC & (0x0FU)) << 4U) ); + _d[5] |= (uint8_t) ( (_m->SCU_02_CS & (0xFFU)) ); + + *_len = (uint8_t) SCU_02_DLC; + *_ide = (uint8_t) SCU_02_IDE; + return SCU_02_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + uint32_t Unpack_ESC_04_candb(ESC_04_t* _m, const uint8_t* _d, uint8_t dlc_) { (void)dlc_; @@ -55,6 +1174,30 @@ uint32_t Unpack_ESC_04_candb(ESC_04_t* _m, const uint8_t* _d, uint8_t dlc_) #endif // CANDB_USE_SIGFLOAT _m->ESC_VehicleSpeed_ValueError = (uint8_t) ( (_d[2] & (0x01U)) ); + _m->ESC_Lamp = (uint8_t) ( ((_d[2] >> 1U) & (0x01U)) ); + _m->ESC_AVH_Active = (uint8_t) ( ((_d[2] >> 2U) & (0x01U)) ); + _m->ESC_Bls_Out = (uint8_t) ( ((_d[2] >> 3U) & (0x01U)) ); + _m->ESC_Bla = (uint8_t) ( ((_d[2] >> 4U) & (0x01U)) ); + _m->ESC_ABS_Lamp = (uint8_t) ( ((_d[2] >> 5U) & (0x01U)) ); + _m->ESC_EBD_Lamp = (uint8_t) ( ((_d[2] >> 6U) & (0x01U)) ); + _m->ESC_TCS_Fault = (uint8_t) ( ((_d[2] >> 7U) & (0x01U)) ); + _m->ESC_CDPDecelActive = (uint8_t) ( (_d[3] & (0x01U)) ); + _m->ESC_BLS_Fault = (uint8_t) ( ((_d[3] >> 1U) & (0x01U)) ); + _m->ESC_CtlActiveAbs = (uint8_t) ( ((_d[3] >> 2U) & (0x01U)) ); + _m->ESC_CtlActiveEbd = (uint8_t) ( ((_d[3] >> 3U) & (0x01U)) ); + _m->ESC_CtlActiveTcs = (uint8_t) ( ((_d[3] >> 4U) & (0x01U)) ); + _m->ESC_CtlActiveVdc = (uint8_t) ( ((_d[3] >> 5U) & (0x01U)) ); + _m->ESC_Passive_Lamp = (uint8_t) ( ((_d[3] >> 6U) & (0x01U)) ); + _m->ESC_Gearshift_Inhibit = (uint8_t) ( ((_d[3] >> 7U) & (0x01U)) ); + _m->ESC_HDC_Activated = (uint8_t) ( (_d[4] & (0x01U)) ); + _m->ESC_CtlActiveHDC = (uint8_t) ( ((_d[4] >> 1U) & (0x01U)) ); + _m->ESC_HDC_rejected = (uint8_t) ( ((_d[4] >> 2U) & (0x01U)) ); + _m->ESC_EmergencyBraking = (uint8_t) ( ((_d[4] >> 3U) & (0x01U)) ); + _m->ESC_RequestToEPB = (uint8_t) ( ((_d[4] >> 4U) & (0x03U)) ); + _m->ESC_CDPDecelAvailable = (uint8_t) ( ((_d[4] >> 6U) & (0x01U)) ); + _m->ESC_PEBWarningLampReq = (uint8_t) ( ((_d[4] >> 7U) & (0x01U)) ); + _m->ESC_HDC_SpeedLimit = (uint8_t) ( (_d[5] & (0xFFU)) ); + _m->CddActive_2 = (uint8_t) ( (_d[6] & (0x01U)) ); _m->ESC_04_RC = (uint8_t) ( ((_d[6] >> 4U) & (0x0FU)) ); _m->ESC_04_CS = (uint8_t) ( (_d[7] & (0xFFU)) ); @@ -81,8 +1224,11 @@ uint32_t Pack_ESC_04_candb(ESC_04_t* _m, __CoderDbcCanFrame_t__* cframe) 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[2] |= (uint8_t) ( (_m->ESC_VehicleSpeed_ValueError & (0x01U)) | ((_m->ESC_Lamp & (0x01U)) << 1U) | ((_m->ESC_AVH_Active & (0x01U)) << 2U) | ((_m->ESC_Bls_Out & (0x01U)) << 3U) | ((_m->ESC_Bla & (0x01U)) << 4U) | ((_m->ESC_ABS_Lamp & (0x01U)) << 5U) | ((_m->ESC_EBD_Lamp & (0x01U)) << 6U) | ((_m->ESC_TCS_Fault & (0x01U)) << 7U) ); + cframe->Data[3] |= (uint8_t) ( (_m->ESC_CDPDecelActive & (0x01U)) | ((_m->ESC_BLS_Fault & (0x01U)) << 1U) | ((_m->ESC_CtlActiveAbs & (0x01U)) << 2U) | ((_m->ESC_CtlActiveEbd & (0x01U)) << 3U) | ((_m->ESC_CtlActiveTcs & (0x01U)) << 4U) | ((_m->ESC_CtlActiveVdc & (0x01U)) << 5U) | ((_m->ESC_Passive_Lamp & (0x01U)) << 6U) | ((_m->ESC_Gearshift_Inhibit & (0x01U)) << 7U) ); + cframe->Data[4] |= (uint8_t) ( (_m->ESC_HDC_Activated & (0x01U)) | ((_m->ESC_CtlActiveHDC & (0x01U)) << 1U) | ((_m->ESC_HDC_rejected & (0x01U)) << 2U) | ((_m->ESC_EmergencyBraking & (0x01U)) << 3U) | ((_m->ESC_RequestToEPB & (0x03U)) << 4U) | ((_m->ESC_CDPDecelAvailable & (0x01U)) << 6U) | ((_m->ESC_PEBWarningLampReq & (0x01U)) << 7U) ); + cframe->Data[5] |= (uint8_t) ( (_m->ESC_HDC_SpeedLimit & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( (_m->CddActive_2 & (0x01U)) | ((_m->ESC_04_RC & (0x0FU)) << 4U) ); cframe->Data[7] |= (uint8_t) ( (_m->ESC_04_CS & (0xFFU)) ); cframe->MsgId = (uint32_t) ESC_04_CANID; @@ -103,8 +1249,11 @@ uint32_t Pack_ESC_04_candb(ESC_04_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _i _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[2] |= (uint8_t) ( (_m->ESC_VehicleSpeed_ValueError & (0x01U)) | ((_m->ESC_Lamp & (0x01U)) << 1U) | ((_m->ESC_AVH_Active & (0x01U)) << 2U) | ((_m->ESC_Bls_Out & (0x01U)) << 3U) | ((_m->ESC_Bla & (0x01U)) << 4U) | ((_m->ESC_ABS_Lamp & (0x01U)) << 5U) | ((_m->ESC_EBD_Lamp & (0x01U)) << 6U) | ((_m->ESC_TCS_Fault & (0x01U)) << 7U) ); + _d[3] |= (uint8_t) ( (_m->ESC_CDPDecelActive & (0x01U)) | ((_m->ESC_BLS_Fault & (0x01U)) << 1U) | ((_m->ESC_CtlActiveAbs & (0x01U)) << 2U) | ((_m->ESC_CtlActiveEbd & (0x01U)) << 3U) | ((_m->ESC_CtlActiveTcs & (0x01U)) << 4U) | ((_m->ESC_CtlActiveVdc & (0x01U)) << 5U) | ((_m->ESC_Passive_Lamp & (0x01U)) << 6U) | ((_m->ESC_Gearshift_Inhibit & (0x01U)) << 7U) ); + _d[4] |= (uint8_t) ( (_m->ESC_HDC_Activated & (0x01U)) | ((_m->ESC_CtlActiveHDC & (0x01U)) << 1U) | ((_m->ESC_HDC_rejected & (0x01U)) << 2U) | ((_m->ESC_EmergencyBraking & (0x01U)) << 3U) | ((_m->ESC_RequestToEPB & (0x03U)) << 4U) | ((_m->ESC_CDPDecelAvailable & (0x01U)) << 6U) | ((_m->ESC_PEBWarningLampReq & (0x01U)) << 7U) ); + _d[5] |= (uint8_t) ( (_m->ESC_HDC_SpeedLimit & (0xFFU)) ); + _d[6] |= (uint8_t) ( (_m->CddActive_2 & (0x01U)) | ((_m->ESC_04_RC & (0x0FU)) << 4U) ); _d[7] |= (uint8_t) ( (_m->ESC_04_CS & (0xFFU)) ); *_len = (uint8_t) ESC_04_DLC; @@ -114,6 +1263,219 @@ uint32_t Pack_ESC_04_candb(ESC_04_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _i #endif // CANDB_USE_CANSTRUCT +uint32_t Unpack_ESC_09_candb(ESC_09_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->ESC_VacuumPressure_Val_ro = (uint8_t) ( (_d[0] & (0x1FU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->ESC_VacuumPressure_Val_phys = (int8_t) CANDB_ESC_VacuumPressure_Val_ro_fromS(_m->ESC_VacuumPressure_Val_ro); +#endif // CANDB_USE_SIGFLOAT + + _m->ESC_VacuumSignalReserved = (uint8_t) ( ((_d[0] >> 5U) & (0x03U)) ); + _m->ESC_BrakePressureMC_Val_ro = (uint16_t) ( ((_d[2] & (0x0FU)) << 8U) | (_d[1] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->ESC_BrakePressureMC_Val_phys = (sigfloat_t)(CANDB_ESC_BrakePressureMC_Val_ro_fromS(_m->ESC_BrakePressureMC_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->ESC_09_RC = (uint8_t) ( ((_d[2] >> 4U) & (0x0FU)) ); + _m->ESC_09_CS = (uint8_t) ( (_d[3] & (0xFFU)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < ESC_09_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_ESC_09_candb(&_m->mon1, ESC_09_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return ESC_09_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_ESC_09_candb(ESC_09_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(ESC_09_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->ESC_VacuumPressure_Val_ro = (uint8_t) CANDB_ESC_VacuumPressure_Val_ro_toS(_m->ESC_VacuumPressure_Val_phys); + _m->ESC_BrakePressureMC_Val_ro = (uint16_t) CANDB_ESC_BrakePressureMC_Val_ro_toS(_m->ESC_BrakePressureMC_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + cframe->Data[0] |= (uint8_t) ( (_m->ESC_VacuumPressure_Val_ro & (0x1FU)) | ((_m->ESC_VacuumSignalReserved & (0x03U)) << 5U) ); + cframe->Data[1] |= (uint8_t) ( (_m->ESC_BrakePressureMC_Val_ro & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->ESC_BrakePressureMC_Val_ro >> 8U) & (0x0FU)) | ((_m->ESC_09_RC & (0x0FU)) << 4U) ); + cframe->Data[3] |= (uint8_t) ( (_m->ESC_09_CS & (0xFFU)) ); + + cframe->MsgId = (uint32_t) ESC_09_CANID; + cframe->DLC = (uint8_t) ESC_09_DLC; + cframe->IDE = (uint8_t) ESC_09_IDE; + return ESC_09_CANID; +} + +#else + +uint32_t Pack_ESC_09_candb(ESC_09_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(ESC_09_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->ESC_VacuumPressure_Val_ro = (uint8_t) CANDB_ESC_VacuumPressure_Val_ro_toS(_m->ESC_VacuumPressure_Val_phys); + _m->ESC_BrakePressureMC_Val_ro = (uint16_t) CANDB_ESC_BrakePressureMC_Val_ro_toS(_m->ESC_BrakePressureMC_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + _d[0] |= (uint8_t) ( (_m->ESC_VacuumPressure_Val_ro & (0x1FU)) | ((_m->ESC_VacuumSignalReserved & (0x03U)) << 5U) ); + _d[1] |= (uint8_t) ( (_m->ESC_BrakePressureMC_Val_ro & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->ESC_BrakePressureMC_Val_ro >> 8U) & (0x0FU)) | ((_m->ESC_09_RC & (0x0FU)) << 4U) ); + _d[3] |= (uint8_t) ( (_m->ESC_09_CS & (0xFFU)) ); + + *_len = (uint8_t) ESC_09_DLC; + *_ide = (uint8_t) ESC_09_IDE; + return ESC_09_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_VAU2_Msg1_candb(VAU2_Msg1_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->VAU_Comm_Req = (uint8_t) ( (_d[0] & (0x01U)) ); + _m->VAU_BCM_Authentication_Resp = (uint8_t) ( ((_d[0] >> 1U) & (0x0FU)) ); + _m->VAU_FL_DoorHandle_Req = (uint8_t) ( ((_d[0] >> 5U) & (0x07U)) ); + _m->VAU_FR_DoorHandle_Req = (uint8_t) ( (_d[1] & (0x07U)) ); + _m->VAU_RL_DoorHandle_Req = (uint8_t) ( ((_d[1] >> 3U) & (0x07U)) ); + _m->VAU_Alarm_Req = (uint8_t) ( ((_d[1] >> 6U) & (0x03U)) ); + _m->VAU_RR_DoorHandle_Req = (uint8_t) ( (_d[2] & (0x07U)) ); + _m->VAU_NFC_Cmd = (uint8_t) ( ((_d[2] >> 3U) & (0x07U)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < VAU2_Msg1_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_VAU2_Msg1_candb(&_m->mon1, VAU2_Msg1_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return VAU2_Msg1_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_VAU2_Msg1_candb(VAU2_Msg1_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(VAU2_Msg1_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->VAU_Comm_Req & (0x01U)) | ((_m->VAU_BCM_Authentication_Resp & (0x0FU)) << 1U) | ((_m->VAU_FL_DoorHandle_Req & (0x07U)) << 5U) ); + cframe->Data[1] |= (uint8_t) ( (_m->VAU_FR_DoorHandle_Req & (0x07U)) | ((_m->VAU_RL_DoorHandle_Req & (0x07U)) << 3U) | ((_m->VAU_Alarm_Req & (0x03U)) << 6U) ); + cframe->Data[2] |= (uint8_t) ( (_m->VAU_RR_DoorHandle_Req & (0x07U)) | ((_m->VAU_NFC_Cmd & (0x07U)) << 3U) ); + + cframe->MsgId = (uint32_t) VAU2_Msg1_CANID; + cframe->DLC = (uint8_t) VAU2_Msg1_DLC; + cframe->IDE = (uint8_t) VAU2_Msg1_IDE; + return VAU2_Msg1_CANID; +} + +#else + +uint32_t Pack_VAU2_Msg1_candb(VAU2_Msg1_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(VAU2_Msg1_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->VAU_Comm_Req & (0x01U)) | ((_m->VAU_BCM_Authentication_Resp & (0x0FU)) << 1U) | ((_m->VAU_FL_DoorHandle_Req & (0x07U)) << 5U) ); + _d[1] |= (uint8_t) ( (_m->VAU_FR_DoorHandle_Req & (0x07U)) | ((_m->VAU_RL_DoorHandle_Req & (0x07U)) << 3U) | ((_m->VAU_Alarm_Req & (0x03U)) << 6U) ); + _d[2] |= (uint8_t) ( (_m->VAU_RR_DoorHandle_Req & (0x07U)) | ((_m->VAU_NFC_Cmd & (0x07U)) << 3U) ); + + *_len = (uint8_t) VAU2_Msg1_DLC; + *_ide = (uint8_t) VAU2_Msg1_IDE; + return VAU2_Msg1_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_ESC_YRS_01_candb(ESC_YRS_01_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->ESC_PSIP1_Val_ro = (uint16_t) ( ((_d[1] & (0xFFU)) << 8U) | (_d[0] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->ESC_PSIP1_Val_phys = (sigfloat_t)(CANDB_ESC_PSIP1_Val_ro_fromS(_m->ESC_PSIP1_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->ESC_CLU_Stat = (uint8_t) ( (_d[2] & (0x0FU)) ); + _m->ESC_PSIP1_Stat = (uint8_t) ( ((_d[2] >> 4U) & (0x0FU)) ); + _m->ESC_Reserve1 = (uint8_t) ( (_d[3] & (0xFFU)) ); + _m->ESC_AY_Val_ro = (uint16_t) ( ((_d[5] & (0xFFU)) << 8U) | (_d[4] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->ESC_AY_Val_phys = (sigfloat_t)(CANDB_ESC_AY_Val_ro_fromS(_m->ESC_AY_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->ESC_YRS_01_RC = (uint8_t) ( (_d[6] & (0x0FU)) ); + _m->ESC_AY_Stat = (uint8_t) ( ((_d[6] >> 4U) & (0x0FU)) ); + _m->ESC_YRS_01_CS = (uint8_t) ( (_d[7] & (0xFFU)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < ESC_YRS_01_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_ESC_YRS_01_candb(&_m->mon1, ESC_YRS_01_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return ESC_YRS_01_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_ESC_YRS_01_candb(ESC_YRS_01_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(ESC_YRS_01_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->ESC_PSIP1_Val_ro = (uint16_t) CANDB_ESC_PSIP1_Val_ro_toS(_m->ESC_PSIP1_Val_phys); + _m->ESC_AY_Val_ro = (uint16_t) CANDB_ESC_AY_Val_ro_toS(_m->ESC_AY_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + cframe->Data[0] |= (uint8_t) ( (_m->ESC_PSIP1_Val_ro & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->ESC_PSIP1_Val_ro >> 8U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( (_m->ESC_CLU_Stat & (0x0FU)) | ((_m->ESC_PSIP1_Stat & (0x0FU)) << 4U) ); + cframe->Data[3] |= (uint8_t) ( (_m->ESC_Reserve1 & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( (_m->ESC_AY_Val_ro & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->ESC_AY_Val_ro >> 8U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( (_m->ESC_YRS_01_RC & (0x0FU)) | ((_m->ESC_AY_Stat & (0x0FU)) << 4U) ); + cframe->Data[7] |= (uint8_t) ( (_m->ESC_YRS_01_CS & (0xFFU)) ); + + cframe->MsgId = (uint32_t) ESC_YRS_01_CANID; + cframe->DLC = (uint8_t) ESC_YRS_01_DLC; + cframe->IDE = (uint8_t) ESC_YRS_01_IDE; + return ESC_YRS_01_CANID; +} + +#else + +uint32_t Pack_ESC_YRS_01_candb(ESC_YRS_01_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(ESC_YRS_01_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->ESC_PSIP1_Val_ro = (uint16_t) CANDB_ESC_PSIP1_Val_ro_toS(_m->ESC_PSIP1_Val_phys); + _m->ESC_AY_Val_ro = (uint16_t) CANDB_ESC_AY_Val_ro_toS(_m->ESC_AY_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + _d[0] |= (uint8_t) ( (_m->ESC_PSIP1_Val_ro & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->ESC_PSIP1_Val_ro >> 8U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( (_m->ESC_CLU_Stat & (0x0FU)) | ((_m->ESC_PSIP1_Stat & (0x0FU)) << 4U) ); + _d[3] |= (uint8_t) ( (_m->ESC_Reserve1 & (0xFFU)) ); + _d[4] |= (uint8_t) ( (_m->ESC_AY_Val_ro & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->ESC_AY_Val_ro >> 8U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( (_m->ESC_YRS_01_RC & (0x0FU)) | ((_m->ESC_AY_Stat & (0x0FU)) << 4U) ); + _d[7] |= (uint8_t) ( (_m->ESC_YRS_01_CS & (0xFFU)) ); + + *_len = (uint8_t) ESC_YRS_01_DLC; + *_ide = (uint8_t) ESC_YRS_01_IDE; + return ESC_YRS_01_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + uint32_t Unpack_EMS_Veh_candb(EMS_Veh_t* _m, const uint8_t* _d, uint8_t dlc_) { (void)dlc_; @@ -127,6 +1489,17 @@ uint32_t Unpack_EMS_Veh_candb(EMS_Veh_t* _m, const uint8_t* _d, uint8_t dlc_) _m->EMS_EngCoolTemp_Val_phys = (int16_t) CANDB_EMS_EngCoolTemp_Val_ro_fromS(_m->EMS_EngCoolTemp_Val_ro); #endif // CANDB_USE_SIGFLOAT + _m->EMS_BARO_ENG_Val = (uint8_t) ( (_d[3] & (0xFFU)) ); + _m->EMS_AccelPdlPosnOBD_Val = (uint8_t) ( (_d[4] & (0xFFU)) ); + _m->EMS_EngTrqStatic_Val_ro = (uint16_t) ( ((_d[6] & (0x1FU)) << 8U) | (_d[5] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->EMS_EngTrqStatic_Val_phys = (sigfloat_t)(CANDB_EMS_EngTrqStatic_Val_ro_fromS(_m->EMS_EngTrqStatic_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->EMS_HvSystemFailure = (uint8_t) ( ((_d[6] >> 5U) & (0x03U)) ); + _m->EMS_CoolLiquidLowWarning = (uint8_t) ( ((_d[6] >> 7U) & (0x01U)) ); + _m->EMS_InstFuelConsumption = (uint8_t) ( (_d[7] & (0xFFU)) ); + #ifdef CANDB_USE_DIAG_MONITORS _m->mon1.dlc_error = (dlc_ < EMS_Veh_DLC); _m->mon1.last_cycle = GetSystemTick(); @@ -147,11 +1520,17 @@ uint32_t Pack_EMS_Veh_candb(EMS_Veh_t* _m, __CoderDbcCanFrame_t__* cframe) #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); + _m->EMS_EngTrqStatic_Val_ro = (uint16_t) CANDB_EMS_EngTrqStatic_Val_ro_toS(_m->EMS_EngTrqStatic_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->Data[3] |= (uint8_t) ( (_m->EMS_BARO_ENG_Val & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( (_m->EMS_AccelPdlPosnOBD_Val & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( (_m->EMS_EngTrqStatic_Val_ro & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->EMS_EngTrqStatic_Val_ro >> 8U) & (0x1FU)) | ((_m->EMS_HvSystemFailure & (0x03U)) << 5U) | ((_m->EMS_CoolLiquidLowWarning & (0x01U)) << 7U) ); + cframe->Data[7] |= (uint8_t) ( (_m->EMS_InstFuelConsumption & (0xFFU)) ); cframe->MsgId = (uint32_t) EMS_Veh_CANID; cframe->DLC = (uint8_t) EMS_Veh_DLC; @@ -168,11 +1547,17 @@ uint32_t Pack_EMS_Veh_candb(EMS_Veh_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* #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); + _m->EMS_EngTrqStatic_Val_ro = (uint16_t) CANDB_EMS_EngTrqStatic_Val_ro_toS(_m->EMS_EngTrqStatic_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)) ); + _d[3] |= (uint8_t) ( (_m->EMS_BARO_ENG_Val & (0xFFU)) ); + _d[4] |= (uint8_t) ( (_m->EMS_AccelPdlPosnOBD_Val & (0xFFU)) ); + _d[5] |= (uint8_t) ( (_m->EMS_EngTrqStatic_Val_ro & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->EMS_EngTrqStatic_Val_ro >> 8U) & (0x1FU)) | ((_m->EMS_HvSystemFailure & (0x03U)) << 5U) | ((_m->EMS_CoolLiquidLowWarning & (0x01U)) << 7U) ); + _d[7] |= (uint8_t) ( (_m->EMS_InstFuelConsumption & (0xFFU)) ); *_len = (uint8_t) EMS_Veh_DLC; *_ide = (uint8_t) EMS_Veh_IDE; @@ -181,6 +1566,79 @@ uint32_t Pack_EMS_Veh_candb(EMS_Veh_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* #endif // CANDB_USE_CANSTRUCT +uint32_t Unpack_EMS_Indicators_candb(EMS_Indicators_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->EMS_EngOilTemp_Val_ro = (uint8_t) ( (_d[0] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->EMS_EngOilTemp_Val_phys = (int16_t) CANDB_EMS_EngOilTemp_Val_ro_fromS(_m->EMS_EngOilTemp_Val_ro); +#endif // CANDB_USE_SIGFLOAT + + _m->EMS_OilLvl_Val_ro = (uint8_t) ( (_d[1] & (0x7FU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->EMS_OilLvl_Val_phys = (sigfloat_t)(CANDB_EMS_OilLvl_Val_ro_fromS(_m->EMS_OilLvl_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->EMS_MILblink_Req = (uint8_t) ( (_d[2] & (0x01U)) ); + _m->EMS_EngOilLvInd_Stat = (uint8_t) ( ((_d[2] >> 1U) & (0x03U)) ); + _m->EMS_MILon_Req = (uint8_t) ( ((_d[2] >> 3U) & (0x01U)) ); + _m->EMS_LTCcoolantLvl_Stat = (uint8_t) ( ((_d[2] >> 4U) & (0x01U)) ); + _m->EMS_OilPresWarn_Stat = (uint8_t) ( ((_d[2] >> 5U) & (0x01U)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < EMS_Indicators_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_EMS_Indicators_candb(&_m->mon1, EMS_Indicators_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return EMS_Indicators_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_EMS_Indicators_candb(EMS_Indicators_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(EMS_Indicators_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->EMS_EngOilTemp_Val_ro = (uint8_t) CANDB_EMS_EngOilTemp_Val_ro_toS(_m->EMS_EngOilTemp_Val_phys); + _m->EMS_OilLvl_Val_ro = (uint8_t) CANDB_EMS_OilLvl_Val_ro_toS(_m->EMS_OilLvl_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + cframe->Data[0] |= (uint8_t) ( (_m->EMS_EngOilTemp_Val_ro & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( (_m->EMS_OilLvl_Val_ro & (0x7FU)) ); + cframe->Data[2] |= (uint8_t) ( (_m->EMS_MILblink_Req & (0x01U)) | ((_m->EMS_EngOilLvInd_Stat & (0x03U)) << 1U) | ((_m->EMS_MILon_Req & (0x01U)) << 3U) | ((_m->EMS_LTCcoolantLvl_Stat & (0x01U)) << 4U) | ((_m->EMS_OilPresWarn_Stat & (0x01U)) << 5U) ); + + cframe->MsgId = (uint32_t) EMS_Indicators_CANID; + cframe->DLC = (uint8_t) EMS_Indicators_DLC; + cframe->IDE = (uint8_t) EMS_Indicators_IDE; + return EMS_Indicators_CANID; +} + +#else + +uint32_t Pack_EMS_Indicators_candb(EMS_Indicators_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(EMS_Indicators_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->EMS_EngOilTemp_Val_ro = (uint8_t) CANDB_EMS_EngOilTemp_Val_ro_toS(_m->EMS_EngOilTemp_Val_phys); + _m->EMS_OilLvl_Val_ro = (uint8_t) CANDB_EMS_OilLvl_Val_ro_toS(_m->EMS_OilLvl_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + _d[0] |= (uint8_t) ( (_m->EMS_EngOilTemp_Val_ro & (0xFFU)) ); + _d[1] |= (uint8_t) ( (_m->EMS_OilLvl_Val_ro & (0x7FU)) ); + _d[2] |= (uint8_t) ( (_m->EMS_MILblink_Req & (0x01U)) | ((_m->EMS_EngOilLvInd_Stat & (0x03U)) << 1U) | ((_m->EMS_MILon_Req & (0x01U)) << 3U) | ((_m->EMS_LTCcoolantLvl_Stat & (0x01U)) << 4U) | ((_m->EMS_OilPresWarn_Stat & (0x01U)) << 5U) ); + + *_len = (uint8_t) EMS_Indicators_DLC; + *_ide = (uint8_t) EMS_Indicators_IDE; + return EMS_Indicators_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + uint32_t Unpack_BCM_Powertrain_candb(BCM_Powertrain_t* _m, const uint8_t* _d, uint8_t dlc_) { (void)dlc_; @@ -189,7 +1647,16 @@ uint32_t Unpack_BCM_Powertrain_candb(BCM_Powertrain_t* _m, const uint8_t* _d, ui _m->BCM_AmbTempRaw_phys = (sigfloat_t)(CANDB_BCM_AmbTempRaw_ro_fromS(_m->BCM_AmbTempRaw_ro)); #endif // CANDB_USE_SIGFLOAT + _m->AvgFuelLvl_ro = (uint16_t) ( ((_d[3] & (0x01U)) << 8U) | (_d[2] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->AvgFuelLvl_phys = (sigfloat_t)(CANDB_AvgFuelLvl_ro_fromS(_m->AvgFuelLvl_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->BCM_T50_Request = (uint8_t) ( ((_d[3] >> 5U) & (0x01U)) ); + _m->RemoteICEStartReq = (uint8_t) ( ((_d[3] >> 6U) & (0x01U)) ); + _m->BCM_HVAC_Pump_Req = (uint8_t) ( ((_d[3] >> 7U) & (0x01U)) ); _m->BCM_Powertrain_RC = (uint8_t) ( (_d[4] & (0x0FU)) ); + _m->BCM_VAU_Authorization_Req = (uint8_t) ( ((_d[4] >> 5U) & (0x07U)) ); _m->BCM_Powertrain_CS = (uint8_t) ( (_d[5] & (0xFFU)) ); #ifdef CANDB_USE_DIAG_MONITORS @@ -211,11 +1678,14 @@ uint32_t Pack_BCM_Powertrain_candb(BCM_Powertrain_t* _m, __CoderDbcCanFrame_t__* #ifdef CANDB_USE_SIGFLOAT _m->BCM_AmbTempRaw_ro = (uint16_t) CANDB_BCM_AmbTempRaw_ro_toS(_m->BCM_AmbTempRaw_phys); + _m->AvgFuelLvl_ro = (uint16_t) CANDB_AvgFuelLvl_ro_toS(_m->AvgFuelLvl_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[2] |= (uint8_t) ( (_m->AvgFuelLvl_ro & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->AvgFuelLvl_ro >> 8U) & (0x01U)) | ((_m->BCM_T50_Request & (0x01U)) << 5U) | ((_m->RemoteICEStartReq & (0x01U)) << 6U) | ((_m->BCM_HVAC_Pump_Req & (0x01U)) << 7U) ); + cframe->Data[4] |= (uint8_t) ( (_m->BCM_Powertrain_RC & (0x0FU)) | ((_m->BCM_VAU_Authorization_Req & (0x07U)) << 5U) ); cframe->Data[5] |= (uint8_t) ( (_m->BCM_Powertrain_CS & (0xFFU)) ); cframe->MsgId = (uint32_t) BCM_Powertrain_CANID; @@ -232,11 +1702,14 @@ uint32_t Pack_BCM_Powertrain_candb(BCM_Powertrain_t* _m, uint8_t* _d, uint8_t* _ #ifdef CANDB_USE_SIGFLOAT _m->BCM_AmbTempRaw_ro = (uint16_t) CANDB_BCM_AmbTempRaw_ro_toS(_m->BCM_AmbTempRaw_phys); + _m->AvgFuelLvl_ro = (uint16_t) CANDB_AvgFuelLvl_ro_toS(_m->AvgFuelLvl_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[2] |= (uint8_t) ( (_m->AvgFuelLvl_ro & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->AvgFuelLvl_ro >> 8U) & (0x01U)) | ((_m->BCM_T50_Request & (0x01U)) << 5U) | ((_m->RemoteICEStartReq & (0x01U)) << 6U) | ((_m->BCM_HVAC_Pump_Req & (0x01U)) << 7U) ); + _d[4] |= (uint8_t) ( (_m->BCM_Powertrain_RC & (0x0FU)) | ((_m->BCM_VAU_Authorization_Req & (0x07U)) << 5U) ); _d[5] |= (uint8_t) ( (_m->BCM_Powertrain_CS & (0xFFU)) ); *_len = (uint8_t) BCM_Powertrain_DLC; @@ -249,11 +1722,13 @@ uint32_t Pack_BCM_Powertrain_candb(BCM_Powertrain_t* _m, uint8_t* _d, uint8_t* _ uint32_t Unpack_EMS_Veh_02_candb(EMS_Veh_02_t* _m, const uint8_t* _d, uint8_t dlc_) { (void)dlc_; + _m->EMS_CoEng_Stat = (uint8_t) ( (_d[0] & (0x07U)) ); _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_NAMI_Stat = (uint8_t) ( ((_d[1] >> 3U) & (0x01U)) ); _m->EMS_Veh_02_RC = (uint8_t) ( ((_d[1] >> 4U) & (0x0FU)) ); _m->EMS_Veh_02_CS = (uint8_t) ( (_d[2] & (0xFFU)) ); @@ -278,8 +1753,8 @@ uint32_t Pack_EMS_Veh_02_candb(EMS_Veh_02_t* _m, __CoderDbcCanFrame_t__* cframe) _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[0] |= (uint8_t) ( (_m->EMS_CoEng_Stat & (0x07U)) | ((_m->BMS_ActualTemp_Val_ro & (0x1FU)) << 3U) ); + cframe->Data[1] |= (uint8_t) ( ((_m->BMS_ActualTemp_Val_ro >> 5U) & (0x07U)) | ((_m->EMS_NAMI_Stat & (0x01U)) << 3U) | ((_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; @@ -298,8 +1773,8 @@ uint32_t Pack_EMS_Veh_02_candb(EMS_Veh_02_t* _m, uint8_t* _d, uint8_t* _len, uin _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[0] |= (uint8_t) ( (_m->EMS_CoEng_Stat & (0x07U)) | ((_m->BMS_ActualTemp_Val_ro & (0x1FU)) << 3U) ); + _d[1] |= (uint8_t) ( ((_m->BMS_ActualTemp_Val_ro >> 5U) & (0x07U)) | ((_m->EMS_NAMI_Stat & (0x01U)) << 3U) | ((_m->EMS_Veh_02_RC & (0x0FU)) << 4U) ); _d[2] |= (uint8_t) ( (_m->EMS_Veh_02_CS & (0xFFU)) ); *_len = (uint8_t) EMS_Veh_02_DLC; @@ -309,12 +1784,208 @@ uint32_t Pack_EMS_Veh_02_candb(EMS_Veh_02_t* _m, uint8_t* _d, uint8_t* _len, uin #endif // CANDB_USE_CANSTRUCT +uint32_t Unpack_EMS_EEM_01_candb(EMS_EEM_01_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->EMS_ActCurrLV_DCDC1_ro = (uint16_t) ( ((_d[1] & (0xFFU)) << 8U) | (_d[0] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->EMS_ActCurrLV_DCDC1_phys = (sigfloat_t)(CANDB_EMS_ActCurrLV_DCDC1_ro_fromS(_m->EMS_ActCurrLV_DCDC1_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->EMS_ActVoltLV_DCDC1_ro = (uint16_t) ( ((_d[3] & (0x03U)) << 8U) | (_d[2] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->EMS_ActVoltLV_DCDC1_phys = (sigfloat_t)(CANDB_EMS_ActVoltLV_DCDC1_ro_fromS(_m->EMS_ActVoltLV_DCDC1_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->EMS_ErrPrfLim_DCDC1 = (uint8_t) ( ((_d[3] >> 2U) & (0x01U)) ); + _m->EMS_Err_DCDC1 = (uint8_t) ( ((_d[3] >> 3U) & (0x01U)) ); + _m->EMS_stMode_DCDC1 = (uint8_t) ( ((_d[3] >> 4U) & (0x01U)) ); + _m->EMS_UtilRate_DCDC1_ro = (uint16_t) ( ((_d[5] & (0x03U)) << 8U) | (_d[4] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->EMS_UtilRate_DCDC1_phys = (sigfloat_t)(CANDB_EMS_UtilRate_DCDC1_ro_fromS(_m->EMS_UtilRate_DCDC1_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->EMS_EEM_01_RC = (uint8_t) ( ((_d[5] >> 4U) & (0x0FU)) ); + _m->EMS_EEM_01_CS = (uint8_t) ( (_d[6] & (0xFFU)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < EMS_EEM_01_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_EMS_EEM_01_candb(&_m->mon1, EMS_EEM_01_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return EMS_EEM_01_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_EMS_EEM_01_candb(EMS_EEM_01_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(EMS_EEM_01_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->EMS_ActCurrLV_DCDC1_ro = (uint16_t) CANDB_EMS_ActCurrLV_DCDC1_ro_toS(_m->EMS_ActCurrLV_DCDC1_phys); + _m->EMS_ActVoltLV_DCDC1_ro = (uint16_t) CANDB_EMS_ActVoltLV_DCDC1_ro_toS(_m->EMS_ActVoltLV_DCDC1_phys); + _m->EMS_UtilRate_DCDC1_ro = (uint16_t) CANDB_EMS_UtilRate_DCDC1_ro_toS(_m->EMS_UtilRate_DCDC1_phys); +#endif // CANDB_USE_SIGFLOAT + + cframe->Data[0] |= (uint8_t) ( (_m->EMS_ActCurrLV_DCDC1_ro & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->EMS_ActCurrLV_DCDC1_ro >> 8U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( (_m->EMS_ActVoltLV_DCDC1_ro & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->EMS_ActVoltLV_DCDC1_ro >> 8U) & (0x03U)) | ((_m->EMS_ErrPrfLim_DCDC1 & (0x01U)) << 2U) | ((_m->EMS_Err_DCDC1 & (0x01U)) << 3U) | ((_m->EMS_stMode_DCDC1 & (0x01U)) << 4U) ); + cframe->Data[4] |= (uint8_t) ( (_m->EMS_UtilRate_DCDC1_ro & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->EMS_UtilRate_DCDC1_ro >> 8U) & (0x03U)) | ((_m->EMS_EEM_01_RC & (0x0FU)) << 4U) ); + cframe->Data[6] |= (uint8_t) ( (_m->EMS_EEM_01_CS & (0xFFU)) ); + + cframe->MsgId = (uint32_t) EMS_EEM_01_CANID; + cframe->DLC = (uint8_t) EMS_EEM_01_DLC; + cframe->IDE = (uint8_t) EMS_EEM_01_IDE; + return EMS_EEM_01_CANID; +} + +#else + +uint32_t Pack_EMS_EEM_01_candb(EMS_EEM_01_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(EMS_EEM_01_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->EMS_ActCurrLV_DCDC1_ro = (uint16_t) CANDB_EMS_ActCurrLV_DCDC1_ro_toS(_m->EMS_ActCurrLV_DCDC1_phys); + _m->EMS_ActVoltLV_DCDC1_ro = (uint16_t) CANDB_EMS_ActVoltLV_DCDC1_ro_toS(_m->EMS_ActVoltLV_DCDC1_phys); + _m->EMS_UtilRate_DCDC1_ro = (uint16_t) CANDB_EMS_UtilRate_DCDC1_ro_toS(_m->EMS_UtilRate_DCDC1_phys); +#endif // CANDB_USE_SIGFLOAT + + _d[0] |= (uint8_t) ( (_m->EMS_ActCurrLV_DCDC1_ro & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->EMS_ActCurrLV_DCDC1_ro >> 8U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( (_m->EMS_ActVoltLV_DCDC1_ro & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->EMS_ActVoltLV_DCDC1_ro >> 8U) & (0x03U)) | ((_m->EMS_ErrPrfLim_DCDC1 & (0x01U)) << 2U) | ((_m->EMS_Err_DCDC1 & (0x01U)) << 3U) | ((_m->EMS_stMode_DCDC1 & (0x01U)) << 4U) ); + _d[4] |= (uint8_t) ( (_m->EMS_UtilRate_DCDC1_ro & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->EMS_UtilRate_DCDC1_ro >> 8U) & (0x03U)) | ((_m->EMS_EEM_01_RC & (0x0FU)) << 4U) ); + _d[6] |= (uint8_t) ( (_m->EMS_EEM_01_CS & (0xFFU)) ); + + *_len = (uint8_t) EMS_EEM_01_DLC; + *_ide = (uint8_t) EMS_EEM_01_IDE; + return EMS_EEM_01_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_EMS_EEM_02_candb(EMS_EEM_02_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->EMS_ActCurrLV_DCDC2_ro = (uint16_t) ( ((_d[1] & (0xFFU)) << 8U) | (_d[0] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->EMS_ActCurrLV_DCDC2_phys = (sigfloat_t)(CANDB_EMS_ActCurrLV_DCDC2_ro_fromS(_m->EMS_ActCurrLV_DCDC2_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->EMS_ActVoltLV_DCDC2_ro = (uint16_t) ( ((_d[3] & (0x03U)) << 8U) | (_d[2] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->EMS_ActVoltLV_DCDC2_phys = (sigfloat_t)(CANDB_EMS_ActVoltLV_DCDC2_ro_fromS(_m->EMS_ActVoltLV_DCDC2_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->EMS_ErrPrfLim_DCDC2 = (uint8_t) ( ((_d[3] >> 2U) & (0x01U)) ); + _m->EMS_Err_DCDC2 = (uint8_t) ( ((_d[3] >> 3U) & (0x01U)) ); + _m->EMS_stMode_DCDC2 = (uint8_t) ( ((_d[3] >> 4U) & (0x01U)) ); + _m->EMS_UtilRate_DCDC2_ro = (uint16_t) ( ((_d[5] & (0x03U)) << 8U) | (_d[4] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->EMS_UtilRate_DCDC2_phys = (sigfloat_t)(CANDB_EMS_UtilRate_DCDC2_ro_fromS(_m->EMS_UtilRate_DCDC2_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->EMS_EEM_02_RC = (uint8_t) ( ((_d[5] >> 4U) & (0x0FU)) ); + _m->EMS_EEM_02_CS = (uint8_t) ( (_d[6] & (0xFFU)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < EMS_EEM_02_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_EMS_EEM_02_candb(&_m->mon1, EMS_EEM_02_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return EMS_EEM_02_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_EMS_EEM_02_candb(EMS_EEM_02_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(EMS_EEM_02_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->EMS_ActCurrLV_DCDC2_ro = (uint16_t) CANDB_EMS_ActCurrLV_DCDC2_ro_toS(_m->EMS_ActCurrLV_DCDC2_phys); + _m->EMS_ActVoltLV_DCDC2_ro = (uint16_t) CANDB_EMS_ActVoltLV_DCDC2_ro_toS(_m->EMS_ActVoltLV_DCDC2_phys); + _m->EMS_UtilRate_DCDC2_ro = (uint16_t) CANDB_EMS_UtilRate_DCDC2_ro_toS(_m->EMS_UtilRate_DCDC2_phys); +#endif // CANDB_USE_SIGFLOAT + + cframe->Data[0] |= (uint8_t) ( (_m->EMS_ActCurrLV_DCDC2_ro & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->EMS_ActCurrLV_DCDC2_ro >> 8U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( (_m->EMS_ActVoltLV_DCDC2_ro & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->EMS_ActVoltLV_DCDC2_ro >> 8U) & (0x03U)) | ((_m->EMS_ErrPrfLim_DCDC2 & (0x01U)) << 2U) | ((_m->EMS_Err_DCDC2 & (0x01U)) << 3U) | ((_m->EMS_stMode_DCDC2 & (0x01U)) << 4U) ); + cframe->Data[4] |= (uint8_t) ( (_m->EMS_UtilRate_DCDC2_ro & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->EMS_UtilRate_DCDC2_ro >> 8U) & (0x03U)) | ((_m->EMS_EEM_02_RC & (0x0FU)) << 4U) ); + cframe->Data[6] |= (uint8_t) ( (_m->EMS_EEM_02_CS & (0xFFU)) ); + + cframe->MsgId = (uint32_t) EMS_EEM_02_CANID; + cframe->DLC = (uint8_t) EMS_EEM_02_DLC; + cframe->IDE = (uint8_t) EMS_EEM_02_IDE; + return EMS_EEM_02_CANID; +} + +#else + +uint32_t Pack_EMS_EEM_02_candb(EMS_EEM_02_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(EMS_EEM_02_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->EMS_ActCurrLV_DCDC2_ro = (uint16_t) CANDB_EMS_ActCurrLV_DCDC2_ro_toS(_m->EMS_ActCurrLV_DCDC2_phys); + _m->EMS_ActVoltLV_DCDC2_ro = (uint16_t) CANDB_EMS_ActVoltLV_DCDC2_ro_toS(_m->EMS_ActVoltLV_DCDC2_phys); + _m->EMS_UtilRate_DCDC2_ro = (uint16_t) CANDB_EMS_UtilRate_DCDC2_ro_toS(_m->EMS_UtilRate_DCDC2_phys); +#endif // CANDB_USE_SIGFLOAT + + _d[0] |= (uint8_t) ( (_m->EMS_ActCurrLV_DCDC2_ro & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->EMS_ActCurrLV_DCDC2_ro >> 8U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( (_m->EMS_ActVoltLV_DCDC2_ro & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->EMS_ActVoltLV_DCDC2_ro >> 8U) & (0x03U)) | ((_m->EMS_ErrPrfLim_DCDC2 & (0x01U)) << 2U) | ((_m->EMS_Err_DCDC2 & (0x01U)) << 3U) | ((_m->EMS_stMode_DCDC2 & (0x01U)) << 4U) ); + _d[4] |= (uint8_t) ( (_m->EMS_UtilRate_DCDC2_ro & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->EMS_UtilRate_DCDC2_ro >> 8U) & (0x03U)) | ((_m->EMS_EEM_02_RC & (0x0FU)) << 4U) ); + _d[6] |= (uint8_t) ( (_m->EMS_EEM_02_CS & (0xFFU)) ); + + *_len = (uint8_t) EMS_EEM_02_DLC; + *_ide = (uint8_t) EMS_EEM_02_IDE; + return EMS_EEM_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_VolReqLV_DCDC1_ro = (uint16_t) ( ((_d[1] & (0x03U)) << 8U) | (_d[0] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_EEM_VolReqLV_DCDC1_phys = (sigfloat_t)(CANDB_BCM_EEM_VolReqLV_DCDC1_ro_fromS(_m->BCM_EEM_VolReqLV_DCDC1_ro)); +#endif // CANDB_USE_SIGFLOAT + _m->BCM_EEM_StPowMgn = (uint8_t) ( ((_d[1] >> 2U) & (0x07U)) ); + _m->BCM_EEM_PowMngtReqDisp = (uint8_t) ( ((_d[1] >> 5U) & (0x01U)) ); + _m->BCM_EEM_VolReqLV_DCDC2_ro = (uint16_t) ( ((_d[3] & (0x03U)) << 8U) | (_d[2] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_EEM_VolReqLV_DCDC2_phys = (sigfloat_t)(CANDB_BCM_EEM_VolReqLV_DCDC2_ro_fromS(_m->BCM_EEM_VolReqLV_DCDC2_ro)); +#endif // CANDB_USE_SIGFLOAT + _m->BCM_EEM_RC = (uint8_t) ( ((_d[3] >> 4U) & (0x0FU)) ); _m->BCM_EEM_CS = (uint8_t) ( (_d[4] & (0xFFU)) ); + _m->BCM_EEM_CurrLimLV_DCDC1_ro = (uint16_t) ( ((_d[6] & (0x0FU)) << 8U) | (_d[5] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_EEM_CurrLimLV_DCDC1_phys = (sigfloat_t)(CANDB_BCM_EEM_CurrLimLV_DCDC1_ro_fromS(_m->BCM_EEM_CurrLimLV_DCDC1_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->BCM_EEM_CurrLimLV_DCDC2_ro = (uint16_t) ( ((_d[7] & (0xFFU)) << 4U) | ((_d[6] >> 4U) & (0x0FU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_EEM_CurrLimLV_DCDC2_phys = (sigfloat_t)(CANDB_BCM_EEM_CurrLimLV_DCDC2_ro_fromS(_m->BCM_EEM_CurrLimLV_DCDC2_ro)); +#endif // CANDB_USE_SIGFLOAT #ifdef CANDB_USE_DIAG_MONITORS _m->mon1.dlc_error = (dlc_ < BCM_EEM_DLC); @@ -333,9 +2004,21 @@ 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) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_EEM_VolReqLV_DCDC1_ro = (uint16_t) CANDB_BCM_EEM_VolReqLV_DCDC1_ro_toS(_m->BCM_EEM_VolReqLV_DCDC1_phys); + _m->BCM_EEM_VolReqLV_DCDC2_ro = (uint16_t) CANDB_BCM_EEM_VolReqLV_DCDC2_ro_toS(_m->BCM_EEM_VolReqLV_DCDC2_phys); + _m->BCM_EEM_CurrLimLV_DCDC1_ro = (uint16_t) CANDB_BCM_EEM_CurrLimLV_DCDC1_ro_toS(_m->BCM_EEM_CurrLimLV_DCDC1_phys); + _m->BCM_EEM_CurrLimLV_DCDC2_ro = (uint16_t) CANDB_BCM_EEM_CurrLimLV_DCDC2_ro_toS(_m->BCM_EEM_CurrLimLV_DCDC2_phys); +#endif // CANDB_USE_SIGFLOAT + + cframe->Data[0] |= (uint8_t) ( (_m->BCM_EEM_VolReqLV_DCDC1_ro & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->BCM_EEM_VolReqLV_DCDC1_ro >> 8U) & (0x03U)) | ((_m->BCM_EEM_StPowMgn & (0x07U)) << 2U) | ((_m->BCM_EEM_PowMngtReqDisp & (0x01U)) << 5U) ); + cframe->Data[2] |= (uint8_t) ( (_m->BCM_EEM_VolReqLV_DCDC2_ro & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->BCM_EEM_VolReqLV_DCDC2_ro >> 8U) & (0x03U)) | ((_m->BCM_EEM_RC & (0x0FU)) << 4U) ); cframe->Data[4] |= (uint8_t) ( (_m->BCM_EEM_CS & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( (_m->BCM_EEM_CurrLimLV_DCDC1_ro & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->BCM_EEM_CurrLimLV_DCDC1_ro >> 8U) & (0x0FU)) | ((_m->BCM_EEM_CurrLimLV_DCDC2_ro & (0x0FU)) << 4U) ); + cframe->Data[7] |= (uint8_t) ( ((_m->BCM_EEM_CurrLimLV_DCDC2_ro >> 4U) & (0xFFU)) ); cframe->MsgId = (uint32_t) BCM_EEM_CANID; cframe->DLC = (uint8_t) BCM_EEM_DLC; @@ -349,9 +2032,21 @@ uint32_t Pack_BCM_EEM_candb(BCM_EEM_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* { 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) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_EEM_VolReqLV_DCDC1_ro = (uint16_t) CANDB_BCM_EEM_VolReqLV_DCDC1_ro_toS(_m->BCM_EEM_VolReqLV_DCDC1_phys); + _m->BCM_EEM_VolReqLV_DCDC2_ro = (uint16_t) CANDB_BCM_EEM_VolReqLV_DCDC2_ro_toS(_m->BCM_EEM_VolReqLV_DCDC2_phys); + _m->BCM_EEM_CurrLimLV_DCDC1_ro = (uint16_t) CANDB_BCM_EEM_CurrLimLV_DCDC1_ro_toS(_m->BCM_EEM_CurrLimLV_DCDC1_phys); + _m->BCM_EEM_CurrLimLV_DCDC2_ro = (uint16_t) CANDB_BCM_EEM_CurrLimLV_DCDC2_ro_toS(_m->BCM_EEM_CurrLimLV_DCDC2_phys); +#endif // CANDB_USE_SIGFLOAT + + _d[0] |= (uint8_t) ( (_m->BCM_EEM_VolReqLV_DCDC1_ro & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->BCM_EEM_VolReqLV_DCDC1_ro >> 8U) & (0x03U)) | ((_m->BCM_EEM_StPowMgn & (0x07U)) << 2U) | ((_m->BCM_EEM_PowMngtReqDisp & (0x01U)) << 5U) ); + _d[2] |= (uint8_t) ( (_m->BCM_EEM_VolReqLV_DCDC2_ro & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->BCM_EEM_VolReqLV_DCDC2_ro >> 8U) & (0x03U)) | ((_m->BCM_EEM_RC & (0x0FU)) << 4U) ); _d[4] |= (uint8_t) ( (_m->BCM_EEM_CS & (0xFFU)) ); + _d[5] |= (uint8_t) ( (_m->BCM_EEM_CurrLimLV_DCDC1_ro & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->BCM_EEM_CurrLimLV_DCDC1_ro >> 8U) & (0x0FU)) | ((_m->BCM_EEM_CurrLimLV_DCDC2_ro & (0x0FU)) << 4U) ); + _d[7] |= (uint8_t) ( ((_m->BCM_EEM_CurrLimLV_DCDC2_ro >> 4U) & (0xFFU)) ); *_len = (uint8_t) BCM_EEM_DLC; *_ide = (uint8_t) BCM_EEM_IDE; @@ -360,10 +2055,818 @@ uint32_t Pack_BCM_EEM_candb(BCM_EEM_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* #endif // CANDB_USE_CANSTRUCT +uint32_t Unpack_DAS_01_candb(DAS_01_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->DAS_CcAfsDecel_Req_ro = (uint16_t) ( ((_d[1] & (0xFFU)) << 8U) | (_d[0] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->DAS_CcAfsDecel_Req_phys = (sigfloat_t)(CANDB_DAS_CcAfsDecel_Req_ro_fromS(_m->DAS_CcAfsDecel_Req_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->DAS_AebRdaDecel_Req_ro = (uint16_t) ( ((_d[3] & (0xFFU)) << 8U) | (_d[2] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->DAS_AebRdaDecel_Req_phys = (sigfloat_t)(CANDB_DAS_AebRdaDecel_Req_ro_fromS(_m->DAS_AebRdaDecel_Req_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->DAS_CcBrakeLight_Req = (uint8_t) ( (_d[4] & (0x01U)) ); + _m->DAS_AebBoost_Req = (uint8_t) ( ((_d[4] >> 1U) & (0x01U)) ); + _m->DAS_AebPrefill_Req = (uint8_t) ( ((_d[4] >> 2U) & (0x01U)) ); + _m->DAS_AebPreCrash_Req = (uint8_t) ( ((_d[4] >> 3U) & (0x01U)) ); + _m->DAS_01_RC = (uint8_t) ( ((_d[4] >> 4U) & (0x0FU)) ); + _m->DAS_01_CS = (uint8_t) ( (_d[5] & (0xFFU)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < DAS_01_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_DAS_01_candb(&_m->mon1, DAS_01_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return DAS_01_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_DAS_01_candb(DAS_01_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(DAS_01_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->DAS_CcAfsDecel_Req_ro = (uint16_t) CANDB_DAS_CcAfsDecel_Req_ro_toS(_m->DAS_CcAfsDecel_Req_phys); + _m->DAS_AebRdaDecel_Req_ro = (uint16_t) CANDB_DAS_AebRdaDecel_Req_ro_toS(_m->DAS_AebRdaDecel_Req_phys); +#endif // CANDB_USE_SIGFLOAT + + cframe->Data[0] |= (uint8_t) ( (_m->DAS_CcAfsDecel_Req_ro & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->DAS_CcAfsDecel_Req_ro >> 8U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( (_m->DAS_AebRdaDecel_Req_ro & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->DAS_AebRdaDecel_Req_ro >> 8U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( (_m->DAS_CcBrakeLight_Req & (0x01U)) | ((_m->DAS_AebBoost_Req & (0x01U)) << 1U) | ((_m->DAS_AebPrefill_Req & (0x01U)) << 2U) | ((_m->DAS_AebPreCrash_Req & (0x01U)) << 3U) | ((_m->DAS_01_RC & (0x0FU)) << 4U) ); + cframe->Data[5] |= (uint8_t) ( (_m->DAS_01_CS & (0xFFU)) ); + + cframe->MsgId = (uint32_t) DAS_01_CANID; + cframe->DLC = (uint8_t) DAS_01_DLC; + cframe->IDE = (uint8_t) DAS_01_IDE; + return DAS_01_CANID; +} + +#else + +uint32_t Pack_DAS_01_candb(DAS_01_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(DAS_01_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->DAS_CcAfsDecel_Req_ro = (uint16_t) CANDB_DAS_CcAfsDecel_Req_ro_toS(_m->DAS_CcAfsDecel_Req_phys); + _m->DAS_AebRdaDecel_Req_ro = (uint16_t) CANDB_DAS_AebRdaDecel_Req_ro_toS(_m->DAS_AebRdaDecel_Req_phys); +#endif // CANDB_USE_SIGFLOAT + + _d[0] |= (uint8_t) ( (_m->DAS_CcAfsDecel_Req_ro & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->DAS_CcAfsDecel_Req_ro >> 8U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( (_m->DAS_AebRdaDecel_Req_ro & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->DAS_AebRdaDecel_Req_ro >> 8U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( (_m->DAS_CcBrakeLight_Req & (0x01U)) | ((_m->DAS_AebBoost_Req & (0x01U)) << 1U) | ((_m->DAS_AebPrefill_Req & (0x01U)) << 2U) | ((_m->DAS_AebPreCrash_Req & (0x01U)) << 3U) | ((_m->DAS_01_RC & (0x0FU)) << 4U) ); + _d[5] |= (uint8_t) ( (_m->DAS_01_CS & (0xFFU)) ); + + *_len = (uint8_t) DAS_01_DLC; + *_ide = (uint8_t) DAS_01_IDE; + return DAS_01_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_DAS_04_candb(DAS_04_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->DAS_AfsBrakeJerkLvl_Stat = (uint8_t) ( (_d[0] & (0xFFU)) ); + _m->DAS_CcDecelFlag_Req = (uint8_t) ( (_d[1] & (0x01U)) ); + _m->DAS_CcBrakeStandSt_Req = (uint8_t) ( ((_d[1] >> 1U) & (0x01U)) ); + _m->DAS_CcMode_Stat = (uint8_t) ( ((_d[1] >> 2U) & (0x03U)) ); + _m->DAS_AfsBrakeJerkEnab_Stat = (uint8_t) ( ((_d[1] >> 4U) & (0x01U)) ); + _m->DAS_AfsBrakeJerk_Req = (uint8_t) ( ((_d[1] >> 5U) & (0x01U)) ); + _m->DAS_CcBrakeRelease_Req = (uint8_t) ( ((_d[1] >> 6U) & (0x01U)) ); + _m->DAS_AebMode_Stat = (uint8_t) ( ((_d[1] >> 7U) & (0x01U)) ); + _m->DAS_AebDecelFlag_Req = (uint8_t) ( (_d[2] & (0x01U)) ); + _m->DAS_CcFuncError_Stat = (uint8_t) ( ((_d[2] >> 1U) & (0x01U)) ); + _m->DAS_AebRdaStand_Req = (uint8_t) ( ((_d[2] >> 2U) & (0x01U)) ); + _m->DAS_AebFuncError_Stat = (uint8_t) ( ((_d[2] >> 3U) & (0x01U)) ); + _m->DAS_04_RC = (uint8_t) ( ((_d[2] >> 4U) & (0x0FU)) ); + _m->DAS_04_CS = (uint8_t) ( (_d[3] & (0xFFU)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < DAS_04_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_DAS_04_candb(&_m->mon1, DAS_04_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return DAS_04_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_DAS_04_candb(DAS_04_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(DAS_04_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->DAS_AfsBrakeJerkLvl_Stat & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( (_m->DAS_CcDecelFlag_Req & (0x01U)) | ((_m->DAS_CcBrakeStandSt_Req & (0x01U)) << 1U) | ((_m->DAS_CcMode_Stat & (0x03U)) << 2U) | ((_m->DAS_AfsBrakeJerkEnab_Stat & (0x01U)) << 4U) | ((_m->DAS_AfsBrakeJerk_Req & (0x01U)) << 5U) | ((_m->DAS_CcBrakeRelease_Req & (0x01U)) << 6U) | ((_m->DAS_AebMode_Stat & (0x01U)) << 7U) ); + cframe->Data[2] |= (uint8_t) ( (_m->DAS_AebDecelFlag_Req & (0x01U)) | ((_m->DAS_CcFuncError_Stat & (0x01U)) << 1U) | ((_m->DAS_AebRdaStand_Req & (0x01U)) << 2U) | ((_m->DAS_AebFuncError_Stat & (0x01U)) << 3U) | ((_m->DAS_04_RC & (0x0FU)) << 4U) ); + cframe->Data[3] |= (uint8_t) ( (_m->DAS_04_CS & (0xFFU)) ); + + cframe->MsgId = (uint32_t) DAS_04_CANID; + cframe->DLC = (uint8_t) DAS_04_DLC; + cframe->IDE = (uint8_t) DAS_04_IDE; + return DAS_04_CANID; +} + +#else + +uint32_t Pack_DAS_04_candb(DAS_04_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(DAS_04_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->DAS_AfsBrakeJerkLvl_Stat & (0xFFU)) ); + _d[1] |= (uint8_t) ( (_m->DAS_CcDecelFlag_Req & (0x01U)) | ((_m->DAS_CcBrakeStandSt_Req & (0x01U)) << 1U) | ((_m->DAS_CcMode_Stat & (0x03U)) << 2U) | ((_m->DAS_AfsBrakeJerkEnab_Stat & (0x01U)) << 4U) | ((_m->DAS_AfsBrakeJerk_Req & (0x01U)) << 5U) | ((_m->DAS_CcBrakeRelease_Req & (0x01U)) << 6U) | ((_m->DAS_AebMode_Stat & (0x01U)) << 7U) ); + _d[2] |= (uint8_t) ( (_m->DAS_AebDecelFlag_Req & (0x01U)) | ((_m->DAS_CcFuncError_Stat & (0x01U)) << 1U) | ((_m->DAS_AebRdaStand_Req & (0x01U)) << 2U) | ((_m->DAS_AebFuncError_Stat & (0x01U)) << 3U) | ((_m->DAS_04_RC & (0x0FU)) << 4U) ); + _d[3] |= (uint8_t) ( (_m->DAS_04_CS & (0xFFU)) ); + + *_len = (uint8_t) DAS_04_DLC; + *_ide = (uint8_t) DAS_04_IDE; + return DAS_04_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_VCU_DriveInfo_candb(VCU_DriveInfo_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->VCU_SpecBut_Stat = (uint8_t) ( (_d[0] & (0x03U)) ); + _m->VCU_Fault_Stat = (uint8_t) ( ((_d[1] >> 3U) & (0x01U)) ); + _m->VCU_OverallActMotTrq_Val_ro = (uint16_t) ( ((_d[3] & (0xFFU)) << 8U) | (_d[2] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->VCU_OverallActMotTrq_Val_phys = (sigfloat_t)(CANDB_VCU_OverallActMotTrq_Val_ro_fromS(_m->VCU_OverallActMotTrq_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->VCU_DriveInfo_RC = (uint8_t) ( ((_d[6] >> 4U) & (0x0FU)) ); + _m->VCU_DriveInfo_CS = (uint8_t) ( (_d[7] & (0xFFU)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < VCU_DriveInfo_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_VCU_DriveInfo_candb(&_m->mon1, VCU_DriveInfo_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return VCU_DriveInfo_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_VCU_DriveInfo_candb(VCU_DriveInfo_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(VCU_DriveInfo_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->VCU_OverallActMotTrq_Val_ro = (uint16_t) CANDB_VCU_OverallActMotTrq_Val_ro_toS(_m->VCU_OverallActMotTrq_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + cframe->Data[0] |= (uint8_t) ( (_m->VCU_SpecBut_Stat & (0x03U)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->VCU_Fault_Stat & (0x01U)) << 3U) ); + cframe->Data[2] |= (uint8_t) ( (_m->VCU_OverallActMotTrq_Val_ro & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->VCU_OverallActMotTrq_Val_ro >> 8U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->VCU_DriveInfo_RC & (0x0FU)) << 4U) ); + cframe->Data[7] |= (uint8_t) ( (_m->VCU_DriveInfo_CS & (0xFFU)) ); + + cframe->MsgId = (uint32_t) VCU_DriveInfo_CANID; + cframe->DLC = (uint8_t) VCU_DriveInfo_DLC; + cframe->IDE = (uint8_t) VCU_DriveInfo_IDE; + return VCU_DriveInfo_CANID; +} + +#else + +uint32_t Pack_VCU_DriveInfo_candb(VCU_DriveInfo_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(VCU_DriveInfo_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->VCU_OverallActMotTrq_Val_ro = (uint16_t) CANDB_VCU_OverallActMotTrq_Val_ro_toS(_m->VCU_OverallActMotTrq_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + _d[0] |= (uint8_t) ( (_m->VCU_SpecBut_Stat & (0x03U)) ); + _d[1] |= (uint8_t) ( ((_m->VCU_Fault_Stat & (0x01U)) << 3U) ); + _d[2] |= (uint8_t) ( (_m->VCU_OverallActMotTrq_Val_ro & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->VCU_OverallActMotTrq_Val_ro >> 8U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->VCU_DriveInfo_RC & (0x0FU)) << 4U) ); + _d[7] |= (uint8_t) ( (_m->VCU_DriveInfo_CS & (0xFFU)) ); + + *_len = (uint8_t) VCU_DriveInfo_DLC; + *_ide = (uint8_t) VCU_DriveInfo_IDE; + return VCU_DriveInfo_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_DAS_02_candb(DAS_02_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->DAS_LkaAngleFlag_Req = (uint8_t) ( (_d[0] & (0x01U)) ); + _m->DAS_AfsMode_Stat = (uint8_t) ( ((_d[0] >> 1U) & (0x01U)) ); + _m->DAS_AfsDecelFlag_Req = (uint8_t) ( ((_d[0] >> 2U) & (0x01U)) ); + _m->DAS_AfsFuncError_Stat = (uint8_t) ( ((_d[0] >> 3U) & (0x01U)) ); + _m->DAS_AfsExecute_Req = (uint8_t) ( ((_d[0] >> 4U) & (0x01U)) ); + _m->DAS_AfsSos_Req = (uint8_t) ( ((_d[0] >> 5U) & (0x01U)) ); + _m->DAS_AfsEpb_Req = (uint8_t) ( ((_d[0] >> 6U) & (0x01U)) ); + _m->DAS_RdaMode_Stat = (uint8_t) ( ((_d[0] >> 7U) & (0x01U)) ); + _m->DAS_RdaDecelFlag_Req = (uint8_t) ( (_d[1] & (0x01U)) ); + _m->DAS_RdaFuncError_Stat = (uint8_t) ( ((_d[1] >> 1U) & (0x01U)) ); + _m->DAS_LkaMode_Stat = (uint8_t) ( ((_d[1] >> 2U) & (0x03U)) ); + _m->DAS_LkaFuncError_Stat = (uint8_t) ( ((_d[1] >> 4U) & (0x01U)) ); + _m->DAS_LdpAngleFlag_Req = (uint8_t) ( ((_d[1] >> 5U) & (0x01U)) ); + _m->DAS_LdpMode_Stat = (uint8_t) ( ((_d[1] >> 6U) & (0x01U)) ); + _m->DAS_LdwFuncError_Stat = (uint8_t) ( ((_d[1] >> 7U) & (0x01U)) ); + _m->DAS_AlccAngleFlag_Req = (uint8_t) ( (_d[2] & (0x01U)) ); + _m->DAS_AlccMode_Stat = (uint8_t) ( ((_d[2] >> 1U) & (0x01U)) ); + _m->DAS_LccFuncError_Stat = (uint8_t) ( ((_d[2] >> 2U) & (0x01U)) ); + _m->DAS_ApaAngleFlag_Req = (uint8_t) ( ((_d[2] >> 3U) & (0x01U)) ); + _m->DAS_LkaSteeringMode_Stat = (uint8_t) ( ((_d[2] >> 4U) & (0x01U)) ); + _m->DAS_AfsNotifError_Req = (uint8_t) ( ((_d[2] >> 5U) & (0x01U)) ); + _m->DAS_RctcMode_Stat = (uint8_t) ( ((_d[2] >> 6U) & (0x01U)) ); + _m->DAS_RctcDecelFlag_Req = (uint8_t) ( ((_d[2] >> 7U) & (0x01U)) ); + _m->DAS_RctcFuncError_Stat = (uint8_t) ( (_d[3] & (0x01U)) ); + _m->DAS_RctcNotifError_Req = (uint8_t) ( ((_d[3] >> 1U) & (0x01U)) ); + _m->DAS_AccFuncError_Stat = (uint8_t) ( ((_d[3] >> 2U) & (0x01U)) ); + _m->DAS_APAMode_Stat = (uint8_t) ( ((_d[3] >> 3U) & (0x01U)) ); + _m->DAS_ApaFuncError_Stat = (uint8_t) ( ((_d[3] >> 4U) & (0x01U)) ); + _m->DAS_LkaAngle_Req_ro = (uint16_t) ( ((_d[5] & (0x3FU)) << 8U) | (_d[4] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->DAS_LkaAngle_Req_phys = (sigfloat_t)(CANDB_DAS_LkaAngle_Req_ro_fromS(_m->DAS_LkaAngle_Req_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->DAS_RsaAngleDirection_Req = (uint8_t) ( ((_d[5] >> 6U) & (0x03U)) ); + _m->DAS_02_RC = (uint8_t) ( ((_d[6] >> 4U) & (0x0FU)) ); + _m->DAS_02_CS = (uint8_t) ( (_d[7] & (0xFFU)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < DAS_02_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_DAS_02_candb(&_m->mon1, DAS_02_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return DAS_02_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_DAS_02_candb(DAS_02_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(DAS_02_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->DAS_LkaAngle_Req_ro = (uint16_t) CANDB_DAS_LkaAngle_Req_ro_toS(_m->DAS_LkaAngle_Req_phys); +#endif // CANDB_USE_SIGFLOAT + + cframe->Data[0] |= (uint8_t) ( (_m->DAS_LkaAngleFlag_Req & (0x01U)) | ((_m->DAS_AfsMode_Stat & (0x01U)) << 1U) | ((_m->DAS_AfsDecelFlag_Req & (0x01U)) << 2U) | ((_m->DAS_AfsFuncError_Stat & (0x01U)) << 3U) | ((_m->DAS_AfsExecute_Req & (0x01U)) << 4U) | ((_m->DAS_AfsSos_Req & (0x01U)) << 5U) | ((_m->DAS_AfsEpb_Req & (0x01U)) << 6U) | ((_m->DAS_RdaMode_Stat & (0x01U)) << 7U) ); + cframe->Data[1] |= (uint8_t) ( (_m->DAS_RdaDecelFlag_Req & (0x01U)) | ((_m->DAS_RdaFuncError_Stat & (0x01U)) << 1U) | ((_m->DAS_LkaMode_Stat & (0x03U)) << 2U) | ((_m->DAS_LkaFuncError_Stat & (0x01U)) << 4U) | ((_m->DAS_LdpAngleFlag_Req & (0x01U)) << 5U) | ((_m->DAS_LdpMode_Stat & (0x01U)) << 6U) | ((_m->DAS_LdwFuncError_Stat & (0x01U)) << 7U) ); + cframe->Data[2] |= (uint8_t) ( (_m->DAS_AlccAngleFlag_Req & (0x01U)) | ((_m->DAS_AlccMode_Stat & (0x01U)) << 1U) | ((_m->DAS_LccFuncError_Stat & (0x01U)) << 2U) | ((_m->DAS_ApaAngleFlag_Req & (0x01U)) << 3U) | ((_m->DAS_LkaSteeringMode_Stat & (0x01U)) << 4U) | ((_m->DAS_AfsNotifError_Req & (0x01U)) << 5U) | ((_m->DAS_RctcMode_Stat & (0x01U)) << 6U) | ((_m->DAS_RctcDecelFlag_Req & (0x01U)) << 7U) ); + cframe->Data[3] |= (uint8_t) ( (_m->DAS_RctcFuncError_Stat & (0x01U)) | ((_m->DAS_RctcNotifError_Req & (0x01U)) << 1U) | ((_m->DAS_AccFuncError_Stat & (0x01U)) << 2U) | ((_m->DAS_APAMode_Stat & (0x01U)) << 3U) | ((_m->DAS_ApaFuncError_Stat & (0x01U)) << 4U) ); + cframe->Data[4] |= (uint8_t) ( (_m->DAS_LkaAngle_Req_ro & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->DAS_LkaAngle_Req_ro >> 8U) & (0x3FU)) | ((_m->DAS_RsaAngleDirection_Req & (0x03U)) << 6U) ); + cframe->Data[6] |= (uint8_t) ( ((_m->DAS_02_RC & (0x0FU)) << 4U) ); + cframe->Data[7] |= (uint8_t) ( (_m->DAS_02_CS & (0xFFU)) ); + + cframe->MsgId = (uint32_t) DAS_02_CANID; + cframe->DLC = (uint8_t) DAS_02_DLC; + cframe->IDE = (uint8_t) DAS_02_IDE; + return DAS_02_CANID; +} + +#else + +uint32_t Pack_DAS_02_candb(DAS_02_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(DAS_02_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->DAS_LkaAngle_Req_ro = (uint16_t) CANDB_DAS_LkaAngle_Req_ro_toS(_m->DAS_LkaAngle_Req_phys); +#endif // CANDB_USE_SIGFLOAT + + _d[0] |= (uint8_t) ( (_m->DAS_LkaAngleFlag_Req & (0x01U)) | ((_m->DAS_AfsMode_Stat & (0x01U)) << 1U) | ((_m->DAS_AfsDecelFlag_Req & (0x01U)) << 2U) | ((_m->DAS_AfsFuncError_Stat & (0x01U)) << 3U) | ((_m->DAS_AfsExecute_Req & (0x01U)) << 4U) | ((_m->DAS_AfsSos_Req & (0x01U)) << 5U) | ((_m->DAS_AfsEpb_Req & (0x01U)) << 6U) | ((_m->DAS_RdaMode_Stat & (0x01U)) << 7U) ); + _d[1] |= (uint8_t) ( (_m->DAS_RdaDecelFlag_Req & (0x01U)) | ((_m->DAS_RdaFuncError_Stat & (0x01U)) << 1U) | ((_m->DAS_LkaMode_Stat & (0x03U)) << 2U) | ((_m->DAS_LkaFuncError_Stat & (0x01U)) << 4U) | ((_m->DAS_LdpAngleFlag_Req & (0x01U)) << 5U) | ((_m->DAS_LdpMode_Stat & (0x01U)) << 6U) | ((_m->DAS_LdwFuncError_Stat & (0x01U)) << 7U) ); + _d[2] |= (uint8_t) ( (_m->DAS_AlccAngleFlag_Req & (0x01U)) | ((_m->DAS_AlccMode_Stat & (0x01U)) << 1U) | ((_m->DAS_LccFuncError_Stat & (0x01U)) << 2U) | ((_m->DAS_ApaAngleFlag_Req & (0x01U)) << 3U) | ((_m->DAS_LkaSteeringMode_Stat & (0x01U)) << 4U) | ((_m->DAS_AfsNotifError_Req & (0x01U)) << 5U) | ((_m->DAS_RctcMode_Stat & (0x01U)) << 6U) | ((_m->DAS_RctcDecelFlag_Req & (0x01U)) << 7U) ); + _d[3] |= (uint8_t) ( (_m->DAS_RctcFuncError_Stat & (0x01U)) | ((_m->DAS_RctcNotifError_Req & (0x01U)) << 1U) | ((_m->DAS_AccFuncError_Stat & (0x01U)) << 2U) | ((_m->DAS_APAMode_Stat & (0x01U)) << 3U) | ((_m->DAS_ApaFuncError_Stat & (0x01U)) << 4U) ); + _d[4] |= (uint8_t) ( (_m->DAS_LkaAngle_Req_ro & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->DAS_LkaAngle_Req_ro >> 8U) & (0x3FU)) | ((_m->DAS_RsaAngleDirection_Req & (0x03U)) << 6U) ); + _d[6] |= (uint8_t) ( ((_m->DAS_02_RC & (0x0FU)) << 4U) ); + _d[7] |= (uint8_t) ( (_m->DAS_02_CS & (0xFFU)) ); + + *_len = (uint8_t) DAS_02_DLC; + *_ide = (uint8_t) DAS_02_IDE; + return DAS_02_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_DAS_07_candb(DAS_07_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->DAS_LkaWarnSound_Req = (uint8_t) ( (_d[0] & (0x01U)) ); + _m->DAS_LkaShootdownSound_Req = (uint8_t) ( ((_d[0] >> 1U) & (0x01U)) ); + _m->DAS_LkaWarnNotif_Req = (uint8_t) ( ((_d[0] >> 2U) & (0x01U)) ); + _m->DAS_LkaNotifError_Req = (uint8_t) ( ((_d[0] >> 3U) & (0x01U)) ); + _m->DAS_RdaWarn_Req = (uint8_t) ( ((_d[0] >> 4U) & (0x01U)) ); + _m->DAS_RctcWarn_Req = (uint8_t) ( ((_d[0] >> 5U) & (0x01U)) ); + _m->DAS_RdaNotifError_Req = (uint8_t) ( ((_d[0] >> 6U) & (0x01U)) ); + _m->DAS_LdwMode_Stat = (uint8_t) ( ((_d[1] & (0x03U)) << 1U) | ((_d[0] >> 7U) & (0x01U)) ); + _m->DAS_LdpLeftLaneWarn_Req = (uint8_t) ( ((_d[1] >> 2U) & (0x01U)) ); + _m->DAS_LdpRightLaneWarn_Req = (uint8_t) ( ((_d[1] >> 3U) & (0x01U)) ); + _m->DAS_ALccNotifError_Req = (uint8_t) ( ((_d[1] >> 4U) & (0x01U)) ); + _m->DAS_LdwLeftLaneWarn_Req = (uint8_t) ( ((_d[1] >> 5U) & (0x01U)) ); + _m->DAS_LdwRightLaneWarn_Req = (uint8_t) ( ((_d[1] >> 6U) & (0x01U)) ); + _m->DAS_LdwSound_Req = (uint8_t) ( ((_d[1] >> 7U) & (0x01U)) ); + _m->DAS_LdwNotifError_Req = (uint8_t) ( (_d[2] & (0x01U)) ); + _m->DAS_LccMode_Stat = (uint8_t) ( ((_d[2] >> 1U) & (0x03U)) ); + _m->DAS_DowMode_Stat = (uint8_t) ( ((_d[2] >> 3U) & (0x01U)) ); + _m->DAS_LccLeftLed_Req = (uint8_t) ( ((_d[2] >> 4U) & (0x01U)) ); + _m->DAS_LccRightLed_Req = (uint8_t) ( ((_d[2] >> 5U) & (0x01U)) ); + _m->DAS_LccLeftWarn_Req = (uint8_t) ( (_d[3] & (0x01U)) ); + _m->DAS_LccRightWarn_Req = (uint8_t) ( ((_d[3] >> 1U) & (0x01U)) ); + _m->DAS_LccSound_Req = (uint8_t) ( ((_d[3] >> 2U) & (0x01U)) ); + _m->DAS_LccNotifError_Req = (uint8_t) ( ((_d[3] >> 3U) & (0x01U)) ); + _m->DAS_DowNotifError_Req = (uint8_t) ( ((_d[3] >> 4U) & (0x01U)) ); + _m->DAS_LdpNotifError_Req = (uint8_t) ( ((_d[3] >> 5U) & (0x01U)) ); + _m->DAS_07_RC = (uint8_t) ( ((_d[4] >> 4U) & (0x0FU)) ); + _m->DAS_07_CS = (uint8_t) ( (_d[5] & (0xFFU)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < DAS_07_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_DAS_07_candb(&_m->mon1, DAS_07_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return DAS_07_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_DAS_07_candb(DAS_07_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(DAS_07_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->DAS_LkaWarnSound_Req & (0x01U)) | ((_m->DAS_LkaShootdownSound_Req & (0x01U)) << 1U) | ((_m->DAS_LkaWarnNotif_Req & (0x01U)) << 2U) | ((_m->DAS_LkaNotifError_Req & (0x01U)) << 3U) | ((_m->DAS_RdaWarn_Req & (0x01U)) << 4U) | ((_m->DAS_RctcWarn_Req & (0x01U)) << 5U) | ((_m->DAS_RdaNotifError_Req & (0x01U)) << 6U) | ((_m->DAS_LdwMode_Stat & (0x01U)) << 7U) ); + cframe->Data[1] |= (uint8_t) ( ((_m->DAS_LdwMode_Stat >> 1U) & (0x03U)) | ((_m->DAS_LdpLeftLaneWarn_Req & (0x01U)) << 2U) | ((_m->DAS_LdpRightLaneWarn_Req & (0x01U)) << 3U) | ((_m->DAS_ALccNotifError_Req & (0x01U)) << 4U) | ((_m->DAS_LdwLeftLaneWarn_Req & (0x01U)) << 5U) | ((_m->DAS_LdwRightLaneWarn_Req & (0x01U)) << 6U) | ((_m->DAS_LdwSound_Req & (0x01U)) << 7U) ); + cframe->Data[2] |= (uint8_t) ( (_m->DAS_LdwNotifError_Req & (0x01U)) | ((_m->DAS_LccMode_Stat & (0x03U)) << 1U) | ((_m->DAS_DowMode_Stat & (0x01U)) << 3U) | ((_m->DAS_LccLeftLed_Req & (0x01U)) << 4U) | ((_m->DAS_LccRightLed_Req & (0x01U)) << 5U) ); + cframe->Data[3] |= (uint8_t) ( (_m->DAS_LccLeftWarn_Req & (0x01U)) | ((_m->DAS_LccRightWarn_Req & (0x01U)) << 1U) | ((_m->DAS_LccSound_Req & (0x01U)) << 2U) | ((_m->DAS_LccNotifError_Req & (0x01U)) << 3U) | ((_m->DAS_DowNotifError_Req & (0x01U)) << 4U) | ((_m->DAS_LdpNotifError_Req & (0x01U)) << 5U) ); + cframe->Data[4] |= (uint8_t) ( ((_m->DAS_07_RC & (0x0FU)) << 4U) ); + cframe->Data[5] |= (uint8_t) ( (_m->DAS_07_CS & (0xFFU)) ); + + cframe->MsgId = (uint32_t) DAS_07_CANID; + cframe->DLC = (uint8_t) DAS_07_DLC; + cframe->IDE = (uint8_t) DAS_07_IDE; + return DAS_07_CANID; +} + +#else + +uint32_t Pack_DAS_07_candb(DAS_07_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(DAS_07_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->DAS_LkaWarnSound_Req & (0x01U)) | ((_m->DAS_LkaShootdownSound_Req & (0x01U)) << 1U) | ((_m->DAS_LkaWarnNotif_Req & (0x01U)) << 2U) | ((_m->DAS_LkaNotifError_Req & (0x01U)) << 3U) | ((_m->DAS_RdaWarn_Req & (0x01U)) << 4U) | ((_m->DAS_RctcWarn_Req & (0x01U)) << 5U) | ((_m->DAS_RdaNotifError_Req & (0x01U)) << 6U) | ((_m->DAS_LdwMode_Stat & (0x01U)) << 7U) ); + _d[1] |= (uint8_t) ( ((_m->DAS_LdwMode_Stat >> 1U) & (0x03U)) | ((_m->DAS_LdpLeftLaneWarn_Req & (0x01U)) << 2U) | ((_m->DAS_LdpRightLaneWarn_Req & (0x01U)) << 3U) | ((_m->DAS_ALccNotifError_Req & (0x01U)) << 4U) | ((_m->DAS_LdwLeftLaneWarn_Req & (0x01U)) << 5U) | ((_m->DAS_LdwRightLaneWarn_Req & (0x01U)) << 6U) | ((_m->DAS_LdwSound_Req & (0x01U)) << 7U) ); + _d[2] |= (uint8_t) ( (_m->DAS_LdwNotifError_Req & (0x01U)) | ((_m->DAS_LccMode_Stat & (0x03U)) << 1U) | ((_m->DAS_DowMode_Stat & (0x01U)) << 3U) | ((_m->DAS_LccLeftLed_Req & (0x01U)) << 4U) | ((_m->DAS_LccRightLed_Req & (0x01U)) << 5U) ); + _d[3] |= (uint8_t) ( (_m->DAS_LccLeftWarn_Req & (0x01U)) | ((_m->DAS_LccRightWarn_Req & (0x01U)) << 1U) | ((_m->DAS_LccSound_Req & (0x01U)) << 2U) | ((_m->DAS_LccNotifError_Req & (0x01U)) << 3U) | ((_m->DAS_DowNotifError_Req & (0x01U)) << 4U) | ((_m->DAS_LdpNotifError_Req & (0x01U)) << 5U) ); + _d[4] |= (uint8_t) ( ((_m->DAS_07_RC & (0x0FU)) << 4U) ); + _d[5] |= (uint8_t) ( (_m->DAS_07_CS & (0xFFU)) ); + + *_len = (uint8_t) DAS_07_DLC; + *_ide = (uint8_t) DAS_07_IDE; + return DAS_07_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_ACU_01_candb(ACU_01_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->ACU_CrashEventDetect_Stat = (uint8_t) ( (_d[0] & (0x01U)) ); + _m->ACU_SysDeactEn_Stat = (uint8_t) ( ((_d[0] >> 1U) & (0x01U)) ); + _m->DrivSeatBeltWarning = (uint8_t) ( ((_d[0] >> 2U) & (0x01U)) ); + _m->PassSeatBeltWarning = (uint8_t) ( ((_d[0] >> 3U) & (0x01U)) ); + _m->RILRequestStatus = (uint8_t) ( ((_d[0] >> 4U) & (0x03U)) ); + _m->ACU_AirbagFrontPsngr_Stat = (uint8_t) ( ((_d[0] >> 6U) & (0x03U)) ); + _m->RLSeatBeltWarning = (uint8_t) ( (_d[1] & (0x01U)) ); + _m->RRSeatBeltWarning = (uint8_t) ( ((_d[1] >> 1U) & (0x01U)) ); + _m->FrontBuckleDriver_L = (uint8_t) ( ((_d[1] >> 2U) & (0x03U)) ); + _m->ACU_01_RC = (uint8_t) ( ((_d[1] >> 4U) & (0x0FU)) ); + _m->ACU_01_CS = (uint8_t) ( (_d[2] & (0xFFU)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < ACU_01_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_ACU_01_candb(&_m->mon1, ACU_01_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return ACU_01_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_ACU_01_candb(ACU_01_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(ACU_01_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->ACU_CrashEventDetect_Stat & (0x01U)) | ((_m->ACU_SysDeactEn_Stat & (0x01U)) << 1U) | ((_m->DrivSeatBeltWarning & (0x01U)) << 2U) | ((_m->PassSeatBeltWarning & (0x01U)) << 3U) | ((_m->RILRequestStatus & (0x03U)) << 4U) | ((_m->ACU_AirbagFrontPsngr_Stat & (0x03U)) << 6U) ); + cframe->Data[1] |= (uint8_t) ( (_m->RLSeatBeltWarning & (0x01U)) | ((_m->RRSeatBeltWarning & (0x01U)) << 1U) | ((_m->FrontBuckleDriver_L & (0x03U)) << 2U) | ((_m->ACU_01_RC & (0x0FU)) << 4U) ); + cframe->Data[2] |= (uint8_t) ( (_m->ACU_01_CS & (0xFFU)) ); + + cframe->MsgId = (uint32_t) ACU_01_CANID; + cframe->DLC = (uint8_t) ACU_01_DLC; + cframe->IDE = (uint8_t) ACU_01_IDE; + return ACU_01_CANID; +} + +#else + +uint32_t Pack_ACU_01_candb(ACU_01_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(ACU_01_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->ACU_CrashEventDetect_Stat & (0x01U)) | ((_m->ACU_SysDeactEn_Stat & (0x01U)) << 1U) | ((_m->DrivSeatBeltWarning & (0x01U)) << 2U) | ((_m->PassSeatBeltWarning & (0x01U)) << 3U) | ((_m->RILRequestStatus & (0x03U)) << 4U) | ((_m->ACU_AirbagFrontPsngr_Stat & (0x03U)) << 6U) ); + _d[1] |= (uint8_t) ( (_m->RLSeatBeltWarning & (0x01U)) | ((_m->RRSeatBeltWarning & (0x01U)) << 1U) | ((_m->FrontBuckleDriver_L & (0x03U)) << 2U) | ((_m->ACU_01_RC & (0x0FU)) << 4U) ); + _d[2] |= (uint8_t) ( (_m->ACU_01_CS & (0xFFU)) ); + + *_len = (uint8_t) ACU_01_DLC; + *_ide = (uint8_t) ACU_01_IDE; + return ACU_01_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_EPB_Status_candb(EPB_Status_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->EPB_AppliedForce_Stat = (uint8_t) ( (_d[0] & (0x07U)) ); + _m->EPB_BrakeLight_Req = (uint8_t) ( ((_d[0] >> 3U) & (0x01U)) ); + _m->EPB_CurrParkBrake_Stat = (uint8_t) ( ((_d[0] >> 4U) & (0x07U)) ); + _m->EPB_AudibleChime_Req = (uint8_t) ( ((_d[0] >> 7U) & (0x01U)) ); + _m->EPB_TargetDecel_Val_ro = (uint8_t) ( (_d[1] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->EPB_TargetDecel_Val_phys = (sigfloat_t)(CANDB_EPB_TargetDecel_Val_ro_fromS(_m->EPB_TargetDecel_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->EPB_CurrEPBSw_Stat = (uint8_t) ( (_d[2] & (0x07U)) ); + _m->EPB_DynamicEmergencyApply_Stat = (uint8_t) ( ((_d[2] >> 4U) & (0x01U)) ); + _m->EPB_Indicator_Req = (uint8_t) ( ((_d[2] >> 5U) & (0x03U)) ); + _m->EPB_Failure_Stat = (uint8_t) ( ((_d[2] >> 7U) & (0x01U)) ); + _m->EPB_Status_RC = (uint8_t) ( ((_d[3] >> 4U) & (0x0FU)) ); + _m->EPB_Status_CS = (uint8_t) ( (_d[4] & (0xFFU)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < EPB_Status_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_EPB_Status_candb(&_m->mon1, EPB_Status_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return EPB_Status_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_EPB_Status_candb(EPB_Status_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(EPB_Status_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->EPB_TargetDecel_Val_ro = (uint8_t) CANDB_EPB_TargetDecel_Val_ro_toS(_m->EPB_TargetDecel_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + cframe->Data[0] |= (uint8_t) ( (_m->EPB_AppliedForce_Stat & (0x07U)) | ((_m->EPB_BrakeLight_Req & (0x01U)) << 3U) | ((_m->EPB_CurrParkBrake_Stat & (0x07U)) << 4U) | ((_m->EPB_AudibleChime_Req & (0x01U)) << 7U) ); + cframe->Data[1] |= (uint8_t) ( (_m->EPB_TargetDecel_Val_ro & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( (_m->EPB_CurrEPBSw_Stat & (0x07U)) | ((_m->EPB_DynamicEmergencyApply_Stat & (0x01U)) << 4U) | ((_m->EPB_Indicator_Req & (0x03U)) << 5U) | ((_m->EPB_Failure_Stat & (0x01U)) << 7U) ); + cframe->Data[3] |= (uint8_t) ( ((_m->EPB_Status_RC & (0x0FU)) << 4U) ); + cframe->Data[4] |= (uint8_t) ( (_m->EPB_Status_CS & (0xFFU)) ); + + cframe->MsgId = (uint32_t) EPB_Status_CANID; + cframe->DLC = (uint8_t) EPB_Status_DLC; + cframe->IDE = (uint8_t) EPB_Status_IDE; + return EPB_Status_CANID; +} + +#else + +uint32_t Pack_EPB_Status_candb(EPB_Status_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(EPB_Status_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->EPB_TargetDecel_Val_ro = (uint8_t) CANDB_EPB_TargetDecel_Val_ro_toS(_m->EPB_TargetDecel_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + _d[0] |= (uint8_t) ( (_m->EPB_AppliedForce_Stat & (0x07U)) | ((_m->EPB_BrakeLight_Req & (0x01U)) << 3U) | ((_m->EPB_CurrParkBrake_Stat & (0x07U)) << 4U) | ((_m->EPB_AudibleChime_Req & (0x01U)) << 7U) ); + _d[1] |= (uint8_t) ( (_m->EPB_TargetDecel_Val_ro & (0xFFU)) ); + _d[2] |= (uint8_t) ( (_m->EPB_CurrEPBSw_Stat & (0x07U)) | ((_m->EPB_DynamicEmergencyApply_Stat & (0x01U)) << 4U) | ((_m->EPB_Indicator_Req & (0x03U)) << 5U) | ((_m->EPB_Failure_Stat & (0x01U)) << 7U) ); + _d[3] |= (uint8_t) ( ((_m->EPB_Status_RC & (0x0FU)) << 4U) ); + _d[4] |= (uint8_t) ( (_m->EPB_Status_CS & (0xFFU)) ); + + *_len = (uint8_t) EPB_Status_DLC; + *_ide = (uint8_t) EPB_Status_IDE; + return EPB_Status_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_BCM_ExteriorLightState_candb(BCM_ExteriorLightState_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->BCM_PositionLightRearState = (uint8_t) ( ((_d[0] >> 1U) & (0x01U)) ); + _m->BCM_TurnIndL_Req = (uint8_t) ( ((_d[0] >> 2U) & (0x01U)) ); + _m->BCM_TurnIndR_Req = (uint8_t) ( ((_d[0] >> 3U) & (0x01U)) ); + _m->BCM_PosLghtsState = (uint8_t) ( ((_d[0] >> 4U) & (0x01U)) ); + _m->BCM_RearFogLightState = (uint8_t) ( ((_d[0] >> 5U) & (0x01U)) ); + _m->BCM_BrakeLightState = (uint8_t) ( ((_d[0] >> 6U) & (0x01U)) ); + _m->BCM_ReverseLightState = (uint8_t) ( ((_d[0] >> 7U) & (0x01U)) ); + _m->BCM_HighBeamState = (uint8_t) ( (_d[1] & (0x07U)) ); + _m->BCM_LightSwitchPos = (uint8_t) ( ((_d[1] >> 3U) & (0x03U)) ); + _m->BCM_LowBeamState = (uint8_t) ( ((_d[1] >> 5U) & (0x07U)) ); + _m->BCM_AllWthrLght_State = (uint8_t) ( ((_d[2] >> 4U) & (0x01U)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < BCM_ExteriorLightState_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_BCM_ExteriorLightState_candb(&_m->mon1, BCM_ExteriorLightState_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return BCM_ExteriorLightState_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_BCM_ExteriorLightState_candb(BCM_ExteriorLightState_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(BCM_ExteriorLightState_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->BCM_PositionLightRearState & (0x01U)) << 1U) | ((_m->BCM_TurnIndL_Req & (0x01U)) << 2U) | ((_m->BCM_TurnIndR_Req & (0x01U)) << 3U) | ((_m->BCM_PosLghtsState & (0x01U)) << 4U) | ((_m->BCM_RearFogLightState & (0x01U)) << 5U) | ((_m->BCM_BrakeLightState & (0x01U)) << 6U) | ((_m->BCM_ReverseLightState & (0x01U)) << 7U) ); + cframe->Data[1] |= (uint8_t) ( (_m->BCM_HighBeamState & (0x07U)) | ((_m->BCM_LightSwitchPos & (0x03U)) << 3U) | ((_m->BCM_LowBeamState & (0x07U)) << 5U) ); + cframe->Data[2] |= (uint8_t) ( ((_m->BCM_AllWthrLght_State & (0x01U)) << 4U) ); + + cframe->MsgId = (uint32_t) BCM_ExteriorLightState_CANID; + cframe->DLC = (uint8_t) BCM_ExteriorLightState_DLC; + cframe->IDE = (uint8_t) BCM_ExteriorLightState_IDE; + return BCM_ExteriorLightState_CANID; +} + +#else + +uint32_t Pack_BCM_ExteriorLightState_candb(BCM_ExteriorLightState_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(BCM_ExteriorLightState_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->BCM_PositionLightRearState & (0x01U)) << 1U) | ((_m->BCM_TurnIndL_Req & (0x01U)) << 2U) | ((_m->BCM_TurnIndR_Req & (0x01U)) << 3U) | ((_m->BCM_PosLghtsState & (0x01U)) << 4U) | ((_m->BCM_RearFogLightState & (0x01U)) << 5U) | ((_m->BCM_BrakeLightState & (0x01U)) << 6U) | ((_m->BCM_ReverseLightState & (0x01U)) << 7U) ); + _d[1] |= (uint8_t) ( (_m->BCM_HighBeamState & (0x07U)) | ((_m->BCM_LightSwitchPos & (0x03U)) << 3U) | ((_m->BCM_LowBeamState & (0x07U)) << 5U) ); + _d[2] |= (uint8_t) ( ((_m->BCM_AllWthrLght_State & (0x01U)) << 4U) ); + + *_len = (uint8_t) BCM_ExteriorLightState_DLC; + *_ide = (uint8_t) BCM_ExteriorLightState_IDE; + return BCM_ExteriorLightState_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_SWM_ContrlsState_candb(SWM_ContrlsState_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->SWM_MODE_Req = (uint8_t) ( (_d[0] & (0x03U)) ); + _m->SWM_CNCL_Req = (uint8_t) ( ((_d[0] >> 2U) & (0x03U)) ); + _m->SWM_ACCSpeedDecrease_Req = (uint8_t) ( ((_d[0] >> 4U) & (0x03U)) ); + _m->SWM_ACCSpeedIncrease_Req = (uint8_t) ( ((_d[0] >> 6U) & (0x03U)) ); + _m->SWM_UserFunc_Req = (uint8_t) ( (_d[1] & (0x03U)) ); + _m->SWM_DIS_Req = (uint8_t) ( ((_d[1] >> 2U) & (0x03U)) ); + _m->SWM_RES_Req = (uint8_t) ( ((_d[1] >> 4U) & (0x03U)) ); + _m->SWM_SETSpeed_Req = (uint8_t) ( ((_d[1] >> 6U) & (0x03U)) ); + _m->SWM_TELBtn_Req = (uint8_t) ( (_d[2] & (0x03U)) ); + _m->SWM_Home_Req = (uint8_t) ( ((_d[2] >> 2U) & (0x03U)) ); + _m->SWM_Back_Req = (uint8_t) ( ((_d[2] >> 4U) & (0x03U)) ); + _m->SWM_ICNextBtn_Req = (uint8_t) ( ((_d[2] >> 6U) & (0x03U)) ); + _m->SWM_ICPrevBtn_Req = (uint8_t) ( (_d[3] & (0x03U)) ); + _m->SWM_ICUpBtn_Req = (uint8_t) ( ((_d[3] >> 2U) & (0x03U)) ); + _m->SWM_ICDownBtn_Req = (uint8_t) ( ((_d[3] >> 4U) & (0x03U)) ); + _m->SWM_ICConfBtn_Req = (uint8_t) ( ((_d[3] >> 6U) & (0x03U)) ); + _m->SWM_MMCNextBtn_Req = (uint8_t) ( (_d[4] & (0x03U)) ); + _m->SWM_MMCPrevBtn_Req = (uint8_t) ( ((_d[4] >> 2U) & (0x03U)) ); + _m->SWM_VoiceCntrl_Req = (uint8_t) ( ((_d[4] >> 4U) & (0x03U)) ); + _m->SWM_VolumeUpBtn_Req = (uint8_t) ( ((_d[4] >> 6U) & (0x03U)) ); + _m->SWM_VolumeDownBtn_Req = (uint8_t) ( (_d[5] & (0x03U)) ); + _m->SWM_VolumeMute_Req = (uint8_t) ( ((_d[5] >> 2U) & (0x03U)) ); + _m->SWM_UpshiftPaddle_Req = (uint8_t) ( ((_d[5] >> 4U) & (0x03U)) ); + _m->SWM_DownshiftPaddle_Req = (uint8_t) ( ((_d[5] >> 6U) & (0x03U)) ); + _m->SWM_ContrlsState_RC = (uint8_t) ( (_d[6] & (0x0FU)) ); + _m->SWM_Heating_Stat = (uint8_t) ( ((_d[6] >> 4U) & (0x03U)) ); + _m->SWM_PosHand_Stat = (uint8_t) ( ((_d[6] >> 6U) & (0x03U)) ); + _m->SWM_ContrlsState_CS = (uint8_t) ( (_d[7] & (0xFFU)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < SWM_ContrlsState_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_SWM_ContrlsState_candb(&_m->mon1, SWM_ContrlsState_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return SWM_ContrlsState_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_SWM_ContrlsState_candb(SWM_ContrlsState_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(SWM_ContrlsState_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->SWM_MODE_Req & (0x03U)) | ((_m->SWM_CNCL_Req & (0x03U)) << 2U) | ((_m->SWM_ACCSpeedDecrease_Req & (0x03U)) << 4U) | ((_m->SWM_ACCSpeedIncrease_Req & (0x03U)) << 6U) ); + cframe->Data[1] |= (uint8_t) ( (_m->SWM_UserFunc_Req & (0x03U)) | ((_m->SWM_DIS_Req & (0x03U)) << 2U) | ((_m->SWM_RES_Req & (0x03U)) << 4U) | ((_m->SWM_SETSpeed_Req & (0x03U)) << 6U) ); + cframe->Data[2] |= (uint8_t) ( (_m->SWM_TELBtn_Req & (0x03U)) | ((_m->SWM_Home_Req & (0x03U)) << 2U) | ((_m->SWM_Back_Req & (0x03U)) << 4U) | ((_m->SWM_ICNextBtn_Req & (0x03U)) << 6U) ); + cframe->Data[3] |= (uint8_t) ( (_m->SWM_ICPrevBtn_Req & (0x03U)) | ((_m->SWM_ICUpBtn_Req & (0x03U)) << 2U) | ((_m->SWM_ICDownBtn_Req & (0x03U)) << 4U) | ((_m->SWM_ICConfBtn_Req & (0x03U)) << 6U) ); + cframe->Data[4] |= (uint8_t) ( (_m->SWM_MMCNextBtn_Req & (0x03U)) | ((_m->SWM_MMCPrevBtn_Req & (0x03U)) << 2U) | ((_m->SWM_VoiceCntrl_Req & (0x03U)) << 4U) | ((_m->SWM_VolumeUpBtn_Req & (0x03U)) << 6U) ); + cframe->Data[5] |= (uint8_t) ( (_m->SWM_VolumeDownBtn_Req & (0x03U)) | ((_m->SWM_VolumeMute_Req & (0x03U)) << 2U) | ((_m->SWM_UpshiftPaddle_Req & (0x03U)) << 4U) | ((_m->SWM_DownshiftPaddle_Req & (0x03U)) << 6U) ); + cframe->Data[6] |= (uint8_t) ( (_m->SWM_ContrlsState_RC & (0x0FU)) | ((_m->SWM_Heating_Stat & (0x03U)) << 4U) | ((_m->SWM_PosHand_Stat & (0x03U)) << 6U) ); + cframe->Data[7] |= (uint8_t) ( (_m->SWM_ContrlsState_CS & (0xFFU)) ); + + cframe->MsgId = (uint32_t) SWM_ContrlsState_CANID; + cframe->DLC = (uint8_t) SWM_ContrlsState_DLC; + cframe->IDE = (uint8_t) SWM_ContrlsState_IDE; + return SWM_ContrlsState_CANID; +} + +#else + +uint32_t Pack_SWM_ContrlsState_candb(SWM_ContrlsState_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(SWM_ContrlsState_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->SWM_MODE_Req & (0x03U)) | ((_m->SWM_CNCL_Req & (0x03U)) << 2U) | ((_m->SWM_ACCSpeedDecrease_Req & (0x03U)) << 4U) | ((_m->SWM_ACCSpeedIncrease_Req & (0x03U)) << 6U) ); + _d[1] |= (uint8_t) ( (_m->SWM_UserFunc_Req & (0x03U)) | ((_m->SWM_DIS_Req & (0x03U)) << 2U) | ((_m->SWM_RES_Req & (0x03U)) << 4U) | ((_m->SWM_SETSpeed_Req & (0x03U)) << 6U) ); + _d[2] |= (uint8_t) ( (_m->SWM_TELBtn_Req & (0x03U)) | ((_m->SWM_Home_Req & (0x03U)) << 2U) | ((_m->SWM_Back_Req & (0x03U)) << 4U) | ((_m->SWM_ICNextBtn_Req & (0x03U)) << 6U) ); + _d[3] |= (uint8_t) ( (_m->SWM_ICPrevBtn_Req & (0x03U)) | ((_m->SWM_ICUpBtn_Req & (0x03U)) << 2U) | ((_m->SWM_ICDownBtn_Req & (0x03U)) << 4U) | ((_m->SWM_ICConfBtn_Req & (0x03U)) << 6U) ); + _d[4] |= (uint8_t) ( (_m->SWM_MMCNextBtn_Req & (0x03U)) | ((_m->SWM_MMCPrevBtn_Req & (0x03U)) << 2U) | ((_m->SWM_VoiceCntrl_Req & (0x03U)) << 4U) | ((_m->SWM_VolumeUpBtn_Req & (0x03U)) << 6U) ); + _d[5] |= (uint8_t) ( (_m->SWM_VolumeDownBtn_Req & (0x03U)) | ((_m->SWM_VolumeMute_Req & (0x03U)) << 2U) | ((_m->SWM_UpshiftPaddle_Req & (0x03U)) << 4U) | ((_m->SWM_DownshiftPaddle_Req & (0x03U)) << 6U) ); + _d[6] |= (uint8_t) ( (_m->SWM_ContrlsState_RC & (0x0FU)) | ((_m->SWM_Heating_Stat & (0x03U)) << 4U) | ((_m->SWM_PosHand_Stat & (0x03U)) << 6U) ); + _d[7] |= (uint8_t) ( (_m->SWM_ContrlsState_CS & (0xFFU)) ); + + *_len = (uint8_t) SWM_ContrlsState_DLC; + *_ide = (uint8_t) SWM_ContrlsState_IDE; + return SWM_ContrlsState_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_BCM_StyleCmd1_candb(BCM_StyleCmd1_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->BCM_ControlledZone_Stat = (uint8_t) ( (_d[0] & (0x3FU)) ); + _m->BCM_ChannelNumber_Req = (uint8_t) ( ((_d[1] & (0x03U)) << 2U) | ((_d[0] >> 6U) & (0x03U)) ); + _m->BCM_ModuleConfiguration_Stat = (uint8_t) ( ((_d[1] >> 2U) & (0x07U)) ); + _m->BCM_ScenarioBrightness_Val = (uint8_t) ( ((_d[2] & (0x0FU)) << 3U) | ((_d[1] >> 5U) & (0x07U)) ); + _m->BCM_ConfigurationMsgAmount_Val = (uint8_t) ( ((_d[3] & (0x03U)) << 4U) | ((_d[2] >> 4U) & (0x0FU)) ); + _m->BCM_Reserved1 = (uint8_t) ( ((_d[4] & (0x03U)) << 6U) | ((_d[3] >> 2U) & (0x3FU)) ); + _m->BCM_Reserved2 = (uint8_t) ( ((_d[5] & (0x03U)) << 6U) | ((_d[4] >> 2U) & (0x3FU)) ); + _m->BCM_Reserved3 = (uint8_t) ( ((_d[6] & (0x03U)) << 6U) | ((_d[5] >> 2U) & (0x3FU)) ); + _m->BCM_Reserved4 = (uint8_t) ( ((_d[7] & (0x03U)) << 6U) | ((_d[6] >> 2U) & (0x3FU)) ); + _m->BCM_Reserved5 = (uint8_t) ( ((_d[7] >> 2U) & (0x3FU)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < BCM_StyleCmd1_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_BCM_StyleCmd1_candb(&_m->mon1, BCM_StyleCmd1_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return BCM_StyleCmd1_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_BCM_StyleCmd1_candb(BCM_StyleCmd1_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(BCM_StyleCmd1_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->BCM_ControlledZone_Stat & (0x3FU)) | ((_m->BCM_ChannelNumber_Req & (0x03U)) << 6U) ); + cframe->Data[1] |= (uint8_t) ( ((_m->BCM_ChannelNumber_Req >> 2U) & (0x03U)) | ((_m->BCM_ModuleConfiguration_Stat & (0x07U)) << 2U) | ((_m->BCM_ScenarioBrightness_Val & (0x07U)) << 5U) ); + cframe->Data[2] |= (uint8_t) ( ((_m->BCM_ScenarioBrightness_Val >> 3U) & (0x0FU)) | ((_m->BCM_ConfigurationMsgAmount_Val & (0x0FU)) << 4U) ); + cframe->Data[3] |= (uint8_t) ( ((_m->BCM_ConfigurationMsgAmount_Val >> 4U) & (0x03U)) | ((_m->BCM_Reserved1 & (0x3FU)) << 2U) ); + cframe->Data[4] |= (uint8_t) ( ((_m->BCM_Reserved1 >> 6U) & (0x03U)) | ((_m->BCM_Reserved2 & (0x3FU)) << 2U) ); + cframe->Data[5] |= (uint8_t) ( ((_m->BCM_Reserved2 >> 6U) & (0x03U)) | ((_m->BCM_Reserved3 & (0x3FU)) << 2U) ); + cframe->Data[6] |= (uint8_t) ( ((_m->BCM_Reserved3 >> 6U) & (0x03U)) | ((_m->BCM_Reserved4 & (0x3FU)) << 2U) ); + cframe->Data[7] |= (uint8_t) ( ((_m->BCM_Reserved4 >> 6U) & (0x03U)) | ((_m->BCM_Reserved5 & (0x3FU)) << 2U) ); + + cframe->MsgId = (uint32_t) BCM_StyleCmd1_CANID; + cframe->DLC = (uint8_t) BCM_StyleCmd1_DLC; + cframe->IDE = (uint8_t) BCM_StyleCmd1_IDE; + return BCM_StyleCmd1_CANID; +} + +#else + +uint32_t Pack_BCM_StyleCmd1_candb(BCM_StyleCmd1_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(BCM_StyleCmd1_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->BCM_ControlledZone_Stat & (0x3FU)) | ((_m->BCM_ChannelNumber_Req & (0x03U)) << 6U) ); + _d[1] |= (uint8_t) ( ((_m->BCM_ChannelNumber_Req >> 2U) & (0x03U)) | ((_m->BCM_ModuleConfiguration_Stat & (0x07U)) << 2U) | ((_m->BCM_ScenarioBrightness_Val & (0x07U)) << 5U) ); + _d[2] |= (uint8_t) ( ((_m->BCM_ScenarioBrightness_Val >> 3U) & (0x0FU)) | ((_m->BCM_ConfigurationMsgAmount_Val & (0x0FU)) << 4U) ); + _d[3] |= (uint8_t) ( ((_m->BCM_ConfigurationMsgAmount_Val >> 4U) & (0x03U)) | ((_m->BCM_Reserved1 & (0x3FU)) << 2U) ); + _d[4] |= (uint8_t) ( ((_m->BCM_Reserved1 >> 6U) & (0x03U)) | ((_m->BCM_Reserved2 & (0x3FU)) << 2U) ); + _d[5] |= (uint8_t) ( ((_m->BCM_Reserved2 >> 6U) & (0x03U)) | ((_m->BCM_Reserved3 & (0x3FU)) << 2U) ); + _d[6] |= (uint8_t) ( ((_m->BCM_Reserved3 >> 6U) & (0x03U)) | ((_m->BCM_Reserved4 & (0x3FU)) << 2U) ); + _d[7] |= (uint8_t) ( ((_m->BCM_Reserved4 >> 6U) & (0x03U)) | ((_m->BCM_Reserved5 & (0x3FU)) << 2U) ); + + *_len = (uint8_t) BCM_StyleCmd1_DLC; + *_ide = (uint8_t) BCM_StyleCmd1_IDE; + return BCM_StyleCmd1_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_FIU_Access_Msg1_candb(FIU_Access_Msg1_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->FIU_BTDevice_Stat = (uint8_t) ( (_d[0] & (0x03U)) ); + _m->FIU_NAVI_Stat = (uint8_t) ( ((_d[0] >> 2U) & (0x03U)) ); + _m->FIU_Deleting_Req = (uint8_t) ( ((_d[0] >> 5U) & (0x03U)) ); + _m->FIU_Pairing_Req = (uint8_t) ( ((_d[0] >> 7U) & (0x01U)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < FIU_Access_Msg1_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_FIU_Access_Msg1_candb(&_m->mon1, FIU_Access_Msg1_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return FIU_Access_Msg1_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_FIU_Access_Msg1_candb(FIU_Access_Msg1_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(FIU_Access_Msg1_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->FIU_BTDevice_Stat & (0x03U)) | ((_m->FIU_NAVI_Stat & (0x03U)) << 2U) | ((_m->FIU_Deleting_Req & (0x03U)) << 5U) | ((_m->FIU_Pairing_Req & (0x01U)) << 7U) ); + + cframe->MsgId = (uint32_t) FIU_Access_Msg1_CANID; + cframe->DLC = (uint8_t) FIU_Access_Msg1_DLC; + cframe->IDE = (uint8_t) FIU_Access_Msg1_IDE; + return FIU_Access_Msg1_CANID; +} + +#else + +uint32_t Pack_FIU_Access_Msg1_candb(FIU_Access_Msg1_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(FIU_Access_Msg1_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->FIU_BTDevice_Stat & (0x03U)) | ((_m->FIU_NAVI_Stat & (0x03U)) << 2U) | ((_m->FIU_Deleting_Req & (0x03U)) << 5U) | ((_m->FIU_Pairing_Req & (0x01U)) << 7U) ); + + *_len = (uint8_t) FIU_Access_Msg1_DLC; + *_ide = (uint8_t) FIU_Access_Msg1_IDE; + return FIU_Access_Msg1_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_WarningInd = (uint8_t) ( (_d[0] & (0x01U)) ); + _m->DMFR_DoorLockState = (uint8_t) ( ((_d[0] >> 1U) & (0x03U)) ); + _m->DMFR_DoorAjarState = (uint8_t) ( ((_d[0] >> 3U) & (0x01U)) ); + _m->DMFR_DoorAjarFault_Stat = (uint8_t) ( ((_d[0] >> 4U) & (0x01U)) ); _m->DMFR_MirrorHeating_Status = (uint8_t) ( ((_d[0] >> 5U) & (0x03U)) ); + _m->DMFR_WindowFullyClosed_Stat = (uint8_t) ( ((_d[0] >> 7U) & (0x01U)) ); + _m->DMFR_IntDoorHandle_Req = (uint8_t) ( (_d[1] & (0x01U)) ); + _m->DMFR_IntDoorLockSw_Cmd = (uint8_t) ( ((_d[1] >> 1U) & (0x03U)) ); + _m->DMFR_ShortDrop_Stat = (uint8_t) ( ((_d[1] >> 3U) & (0x01U)) ); + _m->DMFR_Comm_Req = (uint8_t) ( ((_d[1] >> 4U) & (0x01U)) ); + _m->DMFR_DoorMovement_Stat = (uint8_t) ( ((_d[1] >> 5U) & (0x07U)) ); + _m->DMFR_DoorDirection_Stat = (uint8_t) ( (_d[2] & (0x03U)) ); + _m->DMFR_Antipinch_Stat = (uint8_t) ( ((_d[2] >> 2U) & (0x01U)) ); + _m->DMFR_BSDLed_Stat = (uint8_t) ( ((_d[2] >> 3U) & (0x01U)) ); + _m->DMFR_DoorCloseSw_Req = (uint8_t) ( ((_d[2] >> 4U) & (0x01U)) ); + _m->DMFR_TurnInd_Stat = (uint8_t) ( ((_d[2] >> 6U) & (0x03U)) ); #ifdef CANDB_USE_DIAG_MONITORS _m->mon1.dlc_error = (dlc_ < DMFR_Msg1_DLC); @@ -382,7 +2885,9 @@ 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->Data[0] |= (uint8_t) ( (_m->DMFR_WarningInd & (0x01U)) | ((_m->DMFR_DoorLockState & (0x03U)) << 1U) | ((_m->DMFR_DoorAjarState & (0x01U)) << 3U) | ((_m->DMFR_DoorAjarFault_Stat & (0x01U)) << 4U) | ((_m->DMFR_MirrorHeating_Status & (0x03U)) << 5U) | ((_m->DMFR_WindowFullyClosed_Stat & (0x01U)) << 7U) ); + cframe->Data[1] |= (uint8_t) ( (_m->DMFR_IntDoorHandle_Req & (0x01U)) | ((_m->DMFR_IntDoorLockSw_Cmd & (0x03U)) << 1U) | ((_m->DMFR_ShortDrop_Stat & (0x01U)) << 3U) | ((_m->DMFR_Comm_Req & (0x01U)) << 4U) | ((_m->DMFR_DoorMovement_Stat & (0x07U)) << 5U) ); + cframe->Data[2] |= (uint8_t) ( (_m->DMFR_DoorDirection_Stat & (0x03U)) | ((_m->DMFR_Antipinch_Stat & (0x01U)) << 2U) | ((_m->DMFR_BSDLed_Stat & (0x01U)) << 3U) | ((_m->DMFR_DoorCloseSw_Req & (0x01U)) << 4U) | ((_m->DMFR_TurnInd_Stat & (0x03U)) << 6U) ); cframe->MsgId = (uint32_t) DMFR_Msg1_CANID; cframe->DLC = (uint8_t) DMFR_Msg1_DLC; @@ -396,7 +2901,9 @@ uint32_t Pack_DMFR_Msg1_candb(DMFR_Msg1_t* _m, uint8_t* _d, uint8_t* _len, uint8 { 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) ); + _d[0] |= (uint8_t) ( (_m->DMFR_WarningInd & (0x01U)) | ((_m->DMFR_DoorLockState & (0x03U)) << 1U) | ((_m->DMFR_DoorAjarState & (0x01U)) << 3U) | ((_m->DMFR_DoorAjarFault_Stat & (0x01U)) << 4U) | ((_m->DMFR_MirrorHeating_Status & (0x03U)) << 5U) | ((_m->DMFR_WindowFullyClosed_Stat & (0x01U)) << 7U) ); + _d[1] |= (uint8_t) ( (_m->DMFR_IntDoorHandle_Req & (0x01U)) | ((_m->DMFR_IntDoorLockSw_Cmd & (0x03U)) << 1U) | ((_m->DMFR_ShortDrop_Stat & (0x01U)) << 3U) | ((_m->DMFR_Comm_Req & (0x01U)) << 4U) | ((_m->DMFR_DoorMovement_Stat & (0x07U)) << 5U) ); + _d[2] |= (uint8_t) ( (_m->DMFR_DoorDirection_Stat & (0x03U)) | ((_m->DMFR_Antipinch_Stat & (0x01U)) << 2U) | ((_m->DMFR_BSDLed_Stat & (0x01U)) << 3U) | ((_m->DMFR_DoorCloseSw_Req & (0x01U)) << 4U) | ((_m->DMFR_TurnInd_Stat & (0x03U)) << 6U) ); *_len = (uint8_t) DMFR_Msg1_DLC; *_ide = (uint8_t) DMFR_Msg1_IDE; @@ -408,7 +2915,38 @@ uint32_t Pack_DMFR_Msg1_candb(DMFR_Msg1_t* _m, uint8_t* _d, uint8_t* _len, uint8 uint32_t Unpack_DMFL_Msg1_candb(DMFL_Msg1_t* _m, const uint8_t* _d, uint8_t dlc_) { (void)dlc_; + _m->DMFL_KeyCylinder_Req = (uint8_t) ( (_d[0] & (0x03U)) ); + _m->DMFL_WarningInd = (uint8_t) ( ((_d[0] >> 2U) & (0x01U)) ); + _m->DMFL_DoorLockState = (uint8_t) ( ((_d[0] >> 3U) & (0x03U)) ); + _m->DMFL_DoorAjarState = (uint8_t) ( ((_d[0] >> 5U) & (0x01U)) ); + _m->DMFL_ChildLockCentralTab_Stat = (uint8_t) ( ((_d[0] >> 6U) & (0x01U)) ); + _m->DMFL_DoorCloseSw_Req = (uint8_t) ( ((_d[0] >> 7U) & (0x01U)) ); _m->DMFL_MirrorHeating_Status = (uint8_t) ( (_d[1] & (0x03U)) ); + _m->DMFL_IntDoorHandle_Req = (uint8_t) ( ((_d[1] >> 2U) & (0x01U)) ); + _m->DMFL_ChildLock_RLwindow_Stat = (uint8_t) ( ((_d[1] >> 3U) & (0x01U)) ); + _m->DMFL_ChildLockRLTab_Stat = (uint8_t) ( ((_d[1] >> 4U) & (0x01U)) ); + _m->DMFL_IntDoorLockSw_Cmd = (uint8_t) ( ((_d[1] >> 5U) & (0x03U)) ); + _m->DMFL_ChildLockRRTab_Stat = (uint8_t) ( ((_d[1] >> 7U) & (0x01U)) ); + _m->DMFL_FRWindow_Cmd = (uint8_t) ( ((_d[2] >> 1U) & (0x07U)) ); + _m->DMFL_RLWindow_Cmd = (uint8_t) ( ((_d[2] >> 4U) & (0x07U)) ); + _m->DMFL_RightMirrorTilt_Cmd = (uint8_t) ( ((_d[2] >> 7U) & (0x01U)) ); + _m->DMFL_RRWindow_Cmd = (uint8_t) ( (_d[3] & (0x07U)) ); + _m->DMFL_RightMirrorAdjust_Cmd = (uint8_t) ( ((_d[3] >> 3U) & (0x07U)) ); + _m->DMFL_RightMirrorFold_Cmd = (uint8_t) ( ((_d[3] >> 6U) & (0x03U)) ); + _m->DMFL_WindowFullyClosed_Stat = (uint8_t) ( (_d[4] & (0x01U)) ); + _m->DMFL_Comm_Req = (uint8_t) ( ((_d[4] >> 2U) & (0x01U)) ); + _m->DMFL_ChildLock_Stat = (uint8_t) ( ((_d[4] >> 3U) & (0x01U)) ); + _m->DMFL_DoorMovement_Stat = (uint8_t) ( ((_d[4] >> 4U) & (0x07U)) ); + _m->DMFL_Antipinch_Stat = (uint8_t) ( ((_d[4] >> 7U) & (0x01U)) ); + _m->DMFL_DoorDirection_Stat = (uint8_t) ( (_d[5] & (0x03U)) ); + _m->DMFL_BSDLed_Stat = (uint8_t) ( ((_d[5] >> 2U) & (0x01U)) ); + _m->DMFL_DoorAjarFault_Stat = (uint8_t) ( ((_d[5] >> 3U) & (0x01U)) ); + _m->DMFL_ShortDrop_Stat = (uint8_t) ( ((_d[5] >> 4U) & (0x01U)) ); + _m->DMFL_TurnInd_Stat = (uint8_t) ( ((_d[5] >> 5U) & (0x03U)) ); + _m->DMFL_ChildLock_RRwindow_Stat = (uint8_t) ( ((_d[5] >> 7U) & (0x01U)) ); + _m->DMFL_RearWindowCurtain_Req = (uint8_t) ( (_d[6] & (0x03U)) ); + _m->DMFL_ChildLock_RLdoor_Stat = (uint8_t) ( ((_d[6] >> 2U) & (0x01U)) ); + _m->DMFL_ChildLock_RRdoor_Stat = (uint8_t) ( ((_d[6] >> 4U) & (0x01U)) ); #ifdef CANDB_USE_DIAG_MONITORS _m->mon1.dlc_error = (dlc_ < DMFL_Msg1_DLC); @@ -427,7 +2965,13 @@ 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->Data[0] |= (uint8_t) ( (_m->DMFL_KeyCylinder_Req & (0x03U)) | ((_m->DMFL_WarningInd & (0x01U)) << 2U) | ((_m->DMFL_DoorLockState & (0x03U)) << 3U) | ((_m->DMFL_DoorAjarState & (0x01U)) << 5U) | ((_m->DMFL_ChildLockCentralTab_Stat & (0x01U)) << 6U) | ((_m->DMFL_DoorCloseSw_Req & (0x01U)) << 7U) ); + cframe->Data[1] |= (uint8_t) ( (_m->DMFL_MirrorHeating_Status & (0x03U)) | ((_m->DMFL_IntDoorHandle_Req & (0x01U)) << 2U) | ((_m->DMFL_ChildLock_RLwindow_Stat & (0x01U)) << 3U) | ((_m->DMFL_ChildLockRLTab_Stat & (0x01U)) << 4U) | ((_m->DMFL_IntDoorLockSw_Cmd & (0x03U)) << 5U) | ((_m->DMFL_ChildLockRRTab_Stat & (0x01U)) << 7U) ); + cframe->Data[2] |= (uint8_t) ( ((_m->DMFL_FRWindow_Cmd & (0x07U)) << 1U) | ((_m->DMFL_RLWindow_Cmd & (0x07U)) << 4U) | ((_m->DMFL_RightMirrorTilt_Cmd & (0x01U)) << 7U) ); + cframe->Data[3] |= (uint8_t) ( (_m->DMFL_RRWindow_Cmd & (0x07U)) | ((_m->DMFL_RightMirrorAdjust_Cmd & (0x07U)) << 3U) | ((_m->DMFL_RightMirrorFold_Cmd & (0x03U)) << 6U) ); + cframe->Data[4] |= (uint8_t) ( (_m->DMFL_WindowFullyClosed_Stat & (0x01U)) | ((_m->DMFL_Comm_Req & (0x01U)) << 2U) | ((_m->DMFL_ChildLock_Stat & (0x01U)) << 3U) | ((_m->DMFL_DoorMovement_Stat & (0x07U)) << 4U) | ((_m->DMFL_Antipinch_Stat & (0x01U)) << 7U) ); + cframe->Data[5] |= (uint8_t) ( (_m->DMFL_DoorDirection_Stat & (0x03U)) | ((_m->DMFL_BSDLed_Stat & (0x01U)) << 2U) | ((_m->DMFL_DoorAjarFault_Stat & (0x01U)) << 3U) | ((_m->DMFL_ShortDrop_Stat & (0x01U)) << 4U) | ((_m->DMFL_TurnInd_Stat & (0x03U)) << 5U) | ((_m->DMFL_ChildLock_RRwindow_Stat & (0x01U)) << 7U) ); + cframe->Data[6] |= (uint8_t) ( (_m->DMFL_RearWindowCurtain_Req & (0x03U)) | ((_m->DMFL_ChildLock_RLdoor_Stat & (0x01U)) << 2U) | ((_m->DMFL_ChildLock_RRdoor_Stat & (0x01U)) << 4U) ); cframe->MsgId = (uint32_t) DMFL_Msg1_CANID; cframe->DLC = (uint8_t) DMFL_Msg1_DLC; @@ -441,7 +2985,13 @@ uint32_t Pack_DMFL_Msg1_candb(DMFL_Msg1_t* _m, uint8_t* _d, uint8_t* _len, uint8 { 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)) ); + _d[0] |= (uint8_t) ( (_m->DMFL_KeyCylinder_Req & (0x03U)) | ((_m->DMFL_WarningInd & (0x01U)) << 2U) | ((_m->DMFL_DoorLockState & (0x03U)) << 3U) | ((_m->DMFL_DoorAjarState & (0x01U)) << 5U) | ((_m->DMFL_ChildLockCentralTab_Stat & (0x01U)) << 6U) | ((_m->DMFL_DoorCloseSw_Req & (0x01U)) << 7U) ); + _d[1] |= (uint8_t) ( (_m->DMFL_MirrorHeating_Status & (0x03U)) | ((_m->DMFL_IntDoorHandle_Req & (0x01U)) << 2U) | ((_m->DMFL_ChildLock_RLwindow_Stat & (0x01U)) << 3U) | ((_m->DMFL_ChildLockRLTab_Stat & (0x01U)) << 4U) | ((_m->DMFL_IntDoorLockSw_Cmd & (0x03U)) << 5U) | ((_m->DMFL_ChildLockRRTab_Stat & (0x01U)) << 7U) ); + _d[2] |= (uint8_t) ( ((_m->DMFL_FRWindow_Cmd & (0x07U)) << 1U) | ((_m->DMFL_RLWindow_Cmd & (0x07U)) << 4U) | ((_m->DMFL_RightMirrorTilt_Cmd & (0x01U)) << 7U) ); + _d[3] |= (uint8_t) ( (_m->DMFL_RRWindow_Cmd & (0x07U)) | ((_m->DMFL_RightMirrorAdjust_Cmd & (0x07U)) << 3U) | ((_m->DMFL_RightMirrorFold_Cmd & (0x03U)) << 6U) ); + _d[4] |= (uint8_t) ( (_m->DMFL_WindowFullyClosed_Stat & (0x01U)) | ((_m->DMFL_Comm_Req & (0x01U)) << 2U) | ((_m->DMFL_ChildLock_Stat & (0x01U)) << 3U) | ((_m->DMFL_DoorMovement_Stat & (0x07U)) << 4U) | ((_m->DMFL_Antipinch_Stat & (0x01U)) << 7U) ); + _d[5] |= (uint8_t) ( (_m->DMFL_DoorDirection_Stat & (0x03U)) | ((_m->DMFL_BSDLed_Stat & (0x01U)) << 2U) | ((_m->DMFL_DoorAjarFault_Stat & (0x01U)) << 3U) | ((_m->DMFL_ShortDrop_Stat & (0x01U)) << 4U) | ((_m->DMFL_TurnInd_Stat & (0x03U)) << 5U) | ((_m->DMFL_ChildLock_RRwindow_Stat & (0x01U)) << 7U) ); + _d[6] |= (uint8_t) ( (_m->DMFL_RearWindowCurtain_Req & (0x03U)) | ((_m->DMFL_ChildLock_RLdoor_Stat & (0x01U)) << 2U) | ((_m->DMFL_ChildLock_RRdoor_Stat & (0x01U)) << 4U) ); *_len = (uint8_t) DMFL_Msg1_DLC; *_ide = (uint8_t) DMFL_Msg1_IDE; @@ -450,10 +3000,167 @@ uint32_t Pack_DMFL_Msg1_candb(DMFL_Msg1_t* _m, uint8_t* _d, uint8_t* _len, uint8 #endif // CANDB_USE_CANSTRUCT +uint32_t Unpack_DMRL_Msg1_candb(DMRL_Msg1_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->DMRL_WarningInd = (uint8_t) ( (_d[0] & (0x01U)) ); + _m->DMRL_DoorLockState = (uint8_t) ( ((_d[0] >> 1U) & (0x03U)) ); + _m->DMRL_DoorAjarState = (uint8_t) ( ((_d[0] >> 3U) & (0x01U)) ); + _m->DMRL_DoorCloseSw_Req = (uint8_t) ( ((_d[0] >> 4U) & (0x01U)) ); + _m->DMRL_IntDoorHandle_Req = (uint8_t) ( ((_d[0] >> 5U) & (0x01U)) ); + _m->DMRL_IntDoorLockSw_Cmd = (uint8_t) ( ((_d[0] >> 6U) & (0x03U)) ); + _m->DMRL_ChildLock_Stat = (uint8_t) ( (_d[1] & (0x03U)) ); + _m->DMRL_VolumeLevel_Cmd = (uint8_t) ( ((_d[1] >> 2U) & (0x07U)) ); + _m->DMRL_WindowFullyClosed_Stat = (uint8_t) ( ((_d[1] >> 5U) & (0x01U)) ); + _m->DMRL_Multimedia_Req = (uint8_t) ( (_d[2] & (0x03U)) ); + _m->DMRL_Comm_Req = (uint8_t) ( ((_d[2] >> 2U) & (0x01U)) ); + _m->DMRL_DoorAjarFault_Stat = (uint8_t) ( ((_d[2] >> 3U) & (0x01U)) ); + _m->DMRL_DoorMovement_Stat = (uint8_t) ( ((_d[2] >> 4U) & (0x07U)) ); + _m->DMRL_Antipinch_Stat = (uint8_t) ( ((_d[2] >> 7U) & (0x01U)) ); + _m->DMRL_DoorDirection_Stat = (uint8_t) ( (_d[3] & (0x03U)) ); + _m->DMRL_RR_Window_Cmd = (uint8_t) ( ((_d[3] >> 3U) & (0x07U)) ); + _m->DMRL_ElcromeBright_Stat = (uint8_t) ( ((_d[3] >> 6U) & (0x03U)) ); + _m->DMRL_SunShade_Stat = (uint8_t) ( (_d[4] & (0x07U)) ); + _m->DMRL_RearCurtain_Req = (uint8_t) ( ((_d[4] >> 4U) & (0x03U)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < DMRL_Msg1_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_DMRL_Msg1_candb(&_m->mon1, DMRL_Msg1_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return DMRL_Msg1_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_DMRL_Msg1_candb(DMRL_Msg1_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(DMRL_Msg1_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->DMRL_WarningInd & (0x01U)) | ((_m->DMRL_DoorLockState & (0x03U)) << 1U) | ((_m->DMRL_DoorAjarState & (0x01U)) << 3U) | ((_m->DMRL_DoorCloseSw_Req & (0x01U)) << 4U) | ((_m->DMRL_IntDoorHandle_Req & (0x01U)) << 5U) | ((_m->DMRL_IntDoorLockSw_Cmd & (0x03U)) << 6U) ); + cframe->Data[1] |= (uint8_t) ( (_m->DMRL_ChildLock_Stat & (0x03U)) | ((_m->DMRL_VolumeLevel_Cmd & (0x07U)) << 2U) | ((_m->DMRL_WindowFullyClosed_Stat & (0x01U)) << 5U) ); + cframe->Data[2] |= (uint8_t) ( (_m->DMRL_Multimedia_Req & (0x03U)) | ((_m->DMRL_Comm_Req & (0x01U)) << 2U) | ((_m->DMRL_DoorAjarFault_Stat & (0x01U)) << 3U) | ((_m->DMRL_DoorMovement_Stat & (0x07U)) << 4U) | ((_m->DMRL_Antipinch_Stat & (0x01U)) << 7U) ); + cframe->Data[3] |= (uint8_t) ( (_m->DMRL_DoorDirection_Stat & (0x03U)) | ((_m->DMRL_RR_Window_Cmd & (0x07U)) << 3U) | ((_m->DMRL_ElcromeBright_Stat & (0x03U)) << 6U) ); + cframe->Data[4] |= (uint8_t) ( (_m->DMRL_SunShade_Stat & (0x07U)) | ((_m->DMRL_RearCurtain_Req & (0x03U)) << 4U) ); + + cframe->MsgId = (uint32_t) DMRL_Msg1_CANID; + cframe->DLC = (uint8_t) DMRL_Msg1_DLC; + cframe->IDE = (uint8_t) DMRL_Msg1_IDE; + return DMRL_Msg1_CANID; +} + +#else + +uint32_t Pack_DMRL_Msg1_candb(DMRL_Msg1_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(DMRL_Msg1_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->DMRL_WarningInd & (0x01U)) | ((_m->DMRL_DoorLockState & (0x03U)) << 1U) | ((_m->DMRL_DoorAjarState & (0x01U)) << 3U) | ((_m->DMRL_DoorCloseSw_Req & (0x01U)) << 4U) | ((_m->DMRL_IntDoorHandle_Req & (0x01U)) << 5U) | ((_m->DMRL_IntDoorLockSw_Cmd & (0x03U)) << 6U) ); + _d[1] |= (uint8_t) ( (_m->DMRL_ChildLock_Stat & (0x03U)) | ((_m->DMRL_VolumeLevel_Cmd & (0x07U)) << 2U) | ((_m->DMRL_WindowFullyClosed_Stat & (0x01U)) << 5U) ); + _d[2] |= (uint8_t) ( (_m->DMRL_Multimedia_Req & (0x03U)) | ((_m->DMRL_Comm_Req & (0x01U)) << 2U) | ((_m->DMRL_DoorAjarFault_Stat & (0x01U)) << 3U) | ((_m->DMRL_DoorMovement_Stat & (0x07U)) << 4U) | ((_m->DMRL_Antipinch_Stat & (0x01U)) << 7U) ); + _d[3] |= (uint8_t) ( (_m->DMRL_DoorDirection_Stat & (0x03U)) | ((_m->DMRL_RR_Window_Cmd & (0x07U)) << 3U) | ((_m->DMRL_ElcromeBright_Stat & (0x03U)) << 6U) ); + _d[4] |= (uint8_t) ( (_m->DMRL_SunShade_Stat & (0x07U)) | ((_m->DMRL_RearCurtain_Req & (0x03U)) << 4U) ); + + *_len = (uint8_t) DMRL_Msg1_DLC; + *_ide = (uint8_t) DMRL_Msg1_IDE; + return DMRL_Msg1_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_DMRR_Msg1_candb(DMRR_Msg1_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->DMRR_WarningInd = (uint8_t) ( (_d[0] & (0x01U)) ); + _m->DMRR_DoorLockState = (uint8_t) ( ((_d[0] >> 1U) & (0x03U)) ); + _m->DMRR_DoorAjarState = (uint8_t) ( ((_d[0] >> 3U) & (0x01U)) ); + _m->DMRR_DoorCloseSw_Req = (uint8_t) ( ((_d[0] >> 4U) & (0x01U)) ); + _m->DMRR_IntDoorHandle_Req = (uint8_t) ( ((_d[0] >> 5U) & (0x01U)) ); + _m->DMRR_IntDoorLockSw_Cmd = (uint8_t) ( ((_d[0] >> 6U) & (0x03U)) ); + _m->DMRR_ChildLock_Stat = (uint8_t) ( (_d[1] & (0x03U)) ); + _m->DMRR_VolumeLevel_Cmd = (uint8_t) ( ((_d[1] >> 2U) & (0x07U)) ); + _m->DMRR_WindowFullyClosed_Stat = (uint8_t) ( ((_d[1] >> 5U) & (0x01U)) ); + _m->DMRR_Multimedia_Req = (uint8_t) ( (_d[2] & (0x03U)) ); + _m->DMRR_Comm_Req = (uint8_t) ( ((_d[2] >> 2U) & (0x01U)) ); + _m->DMRR_DoorAjarFault_Stat = (uint8_t) ( ((_d[2] >> 3U) & (0x01U)) ); + _m->DMRR_DoorMovement_Stat = (uint8_t) ( ((_d[2] >> 4U) & (0x07U)) ); + _m->DMRR_Antipinch_Stat = (uint8_t) ( ((_d[2] >> 7U) & (0x01U)) ); + _m->DMRR_DoorDirection_Stat = (uint8_t) ( (_d[3] & (0x03U)) ); + _m->DMRR_RL_Window_Cmd = (uint8_t) ( ((_d[3] >> 3U) & (0x07U)) ); + _m->DMRR_ElcromeBright_Stat = (uint8_t) ( ((_d[3] >> 6U) & (0x03U)) ); + _m->DMRR_SunShade_Stat = (uint8_t) ( (_d[4] & (0x07U)) ); + _m->DMRR_RearCurtain_Req = (uint8_t) ( ((_d[4] >> 4U) & (0x03U)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < DMRR_Msg1_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_DMRR_Msg1_candb(&_m->mon1, DMRR_Msg1_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return DMRR_Msg1_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_DMRR_Msg1_candb(DMRR_Msg1_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(DMRR_Msg1_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->DMRR_WarningInd & (0x01U)) | ((_m->DMRR_DoorLockState & (0x03U)) << 1U) | ((_m->DMRR_DoorAjarState & (0x01U)) << 3U) | ((_m->DMRR_DoorCloseSw_Req & (0x01U)) << 4U) | ((_m->DMRR_IntDoorHandle_Req & (0x01U)) << 5U) | ((_m->DMRR_IntDoorLockSw_Cmd & (0x03U)) << 6U) ); + cframe->Data[1] |= (uint8_t) ( (_m->DMRR_ChildLock_Stat & (0x03U)) | ((_m->DMRR_VolumeLevel_Cmd & (0x07U)) << 2U) | ((_m->DMRR_WindowFullyClosed_Stat & (0x01U)) << 5U) ); + cframe->Data[2] |= (uint8_t) ( (_m->DMRR_Multimedia_Req & (0x03U)) | ((_m->DMRR_Comm_Req & (0x01U)) << 2U) | ((_m->DMRR_DoorAjarFault_Stat & (0x01U)) << 3U) | ((_m->DMRR_DoorMovement_Stat & (0x07U)) << 4U) | ((_m->DMRR_Antipinch_Stat & (0x01U)) << 7U) ); + cframe->Data[3] |= (uint8_t) ( (_m->DMRR_DoorDirection_Stat & (0x03U)) | ((_m->DMRR_RL_Window_Cmd & (0x07U)) << 3U) | ((_m->DMRR_ElcromeBright_Stat & (0x03U)) << 6U) ); + cframe->Data[4] |= (uint8_t) ( (_m->DMRR_SunShade_Stat & (0x07U)) | ((_m->DMRR_RearCurtain_Req & (0x03U)) << 4U) ); + + cframe->MsgId = (uint32_t) DMRR_Msg1_CANID; + cframe->DLC = (uint8_t) DMRR_Msg1_DLC; + cframe->IDE = (uint8_t) DMRR_Msg1_IDE; + return DMRR_Msg1_CANID; +} + +#else + +uint32_t Pack_DMRR_Msg1_candb(DMRR_Msg1_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(DMRR_Msg1_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->DMRR_WarningInd & (0x01U)) | ((_m->DMRR_DoorLockState & (0x03U)) << 1U) | ((_m->DMRR_DoorAjarState & (0x01U)) << 3U) | ((_m->DMRR_DoorCloseSw_Req & (0x01U)) << 4U) | ((_m->DMRR_IntDoorHandle_Req & (0x01U)) << 5U) | ((_m->DMRR_IntDoorLockSw_Cmd & (0x03U)) << 6U) ); + _d[1] |= (uint8_t) ( (_m->DMRR_ChildLock_Stat & (0x03U)) | ((_m->DMRR_VolumeLevel_Cmd & (0x07U)) << 2U) | ((_m->DMRR_WindowFullyClosed_Stat & (0x01U)) << 5U) ); + _d[2] |= (uint8_t) ( (_m->DMRR_Multimedia_Req & (0x03U)) | ((_m->DMRR_Comm_Req & (0x01U)) << 2U) | ((_m->DMRR_DoorAjarFault_Stat & (0x01U)) << 3U) | ((_m->DMRR_DoorMovement_Stat & (0x07U)) << 4U) | ((_m->DMRR_Antipinch_Stat & (0x01U)) << 7U) ); + _d[3] |= (uint8_t) ( (_m->DMRR_DoorDirection_Stat & (0x03U)) | ((_m->DMRR_RL_Window_Cmd & (0x07U)) << 3U) | ((_m->DMRR_ElcromeBright_Stat & (0x03U)) << 6U) ); + _d[4] |= (uint8_t) ( (_m->DMRR_SunShade_Stat & (0x07U)) | ((_m->DMRR_RearCurtain_Req & (0x03U)) << 4U) ); + + *_len = (uint8_t) DMRR_Msg1_DLC; + *_ide = (uint8_t) DMRR_Msg1_IDE; + return DMRR_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)) ); + _m->TM_TrailerConnect_Stat = (uint8_t) ( ((_d[0] >> 1U) & (0x01U)) ); + _m->TM_LockAndCloseSW_Req = (uint8_t) ( ((_d[0] >> 2U) & (0x01U)) ); + _m->TM_ExtTrunkSW_Req = (uint8_t) ( ((_d[0] >> 3U) & (0x01U)) ); + _m->TM_WarningInd = (uint8_t) ( ((_d[0] >> 4U) & (0x01U)) ); + _m->TM_FuelLid_Stat = (uint8_t) ( ((_d[0] >> 5U) & (0x01U)) ); + _m->TM_Kick_Req = (uint8_t) ( ((_d[0] >> 6U) & (0x01U)) ); + _m->TM_Comm_Req = (uint8_t) ( ((_d[0] >> 7U) & (0x01U)) ); + _m->TM_IntTrunkSW_Req = (uint8_t) ( (_d[1] & (0x01U)) ); + _m->TM_TrunkLatch_Stat = (uint8_t) ( ((_d[1] >> 2U) & (0x03U)) ); + _m->TM_BrakeLightHM_Status = (uint8_t) ( ((_d[1] >> 4U) & (0x01U)) ); + _m->TM_FuelLidOpen_Req = (uint8_t) ( ((_d[1] >> 5U) & (0x01U)) ); + _m->TM_T30spec_Stat = (uint8_t) ( ((_d[1] >> 6U) & (0x01U)) ); + _m->TM_LicensePlateLight_State = (uint8_t) ( (_d[2] & (0x07U)) ); + _m->TM_CoolingBox_Stat = (uint8_t) ( ((_d[2] >> 3U) & (0x03U)) ); + _m->TM_RearCushion_State = (uint8_t) ( (_d[3] & (0x07U)) ); #ifdef CANDB_USE_DIAG_MONITORS _m->mon1.dlc_error = (dlc_ < TM_Stat_DLC); @@ -472,7 +3179,10 @@ 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->Data[0] |= (uint8_t) ( (_m->TM_RearWindowHeating_Stat & (0x01U)) | ((_m->TM_TrailerConnect_Stat & (0x01U)) << 1U) | ((_m->TM_LockAndCloseSW_Req & (0x01U)) << 2U) | ((_m->TM_ExtTrunkSW_Req & (0x01U)) << 3U) | ((_m->TM_WarningInd & (0x01U)) << 4U) | ((_m->TM_FuelLid_Stat & (0x01U)) << 5U) | ((_m->TM_Kick_Req & (0x01U)) << 6U) | ((_m->TM_Comm_Req & (0x01U)) << 7U) ); + cframe->Data[1] |= (uint8_t) ( (_m->TM_IntTrunkSW_Req & (0x01U)) | ((_m->TM_TrunkLatch_Stat & (0x03U)) << 2U) | ((_m->TM_BrakeLightHM_Status & (0x01U)) << 4U) | ((_m->TM_FuelLidOpen_Req & (0x01U)) << 5U) | ((_m->TM_T30spec_Stat & (0x01U)) << 6U) ); + cframe->Data[2] |= (uint8_t) ( (_m->TM_LicensePlateLight_State & (0x07U)) | ((_m->TM_CoolingBox_Stat & (0x03U)) << 3U) ); + cframe->Data[3] |= (uint8_t) ( (_m->TM_RearCushion_State & (0x07U)) ); cframe->MsgId = (uint32_t) TM_Stat_CANID; cframe->DLC = (uint8_t) TM_Stat_DLC; @@ -486,7 +3196,10 @@ uint32_t Pack_TM_Stat_candb(TM_Stat_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* { 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)) ); + _d[0] |= (uint8_t) ( (_m->TM_RearWindowHeating_Stat & (0x01U)) | ((_m->TM_TrailerConnect_Stat & (0x01U)) << 1U) | ((_m->TM_LockAndCloseSW_Req & (0x01U)) << 2U) | ((_m->TM_ExtTrunkSW_Req & (0x01U)) << 3U) | ((_m->TM_WarningInd & (0x01U)) << 4U) | ((_m->TM_FuelLid_Stat & (0x01U)) << 5U) | ((_m->TM_Kick_Req & (0x01U)) << 6U) | ((_m->TM_Comm_Req & (0x01U)) << 7U) ); + _d[1] |= (uint8_t) ( (_m->TM_IntTrunkSW_Req & (0x01U)) | ((_m->TM_TrunkLatch_Stat & (0x03U)) << 2U) | ((_m->TM_BrakeLightHM_Status & (0x01U)) << 4U) | ((_m->TM_FuelLidOpen_Req & (0x01U)) << 5U) | ((_m->TM_T30spec_Stat & (0x01U)) << 6U) ); + _d[2] |= (uint8_t) ( (_m->TM_LicensePlateLight_State & (0x07U)) | ((_m->TM_CoolingBox_Stat & (0x03U)) << 3U) ); + _d[3] |= (uint8_t) ( (_m->TM_RearCushion_State & (0x07U)) ); *_len = (uint8_t) TM_Stat_DLC; *_ide = (uint8_t) TM_Stat_IDE; @@ -495,9 +3208,67 @@ uint32_t Pack_TM_Stat_candb(TM_Stat_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* #endif // CANDB_USE_CANSTRUCT +uint32_t Unpack_PTG_Body_Stat_candb(PTG_Body_Stat_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->PowerTailgateAntipinchSts = (uint8_t) ( (_d[0] & (0x01U)) ); + _m->PowerTailgateMotionStatus = (uint8_t) ( ((_d[0] >> 1U) & (0x03U)) ); + _m->PowerTailgateMemoryStored = (uint8_t) ( ((_d[0] >> 3U) & (0x01U)) ); + _m->PowerTailgateStatus = (uint8_t) ( ((_d[0] >> 4U) & (0x07U)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < PTG_Body_Stat_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_PTG_Body_Stat_candb(&_m->mon1, PTG_Body_Stat_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return PTG_Body_Stat_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_PTG_Body_Stat_candb(PTG_Body_Stat_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(PTG_Body_Stat_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->PowerTailgateAntipinchSts & (0x01U)) | ((_m->PowerTailgateMotionStatus & (0x03U)) << 1U) | ((_m->PowerTailgateMemoryStored & (0x01U)) << 3U) | ((_m->PowerTailgateStatus & (0x07U)) << 4U) ); + + cframe->MsgId = (uint32_t) PTG_Body_Stat_CANID; + cframe->DLC = (uint8_t) PTG_Body_Stat_DLC; + cframe->IDE = (uint8_t) PTG_Body_Stat_IDE; + return PTG_Body_Stat_CANID; +} + +#else + +uint32_t Pack_PTG_Body_Stat_candb(PTG_Body_Stat_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(PTG_Body_Stat_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->PowerTailgateAntipinchSts & (0x01U)) | ((_m->PowerTailgateMotionStatus & (0x03U)) << 1U) | ((_m->PowerTailgateMemoryStored & (0x01U)) << 3U) | ((_m->PowerTailgateStatus & (0x07U)) << 4U) ); + + *_len = (uint8_t) PTG_Body_Stat_DLC; + *_ide = (uint8_t) PTG_Body_Stat_IDE; + return PTG_Body_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->CCPR_TVPowerSw_Stat = (uint8_t) ( (_d[0] & (0x01U)) ); + _m->CCPF_RWindowHeatSw_Stat = (uint8_t) ( ((_d[0] >> 1U) & (0x01U)) ); + _m->CCPF_FWindowHeatSw_Stat = (uint8_t) ( ((_d[0] >> 2U) & (0x01U)) ); + _m->CCPR_SrcChgSw_Stat = (uint8_t) ( ((_d[0] >> 4U) & (0x01U)) ); + _m->CCPR_DWClaritySw_Stat = (uint8_t) ( ((_d[0] >> 5U) & (0x01U)) ); + _m->CCPR_IntercomSw_Stat = (uint8_t) ( ((_d[0] >> 6U) & (0x01U)) ); + _m->CCPR_DWCntrlSw_Stat = (uint8_t) ( (_d[1] & (0x03U)) ); + _m->CCPF_MuteSw_Stat = (uint8_t) ( ((_d[1] >> 2U) & (0x03U)) ); + _m->CCPF_VolAjustSw_Stat = (uint8_t) ( ((_d[1] >> 4U) & (0x03U)) ); + _m->CCPR_PanoramicViewSw_Stat = (uint8_t) ( ((_d[1] >> 6U) & (0x03U)) ); _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)) ); @@ -509,6 +3280,8 @@ uint32_t Unpack_TM_CP_candb(TM_CP_t* _m, const uint8_t* _d, uint8_t dlc_) _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)) ); + _m->CCPR_TabletOffSw_Stat = (uint8_t) ( ((_d[5] >> 2U) & (0x03U)) ); + _m->CCPR_TabletExtractSw_Stat = (uint8_t) ( ((_d[5] >> 6U) & (0x01U)) ); #ifdef CANDB_USE_DIAG_MONITORS _m->mon1.dlc_error = (dlc_ < TM_CP_DLC); @@ -527,10 +3300,12 @@ 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[0] |= (uint8_t) ( (_m->CCPR_TVPowerSw_Stat & (0x01U)) | ((_m->CCPF_RWindowHeatSw_Stat & (0x01U)) << 1U) | ((_m->CCPF_FWindowHeatSw_Stat & (0x01U)) << 2U) | ((_m->CCPR_SrcChgSw_Stat & (0x01U)) << 4U) | ((_m->CCPR_DWClaritySw_Stat & (0x01U)) << 5U) | ((_m->CCPR_IntercomSw_Stat & (0x01U)) << 6U) ); + cframe->Data[1] |= (uint8_t) ( (_m->CCPR_DWCntrlSw_Stat & (0x03U)) | ((_m->CCPF_MuteSw_Stat & (0x03U)) << 2U) | ((_m->CCPF_VolAjustSw_Stat & (0x03U)) << 4U) | ((_m->CCPR_PanoramicViewSw_Stat & (0x03U)) << 6U) ); 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->Data[5] |= (uint8_t) ( (_m->CCPF_AcMaxButton_Stat & (0x03U)) | ((_m->CCPR_TabletOffSw_Stat & (0x03U)) << 2U) | ((_m->CCPR_TabletExtractSw_Stat & (0x01U)) << 6U) ); cframe->MsgId = (uint32_t) TM_CP_CANID; cframe->DLC = (uint8_t) TM_CP_DLC; @@ -544,10 +3319,12 @@ 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[0] |= (uint8_t) ( (_m->CCPR_TVPowerSw_Stat & (0x01U)) | ((_m->CCPF_RWindowHeatSw_Stat & (0x01U)) << 1U) | ((_m->CCPF_FWindowHeatSw_Stat & (0x01U)) << 2U) | ((_m->CCPR_SrcChgSw_Stat & (0x01U)) << 4U) | ((_m->CCPR_DWClaritySw_Stat & (0x01U)) << 5U) | ((_m->CCPR_IntercomSw_Stat & (0x01U)) << 6U) ); + _d[1] |= (uint8_t) ( (_m->CCPR_DWCntrlSw_Stat & (0x03U)) | ((_m->CCPF_MuteSw_Stat & (0x03U)) << 2U) | ((_m->CCPF_VolAjustSw_Stat & (0x03U)) << 4U) | ((_m->CCPR_PanoramicViewSw_Stat & (0x03U)) << 6U) ); _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)) ); + _d[5] |= (uint8_t) ( (_m->CCPF_AcMaxButton_Stat & (0x03U)) | ((_m->CCPR_TabletOffSw_Stat & (0x03U)) << 2U) | ((_m->CCPR_TabletExtractSw_Stat & (0x01U)) << 6U) ); *_len = (uint8_t) TM_CP_DLC; *_ide = (uint8_t) TM_CP_IDE; @@ -556,6 +3333,265 @@ uint32_t Pack_TM_CP_candb(TM_CP_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide #endif // CANDB_USE_CANSTRUCT +uint32_t Unpack_VAU2_Msg2_candb(VAU2_Msg2_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->VAU_WarningInd = (uint8_t) ( (_d[0] & (0x01U)) ); + _m->VAU_ExteriorKeyFobSwReq = (uint8_t) ( ((_d[0] >> 1U) & (0x0FU)) ); + _m->VAU_DeviceAreaDetecting = (uint8_t) ( ((_d[0] >> 5U) & (0x07U)) ); + _m->VAU_KeyBattLowCharge = (uint8_t) ( (_d[1] & (0x01U)) ); + _m->VAU_WelcomeLights_Req = (uint8_t) ( ((_d[1] >> 1U) & (0x01U)) ); + _m->VAU_ApproachLock_Req = (uint8_t) ( ((_d[1] >> 2U) & (0x03U)) ); + _m->VAU_Router_DevicePairing = (uint8_t) ( ((_d[1] >> 4U) & (0x0FU)) ); + _m->VAU_WChF_Req = (uint8_t) ( (_d[2] & (0x01U)) ); + _m->VAU_BLE_FL_Door_Req = (uint8_t) ( ((_d[2] >> 1U) & (0x03U)) ); + _m->VAU_BLE_FR_Door_Req = (uint8_t) ( ((_d[2] >> 3U) & (0x03U)) ); + _m->VAU_BLE_RL_Door_Req = (uint8_t) ( ((_d[2] >> 5U) & (0x03U)) ); + _m->VAU_RS_Req = (uint8_t) ( ((_d[2] >> 7U) & (0x01U)) ); + _m->VAU_BLE_RR_Door_Req = (uint8_t) ( (_d[3] & (0x03U)) ); + _m->VAU_BLE_CloseWndw_Req = (uint8_t) ( ((_d[3] >> 2U) & (0x03U)) ); + _m->VAU_BLE_TrunkOpn_Req = (uint8_t) ( ((_d[3] >> 4U) & (0x03U)) ); + _m->VAU_BLE_Lock_Req = (uint8_t) ( ((_d[3] >> 6U) & (0x03U)) ); + _m->VAU_BLE_RS_Req = (uint8_t) ( (_d[4] & (0x01U)) ); + _m->VAU_Device_ID = (uint8_t) ( ((_d[4] >> 1U) & (0x0FU)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < VAU2_Msg2_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_VAU2_Msg2_candb(&_m->mon1, VAU2_Msg2_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return VAU2_Msg2_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_VAU2_Msg2_candb(VAU2_Msg2_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(VAU2_Msg2_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->VAU_WarningInd & (0x01U)) | ((_m->VAU_ExteriorKeyFobSwReq & (0x0FU)) << 1U) | ((_m->VAU_DeviceAreaDetecting & (0x07U)) << 5U) ); + cframe->Data[1] |= (uint8_t) ( (_m->VAU_KeyBattLowCharge & (0x01U)) | ((_m->VAU_WelcomeLights_Req & (0x01U)) << 1U) | ((_m->VAU_ApproachLock_Req & (0x03U)) << 2U) | ((_m->VAU_Router_DevicePairing & (0x0FU)) << 4U) ); + cframe->Data[2] |= (uint8_t) ( (_m->VAU_WChF_Req & (0x01U)) | ((_m->VAU_BLE_FL_Door_Req & (0x03U)) << 1U) | ((_m->VAU_BLE_FR_Door_Req & (0x03U)) << 3U) | ((_m->VAU_BLE_RL_Door_Req & (0x03U)) << 5U) | ((_m->VAU_RS_Req & (0x01U)) << 7U) ); + cframe->Data[3] |= (uint8_t) ( (_m->VAU_BLE_RR_Door_Req & (0x03U)) | ((_m->VAU_BLE_CloseWndw_Req & (0x03U)) << 2U) | ((_m->VAU_BLE_TrunkOpn_Req & (0x03U)) << 4U) | ((_m->VAU_BLE_Lock_Req & (0x03U)) << 6U) ); + cframe->Data[4] |= (uint8_t) ( (_m->VAU_BLE_RS_Req & (0x01U)) | ((_m->VAU_Device_ID & (0x0FU)) << 1U) ); + + cframe->MsgId = (uint32_t) VAU2_Msg2_CANID; + cframe->DLC = (uint8_t) VAU2_Msg2_DLC; + cframe->IDE = (uint8_t) VAU2_Msg2_IDE; + return VAU2_Msg2_CANID; +} + +#else + +uint32_t Pack_VAU2_Msg2_candb(VAU2_Msg2_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(VAU2_Msg2_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->VAU_WarningInd & (0x01U)) | ((_m->VAU_ExteriorKeyFobSwReq & (0x0FU)) << 1U) | ((_m->VAU_DeviceAreaDetecting & (0x07U)) << 5U) ); + _d[1] |= (uint8_t) ( (_m->VAU_KeyBattLowCharge & (0x01U)) | ((_m->VAU_WelcomeLights_Req & (0x01U)) << 1U) | ((_m->VAU_ApproachLock_Req & (0x03U)) << 2U) | ((_m->VAU_Router_DevicePairing & (0x0FU)) << 4U) ); + _d[2] |= (uint8_t) ( (_m->VAU_WChF_Req & (0x01U)) | ((_m->VAU_BLE_FL_Door_Req & (0x03U)) << 1U) | ((_m->VAU_BLE_FR_Door_Req & (0x03U)) << 3U) | ((_m->VAU_BLE_RL_Door_Req & (0x03U)) << 5U) | ((_m->VAU_RS_Req & (0x01U)) << 7U) ); + _d[3] |= (uint8_t) ( (_m->VAU_BLE_RR_Door_Req & (0x03U)) | ((_m->VAU_BLE_CloseWndw_Req & (0x03U)) << 2U) | ((_m->VAU_BLE_TrunkOpn_Req & (0x03U)) << 4U) | ((_m->VAU_BLE_Lock_Req & (0x03U)) << 6U) ); + _d[4] |= (uint8_t) ( (_m->VAU_BLE_RS_Req & (0x01U)) | ((_m->VAU_Device_ID & (0x0FU)) << 1U) ); + + *_len = (uint8_t) VAU2_Msg2_DLC; + *_ide = (uint8_t) VAU2_Msg2_IDE; + return VAU2_Msg2_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_BCM_DMS_01_candb(BCM_DMS_01_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->DrivingMode_Sig = (uint8_t) ( (_d[0] & (0x0FU)) ); + _m->DMS_HDC_Req = (uint8_t) ( ((_d[0] >> 4U) & (0x01U)) ); + _m->UpwardPosReq = (uint8_t) ( ((_d[0] >> 5U) & (0x01U)) ); + _m->DownwardPosReq = (uint8_t) ( ((_d[0] >> 6U) & (0x01U)) ); + _m->DMS_ServiceMode = (uint8_t) ( ((_d[0] >> 7U) & (0x01U)) ); + _m->BCM_DMS_01_RC = (uint8_t) ( (_d[1] & (0x0FU)) ); + _m->BCM_DMS_01_CS = (uint8_t) ( (_d[2] & (0xFFU)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < BCM_DMS_01_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_BCM_DMS_01_candb(&_m->mon1, BCM_DMS_01_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return BCM_DMS_01_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_BCM_DMS_01_candb(BCM_DMS_01_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(BCM_DMS_01_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->DrivingMode_Sig & (0x0FU)) | ((_m->DMS_HDC_Req & (0x01U)) << 4U) | ((_m->UpwardPosReq & (0x01U)) << 5U) | ((_m->DownwardPosReq & (0x01U)) << 6U) | ((_m->DMS_ServiceMode & (0x01U)) << 7U) ); + cframe->Data[1] |= (uint8_t) ( (_m->BCM_DMS_01_RC & (0x0FU)) ); + cframe->Data[2] |= (uint8_t) ( (_m->BCM_DMS_01_CS & (0xFFU)) ); + + cframe->MsgId = (uint32_t) BCM_DMS_01_CANID; + cframe->DLC = (uint8_t) BCM_DMS_01_DLC; + cframe->IDE = (uint8_t) BCM_DMS_01_IDE; + return BCM_DMS_01_CANID; +} + +#else + +uint32_t Pack_BCM_DMS_01_candb(BCM_DMS_01_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(BCM_DMS_01_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->DrivingMode_Sig & (0x0FU)) | ((_m->DMS_HDC_Req & (0x01U)) << 4U) | ((_m->UpwardPosReq & (0x01U)) << 5U) | ((_m->DownwardPosReq & (0x01U)) << 6U) | ((_m->DMS_ServiceMode & (0x01U)) << 7U) ); + _d[1] |= (uint8_t) ( (_m->BCM_DMS_01_RC & (0x0FU)) ); + _d[2] |= (uint8_t) ( (_m->BCM_DMS_01_CS & (0xFFU)) ); + + *_len = (uint8_t) BCM_DMS_01_DLC; + *_ide = (uint8_t) BCM_DMS_01_IDE; + return BCM_DMS_01_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_LB_pSilCU_State_candb(LB_pSilCU_State_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->LB_pSilCU_Module_Stat = (uint8_t) ( (_d[0] & (0x0FU)) ); + _m->LB_pSilCU_ModuleTemperature_Val = (int8_t) __ext_sig__(( ((_d[1] & (0x07U)) << 4U) | ((_d[0] >> 4U) & (0x0FU)) ), 7); + _m->LB_pSilCU_reserved1 = (int8_t) __ext_sig__(( ((_d[1] >> 3U) & (0x1FU)) ), 5); + _m->LB_pSilCU_reserved2 = (int8_t) __ext_sig__(( (_d[2] & (0xFFU)) ), 8); + _m->LB_pSilCU_reserved3 = (int8_t) __ext_sig__(( (_d[3] & (0xFFU)) ), 8); + _m->LB_pSilCU_reserved4 = (int8_t) __ext_sig__(( (_d[4] & (0xFFU)) ), 8); + _m->LB_pSilCU_reserved5 = (int8_t) __ext_sig__(( (_d[5] & (0xFFU)) ), 8); + _m->LB_pSilCU_reserved6 = (int8_t) __ext_sig__(( (_d[6] & (0xFFU)) ), 8); + _m->LB_pSilCU_reserved7 = (int8_t) __ext_sig__(( (_d[7] & (0xFFU)) ), 8); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < LB_pSilCU_State_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_LB_pSilCU_State_candb(&_m->mon1, LB_pSilCU_State_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return LB_pSilCU_State_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_LB_pSilCU_State_candb(LB_pSilCU_State_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(LB_pSilCU_State_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->LB_pSilCU_Module_Stat & (0x0FU)) | ((_m->LB_pSilCU_ModuleTemperature_Val & (0x0FU)) << 4U) ); + cframe->Data[1] |= (uint8_t) ( ((_m->LB_pSilCU_ModuleTemperature_Val >> 4U) & (0x07U)) | ((_m->LB_pSilCU_reserved1 & (0x1FU)) << 3U) ); + cframe->Data[2] |= (uint8_t) ( (_m->LB_pSilCU_reserved2 & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( (_m->LB_pSilCU_reserved3 & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( (_m->LB_pSilCU_reserved4 & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( (_m->LB_pSilCU_reserved5 & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( (_m->LB_pSilCU_reserved6 & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->LB_pSilCU_reserved7 & (0xFFU)) ); + + cframe->MsgId = (uint32_t) LB_pSilCU_State_CANID; + cframe->DLC = (uint8_t) LB_pSilCU_State_DLC; + cframe->IDE = (uint8_t) LB_pSilCU_State_IDE; + return LB_pSilCU_State_CANID; +} + +#else + +uint32_t Pack_LB_pSilCU_State_candb(LB_pSilCU_State_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(LB_pSilCU_State_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->LB_pSilCU_Module_Stat & (0x0FU)) | ((_m->LB_pSilCU_ModuleTemperature_Val & (0x0FU)) << 4U) ); + _d[1] |= (uint8_t) ( ((_m->LB_pSilCU_ModuleTemperature_Val >> 4U) & (0x07U)) | ((_m->LB_pSilCU_reserved1 & (0x1FU)) << 3U) ); + _d[2] |= (uint8_t) ( (_m->LB_pSilCU_reserved2 & (0xFFU)) ); + _d[3] |= (uint8_t) ( (_m->LB_pSilCU_reserved3 & (0xFFU)) ); + _d[4] |= (uint8_t) ( (_m->LB_pSilCU_reserved4 & (0xFFU)) ); + _d[5] |= (uint8_t) ( (_m->LB_pSilCU_reserved5 & (0xFFU)) ); + _d[6] |= (uint8_t) ( (_m->LB_pSilCU_reserved6 & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->LB_pSilCU_reserved7 & (0xFFU)) ); + + *_len = (uint8_t) LB_pSilCU_State_DLC; + *_ide = (uint8_t) LB_pSilCU_State_IDE; + return LB_pSilCU_State_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_RB_pSilCU_State_candb(RB_pSilCU_State_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->RB_pSilCU_Module_Stat = (int8_t) __ext_sig__(( (_d[0] & (0x0FU)) ), 4); + _m->RB_pSilCU_ModuleTemperature_Val = (int8_t) __ext_sig__(( ((_d[1] & (0x07U)) << 4U) | ((_d[0] >> 4U) & (0x0FU)) ), 7); + _m->RB_pSilCU_reserved1 = (int8_t) __ext_sig__(( ((_d[1] >> 3U) & (0x1FU)) ), 5); + _m->RB_pSilCU_reserved2 = (int8_t) __ext_sig__(( (_d[2] & (0xFFU)) ), 8); + _m->RB_pSilCU_reserved3 = (int8_t) __ext_sig__(( (_d[3] & (0xFFU)) ), 8); + _m->RB_pSilCU_reserved4 = (int8_t) __ext_sig__(( (_d[4] & (0xFFU)) ), 8); + _m->RB_pSilCU_reserved5 = (int8_t) __ext_sig__(( (_d[5] & (0xFFU)) ), 8); + _m->RB_pSilCU_reserved6 = (int8_t) __ext_sig__(( (_d[6] & (0xFFU)) ), 8); + _m->RB_pSilCU_reserved7 = (int8_t) __ext_sig__(( (_d[7] & (0xFFU)) ), 8); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < RB_pSilCU_State_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_RB_pSilCU_State_candb(&_m->mon1, RB_pSilCU_State_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return RB_pSilCU_State_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_RB_pSilCU_State_candb(RB_pSilCU_State_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(RB_pSilCU_State_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->RB_pSilCU_Module_Stat & (0x0FU)) | ((_m->RB_pSilCU_ModuleTemperature_Val & (0x0FU)) << 4U) ); + cframe->Data[1] |= (uint8_t) ( ((_m->RB_pSilCU_ModuleTemperature_Val >> 4U) & (0x07U)) | ((_m->RB_pSilCU_reserved1 & (0x1FU)) << 3U) ); + cframe->Data[2] |= (uint8_t) ( (_m->RB_pSilCU_reserved2 & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( (_m->RB_pSilCU_reserved3 & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( (_m->RB_pSilCU_reserved4 & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( (_m->RB_pSilCU_reserved5 & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( (_m->RB_pSilCU_reserved6 & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->RB_pSilCU_reserved7 & (0xFFU)) ); + + cframe->MsgId = (uint32_t) RB_pSilCU_State_CANID; + cframe->DLC = (uint8_t) RB_pSilCU_State_DLC; + cframe->IDE = (uint8_t) RB_pSilCU_State_IDE; + return RB_pSilCU_State_CANID; +} + +#else + +uint32_t Pack_RB_pSilCU_State_candb(RB_pSilCU_State_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(RB_pSilCU_State_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->RB_pSilCU_Module_Stat & (0x0FU)) | ((_m->RB_pSilCU_ModuleTemperature_Val & (0x0FU)) << 4U) ); + _d[1] |= (uint8_t) ( ((_m->RB_pSilCU_ModuleTemperature_Val >> 4U) & (0x07U)) | ((_m->RB_pSilCU_reserved1 & (0x1FU)) << 3U) ); + _d[2] |= (uint8_t) ( (_m->RB_pSilCU_reserved2 & (0xFFU)) ); + _d[3] |= (uint8_t) ( (_m->RB_pSilCU_reserved3 & (0xFFU)) ); + _d[4] |= (uint8_t) ( (_m->RB_pSilCU_reserved4 & (0xFFU)) ); + _d[5] |= (uint8_t) ( (_m->RB_pSilCU_reserved5 & (0xFFU)) ); + _d[6] |= (uint8_t) ( (_m->RB_pSilCU_reserved6 & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->RB_pSilCU_reserved7 & (0xFFU)) ); + + *_len = (uint8_t) RB_pSilCU_State_DLC; + *_ide = (uint8_t) RB_pSilCU_State_IDE; + return RB_pSilCU_State_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_; @@ -620,22 +3656,92 @@ uint32_t Pack_HVC_CCU_Status_Msg_candb(HVC_CCU_Status_Msg_t* _m, uint8_t* _d, ui #endif // CANDB_USE_CANSTRUCT +uint32_t Unpack_ATS_Status_candb(ATS_Status_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->ATS_Err_Stat = (uint8_t) ( (_d[0] & (0x01U)) ); + _m->ATS_AutoHoldBtn_Stat = (uint8_t) ( ((_d[0] >> 1U) & (0x03U)) ); + _m->ATS_EPBBtn_Req = (uint8_t) ( ((_d[0] >> 3U) & (0x03U)) ); + _m->ATS_GearModeBtn_Req = (uint8_t) ( ((_d[0] >> 5U) & (0x07U)) ); + _m->ATS_Status_RC = (uint8_t) ( (_d[1] & (0x0FU)) ); + _m->ATS_DriveModeBtn_Stat = (uint8_t) ( ((_d[1] >> 4U) & (0x03U)) ); + _m->ATS_Status_CS = (uint8_t) ( (_d[2] & (0xFFU)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < ATS_Status_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_ATS_Status_candb(&_m->mon1, ATS_Status_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return ATS_Status_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_ATS_Status_candb(ATS_Status_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(ATS_Status_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->ATS_Err_Stat & (0x01U)) | ((_m->ATS_AutoHoldBtn_Stat & (0x03U)) << 1U) | ((_m->ATS_EPBBtn_Req & (0x03U)) << 3U) | ((_m->ATS_GearModeBtn_Req & (0x07U)) << 5U) ); + cframe->Data[1] |= (uint8_t) ( (_m->ATS_Status_RC & (0x0FU)) | ((_m->ATS_DriveModeBtn_Stat & (0x03U)) << 4U) ); + cframe->Data[2] |= (uint8_t) ( (_m->ATS_Status_CS & (0xFFU)) ); + + cframe->MsgId = (uint32_t) ATS_Status_CANID; + cframe->DLC = (uint8_t) ATS_Status_DLC; + cframe->IDE = (uint8_t) ATS_Status_IDE; + return ATS_Status_CANID; +} + +#else + +uint32_t Pack_ATS_Status_candb(ATS_Status_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(ATS_Status_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->ATS_Err_Stat & (0x01U)) | ((_m->ATS_AutoHoldBtn_Stat & (0x03U)) << 1U) | ((_m->ATS_EPBBtn_Req & (0x03U)) << 3U) | ((_m->ATS_GearModeBtn_Req & (0x07U)) << 5U) ); + _d[1] |= (uint8_t) ( (_m->ATS_Status_RC & (0x0FU)) | ((_m->ATS_DriveModeBtn_Stat & (0x03U)) << 4U) ); + _d[2] |= (uint8_t) ( (_m->ATS_Status_CS & (0xFFU)) ); + + *_len = (uint8_t) ATS_Status_DLC; + *_ide = (uint8_t) ATS_Status_IDE; + return ATS_Status_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->BCM_T15h_Stat = (uint8_t) ( ((_d[0] >> 3U) & (0x01U)) ); + _m->BCM_SPV_Feature_Stat = (uint8_t) ( ((_d[0] >> 5U) & (0x01U)) ); _m->StealthModeEn = (uint8_t) ( ((_d[0] >> 6U) & (0x01U)) ); + _m->BCM_VehicleType_Stat = (uint8_t) ( ((_d[0] >> 7U) & (0x01U)) ); + _m->BCM_VehicleBody_Stat = (uint8_t) ( (_d[1] & (0x0FU)) ); + _m->BCM_ADASTerm_Stat = (uint8_t) ( ((_d[1] >> 4U) & (0x01U)) ); _m->BCM_CCTerm_Stat = (uint8_t) ( ((_d[1] >> 5U) & (0x01U)) ); _m->BCM_T30i_DisableWarning = (uint8_t) ( ((_d[1] >> 6U) & (0x01U)) ); + _m->BCM_LightBCM_Stat = (uint8_t) ( ((_d[1] >> 7U) & (0x01U)) ); + _m->HUD_IntensityRequest = (uint8_t) ( (_d[2] & (0xFFU)) ); _m->BCM_T30d_DisableWarning = (uint8_t) ( (_d[3] & (0x01U)) ); + _m->BCM_Light_Stat = (uint8_t) ( ((_d[3] >> 1U) & (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_PreheatFunction_Stat = (uint8_t) ( (_d[4] & (0x03U)) ); + _m->BCM_VehiclePowertrain_Stat = (uint8_t) ( ((_d[4] >> 2U) & (0x03U)) ); + _m->BCM_SwBackIntens_Val_ro = (uint8_t) ( (_d[5] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_SwBackIntens_Val_phys = (sigfloat_t)(CANDB_BCM_SwBackIntens_Val_ro_fromS(_m->BCM_SwBackIntens_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + _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)) ); @@ -663,12 +3769,16 @@ uint32_t Pack_BCM_VEH_STATE_candb(BCM_VEH_STATE_t* _m, __CoderDbcCanFrame_t__* c #ifdef CANDB_USE_SIGFLOAT _m->BCM_IndFadingTime_Req_ro = (uint8_t) CANDB_BCM_IndFadingTime_Req_ro_toS(_m->BCM_IndFadingTime_Req_phys); + _m->BCM_SwBackIntens_Val_ro = (uint8_t) CANDB_BCM_SwBackIntens_Val_ro_toS(_m->BCM_SwBackIntens_Val_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[0] |= (uint8_t) ( (_m->BCM_T15_Stat & (0x01U)) | ((_m->BCM_T30d_Stat & (0x01U)) << 1U) | ((_m->BCM_T30i_Stat & (0x01U)) << 2U) | ((_m->BCM_T15h_Stat & (0x01U)) << 3U) | ((_m->BCM_SPV_Feature_Stat & (0x01U)) << 5U) | ((_m->StealthModeEn & (0x01U)) << 6U) | ((_m->BCM_VehicleType_Stat & (0x01U)) << 7U) ); + cframe->Data[1] |= (uint8_t) ( (_m->BCM_VehicleBody_Stat & (0x0FU)) | ((_m->BCM_ADASTerm_Stat & (0x01U)) << 4U) | ((_m->BCM_CCTerm_Stat & (0x01U)) << 5U) | ((_m->BCM_T30i_DisableWarning & (0x01U)) << 6U) | ((_m->BCM_LightBCM_Stat & (0x01U)) << 7U) ); + cframe->Data[2] |= (uint8_t) ( (_m->HUD_IntensityRequest & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( (_m->BCM_T30d_DisableWarning & (0x01U)) | ((_m->BCM_Light_Stat & (0x01U)) << 1U) | ((_m->BCM_IndFadingTime_Req_ro & (0x1FU)) << 2U) | ((_m->BCM_CCTermDisableWarning & (0x01U)) << 7U) ); + cframe->Data[4] |= (uint8_t) ( (_m->BCM_PreheatFunction_Stat & (0x03U)) | ((_m->BCM_VehiclePowertrain_Stat & (0x03U)) << 2U) ); + cframe->Data[5] |= (uint8_t) ( (_m->BCM_SwBackIntens_Val_ro & (0xFFU)) ); 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)) ); @@ -686,12 +3796,16 @@ uint32_t Pack_BCM_VEH_STATE_candb(BCM_VEH_STATE_t* _m, uint8_t* _d, uint8_t* _le #ifdef CANDB_USE_SIGFLOAT _m->BCM_IndFadingTime_Req_ro = (uint8_t) CANDB_BCM_IndFadingTime_Req_ro_toS(_m->BCM_IndFadingTime_Req_phys); + _m->BCM_SwBackIntens_Val_ro = (uint8_t) CANDB_BCM_SwBackIntens_Val_ro_toS(_m->BCM_SwBackIntens_Val_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[0] |= (uint8_t) ( (_m->BCM_T15_Stat & (0x01U)) | ((_m->BCM_T30d_Stat & (0x01U)) << 1U) | ((_m->BCM_T30i_Stat & (0x01U)) << 2U) | ((_m->BCM_T15h_Stat & (0x01U)) << 3U) | ((_m->BCM_SPV_Feature_Stat & (0x01U)) << 5U) | ((_m->StealthModeEn & (0x01U)) << 6U) | ((_m->BCM_VehicleType_Stat & (0x01U)) << 7U) ); + _d[1] |= (uint8_t) ( (_m->BCM_VehicleBody_Stat & (0x0FU)) | ((_m->BCM_ADASTerm_Stat & (0x01U)) << 4U) | ((_m->BCM_CCTerm_Stat & (0x01U)) << 5U) | ((_m->BCM_T30i_DisableWarning & (0x01U)) << 6U) | ((_m->BCM_LightBCM_Stat & (0x01U)) << 7U) ); + _d[2] |= (uint8_t) ( (_m->HUD_IntensityRequest & (0xFFU)) ); + _d[3] |= (uint8_t) ( (_m->BCM_T30d_DisableWarning & (0x01U)) | ((_m->BCM_Light_Stat & (0x01U)) << 1U) | ((_m->BCM_IndFadingTime_Req_ro & (0x1FU)) << 2U) | ((_m->BCM_CCTermDisableWarning & (0x01U)) << 7U) ); + _d[4] |= (uint8_t) ( (_m->BCM_PreheatFunction_Stat & (0x03U)) | ((_m->BCM_VehiclePowertrain_Stat & (0x03U)) << 2U) ); + _d[5] |= (uint8_t) ( (_m->BCM_SwBackIntens_Val_ro & (0xFFU)) ); _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)) ); @@ -702,10 +3816,348 @@ uint32_t Pack_BCM_VEH_STATE_candb(BCM_VEH_STATE_t* _m, uint8_t* _d, uint8_t* _le #endif // CANDB_USE_CANSTRUCT +uint32_t Unpack_BCM_Veh_State2_candb(BCM_Veh_State2_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->BCM_MAS_Activation_Req = (uint8_t) ( (_d[0] & (0x03U)) ); + _m->BCM_HeadUpDispSw_Stat = (uint8_t) ( ((_d[0] >> 2U) & (0x01U)) ); + _m->BCM_FootrestRL_Stat = (uint8_t) ( ((_d[0] >> 3U) & (0x03U)) ); + _m->BCM_FootrestRR_Stat = (uint8_t) ( ((_d[0] >> 5U) & (0x03U)) ); + _m->BCM_FootrestRLWarning_Stat = (uint8_t) ( ((_d[0] >> 7U) & (0x01U)) ); + _m->BCM_AmbientTempHMI_ro = (uint8_t) ( (_d[1] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_AmbientTempHMI_phys = (sigfloat_t)(CANDB_BCM_AmbientTempHMI_ro_fromS(_m->BCM_AmbientTempHMI_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->BCM_GovernmentComSw_Stat = (uint8_t) ( (_d[2] & (0x01U)) ); + _m->BCM_RearWindowHeatingLED = (uint8_t) ( ((_d[2] >> 1U) & (0x01U)) ); + _m->BCM_FootrestRRWarning_Stat = (uint8_t) ( ((_d[2] >> 2U) & (0x01U)) ); + _m->BCM_GovernmentHandset_Stat = (uint8_t) ( ((_d[2] >> 3U) & (0x01U)) ); + _m->BCM_EasyExitSMRL_Stat = (uint8_t) ( ((_d[2] >> 4U) & (0x01U)) ); + _m->BCM_EasyExitSMRR_Stat = (uint8_t) ( ((_d[2] >> 5U) & (0x01U)) ); + _m->BCM_EasyExitSMFR_Stat = (uint8_t) ( ((_d[2] >> 6U) & (0x01U)) ); + _m->BCM_EasyExitSMFL_Stat = (uint8_t) ( ((_d[2] >> 7U) & (0x01U)) ); + _m->BCM_LccBtn_Stat = (uint8_t) ( (_d[3] & (0x01U)) ); + _m->BCM_LdwBtn_Stat = (uint8_t) ( ((_d[3] >> 1U) & (0x01U)) ); + _m->BCM_AdasSensClear_Stat = (uint8_t) ( ((_d[3] >> 2U) & (0x01U)) ); + _m->BCM_T15h_Deactivation_Req = (uint8_t) ( ((_d[3] >> 3U) & (0x01U)) ); + _m->BCM_RemoteStart_Stat = (uint8_t) ( ((_d[3] >> 4U) & (0x03U)) ); + _m->BCM_AntiTheft_Stat = (uint8_t) ( ((_d[3] >> 6U) & (0x01U)) ); + _m->BCM_PanoramicViewLed_Cmd = (uint8_t) ( ((_d[3] >> 7U) & (0x01U)) ); + _m->BCM_ElcromeMirror_Req_ro = (uint8_t) ( (_d[4] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_ElcromeMirror_Req_phys = (sigfloat_t)(CANDB_BCM_ElcromeMirror_Req_ro_fromS(_m->BCM_ElcromeMirror_Req_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->BCM_AdasSensWSHeat_Req = (uint8_t) ( (_d[5] & (0x03U)) ); + _m->BCM_RearWasherVlv_Req = (uint8_t) ( ((_d[5] >> 5U) & (0x01U)) ); + _m->BCM_RoofControl_Req = (uint8_t) ( ((_d[5] >> 6U) & (0x03U)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < BCM_Veh_State2_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_BCM_Veh_State2_candb(&_m->mon1, BCM_Veh_State2_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return BCM_Veh_State2_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_BCM_Veh_State2_candb(BCM_Veh_State2_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(BCM_Veh_State2_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_AmbientTempHMI_ro = (uint8_t) CANDB_BCM_AmbientTempHMI_ro_toS(_m->BCM_AmbientTempHMI_phys); + _m->BCM_ElcromeMirror_Req_ro = (uint8_t) CANDB_BCM_ElcromeMirror_Req_ro_toS(_m->BCM_ElcromeMirror_Req_phys); +#endif // CANDB_USE_SIGFLOAT + + cframe->Data[0] |= (uint8_t) ( (_m->BCM_MAS_Activation_Req & (0x03U)) | ((_m->BCM_HeadUpDispSw_Stat & (0x01U)) << 2U) | ((_m->BCM_FootrestRL_Stat & (0x03U)) << 3U) | ((_m->BCM_FootrestRR_Stat & (0x03U)) << 5U) | ((_m->BCM_FootrestRLWarning_Stat & (0x01U)) << 7U) ); + cframe->Data[1] |= (uint8_t) ( (_m->BCM_AmbientTempHMI_ro & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( (_m->BCM_GovernmentComSw_Stat & (0x01U)) | ((_m->BCM_RearWindowHeatingLED & (0x01U)) << 1U) | ((_m->BCM_FootrestRRWarning_Stat & (0x01U)) << 2U) | ((_m->BCM_GovernmentHandset_Stat & (0x01U)) << 3U) | ((_m->BCM_EasyExitSMRL_Stat & (0x01U)) << 4U) | ((_m->BCM_EasyExitSMRR_Stat & (0x01U)) << 5U) | ((_m->BCM_EasyExitSMFR_Stat & (0x01U)) << 6U) | ((_m->BCM_EasyExitSMFL_Stat & (0x01U)) << 7U) ); + cframe->Data[3] |= (uint8_t) ( (_m->BCM_LccBtn_Stat & (0x01U)) | ((_m->BCM_LdwBtn_Stat & (0x01U)) << 1U) | ((_m->BCM_AdasSensClear_Stat & (0x01U)) << 2U) | ((_m->BCM_T15h_Deactivation_Req & (0x01U)) << 3U) | ((_m->BCM_RemoteStart_Stat & (0x03U)) << 4U) | ((_m->BCM_AntiTheft_Stat & (0x01U)) << 6U) | ((_m->BCM_PanoramicViewLed_Cmd & (0x01U)) << 7U) ); + cframe->Data[4] |= (uint8_t) ( (_m->BCM_ElcromeMirror_Req_ro & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( (_m->BCM_AdasSensWSHeat_Req & (0x03U)) | ((_m->BCM_RearWasherVlv_Req & (0x01U)) << 5U) | ((_m->BCM_RoofControl_Req & (0x03U)) << 6U) ); + + cframe->MsgId = (uint32_t) BCM_Veh_State2_CANID; + cframe->DLC = (uint8_t) BCM_Veh_State2_DLC; + cframe->IDE = (uint8_t) BCM_Veh_State2_IDE; + return BCM_Veh_State2_CANID; +} + +#else + +uint32_t Pack_BCM_Veh_State2_candb(BCM_Veh_State2_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(BCM_Veh_State2_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_AmbientTempHMI_ro = (uint8_t) CANDB_BCM_AmbientTempHMI_ro_toS(_m->BCM_AmbientTempHMI_phys); + _m->BCM_ElcromeMirror_Req_ro = (uint8_t) CANDB_BCM_ElcromeMirror_Req_ro_toS(_m->BCM_ElcromeMirror_Req_phys); +#endif // CANDB_USE_SIGFLOAT + + _d[0] |= (uint8_t) ( (_m->BCM_MAS_Activation_Req & (0x03U)) | ((_m->BCM_HeadUpDispSw_Stat & (0x01U)) << 2U) | ((_m->BCM_FootrestRL_Stat & (0x03U)) << 3U) | ((_m->BCM_FootrestRR_Stat & (0x03U)) << 5U) | ((_m->BCM_FootrestRLWarning_Stat & (0x01U)) << 7U) ); + _d[1] |= (uint8_t) ( (_m->BCM_AmbientTempHMI_ro & (0xFFU)) ); + _d[2] |= (uint8_t) ( (_m->BCM_GovernmentComSw_Stat & (0x01U)) | ((_m->BCM_RearWindowHeatingLED & (0x01U)) << 1U) | ((_m->BCM_FootrestRRWarning_Stat & (0x01U)) << 2U) | ((_m->BCM_GovernmentHandset_Stat & (0x01U)) << 3U) | ((_m->BCM_EasyExitSMRL_Stat & (0x01U)) << 4U) | ((_m->BCM_EasyExitSMRR_Stat & (0x01U)) << 5U) | ((_m->BCM_EasyExitSMFR_Stat & (0x01U)) << 6U) | ((_m->BCM_EasyExitSMFL_Stat & (0x01U)) << 7U) ); + _d[3] |= (uint8_t) ( (_m->BCM_LccBtn_Stat & (0x01U)) | ((_m->BCM_LdwBtn_Stat & (0x01U)) << 1U) | ((_m->BCM_AdasSensClear_Stat & (0x01U)) << 2U) | ((_m->BCM_T15h_Deactivation_Req & (0x01U)) << 3U) | ((_m->BCM_RemoteStart_Stat & (0x03U)) << 4U) | ((_m->BCM_AntiTheft_Stat & (0x01U)) << 6U) | ((_m->BCM_PanoramicViewLed_Cmd & (0x01U)) << 7U) ); + _d[4] |= (uint8_t) ( (_m->BCM_ElcromeMirror_Req_ro & (0xFFU)) ); + _d[5] |= (uint8_t) ( (_m->BCM_AdasSensWSHeat_Req & (0x03U)) | ((_m->BCM_RearWasherVlv_Req & (0x01U)) << 5U) | ((_m->BCM_RoofControl_Req & (0x03U)) << 6U) ); + + *_len = (uint8_t) BCM_Veh_State2_DLC; + *_ide = (uint8_t) BCM_Veh_State2_IDE; + return BCM_Veh_State2_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_BCM_ALS_Light_Front_candb(BCM_ALS_Light_Front_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->BCM_ALSZoneSelectFront_Stat = (uint8_t) ( (_d[0] & (0x07U)) ); + _m->BCM_ALSFadingTimeFront_Val_ro = (uint8_t) ( (_d[1] & (0x3FU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_ALSFadingTimeFront_Val_phys = (sigfloat_t)(CANDB_BCM_ALSFadingTimeFront_Val_ro_fromS(_m->BCM_ALSFadingTimeFront_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->BCM_ALSFadingFront_Req = (uint8_t) ( ((_d[1] >> 6U) & (0x01U)) ); + _m->BCM_ALSLightStateFront_Req = (uint8_t) ( ((_d[1] >> 7U) & (0x01U)) ); + _m->BCM_ALSIntensRedFront_Val = (uint8_t) ( (_d[2] & (0xFFU)) ); + _m->BCM_ALSIntensGreenFront_Val = (uint8_t) ( (_d[3] & (0xFFU)) ); + _m->BCM_ALSIntensBlueFront_Val = (uint8_t) ( (_d[4] & (0xFFU)) ); + _m->BCM_ALSAmbIntensFront_Val_ro = (uint8_t) ( (_d[5] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_ALSAmbIntensFront_Val_phys = (sigfloat_t)(CANDB_BCM_ALSAmbIntensFront_Val_ro_fromS(_m->BCM_ALSAmbIntensFront_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < BCM_ALS_Light_Front_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_BCM_ALS_Light_Front_candb(&_m->mon1, BCM_ALS_Light_Front_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return BCM_ALS_Light_Front_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_BCM_ALS_Light_Front_candb(BCM_ALS_Light_Front_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(BCM_ALS_Light_Front_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_ALSFadingTimeFront_Val_ro = (uint8_t) CANDB_BCM_ALSFadingTimeFront_Val_ro_toS(_m->BCM_ALSFadingTimeFront_Val_phys); + _m->BCM_ALSAmbIntensFront_Val_ro = (uint8_t) CANDB_BCM_ALSAmbIntensFront_Val_ro_toS(_m->BCM_ALSAmbIntensFront_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + cframe->Data[0] |= (uint8_t) ( (_m->BCM_ALSZoneSelectFront_Stat & (0x07U)) ); + cframe->Data[1] |= (uint8_t) ( (_m->BCM_ALSFadingTimeFront_Val_ro & (0x3FU)) | ((_m->BCM_ALSFadingFront_Req & (0x01U)) << 6U) | ((_m->BCM_ALSLightStateFront_Req & (0x01U)) << 7U) ); + cframe->Data[2] |= (uint8_t) ( (_m->BCM_ALSIntensRedFront_Val & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( (_m->BCM_ALSIntensGreenFront_Val & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( (_m->BCM_ALSIntensBlueFront_Val & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( (_m->BCM_ALSAmbIntensFront_Val_ro & (0xFFU)) ); + + cframe->MsgId = (uint32_t) BCM_ALS_Light_Front_CANID; + cframe->DLC = (uint8_t) BCM_ALS_Light_Front_DLC; + cframe->IDE = (uint8_t) BCM_ALS_Light_Front_IDE; + return BCM_ALS_Light_Front_CANID; +} + +#else + +uint32_t Pack_BCM_ALS_Light_Front_candb(BCM_ALS_Light_Front_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(BCM_ALS_Light_Front_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_ALSFadingTimeFront_Val_ro = (uint8_t) CANDB_BCM_ALSFadingTimeFront_Val_ro_toS(_m->BCM_ALSFadingTimeFront_Val_phys); + _m->BCM_ALSAmbIntensFront_Val_ro = (uint8_t) CANDB_BCM_ALSAmbIntensFront_Val_ro_toS(_m->BCM_ALSAmbIntensFront_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + _d[0] |= (uint8_t) ( (_m->BCM_ALSZoneSelectFront_Stat & (0x07U)) ); + _d[1] |= (uint8_t) ( (_m->BCM_ALSFadingTimeFront_Val_ro & (0x3FU)) | ((_m->BCM_ALSFadingFront_Req & (0x01U)) << 6U) | ((_m->BCM_ALSLightStateFront_Req & (0x01U)) << 7U) ); + _d[2] |= (uint8_t) ( (_m->BCM_ALSIntensRedFront_Val & (0xFFU)) ); + _d[3] |= (uint8_t) ( (_m->BCM_ALSIntensGreenFront_Val & (0xFFU)) ); + _d[4] |= (uint8_t) ( (_m->BCM_ALSIntensBlueFront_Val & (0xFFU)) ); + _d[5] |= (uint8_t) ( (_m->BCM_ALSAmbIntensFront_Val_ro & (0xFFU)) ); + + *_len = (uint8_t) BCM_ALS_Light_Front_DLC; + *_ide = (uint8_t) BCM_ALS_Light_Front_IDE; + return BCM_ALS_Light_Front_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_BCM_ALS_Light_Rear_candb(BCM_ALS_Light_Rear_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->BCM_ALSZoneSelectRear_Stat = (uint8_t) ( (_d[0] & (0x07U)) ); + _m->BCM_ALSFadingTimeRear_Val_ro = (uint8_t) ( (_d[1] & (0x3FU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_ALSFadingTimeRear_Val_phys = (sigfloat_t)(CANDB_BCM_ALSFadingTimeRear_Val_ro_fromS(_m->BCM_ALSFadingTimeRear_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->BCM_ALSFadingRear_Req = (uint8_t) ( ((_d[1] >> 6U) & (0x01U)) ); + _m->BCM_ALSLightStateRear_Req = (uint8_t) ( ((_d[1] >> 7U) & (0x01U)) ); + _m->BCM_ALSIntensRedRear_Val = (uint8_t) ( (_d[2] & (0xFFU)) ); + _m->BCM_ALSIntensGreenRear_Val = (uint8_t) ( (_d[3] & (0xFFU)) ); + _m->BCM_ALSIntensBlueRear_Val = (uint8_t) ( (_d[4] & (0xFFU)) ); + _m->BCM_ALSAmbIntensRear_Val_ro = (uint8_t) ( (_d[5] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_ALSAmbIntensRear_Val_phys = (sigfloat_t)(CANDB_BCM_ALSAmbIntensRear_Val_ro_fromS(_m->BCM_ALSAmbIntensRear_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < BCM_ALS_Light_Rear_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_BCM_ALS_Light_Rear_candb(&_m->mon1, BCM_ALS_Light_Rear_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return BCM_ALS_Light_Rear_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_BCM_ALS_Light_Rear_candb(BCM_ALS_Light_Rear_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(BCM_ALS_Light_Rear_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_ALSFadingTimeRear_Val_ro = (uint8_t) CANDB_BCM_ALSFadingTimeRear_Val_ro_toS(_m->BCM_ALSFadingTimeRear_Val_phys); + _m->BCM_ALSAmbIntensRear_Val_ro = (uint8_t) CANDB_BCM_ALSAmbIntensRear_Val_ro_toS(_m->BCM_ALSAmbIntensRear_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + cframe->Data[0] |= (uint8_t) ( (_m->BCM_ALSZoneSelectRear_Stat & (0x07U)) ); + cframe->Data[1] |= (uint8_t) ( (_m->BCM_ALSFadingTimeRear_Val_ro & (0x3FU)) | ((_m->BCM_ALSFadingRear_Req & (0x01U)) << 6U) | ((_m->BCM_ALSLightStateRear_Req & (0x01U)) << 7U) ); + cframe->Data[2] |= (uint8_t) ( (_m->BCM_ALSIntensRedRear_Val & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( (_m->BCM_ALSIntensGreenRear_Val & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( (_m->BCM_ALSIntensBlueRear_Val & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( (_m->BCM_ALSAmbIntensRear_Val_ro & (0xFFU)) ); + + cframe->MsgId = (uint32_t) BCM_ALS_Light_Rear_CANID; + cframe->DLC = (uint8_t) BCM_ALS_Light_Rear_DLC; + cframe->IDE = (uint8_t) BCM_ALS_Light_Rear_IDE; + return BCM_ALS_Light_Rear_CANID; +} + +#else + +uint32_t Pack_BCM_ALS_Light_Rear_candb(BCM_ALS_Light_Rear_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(BCM_ALS_Light_Rear_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_ALSFadingTimeRear_Val_ro = (uint8_t) CANDB_BCM_ALSFadingTimeRear_Val_ro_toS(_m->BCM_ALSFadingTimeRear_Val_phys); + _m->BCM_ALSAmbIntensRear_Val_ro = (uint8_t) CANDB_BCM_ALSAmbIntensRear_Val_ro_toS(_m->BCM_ALSAmbIntensRear_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + _d[0] |= (uint8_t) ( (_m->BCM_ALSZoneSelectRear_Stat & (0x07U)) ); + _d[1] |= (uint8_t) ( (_m->BCM_ALSFadingTimeRear_Val_ro & (0x3FU)) | ((_m->BCM_ALSFadingRear_Req & (0x01U)) << 6U) | ((_m->BCM_ALSLightStateRear_Req & (0x01U)) << 7U) ); + _d[2] |= (uint8_t) ( (_m->BCM_ALSIntensRedRear_Val & (0xFFU)) ); + _d[3] |= (uint8_t) ( (_m->BCM_ALSIntensGreenRear_Val & (0xFFU)) ); + _d[4] |= (uint8_t) ( (_m->BCM_ALSIntensBlueRear_Val & (0xFFU)) ); + _d[5] |= (uint8_t) ( (_m->BCM_ALSAmbIntensRear_Val_ro & (0xFFU)) ); + + *_len = (uint8_t) BCM_ALS_Light_Rear_DLC; + *_ide = (uint8_t) BCM_ALS_Light_Rear_IDE; + return BCM_ALS_Light_Rear_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_BCM_Rear_Plafond_Light_Data_candb(BCM_Rear_Plafond_Light_Data_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->BCM_PlafondRedColorSetRear_Val = (uint8_t) ( (_d[0] & (0xFFU)) ); + _m->BCM_PlafondGreenColorSetRear_Val = (uint8_t) ( (_d[1] & (0xFFU)) ); + _m->BCM_PlafondBlueColorSetRear_Val = (uint8_t) ( (_d[2] & (0xFFU)) ); + _m->BCM_PlafondRGBIntensityRear_Val_ro = (uint8_t) ( (_d[3] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_PlafondRGBIntensityRear_Val_phys = (sigfloat_t)(CANDB_BCM_PlafondRGBIntensityRear_Val_ro_fromS(_m->BCM_PlafondRGBIntensityRear_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->BCM_Plafond_W_IntensityRear_Val_ro = (uint8_t) ( (_d[4] & (0x7FU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_Plafond_W_IntensityRear_Val_phys = (sigfloat_t)(CANDB_BCM_Plafond_W_IntensityRear_Val_ro_fromS(_m->BCM_Plafond_W_IntensityRear_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->BCM_PlafondRGBStateRear_Req = (uint8_t) ( ((_d[4] >> 7U) & (0x01U)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < BCM_Rear_Plafond_Light_Data_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_BCM_Rear_Plafond_Light_Data_candb(&_m->mon1, BCM_Rear_Plafond_Light_Data_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return BCM_Rear_Plafond_Light_Data_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_BCM_Rear_Plafond_Light_Data_candb(BCM_Rear_Plafond_Light_Data_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(BCM_Rear_Plafond_Light_Data_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_PlafondRGBIntensityRear_Val_ro = (uint8_t) CANDB_BCM_PlafondRGBIntensityRear_Val_ro_toS(_m->BCM_PlafondRGBIntensityRear_Val_phys); + _m->BCM_Plafond_W_IntensityRear_Val_ro = (uint8_t) CANDB_BCM_Plafond_W_IntensityRear_Val_ro_toS(_m->BCM_Plafond_W_IntensityRear_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + cframe->Data[0] |= (uint8_t) ( (_m->BCM_PlafondRedColorSetRear_Val & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( (_m->BCM_PlafondGreenColorSetRear_Val & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( (_m->BCM_PlafondBlueColorSetRear_Val & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( (_m->BCM_PlafondRGBIntensityRear_Val_ro & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( (_m->BCM_Plafond_W_IntensityRear_Val_ro & (0x7FU)) | ((_m->BCM_PlafondRGBStateRear_Req & (0x01U)) << 7U) ); + + cframe->MsgId = (uint32_t) BCM_Rear_Plafond_Light_Data_CANID; + cframe->DLC = (uint8_t) BCM_Rear_Plafond_Light_Data_DLC; + cframe->IDE = (uint8_t) BCM_Rear_Plafond_Light_Data_IDE; + return BCM_Rear_Plafond_Light_Data_CANID; +} + +#else + +uint32_t Pack_BCM_Rear_Plafond_Light_Data_candb(BCM_Rear_Plafond_Light_Data_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(BCM_Rear_Plafond_Light_Data_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_PlafondRGBIntensityRear_Val_ro = (uint8_t) CANDB_BCM_PlafondRGBIntensityRear_Val_ro_toS(_m->BCM_PlafondRGBIntensityRear_Val_phys); + _m->BCM_Plafond_W_IntensityRear_Val_ro = (uint8_t) CANDB_BCM_Plafond_W_IntensityRear_Val_ro_toS(_m->BCM_Plafond_W_IntensityRear_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + _d[0] |= (uint8_t) ( (_m->BCM_PlafondRedColorSetRear_Val & (0xFFU)) ); + _d[1] |= (uint8_t) ( (_m->BCM_PlafondGreenColorSetRear_Val & (0xFFU)) ); + _d[2] |= (uint8_t) ( (_m->BCM_PlafondBlueColorSetRear_Val & (0xFFU)) ); + _d[3] |= (uint8_t) ( (_m->BCM_PlafondRGBIntensityRear_Val_ro & (0xFFU)) ); + _d[4] |= (uint8_t) ( (_m->BCM_Plafond_W_IntensityRear_Val_ro & (0x7FU)) | ((_m->BCM_PlafondRGBStateRear_Req & (0x01U)) << 7U) ); + + *_len = (uint8_t) BCM_Rear_Plafond_Light_Data_DLC; + *_ide = (uint8_t) BCM_Rear_Plafond_Light_Data_IDE; + return BCM_Rear_Plafond_Light_Data_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_eCompHVRequest_Stat = (uint8_t) ( (_d[0] & (0x01U)) ); + _m->EMS_eCompOnPerm = (uint8_t) ( ((_d[0] >> 1U) & (0x01U)) ); _m->EMS_eCompChiller_Req = (uint8_t) ( ((_d[0] >> 2U) & (0x01U)) ); + _m->EMS_eCompHVCurLimit_Val_ro = (uint16_t) ( ((_d[1] & (0x0FU)) << 5U) | ((_d[0] >> 3U) & (0x1FU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->EMS_eCompHVCurLimit_Val_phys = (sigfloat_t)(CANDB_EMS_eCompHVCurLimit_Val_ro_fromS(_m->EMS_eCompHVCurLimit_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + _m->EMS_HVC_Req_RC = (uint8_t) ( ((_d[1] >> 4U) & (0x0FU)) ); _m->EMS_HVC_Req_CS = (uint8_t) ( (_d[2] & (0xFFU)) ); @@ -726,8 +4178,12 @@ uint32_t Pack_EMS_HVC_Req_Msg_candb(EMS_HVC_Req_Msg_t* _m, __CoderDbcCanFrame_t_ { 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) ); +#ifdef CANDB_USE_SIGFLOAT + _m->EMS_eCompHVCurLimit_Val_ro = (uint16_t) CANDB_EMS_eCompHVCurLimit_Val_ro_toS(_m->EMS_eCompHVCurLimit_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + cframe->Data[0] |= (uint8_t) ( (_m->EMS_eCompHVRequest_Stat & (0x01U)) | ((_m->EMS_eCompOnPerm & (0x01U)) << 1U) | ((_m->EMS_eCompChiller_Req & (0x01U)) << 2U) | ((_m->EMS_eCompHVCurLimit_Val_ro & (0x1FU)) << 3U) ); + cframe->Data[1] |= (uint8_t) ( ((_m->EMS_eCompHVCurLimit_Val_ro >> 5U) & (0x0FU)) | ((_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; @@ -742,8 +4198,12 @@ uint32_t Pack_EMS_HVC_Req_Msg_candb(EMS_HVC_Req_Msg_t* _m, uint8_t* _d, uint8_t* { 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) ); +#ifdef CANDB_USE_SIGFLOAT + _m->EMS_eCompHVCurLimit_Val_ro = (uint16_t) CANDB_EMS_eCompHVCurLimit_Val_ro_toS(_m->EMS_eCompHVCurLimit_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + _d[0] |= (uint8_t) ( (_m->EMS_eCompHVRequest_Stat & (0x01U)) | ((_m->EMS_eCompOnPerm & (0x01U)) << 1U) | ((_m->EMS_eCompChiller_Req & (0x01U)) << 2U) | ((_m->EMS_eCompHVCurLimit_Val_ro & (0x1FU)) << 3U) ); + _d[1] |= (uint8_t) ( ((_m->EMS_eCompHVCurLimit_Val_ro >> 5U) & (0x0FU)) | ((_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; @@ -753,6 +4213,228 @@ uint32_t Pack_EMS_HVC_Req_Msg_candb(EMS_HVC_Req_Msg_t* _m, uint8_t* _d, uint8_t* #endif // CANDB_USE_CANSTRUCT +uint32_t Unpack_SAS_Standard_candb(SAS_Standard_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->SAS_Angle_ro = (int16_t) __ext_sig__(( ((_d[1] & (0xFFU)) << 8U) | (_d[0] & (0xFFU)) ), 16); +#ifdef CANDB_USE_SIGFLOAT + _m->SAS_Angle_phys = (sigfloat_t)(CANDB_SAS_Angle_ro_fromS(_m->SAS_Angle_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->SAS_Speed_ro = (uint8_t) ( (_d[2] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->SAS_Speed_phys = (uint16_t) CANDB_SAS_Speed_ro_fromS(_m->SAS_Speed_ro); +#endif // CANDB_USE_SIGFLOAT + + _m->SAS_OK_Stat = (uint8_t) ( (_d[3] & (0x01U)) ); + _m->SAS_CAL_Stat = (uint8_t) ( ((_d[3] >> 1U) & (0x01U)) ); + _m->SAS_TRIM_Stat = (uint8_t) ( ((_d[3] >> 2U) & (0x01U)) ); + _m->SAS_SF1_5_Stat = (uint8_t) ( ((_d[3] >> 3U) & (0x1FU)) ); + _m->SAS_Standard_RC = (uint8_t) ( (_d[4] & (0x0FU)) ); + _m->SAS_Standard_CS = (uint8_t) ( ((_d[4] >> 4U) & (0x0FU)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < SAS_Standard_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_SAS_Standard_candb(&_m->mon1, SAS_Standard_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return SAS_Standard_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_SAS_Standard_candb(SAS_Standard_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(SAS_Standard_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->SAS_Angle_ro = (int16_t) CANDB_SAS_Angle_ro_toS(_m->SAS_Angle_phys); + _m->SAS_Speed_ro = (uint8_t) CANDB_SAS_Speed_ro_toS(_m->SAS_Speed_phys); +#endif // CANDB_USE_SIGFLOAT + + cframe->Data[0] |= (uint8_t) ( (_m->SAS_Angle_ro & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->SAS_Angle_ro >> 8U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( (_m->SAS_Speed_ro & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( (_m->SAS_OK_Stat & (0x01U)) | ((_m->SAS_CAL_Stat & (0x01U)) << 1U) | ((_m->SAS_TRIM_Stat & (0x01U)) << 2U) | ((_m->SAS_SF1_5_Stat & (0x1FU)) << 3U) ); + cframe->Data[4] |= (uint8_t) ( (_m->SAS_Standard_RC & (0x0FU)) | ((_m->SAS_Standard_CS & (0x0FU)) << 4U) ); + + cframe->MsgId = (uint32_t) SAS_Standard_CANID; + cframe->DLC = (uint8_t) SAS_Standard_DLC; + cframe->IDE = (uint8_t) SAS_Standard_IDE; + return SAS_Standard_CANID; +} + +#else + +uint32_t Pack_SAS_Standard_candb(SAS_Standard_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(SAS_Standard_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->SAS_Angle_ro = (int16_t) CANDB_SAS_Angle_ro_toS(_m->SAS_Angle_phys); + _m->SAS_Speed_ro = (uint8_t) CANDB_SAS_Speed_ro_toS(_m->SAS_Speed_phys); +#endif // CANDB_USE_SIGFLOAT + + _d[0] |= (uint8_t) ( (_m->SAS_Angle_ro & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->SAS_Angle_ro >> 8U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( (_m->SAS_Speed_ro & (0xFFU)) ); + _d[3] |= (uint8_t) ( (_m->SAS_OK_Stat & (0x01U)) | ((_m->SAS_CAL_Stat & (0x01U)) << 1U) | ((_m->SAS_TRIM_Stat & (0x01U)) << 2U) | ((_m->SAS_SF1_5_Stat & (0x1FU)) << 3U) ); + _d[4] |= (uint8_t) ( (_m->SAS_Standard_RC & (0x0FU)) | ((_m->SAS_Standard_CS & (0x0FU)) << 4U) ); + + *_len = (uint8_t) SAS_Standard_DLC; + *_ide = (uint8_t) SAS_Standard_IDE; + return SAS_Standard_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_IC_ABSOLUTE_CLOCK_candb(IC_ABSOLUTE_CLOCK_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->IC_AbsoluteDateAndTime = (uint32_t) ( ((_d[3] & (0xFFU)) << 24U) | ((_d[2] & (0xFFU)) << 16U) | ((_d[1] & (0xFFU)) << 8U) | (_d[0] & (0xFFU)) ); + _m->IC_ABSOLUTE_CLOCK_RC = (uint8_t) ( ((_d[4] >> 4U) & (0x0FU)) ); + _m->IC_ABSOLUTE_CLOCK_CS = (uint8_t) ( (_d[5] & (0xFFU)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < IC_ABSOLUTE_CLOCK_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_IC_ABSOLUTE_CLOCK_candb(&_m->mon1, IC_ABSOLUTE_CLOCK_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return IC_ABSOLUTE_CLOCK_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_IC_ABSOLUTE_CLOCK_candb(IC_ABSOLUTE_CLOCK_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(IC_ABSOLUTE_CLOCK_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->IC_AbsoluteDateAndTime & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->IC_AbsoluteDateAndTime >> 8U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->IC_AbsoluteDateAndTime >> 16U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->IC_AbsoluteDateAndTime >> 24U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->IC_ABSOLUTE_CLOCK_RC & (0x0FU)) << 4U) ); + cframe->Data[5] |= (uint8_t) ( (_m->IC_ABSOLUTE_CLOCK_CS & (0xFFU)) ); + + cframe->MsgId = (uint32_t) IC_ABSOLUTE_CLOCK_CANID; + cframe->DLC = (uint8_t) IC_ABSOLUTE_CLOCK_DLC; + cframe->IDE = (uint8_t) IC_ABSOLUTE_CLOCK_IDE; + return IC_ABSOLUTE_CLOCK_CANID; +} + +#else + +uint32_t Pack_IC_ABSOLUTE_CLOCK_candb(IC_ABSOLUTE_CLOCK_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(IC_ABSOLUTE_CLOCK_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->IC_AbsoluteDateAndTime & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->IC_AbsoluteDateAndTime >> 8U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->IC_AbsoluteDateAndTime >> 16U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->IC_AbsoluteDateAndTime >> 24U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->IC_ABSOLUTE_CLOCK_RC & (0x0FU)) << 4U) ); + _d[5] |= (uint8_t) ( (_m->IC_ABSOLUTE_CLOCK_CS & (0xFFU)) ); + + *_len = (uint8_t) IC_ABSOLUTE_CLOCK_DLC; + *_ide = (uint8_t) IC_ABSOLUTE_CLOCK_IDE; + return IC_ABSOLUTE_CLOCK_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_BCM_Lock_CTR_candb(BCM_Lock_CTR_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->VehicleLockStateReason = (uint8_t) ( (_d[0] & (0x0FU)) ); + _m->BCM_FrontLeftLockCmd = (uint8_t) ( ((_d[0] >> 4U) & (0x07U)) ); + _m->BCM_TrunkLatchRelease_Req = (uint8_t) ( ((_d[0] >> 7U) & (0x01U)) ); + _m->BCM_FrontRightLockCmd = (uint8_t) ( (_d[1] & (0x07U)) ); + _m->PTG_MovementCmd = (uint8_t) ( ((_d[1] >> 3U) & (0x03U)) ); + _m->BCM_RearLeftLockCmd = (uint8_t) ( ((_d[1] >> 5U) & (0x07U)) ); + _m->BCM_RearRightLockCmd = (uint8_t) ( (_d[2] & (0x07U)) ); + _m->BCM_FLDoorClose_Req = (uint8_t) ( ((_d[2] >> 3U) & (0x03U)) ); + _m->PTG_MemorySetRequest = (uint8_t) ( ((_d[2] >> 5U) & (0x03U)) ); + _m->VehicleLockState = (uint8_t) ( ((_d[2] >> 7U) & (0x01U)) ); + _m->BCM_DoorAjarState_FL = (uint8_t) ( (_d[3] & (0x03U)) ); + _m->BCM_DoorAjarState_FR = (uint8_t) ( ((_d[3] >> 2U) & (0x03U)) ); + _m->BCM_DoorAjarState_RL = (uint8_t) ( ((_d[3] >> 4U) & (0x03U)) ); + _m->BCM_DoorAjarState_RR = (uint8_t) ( ((_d[3] >> 6U) & (0x03U)) ); + _m->BCM_VehDoubleLock_Stat = (uint8_t) ( (_d[4] & (0x01U)) ); + _m->BCM_FuelLidUnlock_Req = (uint8_t) ( ((_d[4] >> 1U) & (0x01U)) ); + _m->BCM_HVlid_Stat = (uint8_t) ( ((_d[4] >> 2U) & (0x01U)) ); + _m->BCM_RRDoorClose_Req = (uint8_t) ( ((_d[4] >> 3U) & (0x03U)) ); + _m->BCM_WindowsClose_Cmd = (uint8_t) ( ((_d[4] >> 5U) & (0x01U)) ); + _m->BCM_FRDoorClose_Req = (uint8_t) ( ((_d[4] >> 6U) & (0x03U)) ); + _m->BCM_HoodOpen_Stat = (uint8_t) ( (_d[5] & (0x03U)) ); + _m->BCM_PanicAlertActive = (uint8_t) ( ((_d[5] >> 2U) & (0x01U)) ); + _m->BCM_RLDoorClose_Req = (uint8_t) ( ((_d[5] >> 3U) & (0x03U)) ); + _m->BCM_RearWiperWipe_Req = (uint8_t) ( ((_d[5] >> 5U) & (0x01U)) ); + _m->BCM_AlarmOFF_Stat = (uint8_t) ( ((_d[5] >> 6U) & (0x01U)) ); + _m->BCM_MovementSensOFF_Stat = (uint8_t) ( ((_d[5] >> 7U) & (0x01U)) ); + _m->BCM_DoorMovDis_Stat = (uint8_t) ( (_d[6] & (0x01U)) ); + _m->BCM_Alarm_Req = (uint8_t) ( ((_d[6] >> 1U) & (0x01U)) ); + _m->BCM_Alarm_Reason = (uint8_t) ( ((_d[6] >> 2U) & (0x0FU)) ); + _m->BCM_DoorHandleLight_Req = (uint8_t) ( ((_d[6] >> 6U) & (0x01U)) ); + _m->BCM_WindowsOpen_Req = (uint8_t) ( ((_d[6] >> 7U) & (0x01U)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < BCM_Lock_CTR_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_BCM_Lock_CTR_candb(&_m->mon1, BCM_Lock_CTR_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return BCM_Lock_CTR_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_BCM_Lock_CTR_candb(BCM_Lock_CTR_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(BCM_Lock_CTR_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->VehicleLockStateReason & (0x0FU)) | ((_m->BCM_FrontLeftLockCmd & (0x07U)) << 4U) | ((_m->BCM_TrunkLatchRelease_Req & (0x01U)) << 7U) ); + cframe->Data[1] |= (uint8_t) ( (_m->BCM_FrontRightLockCmd & (0x07U)) | ((_m->PTG_MovementCmd & (0x03U)) << 3U) | ((_m->BCM_RearLeftLockCmd & (0x07U)) << 5U) ); + cframe->Data[2] |= (uint8_t) ( (_m->BCM_RearRightLockCmd & (0x07U)) | ((_m->BCM_FLDoorClose_Req & (0x03U)) << 3U) | ((_m->PTG_MemorySetRequest & (0x03U)) << 5U) | ((_m->VehicleLockState & (0x01U)) << 7U) ); + cframe->Data[3] |= (uint8_t) ( (_m->BCM_DoorAjarState_FL & (0x03U)) | ((_m->BCM_DoorAjarState_FR & (0x03U)) << 2U) | ((_m->BCM_DoorAjarState_RL & (0x03U)) << 4U) | ((_m->BCM_DoorAjarState_RR & (0x03U)) << 6U) ); + cframe->Data[4] |= (uint8_t) ( (_m->BCM_VehDoubleLock_Stat & (0x01U)) | ((_m->BCM_FuelLidUnlock_Req & (0x01U)) << 1U) | ((_m->BCM_HVlid_Stat & (0x01U)) << 2U) | ((_m->BCM_RRDoorClose_Req & (0x03U)) << 3U) | ((_m->BCM_WindowsClose_Cmd & (0x01U)) << 5U) | ((_m->BCM_FRDoorClose_Req & (0x03U)) << 6U) ); + cframe->Data[5] |= (uint8_t) ( (_m->BCM_HoodOpen_Stat & (0x03U)) | ((_m->BCM_PanicAlertActive & (0x01U)) << 2U) | ((_m->BCM_RLDoorClose_Req & (0x03U)) << 3U) | ((_m->BCM_RearWiperWipe_Req & (0x01U)) << 5U) | ((_m->BCM_AlarmOFF_Stat & (0x01U)) << 6U) | ((_m->BCM_MovementSensOFF_Stat & (0x01U)) << 7U) ); + cframe->Data[6] |= (uint8_t) ( (_m->BCM_DoorMovDis_Stat & (0x01U)) | ((_m->BCM_Alarm_Req & (0x01U)) << 1U) | ((_m->BCM_Alarm_Reason & (0x0FU)) << 2U) | ((_m->BCM_DoorHandleLight_Req & (0x01U)) << 6U) | ((_m->BCM_WindowsOpen_Req & (0x01U)) << 7U) ); + + cframe->MsgId = (uint32_t) BCM_Lock_CTR_CANID; + cframe->DLC = (uint8_t) BCM_Lock_CTR_DLC; + cframe->IDE = (uint8_t) BCM_Lock_CTR_IDE; + return BCM_Lock_CTR_CANID; +} + +#else + +uint32_t Pack_BCM_Lock_CTR_candb(BCM_Lock_CTR_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(BCM_Lock_CTR_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->VehicleLockStateReason & (0x0FU)) | ((_m->BCM_FrontLeftLockCmd & (0x07U)) << 4U) | ((_m->BCM_TrunkLatchRelease_Req & (0x01U)) << 7U) ); + _d[1] |= (uint8_t) ( (_m->BCM_FrontRightLockCmd & (0x07U)) | ((_m->PTG_MovementCmd & (0x03U)) << 3U) | ((_m->BCM_RearLeftLockCmd & (0x07U)) << 5U) ); + _d[2] |= (uint8_t) ( (_m->BCM_RearRightLockCmd & (0x07U)) | ((_m->BCM_FLDoorClose_Req & (0x03U)) << 3U) | ((_m->PTG_MemorySetRequest & (0x03U)) << 5U) | ((_m->VehicleLockState & (0x01U)) << 7U) ); + _d[3] |= (uint8_t) ( (_m->BCM_DoorAjarState_FL & (0x03U)) | ((_m->BCM_DoorAjarState_FR & (0x03U)) << 2U) | ((_m->BCM_DoorAjarState_RL & (0x03U)) << 4U) | ((_m->BCM_DoorAjarState_RR & (0x03U)) << 6U) ); + _d[4] |= (uint8_t) ( (_m->BCM_VehDoubleLock_Stat & (0x01U)) | ((_m->BCM_FuelLidUnlock_Req & (0x01U)) << 1U) | ((_m->BCM_HVlid_Stat & (0x01U)) << 2U) | ((_m->BCM_RRDoorClose_Req & (0x03U)) << 3U) | ((_m->BCM_WindowsClose_Cmd & (0x01U)) << 5U) | ((_m->BCM_FRDoorClose_Req & (0x03U)) << 6U) ); + _d[5] |= (uint8_t) ( (_m->BCM_HoodOpen_Stat & (0x03U)) | ((_m->BCM_PanicAlertActive & (0x01U)) << 2U) | ((_m->BCM_RLDoorClose_Req & (0x03U)) << 3U) | ((_m->BCM_RearWiperWipe_Req & (0x01U)) << 5U) | ((_m->BCM_AlarmOFF_Stat & (0x01U)) << 6U) | ((_m->BCM_MovementSensOFF_Stat & (0x01U)) << 7U) ); + _d[6] |= (uint8_t) ( (_m->BCM_DoorMovDis_Stat & (0x01U)) | ((_m->BCM_Alarm_Req & (0x01U)) << 1U) | ((_m->BCM_Alarm_Reason & (0x0FU)) << 2U) | ((_m->BCM_DoorHandleLight_Req & (0x01U)) << 6U) | ((_m->BCM_WindowsOpen_Req & (0x01U)) << 7U) ); + + *_len = (uint8_t) BCM_Lock_CTR_DLC; + *_ide = (uint8_t) BCM_Lock_CTR_IDE; + return BCM_Lock_CTR_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_; @@ -868,6 +4550,90 @@ uint32_t Pack_HVC_Err_Status_Msg_candb(HVC_Err_Status_Msg_t* _m, uint8_t* _d, ui #endif // CANDB_USE_CANSTRUCT +uint32_t Unpack_BCM_DCDC12_CNTRL_candb(BCM_DCDC12_CNTRL_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->BCM_DCDC1248_01_CS = (uint8_t) ( (_d[0] & (0xFFU)) ); + _m->BCM_DCDC1248_01_RC = (uint8_t) ( (_d[1] & (0x0FU)) ); + _m->BCM_DCDC1248_CurrLim12_ro = (uint16_t) ( ((_d[2] & (0x1FU)) << 4U) | ((_d[1] >> 4U) & (0x0FU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_DCDC1248_CurrLim12_phys = (int16_t) CANDB_BCM_DCDC1248_CurrLim12_ro_fromS(_m->BCM_DCDC1248_CurrLim12_ro); +#endif // CANDB_USE_SIGFLOAT + + _m->BCM_DCDC1248_DesVolt12_ro = (uint16_t) ( ((_d[3] & (0x7FU)) << 3U) | ((_d[2] >> 5U) & (0x07U)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_DCDC1248_DesVolt12_phys = (sigfloat_t)(CANDB_BCM_DCDC1248_DesVolt12_ro_fromS(_m->BCM_DCDC1248_DesVolt12_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->BCM_Volt_DCDC12_Req_ro = (uint8_t) ( (_d[4] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_Volt_DCDC12_Req_phys = (sigfloat_t)(CANDB_BCM_Volt_DCDC12_Req_ro_fromS(_m->BCM_Volt_DCDC12_Req_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->BCM_CurrLim_DCDC12 = (uint8_t) ( (_d[5] & (0xFFU)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < BCM_DCDC12_CNTRL_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_BCM_DCDC12_CNTRL_candb(&_m->mon1, BCM_DCDC12_CNTRL_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return BCM_DCDC12_CNTRL_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_BCM_DCDC12_CNTRL_candb(BCM_DCDC12_CNTRL_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(BCM_DCDC12_CNTRL_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_DCDC1248_CurrLim12_ro = (uint16_t) CANDB_BCM_DCDC1248_CurrLim12_ro_toS(_m->BCM_DCDC1248_CurrLim12_phys); + _m->BCM_DCDC1248_DesVolt12_ro = (uint16_t) CANDB_BCM_DCDC1248_DesVolt12_ro_toS(_m->BCM_DCDC1248_DesVolt12_phys); + _m->BCM_Volt_DCDC12_Req_ro = (uint8_t) CANDB_BCM_Volt_DCDC12_Req_ro_toS(_m->BCM_Volt_DCDC12_Req_phys); +#endif // CANDB_USE_SIGFLOAT + + cframe->Data[0] |= (uint8_t) ( (_m->BCM_DCDC1248_01_CS & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( (_m->BCM_DCDC1248_01_RC & (0x0FU)) | ((_m->BCM_DCDC1248_CurrLim12_ro & (0x0FU)) << 4U) ); + cframe->Data[2] |= (uint8_t) ( ((_m->BCM_DCDC1248_CurrLim12_ro >> 4U) & (0x1FU)) | ((_m->BCM_DCDC1248_DesVolt12_ro & (0x07U)) << 5U) ); + cframe->Data[3] |= (uint8_t) ( ((_m->BCM_DCDC1248_DesVolt12_ro >> 3U) & (0x7FU)) ); + cframe->Data[4] |= (uint8_t) ( (_m->BCM_Volt_DCDC12_Req_ro & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( (_m->BCM_CurrLim_DCDC12 & (0xFFU)) ); + + cframe->MsgId = (uint32_t) BCM_DCDC12_CNTRL_CANID; + cframe->DLC = (uint8_t) BCM_DCDC12_CNTRL_DLC; + cframe->IDE = (uint8_t) BCM_DCDC12_CNTRL_IDE; + return BCM_DCDC12_CNTRL_CANID; +} + +#else + +uint32_t Pack_BCM_DCDC12_CNTRL_candb(BCM_DCDC12_CNTRL_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(BCM_DCDC12_CNTRL_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_DCDC1248_CurrLim12_ro = (uint16_t) CANDB_BCM_DCDC1248_CurrLim12_ro_toS(_m->BCM_DCDC1248_CurrLim12_phys); + _m->BCM_DCDC1248_DesVolt12_ro = (uint16_t) CANDB_BCM_DCDC1248_DesVolt12_ro_toS(_m->BCM_DCDC1248_DesVolt12_phys); + _m->BCM_Volt_DCDC12_Req_ro = (uint8_t) CANDB_BCM_Volt_DCDC12_Req_ro_toS(_m->BCM_Volt_DCDC12_Req_phys); +#endif // CANDB_USE_SIGFLOAT + + _d[0] |= (uint8_t) ( (_m->BCM_DCDC1248_01_CS & (0xFFU)) ); + _d[1] |= (uint8_t) ( (_m->BCM_DCDC1248_01_RC & (0x0FU)) | ((_m->BCM_DCDC1248_CurrLim12_ro & (0x0FU)) << 4U) ); + _d[2] |= (uint8_t) ( ((_m->BCM_DCDC1248_CurrLim12_ro >> 4U) & (0x1FU)) | ((_m->BCM_DCDC1248_DesVolt12_ro & (0x07U)) << 5U) ); + _d[3] |= (uint8_t) ( ((_m->BCM_DCDC1248_DesVolt12_ro >> 3U) & (0x7FU)) ); + _d[4] |= (uint8_t) ( (_m->BCM_Volt_DCDC12_Req_ro & (0xFFU)) ); + _d[5] |= (uint8_t) ( (_m->BCM_CurrLim_DCDC12 & (0xFFU)) ); + + *_len = (uint8_t) BCM_DCDC12_CNTRL_DLC; + *_ide = (uint8_t) BCM_DCDC12_CNTRL_IDE; + return BCM_DCDC12_CNTRL_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_; @@ -1427,6 +5193,107 @@ uint32_t Pack_CCU_VCU_Msg2_candb(CCU_VCU_Msg2_t* _m, uint8_t* _d, uint8_t* _len, #endif // CANDB_USE_CANSTRUCT +uint32_t Unpack_BCM_IC_Info_Msg_candb(BCM_IC_Info_Msg_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->BCM_WasherFluidLevel = (uint8_t) ( (_d[0] & (0x01U)) ); + _m->BCM_LvBatCharging_Stat = (uint8_t) ( ((_d[0] >> 1U) & (0x01U)) ); + _m->BCM_EngStartNotif_Stat = (uint8_t) ( ((_d[0] >> 2U) & (0x01U)) ); + _m->BCM_PowerDoorsNotif_Stat = (uint8_t) ( ((_d[0] >> 3U) & (0x01U)) ); + _m->BCM_CalSteeringWhColumnReq = (uint8_t) ( ((_d[0] >> 4U) & (0x01U)) ); + _m->BCM_AdaptiveLghtsFailure = (uint8_t) ( ((_d[0] >> 5U) & (0x01U)) ); + _m->BCM_BrakeLightLeft_Status = (uint8_t) ( ((_d[0] >> 6U) & (0x01U)) ); + _m->BCM_BrakeLightRight_Status = (uint8_t) ( ((_d[0] >> 7U) & (0x01U)) ); + _m->BCM_AllWthrLght_Fault = (uint8_t) ( (_d[1] & (0x01U)) ); + _m->BCM_LowBeamLeft_Status = (uint8_t) ( ((_d[1] >> 1U) & (0x01U)) ); + _m->BCM_LowBeamRight_Status = (uint8_t) ( ((_d[1] >> 2U) & (0x01U)) ); + _m->BCM_ReverseLightsRight_Status = (uint8_t) ( ((_d[1] >> 3U) & (0x01U)) ); + _m->BCM_RearLeft_FogLight_Status = (uint8_t) ( ((_d[1] >> 4U) & (0x01U)) ); + _m->BCM_RearRight_FogLight_Status = (uint8_t) ( ((_d[1] >> 5U) & (0x01U)) ); + _m->BCM_ReverseLightsLeft_Status = (uint8_t) ( ((_d[1] >> 6U) & (0x01U)) ); + _m->BCM_HighBeamLeft_Status = (uint8_t) ( ((_d[1] >> 7U) & (0x01U)) ); + _m->BCM_HighBeamRight_Status = (uint8_t) ( (_d[2] & (0x01U)) ); + _m->BCM_PositionLight_RL_Status = (uint8_t) ( ((_d[2] >> 1U) & (0x01U)) ); + _m->BCM_PositionLight_RR_Status = (uint8_t) ( ((_d[2] >> 2U) & (0x01U)) ); + _m->BCM_DaytimeLightRight_Status = (uint8_t) ( ((_d[2] >> 3U) & (0x01U)) ); + _m->BCM_DaytimeLightLeft_Status = (uint8_t) ( ((_d[2] >> 4U) & (0x01U)) ); + _m->BCM_WarningInd = (uint8_t) ( ((_d[2] >> 5U) & (0x01U)) ); + _m->BCM_CorneringLightRight_Status = (uint8_t) ( ((_d[2] >> 6U) & (0x01U)) ); + _m->BCM_CorneringLightLeft_Status = (uint8_t) ( ((_d[2] >> 7U) & (0x01U)) ); + _m->BCM_PosLightFL_status = (uint8_t) ( (_d[3] & (0x01U)) ); + _m->BCM_PosLightFR_status = (uint8_t) ( ((_d[3] >> 1U) & (0x01U)) ); + _m->BCM_TurnIndicatorML_Status = (uint8_t) ( ((_d[3] >> 2U) & (0x01U)) ); + _m->BCM_TurnIndicatorMR_Status = (uint8_t) ( ((_d[3] >> 3U) & (0x01U)) ); + _m->BCM_TurnIndicatorRL_Status = (uint8_t) ( ((_d[3] >> 4U) & (0x01U)) ); + _m->BCM_TurnIndicatorRR_Status = (uint8_t) ( ((_d[3] >> 5U) & (0x01U)) ); + _m->BCM_TurnIndicatorFL_Status = (uint8_t) ( ((_d[3] >> 6U) & (0x01U)) ); + _m->BCM_TurnIndicatorFR_Status = (uint8_t) ( ((_d[3] >> 7U) & (0x01U)) ); + _m->BCM_HeadLghtLevelinglFailure = (uint8_t) ( (_d[4] & (0x01U)) ); + _m->BCM_PowerSteeringCtrlFault = (uint8_t) ( ((_d[4] >> 1U) & (0x01U)) ); + _m->BCM_LvBat1_SOC = (uint8_t) ( ((_d[4] >> 2U) & (0x03U)) ); + _m->BCM_LvBat1_SOH = (uint8_t) ( ((_d[4] >> 4U) & (0x03U)) ); + _m->BCM_HighBeamAutoStatus = (uint8_t) ( ((_d[4] >> 6U) & (0x01U)) ); + _m->BCM_ExteriorSystemStatus = (uint8_t) ( ((_d[4] >> 7U) & (0x01U)) ); + _m->BCM_LvBat1_SOC_Pct = (uint8_t) ( (_d[5] & (0x7FU)) ); + _m->BCM_TrunkLidOpenWarn_Req = (uint8_t) ( ((_d[5] >> 7U) & (0x01U)) ); + _m->BCM_FuelLvl_HMI = (uint8_t) ( (_d[6] & (0x7FU)) ); + _m->BCM_SRoofManipulationWarn_Req = (uint8_t) ( ((_d[6] >> 7U) & (0x01U)) ); + _m->BCM_DrvMdLim_Stat = (uint8_t) ( (_d[7] & (0x01U)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < BCM_IC_Info_Msg_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_BCM_IC_Info_Msg_candb(&_m->mon1, BCM_IC_Info_Msg_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return BCM_IC_Info_Msg_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_BCM_IC_Info_Msg_candb(BCM_IC_Info_Msg_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(BCM_IC_Info_Msg_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->BCM_WasherFluidLevel & (0x01U)) | ((_m->BCM_LvBatCharging_Stat & (0x01U)) << 1U) | ((_m->BCM_EngStartNotif_Stat & (0x01U)) << 2U) | ((_m->BCM_PowerDoorsNotif_Stat & (0x01U)) << 3U) | ((_m->BCM_CalSteeringWhColumnReq & (0x01U)) << 4U) | ((_m->BCM_AdaptiveLghtsFailure & (0x01U)) << 5U) | ((_m->BCM_BrakeLightLeft_Status & (0x01U)) << 6U) | ((_m->BCM_BrakeLightRight_Status & (0x01U)) << 7U) ); + cframe->Data[1] |= (uint8_t) ( (_m->BCM_AllWthrLght_Fault & (0x01U)) | ((_m->BCM_LowBeamLeft_Status & (0x01U)) << 1U) | ((_m->BCM_LowBeamRight_Status & (0x01U)) << 2U) | ((_m->BCM_ReverseLightsRight_Status & (0x01U)) << 3U) | ((_m->BCM_RearLeft_FogLight_Status & (0x01U)) << 4U) | ((_m->BCM_RearRight_FogLight_Status & (0x01U)) << 5U) | ((_m->BCM_ReverseLightsLeft_Status & (0x01U)) << 6U) | ((_m->BCM_HighBeamLeft_Status & (0x01U)) << 7U) ); + cframe->Data[2] |= (uint8_t) ( (_m->BCM_HighBeamRight_Status & (0x01U)) | ((_m->BCM_PositionLight_RL_Status & (0x01U)) << 1U) | ((_m->BCM_PositionLight_RR_Status & (0x01U)) << 2U) | ((_m->BCM_DaytimeLightRight_Status & (0x01U)) << 3U) | ((_m->BCM_DaytimeLightLeft_Status & (0x01U)) << 4U) | ((_m->BCM_WarningInd & (0x01U)) << 5U) | ((_m->BCM_CorneringLightRight_Status & (0x01U)) << 6U) | ((_m->BCM_CorneringLightLeft_Status & (0x01U)) << 7U) ); + cframe->Data[3] |= (uint8_t) ( (_m->BCM_PosLightFL_status & (0x01U)) | ((_m->BCM_PosLightFR_status & (0x01U)) << 1U) | ((_m->BCM_TurnIndicatorML_Status & (0x01U)) << 2U) | ((_m->BCM_TurnIndicatorMR_Status & (0x01U)) << 3U) | ((_m->BCM_TurnIndicatorRL_Status & (0x01U)) << 4U) | ((_m->BCM_TurnIndicatorRR_Status & (0x01U)) << 5U) | ((_m->BCM_TurnIndicatorFL_Status & (0x01U)) << 6U) | ((_m->BCM_TurnIndicatorFR_Status & (0x01U)) << 7U) ); + cframe->Data[4] |= (uint8_t) ( (_m->BCM_HeadLghtLevelinglFailure & (0x01U)) | ((_m->BCM_PowerSteeringCtrlFault & (0x01U)) << 1U) | ((_m->BCM_LvBat1_SOC & (0x03U)) << 2U) | ((_m->BCM_LvBat1_SOH & (0x03U)) << 4U) | ((_m->BCM_HighBeamAutoStatus & (0x01U)) << 6U) | ((_m->BCM_ExteriorSystemStatus & (0x01U)) << 7U) ); + cframe->Data[5] |= (uint8_t) ( (_m->BCM_LvBat1_SOC_Pct & (0x7FU)) | ((_m->BCM_TrunkLidOpenWarn_Req & (0x01U)) << 7U) ); + cframe->Data[6] |= (uint8_t) ( (_m->BCM_FuelLvl_HMI & (0x7FU)) | ((_m->BCM_SRoofManipulationWarn_Req & (0x01U)) << 7U) ); + cframe->Data[7] |= (uint8_t) ( (_m->BCM_DrvMdLim_Stat & (0x01U)) ); + + cframe->MsgId = (uint32_t) BCM_IC_Info_Msg_CANID; + cframe->DLC = (uint8_t) BCM_IC_Info_Msg_DLC; + cframe->IDE = (uint8_t) BCM_IC_Info_Msg_IDE; + return BCM_IC_Info_Msg_CANID; +} + +#else + +uint32_t Pack_BCM_IC_Info_Msg_candb(BCM_IC_Info_Msg_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(BCM_IC_Info_Msg_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->BCM_WasherFluidLevel & (0x01U)) | ((_m->BCM_LvBatCharging_Stat & (0x01U)) << 1U) | ((_m->BCM_EngStartNotif_Stat & (0x01U)) << 2U) | ((_m->BCM_PowerDoorsNotif_Stat & (0x01U)) << 3U) | ((_m->BCM_CalSteeringWhColumnReq & (0x01U)) << 4U) | ((_m->BCM_AdaptiveLghtsFailure & (0x01U)) << 5U) | ((_m->BCM_BrakeLightLeft_Status & (0x01U)) << 6U) | ((_m->BCM_BrakeLightRight_Status & (0x01U)) << 7U) ); + _d[1] |= (uint8_t) ( (_m->BCM_AllWthrLght_Fault & (0x01U)) | ((_m->BCM_LowBeamLeft_Status & (0x01U)) << 1U) | ((_m->BCM_LowBeamRight_Status & (0x01U)) << 2U) | ((_m->BCM_ReverseLightsRight_Status & (0x01U)) << 3U) | ((_m->BCM_RearLeft_FogLight_Status & (0x01U)) << 4U) | ((_m->BCM_RearRight_FogLight_Status & (0x01U)) << 5U) | ((_m->BCM_ReverseLightsLeft_Status & (0x01U)) << 6U) | ((_m->BCM_HighBeamLeft_Status & (0x01U)) << 7U) ); + _d[2] |= (uint8_t) ( (_m->BCM_HighBeamRight_Status & (0x01U)) | ((_m->BCM_PositionLight_RL_Status & (0x01U)) << 1U) | ((_m->BCM_PositionLight_RR_Status & (0x01U)) << 2U) | ((_m->BCM_DaytimeLightRight_Status & (0x01U)) << 3U) | ((_m->BCM_DaytimeLightLeft_Status & (0x01U)) << 4U) | ((_m->BCM_WarningInd & (0x01U)) << 5U) | ((_m->BCM_CorneringLightRight_Status & (0x01U)) << 6U) | ((_m->BCM_CorneringLightLeft_Status & (0x01U)) << 7U) ); + _d[3] |= (uint8_t) ( (_m->BCM_PosLightFL_status & (0x01U)) | ((_m->BCM_PosLightFR_status & (0x01U)) << 1U) | ((_m->BCM_TurnIndicatorML_Status & (0x01U)) << 2U) | ((_m->BCM_TurnIndicatorMR_Status & (0x01U)) << 3U) | ((_m->BCM_TurnIndicatorRL_Status & (0x01U)) << 4U) | ((_m->BCM_TurnIndicatorRR_Status & (0x01U)) << 5U) | ((_m->BCM_TurnIndicatorFL_Status & (0x01U)) << 6U) | ((_m->BCM_TurnIndicatorFR_Status & (0x01U)) << 7U) ); + _d[4] |= (uint8_t) ( (_m->BCM_HeadLghtLevelinglFailure & (0x01U)) | ((_m->BCM_PowerSteeringCtrlFault & (0x01U)) << 1U) | ((_m->BCM_LvBat1_SOC & (0x03U)) << 2U) | ((_m->BCM_LvBat1_SOH & (0x03U)) << 4U) | ((_m->BCM_HighBeamAutoStatus & (0x01U)) << 6U) | ((_m->BCM_ExteriorSystemStatus & (0x01U)) << 7U) ); + _d[5] |= (uint8_t) ( (_m->BCM_LvBat1_SOC_Pct & (0x7FU)) | ((_m->BCM_TrunkLidOpenWarn_Req & (0x01U)) << 7U) ); + _d[6] |= (uint8_t) ( (_m->BCM_FuelLvl_HMI & (0x7FU)) | ((_m->BCM_SRoofManipulationWarn_Req & (0x01U)) << 7U) ); + _d[7] |= (uint8_t) ( (_m->BCM_DrvMdLim_Stat & (0x01U)) ); + + *_len = (uint8_t) BCM_IC_Info_Msg_DLC; + *_ide = (uint8_t) BCM_IC_Info_Msg_IDE; + return BCM_IC_Info_Msg_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_; @@ -1435,17 +5302,25 @@ uint32_t Unpack_BCM_CLIMATIC_DATA_candb(BCM_CLIMATIC_DATA_t* _m, const uint8_t* _m->SolarSensRightVal_phys = (sigfloat_t)(CANDB_SolarSensRightVal_ro_fromS(_m->SolarSensRightVal_ro)); #endif // CANDB_USE_SIGFLOAT + _m->BCM_WipeLowTempWarn_Req = (uint8_t) ( (_d[1] & (0x01U)) ); _m->FrontWindowHeating_Status = (uint8_t) ( ((_d[1] >> 1U) & (0x01U)) ); _m->RearWindowHeating_Status = (uint8_t) ( ((_d[1] >> 2U) & (0x01U)) ); + _m->SWM_Heating_Req = (uint8_t) ( ((_d[1] >> 3U) & (0x03U)) ); + _m->BCM_RearWindowHeating_Cmd = (uint8_t) ( ((_d[1] >> 5U) & (0x01U)) ); + _m->BCM_SteerWheelHeating_Stat = (uint8_t) ( ((_d[1] >> 6U) & (0x01U)) ); + _m->RainDetected = (uint8_t) ( ((_d[1] >> 7U) & (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_Wiper_Stat = (uint8_t) ( ((_d[3] >> 2U) & (0x01U)) ); _m->BCM_SideWindowType_Stat = (uint8_t) ( ((_d[3] >> 3U) & (0x01U)) ); + _m->BCM_MirrorHeating_Cmd = (uint8_t) ( ((_d[3] >> 4U) & (0x01U)) ); _m->BCM_WindowWashingSt = (uint8_t) ( ((_d[3] >> 5U) & (0x01U)) ); _m->BCM_GloveBox_Stat = (uint8_t) ( ((_d[3] >> 6U) & (0x01U)) ); + _m->RainDensity = (uint8_t) ( ((_d[3] >> 7U) & (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)); @@ -1481,9 +5356,9 @@ uint32_t Pack_BCM_CLIMATIC_DATA_candb(BCM_CLIMATIC_DATA_t* _m, __CoderDbcCanFram #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[1] |= (uint8_t) ( (_m->BCM_WipeLowTempWarn_Req & (0x01U)) | ((_m->FrontWindowHeating_Status & (0x01U)) << 1U) | ((_m->RearWindowHeating_Status & (0x01U)) << 2U) | ((_m->SWM_Heating_Req & (0x03U)) << 3U) | ((_m->BCM_RearWindowHeating_Cmd & (0x01U)) << 5U) | ((_m->BCM_SteerWheelHeating_Stat & (0x01U)) << 6U) | ((_m->RainDetected & (0x01U)) << 7U) ); 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[3] |= (uint8_t) ( (_m->SideWindowHeating_Status & (0x01U)) | ((_m->BCM_Wiper_Stat & (0x01U)) << 2U) | ((_m->BCM_SideWindowType_Stat & (0x01U)) << 3U) | ((_m->BCM_MirrorHeating_Cmd & (0x01U)) << 4U) | ((_m->BCM_WindowWashingSt & (0x01U)) << 5U) | ((_m->BCM_GloveBox_Stat & (0x01U)) << 6U) | ((_m->RainDensity & (0x01U)) << 7U) ); cframe->Data[4] |= (uint8_t) ( (_m->WindshieldTemp_ro & (0xFFU)) ); cframe->Data[5] |= (uint8_t) ( (_m->WindshieldHumidity_ro & (0xFFU)) ); @@ -1507,9 +5382,9 @@ uint32_t Pack_BCM_CLIMATIC_DATA_candb(BCM_CLIMATIC_DATA_t* _m, uint8_t* _d, uint #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[1] |= (uint8_t) ( (_m->BCM_WipeLowTempWarn_Req & (0x01U)) | ((_m->FrontWindowHeating_Status & (0x01U)) << 1U) | ((_m->RearWindowHeating_Status & (0x01U)) << 2U) | ((_m->SWM_Heating_Req & (0x03U)) << 3U) | ((_m->BCM_RearWindowHeating_Cmd & (0x01U)) << 5U) | ((_m->BCM_SteerWheelHeating_Stat & (0x01U)) << 6U) | ((_m->RainDetected & (0x01U)) << 7U) ); _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[3] |= (uint8_t) ( (_m->SideWindowHeating_Status & (0x01U)) | ((_m->BCM_Wiper_Stat & (0x01U)) << 2U) | ((_m->BCM_SideWindowType_Stat & (0x01U)) << 3U) | ((_m->BCM_MirrorHeating_Cmd & (0x01U)) << 4U) | ((_m->BCM_WindowWashingSt & (0x01U)) << 5U) | ((_m->BCM_GloveBox_Stat & (0x01U)) << 6U) | ((_m->RainDensity & (0x01U)) << 7U) ); _d[4] |= (uint8_t) ( (_m->WindshieldTemp_ro & (0xFFU)) ); _d[5] |= (uint8_t) ( (_m->WindshieldHumidity_ro & (0xFFU)) ); @@ -1520,6 +5395,244 @@ uint32_t Pack_BCM_CLIMATIC_DATA_candb(BCM_CLIMATIC_DATA_t* _m, uint8_t* _d, uint #endif // CANDB_USE_CANSTRUCT +uint32_t Unpack_DMFL_SMFL_REQ_CTR_SEATS_candb(DMFL_SMFL_REQ_CTR_SEATS_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->DMFL_SeatMemReq = (uint8_t) ( (_d[0] & (0x07U)) ); + _m->DMFL_SeatHeightReq = (uint8_t) ( ((_d[0] >> 3U) & (0x03U)) ); + _m->DMFL_FrontPass_Req = (uint8_t) ( ((_d[0] >> 5U) & (0x01U)) ); + _m->DMFL_SeatLongitunalReq = (uint8_t) ( ((_d[0] >> 6U) & (0x03U)) ); + _m->DMFL_SeatBackRestInclinationReq = (uint8_t) ( (_d[1] & (0x03U)) ); + _m->DMFL_SeatMassageRequest = (uint8_t) ( ((_d[1] >> 2U) & (0x03U)) ); + _m->DMFL_SeatVentilationRequest = (uint8_t) ( ((_d[1] >> 4U) & (0x07U)) ); + _m->DMFL_SeatMassageIntence = (uint8_t) ( (_d[2] & (0x03U)) ); + _m->DMFL_SeatHeatingRequest = (uint8_t) ( ((_d[2] >> 2U) & (0x07U)) ); + _m->DMFL_SeatInclination_Req = (uint8_t) ( ((_d[2] >> 5U) & (0x03U)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < DMFL_SMFL_REQ_CTR_SEATS_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_DMFL_SMFL_REQ_CTR_SEATS_candb(&_m->mon1, DMFL_SMFL_REQ_CTR_SEATS_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return DMFL_SMFL_REQ_CTR_SEATS_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_DMFL_SMFL_REQ_CTR_SEATS_candb(DMFL_SMFL_REQ_CTR_SEATS_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(DMFL_SMFL_REQ_CTR_SEATS_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->DMFL_SeatMemReq & (0x07U)) | ((_m->DMFL_SeatHeightReq & (0x03U)) << 3U) | ((_m->DMFL_FrontPass_Req & (0x01U)) << 5U) | ((_m->DMFL_SeatLongitunalReq & (0x03U)) << 6U) ); + cframe->Data[1] |= (uint8_t) ( (_m->DMFL_SeatBackRestInclinationReq & (0x03U)) | ((_m->DMFL_SeatMassageRequest & (0x03U)) << 2U) | ((_m->DMFL_SeatVentilationRequest & (0x07U)) << 4U) ); + cframe->Data[2] |= (uint8_t) ( (_m->DMFL_SeatMassageIntence & (0x03U)) | ((_m->DMFL_SeatHeatingRequest & (0x07U)) << 2U) | ((_m->DMFL_SeatInclination_Req & (0x03U)) << 5U) ); + + cframe->MsgId = (uint32_t) DMFL_SMFL_REQ_CTR_SEATS_CANID; + cframe->DLC = (uint8_t) DMFL_SMFL_REQ_CTR_SEATS_DLC; + cframe->IDE = (uint8_t) DMFL_SMFL_REQ_CTR_SEATS_IDE; + return DMFL_SMFL_REQ_CTR_SEATS_CANID; +} + +#else + +uint32_t Pack_DMFL_SMFL_REQ_CTR_SEATS_candb(DMFL_SMFL_REQ_CTR_SEATS_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(DMFL_SMFL_REQ_CTR_SEATS_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->DMFL_SeatMemReq & (0x07U)) | ((_m->DMFL_SeatHeightReq & (0x03U)) << 3U) | ((_m->DMFL_FrontPass_Req & (0x01U)) << 5U) | ((_m->DMFL_SeatLongitunalReq & (0x03U)) << 6U) ); + _d[1] |= (uint8_t) ( (_m->DMFL_SeatBackRestInclinationReq & (0x03U)) | ((_m->DMFL_SeatMassageRequest & (0x03U)) << 2U) | ((_m->DMFL_SeatVentilationRequest & (0x07U)) << 4U) ); + _d[2] |= (uint8_t) ( (_m->DMFL_SeatMassageIntence & (0x03U)) | ((_m->DMFL_SeatHeatingRequest & (0x07U)) << 2U) | ((_m->DMFL_SeatInclination_Req & (0x03U)) << 5U) ); + + *_len = (uint8_t) DMFL_SMFL_REQ_CTR_SEATS_DLC; + *_ide = (uint8_t) DMFL_SMFL_REQ_CTR_SEATS_IDE; + return DMFL_SMFL_REQ_CTR_SEATS_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_DMFR_SMFR_REQ_CTR_SEATS_candb(DMFR_SMFR_REQ_CTR_SEATS_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->DMFR_SeatMemReq = (uint8_t) ( (_d[0] & (0x07U)) ); + _m->DMFR_SeatHeightReq = (uint8_t) ( ((_d[0] >> 3U) & (0x03U)) ); + _m->DMFR_SeatLongitunalReq = (uint8_t) ( ((_d[0] >> 6U) & (0x03U)) ); + _m->DMFR_SeatBackRestInclinationReq = (uint8_t) ( (_d[1] & (0x03U)) ); + _m->DMFR_SeatMassageRequest = (uint8_t) ( ((_d[1] >> 2U) & (0x03U)) ); + _m->DMFR_SeatVentilationRequest = (uint8_t) ( ((_d[1] >> 4U) & (0x07U)) ); + _m->DMFR_SeatMassageIntence = (uint8_t) ( (_d[2] & (0x03U)) ); + _m->DMFR_SeatHeatingRequest = (uint8_t) ( ((_d[2] >> 2U) & (0x07U)) ); + _m->DMFR_SeatInclination_Req = (uint8_t) ( ((_d[2] >> 5U) & (0x03U)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < DMFR_SMFR_REQ_CTR_SEATS_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_DMFR_SMFR_REQ_CTR_SEATS_candb(&_m->mon1, DMFR_SMFR_REQ_CTR_SEATS_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return DMFR_SMFR_REQ_CTR_SEATS_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_DMFR_SMFR_REQ_CTR_SEATS_candb(DMFR_SMFR_REQ_CTR_SEATS_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(DMFR_SMFR_REQ_CTR_SEATS_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->DMFR_SeatMemReq & (0x07U)) | ((_m->DMFR_SeatHeightReq & (0x03U)) << 3U) | ((_m->DMFR_SeatLongitunalReq & (0x03U)) << 6U) ); + cframe->Data[1] |= (uint8_t) ( (_m->DMFR_SeatBackRestInclinationReq & (0x03U)) | ((_m->DMFR_SeatMassageRequest & (0x03U)) << 2U) | ((_m->DMFR_SeatVentilationRequest & (0x07U)) << 4U) ); + cframe->Data[2] |= (uint8_t) ( (_m->DMFR_SeatMassageIntence & (0x03U)) | ((_m->DMFR_SeatHeatingRequest & (0x07U)) << 2U) | ((_m->DMFR_SeatInclination_Req & (0x03U)) << 5U) ); + + cframe->MsgId = (uint32_t) DMFR_SMFR_REQ_CTR_SEATS_CANID; + cframe->DLC = (uint8_t) DMFR_SMFR_REQ_CTR_SEATS_DLC; + cframe->IDE = (uint8_t) DMFR_SMFR_REQ_CTR_SEATS_IDE; + return DMFR_SMFR_REQ_CTR_SEATS_CANID; +} + +#else + +uint32_t Pack_DMFR_SMFR_REQ_CTR_SEATS_candb(DMFR_SMFR_REQ_CTR_SEATS_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(DMFR_SMFR_REQ_CTR_SEATS_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->DMFR_SeatMemReq & (0x07U)) | ((_m->DMFR_SeatHeightReq & (0x03U)) << 3U) | ((_m->DMFR_SeatLongitunalReq & (0x03U)) << 6U) ); + _d[1] |= (uint8_t) ( (_m->DMFR_SeatBackRestInclinationReq & (0x03U)) | ((_m->DMFR_SeatMassageRequest & (0x03U)) << 2U) | ((_m->DMFR_SeatVentilationRequest & (0x07U)) << 4U) ); + _d[2] |= (uint8_t) ( (_m->DMFR_SeatMassageIntence & (0x03U)) | ((_m->DMFR_SeatHeatingRequest & (0x07U)) << 2U) | ((_m->DMFR_SeatInclination_Req & (0x03U)) << 5U) ); + + *_len = (uint8_t) DMFR_SMFR_REQ_CTR_SEATS_DLC; + *_ide = (uint8_t) DMFR_SMFR_REQ_CTR_SEATS_IDE; + return DMFR_SMFR_REQ_CTR_SEATS_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_DMRL_SMRL_REQ_CTR_SEATS_candb(DMRL_SMRL_REQ_CTR_SEATS_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->DMRL_SeatMemReq = (uint8_t) ( (_d[0] & (0x07U)) ); + _m->DMRL_SeatHeightReq = (uint8_t) ( ((_d[0] >> 3U) & (0x03U)) ); + _m->DMRL_SeatLongitunalReq = (uint8_t) ( ((_d[0] >> 6U) & (0x03U)) ); + _m->DMRL_SeatBackRestInclinationReq = (uint8_t) ( (_d[1] & (0x03U)) ); + _m->DMRL_SeatMassageRequest = (uint8_t) ( ((_d[1] >> 2U) & (0x03U)) ); + _m->DMRL_SeatVentilationRequest = (uint8_t) ( ((_d[1] >> 4U) & (0x07U)) ); + _m->DMRL_SeatMassageIntence = (uint8_t) ( (_d[2] & (0x03U)) ); + _m->DMRL_SeatHeatingRequest = (uint8_t) ( ((_d[2] >> 2U) & (0x07U)) ); + _m->DMRL_SeatInclination_Req = (uint8_t) ( ((_d[2] >> 5U) & (0x03U)) ); + _m->DMRL_SeatFootRestHeightReq = (uint8_t) ( (_d[3] & (0x03U)) ); + _m->DMRL_MoreComfort_Req = (uint8_t) ( ((_d[3] >> 2U) & (0x03U)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < DMRL_SMRL_REQ_CTR_SEATS_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_DMRL_SMRL_REQ_CTR_SEATS_candb(&_m->mon1, DMRL_SMRL_REQ_CTR_SEATS_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return DMRL_SMRL_REQ_CTR_SEATS_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_DMRL_SMRL_REQ_CTR_SEATS_candb(DMRL_SMRL_REQ_CTR_SEATS_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(DMRL_SMRL_REQ_CTR_SEATS_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->DMRL_SeatMemReq & (0x07U)) | ((_m->DMRL_SeatHeightReq & (0x03U)) << 3U) | ((_m->DMRL_SeatLongitunalReq & (0x03U)) << 6U) ); + cframe->Data[1] |= (uint8_t) ( (_m->DMRL_SeatBackRestInclinationReq & (0x03U)) | ((_m->DMRL_SeatMassageRequest & (0x03U)) << 2U) | ((_m->DMRL_SeatVentilationRequest & (0x07U)) << 4U) ); + cframe->Data[2] |= (uint8_t) ( (_m->DMRL_SeatMassageIntence & (0x03U)) | ((_m->DMRL_SeatHeatingRequest & (0x07U)) << 2U) | ((_m->DMRL_SeatInclination_Req & (0x03U)) << 5U) ); + cframe->Data[3] |= (uint8_t) ( (_m->DMRL_SeatFootRestHeightReq & (0x03U)) | ((_m->DMRL_MoreComfort_Req & (0x03U)) << 2U) ); + + cframe->MsgId = (uint32_t) DMRL_SMRL_REQ_CTR_SEATS_CANID; + cframe->DLC = (uint8_t) DMRL_SMRL_REQ_CTR_SEATS_DLC; + cframe->IDE = (uint8_t) DMRL_SMRL_REQ_CTR_SEATS_IDE; + return DMRL_SMRL_REQ_CTR_SEATS_CANID; +} + +#else + +uint32_t Pack_DMRL_SMRL_REQ_CTR_SEATS_candb(DMRL_SMRL_REQ_CTR_SEATS_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(DMRL_SMRL_REQ_CTR_SEATS_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->DMRL_SeatMemReq & (0x07U)) | ((_m->DMRL_SeatHeightReq & (0x03U)) << 3U) | ((_m->DMRL_SeatLongitunalReq & (0x03U)) << 6U) ); + _d[1] |= (uint8_t) ( (_m->DMRL_SeatBackRestInclinationReq & (0x03U)) | ((_m->DMRL_SeatMassageRequest & (0x03U)) << 2U) | ((_m->DMRL_SeatVentilationRequest & (0x07U)) << 4U) ); + _d[2] |= (uint8_t) ( (_m->DMRL_SeatMassageIntence & (0x03U)) | ((_m->DMRL_SeatHeatingRequest & (0x07U)) << 2U) | ((_m->DMRL_SeatInclination_Req & (0x03U)) << 5U) ); + _d[3] |= (uint8_t) ( (_m->DMRL_SeatFootRestHeightReq & (0x03U)) | ((_m->DMRL_MoreComfort_Req & (0x03U)) << 2U) ); + + *_len = (uint8_t) DMRL_SMRL_REQ_CTR_SEATS_DLC; + *_ide = (uint8_t) DMRL_SMRL_REQ_CTR_SEATS_IDE; + return DMRL_SMRL_REQ_CTR_SEATS_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_DMRR_SMRR_REQ_CTR_SEATS_candb(DMRR_SMRR_REQ_CTR_SEATS_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->DMRR_SeatMemReq = (uint8_t) ( (_d[0] & (0x07U)) ); + _m->DMRR_SeatHeightReq = (uint8_t) ( ((_d[0] >> 3U) & (0x03U)) ); + _m->DMRR_FrontPass_Req = (uint8_t) ( ((_d[0] >> 5U) & (0x01U)) ); + _m->DMRR_SeatLongitunalReq = (uint8_t) ( ((_d[0] >> 6U) & (0x03U)) ); + _m->DMRR_SeatBackRestInclinationReq = (uint8_t) ( (_d[1] & (0x03U)) ); + _m->DMRR_SeatMassageRequest = (uint8_t) ( ((_d[1] >> 2U) & (0x03U)) ); + _m->DMRR_SeatVentilationRequest = (uint8_t) ( ((_d[1] >> 4U) & (0x07U)) ); + _m->DMRR_SeatMassageIntence = (uint8_t) ( (_d[2] & (0x03U)) ); + _m->DMRR_SeatHeatingRequest = (uint8_t) ( ((_d[2] >> 2U) & (0x07U)) ); + _m->DMRR_SeatInclination_Req = (uint8_t) ( ((_d[2] >> 5U) & (0x03U)) ); + _m->DMRR_SeatFootRestHeightReq = (uint8_t) ( (_d[3] & (0x03U)) ); + _m->DMRR_MoreComfort_Req = (uint8_t) ( ((_d[3] >> 2U) & (0x03U)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < DMRR_SMRR_REQ_CTR_SEATS_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_DMRR_SMRR_REQ_CTR_SEATS_candb(&_m->mon1, DMRR_SMRR_REQ_CTR_SEATS_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return DMRR_SMRR_REQ_CTR_SEATS_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_DMRR_SMRR_REQ_CTR_SEATS_candb(DMRR_SMRR_REQ_CTR_SEATS_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(DMRR_SMRR_REQ_CTR_SEATS_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->DMRR_SeatMemReq & (0x07U)) | ((_m->DMRR_SeatHeightReq & (0x03U)) << 3U) | ((_m->DMRR_FrontPass_Req & (0x01U)) << 5U) | ((_m->DMRR_SeatLongitunalReq & (0x03U)) << 6U) ); + cframe->Data[1] |= (uint8_t) ( (_m->DMRR_SeatBackRestInclinationReq & (0x03U)) | ((_m->DMRR_SeatMassageRequest & (0x03U)) << 2U) | ((_m->DMRR_SeatVentilationRequest & (0x07U)) << 4U) ); + cframe->Data[2] |= (uint8_t) ( (_m->DMRR_SeatMassageIntence & (0x03U)) | ((_m->DMRR_SeatHeatingRequest & (0x07U)) << 2U) | ((_m->DMRR_SeatInclination_Req & (0x03U)) << 5U) ); + cframe->Data[3] |= (uint8_t) ( (_m->DMRR_SeatFootRestHeightReq & (0x03U)) | ((_m->DMRR_MoreComfort_Req & (0x03U)) << 2U) ); + + cframe->MsgId = (uint32_t) DMRR_SMRR_REQ_CTR_SEATS_CANID; + cframe->DLC = (uint8_t) DMRR_SMRR_REQ_CTR_SEATS_DLC; + cframe->IDE = (uint8_t) DMRR_SMRR_REQ_CTR_SEATS_IDE; + return DMRR_SMRR_REQ_CTR_SEATS_CANID; +} + +#else + +uint32_t Pack_DMRR_SMRR_REQ_CTR_SEATS_candb(DMRR_SMRR_REQ_CTR_SEATS_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(DMRR_SMRR_REQ_CTR_SEATS_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->DMRR_SeatMemReq & (0x07U)) | ((_m->DMRR_SeatHeightReq & (0x03U)) << 3U) | ((_m->DMRR_FrontPass_Req & (0x01U)) << 5U) | ((_m->DMRR_SeatLongitunalReq & (0x03U)) << 6U) ); + _d[1] |= (uint8_t) ( (_m->DMRR_SeatBackRestInclinationReq & (0x03U)) | ((_m->DMRR_SeatMassageRequest & (0x03U)) << 2U) | ((_m->DMRR_SeatVentilationRequest & (0x07U)) << 4U) ); + _d[2] |= (uint8_t) ( (_m->DMRR_SeatMassageIntence & (0x03U)) | ((_m->DMRR_SeatHeatingRequest & (0x07U)) << 2U) | ((_m->DMRR_SeatInclination_Req & (0x03U)) << 5U) ); + _d[3] |= (uint8_t) ( (_m->DMRR_SeatFootRestHeightReq & (0x03U)) | ((_m->DMRR_MoreComfort_Req & (0x03U)) << 2U) ); + + *_len = (uint8_t) DMRR_SMRR_REQ_CTR_SEATS_DLC; + *_ide = (uint8_t) DMRR_SMRR_REQ_CTR_SEATS_IDE; + return DMRR_SMRR_REQ_CTR_SEATS_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + uint32_t Unpack_CCU_Msg1_candb(CCU_Msg1_t* _m, const uint8_t* _d, uint8_t dlc_) { (void)dlc_; @@ -1587,6 +5700,54 @@ uint32_t Pack_CCU_Msg1_candb(CCU_Msg1_t* _m, uint8_t* _d, uint8_t* _len, uint8_t #endif // CANDB_USE_CANSTRUCT +uint32_t Unpack_Sroof_State_candb(Sroof_State_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Sroof_Movement_Stat = (uint8_t) ( (_d[0] & (0x03U)) ); + _m->Sroof_Position_Stat = (uint8_t) ( ((_d[0] >> 2U) & (0x03U)) ); + _m->Sroof_Antipinch_Stat = (uint8_t) ( ((_d[0] >> 4U) & (0x01U)) ); + _m->Sroof_Error_Stat = (uint8_t) ( ((_d[0] >> 5U) & (0x01U)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < Sroof_State_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Sroof_State_candb(&_m->mon1, Sroof_State_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Sroof_State_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Sroof_State_candb(Sroof_State_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Sroof_State_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->Sroof_Movement_Stat & (0x03U)) | ((_m->Sroof_Position_Stat & (0x03U)) << 2U) | ((_m->Sroof_Antipinch_Stat & (0x01U)) << 4U) | ((_m->Sroof_Error_Stat & (0x01U)) << 5U) ); + + cframe->MsgId = (uint32_t) Sroof_State_CANID; + cframe->DLC = (uint8_t) Sroof_State_DLC; + cframe->IDE = (uint8_t) Sroof_State_IDE; + return Sroof_State_CANID; +} + +#else + +uint32_t Pack_Sroof_State_candb(Sroof_State_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Sroof_State_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->Sroof_Movement_Stat & (0x03U)) | ((_m->Sroof_Position_Stat & (0x03U)) << 2U) | ((_m->Sroof_Antipinch_Stat & (0x01U)) << 4U) | ((_m->Sroof_Error_Stat & (0x01U)) << 5U) ); + + *_len = (uint8_t) Sroof_State_DLC; + *_ide = (uint8_t) Sroof_State_IDE; + return Sroof_State_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_; @@ -1653,6 +5814,80 @@ uint32_t Pack_VCU_CCU_Req_candb(VCU_CCU_Req_t* _m, uint8_t* _d, uint8_t* _len, u #endif // CANDB_USE_CANSTRUCT +uint32_t Unpack_IC_DATA_MSG_candb(IC_DATA_MSG_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->DisplayBacklightBrightness = (uint8_t) ( (_d[0] & (0x7FU)) ); + _m->IC_EstimatedCruiseRange_ro = (uint8_t) ( (_d[1] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->IC_EstimatedCruiseRange_phys = (uint16_t) CANDB_IC_EstimatedCruiseRange_ro_fromS(_m->IC_EstimatedCruiseRange_ro); +#endif // CANDB_USE_SIGFLOAT + + _m->IC_ServiceDate = (int16_t) __ext_sig__(( ((_d[3] & (0xFFU)) << 8U) | (_d[2] & (0xFFU)) ), 16); + _m->IC_ServiceMileage = (int32_t) __ext_sig__(( ((_d[6] & (0x0FU)) << 16U) | ((_d[5] & (0xFFU)) << 8U) | (_d[4] & (0xFFU)) ), 20); + _m->IC_BrakePadCondition_Stat = (uint8_t) ( ((_d[6] >> 6U) & (0x01U)) ); + _m->IC_BrakeLiquidLvl_Stat = (uint8_t) ( ((_d[6] >> 7U) & (0x01U)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < IC_DATA_MSG_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_IC_DATA_MSG_candb(&_m->mon1, IC_DATA_MSG_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return IC_DATA_MSG_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_IC_DATA_MSG_candb(IC_DATA_MSG_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(IC_DATA_MSG_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->IC_EstimatedCruiseRange_ro = (uint8_t) CANDB_IC_EstimatedCruiseRange_ro_toS(_m->IC_EstimatedCruiseRange_phys); +#endif // CANDB_USE_SIGFLOAT + + cframe->Data[0] |= (uint8_t) ( (_m->DisplayBacklightBrightness & (0x7FU)) ); + cframe->Data[1] |= (uint8_t) ( (_m->IC_EstimatedCruiseRange_ro & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( (_m->IC_ServiceDate & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->IC_ServiceDate >> 8U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( (_m->IC_ServiceMileage & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->IC_ServiceMileage >> 8U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->IC_ServiceMileage >> 16U) & (0x0FU)) | ((_m->IC_BrakePadCondition_Stat & (0x01U)) << 6U) | ((_m->IC_BrakeLiquidLvl_Stat & (0x01U)) << 7U) ); + + cframe->MsgId = (uint32_t) IC_DATA_MSG_CANID; + cframe->DLC = (uint8_t) IC_DATA_MSG_DLC; + cframe->IDE = (uint8_t) IC_DATA_MSG_IDE; + return IC_DATA_MSG_CANID; +} + +#else + +uint32_t Pack_IC_DATA_MSG_candb(IC_DATA_MSG_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(IC_DATA_MSG_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->IC_EstimatedCruiseRange_ro = (uint8_t) CANDB_IC_EstimatedCruiseRange_ro_toS(_m->IC_EstimatedCruiseRange_phys); +#endif // CANDB_USE_SIGFLOAT + + _d[0] |= (uint8_t) ( (_m->DisplayBacklightBrightness & (0x7FU)) ); + _d[1] |= (uint8_t) ( (_m->IC_EstimatedCruiseRange_ro & (0xFFU)) ); + _d[2] |= (uint8_t) ( (_m->IC_ServiceDate & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->IC_ServiceDate >> 8U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( (_m->IC_ServiceMileage & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->IC_ServiceMileage >> 8U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->IC_ServiceMileage >> 16U) & (0x0FU)) | ((_m->IC_BrakePadCondition_Stat & (0x01U)) << 6U) | ((_m->IC_BrakeLiquidLvl_Stat & (0x01U)) << 7U) ); + + *_len = (uint8_t) IC_DATA_MSG_DLC; + *_ide = (uint8_t) IC_DATA_MSG_IDE; + return IC_DATA_MSG_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + uint32_t Unpack_ESC_08_candb(ESC_08_t* _m, const uint8_t* _d, uint8_t dlc_) { (void)dlc_; @@ -1720,10 +5955,681 @@ uint32_t Pack_ESC_08_candb(ESC_08_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _i #endif // CANDB_USE_CANSTRUCT +uint32_t Unpack_WChF_Status_candb(WChF_Status_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->WChF_Status_Stat = (uint8_t) ( (_d[0] & (0x01U)) ); + _m->WChF_Charge_Stat = (uint8_t) ( ((_d[0] >> 1U) & (0x01U)) ); + _m->WChF_ShortCircuit5V_Stat = (uint8_t) ( ((_d[0] >> 2U) & (0x01U)) ); + _m->WChF_Comm_Stat = (uint8_t) ( ((_d[0] >> 3U) & (0x01U)) ); + _m->WChF_Malfunction_Stat = (uint8_t) ( ((_d[0] >> 4U) & (0x01U)) ); + _m->WChF_NFCDevice_Stat = (uint8_t) ( ((_d[0] >> 5U) & (0x07U)) ); + _m->WChF_PowerQI_Stat_ro = (uint8_t) ( (_d[1] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->WChF_PowerQI_Stat_phys = (sigfloat_t)(CANDB_WChF_PowerQI_Stat_ro_fromS(_m->WChF_PowerQI_Stat_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->WChF_CurrentTx_Stat_ro = (uint8_t) ( (_d[2] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->WChF_CurrentTx_Stat_phys = (sigfloat_t)(CANDB_WChF_CurrentTx_Stat_ro_fromS(_m->WChF_CurrentTx_Stat_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->WChF_Frequency_Stat = (uint8_t) ( (_d[3] & (0xFFU)) ); + _m->WChF_TempCoil_Stat_ro = (uint8_t) ( (_d[4] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->WChF_TempCoil_Stat_phys = (int16_t) CANDB_WChF_TempCoil_Stat_ro_fromS(_m->WChF_TempCoil_Stat_ro); +#endif // CANDB_USE_SIGFLOAT + + _m->WChF_FAN_RPM_Stat = (uint16_t) ( ((_d[6] & (0x3FU)) << 8U) | (_d[5] & (0xFFU)) ); + _m->WChF_BT_Stat = (uint8_t) ( ((_d[6] >> 6U) & (0x01U)) ); + _m->WChF_WiFi_Stat = (uint8_t) ( ((_d[6] >> 7U) & (0x01U)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < WChF_Status_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_WChF_Status_candb(&_m->mon1, WChF_Status_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return WChF_Status_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_WChF_Status_candb(WChF_Status_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(WChF_Status_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->WChF_PowerQI_Stat_ro = (uint8_t) CANDB_WChF_PowerQI_Stat_ro_toS(_m->WChF_PowerQI_Stat_phys); + _m->WChF_CurrentTx_Stat_ro = (uint8_t) CANDB_WChF_CurrentTx_Stat_ro_toS(_m->WChF_CurrentTx_Stat_phys); + _m->WChF_TempCoil_Stat_ro = (uint8_t) CANDB_WChF_TempCoil_Stat_ro_toS(_m->WChF_TempCoil_Stat_phys); +#endif // CANDB_USE_SIGFLOAT + + cframe->Data[0] |= (uint8_t) ( (_m->WChF_Status_Stat & (0x01U)) | ((_m->WChF_Charge_Stat & (0x01U)) << 1U) | ((_m->WChF_ShortCircuit5V_Stat & (0x01U)) << 2U) | ((_m->WChF_Comm_Stat & (0x01U)) << 3U) | ((_m->WChF_Malfunction_Stat & (0x01U)) << 4U) | ((_m->WChF_NFCDevice_Stat & (0x07U)) << 5U) ); + cframe->Data[1] |= (uint8_t) ( (_m->WChF_PowerQI_Stat_ro & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( (_m->WChF_CurrentTx_Stat_ro & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( (_m->WChF_Frequency_Stat & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( (_m->WChF_TempCoil_Stat_ro & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( (_m->WChF_FAN_RPM_Stat & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->WChF_FAN_RPM_Stat >> 8U) & (0x3FU)) | ((_m->WChF_BT_Stat & (0x01U)) << 6U) | ((_m->WChF_WiFi_Stat & (0x01U)) << 7U) ); + + cframe->MsgId = (uint32_t) WChF_Status_CANID; + cframe->DLC = (uint8_t) WChF_Status_DLC; + cframe->IDE = (uint8_t) WChF_Status_IDE; + return WChF_Status_CANID; +} + +#else + +uint32_t Pack_WChF_Status_candb(WChF_Status_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(WChF_Status_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->WChF_PowerQI_Stat_ro = (uint8_t) CANDB_WChF_PowerQI_Stat_ro_toS(_m->WChF_PowerQI_Stat_phys); + _m->WChF_CurrentTx_Stat_ro = (uint8_t) CANDB_WChF_CurrentTx_Stat_ro_toS(_m->WChF_CurrentTx_Stat_phys); + _m->WChF_TempCoil_Stat_ro = (uint8_t) CANDB_WChF_TempCoil_Stat_ro_toS(_m->WChF_TempCoil_Stat_phys); +#endif // CANDB_USE_SIGFLOAT + + _d[0] |= (uint8_t) ( (_m->WChF_Status_Stat & (0x01U)) | ((_m->WChF_Charge_Stat & (0x01U)) << 1U) | ((_m->WChF_ShortCircuit5V_Stat & (0x01U)) << 2U) | ((_m->WChF_Comm_Stat & (0x01U)) << 3U) | ((_m->WChF_Malfunction_Stat & (0x01U)) << 4U) | ((_m->WChF_NFCDevice_Stat & (0x07U)) << 5U) ); + _d[1] |= (uint8_t) ( (_m->WChF_PowerQI_Stat_ro & (0xFFU)) ); + _d[2] |= (uint8_t) ( (_m->WChF_CurrentTx_Stat_ro & (0xFFU)) ); + _d[3] |= (uint8_t) ( (_m->WChF_Frequency_Stat & (0xFFU)) ); + _d[4] |= (uint8_t) ( (_m->WChF_TempCoil_Stat_ro & (0xFFU)) ); + _d[5] |= (uint8_t) ( (_m->WChF_FAN_RPM_Stat & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->WChF_FAN_RPM_Stat >> 8U) & (0x3FU)) | ((_m->WChF_BT_Stat & (0x01U)) << 6U) | ((_m->WChF_WiFi_Stat & (0x01U)) << 7U) ); + + *_len = (uint8_t) WChF_Status_DLC; + *_ide = (uint8_t) WChF_Status_IDE; + return WChF_Status_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_MAS_Status_candb(MAS_Status_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->MAS_AVMNarrowMode_Stat = (uint8_t) ( ((_d[0] >> 1U) & (0x03U)) ); + _m->MAS_AVMUltraSonic_Stat = (uint8_t) ( ((_d[0] >> 3U) & (0x01U)) ); + _m->MAS_AVMCameraFront_Stat = (uint8_t) ( ((_d[0] >> 4U) & (0x01U)) ); + _m->MAS_AVMCameraRear_Stat = (uint8_t) ( ((_d[0] >> 5U) & (0x01U)) ); + _m->MAS_AVMCameraLeftSide_Stat = (uint8_t) ( ((_d[0] >> 6U) & (0x01U)) ); + _m->MAS_AVMCameraRightSide_Stat = (uint8_t) ( ((_d[0] >> 7U) & (0x01U)) ); + _m->MAS_View_Stat = (uint8_t) ( (_d[1] & (0x07U)) ); + _m->MAS_Calibration_Stat = (uint8_t) ( ((_d[1] >> 3U) & (0x01U)) ); + _m->MAS_AVMUltrasonicFront_Stat = (uint8_t) ( ((_d[1] >> 4U) & (0x03U)) ); + _m->MAS_AVMUltrasonicRear_Stat = (uint8_t) ( ((_d[1] >> 6U) & (0x03U)) ); + _m->MAS_AVMUltrasonicSide_Stat = (uint8_t) ( (_d[2] & (0x03U)) ); + _m->MAS_MASmode_Stat = (uint8_t) ( ((_d[2] >> 2U) & (0x07U)) ); + _m->MAS_APAMode_Stat = (uint8_t) ( ((_d[2] >> 5U) & (0x07U)) ); + _m->MAS_AVMAutoAct_Stat = (uint8_t) ( (_d[3] & (0x01U)) ); + _m->MAS_APAManeuverSuccess_Stat = (uint8_t) ( ((_d[3] >> 1U) & (0x01U)) ); + _m->MAS_ParkingOutAvailable_Stat = (uint8_t) ( ((_d[3] >> 2U) & (0x01U)) ); + _m->MAS_ParkingOutSuccess_Stat = (uint8_t) ( ((_d[3] >> 3U) & (0x01U)) ); + _m->MAS_Status_RC = (uint8_t) ( ((_d[3] >> 4U) & (0x0FU)) ); + _m->MAS_Status_CS = (uint8_t) ( (_d[4] & (0xFFU)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < MAS_Status_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_MAS_Status_candb(&_m->mon1, MAS_Status_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return MAS_Status_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_MAS_Status_candb(MAS_Status_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(MAS_Status_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->MAS_AVMNarrowMode_Stat & (0x03U)) << 1U) | ((_m->MAS_AVMUltraSonic_Stat & (0x01U)) << 3U) | ((_m->MAS_AVMCameraFront_Stat & (0x01U)) << 4U) | ((_m->MAS_AVMCameraRear_Stat & (0x01U)) << 5U) | ((_m->MAS_AVMCameraLeftSide_Stat & (0x01U)) << 6U) | ((_m->MAS_AVMCameraRightSide_Stat & (0x01U)) << 7U) ); + cframe->Data[1] |= (uint8_t) ( (_m->MAS_View_Stat & (0x07U)) | ((_m->MAS_Calibration_Stat & (0x01U)) << 3U) | ((_m->MAS_AVMUltrasonicFront_Stat & (0x03U)) << 4U) | ((_m->MAS_AVMUltrasonicRear_Stat & (0x03U)) << 6U) ); + cframe->Data[2] |= (uint8_t) ( (_m->MAS_AVMUltrasonicSide_Stat & (0x03U)) | ((_m->MAS_MASmode_Stat & (0x07U)) << 2U) | ((_m->MAS_APAMode_Stat & (0x07U)) << 5U) ); + cframe->Data[3] |= (uint8_t) ( (_m->MAS_AVMAutoAct_Stat & (0x01U)) | ((_m->MAS_APAManeuverSuccess_Stat & (0x01U)) << 1U) | ((_m->MAS_ParkingOutAvailable_Stat & (0x01U)) << 2U) | ((_m->MAS_ParkingOutSuccess_Stat & (0x01U)) << 3U) | ((_m->MAS_Status_RC & (0x0FU)) << 4U) ); + cframe->Data[4] |= (uint8_t) ( (_m->MAS_Status_CS & (0xFFU)) ); + + cframe->MsgId = (uint32_t) MAS_Status_CANID; + cframe->DLC = (uint8_t) MAS_Status_DLC; + cframe->IDE = (uint8_t) MAS_Status_IDE; + return MAS_Status_CANID; +} + +#else + +uint32_t Pack_MAS_Status_candb(MAS_Status_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(MAS_Status_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->MAS_AVMNarrowMode_Stat & (0x03U)) << 1U) | ((_m->MAS_AVMUltraSonic_Stat & (0x01U)) << 3U) | ((_m->MAS_AVMCameraFront_Stat & (0x01U)) << 4U) | ((_m->MAS_AVMCameraRear_Stat & (0x01U)) << 5U) | ((_m->MAS_AVMCameraLeftSide_Stat & (0x01U)) << 6U) | ((_m->MAS_AVMCameraRightSide_Stat & (0x01U)) << 7U) ); + _d[1] |= (uint8_t) ( (_m->MAS_View_Stat & (0x07U)) | ((_m->MAS_Calibration_Stat & (0x01U)) << 3U) | ((_m->MAS_AVMUltrasonicFront_Stat & (0x03U)) << 4U) | ((_m->MAS_AVMUltrasonicRear_Stat & (0x03U)) << 6U) ); + _d[2] |= (uint8_t) ( (_m->MAS_AVMUltrasonicSide_Stat & (0x03U)) | ((_m->MAS_MASmode_Stat & (0x07U)) << 2U) | ((_m->MAS_APAMode_Stat & (0x07U)) << 5U) ); + _d[3] |= (uint8_t) ( (_m->MAS_AVMAutoAct_Stat & (0x01U)) | ((_m->MAS_APAManeuverSuccess_Stat & (0x01U)) << 1U) | ((_m->MAS_ParkingOutAvailable_Stat & (0x01U)) << 2U) | ((_m->MAS_ParkingOutSuccess_Stat & (0x01U)) << 3U) | ((_m->MAS_Status_RC & (0x0FU)) << 4U) ); + _d[4] |= (uint8_t) ( (_m->MAS_Status_CS & (0xFFU)) ); + + *_len = (uint8_t) MAS_Status_DLC; + *_ide = (uint8_t) MAS_Status_IDE; + return MAS_Status_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_EPB_VM_MSG_candb(EPB_VM_MSG_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->EPB_OpMode_Req = (uint8_t) ( (_d[0] & (0x01U)) ); + _m->EPB_VM_RC = (uint8_t) ( ((_d[6] >> 4U) & (0x0FU)) ); + _m->EPB_VM_CS = (uint8_t) ( (_d[7] & (0xFFU)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < EPB_VM_MSG_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_EPB_VM_MSG_candb(&_m->mon1, EPB_VM_MSG_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return EPB_VM_MSG_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_EPB_VM_MSG_candb(EPB_VM_MSG_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(EPB_VM_MSG_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->EPB_OpMode_Req & (0x01U)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->EPB_VM_RC & (0x0FU)) << 4U) ); + cframe->Data[7] |= (uint8_t) ( (_m->EPB_VM_CS & (0xFFU)) ); + + cframe->MsgId = (uint32_t) EPB_VM_MSG_CANID; + cframe->DLC = (uint8_t) EPB_VM_MSG_DLC; + cframe->IDE = (uint8_t) EPB_VM_MSG_IDE; + return EPB_VM_MSG_CANID; +} + +#else + +uint32_t Pack_EPB_VM_MSG_candb(EPB_VM_MSG_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(EPB_VM_MSG_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->EPB_OpMode_Req & (0x01U)) ); + _d[6] |= (uint8_t) ( ((_m->EPB_VM_RC & (0x0FU)) << 4U) ); + _d[7] |= (uint8_t) ( (_m->EPB_VM_CS & (0xFFU)) ); + + *_len = (uint8_t) EPB_VM_MSG_DLC; + *_ide = (uint8_t) EPB_VM_MSG_IDE; + return EPB_VM_MSG_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_CGW_COMM_REQ_candb(CGW_COMM_REQ_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->CGW_Comm_Req = (uint8_t) ( (_d[0] & (0x01U)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < CGW_COMM_REQ_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_CGW_COMM_REQ_candb(&_m->mon1, CGW_COMM_REQ_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return CGW_COMM_REQ_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_CGW_COMM_REQ_candb(CGW_COMM_REQ_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(CGW_COMM_REQ_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->CGW_Comm_Req & (0x01U)) ); + + cframe->MsgId = (uint32_t) CGW_COMM_REQ_CANID; + cframe->DLC = (uint8_t) CGW_COMM_REQ_DLC; + cframe->IDE = (uint8_t) CGW_COMM_REQ_IDE; + return CGW_COMM_REQ_CANID; +} + +#else + +uint32_t Pack_CGW_COMM_REQ_candb(CGW_COMM_REQ_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(CGW_COMM_REQ_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->CGW_Comm_Req & (0x01U)) ); + + *_len = (uint8_t) CGW_COMM_REQ_DLC; + *_ide = (uint8_t) CGW_COMM_REQ_IDE; + return CGW_COMM_REQ_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_DCDC1248_01_candb(DCDC1248_01_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->DCDC1248_01_CS = (uint8_t) ( (_d[0] & (0xFFU)) ); + _m->DCDC1248_01_RC = (uint8_t) ( (_d[1] & (0x0FU)) ); + _m->DCDC1248_ActMode_Stat = (uint8_t) ( ((_d[1] >> 4U) & (0x07U)) ); + _m->DCDC1248_Warn_Stat = (uint8_t) ( ((_d[1] >> 7U) & (0x01U)) ); + _m->DCDC1248_ActCurr12_Val_ro = (uint16_t) ( ((_d[3] & (0x01U)) << 8U) | (_d[2] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->DCDC1248_ActCurr12_Val_phys = (int16_t) CANDB_DCDC1248_ActCurr12_Val_ro_fromS(_m->DCDC1248_ActCurr12_Val_ro); +#endif // CANDB_USE_SIGFLOAT + + _m->DCDC1248_ActVolt12_Val_ro = (uint16_t) ( ((_d[4] & (0x07U)) << 7U) | ((_d[3] >> 1U) & (0x7FU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->DCDC1248_ActVolt12_Val_phys = (sigfloat_t)(CANDB_DCDC1248_ActVolt12_Val_ro_fromS(_m->DCDC1248_ActVolt12_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->DCDC1248_ErrInternal_Stat = (uint8_t) ( ((_d[4] >> 3U) & (0x01U)) ); + _m->DCDC1248_OvCurr12 = (uint8_t) ( ((_d[4] >> 4U) & (0x01U)) ); + _m->DCDC1248_DisChrg_Stat = (uint8_t) ( ((_d[4] >> 5U) & (0x03U)) ); + _m->DCDC1248_T15_Stat = (int8_t) __ext_sig__(( ((_d[4] >> 7U) & (0x01U)) ), 1); + _m->DCDC1248_MaxCurr12_Val_ro = (uint8_t) ( (_d[5] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->DCDC1248_MaxCurr12_Val_phys = (sigfloat_t)(CANDB_DCDC1248_MaxCurr12_Val_ro_fromS(_m->DCDC1248_MaxCurr12_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < DCDC1248_01_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_DCDC1248_01_candb(&_m->mon1, DCDC1248_01_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return DCDC1248_01_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_DCDC1248_01_candb(DCDC1248_01_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(DCDC1248_01_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->DCDC1248_ActCurr12_Val_ro = (uint16_t) CANDB_DCDC1248_ActCurr12_Val_ro_toS(_m->DCDC1248_ActCurr12_Val_phys); + _m->DCDC1248_ActVolt12_Val_ro = (uint16_t) CANDB_DCDC1248_ActVolt12_Val_ro_toS(_m->DCDC1248_ActVolt12_Val_phys); + _m->DCDC1248_MaxCurr12_Val_ro = (uint8_t) CANDB_DCDC1248_MaxCurr12_Val_ro_toS(_m->DCDC1248_MaxCurr12_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + cframe->Data[0] |= (uint8_t) ( (_m->DCDC1248_01_CS & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( (_m->DCDC1248_01_RC & (0x0FU)) | ((_m->DCDC1248_ActMode_Stat & (0x07U)) << 4U) | ((_m->DCDC1248_Warn_Stat & (0x01U)) << 7U) ); + cframe->Data[2] |= (uint8_t) ( (_m->DCDC1248_ActCurr12_Val_ro & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->DCDC1248_ActCurr12_Val_ro >> 8U) & (0x01U)) | ((_m->DCDC1248_ActVolt12_Val_ro & (0x7FU)) << 1U) ); + cframe->Data[4] |= (uint8_t) ( ((_m->DCDC1248_ActVolt12_Val_ro >> 7U) & (0x07U)) | ((_m->DCDC1248_ErrInternal_Stat & (0x01U)) << 3U) | ((_m->DCDC1248_OvCurr12 & (0x01U)) << 4U) | ((_m->DCDC1248_DisChrg_Stat & (0x03U)) << 5U) | ((_m->DCDC1248_T15_Stat & (0x01U)) << 7U) ); + cframe->Data[5] |= (uint8_t) ( (_m->DCDC1248_MaxCurr12_Val_ro & (0xFFU)) ); + + cframe->MsgId = (uint32_t) DCDC1248_01_CANID; + cframe->DLC = (uint8_t) DCDC1248_01_DLC; + cframe->IDE = (uint8_t) DCDC1248_01_IDE; + return DCDC1248_01_CANID; +} + +#else + +uint32_t Pack_DCDC1248_01_candb(DCDC1248_01_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(DCDC1248_01_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->DCDC1248_ActCurr12_Val_ro = (uint16_t) CANDB_DCDC1248_ActCurr12_Val_ro_toS(_m->DCDC1248_ActCurr12_Val_phys); + _m->DCDC1248_ActVolt12_Val_ro = (uint16_t) CANDB_DCDC1248_ActVolt12_Val_ro_toS(_m->DCDC1248_ActVolt12_Val_phys); + _m->DCDC1248_MaxCurr12_Val_ro = (uint8_t) CANDB_DCDC1248_MaxCurr12_Val_ro_toS(_m->DCDC1248_MaxCurr12_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + _d[0] |= (uint8_t) ( (_m->DCDC1248_01_CS & (0xFFU)) ); + _d[1] |= (uint8_t) ( (_m->DCDC1248_01_RC & (0x0FU)) | ((_m->DCDC1248_ActMode_Stat & (0x07U)) << 4U) | ((_m->DCDC1248_Warn_Stat & (0x01U)) << 7U) ); + _d[2] |= (uint8_t) ( (_m->DCDC1248_ActCurr12_Val_ro & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->DCDC1248_ActCurr12_Val_ro >> 8U) & (0x01U)) | ((_m->DCDC1248_ActVolt12_Val_ro & (0x7FU)) << 1U) ); + _d[4] |= (uint8_t) ( ((_m->DCDC1248_ActVolt12_Val_ro >> 7U) & (0x07U)) | ((_m->DCDC1248_ErrInternal_Stat & (0x01U)) << 3U) | ((_m->DCDC1248_OvCurr12 & (0x01U)) << 4U) | ((_m->DCDC1248_DisChrg_Stat & (0x03U)) << 5U) | ((_m->DCDC1248_T15_Stat & (0x01U)) << 7U) ); + _d[5] |= (uint8_t) ( (_m->DCDC1248_MaxCurr12_Val_ro & (0xFFU)) ); + + *_len = (uint8_t) DCDC1248_01_DLC; + *_ide = (uint8_t) DCDC1248_01_IDE; + return DCDC1248_01_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_FIU_REQ_CTR_01_candb(FIU_REQ_CTR_01_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->FIU_SetLanguage = (uint8_t) ( (_d[0] & (0x07U)) ); + _m->FIU_VoiceControlActive_Stat = (uint8_t) ( ((_d[0] >> 3U) & (0x01U)) ); + _m->FIU_SERVICE_State = (uint8_t) ( ((_d[0] >> 6U) & (0x01U)) ); + _m->FIU_SOS_State = (uint8_t) ( (_d[1] & (0x01U)) ); + _m->FIU_FuelStatisticsReset_Req = (uint8_t) ( ((_d[1] >> 1U) & (0x01U)) ); + _m->FIU_UserTripStatisticsReset_Req = (uint8_t) ( ((_d[1] >> 2U) & (0x01U)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < FIU_REQ_CTR_01_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_FIU_REQ_CTR_01_candb(&_m->mon1, FIU_REQ_CTR_01_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return FIU_REQ_CTR_01_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_FIU_REQ_CTR_01_candb(FIU_REQ_CTR_01_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(FIU_REQ_CTR_01_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->FIU_SetLanguage & (0x07U)) | ((_m->FIU_VoiceControlActive_Stat & (0x01U)) << 3U) | ((_m->FIU_SERVICE_State & (0x01U)) << 6U) ); + cframe->Data[1] |= (uint8_t) ( (_m->FIU_SOS_State & (0x01U)) | ((_m->FIU_FuelStatisticsReset_Req & (0x01U)) << 1U) | ((_m->FIU_UserTripStatisticsReset_Req & (0x01U)) << 2U) ); + + cframe->MsgId = (uint32_t) FIU_REQ_CTR_01_CANID; + cframe->DLC = (uint8_t) FIU_REQ_CTR_01_DLC; + cframe->IDE = (uint8_t) FIU_REQ_CTR_01_IDE; + return FIU_REQ_CTR_01_CANID; +} + +#else + +uint32_t Pack_FIU_REQ_CTR_01_candb(FIU_REQ_CTR_01_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(FIU_REQ_CTR_01_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->FIU_SetLanguage & (0x07U)) | ((_m->FIU_VoiceControlActive_Stat & (0x01U)) << 3U) | ((_m->FIU_SERVICE_State & (0x01U)) << 6U) ); + _d[1] |= (uint8_t) ( (_m->FIU_SOS_State & (0x01U)) | ((_m->FIU_FuelStatisticsReset_Req & (0x01U)) << 1U) | ((_m->FIU_UserTripStatisticsReset_Req & (0x01U)) << 2U) ); + + *_len = (uint8_t) FIU_REQ_CTR_01_DLC; + *_ide = (uint8_t) FIU_REQ_CTR_01_IDE; + return FIU_REQ_CTR_01_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_DCDC1248_02_candb(DCDC1248_02_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->DCDC1248_02_CS = (uint8_t) ( (_d[0] & (0xFFU)) ); + _m->DCDC1248_02_RC = (uint8_t) ( (_d[1] & (0x0FU)) ); + _m->DCDC1248_ActVolt48_Val_ro = (uint16_t) ( ((_d[2] & (0x3FU)) << 4U) | ((_d[1] >> 4U) & (0x0FU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->DCDC1248_ActVolt48_Val_phys = (sigfloat_t)(CANDB_DCDC1248_ActVolt48_Val_ro_fromS(_m->DCDC1248_ActVolt48_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->DCDC1248_ActCurr48_Val_ro = (uint16_t) ( ((_d[3] & (0xFFU)) << 2U) | ((_d[2] >> 6U) & (0x03U)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->DCDC1248_ActCurr48_Val_phys = (int16_t) CANDB_DCDC1248_ActCurr48_Val_ro_fromS(_m->DCDC1248_ActCurr48_Val_ro); +#endif // CANDB_USE_SIGFLOAT + + _m->DCDC1248_ActTemp_Val_ro = (uint8_t) ( (_d[4] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->DCDC1248_ActTemp_Val_phys = (int16_t) CANDB_DCDC1248_ActTemp_Val_ro_fromS(_m->DCDC1248_ActTemp_Val_ro); +#endif // CANDB_USE_SIGFLOAT + + _m->DCDC1248_ActDisChrg_Stat = (uint8_t) ( (_d[5] & (0x03U)) ); + _m->DCDC1248_MaxCurr48_Val_ro = (uint8_t) ( (_d[6] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->DCDC1248_MaxCurr48_Val_phys = (sigfloat_t)(CANDB_DCDC1248_MaxCurr48_Val_ro_fromS(_m->DCDC1248_MaxCurr48_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < DCDC1248_02_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_DCDC1248_02_candb(&_m->mon1, DCDC1248_02_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return DCDC1248_02_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_DCDC1248_02_candb(DCDC1248_02_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(DCDC1248_02_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->DCDC1248_ActVolt48_Val_ro = (uint16_t) CANDB_DCDC1248_ActVolt48_Val_ro_toS(_m->DCDC1248_ActVolt48_Val_phys); + _m->DCDC1248_ActCurr48_Val_ro = (uint16_t) CANDB_DCDC1248_ActCurr48_Val_ro_toS(_m->DCDC1248_ActCurr48_Val_phys); + _m->DCDC1248_ActTemp_Val_ro = (uint8_t) CANDB_DCDC1248_ActTemp_Val_ro_toS(_m->DCDC1248_ActTemp_Val_phys); + _m->DCDC1248_MaxCurr48_Val_ro = (uint8_t) CANDB_DCDC1248_MaxCurr48_Val_ro_toS(_m->DCDC1248_MaxCurr48_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + cframe->Data[0] |= (uint8_t) ( (_m->DCDC1248_02_CS & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( (_m->DCDC1248_02_RC & (0x0FU)) | ((_m->DCDC1248_ActVolt48_Val_ro & (0x0FU)) << 4U) ); + cframe->Data[2] |= (uint8_t) ( ((_m->DCDC1248_ActVolt48_Val_ro >> 4U) & (0x3FU)) | ((_m->DCDC1248_ActCurr48_Val_ro & (0x03U)) << 6U) ); + cframe->Data[3] |= (uint8_t) ( ((_m->DCDC1248_ActCurr48_Val_ro >> 2U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( (_m->DCDC1248_ActTemp_Val_ro & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( (_m->DCDC1248_ActDisChrg_Stat & (0x03U)) ); + cframe->Data[6] |= (uint8_t) ( (_m->DCDC1248_MaxCurr48_Val_ro & (0xFFU)) ); + + cframe->MsgId = (uint32_t) DCDC1248_02_CANID; + cframe->DLC = (uint8_t) DCDC1248_02_DLC; + cframe->IDE = (uint8_t) DCDC1248_02_IDE; + return DCDC1248_02_CANID; +} + +#else + +uint32_t Pack_DCDC1248_02_candb(DCDC1248_02_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(DCDC1248_02_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->DCDC1248_ActVolt48_Val_ro = (uint16_t) CANDB_DCDC1248_ActVolt48_Val_ro_toS(_m->DCDC1248_ActVolt48_Val_phys); + _m->DCDC1248_ActCurr48_Val_ro = (uint16_t) CANDB_DCDC1248_ActCurr48_Val_ro_toS(_m->DCDC1248_ActCurr48_Val_phys); + _m->DCDC1248_ActTemp_Val_ro = (uint8_t) CANDB_DCDC1248_ActTemp_Val_ro_toS(_m->DCDC1248_ActTemp_Val_phys); + _m->DCDC1248_MaxCurr48_Val_ro = (uint8_t) CANDB_DCDC1248_MaxCurr48_Val_ro_toS(_m->DCDC1248_MaxCurr48_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + _d[0] |= (uint8_t) ( (_m->DCDC1248_02_CS & (0xFFU)) ); + _d[1] |= (uint8_t) ( (_m->DCDC1248_02_RC & (0x0FU)) | ((_m->DCDC1248_ActVolt48_Val_ro & (0x0FU)) << 4U) ); + _d[2] |= (uint8_t) ( ((_m->DCDC1248_ActVolt48_Val_ro >> 4U) & (0x3FU)) | ((_m->DCDC1248_ActCurr48_Val_ro & (0x03U)) << 6U) ); + _d[3] |= (uint8_t) ( ((_m->DCDC1248_ActCurr48_Val_ro >> 2U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( (_m->DCDC1248_ActTemp_Val_ro & (0xFFU)) ); + _d[5] |= (uint8_t) ( (_m->DCDC1248_ActDisChrg_Stat & (0x03U)) ); + _d[6] |= (uint8_t) ( (_m->DCDC1248_MaxCurr48_Val_ro & (0xFFU)) ); + + *_len = (uint8_t) DCDC1248_02_DLC; + *_ide = (uint8_t) DCDC1248_02_IDE; + return DCDC1248_02_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_FIU_Access_Msg2_candb(FIU_Access_Msg2_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->FIU_Smartphone_Key = (uint32_t) ( ((_d[3] & (0xFFU)) << 24U) | ((_d[2] & (0xFFU)) << 16U) | ((_d[1] & (0xFFU)) << 8U) | (_d[0] & (0xFFU)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < FIU_Access_Msg2_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_FIU_Access_Msg2_candb(&_m->mon1, FIU_Access_Msg2_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return FIU_Access_Msg2_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_FIU_Access_Msg2_candb(FIU_Access_Msg2_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(FIU_Access_Msg2_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->FIU_Smartphone_Key & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->FIU_Smartphone_Key >> 8U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->FIU_Smartphone_Key >> 16U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->FIU_Smartphone_Key >> 24U) & (0xFFU)) ); + + cframe->MsgId = (uint32_t) FIU_Access_Msg2_CANID; + cframe->DLC = (uint8_t) FIU_Access_Msg2_DLC; + cframe->IDE = (uint8_t) FIU_Access_Msg2_IDE; + return FIU_Access_Msg2_CANID; +} + +#else + +uint32_t Pack_FIU_Access_Msg2_candb(FIU_Access_Msg2_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(FIU_Access_Msg2_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->FIU_Smartphone_Key & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->FIU_Smartphone_Key >> 8U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->FIU_Smartphone_Key >> 16U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->FIU_Smartphone_Key >> 24U) & (0xFFU)) ); + + *_len = (uint8_t) FIU_Access_Msg2_DLC; + *_ide = (uint8_t) FIU_Access_Msg2_IDE; + return FIU_Access_Msg2_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_FIU_Profile_candb(FIU_Profile_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->FIU_CurrProfile_Front_Stat = (uint8_t) ( (_d[0] & (0x07U)) ); + _m->FIU_KeySearch_Req = (uint8_t) ( ((_d[0] >> 3U) & (0x01U)) ); + _m->FIU_ProfileSeatFront_Stat = (uint8_t) ( ((_d[0] >> 4U) & (0x01U)) ); + _m->FIU_ProfileCustomFront_Stat = (uint8_t) ( ((_d[0] >> 5U) & (0x01U)) ); + _m->FIU_ProfileSystFront_Stat = (uint8_t) ( ((_d[0] >> 6U) & (0x01U)) ); + _m->FIU_ProfileCarSettingsFront_Stat = (uint8_t) ( ((_d[0] >> 7U) & (0x01U)) ); + _m->FIU_CurrProfile_Rear_Stat = (uint8_t) ( (_d[1] & (0x07U)) ); + _m->FIU_ProfileSeatRear_Req = (uint8_t) ( ((_d[1] >> 3U) & (0x01U)) ); + _m->FIU_ProfileCustomRear_Req = (uint8_t) ( ((_d[1] >> 4U) & (0x01U)) ); + _m->FIU_ProfileSystRear_Req = (uint8_t) ( ((_d[1] >> 5U) & (0x01U)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < FIU_Profile_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_FIU_Profile_candb(&_m->mon1, FIU_Profile_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return FIU_Profile_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_FIU_Profile_candb(FIU_Profile_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(FIU_Profile_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->FIU_CurrProfile_Front_Stat & (0x07U)) | ((_m->FIU_KeySearch_Req & (0x01U)) << 3U) | ((_m->FIU_ProfileSeatFront_Stat & (0x01U)) << 4U) | ((_m->FIU_ProfileCustomFront_Stat & (0x01U)) << 5U) | ((_m->FIU_ProfileSystFront_Stat & (0x01U)) << 6U) | ((_m->FIU_ProfileCarSettingsFront_Stat & (0x01U)) << 7U) ); + cframe->Data[1] |= (uint8_t) ( (_m->FIU_CurrProfile_Rear_Stat & (0x07U)) | ((_m->FIU_ProfileSeatRear_Req & (0x01U)) << 3U) | ((_m->FIU_ProfileCustomRear_Req & (0x01U)) << 4U) | ((_m->FIU_ProfileSystRear_Req & (0x01U)) << 5U) ); + + cframe->MsgId = (uint32_t) FIU_Profile_CANID; + cframe->DLC = (uint8_t) FIU_Profile_DLC; + cframe->IDE = (uint8_t) FIU_Profile_IDE; + return FIU_Profile_CANID; +} + +#else + +uint32_t Pack_FIU_Profile_candb(FIU_Profile_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(FIU_Profile_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->FIU_CurrProfile_Front_Stat & (0x07U)) | ((_m->FIU_KeySearch_Req & (0x01U)) << 3U) | ((_m->FIU_ProfileSeatFront_Stat & (0x01U)) << 4U) | ((_m->FIU_ProfileCustomFront_Stat & (0x01U)) << 5U) | ((_m->FIU_ProfileSystFront_Stat & (0x01U)) << 6U) | ((_m->FIU_ProfileCarSettingsFront_Stat & (0x01U)) << 7U) ); + _d[1] |= (uint8_t) ( (_m->FIU_CurrProfile_Rear_Stat & (0x07U)) | ((_m->FIU_ProfileSeatRear_Req & (0x01U)) << 3U) | ((_m->FIU_ProfileCustomRear_Req & (0x01U)) << 4U) | ((_m->FIU_ProfileSystRear_Req & (0x01U)) << 5U) ); + + *_len = (uint8_t) FIU_Profile_DLC; + *_ide = (uint8_t) FIU_Profile_IDE; + return FIU_Profile_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_USBSw_Stat_candb(USBSw_Stat_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->USBSw_OutputSwitch_Stat = (uint8_t) ( (_d[0] & (0x03U)) ); + _m->USBSw_ConfCamera_Req = (uint8_t) ( ((_d[0] >> 2U) & (0x01U)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < USBSw_Stat_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_USBSw_Stat_candb(&_m->mon1, USBSw_Stat_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return USBSw_Stat_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_USBSw_Stat_candb(USBSw_Stat_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(USBSw_Stat_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->USBSw_OutputSwitch_Stat & (0x03U)) | ((_m->USBSw_ConfCamera_Req & (0x01U)) << 2U) ); + + cframe->MsgId = (uint32_t) USBSw_Stat_CANID; + cframe->DLC = (uint8_t) USBSw_Stat_DLC; + cframe->IDE = (uint8_t) USBSw_Stat_IDE; + return USBSw_Stat_CANID; +} + +#else + +uint32_t Pack_USBSw_Stat_candb(USBSw_Stat_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(USBSw_Stat_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->USBSw_OutputSwitch_Stat & (0x03U)) | ((_m->USBSw_ConfCamera_Req & (0x01U)) << 2U) ); + + *_len = (uint8_t) USBSw_Stat_DLC; + *_ide = (uint8_t) USBSw_Stat_IDE; + return USBSw_Stat_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_MMmenuActivation = (uint8_t) ( (_d[0] & (0x01U)) ); + _m->SMFL_SeatHeight_Stat = (uint8_t) ( ((_d[0] >> 3U) & (0x03U)) ); + _m->SMFL_HeadRestHeight_Stat = (uint8_t) ( ((_d[0] >> 5U) & (0x03U)) ); + _m->SMFL_SeatLongitudinal_Stat = (uint8_t) ( ((_d[1] & (0x01U)) << 1U) | ((_d[0] >> 7U) & (0x01U)) ); + _m->SMFL_HeadRestHeightInclin_Stat = (uint8_t) ( ((_d[1] >> 1U) & (0x03U)) ); + _m->SMFL_SurfaceLongitudinal_Stat = (uint8_t) ( ((_d[1] >> 3U) & (0x03U)) ); + _m->SMFL_SeatLegSupportH_Stat = (uint8_t) ( ((_d[1] >> 5U) & (0x03U)) ); + _m->SMFL_SeatInclination_Stat = (uint8_t) ( ((_d[2] & (0x01U)) << 1U) | ((_d[1] >> 7U) & (0x01U)) ); + _m->SMFL_SeatLegSupportL_Stat = (uint8_t) ( ((_d[2] >> 1U) & (0x03U)) ); + _m->SMFL_BackRestInclin_Stat = (uint8_t) ( ((_d[2] >> 3U) & (0x03U)) ); + _m->SMFL_LumbarSupportHeight_Stat = (uint8_t) ( ((_d[2] >> 5U) & (0x03U)) ); + _m->SMFL_BackRestHeadInclin_Stat = (uint8_t) ( ((_d[3] & (0x01U)) << 1U) | ((_d[2] >> 7U) & (0x01U)) ); + _m->SMFL_LumbarSupportDepth_Stat = (uint8_t) ( ((_d[3] >> 1U) & (0x03U)) ); + _m->SMFL_BackRestWidth_Stat = (uint8_t) ( ((_d[3] >> 3U) & (0x03U)) ); + _m->SMFL_CushionSupport_Stat = (uint8_t) ( ((_d[3] >> 5U) & (0x03U)) ); + _m->SMFL_SeatVentilation_Stat = (uint8_t) ( ((_d[4] & (0x01U)) << 1U) | ((_d[3] >> 7U) & (0x01U)) ); + _m->SMFL_SeatVentBalance_Stat = (uint8_t) ( ((_d[4] >> 1U) & (0x07U)) ); + _m->SMFL_Heating_Stat = (uint8_t) ( ((_d[4] >> 4U) & (0x03U)) ); + _m->SMFL_HeatBalance_Stat = (uint8_t) ( ((_d[5] & (0x01U)) << 2U) | ((_d[4] >> 6U) & (0x03U)) ); + _m->SMFL_SeatMassage_Stat = (uint8_t) ( ((_d[5] >> 1U) & (0x03U)) ); + _m->SMFL_MassageIntens_Stat = (uint8_t) ( ((_d[5] >> 3U) & (0x03U)) ); + _m->SMFL_SeatMassageType_Stat = (uint8_t) ( ((_d[5] >> 5U) & (0x07U)) ); + _m->SMFL_TabletPWR_Stat = (uint8_t) ( (_d[6] & (0x01U)) ); _m->SMFL_CarpetHeat_Stat = (uint8_t) ( ((_d[6] >> 1U) & (0x01U)) ); + _m->SMFL_ActiveSupport_Stat = (uint8_t) ( ((_d[6] >> 2U) & (0x01U)) ); + _m->SMFL_BackrestMassageType_Stat = (uint8_t) ( ((_d[6] >> 3U) & (0x07U)) ); + _m->SMFL_TimerMassage_Stat = (uint8_t) ( (_d[7] & (0x07U)) ); #ifdef CANDB_USE_DIAG_MONITORS _m->mon1.dlc_error = (dlc_ < SMFL_status_DLC); @@ -1742,7 +6648,14 @@ uint32_t Pack_SMFL_status_candb(SMFL_status_t* _m, __CoderDbcCanFrame_t__* cfram { 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->Data[0] |= (uint8_t) ( (_m->SMFL_MMmenuActivation & (0x01U)) | ((_m->SMFL_SeatHeight_Stat & (0x03U)) << 3U) | ((_m->SMFL_HeadRestHeight_Stat & (0x03U)) << 5U) | ((_m->SMFL_SeatLongitudinal_Stat & (0x01U)) << 7U) ); + cframe->Data[1] |= (uint8_t) ( ((_m->SMFL_SeatLongitudinal_Stat >> 1U) & (0x01U)) | ((_m->SMFL_HeadRestHeightInclin_Stat & (0x03U)) << 1U) | ((_m->SMFL_SurfaceLongitudinal_Stat & (0x03U)) << 3U) | ((_m->SMFL_SeatLegSupportH_Stat & (0x03U)) << 5U) | ((_m->SMFL_SeatInclination_Stat & (0x01U)) << 7U) ); + cframe->Data[2] |= (uint8_t) ( ((_m->SMFL_SeatInclination_Stat >> 1U) & (0x01U)) | ((_m->SMFL_SeatLegSupportL_Stat & (0x03U)) << 1U) | ((_m->SMFL_BackRestInclin_Stat & (0x03U)) << 3U) | ((_m->SMFL_LumbarSupportHeight_Stat & (0x03U)) << 5U) | ((_m->SMFL_BackRestHeadInclin_Stat & (0x01U)) << 7U) ); + cframe->Data[3] |= (uint8_t) ( ((_m->SMFL_BackRestHeadInclin_Stat >> 1U) & (0x01U)) | ((_m->SMFL_LumbarSupportDepth_Stat & (0x03U)) << 1U) | ((_m->SMFL_BackRestWidth_Stat & (0x03U)) << 3U) | ((_m->SMFL_CushionSupport_Stat & (0x03U)) << 5U) | ((_m->SMFL_SeatVentilation_Stat & (0x01U)) << 7U) ); + cframe->Data[4] |= (uint8_t) ( ((_m->SMFL_SeatVentilation_Stat >> 1U) & (0x01U)) | ((_m->SMFL_SeatVentBalance_Stat & (0x07U)) << 1U) | ((_m->SMFL_Heating_Stat & (0x03U)) << 4U) | ((_m->SMFL_HeatBalance_Stat & (0x03U)) << 6U) ); + cframe->Data[5] |= (uint8_t) ( ((_m->SMFL_HeatBalance_Stat >> 2U) & (0x01U)) | ((_m->SMFL_SeatMassage_Stat & (0x03U)) << 1U) | ((_m->SMFL_MassageIntens_Stat & (0x03U)) << 3U) | ((_m->SMFL_SeatMassageType_Stat & (0x07U)) << 5U) ); + cframe->Data[6] |= (uint8_t) ( (_m->SMFL_TabletPWR_Stat & (0x01U)) | ((_m->SMFL_CarpetHeat_Stat & (0x01U)) << 1U) | ((_m->SMFL_ActiveSupport_Stat & (0x01U)) << 2U) | ((_m->SMFL_BackrestMassageType_Stat & (0x07U)) << 3U) ); + cframe->Data[7] |= (uint8_t) ( (_m->SMFL_TimerMassage_Stat & (0x07U)) ); cframe->MsgId = (uint32_t) SMFL_status_CANID; cframe->DLC = (uint8_t) SMFL_status_DLC; @@ -1756,7 +6669,14 @@ uint32_t Pack_SMFL_status_candb(SMFL_status_t* _m, uint8_t* _d, uint8_t* _len, u { 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) ); + _d[0] |= (uint8_t) ( (_m->SMFL_MMmenuActivation & (0x01U)) | ((_m->SMFL_SeatHeight_Stat & (0x03U)) << 3U) | ((_m->SMFL_HeadRestHeight_Stat & (0x03U)) << 5U) | ((_m->SMFL_SeatLongitudinal_Stat & (0x01U)) << 7U) ); + _d[1] |= (uint8_t) ( ((_m->SMFL_SeatLongitudinal_Stat >> 1U) & (0x01U)) | ((_m->SMFL_HeadRestHeightInclin_Stat & (0x03U)) << 1U) | ((_m->SMFL_SurfaceLongitudinal_Stat & (0x03U)) << 3U) | ((_m->SMFL_SeatLegSupportH_Stat & (0x03U)) << 5U) | ((_m->SMFL_SeatInclination_Stat & (0x01U)) << 7U) ); + _d[2] |= (uint8_t) ( ((_m->SMFL_SeatInclination_Stat >> 1U) & (0x01U)) | ((_m->SMFL_SeatLegSupportL_Stat & (0x03U)) << 1U) | ((_m->SMFL_BackRestInclin_Stat & (0x03U)) << 3U) | ((_m->SMFL_LumbarSupportHeight_Stat & (0x03U)) << 5U) | ((_m->SMFL_BackRestHeadInclin_Stat & (0x01U)) << 7U) ); + _d[3] |= (uint8_t) ( ((_m->SMFL_BackRestHeadInclin_Stat >> 1U) & (0x01U)) | ((_m->SMFL_LumbarSupportDepth_Stat & (0x03U)) << 1U) | ((_m->SMFL_BackRestWidth_Stat & (0x03U)) << 3U) | ((_m->SMFL_CushionSupport_Stat & (0x03U)) << 5U) | ((_m->SMFL_SeatVentilation_Stat & (0x01U)) << 7U) ); + _d[4] |= (uint8_t) ( ((_m->SMFL_SeatVentilation_Stat >> 1U) & (0x01U)) | ((_m->SMFL_SeatVentBalance_Stat & (0x07U)) << 1U) | ((_m->SMFL_Heating_Stat & (0x03U)) << 4U) | ((_m->SMFL_HeatBalance_Stat & (0x03U)) << 6U) ); + _d[5] |= (uint8_t) ( ((_m->SMFL_HeatBalance_Stat >> 2U) & (0x01U)) | ((_m->SMFL_SeatMassage_Stat & (0x03U)) << 1U) | ((_m->SMFL_MassageIntens_Stat & (0x03U)) << 3U) | ((_m->SMFL_SeatMassageType_Stat & (0x07U)) << 5U) ); + _d[6] |= (uint8_t) ( (_m->SMFL_TabletPWR_Stat & (0x01U)) | ((_m->SMFL_CarpetHeat_Stat & (0x01U)) << 1U) | ((_m->SMFL_ActiveSupport_Stat & (0x01U)) << 2U) | ((_m->SMFL_BackrestMassageType_Stat & (0x07U)) << 3U) ); + _d[7] |= (uint8_t) ( (_m->SMFL_TimerMassage_Stat & (0x07U)) ); *_len = (uint8_t) SMFL_status_DLC; *_ide = (uint8_t) SMFL_status_IDE; @@ -1768,7 +6688,34 @@ uint32_t Pack_SMFL_status_candb(SMFL_status_t* _m, uint8_t* _d, uint8_t* _len, u uint32_t Unpack_SMFR_status_candb(SMFR_status_t* _m, const uint8_t* _d, uint8_t dlc_) { (void)dlc_; + _m->SMFR_MMmenuActivBtn_Stat = (uint8_t) ( (_d[0] & (0x01U)) ); + _m->SMFR_SeatHeight_Stat = (uint8_t) ( ((_d[0] >> 3U) & (0x03U)) ); + _m->SMFR_HeadRestHeight_Stat = (uint8_t) ( ((_d[0] >> 5U) & (0x03U)) ); + _m->SMFR_SeatLongitudinal_Stat = (uint8_t) ( ((_d[1] & (0x01U)) << 1U) | ((_d[0] >> 7U) & (0x01U)) ); + _m->SMFR_HeadRestHeightInclin_Stat = (uint8_t) ( ((_d[1] >> 1U) & (0x03U)) ); + _m->SMFR_SurfaceLongitudinal_Stat = (uint8_t) ( ((_d[1] >> 3U) & (0x03U)) ); + _m->SMFR_FootRestHeight_Stat = (uint8_t) ( ((_d[1] >> 5U) & (0x03U)) ); + _m->SMFR_SeatInclination_Stat = (uint8_t) ( ((_d[2] & (0x01U)) << 1U) | ((_d[1] >> 7U) & (0x01U)) ); + _m->SMFR_SeatLegSupportL_Stat = (uint8_t) ( ((_d[2] >> 1U) & (0x03U)) ); + _m->SMFR_BackRestInclin_Stat = (uint8_t) ( ((_d[2] >> 3U) & (0x03U)) ); + _m->SMFR_LumbarSupportHeight_Stat = (uint8_t) ( ((_d[2] >> 5U) & (0x03U)) ); + _m->SMFR_BackRestHeadInclin_Stat = (uint8_t) ( ((_d[3] & (0x01U)) << 1U) | ((_d[2] >> 7U) & (0x01U)) ); + _m->SMFR_LumbarSupportDepth_Stat = (uint8_t) ( ((_d[3] >> 1U) & (0x03U)) ); + _m->SMFR_BackRestWidth_Stat = (uint8_t) ( ((_d[3] >> 3U) & (0x03U)) ); + _m->SMFR_CushionSupport_Stat = (uint8_t) ( ((_d[3] >> 5U) & (0x03U)) ); + _m->SMFR_SeatVentilation_Stat = (uint8_t) ( ((_d[4] & (0x01U)) << 1U) | ((_d[3] >> 7U) & (0x01U)) ); + _m->SMFR_SeatVentBalance_Stat = (uint8_t) ( ((_d[4] >> 1U) & (0x07U)) ); + _m->SMFR_Heating_Stat = (uint8_t) ( ((_d[4] >> 4U) & (0x03U)) ); + _m->SMFR_HeatBalance_Stat = (uint8_t) ( ((_d[5] & (0x01U)) << 2U) | ((_d[4] >> 6U) & (0x03U)) ); + _m->SMFR_SeatMassage_Stat = (uint8_t) ( ((_d[5] >> 1U) & (0x03U)) ); + _m->SMFR_MassageIntens_Stat = (uint8_t) ( ((_d[5] >> 3U) & (0x03U)) ); + _m->SMFR_SeatMassageType_Stat = (uint8_t) ( ((_d[5] >> 5U) & (0x07U)) ); + _m->SMFR_TabletPWR_Stat = (uint8_t) ( (_d[6] & (0x01U)) ); _m->SMFR_CarpetHeat_Stat = (uint8_t) ( ((_d[6] >> 1U) & (0x01U)) ); + _m->SMFR_ActiveSupport_Stat = (uint8_t) ( ((_d[6] >> 2U) & (0x01U)) ); + _m->SMFR_BackrestMassageType_Stat = (uint8_t) ( ((_d[6] >> 3U) & (0x07U)) ); + _m->SMFR_SeatControl_Stat = (uint8_t) ( ((_d[6] >> 6U) & (0x03U)) ); + _m->SMFR_TimerMassage_Stat = (uint8_t) ( (_d[7] & (0x07U)) ); #ifdef CANDB_USE_DIAG_MONITORS _m->mon1.dlc_error = (dlc_ < SMFR_status_DLC); @@ -1787,7 +6734,14 @@ uint32_t Pack_SMFR_status_candb(SMFR_status_t* _m, __CoderDbcCanFrame_t__* cfram { 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->Data[0] |= (uint8_t) ( (_m->SMFR_MMmenuActivBtn_Stat & (0x01U)) | ((_m->SMFR_SeatHeight_Stat & (0x03U)) << 3U) | ((_m->SMFR_HeadRestHeight_Stat & (0x03U)) << 5U) | ((_m->SMFR_SeatLongitudinal_Stat & (0x01U)) << 7U) ); + cframe->Data[1] |= (uint8_t) ( ((_m->SMFR_SeatLongitudinal_Stat >> 1U) & (0x01U)) | ((_m->SMFR_HeadRestHeightInclin_Stat & (0x03U)) << 1U) | ((_m->SMFR_SurfaceLongitudinal_Stat & (0x03U)) << 3U) | ((_m->SMFR_FootRestHeight_Stat & (0x03U)) << 5U) | ((_m->SMFR_SeatInclination_Stat & (0x01U)) << 7U) ); + cframe->Data[2] |= (uint8_t) ( ((_m->SMFR_SeatInclination_Stat >> 1U) & (0x01U)) | ((_m->SMFR_SeatLegSupportL_Stat & (0x03U)) << 1U) | ((_m->SMFR_BackRestInclin_Stat & (0x03U)) << 3U) | ((_m->SMFR_LumbarSupportHeight_Stat & (0x03U)) << 5U) | ((_m->SMFR_BackRestHeadInclin_Stat & (0x01U)) << 7U) ); + cframe->Data[3] |= (uint8_t) ( ((_m->SMFR_BackRestHeadInclin_Stat >> 1U) & (0x01U)) | ((_m->SMFR_LumbarSupportDepth_Stat & (0x03U)) << 1U) | ((_m->SMFR_BackRestWidth_Stat & (0x03U)) << 3U) | ((_m->SMFR_CushionSupport_Stat & (0x03U)) << 5U) | ((_m->SMFR_SeatVentilation_Stat & (0x01U)) << 7U) ); + cframe->Data[4] |= (uint8_t) ( ((_m->SMFR_SeatVentilation_Stat >> 1U) & (0x01U)) | ((_m->SMFR_SeatVentBalance_Stat & (0x07U)) << 1U) | ((_m->SMFR_Heating_Stat & (0x03U)) << 4U) | ((_m->SMFR_HeatBalance_Stat & (0x03U)) << 6U) ); + cframe->Data[5] |= (uint8_t) ( ((_m->SMFR_HeatBalance_Stat >> 2U) & (0x01U)) | ((_m->SMFR_SeatMassage_Stat & (0x03U)) << 1U) | ((_m->SMFR_MassageIntens_Stat & (0x03U)) << 3U) | ((_m->SMFR_SeatMassageType_Stat & (0x07U)) << 5U) ); + cframe->Data[6] |= (uint8_t) ( (_m->SMFR_TabletPWR_Stat & (0x01U)) | ((_m->SMFR_CarpetHeat_Stat & (0x01U)) << 1U) | ((_m->SMFR_ActiveSupport_Stat & (0x01U)) << 2U) | ((_m->SMFR_BackrestMassageType_Stat & (0x07U)) << 3U) | ((_m->SMFR_SeatControl_Stat & (0x03U)) << 6U) ); + cframe->Data[7] |= (uint8_t) ( (_m->SMFR_TimerMassage_Stat & (0x07U)) ); cframe->MsgId = (uint32_t) SMFR_status_CANID; cframe->DLC = (uint8_t) SMFR_status_DLC; @@ -1801,7 +6755,14 @@ uint32_t Pack_SMFR_status_candb(SMFR_status_t* _m, uint8_t* _d, uint8_t* _len, u { 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) ); + _d[0] |= (uint8_t) ( (_m->SMFR_MMmenuActivBtn_Stat & (0x01U)) | ((_m->SMFR_SeatHeight_Stat & (0x03U)) << 3U) | ((_m->SMFR_HeadRestHeight_Stat & (0x03U)) << 5U) | ((_m->SMFR_SeatLongitudinal_Stat & (0x01U)) << 7U) ); + _d[1] |= (uint8_t) ( ((_m->SMFR_SeatLongitudinal_Stat >> 1U) & (0x01U)) | ((_m->SMFR_HeadRestHeightInclin_Stat & (0x03U)) << 1U) | ((_m->SMFR_SurfaceLongitudinal_Stat & (0x03U)) << 3U) | ((_m->SMFR_FootRestHeight_Stat & (0x03U)) << 5U) | ((_m->SMFR_SeatInclination_Stat & (0x01U)) << 7U) ); + _d[2] |= (uint8_t) ( ((_m->SMFR_SeatInclination_Stat >> 1U) & (0x01U)) | ((_m->SMFR_SeatLegSupportL_Stat & (0x03U)) << 1U) | ((_m->SMFR_BackRestInclin_Stat & (0x03U)) << 3U) | ((_m->SMFR_LumbarSupportHeight_Stat & (0x03U)) << 5U) | ((_m->SMFR_BackRestHeadInclin_Stat & (0x01U)) << 7U) ); + _d[3] |= (uint8_t) ( ((_m->SMFR_BackRestHeadInclin_Stat >> 1U) & (0x01U)) | ((_m->SMFR_LumbarSupportDepth_Stat & (0x03U)) << 1U) | ((_m->SMFR_BackRestWidth_Stat & (0x03U)) << 3U) | ((_m->SMFR_CushionSupport_Stat & (0x03U)) << 5U) | ((_m->SMFR_SeatVentilation_Stat & (0x01U)) << 7U) ); + _d[4] |= (uint8_t) ( ((_m->SMFR_SeatVentilation_Stat >> 1U) & (0x01U)) | ((_m->SMFR_SeatVentBalance_Stat & (0x07U)) << 1U) | ((_m->SMFR_Heating_Stat & (0x03U)) << 4U) | ((_m->SMFR_HeatBalance_Stat & (0x03U)) << 6U) ); + _d[5] |= (uint8_t) ( ((_m->SMFR_HeatBalance_Stat >> 2U) & (0x01U)) | ((_m->SMFR_SeatMassage_Stat & (0x03U)) << 1U) | ((_m->SMFR_MassageIntens_Stat & (0x03U)) << 3U) | ((_m->SMFR_SeatMassageType_Stat & (0x07U)) << 5U) ); + _d[6] |= (uint8_t) ( (_m->SMFR_TabletPWR_Stat & (0x01U)) | ((_m->SMFR_CarpetHeat_Stat & (0x01U)) << 1U) | ((_m->SMFR_ActiveSupport_Stat & (0x01U)) << 2U) | ((_m->SMFR_BackrestMassageType_Stat & (0x07U)) << 3U) | ((_m->SMFR_SeatControl_Stat & (0x03U)) << 6U) ); + _d[7] |= (uint8_t) ( (_m->SMFR_TimerMassage_Stat & (0x07U)) ); *_len = (uint8_t) SMFR_status_DLC; *_ide = (uint8_t) SMFR_status_IDE; @@ -1813,7 +6774,33 @@ uint32_t Pack_SMFR_status_candb(SMFR_status_t* _m, uint8_t* _d, uint8_t* _len, u uint32_t Unpack_SMRL_status_candb(SMRL_status_t* _m, const uint8_t* _d, uint8_t dlc_) { (void)dlc_; + _m->SMRL_MMmenuActivBtn_Stat = (uint8_t) ( (_d[0] & (0x01U)) ); + _m->SMRL_SeatHeight_Stat = (uint8_t) ( ((_d[0] >> 3U) & (0x03U)) ); + _m->SMRL_HeadRestHeight_Stat = (uint8_t) ( ((_d[0] >> 5U) & (0x03U)) ); + _m->SMRL_SeatLongitudinal_Stat = (uint8_t) ( ((_d[1] & (0x01U)) << 1U) | ((_d[0] >> 7U) & (0x01U)) ); + _m->SMRL_HeadRestHeightInclin_Stat = (uint8_t) ( ((_d[1] >> 1U) & (0x03U)) ); + _m->SMRL_SurfaceLongitudinal_Stat = (uint8_t) ( ((_d[1] >> 3U) & (0x03U)) ); + _m->SMRL_SeatLegSupportH_Stat = (uint8_t) ( ((_d[1] >> 5U) & (0x03U)) ); + _m->SMRL_SeatInclination_Stat = (uint8_t) ( ((_d[2] & (0x01U)) << 1U) | ((_d[1] >> 7U) & (0x01U)) ); + _m->SMRL_SeatLegSupportL_Stat = (uint8_t) ( ((_d[2] >> 1U) & (0x03U)) ); + _m->SMRL_BackRestInclin_Stat = (uint8_t) ( ((_d[2] >> 3U) & (0x03U)) ); + _m->SMRL_LumbarSupportHeight_Stat = (uint8_t) ( ((_d[2] >> 5U) & (0x03U)) ); + _m->SMRL_BackRestHeadInclin_Stat = (uint8_t) ( ((_d[3] & (0x01U)) << 1U) | ((_d[2] >> 7U) & (0x01U)) ); + _m->SMRL_LumbarSupportDepth_Stat = (uint8_t) ( ((_d[3] >> 1U) & (0x03U)) ); + _m->SMRL_BackRestWidth_Stat = (uint8_t) ( ((_d[3] >> 3U) & (0x03U)) ); + _m->SMRL_CushionSuppor_Stat = (uint8_t) ( ((_d[3] >> 5U) & (0x03U)) ); + _m->SMRL_SeatVentilation_Stat = (uint8_t) ( ((_d[4] & (0x01U)) << 1U) | ((_d[3] >> 7U) & (0x01U)) ); + _m->SMRL_SeatVentBalance_Stat = (uint8_t) ( ((_d[4] >> 1U) & (0x07U)) ); + _m->SMRL_Heating_Stat = (uint8_t) ( ((_d[4] >> 4U) & (0x03U)) ); + _m->SMRL_HeatBalance_Stat = (uint8_t) ( ((_d[5] & (0x01U)) << 2U) | ((_d[4] >> 6U) & (0x03U)) ); + _m->SMRL_SeatMassage_Stat = (uint8_t) ( ((_d[5] >> 1U) & (0x03U)) ); + _m->SMRL_MassageIntens_Stat = (uint8_t) ( ((_d[5] >> 3U) & (0x03U)) ); + _m->SMRL_SeatMassageType_Stat = (uint8_t) ( ((_d[5] >> 5U) & (0x07U)) ); + _m->SMRL_MoreComfort_Stat = (uint8_t) ( (_d[6] & (0x01U)) ); _m->SMRL_CarpetHeat_Stat = (uint8_t) ( ((_d[6] >> 1U) & (0x01U)) ); + _m->SMRL_ActiveSupport_Stat = (uint8_t) ( ((_d[6] >> 2U) & (0x01U)) ); + _m->SMRL_BackrestMassageType_Stat = (uint8_t) ( ((_d[6] >> 3U) & (0x07U)) ); + _m->SMRL_TimerMassage_Stat = (uint8_t) ( (_d[7] & (0x07U)) ); #ifdef CANDB_USE_DIAG_MONITORS _m->mon1.dlc_error = (dlc_ < SMRL_status_DLC); @@ -1832,7 +6819,14 @@ uint32_t Pack_SMRL_status_candb(SMRL_status_t* _m, __CoderDbcCanFrame_t__* cfram { 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->Data[0] |= (uint8_t) ( (_m->SMRL_MMmenuActivBtn_Stat & (0x01U)) | ((_m->SMRL_SeatHeight_Stat & (0x03U)) << 3U) | ((_m->SMRL_HeadRestHeight_Stat & (0x03U)) << 5U) | ((_m->SMRL_SeatLongitudinal_Stat & (0x01U)) << 7U) ); + cframe->Data[1] |= (uint8_t) ( ((_m->SMRL_SeatLongitudinal_Stat >> 1U) & (0x01U)) | ((_m->SMRL_HeadRestHeightInclin_Stat & (0x03U)) << 1U) | ((_m->SMRL_SurfaceLongitudinal_Stat & (0x03U)) << 3U) | ((_m->SMRL_SeatLegSupportH_Stat & (0x03U)) << 5U) | ((_m->SMRL_SeatInclination_Stat & (0x01U)) << 7U) ); + cframe->Data[2] |= (uint8_t) ( ((_m->SMRL_SeatInclination_Stat >> 1U) & (0x01U)) | ((_m->SMRL_SeatLegSupportL_Stat & (0x03U)) << 1U) | ((_m->SMRL_BackRestInclin_Stat & (0x03U)) << 3U) | ((_m->SMRL_LumbarSupportHeight_Stat & (0x03U)) << 5U) | ((_m->SMRL_BackRestHeadInclin_Stat & (0x01U)) << 7U) ); + cframe->Data[3] |= (uint8_t) ( ((_m->SMRL_BackRestHeadInclin_Stat >> 1U) & (0x01U)) | ((_m->SMRL_LumbarSupportDepth_Stat & (0x03U)) << 1U) | ((_m->SMRL_BackRestWidth_Stat & (0x03U)) << 3U) | ((_m->SMRL_CushionSuppor_Stat & (0x03U)) << 5U) | ((_m->SMRL_SeatVentilation_Stat & (0x01U)) << 7U) ); + cframe->Data[4] |= (uint8_t) ( ((_m->SMRL_SeatVentilation_Stat >> 1U) & (0x01U)) | ((_m->SMRL_SeatVentBalance_Stat & (0x07U)) << 1U) | ((_m->SMRL_Heating_Stat & (0x03U)) << 4U) | ((_m->SMRL_HeatBalance_Stat & (0x03U)) << 6U) ); + cframe->Data[5] |= (uint8_t) ( ((_m->SMRL_HeatBalance_Stat >> 2U) & (0x01U)) | ((_m->SMRL_SeatMassage_Stat & (0x03U)) << 1U) | ((_m->SMRL_MassageIntens_Stat & (0x03U)) << 3U) | ((_m->SMRL_SeatMassageType_Stat & (0x07U)) << 5U) ); + cframe->Data[6] |= (uint8_t) ( (_m->SMRL_MoreComfort_Stat & (0x01U)) | ((_m->SMRL_CarpetHeat_Stat & (0x01U)) << 1U) | ((_m->SMRL_ActiveSupport_Stat & (0x01U)) << 2U) | ((_m->SMRL_BackrestMassageType_Stat & (0x07U)) << 3U) ); + cframe->Data[7] |= (uint8_t) ( (_m->SMRL_TimerMassage_Stat & (0x07U)) ); cframe->MsgId = (uint32_t) SMRL_status_CANID; cframe->DLC = (uint8_t) SMRL_status_DLC; @@ -1846,7 +6840,14 @@ uint32_t Pack_SMRL_status_candb(SMRL_status_t* _m, uint8_t* _d, uint8_t* _len, u { 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) ); + _d[0] |= (uint8_t) ( (_m->SMRL_MMmenuActivBtn_Stat & (0x01U)) | ((_m->SMRL_SeatHeight_Stat & (0x03U)) << 3U) | ((_m->SMRL_HeadRestHeight_Stat & (0x03U)) << 5U) | ((_m->SMRL_SeatLongitudinal_Stat & (0x01U)) << 7U) ); + _d[1] |= (uint8_t) ( ((_m->SMRL_SeatLongitudinal_Stat >> 1U) & (0x01U)) | ((_m->SMRL_HeadRestHeightInclin_Stat & (0x03U)) << 1U) | ((_m->SMRL_SurfaceLongitudinal_Stat & (0x03U)) << 3U) | ((_m->SMRL_SeatLegSupportH_Stat & (0x03U)) << 5U) | ((_m->SMRL_SeatInclination_Stat & (0x01U)) << 7U) ); + _d[2] |= (uint8_t) ( ((_m->SMRL_SeatInclination_Stat >> 1U) & (0x01U)) | ((_m->SMRL_SeatLegSupportL_Stat & (0x03U)) << 1U) | ((_m->SMRL_BackRestInclin_Stat & (0x03U)) << 3U) | ((_m->SMRL_LumbarSupportHeight_Stat & (0x03U)) << 5U) | ((_m->SMRL_BackRestHeadInclin_Stat & (0x01U)) << 7U) ); + _d[3] |= (uint8_t) ( ((_m->SMRL_BackRestHeadInclin_Stat >> 1U) & (0x01U)) | ((_m->SMRL_LumbarSupportDepth_Stat & (0x03U)) << 1U) | ((_m->SMRL_BackRestWidth_Stat & (0x03U)) << 3U) | ((_m->SMRL_CushionSuppor_Stat & (0x03U)) << 5U) | ((_m->SMRL_SeatVentilation_Stat & (0x01U)) << 7U) ); + _d[4] |= (uint8_t) ( ((_m->SMRL_SeatVentilation_Stat >> 1U) & (0x01U)) | ((_m->SMRL_SeatVentBalance_Stat & (0x07U)) << 1U) | ((_m->SMRL_Heating_Stat & (0x03U)) << 4U) | ((_m->SMRL_HeatBalance_Stat & (0x03U)) << 6U) ); + _d[5] |= (uint8_t) ( ((_m->SMRL_HeatBalance_Stat >> 2U) & (0x01U)) | ((_m->SMRL_SeatMassage_Stat & (0x03U)) << 1U) | ((_m->SMRL_MassageIntens_Stat & (0x03U)) << 3U) | ((_m->SMRL_SeatMassageType_Stat & (0x07U)) << 5U) ); + _d[6] |= (uint8_t) ( (_m->SMRL_MoreComfort_Stat & (0x01U)) | ((_m->SMRL_CarpetHeat_Stat & (0x01U)) << 1U) | ((_m->SMRL_ActiveSupport_Stat & (0x01U)) << 2U) | ((_m->SMRL_BackrestMassageType_Stat & (0x07U)) << 3U) ); + _d[7] |= (uint8_t) ( (_m->SMRL_TimerMassage_Stat & (0x07U)) ); *_len = (uint8_t) SMRL_status_DLC; *_ide = (uint8_t) SMRL_status_IDE; @@ -1858,7 +6859,33 @@ uint32_t Pack_SMRL_status_candb(SMRL_status_t* _m, uint8_t* _d, uint8_t* _len, u uint32_t Unpack_SMRR_status_candb(SMRR_status_t* _m, const uint8_t* _d, uint8_t dlc_) { (void)dlc_; + _m->SMRR_MMmenuActivBtn_Stat = (uint8_t) ( (_d[0] & (0x01U)) ); + _m->SMRR_SeatHeight_Stat = (uint8_t) ( ((_d[0] >> 3U) & (0x03U)) ); + _m->SMRR_HeadRestHeight_Stat = (uint8_t) ( ((_d[0] >> 5U) & (0x03U)) ); + _m->SMRR_SeatLongitudinal_Stat = (uint8_t) ( ((_d[1] & (0x01U)) << 1U) | ((_d[0] >> 7U) & (0x01U)) ); + _m->SMRR_HeadRestHeightInclin_Stat = (uint8_t) ( ((_d[1] >> 1U) & (0x03U)) ); + _m->SMRR_SurfaceLongitudinal_Stat = (uint8_t) ( ((_d[1] >> 3U) & (0x03U)) ); + _m->SMRR_SeatLegSupportH_Stat = (uint8_t) ( ((_d[1] >> 5U) & (0x03U)) ); + _m->SMRR_SeatInclination_Stat = (uint8_t) ( ((_d[2] & (0x01U)) << 1U) | ((_d[1] >> 7U) & (0x01U)) ); + _m->SMRR_SeatLegSupportL_Stat = (uint8_t) ( ((_d[2] >> 1U) & (0x03U)) ); + _m->SMRR_BackRestInclin_Stat = (uint8_t) ( ((_d[2] >> 3U) & (0x03U)) ); + _m->SMRR_LumbarSupportHeigh_Stat = (uint8_t) ( ((_d[2] >> 5U) & (0x03U)) ); + _m->SMRR_BackRestHeadInclin_Stat = (uint8_t) ( ((_d[3] & (0x01U)) << 1U) | ((_d[2] >> 7U) & (0x01U)) ); + _m->SMRR_LumbarSupportDepth_Stat = (uint8_t) ( ((_d[3] >> 1U) & (0x03U)) ); + _m->SMRR_BackRestWidth_Stat = (uint8_t) ( ((_d[3] >> 3U) & (0x03U)) ); + _m->SMRR_CushionSupport_Stat = (uint8_t) ( ((_d[3] >> 5U) & (0x03U)) ); + _m->SMRR_SeatVentilation_Stat = (uint8_t) ( ((_d[4] & (0x01U)) << 1U) | ((_d[3] >> 7U) & (0x01U)) ); + _m->SMRR_SeatVentBalance_Stat = (uint8_t) ( ((_d[4] >> 1U) & (0x07U)) ); + _m->SMRR_Heating_Stat = (uint8_t) ( ((_d[4] >> 4U) & (0x03U)) ); + _m->SMRR_HeatBalance_Stat = (uint8_t) ( ((_d[5] & (0x01U)) << 2U) | ((_d[4] >> 6U) & (0x03U)) ); + _m->SMRR_SeatMassage_Stat = (uint8_t) ( ((_d[5] >> 1U) & (0x03U)) ); + _m->SMRR_MassageIntens_Stat = (uint8_t) ( ((_d[5] >> 3U) & (0x03U)) ); + _m->SMRR_SeatMassageType_Stat = (uint8_t) ( ((_d[5] >> 5U) & (0x07U)) ); + _m->SMRR_MoreComfort_Req = (uint8_t) ( (_d[6] & (0x01U)) ); _m->SMRR_CarpetHeat_Stat = (uint8_t) ( ((_d[6] >> 1U) & (0x01U)) ); + _m->SMRR_ActiveSupport_Stat = (uint8_t) ( ((_d[6] >> 2U) & (0x01U)) ); + _m->SMRR_BackrestMassageType_Stat = (uint8_t) ( ((_d[6] >> 3U) & (0x07U)) ); + _m->SMRR_TimerMassage_Stat = (uint8_t) ( (_d[7] & (0x07U)) ); #ifdef CANDB_USE_DIAG_MONITORS _m->mon1.dlc_error = (dlc_ < SMRR_status_DLC); @@ -1877,7 +6904,14 @@ uint32_t Pack_SMRR_status_candb(SMRR_status_t* _m, __CoderDbcCanFrame_t__* cfram { 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->Data[0] |= (uint8_t) ( (_m->SMRR_MMmenuActivBtn_Stat & (0x01U)) | ((_m->SMRR_SeatHeight_Stat & (0x03U)) << 3U) | ((_m->SMRR_HeadRestHeight_Stat & (0x03U)) << 5U) | ((_m->SMRR_SeatLongitudinal_Stat & (0x01U)) << 7U) ); + cframe->Data[1] |= (uint8_t) ( ((_m->SMRR_SeatLongitudinal_Stat >> 1U) & (0x01U)) | ((_m->SMRR_HeadRestHeightInclin_Stat & (0x03U)) << 1U) | ((_m->SMRR_SurfaceLongitudinal_Stat & (0x03U)) << 3U) | ((_m->SMRR_SeatLegSupportH_Stat & (0x03U)) << 5U) | ((_m->SMRR_SeatInclination_Stat & (0x01U)) << 7U) ); + cframe->Data[2] |= (uint8_t) ( ((_m->SMRR_SeatInclination_Stat >> 1U) & (0x01U)) | ((_m->SMRR_SeatLegSupportL_Stat & (0x03U)) << 1U) | ((_m->SMRR_BackRestInclin_Stat & (0x03U)) << 3U) | ((_m->SMRR_LumbarSupportHeigh_Stat & (0x03U)) << 5U) | ((_m->SMRR_BackRestHeadInclin_Stat & (0x01U)) << 7U) ); + cframe->Data[3] |= (uint8_t) ( ((_m->SMRR_BackRestHeadInclin_Stat >> 1U) & (0x01U)) | ((_m->SMRR_LumbarSupportDepth_Stat & (0x03U)) << 1U) | ((_m->SMRR_BackRestWidth_Stat & (0x03U)) << 3U) | ((_m->SMRR_CushionSupport_Stat & (0x03U)) << 5U) | ((_m->SMRR_SeatVentilation_Stat & (0x01U)) << 7U) ); + cframe->Data[4] |= (uint8_t) ( ((_m->SMRR_SeatVentilation_Stat >> 1U) & (0x01U)) | ((_m->SMRR_SeatVentBalance_Stat & (0x07U)) << 1U) | ((_m->SMRR_Heating_Stat & (0x03U)) << 4U) | ((_m->SMRR_HeatBalance_Stat & (0x03U)) << 6U) ); + cframe->Data[5] |= (uint8_t) ( ((_m->SMRR_HeatBalance_Stat >> 2U) & (0x01U)) | ((_m->SMRR_SeatMassage_Stat & (0x03U)) << 1U) | ((_m->SMRR_MassageIntens_Stat & (0x03U)) << 3U) | ((_m->SMRR_SeatMassageType_Stat & (0x07U)) << 5U) ); + cframe->Data[6] |= (uint8_t) ( (_m->SMRR_MoreComfort_Req & (0x01U)) | ((_m->SMRR_CarpetHeat_Stat & (0x01U)) << 1U) | ((_m->SMRR_ActiveSupport_Stat & (0x01U)) << 2U) | ((_m->SMRR_BackrestMassageType_Stat & (0x07U)) << 3U) ); + cframe->Data[7] |= (uint8_t) ( (_m->SMRR_TimerMassage_Stat & (0x07U)) ); cframe->MsgId = (uint32_t) SMRR_status_CANID; cframe->DLC = (uint8_t) SMRR_status_DLC; @@ -1891,7 +6925,14 @@ uint32_t Pack_SMRR_status_candb(SMRR_status_t* _m, uint8_t* _d, uint8_t* _len, u { 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) ); + _d[0] |= (uint8_t) ( (_m->SMRR_MMmenuActivBtn_Stat & (0x01U)) | ((_m->SMRR_SeatHeight_Stat & (0x03U)) << 3U) | ((_m->SMRR_HeadRestHeight_Stat & (0x03U)) << 5U) | ((_m->SMRR_SeatLongitudinal_Stat & (0x01U)) << 7U) ); + _d[1] |= (uint8_t) ( ((_m->SMRR_SeatLongitudinal_Stat >> 1U) & (0x01U)) | ((_m->SMRR_HeadRestHeightInclin_Stat & (0x03U)) << 1U) | ((_m->SMRR_SurfaceLongitudinal_Stat & (0x03U)) << 3U) | ((_m->SMRR_SeatLegSupportH_Stat & (0x03U)) << 5U) | ((_m->SMRR_SeatInclination_Stat & (0x01U)) << 7U) ); + _d[2] |= (uint8_t) ( ((_m->SMRR_SeatInclination_Stat >> 1U) & (0x01U)) | ((_m->SMRR_SeatLegSupportL_Stat & (0x03U)) << 1U) | ((_m->SMRR_BackRestInclin_Stat & (0x03U)) << 3U) | ((_m->SMRR_LumbarSupportHeigh_Stat & (0x03U)) << 5U) | ((_m->SMRR_BackRestHeadInclin_Stat & (0x01U)) << 7U) ); + _d[3] |= (uint8_t) ( ((_m->SMRR_BackRestHeadInclin_Stat >> 1U) & (0x01U)) | ((_m->SMRR_LumbarSupportDepth_Stat & (0x03U)) << 1U) | ((_m->SMRR_BackRestWidth_Stat & (0x03U)) << 3U) | ((_m->SMRR_CushionSupport_Stat & (0x03U)) << 5U) | ((_m->SMRR_SeatVentilation_Stat & (0x01U)) << 7U) ); + _d[4] |= (uint8_t) ( ((_m->SMRR_SeatVentilation_Stat >> 1U) & (0x01U)) | ((_m->SMRR_SeatVentBalance_Stat & (0x07U)) << 1U) | ((_m->SMRR_Heating_Stat & (0x03U)) << 4U) | ((_m->SMRR_HeatBalance_Stat & (0x03U)) << 6U) ); + _d[5] |= (uint8_t) ( ((_m->SMRR_HeatBalance_Stat >> 2U) & (0x01U)) | ((_m->SMRR_SeatMassage_Stat & (0x03U)) << 1U) | ((_m->SMRR_MassageIntens_Stat & (0x03U)) << 3U) | ((_m->SMRR_SeatMassageType_Stat & (0x07U)) << 5U) ); + _d[6] |= (uint8_t) ( (_m->SMRR_MoreComfort_Req & (0x01U)) | ((_m->SMRR_CarpetHeat_Stat & (0x01U)) << 1U) | ((_m->SMRR_ActiveSupport_Stat & (0x01U)) << 2U) | ((_m->SMRR_BackrestMassageType_Stat & (0x07U)) << 3U) ); + _d[7] |= (uint8_t) ( (_m->SMRR_TimerMassage_Stat & (0x07U)) ); *_len = (uint8_t) SMRR_status_DLC; *_ide = (uint8_t) SMRR_status_IDE; @@ -1900,6 +6941,279 @@ uint32_t Pack_SMRR_status_candb(SMRR_status_t* _m, uint8_t* _d, uint8_t* _len, u #endif // CANDB_USE_CANSTRUCT +uint32_t Unpack_DocSL_T_FL_candb(DocSL_T_FL_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->DocSL_EjectButtons_Stat = (uint8_t) ( (_d[0] & (0x01U)) ); + _m->DocSL_TiltLimitUpper_Stat = (uint8_t) ( ((_d[0] >> 1U) & (0x01U)) ); + _m->DocSL_TiltLimitLower_Stat = (uint8_t) ( ((_d[0] >> 2U) & (0x01U)) ); + _m->DocSL_T_Availability_Stat = (uint8_t) ( ((_d[0] >> 4U) & (0x01U)) ); + _m->DocSL_MechLock_Stat = (uint8_t) ( ((_d[0] >> 5U) & (0x03U)) ); + _m->DocSL_Error_Stat = (uint8_t) ( (_d[1] & (0x03U)) ); + _m->DocSL_TabletTilt_Val = (uint8_t) ( (_d[2] & (0xFFU)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < DocSL_T_FL_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_DocSL_T_FL_candb(&_m->mon1, DocSL_T_FL_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return DocSL_T_FL_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_DocSL_T_FL_candb(DocSL_T_FL_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(DocSL_T_FL_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->DocSL_EjectButtons_Stat & (0x01U)) | ((_m->DocSL_TiltLimitUpper_Stat & (0x01U)) << 1U) | ((_m->DocSL_TiltLimitLower_Stat & (0x01U)) << 2U) | ((_m->DocSL_T_Availability_Stat & (0x01U)) << 4U) | ((_m->DocSL_MechLock_Stat & (0x03U)) << 5U) ); + cframe->Data[1] |= (uint8_t) ( (_m->DocSL_Error_Stat & (0x03U)) ); + cframe->Data[2] |= (uint8_t) ( (_m->DocSL_TabletTilt_Val & (0xFFU)) ); + + cframe->MsgId = (uint32_t) DocSL_T_FL_CANID; + cframe->DLC = (uint8_t) DocSL_T_FL_DLC; + cframe->IDE = (uint8_t) DocSL_T_FL_IDE; + return DocSL_T_FL_CANID; +} + +#else + +uint32_t Pack_DocSL_T_FL_candb(DocSL_T_FL_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(DocSL_T_FL_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->DocSL_EjectButtons_Stat & (0x01U)) | ((_m->DocSL_TiltLimitUpper_Stat & (0x01U)) << 1U) | ((_m->DocSL_TiltLimitLower_Stat & (0x01U)) << 2U) | ((_m->DocSL_T_Availability_Stat & (0x01U)) << 4U) | ((_m->DocSL_MechLock_Stat & (0x03U)) << 5U) ); + _d[1] |= (uint8_t) ( (_m->DocSL_Error_Stat & (0x03U)) ); + _d[2] |= (uint8_t) ( (_m->DocSL_TabletTilt_Val & (0xFFU)) ); + + *_len = (uint8_t) DocSL_T_FL_DLC; + *_ide = (uint8_t) DocSL_T_FL_IDE; + return DocSL_T_FL_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_DocSR_T_FR_candb(DocSR_T_FR_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->DocSR_EjectButtons_Stat = (uint8_t) ( (_d[0] & (0x01U)) ); + _m->DocSR_TiltLimitUpper_Stat = (uint8_t) ( ((_d[0] >> 1U) & (0x01U)) ); + _m->DocSR_TiltLimitLower_Stat = (uint8_t) ( ((_d[0] >> 2U) & (0x01U)) ); + _m->DocSR_T_Availability_Stat = (uint8_t) ( ((_d[0] >> 4U) & (0x01U)) ); + _m->DocSR_MechLock_Stat = (uint8_t) ( ((_d[0] >> 5U) & (0x03U)) ); + _m->DocSR_Error_Stat = (uint8_t) ( (_d[1] & (0x03U)) ); + _m->DocSR_TabletTilt_Val = (uint8_t) ( (_d[2] & (0xFFU)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < DocSR_T_FR_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_DocSR_T_FR_candb(&_m->mon1, DocSR_T_FR_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return DocSR_T_FR_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_DocSR_T_FR_candb(DocSR_T_FR_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(DocSR_T_FR_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->DocSR_EjectButtons_Stat & (0x01U)) | ((_m->DocSR_TiltLimitUpper_Stat & (0x01U)) << 1U) | ((_m->DocSR_TiltLimitLower_Stat & (0x01U)) << 2U) | ((_m->DocSR_T_Availability_Stat & (0x01U)) << 4U) | ((_m->DocSR_MechLock_Stat & (0x03U)) << 5U) ); + cframe->Data[1] |= (uint8_t) ( (_m->DocSR_Error_Stat & (0x03U)) ); + cframe->Data[2] |= (uint8_t) ( (_m->DocSR_TabletTilt_Val & (0xFFU)) ); + + cframe->MsgId = (uint32_t) DocSR_T_FR_CANID; + cframe->DLC = (uint8_t) DocSR_T_FR_DLC; + cframe->IDE = (uint8_t) DocSR_T_FR_IDE; + return DocSR_T_FR_CANID; +} + +#else + +uint32_t Pack_DocSR_T_FR_candb(DocSR_T_FR_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(DocSR_T_FR_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->DocSR_EjectButtons_Stat & (0x01U)) | ((_m->DocSR_TiltLimitUpper_Stat & (0x01U)) << 1U) | ((_m->DocSR_TiltLimitLower_Stat & (0x01U)) << 2U) | ((_m->DocSR_T_Availability_Stat & (0x01U)) << 4U) | ((_m->DocSR_MechLock_Stat & (0x03U)) << 5U) ); + _d[1] |= (uint8_t) ( (_m->DocSR_Error_Stat & (0x03U)) ); + _d[2] |= (uint8_t) ( (_m->DocSR_TabletTilt_Val & (0xFFU)) ); + + *_len = (uint8_t) DocSR_T_FR_DLC; + *_ide = (uint8_t) DocSR_T_FR_IDE; + return DocSR_T_FR_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_VAU_TPMS_Msg_candb(VAU_TPMS_Msg_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->VAU_TPMS_TireLocation = (uint8_t) ( (_d[0] & (0xFFU)) ); + _m->VAU_TPMS_TirePressureRR_ro = (uint8_t) ( (_d[1] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->VAU_TPMS_TirePressureRR_phys = (uint16_t) CANDB_VAU_TPMS_TirePressureRR_ro_fromS(_m->VAU_TPMS_TirePressureRR_ro); +#endif // CANDB_USE_SIGFLOAT + + _m->VAU_TPMS_TirePressureRL_ro = (uint8_t) ( (_d[1] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->VAU_TPMS_TirePressureRL_phys = (uint16_t) CANDB_VAU_TPMS_TirePressureRL_ro_fromS(_m->VAU_TPMS_TirePressureRL_ro); +#endif // CANDB_USE_SIGFLOAT + + _m->VAU_TPMS_TirePressureFR_ro = (uint8_t) ( (_d[1] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->VAU_TPMS_TirePressureFR_phys = (uint16_t) CANDB_VAU_TPMS_TirePressureFR_ro_fromS(_m->VAU_TPMS_TirePressureFR_ro); +#endif // CANDB_USE_SIGFLOAT + + _m->VAU_TPMS_TirePressureFL_ro = (uint8_t) ( (_d[1] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->VAU_TPMS_TirePressureFL_phys = (uint16_t) CANDB_VAU_TPMS_TirePressureFL_ro_fromS(_m->VAU_TPMS_TirePressureFL_ro); +#endif // CANDB_USE_SIGFLOAT + + _m->VAU_TPMS_SensorTemperatureRR_ro = (uint8_t) ( (_d[2] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->VAU_TPMS_SensorTemperatureRR_phys = (int16_t) CANDB_VAU_TPMS_SensorTemperatureRR_ro_fromS(_m->VAU_TPMS_SensorTemperatureRR_ro); +#endif // CANDB_USE_SIGFLOAT + + _m->VAU_TPMS_SensorTemperatureRL_ro = (uint8_t) ( (_d[2] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->VAU_TPMS_SensorTemperatureRL_phys = (int16_t) CANDB_VAU_TPMS_SensorTemperatureRL_ro_fromS(_m->VAU_TPMS_SensorTemperatureRL_ro); +#endif // CANDB_USE_SIGFLOAT + + _m->VAU_TPMS_SensorTemperatureFR_ro = (uint8_t) ( (_d[2] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->VAU_TPMS_SensorTemperatureFR_phys = (int16_t) CANDB_VAU_TPMS_SensorTemperatureFR_ro_fromS(_m->VAU_TPMS_SensorTemperatureFR_ro); +#endif // CANDB_USE_SIGFLOAT + + _m->VAU_TPMS_SensorTemperatureFL_ro = (uint8_t) ( (_d[2] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->VAU_TPMS_SensorTemperatureFL_phys = (int16_t) CANDB_VAU_TPMS_SensorTemperatureFL_ro_fromS(_m->VAU_TPMS_SensorTemperatureFL_ro); +#endif // CANDB_USE_SIGFLOAT + + _m->VAU_TPMS_PressureSetSuccessRL = (uint8_t) ( (_d[3] & (0x01U)) ); + _m->VAU_TPMS_PressureSetSuccessFL = (uint8_t) ( (_d[3] & (0x01U)) ); + _m->VAU_TPMS_PressureSetSuccessRR = (uint8_t) ( (_d[3] & (0x01U)) ); + _m->VAU_TPMS_PressureSetSuccessFR = (uint8_t) ( (_d[3] & (0x01U)) ); + _m->VAU_TPMS_PressureSetSensorErrFR = (uint8_t) ( ((_d[3] >> 1U) & (0x01U)) ); + _m->VAU_TPMS_PressureSetSensorErrFL = (uint8_t) ( ((_d[3] >> 1U) & (0x01U)) ); + _m->VAU_TPMS_PressureSetSensorErrRL = (uint8_t) ( ((_d[3] >> 1U) & (0x01U)) ); + _m->VAU_TPMS_PressureSetSensorErrRR = (uint8_t) ( ((_d[3] >> 1U) & (0x01U)) ); + _m->VAU_TPMS_PressureSetErrFR = (uint8_t) ( ((_d[3] >> 2U) & (0x01U)) ); + _m->VAU_TPMS_PressureSetErrRL = (uint8_t) ( ((_d[3] >> 2U) & (0x01U)) ); + _m->VAU_TPMS_PressureSetErrFL = (uint8_t) ( ((_d[3] >> 2U) & (0x01U)) ); + _m->VAU_TPMS_PressureSetErrRR = (uint8_t) ( ((_d[3] >> 2U) & (0x01U)) ); + _m->VAU_TPMS_BatteryStatusRL = (uint8_t) ( ((_d[3] >> 3U) & (0x01U)) ); + _m->VAU_TPMS_BatteryStatusRR = (uint8_t) ( ((_d[3] >> 3U) & (0x01U)) ); + _m->VAU_TPMS_BatteryStatusFL = (uint8_t) ( ((_d[3] >> 3U) & (0x01U)) ); + _m->VAU_TPMS_BatteryStatusFR = (uint8_t) ( ((_d[3] >> 3U) & (0x01U)) ); + _m->VAU_TPMS_SensorEmissionCauseFL = (uint8_t) ( ((_d[3] >> 4U) & (0x03U)) ); + _m->VAU_TPMS_SensorEmissionCauseRR = (uint8_t) ( ((_d[3] >> 4U) & (0x03U)) ); + _m->VAU_TPMS_SensorEmissionCauseRL = (uint8_t) ( ((_d[3] >> 4U) & (0x03U)) ); + _m->VAU_TPMS_SensorEmissionCauseFR = (uint8_t) ( ((_d[3] >> 4U) & (0x03U)) ); + _m->VAU_TPMS_SensorOperationModeRR = (uint8_t) ( ((_d[3] >> 6U) & (0x03U)) ); + _m->VAU_TPMS_SensorOperationModeRL = (uint8_t) ( ((_d[3] >> 6U) & (0x03U)) ); + _m->VAU_TPMS_SensorOperationModeFR = (uint8_t) ( ((_d[3] >> 6U) & (0x03U)) ); + _m->VAU_TPMS_SensorOperationModeFL = (uint8_t) ( ((_d[3] >> 6U) & (0x03U)) ); + _m->VAU_TPMS_DataTimestampRR = (uint16_t) ( ((_d[6] & (0xFFU)) << 8U) | (_d[5] & (0xFFU)) ); + _m->VAU_TPMS_DataTimestampRL = (uint16_t) ( ((_d[6] & (0xFFU)) << 8U) | (_d[5] & (0xFFU)) ); + _m->VAU_TPMS_DataTimestampFR = (uint16_t) ( ((_d[6] & (0xFFU)) << 8U) | (_d[5] & (0xFFU)) ); + _m->VAU_TPMS_DataTimestampFL = (uint16_t) ( ((_d[6] & (0xFFU)) << 8U) | (_d[5] & (0xFFU)) ); + _m->VAU_TPMS_TirePressureFaultRL = (uint8_t) ( (_d[7] & (0x07U)) ); + _m->VAU_TPMS_TirePressureFaultFR = (uint8_t) ( (_d[7] & (0x07U)) ); + _m->VAU_TPMS_TirePressureFaultFL = (uint8_t) ( (_d[7] & (0x07U)) ); + _m->VAU_TPMS_TirePressureFaultRR = (uint8_t) ( (_d[7] & (0x07U)) ); + _m->TPMS_SensorTempFaultFR = (uint8_t) ( ((_d[7] >> 3U) & (0x03U)) ); + _m->TPMS_SensorTempFaultRR = (uint8_t) ( ((_d[7] >> 3U) & (0x03U)) ); + _m->TPMS_SensorTempFaultFL = (uint8_t) ( ((_d[7] >> 3U) & (0x03U)) ); + _m->TPMS_SensorTempFaultRL = (uint8_t) ( ((_d[7] >> 3U) & (0x03U)) ); + _m->VAU_TPMS_SensorFaultFR = (uint8_t) ( ((_d[7] >> 5U) & (0x01U)) ); + _m->VAU_TPMS_SensorFaultRR = (uint8_t) ( ((_d[7] >> 5U) & (0x01U)) ); + _m->VAU_TPMS_SensorFaultRL = (uint8_t) ( ((_d[7] >> 5U) & (0x01U)) ); + _m->VAU_TPMS_SensorFaultFL = (uint8_t) ( ((_d[7] >> 5U) & (0x01U)) ); + _m->VAU_TPMS_SensorPresenceFR = (uint8_t) ( ((_d[7] >> 6U) & (0x01U)) ); + _m->VAU_TPMS_SensorPresenceRL = (uint8_t) ( ((_d[7] >> 6U) & (0x01U)) ); + _m->VAU_TPMS_SensorPresenceFL = (uint8_t) ( ((_d[7] >> 6U) & (0x01U)) ); + _m->VAU_TPMS_SensorPresenceRR = (uint8_t) ( ((_d[7] >> 6U) & (0x01U)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < VAU_TPMS_Msg_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_VAU_TPMS_Msg_candb(&_m->mon1, VAU_TPMS_Msg_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return VAU_TPMS_Msg_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_VAU_TPMS_Msg_candb(VAU_TPMS_Msg_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(VAU_TPMS_Msg_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->VAU_TPMS_TirePressureRR_ro = (uint8_t) CANDB_VAU_TPMS_TirePressureRR_ro_toS(_m->VAU_TPMS_TirePressureRR_phys); + _m->VAU_TPMS_TirePressureRL_ro = (uint8_t) CANDB_VAU_TPMS_TirePressureRL_ro_toS(_m->VAU_TPMS_TirePressureRL_phys); + _m->VAU_TPMS_TirePressureFR_ro = (uint8_t) CANDB_VAU_TPMS_TirePressureFR_ro_toS(_m->VAU_TPMS_TirePressureFR_phys); + _m->VAU_TPMS_TirePressureFL_ro = (uint8_t) CANDB_VAU_TPMS_TirePressureFL_ro_toS(_m->VAU_TPMS_TirePressureFL_phys); + _m->VAU_TPMS_SensorTemperatureRR_ro = (uint8_t) CANDB_VAU_TPMS_SensorTemperatureRR_ro_toS(_m->VAU_TPMS_SensorTemperatureRR_phys); + _m->VAU_TPMS_SensorTemperatureRL_ro = (uint8_t) CANDB_VAU_TPMS_SensorTemperatureRL_ro_toS(_m->VAU_TPMS_SensorTemperatureRL_phys); + _m->VAU_TPMS_SensorTemperatureFR_ro = (uint8_t) CANDB_VAU_TPMS_SensorTemperatureFR_ro_toS(_m->VAU_TPMS_SensorTemperatureFR_phys); + _m->VAU_TPMS_SensorTemperatureFL_ro = (uint8_t) CANDB_VAU_TPMS_SensorTemperatureFL_ro_toS(_m->VAU_TPMS_SensorTemperatureFL_phys); +#endif // CANDB_USE_SIGFLOAT + + cframe->Data[0] |= (uint8_t) ( (_m->VAU_TPMS_TireLocation & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( (_m->VAU_TPMS_TirePressureRR_ro & (0xFFU)) | (_m->VAU_TPMS_TirePressureRL_ro & (0xFFU)) | (_m->VAU_TPMS_TirePressureFR_ro & (0xFFU)) | (_m->VAU_TPMS_TirePressureFL_ro & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( (_m->VAU_TPMS_SensorTemperatureRR_ro & (0xFFU)) | (_m->VAU_TPMS_SensorTemperatureRL_ro & (0xFFU)) | (_m->VAU_TPMS_SensorTemperatureFR_ro & (0xFFU)) | (_m->VAU_TPMS_SensorTemperatureFL_ro & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( (_m->VAU_TPMS_PressureSetSuccessRL & (0x01U)) | (_m->VAU_TPMS_PressureSetSuccessFL & (0x01U)) | (_m->VAU_TPMS_PressureSetSuccessRR & (0x01U)) | (_m->VAU_TPMS_PressureSetSuccessFR & (0x01U)) | ((_m->VAU_TPMS_PressureSetSensorErrFR & (0x01U)) << 1U) | ((_m->VAU_TPMS_PressureSetSensorErrFL & (0x01U)) << 1U) | ((_m->VAU_TPMS_PressureSetSensorErrRL & (0x01U)) << 1U) | ((_m->VAU_TPMS_PressureSetSensorErrRR & (0x01U)) << 1U) | ((_m->VAU_TPMS_PressureSetErrFR & (0x01U)) << 2U) | ((_m->VAU_TPMS_PressureSetErrRL & (0x01U)) << 2U) | ((_m->VAU_TPMS_PressureSetErrFL & (0x01U)) << 2U) | ((_m->VAU_TPMS_PressureSetErrRR & (0x01U)) << 2U) | ((_m->VAU_TPMS_BatteryStatusRL & (0x01U)) << 3U) | ((_m->VAU_TPMS_BatteryStatusRR & (0x01U)) << 3U) | ((_m->VAU_TPMS_BatteryStatusFL & (0x01U)) << 3U) | ((_m->VAU_TPMS_BatteryStatusFR & (0x01U)) << 3U) | ((_m->VAU_TPMS_SensorEmissionCauseFL & (0x03U)) << 4U) | ((_m->VAU_TPMS_SensorEmissionCauseRR & (0x03U)) << 4U) | ((_m->VAU_TPMS_SensorEmissionCauseRL & (0x03U)) << 4U) | ((_m->VAU_TPMS_SensorEmissionCauseFR & (0x03U)) << 4U) | ((_m->VAU_TPMS_SensorOperationModeRR & (0x03U)) << 6U) | ((_m->VAU_TPMS_SensorOperationModeRL & (0x03U)) << 6U) | ((_m->VAU_TPMS_SensorOperationModeFR & (0x03U)) << 6U) | ((_m->VAU_TPMS_SensorOperationModeFL & (0x03U)) << 6U) ); + cframe->Data[5] |= (uint8_t) ( (_m->VAU_TPMS_DataTimestampRR & (0xFFU)) | (_m->VAU_TPMS_DataTimestampRL & (0xFFU)) | (_m->VAU_TPMS_DataTimestampFR & (0xFFU)) | (_m->VAU_TPMS_DataTimestampFL & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->VAU_TPMS_DataTimestampRR >> 8U) & (0xFFU)) | ((_m->VAU_TPMS_DataTimestampRL >> 8U) & (0xFFU)) | ((_m->VAU_TPMS_DataTimestampFR >> 8U) & (0xFFU)) | ((_m->VAU_TPMS_DataTimestampFL >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->VAU_TPMS_TirePressureFaultRL & (0x07U)) | (_m->VAU_TPMS_TirePressureFaultFR & (0x07U)) | (_m->VAU_TPMS_TirePressureFaultFL & (0x07U)) | (_m->VAU_TPMS_TirePressureFaultRR & (0x07U)) | ((_m->TPMS_SensorTempFaultFR & (0x03U)) << 3U) | ((_m->TPMS_SensorTempFaultRR & (0x03U)) << 3U) | ((_m->TPMS_SensorTempFaultFL & (0x03U)) << 3U) | ((_m->TPMS_SensorTempFaultRL & (0x03U)) << 3U) | ((_m->VAU_TPMS_SensorFaultFR & (0x01U)) << 5U) | ((_m->VAU_TPMS_SensorFaultRR & (0x01U)) << 5U) | ((_m->VAU_TPMS_SensorFaultRL & (0x01U)) << 5U) | ((_m->VAU_TPMS_SensorFaultFL & (0x01U)) << 5U) | ((_m->VAU_TPMS_SensorPresenceFR & (0x01U)) << 6U) | ((_m->VAU_TPMS_SensorPresenceRL & (0x01U)) << 6U) | ((_m->VAU_TPMS_SensorPresenceFL & (0x01U)) << 6U) | ((_m->VAU_TPMS_SensorPresenceRR & (0x01U)) << 6U) ); + + cframe->MsgId = (uint32_t) VAU_TPMS_Msg_CANID; + cframe->DLC = (uint8_t) VAU_TPMS_Msg_DLC; + cframe->IDE = (uint8_t) VAU_TPMS_Msg_IDE; + return VAU_TPMS_Msg_CANID; +} + +#else + +uint32_t Pack_VAU_TPMS_Msg_candb(VAU_TPMS_Msg_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(VAU_TPMS_Msg_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->VAU_TPMS_TirePressureRR_ro = (uint8_t) CANDB_VAU_TPMS_TirePressureRR_ro_toS(_m->VAU_TPMS_TirePressureRR_phys); + _m->VAU_TPMS_TirePressureRL_ro = (uint8_t) CANDB_VAU_TPMS_TirePressureRL_ro_toS(_m->VAU_TPMS_TirePressureRL_phys); + _m->VAU_TPMS_TirePressureFR_ro = (uint8_t) CANDB_VAU_TPMS_TirePressureFR_ro_toS(_m->VAU_TPMS_TirePressureFR_phys); + _m->VAU_TPMS_TirePressureFL_ro = (uint8_t) CANDB_VAU_TPMS_TirePressureFL_ro_toS(_m->VAU_TPMS_TirePressureFL_phys); + _m->VAU_TPMS_SensorTemperatureRR_ro = (uint8_t) CANDB_VAU_TPMS_SensorTemperatureRR_ro_toS(_m->VAU_TPMS_SensorTemperatureRR_phys); + _m->VAU_TPMS_SensorTemperatureRL_ro = (uint8_t) CANDB_VAU_TPMS_SensorTemperatureRL_ro_toS(_m->VAU_TPMS_SensorTemperatureRL_phys); + _m->VAU_TPMS_SensorTemperatureFR_ro = (uint8_t) CANDB_VAU_TPMS_SensorTemperatureFR_ro_toS(_m->VAU_TPMS_SensorTemperatureFR_phys); + _m->VAU_TPMS_SensorTemperatureFL_ro = (uint8_t) CANDB_VAU_TPMS_SensorTemperatureFL_ro_toS(_m->VAU_TPMS_SensorTemperatureFL_phys); +#endif // CANDB_USE_SIGFLOAT + + _d[0] |= (uint8_t) ( (_m->VAU_TPMS_TireLocation & (0xFFU)) ); + _d[1] |= (uint8_t) ( (_m->VAU_TPMS_TirePressureRR_ro & (0xFFU)) | (_m->VAU_TPMS_TirePressureRL_ro & (0xFFU)) | (_m->VAU_TPMS_TirePressureFR_ro & (0xFFU)) | (_m->VAU_TPMS_TirePressureFL_ro & (0xFFU)) ); + _d[2] |= (uint8_t) ( (_m->VAU_TPMS_SensorTemperatureRR_ro & (0xFFU)) | (_m->VAU_TPMS_SensorTemperatureRL_ro & (0xFFU)) | (_m->VAU_TPMS_SensorTemperatureFR_ro & (0xFFU)) | (_m->VAU_TPMS_SensorTemperatureFL_ro & (0xFFU)) ); + _d[3] |= (uint8_t) ( (_m->VAU_TPMS_PressureSetSuccessRL & (0x01U)) | (_m->VAU_TPMS_PressureSetSuccessFL & (0x01U)) | (_m->VAU_TPMS_PressureSetSuccessRR & (0x01U)) | (_m->VAU_TPMS_PressureSetSuccessFR & (0x01U)) | ((_m->VAU_TPMS_PressureSetSensorErrFR & (0x01U)) << 1U) | ((_m->VAU_TPMS_PressureSetSensorErrFL & (0x01U)) << 1U) | ((_m->VAU_TPMS_PressureSetSensorErrRL & (0x01U)) << 1U) | ((_m->VAU_TPMS_PressureSetSensorErrRR & (0x01U)) << 1U) | ((_m->VAU_TPMS_PressureSetErrFR & (0x01U)) << 2U) | ((_m->VAU_TPMS_PressureSetErrRL & (0x01U)) << 2U) | ((_m->VAU_TPMS_PressureSetErrFL & (0x01U)) << 2U) | ((_m->VAU_TPMS_PressureSetErrRR & (0x01U)) << 2U) | ((_m->VAU_TPMS_BatteryStatusRL & (0x01U)) << 3U) | ((_m->VAU_TPMS_BatteryStatusRR & (0x01U)) << 3U) | ((_m->VAU_TPMS_BatteryStatusFL & (0x01U)) << 3U) | ((_m->VAU_TPMS_BatteryStatusFR & (0x01U)) << 3U) | ((_m->VAU_TPMS_SensorEmissionCauseFL & (0x03U)) << 4U) | ((_m->VAU_TPMS_SensorEmissionCauseRR & (0x03U)) << 4U) | ((_m->VAU_TPMS_SensorEmissionCauseRL & (0x03U)) << 4U) | ((_m->VAU_TPMS_SensorEmissionCauseFR & (0x03U)) << 4U) | ((_m->VAU_TPMS_SensorOperationModeRR & (0x03U)) << 6U) | ((_m->VAU_TPMS_SensorOperationModeRL & (0x03U)) << 6U) | ((_m->VAU_TPMS_SensorOperationModeFR & (0x03U)) << 6U) | ((_m->VAU_TPMS_SensorOperationModeFL & (0x03U)) << 6U) ); + _d[5] |= (uint8_t) ( (_m->VAU_TPMS_DataTimestampRR & (0xFFU)) | (_m->VAU_TPMS_DataTimestampRL & (0xFFU)) | (_m->VAU_TPMS_DataTimestampFR & (0xFFU)) | (_m->VAU_TPMS_DataTimestampFL & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->VAU_TPMS_DataTimestampRR >> 8U) & (0xFFU)) | ((_m->VAU_TPMS_DataTimestampRL >> 8U) & (0xFFU)) | ((_m->VAU_TPMS_DataTimestampFR >> 8U) & (0xFFU)) | ((_m->VAU_TPMS_DataTimestampFL >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->VAU_TPMS_TirePressureFaultRL & (0x07U)) | (_m->VAU_TPMS_TirePressureFaultFR & (0x07U)) | (_m->VAU_TPMS_TirePressureFaultFL & (0x07U)) | (_m->VAU_TPMS_TirePressureFaultRR & (0x07U)) | ((_m->TPMS_SensorTempFaultFR & (0x03U)) << 3U) | ((_m->TPMS_SensorTempFaultRR & (0x03U)) << 3U) | ((_m->TPMS_SensorTempFaultFL & (0x03U)) << 3U) | ((_m->TPMS_SensorTempFaultRL & (0x03U)) << 3U) | ((_m->VAU_TPMS_SensorFaultFR & (0x01U)) << 5U) | ((_m->VAU_TPMS_SensorFaultRR & (0x01U)) << 5U) | ((_m->VAU_TPMS_SensorFaultRL & (0x01U)) << 5U) | ((_m->VAU_TPMS_SensorFaultFL & (0x01U)) << 5U) | ((_m->VAU_TPMS_SensorPresenceFR & (0x01U)) << 6U) | ((_m->VAU_TPMS_SensorPresenceRL & (0x01U)) << 6U) | ((_m->VAU_TPMS_SensorPresenceFL & (0x01U)) << 6U) | ((_m->VAU_TPMS_SensorPresenceRR & (0x01U)) << 6U) ); + + *_len = (uint8_t) VAU_TPMS_Msg_DLC; + *_ide = (uint8_t) VAU_TPMS_Msg_IDE; + return VAU_TPMS_Msg_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + uint32_t Unpack_CCU_Errors_candb(CCU_Errors_t* _m, const uint8_t* _d, uint8_t dlc_) { (void)dlc_; @@ -1977,7 +7291,7 @@ 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_RestMode_Stat = (uint8_t) ( (_d[1] & (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)); @@ -2008,7 +7322,7 @@ uint32_t Pack_CCU_Msg3_candb(CCU_Msg3_t* _m, __CoderDbcCanFrame_t__* cframe) #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[1] |= (uint8_t) ( (_m->CCU_RestMode_Stat & (0x03U)) ); 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)) ); @@ -2030,7 +7344,7 @@ uint32_t Pack_CCU_Msg3_candb(CCU_Msg3_t* _m, uint8_t* _d, uint8_t* _len, uint8_t #endif // CANDB_USE_SIGFLOAT _d[0] |= (uint8_t) ( (_m->CCU_FAN_Req & (0x7FU)) ); - _d[1] |= (uint8_t) ( ((_m->CCU_RestMode_Stat & (0x03U)) << 2U) ); + _d[1] |= (uint8_t) ( (_m->CCU_RestMode_Stat & (0x03U)) ); _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)) ); @@ -2042,11 +7356,198 @@ uint32_t Pack_CCU_Msg3_candb(CCU_Msg3_t* _m, uint8_t* _d, uint8_t* _len, uint8_t #endif // CANDB_USE_CANSTRUCT +uint32_t Unpack_FIU_Cmd_candb(FIU_Cmd_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->FIU_RunningBoards_Stat = (uint8_t) ( (_d[0] & (0x03U)) ); + _m->FIU_Vehicle_DrvMode_Req = (uint8_t) ( ((_d[0] >> 5U) & (0x07U)) ); + _m->FIU_RStrapCntrl_Req = (uint8_t) ( (_d[1] & (0x01U)) ); + _m->FIU_RStrapCushCntrl_Req = (uint8_t) ( ((_d[1] >> 1U) & (0x01U)) ); + _m->FIU_LStrapCntrl_Req = (uint8_t) ( ((_d[1] >> 2U) & (0x01U)) ); + _m->FIU_LStrapCushCntrl_Req = (uint8_t) ( ((_d[1] >> 3U) & (0x01U)) ); + _m->FIU_Lift_Req = (uint8_t) ( ((_d[1] >> 4U) & (0x01U)) ); + _m->FIU_HDC_Req = (uint8_t) ( ((_d[1] >> 5U) & (0x01U)) ); + _m->FIU_Prolongation_Req = (uint8_t) ( ((_d[1] >> 6U) & (0x01U)) ); + _m->FIU_ServiceMode_Req = (uint8_t) ( ((_d[1] >> 7U) & (0x01U)) ); + _m->FIU_PressureSet_Req = (uint8_t) ( (_d[3] & (0x01U)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < FIU_Cmd_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_FIU_Cmd_candb(&_m->mon1, FIU_Cmd_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return FIU_Cmd_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_FIU_Cmd_candb(FIU_Cmd_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(FIU_Cmd_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->FIU_RunningBoards_Stat & (0x03U)) | ((_m->FIU_Vehicle_DrvMode_Req & (0x07U)) << 5U) ); + cframe->Data[1] |= (uint8_t) ( (_m->FIU_RStrapCntrl_Req & (0x01U)) | ((_m->FIU_RStrapCushCntrl_Req & (0x01U)) << 1U) | ((_m->FIU_LStrapCntrl_Req & (0x01U)) << 2U) | ((_m->FIU_LStrapCushCntrl_Req & (0x01U)) << 3U) | ((_m->FIU_Lift_Req & (0x01U)) << 4U) | ((_m->FIU_HDC_Req & (0x01U)) << 5U) | ((_m->FIU_Prolongation_Req & (0x01U)) << 6U) | ((_m->FIU_ServiceMode_Req & (0x01U)) << 7U) ); + cframe->Data[3] |= (uint8_t) ( (_m->FIU_PressureSet_Req & (0x01U)) ); + + cframe->MsgId = (uint32_t) FIU_Cmd_CANID; + cframe->DLC = (uint8_t) FIU_Cmd_DLC; + cframe->IDE = (uint8_t) FIU_Cmd_IDE; + return FIU_Cmd_CANID; +} + +#else + +uint32_t Pack_FIU_Cmd_candb(FIU_Cmd_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(FIU_Cmd_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->FIU_RunningBoards_Stat & (0x03U)) | ((_m->FIU_Vehicle_DrvMode_Req & (0x07U)) << 5U) ); + _d[1] |= (uint8_t) ( (_m->FIU_RStrapCntrl_Req & (0x01U)) | ((_m->FIU_RStrapCushCntrl_Req & (0x01U)) << 1U) | ((_m->FIU_LStrapCntrl_Req & (0x01U)) << 2U) | ((_m->FIU_LStrapCushCntrl_Req & (0x01U)) << 3U) | ((_m->FIU_Lift_Req & (0x01U)) << 4U) | ((_m->FIU_HDC_Req & (0x01U)) << 5U) | ((_m->FIU_Prolongation_Req & (0x01U)) << 6U) | ((_m->FIU_ServiceMode_Req & (0x01U)) << 7U) ); + _d[3] |= (uint8_t) ( (_m->FIU_PressureSet_Req & (0x01U)) ); + + *_len = (uint8_t) FIU_Cmd_DLC; + *_ide = (uint8_t) FIU_Cmd_IDE; + return FIU_Cmd_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_IC_SDM_Info_candb(IC_SDM_Info_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->IC_AverageConsumpUser_ro = (uint16_t) ( ((_d[1] & (0x03U)) << 8U) | (_d[0] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->IC_AverageConsumpUser_phys = (sigfloat_t)(CANDB_IC_AverageConsumpUser_ro_fromS(_m->IC_AverageConsumpUser_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->IC_AverageConsumpTrip_ro = (uint16_t) ( ((_d[1] & (0x03U)) << 8U) | (_d[0] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->IC_AverageConsumpTrip_phys = (sigfloat_t)(CANDB_IC_AverageConsumpTrip_ro_fromS(_m->IC_AverageConsumpTrip_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->IC_UserRange_ro = (uint32_t) ( ((_d[3] & (0x07U)) << 14U) | ((_d[2] & (0xFFU)) << 6U) | ((_d[1] >> 2U) & (0x3FU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->IC_UserRange_phys = (sigfloat_t)(CANDB_IC_UserRange_ro_fromS(_m->IC_UserRange_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->IC_TripRange_ro = (uint32_t) ( ((_d[3] & (0x07U)) << 14U) | ((_d[2] & (0xFFU)) << 6U) | ((_d[1] >> 2U) & (0x3FU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->IC_TripRange_phys = (sigfloat_t)(CANDB_IC_TripRange_ro_fromS(_m->IC_TripRange_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->IC_UserAverageSpeed_ro = (uint16_t) ( ((_d[5] & (0x01U)) << 13U) | ((_d[4] & (0xFFU)) << 5U) | ((_d[3] >> 3U) & (0x1FU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->IC_UserAverageSpeed_phys = (sigfloat_t)(CANDB_IC_UserAverageSpeed_ro_fromS(_m->IC_UserAverageSpeed_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->IC_TripAverageSpeed_ro = (uint16_t) ( ((_d[5] & (0x01U)) << 13U) | ((_d[4] & (0xFFU)) << 5U) | ((_d[3] >> 3U) & (0x1FU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->IC_TripAverageSpeed_phys = (sigfloat_t)(CANDB_IC_TripAverageSpeed_ro_fromS(_m->IC_TripAverageSpeed_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->IC_UserMinute = (uint8_t) ( ((_d[5] >> 1U) & (0x3FU)) ); + _m->IC_TripMinute = (uint8_t) ( ((_d[5] >> 1U) & (0x3FU)) ); + _m->IC_UserHour = (uint8_t) ( ((_d[6] & (0x0FU)) << 1U) | ((_d[5] >> 7U) & (0x01U)) ); + _m->IC_TripHour = (uint8_t) ( ((_d[6] & (0x0FU)) << 1U) | ((_d[5] >> 7U) & (0x01U)) ); + _m->IC_UserDay = (uint16_t) ( ((_d[7] & (0x3FU)) << 4U) | ((_d[6] >> 4U) & (0x0FU)) ); + _m->IC_TripDay = (uint16_t) ( ((_d[7] & (0x3FU)) << 4U) | ((_d[6] >> 4U) & (0x0FU)) ); + _m->IC_TCCU_Mult = (uint8_t) ( ((_d[7] >> 7U) & (0x01U)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < IC_SDM_Info_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_IC_SDM_Info_candb(&_m->mon1, IC_SDM_Info_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return IC_SDM_Info_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_IC_SDM_Info_candb(IC_SDM_Info_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(IC_SDM_Info_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->IC_AverageConsumpUser_ro = (uint16_t) CANDB_IC_AverageConsumpUser_ro_toS(_m->IC_AverageConsumpUser_phys); + _m->IC_AverageConsumpTrip_ro = (uint16_t) CANDB_IC_AverageConsumpTrip_ro_toS(_m->IC_AverageConsumpTrip_phys); + _m->IC_UserRange_ro = (uint32_t) CANDB_IC_UserRange_ro_toS(_m->IC_UserRange_phys); + _m->IC_TripRange_ro = (uint32_t) CANDB_IC_TripRange_ro_toS(_m->IC_TripRange_phys); + _m->IC_UserAverageSpeed_ro = (uint16_t) CANDB_IC_UserAverageSpeed_ro_toS(_m->IC_UserAverageSpeed_phys); + _m->IC_TripAverageSpeed_ro = (uint16_t) CANDB_IC_TripAverageSpeed_ro_toS(_m->IC_TripAverageSpeed_phys); +#endif // CANDB_USE_SIGFLOAT + + cframe->Data[0] |= (uint8_t) ( (_m->IC_AverageConsumpUser_ro & (0xFFU)) | (_m->IC_AverageConsumpTrip_ro & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->IC_AverageConsumpUser_ro >> 8U) & (0x03U)) | ((_m->IC_AverageConsumpTrip_ro >> 8U) & (0x03U)) | ((_m->IC_UserRange_ro & (0x3FU)) << 2U) | ((_m->IC_TripRange_ro & (0x3FU)) << 2U) ); + cframe->Data[2] |= (uint8_t) ( ((_m->IC_UserRange_ro >> 6U) & (0xFFU)) | ((_m->IC_TripRange_ro >> 6U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->IC_UserRange_ro >> 14U) & (0x07U)) | ((_m->IC_TripRange_ro >> 14U) & (0x07U)) | ((_m->IC_UserAverageSpeed_ro & (0x1FU)) << 3U) | ((_m->IC_TripAverageSpeed_ro & (0x1FU)) << 3U) ); + cframe->Data[4] |= (uint8_t) ( ((_m->IC_UserAverageSpeed_ro >> 5U) & (0xFFU)) | ((_m->IC_TripAverageSpeed_ro >> 5U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->IC_UserAverageSpeed_ro >> 13U) & (0x01U)) | ((_m->IC_TripAverageSpeed_ro >> 13U) & (0x01U)) | ((_m->IC_UserMinute & (0x3FU)) << 1U) | ((_m->IC_TripMinute & (0x3FU)) << 1U) | ((_m->IC_UserHour & (0x01U)) << 7U) | ((_m->IC_TripHour & (0x01U)) << 7U) ); + cframe->Data[6] |= (uint8_t) ( ((_m->IC_UserHour >> 1U) & (0x0FU)) | ((_m->IC_TripHour >> 1U) & (0x0FU)) | ((_m->IC_UserDay & (0x0FU)) << 4U) | ((_m->IC_TripDay & (0x0FU)) << 4U) ); + cframe->Data[7] |= (uint8_t) ( ((_m->IC_UserDay >> 4U) & (0x3FU)) | ((_m->IC_TripDay >> 4U) & (0x3FU)) | ((_m->IC_TCCU_Mult & (0x01U)) << 7U) ); + + cframe->MsgId = (uint32_t) IC_SDM_Info_CANID; + cframe->DLC = (uint8_t) IC_SDM_Info_DLC; + cframe->IDE = (uint8_t) IC_SDM_Info_IDE; + return IC_SDM_Info_CANID; +} + +#else + +uint32_t Pack_IC_SDM_Info_candb(IC_SDM_Info_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(IC_SDM_Info_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->IC_AverageConsumpUser_ro = (uint16_t) CANDB_IC_AverageConsumpUser_ro_toS(_m->IC_AverageConsumpUser_phys); + _m->IC_AverageConsumpTrip_ro = (uint16_t) CANDB_IC_AverageConsumpTrip_ro_toS(_m->IC_AverageConsumpTrip_phys); + _m->IC_UserRange_ro = (uint32_t) CANDB_IC_UserRange_ro_toS(_m->IC_UserRange_phys); + _m->IC_TripRange_ro = (uint32_t) CANDB_IC_TripRange_ro_toS(_m->IC_TripRange_phys); + _m->IC_UserAverageSpeed_ro = (uint16_t) CANDB_IC_UserAverageSpeed_ro_toS(_m->IC_UserAverageSpeed_phys); + _m->IC_TripAverageSpeed_ro = (uint16_t) CANDB_IC_TripAverageSpeed_ro_toS(_m->IC_TripAverageSpeed_phys); +#endif // CANDB_USE_SIGFLOAT + + _d[0] |= (uint8_t) ( (_m->IC_AverageConsumpUser_ro & (0xFFU)) | (_m->IC_AverageConsumpTrip_ro & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->IC_AverageConsumpUser_ro >> 8U) & (0x03U)) | ((_m->IC_AverageConsumpTrip_ro >> 8U) & (0x03U)) | ((_m->IC_UserRange_ro & (0x3FU)) << 2U) | ((_m->IC_TripRange_ro & (0x3FU)) << 2U) ); + _d[2] |= (uint8_t) ( ((_m->IC_UserRange_ro >> 6U) & (0xFFU)) | ((_m->IC_TripRange_ro >> 6U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->IC_UserRange_ro >> 14U) & (0x07U)) | ((_m->IC_TripRange_ro >> 14U) & (0x07U)) | ((_m->IC_UserAverageSpeed_ro & (0x1FU)) << 3U) | ((_m->IC_TripAverageSpeed_ro & (0x1FU)) << 3U) ); + _d[4] |= (uint8_t) ( ((_m->IC_UserAverageSpeed_ro >> 5U) & (0xFFU)) | ((_m->IC_TripAverageSpeed_ro >> 5U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->IC_UserAverageSpeed_ro >> 13U) & (0x01U)) | ((_m->IC_TripAverageSpeed_ro >> 13U) & (0x01U)) | ((_m->IC_UserMinute & (0x3FU)) << 1U) | ((_m->IC_TripMinute & (0x3FU)) << 1U) | ((_m->IC_UserHour & (0x01U)) << 7U) | ((_m->IC_TripHour & (0x01U)) << 7U) ); + _d[6] |= (uint8_t) ( ((_m->IC_UserHour >> 1U) & (0x0FU)) | ((_m->IC_TripHour >> 1U) & (0x0FU)) | ((_m->IC_UserDay & (0x0FU)) << 4U) | ((_m->IC_TripDay & (0x0FU)) << 4U) ); + _d[7] |= (uint8_t) ( ((_m->IC_UserDay >> 4U) & (0x3FU)) | ((_m->IC_TripDay >> 4U) & (0x3FU)) | ((_m->IC_TCCU_Mult & (0x01U)) << 7U) ); + + *_len = (uint8_t) IC_SDM_Info_DLC; + *_ide = (uint8_t) IC_SDM_Info_IDE; + return IC_SDM_Info_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_ExteriorKeyFobSw_Req = (uint8_t) ( (_d[0] & (0x0FU)) ); + _m->SDM_DMRL_Req = (uint8_t) ( ((_d[0] >> 4U) & (0x07U)) ); + _m->SDM_Comm_Req = (uint8_t) ( ((_d[0] >> 7U) & (0x01U)) ); + _m->SDM_DMRR_Req = (uint8_t) ( (_d[1] & (0x07U)) ); + _m->SDM_VisualFeedback_Req = (uint8_t) ( ((_d[1] >> 3U) & (0x01U)) ); + _m->SDM_AudibleFeedback_Req = (uint8_t) ( ((_d[1] >> 4U) & (0x01U)) ); + _m->SDM_DMFL_Req = (uint8_t) ( ((_d[1] >> 5U) & (0x07U)) ); + _m->SDM_DMFR_Req = (uint8_t) ( (_d[2] & (0x07U)) ); + _m->SDM_Aroma_Req = (uint8_t) ( ((_d[2] >> 3U) & (0x03U)) ); + _m->SDM_PrepSalon_Req = (uint8_t) ( ((_d[2] >> 5U) & (0x01U)) ); _m->SDM_AromaIntens_Req = (uint8_t) ( ((_d[2] >> 6U) & (0x03U)) ); + _m->SDM_StyleIllGlobal_Req = (uint8_t) ( (_d[3] & (0x03U)) ); + _m->SDM_StyleIllTheme_Req = (uint8_t) ( ((_d[3] >> 2U) & (0x1FU)) ); + _m->SDM_StopPrep_Req = (uint8_t) ( ((_d[3] >> 7U) & (0x01U)) ); + _m->SDM_StyleIllBright_Val = (uint8_t) ( (_d[4] & (0x7FU)) ); + _m->SDM_OverAirUpd_Stat = (uint8_t) ( ((_d[4] >> 7U) & (0x01U)) ); + _m->SDM_UV_Req = (uint8_t) ( (_d[5] & (0x01U)) ); #ifdef CANDB_USE_DIAG_MONITORS _m->mon1.dlc_error = (dlc_ < SDM_Cmd_DLC); @@ -2065,8 +7566,12 @@ 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->Data[0] |= (uint8_t) ( (_m->SDM_ExteriorKeyFobSw_Req & (0x0FU)) | ((_m->SDM_DMRL_Req & (0x07U)) << 4U) | ((_m->SDM_Comm_Req & (0x01U)) << 7U) ); + cframe->Data[1] |= (uint8_t) ( (_m->SDM_DMRR_Req & (0x07U)) | ((_m->SDM_VisualFeedback_Req & (0x01U)) << 3U) | ((_m->SDM_AudibleFeedback_Req & (0x01U)) << 4U) | ((_m->SDM_DMFL_Req & (0x07U)) << 5U) ); + cframe->Data[2] |= (uint8_t) ( (_m->SDM_DMFR_Req & (0x07U)) | ((_m->SDM_Aroma_Req & (0x03U)) << 3U) | ((_m->SDM_PrepSalon_Req & (0x01U)) << 5U) | ((_m->SDM_AromaIntens_Req & (0x03U)) << 6U) ); + cframe->Data[3] |= (uint8_t) ( (_m->SDM_StyleIllGlobal_Req & (0x03U)) | ((_m->SDM_StyleIllTheme_Req & (0x1FU)) << 2U) | ((_m->SDM_StopPrep_Req & (0x01U)) << 7U) ); + cframe->Data[4] |= (uint8_t) ( (_m->SDM_StyleIllBright_Val & (0x7FU)) | ((_m->SDM_OverAirUpd_Stat & (0x01U)) << 7U) ); + cframe->Data[5] |= (uint8_t) ( (_m->SDM_UV_Req & (0x01U)) ); cframe->MsgId = (uint32_t) SDM_Cmd_CANID; cframe->DLC = (uint8_t) SDM_Cmd_DLC; @@ -2080,8 +7585,12 @@ uint32_t Pack_SDM_Cmd_candb(SDM_Cmd_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* { 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) ); + _d[0] |= (uint8_t) ( (_m->SDM_ExteriorKeyFobSw_Req & (0x0FU)) | ((_m->SDM_DMRL_Req & (0x07U)) << 4U) | ((_m->SDM_Comm_Req & (0x01U)) << 7U) ); + _d[1] |= (uint8_t) ( (_m->SDM_DMRR_Req & (0x07U)) | ((_m->SDM_VisualFeedback_Req & (0x01U)) << 3U) | ((_m->SDM_AudibleFeedback_Req & (0x01U)) << 4U) | ((_m->SDM_DMFL_Req & (0x07U)) << 5U) ); + _d[2] |= (uint8_t) ( (_m->SDM_DMFR_Req & (0x07U)) | ((_m->SDM_Aroma_Req & (0x03U)) << 3U) | ((_m->SDM_PrepSalon_Req & (0x01U)) << 5U) | ((_m->SDM_AromaIntens_Req & (0x03U)) << 6U) ); + _d[3] |= (uint8_t) ( (_m->SDM_StyleIllGlobal_Req & (0x03U)) | ((_m->SDM_StyleIllTheme_Req & (0x1FU)) << 2U) | ((_m->SDM_StopPrep_Req & (0x01U)) << 7U) ); + _d[4] |= (uint8_t) ( (_m->SDM_StyleIllBright_Val & (0x7FU)) | ((_m->SDM_OverAirUpd_Stat & (0x01U)) << 7U) ); + _d[5] |= (uint8_t) ( (_m->SDM_UV_Req & (0x01U)) ); *_len = (uint8_t) SDM_Cmd_DLC; *_ide = (uint8_t) SDM_Cmd_IDE; @@ -2090,6 +7599,196 @@ uint32_t Pack_SDM_Cmd_candb(SDM_Cmd_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* #endif // CANDB_USE_CANSTRUCT +uint32_t Unpack_HUD_MSG_STATUS_candb(HUD_MSG_STATUS_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->HUD_Activation_Stat = (uint8_t) ( (_d[0] & (0x01U)) ); + _m->HUD_ReadyFlag_Stat = (uint8_t) ( ((_d[0] >> 1U) & (0x01U)) ); + _m->HUD_NAVI_Active_Stat = (uint8_t) ( ((_d[0] >> 2U) & (0x01U)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < HUD_MSG_STATUS_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_HUD_MSG_STATUS_candb(&_m->mon1, HUD_MSG_STATUS_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return HUD_MSG_STATUS_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_HUD_MSG_STATUS_candb(HUD_MSG_STATUS_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(HUD_MSG_STATUS_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->HUD_Activation_Stat & (0x01U)) | ((_m->HUD_ReadyFlag_Stat & (0x01U)) << 1U) | ((_m->HUD_NAVI_Active_Stat & (0x01U)) << 2U) ); + + cframe->MsgId = (uint32_t) HUD_MSG_STATUS_CANID; + cframe->DLC = (uint8_t) HUD_MSG_STATUS_DLC; + cframe->IDE = (uint8_t) HUD_MSG_STATUS_IDE; + return HUD_MSG_STATUS_CANID; +} + +#else + +uint32_t Pack_HUD_MSG_STATUS_candb(HUD_MSG_STATUS_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(HUD_MSG_STATUS_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->HUD_Activation_Stat & (0x01U)) | ((_m->HUD_ReadyFlag_Stat & (0x01U)) << 1U) | ((_m->HUD_NAVI_Active_Stat & (0x01U)) << 2U) ); + + *_len = (uint8_t) HUD_MSG_STATUS_DLC; + *_ide = (uint8_t) HUD_MSG_STATUS_IDE; + return HUD_MSG_STATUS_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_IC_SDM_Info_02_candb(IC_SDM_Info_02_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->IC_AverageConsump_ro = (uint16_t) ( ((_d[1] & (0x03U)) << 8U) | (_d[0] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->IC_AverageConsump_phys = (sigfloat_t)(CANDB_IC_AverageConsump_ro_fromS(_m->IC_AverageConsump_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->IC_CurrentConsumptionUnit = (uint8_t) ( ((_d[1] >> 2U) & (0x01U)) ); + _m->IC_CurrentConsump_ro = (uint16_t) ( ((_d[3] & (0x03U)) << 8U) | (_d[2] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->IC_CurrentConsump_phys = (sigfloat_t)(CANDB_IC_CurrentConsump_ro_fromS(_m->IC_CurrentConsump_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->IC_CruisingRange = (uint16_t) ( ((_d[5] & (0x03U)) << 8U) | (_d[4] & (0xFFU)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < IC_SDM_Info_02_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_IC_SDM_Info_02_candb(&_m->mon1, IC_SDM_Info_02_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return IC_SDM_Info_02_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_IC_SDM_Info_02_candb(IC_SDM_Info_02_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(IC_SDM_Info_02_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->IC_AverageConsump_ro = (uint16_t) CANDB_IC_AverageConsump_ro_toS(_m->IC_AverageConsump_phys); + _m->IC_CurrentConsump_ro = (uint16_t) CANDB_IC_CurrentConsump_ro_toS(_m->IC_CurrentConsump_phys); +#endif // CANDB_USE_SIGFLOAT + + cframe->Data[0] |= (uint8_t) ( (_m->IC_AverageConsump_ro & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->IC_AverageConsump_ro >> 8U) & (0x03U)) | ((_m->IC_CurrentConsumptionUnit & (0x01U)) << 2U) ); + cframe->Data[2] |= (uint8_t) ( (_m->IC_CurrentConsump_ro & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->IC_CurrentConsump_ro >> 8U) & (0x03U)) ); + cframe->Data[4] |= (uint8_t) ( (_m->IC_CruisingRange & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->IC_CruisingRange >> 8U) & (0x03U)) ); + + cframe->MsgId = (uint32_t) IC_SDM_Info_02_CANID; + cframe->DLC = (uint8_t) IC_SDM_Info_02_DLC; + cframe->IDE = (uint8_t) IC_SDM_Info_02_IDE; + return IC_SDM_Info_02_CANID; +} + +#else + +uint32_t Pack_IC_SDM_Info_02_candb(IC_SDM_Info_02_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(IC_SDM_Info_02_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->IC_AverageConsump_ro = (uint16_t) CANDB_IC_AverageConsump_ro_toS(_m->IC_AverageConsump_phys); + _m->IC_CurrentConsump_ro = (uint16_t) CANDB_IC_CurrentConsump_ro_toS(_m->IC_CurrentConsump_phys); +#endif // CANDB_USE_SIGFLOAT + + _d[0] |= (uint8_t) ( (_m->IC_AverageConsump_ro & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->IC_AverageConsump_ro >> 8U) & (0x03U)) | ((_m->IC_CurrentConsumptionUnit & (0x01U)) << 2U) ); + _d[2] |= (uint8_t) ( (_m->IC_CurrentConsump_ro & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->IC_CurrentConsump_ro >> 8U) & (0x03U)) ); + _d[4] |= (uint8_t) ( (_m->IC_CruisingRange & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->IC_CruisingRange >> 8U) & (0x03U)) ); + + *_len = (uint8_t) IC_SDM_Info_02_DLC; + *_ide = (uint8_t) IC_SDM_Info_02_IDE; + return IC_SDM_Info_02_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_IC_Milleage_candb(IC_Milleage_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->IC_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->IC_Mileage_Val_phys = (sigfloat_t)(CANDB_IC_Mileage_Val_ro_fromS(_m->IC_Mileage_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->IC_Mileage_RC = (uint8_t) ( ((_d[3] >> 4U) & (0x0FU)) ); + _m->IC_Mileage_CS = (uint8_t) ( (_d[4] & (0xFFU)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < IC_Milleage_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_IC_Milleage_candb(&_m->mon1, IC_Milleage_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return IC_Milleage_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_IC_Milleage_candb(IC_Milleage_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(IC_Milleage_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->IC_Mileage_Val_ro = (uint32_t) CANDB_IC_Mileage_Val_ro_toS(_m->IC_Mileage_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + cframe->Data[0] |= (uint8_t) ( (_m->IC_Mileage_Val_ro & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->IC_Mileage_Val_ro >> 8U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->IC_Mileage_Val_ro >> 16U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->IC_Mileage_Val_ro >> 24U) & (0x07U)) | ((_m->IC_Mileage_RC & (0x0FU)) << 4U) ); + cframe->Data[4] |= (uint8_t) ( (_m->IC_Mileage_CS & (0xFFU)) ); + + cframe->MsgId = (uint32_t) IC_Milleage_CANID; + cframe->DLC = (uint8_t) IC_Milleage_DLC; + cframe->IDE = (uint8_t) IC_Milleage_IDE; + return IC_Milleage_CANID; +} + +#else + +uint32_t Pack_IC_Milleage_candb(IC_Milleage_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(IC_Milleage_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->IC_Mileage_Val_ro = (uint32_t) CANDB_IC_Mileage_Val_ro_toS(_m->IC_Mileage_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + _d[0] |= (uint8_t) ( (_m->IC_Mileage_Val_ro & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->IC_Mileage_Val_ro >> 8U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->IC_Mileage_Val_ro >> 16U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->IC_Mileage_Val_ro >> 24U) & (0x07U)) | ((_m->IC_Mileage_RC & (0x0FU)) << 4U) ); + _d[4] |= (uint8_t) ( (_m->IC_Mileage_CS & (0xFFU)) ); + + *_len = (uint8_t) IC_Milleage_DLC; + *_ide = (uint8_t) IC_Milleage_IDE; + return IC_Milleage_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + uint32_t Unpack_VEH_VIN_candb(VEH_VIN_t* _m, const uint8_t* _d, uint8_t dlc_) { (void)dlc_; @@ -2166,6 +7865,53 @@ uint32_t Pack_VEH_VIN_candb(VEH_VIN_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* #endif // CANDB_USE_CANSTRUCT +uint32_t Unpack_BCM_RunningBoards_candb(BCM_RunningBoards_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->BCM_LeftMotion_Cmd = (uint8_t) ( (_d[0] & (0x03U)) ); + _m->BCM_RightMotion_Cmd = (uint8_t) ( ((_d[0] >> 2U) & (0x03U)) ); + _m->BCM_Buzzer_Cmd = (uint8_t) ( ((_d[0] >> 4U) & (0x01U)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < BCM_RunningBoards_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_BCM_RunningBoards_candb(&_m->mon1, BCM_RunningBoards_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return BCM_RunningBoards_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_BCM_RunningBoards_candb(BCM_RunningBoards_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(BCM_RunningBoards_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->BCM_LeftMotion_Cmd & (0x03U)) | ((_m->BCM_RightMotion_Cmd & (0x03U)) << 2U) | ((_m->BCM_Buzzer_Cmd & (0x01U)) << 4U) ); + + cframe->MsgId = (uint32_t) BCM_RunningBoards_CANID; + cframe->DLC = (uint8_t) BCM_RunningBoards_DLC; + cframe->IDE = (uint8_t) BCM_RunningBoards_IDE; + return BCM_RunningBoards_CANID; +} + +#else + +uint32_t Pack_BCM_RunningBoards_candb(BCM_RunningBoards_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(BCM_RunningBoards_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->BCM_LeftMotion_Cmd & (0x03U)) | ((_m->BCM_RightMotion_Cmd & (0x03U)) << 2U) | ((_m->BCM_Buzzer_Cmd & (0x01U)) << 4U) ); + + *_len = (uint8_t) BCM_RunningBoards_DLC; + *_ide = (uint8_t) BCM_RunningBoards_IDE; + return BCM_RunningBoards_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + uint32_t Unpack_OCUFL_MSG_candb(OCUFL_MSG_t* _m, const uint8_t* _d, uint8_t dlc_) { (void)dlc_; @@ -2370,10 +8116,2284 @@ uint32_t Pack_OCURR_MSG_candb(OCURR_MSG_t* _m, uint8_t* _d, uint8_t* _len, uint8 #endif // CANDB_USE_CANSTRUCT +uint32_t Unpack_RBCU_BODY_Stat_candb(RBCU_BODY_Stat_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->RBCU_LeftErr_Stat = (uint8_t) ( (_d[0] & (0x01U)) ); + _m->RBCU_LeftAntipinch_Stat = (uint8_t) ( ((_d[0] >> 1U) & (0x01U)) ); + _m->RBCU_LeftMotion_Stat = (uint8_t) ( ((_d[0] >> 2U) & (0x03U)) ); + _m->RBCU_LeftPosition_Stat = (uint8_t) ( ((_d[0] >> 4U) & (0x03U)) ); + _m->RBCU_LeftCalibration_Stat = (uint8_t) ( ((_d[0] >> 6U) & (0x01U)) ); + _m->RBCU_RightErr_Stat = (uint8_t) ( ((_d[0] >> 7U) & (0x01U)) ); + _m->RBCU_RightAntipinch_Stat = (uint8_t) ( (_d[1] & (0x01U)) ); + _m->RBCU_RightMotion_Stat = (uint8_t) ( ((_d[1] >> 1U) & (0x03U)) ); + _m->RBCU_RightPosition_Stat = (uint8_t) ( ((_d[1] >> 3U) & (0x03U)) ); + _m->RBCU_RightCalibration_Stat = (uint8_t) ( ((_d[1] >> 5U) & (0x01U)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < RBCU_BODY_Stat_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_RBCU_BODY_Stat_candb(&_m->mon1, RBCU_BODY_Stat_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return RBCU_BODY_Stat_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_RBCU_BODY_Stat_candb(RBCU_BODY_Stat_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(RBCU_BODY_Stat_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->RBCU_LeftErr_Stat & (0x01U)) | ((_m->RBCU_LeftAntipinch_Stat & (0x01U)) << 1U) | ((_m->RBCU_LeftMotion_Stat & (0x03U)) << 2U) | ((_m->RBCU_LeftPosition_Stat & (0x03U)) << 4U) | ((_m->RBCU_LeftCalibration_Stat & (0x01U)) << 6U) | ((_m->RBCU_RightErr_Stat & (0x01U)) << 7U) ); + cframe->Data[1] |= (uint8_t) ( (_m->RBCU_RightAntipinch_Stat & (0x01U)) | ((_m->RBCU_RightMotion_Stat & (0x03U)) << 1U) | ((_m->RBCU_RightPosition_Stat & (0x03U)) << 3U) | ((_m->RBCU_RightCalibration_Stat & (0x01U)) << 5U) ); + + cframe->MsgId = (uint32_t) RBCU_BODY_Stat_CANID; + cframe->DLC = (uint8_t) RBCU_BODY_Stat_DLC; + cframe->IDE = (uint8_t) RBCU_BODY_Stat_IDE; + return RBCU_BODY_Stat_CANID; +} + +#else + +uint32_t Pack_RBCU_BODY_Stat_candb(RBCU_BODY_Stat_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(RBCU_BODY_Stat_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->RBCU_LeftErr_Stat & (0x01U)) | ((_m->RBCU_LeftAntipinch_Stat & (0x01U)) << 1U) | ((_m->RBCU_LeftMotion_Stat & (0x03U)) << 2U) | ((_m->RBCU_LeftPosition_Stat & (0x03U)) << 4U) | ((_m->RBCU_LeftCalibration_Stat & (0x01U)) << 6U) | ((_m->RBCU_RightErr_Stat & (0x01U)) << 7U) ); + _d[1] |= (uint8_t) ( (_m->RBCU_RightAntipinch_Stat & (0x01U)) | ((_m->RBCU_RightMotion_Stat & (0x03U)) << 1U) | ((_m->RBCU_RightPosition_Stat & (0x03U)) << 3U) | ((_m->RBCU_RightCalibration_Stat & (0x01U)) << 5U) ); + + *_len = (uint8_t) RBCU_BODY_Stat_DLC; + *_ide = (uint8_t) RBCU_BODY_Stat_IDE; + return RBCU_BODY_Stat_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_FIU_SMRL_REQ_CTR_SEATS_candb(FIU_SMRL_REQ_CTR_SEATS_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->FIU_SMRL_SeatHeight_Req = (uint8_t) ( (_d[0] & (0x03U)) ); + _m->FIU_SMRL_HeadRestHeight_Req = (uint8_t) ( ((_d[0] >> 2U) & (0x03U)) ); + _m->FIU_SMRL_SeatLongitudinal_Req = (uint8_t) ( ((_d[0] >> 4U) & (0x03U)) ); + _m->FIU_SMRL_SeatHeadRestInclin_Req = (uint8_t) ( ((_d[0] >> 6U) & (0x03U)) ); + _m->FIU_SMRL_SeatSurfaceLong_Req = (uint8_t) ( (_d[1] & (0x03U)) ); + _m->FIU_SMRL_SeatLegSupportH_Req = (uint8_t) ( ((_d[1] >> 2U) & (0x03U)) ); + _m->FIU_SMRL_SeatLegSupportLong_Req = (uint8_t) ( ((_d[1] >> 4U) & (0x03U)) ); + _m->FIU_SMRL_SeatInclination_Req = (uint8_t) ( ((_d[1] >> 6U) & (0x03U)) ); + _m->FIU_SMRL_SeatBackRestInc_Req = (uint8_t) ( (_d[2] & (0x03U)) ); + _m->FIU_SMRL_SeatLumbarSupportH_Req = (uint8_t) ( ((_d[2] >> 2U) & (0x03U)) ); + _m->FIU_SMRL_SeatBackRestHeadInc_Req = (uint8_t) ( ((_d[2] >> 4U) & (0x03U)) ); + _m->FIU_SMRL_SeatLumbarSupDepth_Req = (uint8_t) ( ((_d[2] >> 6U) & (0x03U)) ); + _m->FIU_SMRL_BackRestWidth_Req = (uint8_t) ( (_d[3] & (0x03U)) ); + _m->FIU_SMRL_SeatCushionSupport_Req = (uint8_t) ( ((_d[3] >> 2U) & (0x03U)) ); + _m->FIU_SMRL_SeatMassage_Req = (uint8_t) ( ((_d[3] >> 4U) & (0x03U)) ); + _m->FIU_SMRL_SeatVentilation_Req = (uint8_t) ( ((_d[3] >> 6U) & (0x03U)) ); + _m->FIU_SMRL_SeatVentBalance_Req = (uint8_t) ( (_d[4] & (0x07U)) ); + _m->FIU_SMRL_SeatMassageIntence_Req = (uint8_t) ( ((_d[4] >> 3U) & (0x03U)) ); + _m->FIU_SMRL_SeatHeating_Req = (uint8_t) ( ((_d[4] >> 5U) & (0x03U)) ); + _m->FIU_SMRL_ActiveSupport_Req = (uint8_t) ( ((_d[4] >> 7U) & (0x01U)) ); + _m->FIU_SMRL_SeatHeatBalance_Req = (uint8_t) ( (_d[5] & (0x07U)) ); + _m->FIU_SMRL_SeatMassageType_Req = (uint8_t) ( ((_d[5] >> 3U) & (0x07U)) ); + _m->FIU_SMRL_BackrestMassageType_Req = (uint8_t) ( ((_d[6] & (0x01U)) << 2U) | ((_d[5] >> 6U) & (0x03U)) ); + _m->FIU_SMRL_ComfortMode_Req = (uint8_t) ( ((_d[6] >> 1U) & (0x01U)) ); + _m->FIU_SMRL_ComfortScenario_Req = (uint8_t) ( ((_d[6] >> 2U) & (0x03U)) ); + _m->FIU_SMRL_CarpetHeat_Req = (uint8_t) ( ((_d[6] >> 4U) & (0x01U)) ); + _m->FIU_SMRL_TimerMassage_Req = (uint8_t) ( ((_d[6] >> 5U) & (0x07U)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < FIU_SMRL_REQ_CTR_SEATS_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_FIU_SMRL_REQ_CTR_SEATS_candb(&_m->mon1, FIU_SMRL_REQ_CTR_SEATS_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return FIU_SMRL_REQ_CTR_SEATS_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_FIU_SMRL_REQ_CTR_SEATS_candb(FIU_SMRL_REQ_CTR_SEATS_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(FIU_SMRL_REQ_CTR_SEATS_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->FIU_SMRL_SeatHeight_Req & (0x03U)) | ((_m->FIU_SMRL_HeadRestHeight_Req & (0x03U)) << 2U) | ((_m->FIU_SMRL_SeatLongitudinal_Req & (0x03U)) << 4U) | ((_m->FIU_SMRL_SeatHeadRestInclin_Req & (0x03U)) << 6U) ); + cframe->Data[1] |= (uint8_t) ( (_m->FIU_SMRL_SeatSurfaceLong_Req & (0x03U)) | ((_m->FIU_SMRL_SeatLegSupportH_Req & (0x03U)) << 2U) | ((_m->FIU_SMRL_SeatLegSupportLong_Req & (0x03U)) << 4U) | ((_m->FIU_SMRL_SeatInclination_Req & (0x03U)) << 6U) ); + cframe->Data[2] |= (uint8_t) ( (_m->FIU_SMRL_SeatBackRestInc_Req & (0x03U)) | ((_m->FIU_SMRL_SeatLumbarSupportH_Req & (0x03U)) << 2U) | ((_m->FIU_SMRL_SeatBackRestHeadInc_Req & (0x03U)) << 4U) | ((_m->FIU_SMRL_SeatLumbarSupDepth_Req & (0x03U)) << 6U) ); + cframe->Data[3] |= (uint8_t) ( (_m->FIU_SMRL_BackRestWidth_Req & (0x03U)) | ((_m->FIU_SMRL_SeatCushionSupport_Req & (0x03U)) << 2U) | ((_m->FIU_SMRL_SeatMassage_Req & (0x03U)) << 4U) | ((_m->FIU_SMRL_SeatVentilation_Req & (0x03U)) << 6U) ); + cframe->Data[4] |= (uint8_t) ( (_m->FIU_SMRL_SeatVentBalance_Req & (0x07U)) | ((_m->FIU_SMRL_SeatMassageIntence_Req & (0x03U)) << 3U) | ((_m->FIU_SMRL_SeatHeating_Req & (0x03U)) << 5U) | ((_m->FIU_SMRL_ActiveSupport_Req & (0x01U)) << 7U) ); + cframe->Data[5] |= (uint8_t) ( (_m->FIU_SMRL_SeatHeatBalance_Req & (0x07U)) | ((_m->FIU_SMRL_SeatMassageType_Req & (0x07U)) << 3U) | ((_m->FIU_SMRL_BackrestMassageType_Req & (0x03U)) << 6U) ); + cframe->Data[6] |= (uint8_t) ( ((_m->FIU_SMRL_BackrestMassageType_Req >> 2U) & (0x01U)) | ((_m->FIU_SMRL_ComfortMode_Req & (0x01U)) << 1U) | ((_m->FIU_SMRL_ComfortScenario_Req & (0x03U)) << 2U) | ((_m->FIU_SMRL_CarpetHeat_Req & (0x01U)) << 4U) | ((_m->FIU_SMRL_TimerMassage_Req & (0x07U)) << 5U) ); + + cframe->MsgId = (uint32_t) FIU_SMRL_REQ_CTR_SEATS_CANID; + cframe->DLC = (uint8_t) FIU_SMRL_REQ_CTR_SEATS_DLC; + cframe->IDE = (uint8_t) FIU_SMRL_REQ_CTR_SEATS_IDE; + return FIU_SMRL_REQ_CTR_SEATS_CANID; +} + +#else + +uint32_t Pack_FIU_SMRL_REQ_CTR_SEATS_candb(FIU_SMRL_REQ_CTR_SEATS_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(FIU_SMRL_REQ_CTR_SEATS_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->FIU_SMRL_SeatHeight_Req & (0x03U)) | ((_m->FIU_SMRL_HeadRestHeight_Req & (0x03U)) << 2U) | ((_m->FIU_SMRL_SeatLongitudinal_Req & (0x03U)) << 4U) | ((_m->FIU_SMRL_SeatHeadRestInclin_Req & (0x03U)) << 6U) ); + _d[1] |= (uint8_t) ( (_m->FIU_SMRL_SeatSurfaceLong_Req & (0x03U)) | ((_m->FIU_SMRL_SeatLegSupportH_Req & (0x03U)) << 2U) | ((_m->FIU_SMRL_SeatLegSupportLong_Req & (0x03U)) << 4U) | ((_m->FIU_SMRL_SeatInclination_Req & (0x03U)) << 6U) ); + _d[2] |= (uint8_t) ( (_m->FIU_SMRL_SeatBackRestInc_Req & (0x03U)) | ((_m->FIU_SMRL_SeatLumbarSupportH_Req & (0x03U)) << 2U) | ((_m->FIU_SMRL_SeatBackRestHeadInc_Req & (0x03U)) << 4U) | ((_m->FIU_SMRL_SeatLumbarSupDepth_Req & (0x03U)) << 6U) ); + _d[3] |= (uint8_t) ( (_m->FIU_SMRL_BackRestWidth_Req & (0x03U)) | ((_m->FIU_SMRL_SeatCushionSupport_Req & (0x03U)) << 2U) | ((_m->FIU_SMRL_SeatMassage_Req & (0x03U)) << 4U) | ((_m->FIU_SMRL_SeatVentilation_Req & (0x03U)) << 6U) ); + _d[4] |= (uint8_t) ( (_m->FIU_SMRL_SeatVentBalance_Req & (0x07U)) | ((_m->FIU_SMRL_SeatMassageIntence_Req & (0x03U)) << 3U) | ((_m->FIU_SMRL_SeatHeating_Req & (0x03U)) << 5U) | ((_m->FIU_SMRL_ActiveSupport_Req & (0x01U)) << 7U) ); + _d[5] |= (uint8_t) ( (_m->FIU_SMRL_SeatHeatBalance_Req & (0x07U)) | ((_m->FIU_SMRL_SeatMassageType_Req & (0x07U)) << 3U) | ((_m->FIU_SMRL_BackrestMassageType_Req & (0x03U)) << 6U) ); + _d[6] |= (uint8_t) ( ((_m->FIU_SMRL_BackrestMassageType_Req >> 2U) & (0x01U)) | ((_m->FIU_SMRL_ComfortMode_Req & (0x01U)) << 1U) | ((_m->FIU_SMRL_ComfortScenario_Req & (0x03U)) << 2U) | ((_m->FIU_SMRL_CarpetHeat_Req & (0x01U)) << 4U) | ((_m->FIU_SMRL_TimerMassage_Req & (0x07U)) << 5U) ); + + *_len = (uint8_t) FIU_SMRL_REQ_CTR_SEATS_DLC; + *_ide = (uint8_t) FIU_SMRL_REQ_CTR_SEATS_IDE; + return FIU_SMRL_REQ_CTR_SEATS_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_FIU_SMFR_REQ_CTR_SEATS_candb(FIU_SMFR_REQ_CTR_SEATS_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->FIU_SMFR_SeatHeight_Req = (uint8_t) ( (_d[0] & (0x03U)) ); + _m->FIU_SMFR_HeadRest_Height_Req = (uint8_t) ( ((_d[0] >> 2U) & (0x03U)) ); + _m->FIU_SMFR_SeatLongitunalReq = (uint8_t) ( ((_d[0] >> 4U) & (0x03U)) ); + _m->FIU_SMFR_SeatHeadRestInclin_Req = (uint8_t) ( ((_d[0] >> 6U) & (0x03U)) ); + _m->FIU_SMFR_SeatSurfaceLong_Req = (uint8_t) ( (_d[1] & (0x03U)) ); + _m->FIU_SMFR_SeatLegSupportH_Req = (uint8_t) ( ((_d[1] >> 2U) & (0x03U)) ); + _m->FIU_SMFR_SeatLegSupportLong_Req = (uint8_t) ( ((_d[1] >> 4U) & (0x03U)) ); + _m->FIU_SMFR_SeatInclination_Req = (uint8_t) ( ((_d[1] >> 6U) & (0x03U)) ); + _m->FIU_SMFR_SeatBackRestInc_Req = (uint8_t) ( (_d[2] & (0x03U)) ); + _m->FIU_SMFR_SeatLumbarSupHeight_Req = (uint8_t) ( ((_d[2] >> 2U) & (0x03U)) ); + _m->FIU_SMFR_SeatBackRestHeadInc_Req = (uint8_t) ( ((_d[2] >> 4U) & (0x03U)) ); + _m->FIU_SMFR_SeatLumbarSupDepth_Req = (uint8_t) ( ((_d[2] >> 6U) & (0x03U)) ); + _m->FIU_SMFR_BackRestWidth_Req = (uint8_t) ( (_d[3] & (0x03U)) ); + _m->FIU_SMFR_SeatCushionSupport_Req = (uint8_t) ( ((_d[3] >> 2U) & (0x03U)) ); + _m->FIU_SMFR_SeatMassage_Req = (uint8_t) ( ((_d[3] >> 4U) & (0x03U)) ); + _m->FIU_SMFR_SeatVentilation_Req = (uint8_t) ( ((_d[3] >> 6U) & (0x03U)) ); + _m->FIU_SMFR_SeatVentBalance_Req = (uint8_t) ( (_d[4] & (0x07U)) ); + _m->FIU_SMFR_SeatMassageIntence_Req = (uint8_t) ( ((_d[4] >> 3U) & (0x03U)) ); + _m->FIU_SMFR_SeatHeating_Req = (uint8_t) ( ((_d[4] >> 5U) & (0x03U)) ); + _m->FIU_SMFR_ActiveSupport_Req = (uint8_t) ( ((_d[4] >> 7U) & (0x01U)) ); + _m->FIU_SMFR_SeatHeatBalance_Req = (uint8_t) ( (_d[5] & (0x07U)) ); + _m->FIU_SMFR_SeatMassageType_Req = (uint8_t) ( ((_d[5] >> 3U) & (0x07U)) ); + _m->FIU_SMFR_BackrestMassageType_Req = (uint8_t) ( ((_d[6] & (0x01U)) << 2U) | ((_d[5] >> 6U) & (0x03U)) ); + _m->FIU_SMFR_ComfortMode_Req = (uint8_t) ( ((_d[6] >> 1U) & (0x01U)) ); + _m->FIU_SMFR_ComfortScenario_Req = (uint8_t) ( ((_d[6] >> 2U) & (0x03U)) ); + _m->FIU_SMFR_CarpetHeat_Req = (uint8_t) ( ((_d[6] >> 4U) & (0x01U)) ); + _m->FIU_SMFR_TimerMassage_Req = (uint8_t) ( ((_d[6] >> 5U) & (0x07U)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < FIU_SMFR_REQ_CTR_SEATS_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_FIU_SMFR_REQ_CTR_SEATS_candb(&_m->mon1, FIU_SMFR_REQ_CTR_SEATS_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return FIU_SMFR_REQ_CTR_SEATS_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_FIU_SMFR_REQ_CTR_SEATS_candb(FIU_SMFR_REQ_CTR_SEATS_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(FIU_SMFR_REQ_CTR_SEATS_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->FIU_SMFR_SeatHeight_Req & (0x03U)) | ((_m->FIU_SMFR_HeadRest_Height_Req & (0x03U)) << 2U) | ((_m->FIU_SMFR_SeatLongitunalReq & (0x03U)) << 4U) | ((_m->FIU_SMFR_SeatHeadRestInclin_Req & (0x03U)) << 6U) ); + cframe->Data[1] |= (uint8_t) ( (_m->FIU_SMFR_SeatSurfaceLong_Req & (0x03U)) | ((_m->FIU_SMFR_SeatLegSupportH_Req & (0x03U)) << 2U) | ((_m->FIU_SMFR_SeatLegSupportLong_Req & (0x03U)) << 4U) | ((_m->FIU_SMFR_SeatInclination_Req & (0x03U)) << 6U) ); + cframe->Data[2] |= (uint8_t) ( (_m->FIU_SMFR_SeatBackRestInc_Req & (0x03U)) | ((_m->FIU_SMFR_SeatLumbarSupHeight_Req & (0x03U)) << 2U) | ((_m->FIU_SMFR_SeatBackRestHeadInc_Req & (0x03U)) << 4U) | ((_m->FIU_SMFR_SeatLumbarSupDepth_Req & (0x03U)) << 6U) ); + cframe->Data[3] |= (uint8_t) ( (_m->FIU_SMFR_BackRestWidth_Req & (0x03U)) | ((_m->FIU_SMFR_SeatCushionSupport_Req & (0x03U)) << 2U) | ((_m->FIU_SMFR_SeatMassage_Req & (0x03U)) << 4U) | ((_m->FIU_SMFR_SeatVentilation_Req & (0x03U)) << 6U) ); + cframe->Data[4] |= (uint8_t) ( (_m->FIU_SMFR_SeatVentBalance_Req & (0x07U)) | ((_m->FIU_SMFR_SeatMassageIntence_Req & (0x03U)) << 3U) | ((_m->FIU_SMFR_SeatHeating_Req & (0x03U)) << 5U) | ((_m->FIU_SMFR_ActiveSupport_Req & (0x01U)) << 7U) ); + cframe->Data[5] |= (uint8_t) ( (_m->FIU_SMFR_SeatHeatBalance_Req & (0x07U)) | ((_m->FIU_SMFR_SeatMassageType_Req & (0x07U)) << 3U) | ((_m->FIU_SMFR_BackrestMassageType_Req & (0x03U)) << 6U) ); + cframe->Data[6] |= (uint8_t) ( ((_m->FIU_SMFR_BackrestMassageType_Req >> 2U) & (0x01U)) | ((_m->FIU_SMFR_ComfortMode_Req & (0x01U)) << 1U) | ((_m->FIU_SMFR_ComfortScenario_Req & (0x03U)) << 2U) | ((_m->FIU_SMFR_CarpetHeat_Req & (0x01U)) << 4U) | ((_m->FIU_SMFR_TimerMassage_Req & (0x07U)) << 5U) ); + + cframe->MsgId = (uint32_t) FIU_SMFR_REQ_CTR_SEATS_CANID; + cframe->DLC = (uint8_t) FIU_SMFR_REQ_CTR_SEATS_DLC; + cframe->IDE = (uint8_t) FIU_SMFR_REQ_CTR_SEATS_IDE; + return FIU_SMFR_REQ_CTR_SEATS_CANID; +} + +#else + +uint32_t Pack_FIU_SMFR_REQ_CTR_SEATS_candb(FIU_SMFR_REQ_CTR_SEATS_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(FIU_SMFR_REQ_CTR_SEATS_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->FIU_SMFR_SeatHeight_Req & (0x03U)) | ((_m->FIU_SMFR_HeadRest_Height_Req & (0x03U)) << 2U) | ((_m->FIU_SMFR_SeatLongitunalReq & (0x03U)) << 4U) | ((_m->FIU_SMFR_SeatHeadRestInclin_Req & (0x03U)) << 6U) ); + _d[1] |= (uint8_t) ( (_m->FIU_SMFR_SeatSurfaceLong_Req & (0x03U)) | ((_m->FIU_SMFR_SeatLegSupportH_Req & (0x03U)) << 2U) | ((_m->FIU_SMFR_SeatLegSupportLong_Req & (0x03U)) << 4U) | ((_m->FIU_SMFR_SeatInclination_Req & (0x03U)) << 6U) ); + _d[2] |= (uint8_t) ( (_m->FIU_SMFR_SeatBackRestInc_Req & (0x03U)) | ((_m->FIU_SMFR_SeatLumbarSupHeight_Req & (0x03U)) << 2U) | ((_m->FIU_SMFR_SeatBackRestHeadInc_Req & (0x03U)) << 4U) | ((_m->FIU_SMFR_SeatLumbarSupDepth_Req & (0x03U)) << 6U) ); + _d[3] |= (uint8_t) ( (_m->FIU_SMFR_BackRestWidth_Req & (0x03U)) | ((_m->FIU_SMFR_SeatCushionSupport_Req & (0x03U)) << 2U) | ((_m->FIU_SMFR_SeatMassage_Req & (0x03U)) << 4U) | ((_m->FIU_SMFR_SeatVentilation_Req & (0x03U)) << 6U) ); + _d[4] |= (uint8_t) ( (_m->FIU_SMFR_SeatVentBalance_Req & (0x07U)) | ((_m->FIU_SMFR_SeatMassageIntence_Req & (0x03U)) << 3U) | ((_m->FIU_SMFR_SeatHeating_Req & (0x03U)) << 5U) | ((_m->FIU_SMFR_ActiveSupport_Req & (0x01U)) << 7U) ); + _d[5] |= (uint8_t) ( (_m->FIU_SMFR_SeatHeatBalance_Req & (0x07U)) | ((_m->FIU_SMFR_SeatMassageType_Req & (0x07U)) << 3U) | ((_m->FIU_SMFR_BackrestMassageType_Req & (0x03U)) << 6U) ); + _d[6] |= (uint8_t) ( ((_m->FIU_SMFR_BackrestMassageType_Req >> 2U) & (0x01U)) | ((_m->FIU_SMFR_ComfortMode_Req & (0x01U)) << 1U) | ((_m->FIU_SMFR_ComfortScenario_Req & (0x03U)) << 2U) | ((_m->FIU_SMFR_CarpetHeat_Req & (0x01U)) << 4U) | ((_m->FIU_SMFR_TimerMassage_Req & (0x07U)) << 5U) ); + + *_len = (uint8_t) FIU_SMFR_REQ_CTR_SEATS_DLC; + *_ide = (uint8_t) FIU_SMFR_REQ_CTR_SEATS_IDE; + return FIU_SMFR_REQ_CTR_SEATS_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_SMFL_MEM1_candb(SMFL_MEM1_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->SMFL_PosnActSeatI_Val_ro = (uint8_t) ( (_d[0] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->SMFL_PosnActSeatI_Val_phys = (sigfloat_t)(CANDB_SMFL_PosnActSeatI_Val_ro_fromS(_m->SMFL_PosnActSeatI_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->SMFL_PosnActSeatBRW_Val_ro = (uint8_t) ( (_d[1] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->SMFL_PosnActSeatBRW_Val_phys = (uint16_t) CANDB_SMFL_PosnActSeatBRW_Val_ro_fromS(_m->SMFL_PosnActSeatBRW_Val_ro); +#endif // CANDB_USE_SIGFLOAT + + _m->SMFL_PosnActSeatFRH_Val_ro = (uint8_t) ( (_d[2] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->SMFL_PosnActSeatFRH_Val_phys = (sigfloat_t)(CANDB_SMFL_PosnActSeatFRH_Val_ro_fromS(_m->SMFL_PosnActSeatFRH_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->SMFL_PosnActSeatFRL_Val_ro = (uint8_t) ( (_d[3] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->SMFL_PosnActSeatFRL_Val_phys = (sigfloat_t)(CANDB_SMFL_PosnActSeatFRL_Val_ro_fromS(_m->SMFL_PosnActSeatFRL_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->SMFL_PosnActSeatH_Val_ro = (uint8_t) ( (_d[4] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->SMFL_PosnActSeatH_Val_phys = (sigfloat_t)(CANDB_SMFL_PosnActSeatH_Val_ro_fromS(_m->SMFL_PosnActSeatH_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->SMFL_PosnActSeatHRH_Val_ro = (uint8_t) ( (_d[5] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->SMFL_PosnActSeatHRH_Val_phys = (sigfloat_t)(CANDB_SMFL_PosnActSeatHRH_Val_ro_fromS(_m->SMFL_PosnActSeatHRH_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->SMFL_PosnActSeatL_Val_ro = (uint8_t) ( (_d[6] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->SMFL_PosnActSeatL_Val_phys = (sigfloat_t)(CANDB_SMFL_PosnActSeatL_Val_ro_fromS(_m->SMFL_PosnActSeatL_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->SMFL_PosnActSeatSL_Val_ro = (uint8_t) ( (_d[7] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->SMFL_PosnActSeatSL_Val_phys = (sigfloat_t)(CANDB_SMFL_PosnActSeatSL_Val_ro_fromS(_m->SMFL_PosnActSeatSL_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < SMFL_MEM1_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_SMFL_MEM1_candb(&_m->mon1, SMFL_MEM1_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return SMFL_MEM1_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_SMFL_MEM1_candb(SMFL_MEM1_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(SMFL_MEM1_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->SMFL_PosnActSeatI_Val_ro = (uint8_t) CANDB_SMFL_PosnActSeatI_Val_ro_toS(_m->SMFL_PosnActSeatI_Val_phys); + _m->SMFL_PosnActSeatBRW_Val_ro = (uint8_t) CANDB_SMFL_PosnActSeatBRW_Val_ro_toS(_m->SMFL_PosnActSeatBRW_Val_phys); + _m->SMFL_PosnActSeatFRH_Val_ro = (uint8_t) CANDB_SMFL_PosnActSeatFRH_Val_ro_toS(_m->SMFL_PosnActSeatFRH_Val_phys); + _m->SMFL_PosnActSeatFRL_Val_ro = (uint8_t) CANDB_SMFL_PosnActSeatFRL_Val_ro_toS(_m->SMFL_PosnActSeatFRL_Val_phys); + _m->SMFL_PosnActSeatH_Val_ro = (uint8_t) CANDB_SMFL_PosnActSeatH_Val_ro_toS(_m->SMFL_PosnActSeatH_Val_phys); + _m->SMFL_PosnActSeatHRH_Val_ro = (uint8_t) CANDB_SMFL_PosnActSeatHRH_Val_ro_toS(_m->SMFL_PosnActSeatHRH_Val_phys); + _m->SMFL_PosnActSeatL_Val_ro = (uint8_t) CANDB_SMFL_PosnActSeatL_Val_ro_toS(_m->SMFL_PosnActSeatL_Val_phys); + _m->SMFL_PosnActSeatSL_Val_ro = (uint8_t) CANDB_SMFL_PosnActSeatSL_Val_ro_toS(_m->SMFL_PosnActSeatSL_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + cframe->Data[0] |= (uint8_t) ( (_m->SMFL_PosnActSeatI_Val_ro & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( (_m->SMFL_PosnActSeatBRW_Val_ro & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( (_m->SMFL_PosnActSeatFRH_Val_ro & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( (_m->SMFL_PosnActSeatFRL_Val_ro & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( (_m->SMFL_PosnActSeatH_Val_ro & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( (_m->SMFL_PosnActSeatHRH_Val_ro & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( (_m->SMFL_PosnActSeatL_Val_ro & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->SMFL_PosnActSeatSL_Val_ro & (0xFFU)) ); + + cframe->MsgId = (uint32_t) SMFL_MEM1_CANID; + cframe->DLC = (uint8_t) SMFL_MEM1_DLC; + cframe->IDE = (uint8_t) SMFL_MEM1_IDE; + return SMFL_MEM1_CANID; +} + +#else + +uint32_t Pack_SMFL_MEM1_candb(SMFL_MEM1_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(SMFL_MEM1_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->SMFL_PosnActSeatI_Val_ro = (uint8_t) CANDB_SMFL_PosnActSeatI_Val_ro_toS(_m->SMFL_PosnActSeatI_Val_phys); + _m->SMFL_PosnActSeatBRW_Val_ro = (uint8_t) CANDB_SMFL_PosnActSeatBRW_Val_ro_toS(_m->SMFL_PosnActSeatBRW_Val_phys); + _m->SMFL_PosnActSeatFRH_Val_ro = (uint8_t) CANDB_SMFL_PosnActSeatFRH_Val_ro_toS(_m->SMFL_PosnActSeatFRH_Val_phys); + _m->SMFL_PosnActSeatFRL_Val_ro = (uint8_t) CANDB_SMFL_PosnActSeatFRL_Val_ro_toS(_m->SMFL_PosnActSeatFRL_Val_phys); + _m->SMFL_PosnActSeatH_Val_ro = (uint8_t) CANDB_SMFL_PosnActSeatH_Val_ro_toS(_m->SMFL_PosnActSeatH_Val_phys); + _m->SMFL_PosnActSeatHRH_Val_ro = (uint8_t) CANDB_SMFL_PosnActSeatHRH_Val_ro_toS(_m->SMFL_PosnActSeatHRH_Val_phys); + _m->SMFL_PosnActSeatL_Val_ro = (uint8_t) CANDB_SMFL_PosnActSeatL_Val_ro_toS(_m->SMFL_PosnActSeatL_Val_phys); + _m->SMFL_PosnActSeatSL_Val_ro = (uint8_t) CANDB_SMFL_PosnActSeatSL_Val_ro_toS(_m->SMFL_PosnActSeatSL_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + _d[0] |= (uint8_t) ( (_m->SMFL_PosnActSeatI_Val_ro & (0xFFU)) ); + _d[1] |= (uint8_t) ( (_m->SMFL_PosnActSeatBRW_Val_ro & (0xFFU)) ); + _d[2] |= (uint8_t) ( (_m->SMFL_PosnActSeatFRH_Val_ro & (0xFFU)) ); + _d[3] |= (uint8_t) ( (_m->SMFL_PosnActSeatFRL_Val_ro & (0xFFU)) ); + _d[4] |= (uint8_t) ( (_m->SMFL_PosnActSeatH_Val_ro & (0xFFU)) ); + _d[5] |= (uint8_t) ( (_m->SMFL_PosnActSeatHRH_Val_ro & (0xFFU)) ); + _d[6] |= (uint8_t) ( (_m->SMFL_PosnActSeatL_Val_ro & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->SMFL_PosnActSeatSL_Val_ro & (0xFFU)) ); + + *_len = (uint8_t) SMFL_MEM1_DLC; + *_ide = (uint8_t) SMFL_MEM1_IDE; + return SMFL_MEM1_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_BCM_MEM_SMFL1_candb(BCM_MEM_SMFL1_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->BCM_FLMemPosnActSeatI_Val_ro = (uint8_t) ( (_d[0] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_FLMemPosnActSeatI_Val_phys = (sigfloat_t)(CANDB_BCM_FLMemPosnActSeatI_Val_ro_fromS(_m->BCM_FLMemPosnActSeatI_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->BCM_FLMemPosnActSeatBRW_Val_ro = (uint8_t) ( (_d[1] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_FLMemPosnActSeatBRW_Val_phys = (uint16_t) CANDB_BCM_FLMemPosnActSeatBRW_Val_ro_fromS(_m->BCM_FLMemPosnActSeatBRW_Val_ro); +#endif // CANDB_USE_SIGFLOAT + + _m->BCM_FLMemPosnActSeatFRH_Val_ro = (uint8_t) ( (_d[2] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_FLMemPosnActSeatFRH_Val_phys = (sigfloat_t)(CANDB_BCM_FLMemPosnActSeatFRH_Val_ro_fromS(_m->BCM_FLMemPosnActSeatFRH_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->BCM_FLMemPosnActSeatFRL_Val_ro = (uint8_t) ( (_d[3] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_FLMemPosnActSeatFRL_Val_phys = (sigfloat_t)(CANDB_BCM_FLMemPosnActSeatFRL_Val_ro_fromS(_m->BCM_FLMemPosnActSeatFRL_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->BCM_FLMemPosnActSeatH_Val_ro = (uint8_t) ( (_d[4] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_FLMemPosnActSeatH_Val_phys = (sigfloat_t)(CANDB_BCM_FLMemPosnActSeatH_Val_ro_fromS(_m->BCM_FLMemPosnActSeatH_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->BCM_FLMemPosnActSeatHRH_Val_ro = (uint8_t) ( (_d[5] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_FLMemPosnActSeatHRH_Val_phys = (sigfloat_t)(CANDB_BCM_FLMemPosnActSeatHRH_Val_ro_fromS(_m->BCM_FLMemPosnActSeatHRH_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->BCM_FLMemPosnActSeatL_Val_ro = (uint8_t) ( (_d[6] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_FLMemPosnActSeatL_Val_phys = (sigfloat_t)(CANDB_BCM_FLMemPosnActSeatL_Val_ro_fromS(_m->BCM_FLMemPosnActSeatL_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->BCM_FLMemPosnActSeatSL_Val_ro = (uint8_t) ( (_d[7] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_FLMemPosnActSeatSL_Val_phys = (sigfloat_t)(CANDB_BCM_FLMemPosnActSeatSL_Val_ro_fromS(_m->BCM_FLMemPosnActSeatSL_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < BCM_MEM_SMFL1_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_BCM_MEM_SMFL1_candb(&_m->mon1, BCM_MEM_SMFL1_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return BCM_MEM_SMFL1_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_BCM_MEM_SMFL1_candb(BCM_MEM_SMFL1_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(BCM_MEM_SMFL1_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_FLMemPosnActSeatI_Val_ro = (uint8_t) CANDB_BCM_FLMemPosnActSeatI_Val_ro_toS(_m->BCM_FLMemPosnActSeatI_Val_phys); + _m->BCM_FLMemPosnActSeatBRW_Val_ro = (uint8_t) CANDB_BCM_FLMemPosnActSeatBRW_Val_ro_toS(_m->BCM_FLMemPosnActSeatBRW_Val_phys); + _m->BCM_FLMemPosnActSeatFRH_Val_ro = (uint8_t) CANDB_BCM_FLMemPosnActSeatFRH_Val_ro_toS(_m->BCM_FLMemPosnActSeatFRH_Val_phys); + _m->BCM_FLMemPosnActSeatFRL_Val_ro = (uint8_t) CANDB_BCM_FLMemPosnActSeatFRL_Val_ro_toS(_m->BCM_FLMemPosnActSeatFRL_Val_phys); + _m->BCM_FLMemPosnActSeatH_Val_ro = (uint8_t) CANDB_BCM_FLMemPosnActSeatH_Val_ro_toS(_m->BCM_FLMemPosnActSeatH_Val_phys); + _m->BCM_FLMemPosnActSeatHRH_Val_ro = (uint8_t) CANDB_BCM_FLMemPosnActSeatHRH_Val_ro_toS(_m->BCM_FLMemPosnActSeatHRH_Val_phys); + _m->BCM_FLMemPosnActSeatL_Val_ro = (uint8_t) CANDB_BCM_FLMemPosnActSeatL_Val_ro_toS(_m->BCM_FLMemPosnActSeatL_Val_phys); + _m->BCM_FLMemPosnActSeatSL_Val_ro = (uint8_t) CANDB_BCM_FLMemPosnActSeatSL_Val_ro_toS(_m->BCM_FLMemPosnActSeatSL_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + cframe->Data[0] |= (uint8_t) ( (_m->BCM_FLMemPosnActSeatI_Val_ro & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( (_m->BCM_FLMemPosnActSeatBRW_Val_ro & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( (_m->BCM_FLMemPosnActSeatFRH_Val_ro & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( (_m->BCM_FLMemPosnActSeatFRL_Val_ro & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( (_m->BCM_FLMemPosnActSeatH_Val_ro & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( (_m->BCM_FLMemPosnActSeatHRH_Val_ro & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( (_m->BCM_FLMemPosnActSeatL_Val_ro & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->BCM_FLMemPosnActSeatSL_Val_ro & (0xFFU)) ); + + cframe->MsgId = (uint32_t) BCM_MEM_SMFL1_CANID; + cframe->DLC = (uint8_t) BCM_MEM_SMFL1_DLC; + cframe->IDE = (uint8_t) BCM_MEM_SMFL1_IDE; + return BCM_MEM_SMFL1_CANID; +} + +#else + +uint32_t Pack_BCM_MEM_SMFL1_candb(BCM_MEM_SMFL1_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(BCM_MEM_SMFL1_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_FLMemPosnActSeatI_Val_ro = (uint8_t) CANDB_BCM_FLMemPosnActSeatI_Val_ro_toS(_m->BCM_FLMemPosnActSeatI_Val_phys); + _m->BCM_FLMemPosnActSeatBRW_Val_ro = (uint8_t) CANDB_BCM_FLMemPosnActSeatBRW_Val_ro_toS(_m->BCM_FLMemPosnActSeatBRW_Val_phys); + _m->BCM_FLMemPosnActSeatFRH_Val_ro = (uint8_t) CANDB_BCM_FLMemPosnActSeatFRH_Val_ro_toS(_m->BCM_FLMemPosnActSeatFRH_Val_phys); + _m->BCM_FLMemPosnActSeatFRL_Val_ro = (uint8_t) CANDB_BCM_FLMemPosnActSeatFRL_Val_ro_toS(_m->BCM_FLMemPosnActSeatFRL_Val_phys); + _m->BCM_FLMemPosnActSeatH_Val_ro = (uint8_t) CANDB_BCM_FLMemPosnActSeatH_Val_ro_toS(_m->BCM_FLMemPosnActSeatH_Val_phys); + _m->BCM_FLMemPosnActSeatHRH_Val_ro = (uint8_t) CANDB_BCM_FLMemPosnActSeatHRH_Val_ro_toS(_m->BCM_FLMemPosnActSeatHRH_Val_phys); + _m->BCM_FLMemPosnActSeatL_Val_ro = (uint8_t) CANDB_BCM_FLMemPosnActSeatL_Val_ro_toS(_m->BCM_FLMemPosnActSeatL_Val_phys); + _m->BCM_FLMemPosnActSeatSL_Val_ro = (uint8_t) CANDB_BCM_FLMemPosnActSeatSL_Val_ro_toS(_m->BCM_FLMemPosnActSeatSL_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + _d[0] |= (uint8_t) ( (_m->BCM_FLMemPosnActSeatI_Val_ro & (0xFFU)) ); + _d[1] |= (uint8_t) ( (_m->BCM_FLMemPosnActSeatBRW_Val_ro & (0xFFU)) ); + _d[2] |= (uint8_t) ( (_m->BCM_FLMemPosnActSeatFRH_Val_ro & (0xFFU)) ); + _d[3] |= (uint8_t) ( (_m->BCM_FLMemPosnActSeatFRL_Val_ro & (0xFFU)) ); + _d[4] |= (uint8_t) ( (_m->BCM_FLMemPosnActSeatH_Val_ro & (0xFFU)) ); + _d[5] |= (uint8_t) ( (_m->BCM_FLMemPosnActSeatHRH_Val_ro & (0xFFU)) ); + _d[6] |= (uint8_t) ( (_m->BCM_FLMemPosnActSeatL_Val_ro & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->BCM_FLMemPosnActSeatSL_Val_ro & (0xFFU)) ); + + *_len = (uint8_t) BCM_MEM_SMFL1_DLC; + *_ide = (uint8_t) BCM_MEM_SMFL1_IDE; + return BCM_MEM_SMFL1_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_SMFL_MEM2_candb(SMFL_MEM2_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->SMFL_PosnActSeatBRHI_Val_ro = (uint8_t) ( (_d[0] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->SMFL_PosnActSeatBRHI_Val_phys = (sigfloat_t)(CANDB_SMFL_PosnActSeatBRHI_Val_ro_fromS(_m->SMFL_PosnActSeatBRHI_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->SMFL_PosnActSeatHRHI_Val_ro = (uint8_t) ( (_d[1] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->SMFL_PosnActSeatHRHI_Val_phys = (sigfloat_t)(CANDB_SMFL_PosnActSeatHRHI_Val_ro_fromS(_m->SMFL_PosnActSeatHRHI_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->SMFL_PosnActSeatBRI_Val_ro = (uint8_t) ( (_d[2] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->SMFL_PosnActSeatBRI_Val_phys = (sigfloat_t)(CANDB_SMFL_PosnActSeatBRI_Val_ro_fromS(_m->SMFL_PosnActSeatBRI_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->SMFL_ActHeatBalance_Val = (uint8_t) ( (_d[3] & (0x07U)) ); + _m->SMFL_ActVentBalance_Val = (uint8_t) ( ((_d[3] >> 3U) & (0x07U)) ); + _m->SMFL_PosnPrsnSeatCS_Val_ro = (uint8_t) ( (_d[5] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->SMFL_PosnPrsnSeatCS_Val_phys = (sigfloat_t)(CANDB_SMFL_PosnPrsnSeatCS_Val_ro_fromS(_m->SMFL_PosnPrsnSeatCS_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->SMFL_PosnPrsnSeatLSH_Val_ro = (uint8_t) ( (_d[6] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->SMFL_PosnPrsnSeatLSH_Val_phys = (sigfloat_t)(CANDB_SMFL_PosnPrsnSeatLSH_Val_ro_fromS(_m->SMFL_PosnPrsnSeatLSH_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->SMFL_PosnPrsnSeatLSD_Val_ro = (uint8_t) ( (_d[7] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->SMFL_PosnPrsnSeatLSD_Val_phys = (sigfloat_t)(CANDB_SMFL_PosnPrsnSeatLSD_Val_ro_fromS(_m->SMFL_PosnPrsnSeatLSD_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < SMFL_MEM2_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_SMFL_MEM2_candb(&_m->mon1, SMFL_MEM2_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return SMFL_MEM2_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_SMFL_MEM2_candb(SMFL_MEM2_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(SMFL_MEM2_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->SMFL_PosnActSeatBRHI_Val_ro = (uint8_t) CANDB_SMFL_PosnActSeatBRHI_Val_ro_toS(_m->SMFL_PosnActSeatBRHI_Val_phys); + _m->SMFL_PosnActSeatHRHI_Val_ro = (uint8_t) CANDB_SMFL_PosnActSeatHRHI_Val_ro_toS(_m->SMFL_PosnActSeatHRHI_Val_phys); + _m->SMFL_PosnActSeatBRI_Val_ro = (uint8_t) CANDB_SMFL_PosnActSeatBRI_Val_ro_toS(_m->SMFL_PosnActSeatBRI_Val_phys); + _m->SMFL_PosnPrsnSeatCS_Val_ro = (uint8_t) CANDB_SMFL_PosnPrsnSeatCS_Val_ro_toS(_m->SMFL_PosnPrsnSeatCS_Val_phys); + _m->SMFL_PosnPrsnSeatLSH_Val_ro = (uint8_t) CANDB_SMFL_PosnPrsnSeatLSH_Val_ro_toS(_m->SMFL_PosnPrsnSeatLSH_Val_phys); + _m->SMFL_PosnPrsnSeatLSD_Val_ro = (uint8_t) CANDB_SMFL_PosnPrsnSeatLSD_Val_ro_toS(_m->SMFL_PosnPrsnSeatLSD_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + cframe->Data[0] |= (uint8_t) ( (_m->SMFL_PosnActSeatBRHI_Val_ro & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( (_m->SMFL_PosnActSeatHRHI_Val_ro & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( (_m->SMFL_PosnActSeatBRI_Val_ro & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( (_m->SMFL_ActHeatBalance_Val & (0x07U)) | ((_m->SMFL_ActVentBalance_Val & (0x07U)) << 3U) ); + cframe->Data[5] |= (uint8_t) ( (_m->SMFL_PosnPrsnSeatCS_Val_ro & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( (_m->SMFL_PosnPrsnSeatLSH_Val_ro & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->SMFL_PosnPrsnSeatLSD_Val_ro & (0xFFU)) ); + + cframe->MsgId = (uint32_t) SMFL_MEM2_CANID; + cframe->DLC = (uint8_t) SMFL_MEM2_DLC; + cframe->IDE = (uint8_t) SMFL_MEM2_IDE; + return SMFL_MEM2_CANID; +} + +#else + +uint32_t Pack_SMFL_MEM2_candb(SMFL_MEM2_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(SMFL_MEM2_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->SMFL_PosnActSeatBRHI_Val_ro = (uint8_t) CANDB_SMFL_PosnActSeatBRHI_Val_ro_toS(_m->SMFL_PosnActSeatBRHI_Val_phys); + _m->SMFL_PosnActSeatHRHI_Val_ro = (uint8_t) CANDB_SMFL_PosnActSeatHRHI_Val_ro_toS(_m->SMFL_PosnActSeatHRHI_Val_phys); + _m->SMFL_PosnActSeatBRI_Val_ro = (uint8_t) CANDB_SMFL_PosnActSeatBRI_Val_ro_toS(_m->SMFL_PosnActSeatBRI_Val_phys); + _m->SMFL_PosnPrsnSeatCS_Val_ro = (uint8_t) CANDB_SMFL_PosnPrsnSeatCS_Val_ro_toS(_m->SMFL_PosnPrsnSeatCS_Val_phys); + _m->SMFL_PosnPrsnSeatLSH_Val_ro = (uint8_t) CANDB_SMFL_PosnPrsnSeatLSH_Val_ro_toS(_m->SMFL_PosnPrsnSeatLSH_Val_phys); + _m->SMFL_PosnPrsnSeatLSD_Val_ro = (uint8_t) CANDB_SMFL_PosnPrsnSeatLSD_Val_ro_toS(_m->SMFL_PosnPrsnSeatLSD_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + _d[0] |= (uint8_t) ( (_m->SMFL_PosnActSeatBRHI_Val_ro & (0xFFU)) ); + _d[1] |= (uint8_t) ( (_m->SMFL_PosnActSeatHRHI_Val_ro & (0xFFU)) ); + _d[2] |= (uint8_t) ( (_m->SMFL_PosnActSeatBRI_Val_ro & (0xFFU)) ); + _d[3] |= (uint8_t) ( (_m->SMFL_ActHeatBalance_Val & (0x07U)) | ((_m->SMFL_ActVentBalance_Val & (0x07U)) << 3U) ); + _d[5] |= (uint8_t) ( (_m->SMFL_PosnPrsnSeatCS_Val_ro & (0xFFU)) ); + _d[6] |= (uint8_t) ( (_m->SMFL_PosnPrsnSeatLSH_Val_ro & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->SMFL_PosnPrsnSeatLSD_Val_ro & (0xFFU)) ); + + *_len = (uint8_t) SMFL_MEM2_DLC; + *_ide = (uint8_t) SMFL_MEM2_IDE; + return SMFL_MEM2_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_BCM_MEM_SMFL2_candb(BCM_MEM_SMFL2_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->BCM_FLMemPosnActSeatBRHI_Val_ro = (uint8_t) ( (_d[0] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_FLMemPosnActSeatBRHI_Val_phys = (sigfloat_t)(CANDB_BCM_FLMemPosnActSeatBRHI_Val_ro_fromS(_m->BCM_FLMemPosnActSeatBRHI_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->BCM_FLMemPosnActSeatHRHI_Val_ro = (uint8_t) ( (_d[1] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_FLMemPosnActSeatHRHI_Val_phys = (sigfloat_t)(CANDB_BCM_FLMemPosnActSeatHRHI_Val_ro_fromS(_m->BCM_FLMemPosnActSeatHRHI_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->BCM_FLMemPosnActSeatBRI_Val_ro = (uint8_t) ( (_d[2] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_FLMemPosnActSeatBRI_Val_phys = (sigfloat_t)(CANDB_BCM_FLMemPosnActSeatBRI_Val_ro_fromS(_m->BCM_FLMemPosnActSeatBRI_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->BCM_FLMemActHeatBalance_Val = (uint8_t) ( (_d[3] & (0x07U)) ); + _m->BCM_FLMemActVentBalance_Val = (uint8_t) ( ((_d[3] >> 3U) & (0x07U)) ); + _m->BCM_FLMemPosnPrsnSeatCS_Val_ro = (uint8_t) ( (_d[5] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_FLMemPosnPrsnSeatCS_Val_phys = (sigfloat_t)(CANDB_BCM_FLMemPosnPrsnSeatCS_Val_ro_fromS(_m->BCM_FLMemPosnPrsnSeatCS_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->BCM_FLMemPosnPrsnSeatLSH_Val_ro = (uint8_t) ( (_d[6] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_FLMemPosnPrsnSeatLSH_Val_phys = (sigfloat_t)(CANDB_BCM_FLMemPosnPrsnSeatLSH_Val_ro_fromS(_m->BCM_FLMemPosnPrsnSeatLSH_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->BCM_FLMemPosnPrsnSeatLSD_Val_ro = (uint8_t) ( (_d[7] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_FLMemPosnPrsnSeatLSD_Val_phys = (sigfloat_t)(CANDB_BCM_FLMemPosnPrsnSeatLSD_Val_ro_fromS(_m->BCM_FLMemPosnPrsnSeatLSD_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < BCM_MEM_SMFL2_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_BCM_MEM_SMFL2_candb(&_m->mon1, BCM_MEM_SMFL2_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return BCM_MEM_SMFL2_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_BCM_MEM_SMFL2_candb(BCM_MEM_SMFL2_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(BCM_MEM_SMFL2_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_FLMemPosnActSeatBRHI_Val_ro = (uint8_t) CANDB_BCM_FLMemPosnActSeatBRHI_Val_ro_toS(_m->BCM_FLMemPosnActSeatBRHI_Val_phys); + _m->BCM_FLMemPosnActSeatHRHI_Val_ro = (uint8_t) CANDB_BCM_FLMemPosnActSeatHRHI_Val_ro_toS(_m->BCM_FLMemPosnActSeatHRHI_Val_phys); + _m->BCM_FLMemPosnActSeatBRI_Val_ro = (uint8_t) CANDB_BCM_FLMemPosnActSeatBRI_Val_ro_toS(_m->BCM_FLMemPosnActSeatBRI_Val_phys); + _m->BCM_FLMemPosnPrsnSeatCS_Val_ro = (uint8_t) CANDB_BCM_FLMemPosnPrsnSeatCS_Val_ro_toS(_m->BCM_FLMemPosnPrsnSeatCS_Val_phys); + _m->BCM_FLMemPosnPrsnSeatLSH_Val_ro = (uint8_t) CANDB_BCM_FLMemPosnPrsnSeatLSH_Val_ro_toS(_m->BCM_FLMemPosnPrsnSeatLSH_Val_phys); + _m->BCM_FLMemPosnPrsnSeatLSD_Val_ro = (uint8_t) CANDB_BCM_FLMemPosnPrsnSeatLSD_Val_ro_toS(_m->BCM_FLMemPosnPrsnSeatLSD_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + cframe->Data[0] |= (uint8_t) ( (_m->BCM_FLMemPosnActSeatBRHI_Val_ro & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( (_m->BCM_FLMemPosnActSeatHRHI_Val_ro & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( (_m->BCM_FLMemPosnActSeatBRI_Val_ro & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( (_m->BCM_FLMemActHeatBalance_Val & (0x07U)) | ((_m->BCM_FLMemActVentBalance_Val & (0x07U)) << 3U) ); + cframe->Data[5] |= (uint8_t) ( (_m->BCM_FLMemPosnPrsnSeatCS_Val_ro & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( (_m->BCM_FLMemPosnPrsnSeatLSH_Val_ro & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->BCM_FLMemPosnPrsnSeatLSD_Val_ro & (0xFFU)) ); + + cframe->MsgId = (uint32_t) BCM_MEM_SMFL2_CANID; + cframe->DLC = (uint8_t) BCM_MEM_SMFL2_DLC; + cframe->IDE = (uint8_t) BCM_MEM_SMFL2_IDE; + return BCM_MEM_SMFL2_CANID; +} + +#else + +uint32_t Pack_BCM_MEM_SMFL2_candb(BCM_MEM_SMFL2_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(BCM_MEM_SMFL2_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_FLMemPosnActSeatBRHI_Val_ro = (uint8_t) CANDB_BCM_FLMemPosnActSeatBRHI_Val_ro_toS(_m->BCM_FLMemPosnActSeatBRHI_Val_phys); + _m->BCM_FLMemPosnActSeatHRHI_Val_ro = (uint8_t) CANDB_BCM_FLMemPosnActSeatHRHI_Val_ro_toS(_m->BCM_FLMemPosnActSeatHRHI_Val_phys); + _m->BCM_FLMemPosnActSeatBRI_Val_ro = (uint8_t) CANDB_BCM_FLMemPosnActSeatBRI_Val_ro_toS(_m->BCM_FLMemPosnActSeatBRI_Val_phys); + _m->BCM_FLMemPosnPrsnSeatCS_Val_ro = (uint8_t) CANDB_BCM_FLMemPosnPrsnSeatCS_Val_ro_toS(_m->BCM_FLMemPosnPrsnSeatCS_Val_phys); + _m->BCM_FLMemPosnPrsnSeatLSH_Val_ro = (uint8_t) CANDB_BCM_FLMemPosnPrsnSeatLSH_Val_ro_toS(_m->BCM_FLMemPosnPrsnSeatLSH_Val_phys); + _m->BCM_FLMemPosnPrsnSeatLSD_Val_ro = (uint8_t) CANDB_BCM_FLMemPosnPrsnSeatLSD_Val_ro_toS(_m->BCM_FLMemPosnPrsnSeatLSD_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + _d[0] |= (uint8_t) ( (_m->BCM_FLMemPosnActSeatBRHI_Val_ro & (0xFFU)) ); + _d[1] |= (uint8_t) ( (_m->BCM_FLMemPosnActSeatHRHI_Val_ro & (0xFFU)) ); + _d[2] |= (uint8_t) ( (_m->BCM_FLMemPosnActSeatBRI_Val_ro & (0xFFU)) ); + _d[3] |= (uint8_t) ( (_m->BCM_FLMemActHeatBalance_Val & (0x07U)) | ((_m->BCM_FLMemActVentBalance_Val & (0x07U)) << 3U) ); + _d[5] |= (uint8_t) ( (_m->BCM_FLMemPosnPrsnSeatCS_Val_ro & (0xFFU)) ); + _d[6] |= (uint8_t) ( (_m->BCM_FLMemPosnPrsnSeatLSH_Val_ro & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->BCM_FLMemPosnPrsnSeatLSD_Val_ro & (0xFFU)) ); + + *_len = (uint8_t) BCM_MEM_SMFL2_DLC; + *_ide = (uint8_t) BCM_MEM_SMFL2_IDE; + return BCM_MEM_SMFL2_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_SMFR_MEM1_candb(SMFR_MEM1_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->SMFR_PosnActSeatI_Val_ro = (uint8_t) ( (_d[0] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->SMFR_PosnActSeatI_Val_phys = (sigfloat_t)(CANDB_SMFR_PosnActSeatI_Val_ro_fromS(_m->SMFR_PosnActSeatI_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->SMFR_PosnActSeatBRW_Val_ro = (uint8_t) ( (_d[1] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->SMFR_PosnActSeatBRW_Val_phys = (uint16_t) CANDB_SMFR_PosnActSeatBRW_Val_ro_fromS(_m->SMFR_PosnActSeatBRW_Val_ro); +#endif // CANDB_USE_SIGFLOAT + + _m->SMFR_PosnActSeatFRH_Val_ro = (uint8_t) ( (_d[2] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->SMFR_PosnActSeatFRH_Val_phys = (sigfloat_t)(CANDB_SMFR_PosnActSeatFRH_Val_ro_fromS(_m->SMFR_PosnActSeatFRH_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->SMFR_PosnActSeatFRL_Val_ro = (uint8_t) ( (_d[3] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->SMFR_PosnActSeatFRL_Val_phys = (sigfloat_t)(CANDB_SMFR_PosnActSeatFRL_Val_ro_fromS(_m->SMFR_PosnActSeatFRL_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->SMFR_PosnActSeatH_Val_ro = (uint8_t) ( (_d[4] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->SMFR_PosnActSeatH_Val_phys = (sigfloat_t)(CANDB_SMFR_PosnActSeatH_Val_ro_fromS(_m->SMFR_PosnActSeatH_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->SMFR_PosnActSeatHRH_Val_ro = (uint8_t) ( (_d[5] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->SMFR_PosnActSeatHRH_Val_phys = (sigfloat_t)(CANDB_SMFR_PosnActSeatHRH_Val_ro_fromS(_m->SMFR_PosnActSeatHRH_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->SMFR_PosnActSeatL_Val_ro = (uint8_t) ( (_d[6] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->SMFR_PosnActSeatL_Val_phys = (sigfloat_t)(CANDB_SMFR_PosnActSeatL_Val_ro_fromS(_m->SMFR_PosnActSeatL_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->SMFR_PosnActSeatSL_Val_ro = (uint8_t) ( (_d[7] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->SMFR_PosnActSeatSL_Val_phys = (sigfloat_t)(CANDB_SMFR_PosnActSeatSL_Val_ro_fromS(_m->SMFR_PosnActSeatSL_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < SMFR_MEM1_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_SMFR_MEM1_candb(&_m->mon1, SMFR_MEM1_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return SMFR_MEM1_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_SMFR_MEM1_candb(SMFR_MEM1_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(SMFR_MEM1_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->SMFR_PosnActSeatI_Val_ro = (uint8_t) CANDB_SMFR_PosnActSeatI_Val_ro_toS(_m->SMFR_PosnActSeatI_Val_phys); + _m->SMFR_PosnActSeatBRW_Val_ro = (uint8_t) CANDB_SMFR_PosnActSeatBRW_Val_ro_toS(_m->SMFR_PosnActSeatBRW_Val_phys); + _m->SMFR_PosnActSeatFRH_Val_ro = (uint8_t) CANDB_SMFR_PosnActSeatFRH_Val_ro_toS(_m->SMFR_PosnActSeatFRH_Val_phys); + _m->SMFR_PosnActSeatFRL_Val_ro = (uint8_t) CANDB_SMFR_PosnActSeatFRL_Val_ro_toS(_m->SMFR_PosnActSeatFRL_Val_phys); + _m->SMFR_PosnActSeatH_Val_ro = (uint8_t) CANDB_SMFR_PosnActSeatH_Val_ro_toS(_m->SMFR_PosnActSeatH_Val_phys); + _m->SMFR_PosnActSeatHRH_Val_ro = (uint8_t) CANDB_SMFR_PosnActSeatHRH_Val_ro_toS(_m->SMFR_PosnActSeatHRH_Val_phys); + _m->SMFR_PosnActSeatL_Val_ro = (uint8_t) CANDB_SMFR_PosnActSeatL_Val_ro_toS(_m->SMFR_PosnActSeatL_Val_phys); + _m->SMFR_PosnActSeatSL_Val_ro = (uint8_t) CANDB_SMFR_PosnActSeatSL_Val_ro_toS(_m->SMFR_PosnActSeatSL_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + cframe->Data[0] |= (uint8_t) ( (_m->SMFR_PosnActSeatI_Val_ro & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( (_m->SMFR_PosnActSeatBRW_Val_ro & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( (_m->SMFR_PosnActSeatFRH_Val_ro & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( (_m->SMFR_PosnActSeatFRL_Val_ro & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( (_m->SMFR_PosnActSeatH_Val_ro & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( (_m->SMFR_PosnActSeatHRH_Val_ro & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( (_m->SMFR_PosnActSeatL_Val_ro & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->SMFR_PosnActSeatSL_Val_ro & (0xFFU)) ); + + cframe->MsgId = (uint32_t) SMFR_MEM1_CANID; + cframe->DLC = (uint8_t) SMFR_MEM1_DLC; + cframe->IDE = (uint8_t) SMFR_MEM1_IDE; + return SMFR_MEM1_CANID; +} + +#else + +uint32_t Pack_SMFR_MEM1_candb(SMFR_MEM1_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(SMFR_MEM1_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->SMFR_PosnActSeatI_Val_ro = (uint8_t) CANDB_SMFR_PosnActSeatI_Val_ro_toS(_m->SMFR_PosnActSeatI_Val_phys); + _m->SMFR_PosnActSeatBRW_Val_ro = (uint8_t) CANDB_SMFR_PosnActSeatBRW_Val_ro_toS(_m->SMFR_PosnActSeatBRW_Val_phys); + _m->SMFR_PosnActSeatFRH_Val_ro = (uint8_t) CANDB_SMFR_PosnActSeatFRH_Val_ro_toS(_m->SMFR_PosnActSeatFRH_Val_phys); + _m->SMFR_PosnActSeatFRL_Val_ro = (uint8_t) CANDB_SMFR_PosnActSeatFRL_Val_ro_toS(_m->SMFR_PosnActSeatFRL_Val_phys); + _m->SMFR_PosnActSeatH_Val_ro = (uint8_t) CANDB_SMFR_PosnActSeatH_Val_ro_toS(_m->SMFR_PosnActSeatH_Val_phys); + _m->SMFR_PosnActSeatHRH_Val_ro = (uint8_t) CANDB_SMFR_PosnActSeatHRH_Val_ro_toS(_m->SMFR_PosnActSeatHRH_Val_phys); + _m->SMFR_PosnActSeatL_Val_ro = (uint8_t) CANDB_SMFR_PosnActSeatL_Val_ro_toS(_m->SMFR_PosnActSeatL_Val_phys); + _m->SMFR_PosnActSeatSL_Val_ro = (uint8_t) CANDB_SMFR_PosnActSeatSL_Val_ro_toS(_m->SMFR_PosnActSeatSL_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + _d[0] |= (uint8_t) ( (_m->SMFR_PosnActSeatI_Val_ro & (0xFFU)) ); + _d[1] |= (uint8_t) ( (_m->SMFR_PosnActSeatBRW_Val_ro & (0xFFU)) ); + _d[2] |= (uint8_t) ( (_m->SMFR_PosnActSeatFRH_Val_ro & (0xFFU)) ); + _d[3] |= (uint8_t) ( (_m->SMFR_PosnActSeatFRL_Val_ro & (0xFFU)) ); + _d[4] |= (uint8_t) ( (_m->SMFR_PosnActSeatH_Val_ro & (0xFFU)) ); + _d[5] |= (uint8_t) ( (_m->SMFR_PosnActSeatHRH_Val_ro & (0xFFU)) ); + _d[6] |= (uint8_t) ( (_m->SMFR_PosnActSeatL_Val_ro & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->SMFR_PosnActSeatSL_Val_ro & (0xFFU)) ); + + *_len = (uint8_t) SMFR_MEM1_DLC; + *_ide = (uint8_t) SMFR_MEM1_IDE; + return SMFR_MEM1_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_BCM_MEM_SMFR1_candb(BCM_MEM_SMFR1_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->BCM_FRMemPosnActSeatI_Val_ro = (uint8_t) ( (_d[0] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_FRMemPosnActSeatI_Val_phys = (sigfloat_t)(CANDB_BCM_FRMemPosnActSeatI_Val_ro_fromS(_m->BCM_FRMemPosnActSeatI_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->BCM_FRMemPosnActSeatBRW_Val_ro = (uint8_t) ( (_d[1] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_FRMemPosnActSeatBRW_Val_phys = (uint16_t) CANDB_BCM_FRMemPosnActSeatBRW_Val_ro_fromS(_m->BCM_FRMemPosnActSeatBRW_Val_ro); +#endif // CANDB_USE_SIGFLOAT + + _m->BCM_FRMemPosnActSeatFRH_Val_ro = (uint8_t) ( (_d[2] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_FRMemPosnActSeatFRH_Val_phys = (sigfloat_t)(CANDB_BCM_FRMemPosnActSeatFRH_Val_ro_fromS(_m->BCM_FRMemPosnActSeatFRH_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->BCM_FRMemPosnActSeatFRL_Val_ro = (uint8_t) ( (_d[3] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_FRMemPosnActSeatFRL_Val_phys = (sigfloat_t)(CANDB_BCM_FRMemPosnActSeatFRL_Val_ro_fromS(_m->BCM_FRMemPosnActSeatFRL_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->BCM_FRMemPosnActSeatH_Val_ro = (uint8_t) ( (_d[4] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_FRMemPosnActSeatH_Val_phys = (sigfloat_t)(CANDB_BCM_FRMemPosnActSeatH_Val_ro_fromS(_m->BCM_FRMemPosnActSeatH_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->BCM_FRMemPosnActSeatHRH_Val_ro = (uint8_t) ( (_d[5] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_FRMemPosnActSeatHRH_Val_phys = (sigfloat_t)(CANDB_BCM_FRMemPosnActSeatHRH_Val_ro_fromS(_m->BCM_FRMemPosnActSeatHRH_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->BCM_FRMemPosnActSeatL_Val_ro = (uint8_t) ( (_d[6] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_FRMemPosnActSeatL_Val_phys = (sigfloat_t)(CANDB_BCM_FRMemPosnActSeatL_Val_ro_fromS(_m->BCM_FRMemPosnActSeatL_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->BCM_FRMemPosnActSeatSL_Val_ro = (uint8_t) ( (_d[7] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_FRMemPosnActSeatSL_Val_phys = (sigfloat_t)(CANDB_BCM_FRMemPosnActSeatSL_Val_ro_fromS(_m->BCM_FRMemPosnActSeatSL_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < BCM_MEM_SMFR1_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_BCM_MEM_SMFR1_candb(&_m->mon1, BCM_MEM_SMFR1_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return BCM_MEM_SMFR1_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_BCM_MEM_SMFR1_candb(BCM_MEM_SMFR1_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(BCM_MEM_SMFR1_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_FRMemPosnActSeatI_Val_ro = (uint8_t) CANDB_BCM_FRMemPosnActSeatI_Val_ro_toS(_m->BCM_FRMemPosnActSeatI_Val_phys); + _m->BCM_FRMemPosnActSeatBRW_Val_ro = (uint8_t) CANDB_BCM_FRMemPosnActSeatBRW_Val_ro_toS(_m->BCM_FRMemPosnActSeatBRW_Val_phys); + _m->BCM_FRMemPosnActSeatFRH_Val_ro = (uint8_t) CANDB_BCM_FRMemPosnActSeatFRH_Val_ro_toS(_m->BCM_FRMemPosnActSeatFRH_Val_phys); + _m->BCM_FRMemPosnActSeatFRL_Val_ro = (uint8_t) CANDB_BCM_FRMemPosnActSeatFRL_Val_ro_toS(_m->BCM_FRMemPosnActSeatFRL_Val_phys); + _m->BCM_FRMemPosnActSeatH_Val_ro = (uint8_t) CANDB_BCM_FRMemPosnActSeatH_Val_ro_toS(_m->BCM_FRMemPosnActSeatH_Val_phys); + _m->BCM_FRMemPosnActSeatHRH_Val_ro = (uint8_t) CANDB_BCM_FRMemPosnActSeatHRH_Val_ro_toS(_m->BCM_FRMemPosnActSeatHRH_Val_phys); + _m->BCM_FRMemPosnActSeatL_Val_ro = (uint8_t) CANDB_BCM_FRMemPosnActSeatL_Val_ro_toS(_m->BCM_FRMemPosnActSeatL_Val_phys); + _m->BCM_FRMemPosnActSeatSL_Val_ro = (uint8_t) CANDB_BCM_FRMemPosnActSeatSL_Val_ro_toS(_m->BCM_FRMemPosnActSeatSL_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + cframe->Data[0] |= (uint8_t) ( (_m->BCM_FRMemPosnActSeatI_Val_ro & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( (_m->BCM_FRMemPosnActSeatBRW_Val_ro & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( (_m->BCM_FRMemPosnActSeatFRH_Val_ro & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( (_m->BCM_FRMemPosnActSeatFRL_Val_ro & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( (_m->BCM_FRMemPosnActSeatH_Val_ro & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( (_m->BCM_FRMemPosnActSeatHRH_Val_ro & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( (_m->BCM_FRMemPosnActSeatL_Val_ro & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->BCM_FRMemPosnActSeatSL_Val_ro & (0xFFU)) ); + + cframe->MsgId = (uint32_t) BCM_MEM_SMFR1_CANID; + cframe->DLC = (uint8_t) BCM_MEM_SMFR1_DLC; + cframe->IDE = (uint8_t) BCM_MEM_SMFR1_IDE; + return BCM_MEM_SMFR1_CANID; +} + +#else + +uint32_t Pack_BCM_MEM_SMFR1_candb(BCM_MEM_SMFR1_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(BCM_MEM_SMFR1_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_FRMemPosnActSeatI_Val_ro = (uint8_t) CANDB_BCM_FRMemPosnActSeatI_Val_ro_toS(_m->BCM_FRMemPosnActSeatI_Val_phys); + _m->BCM_FRMemPosnActSeatBRW_Val_ro = (uint8_t) CANDB_BCM_FRMemPosnActSeatBRW_Val_ro_toS(_m->BCM_FRMemPosnActSeatBRW_Val_phys); + _m->BCM_FRMemPosnActSeatFRH_Val_ro = (uint8_t) CANDB_BCM_FRMemPosnActSeatFRH_Val_ro_toS(_m->BCM_FRMemPosnActSeatFRH_Val_phys); + _m->BCM_FRMemPosnActSeatFRL_Val_ro = (uint8_t) CANDB_BCM_FRMemPosnActSeatFRL_Val_ro_toS(_m->BCM_FRMemPosnActSeatFRL_Val_phys); + _m->BCM_FRMemPosnActSeatH_Val_ro = (uint8_t) CANDB_BCM_FRMemPosnActSeatH_Val_ro_toS(_m->BCM_FRMemPosnActSeatH_Val_phys); + _m->BCM_FRMemPosnActSeatHRH_Val_ro = (uint8_t) CANDB_BCM_FRMemPosnActSeatHRH_Val_ro_toS(_m->BCM_FRMemPosnActSeatHRH_Val_phys); + _m->BCM_FRMemPosnActSeatL_Val_ro = (uint8_t) CANDB_BCM_FRMemPosnActSeatL_Val_ro_toS(_m->BCM_FRMemPosnActSeatL_Val_phys); + _m->BCM_FRMemPosnActSeatSL_Val_ro = (uint8_t) CANDB_BCM_FRMemPosnActSeatSL_Val_ro_toS(_m->BCM_FRMemPosnActSeatSL_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + _d[0] |= (uint8_t) ( (_m->BCM_FRMemPosnActSeatI_Val_ro & (0xFFU)) ); + _d[1] |= (uint8_t) ( (_m->BCM_FRMemPosnActSeatBRW_Val_ro & (0xFFU)) ); + _d[2] |= (uint8_t) ( (_m->BCM_FRMemPosnActSeatFRH_Val_ro & (0xFFU)) ); + _d[3] |= (uint8_t) ( (_m->BCM_FRMemPosnActSeatFRL_Val_ro & (0xFFU)) ); + _d[4] |= (uint8_t) ( (_m->BCM_FRMemPosnActSeatH_Val_ro & (0xFFU)) ); + _d[5] |= (uint8_t) ( (_m->BCM_FRMemPosnActSeatHRH_Val_ro & (0xFFU)) ); + _d[6] |= (uint8_t) ( (_m->BCM_FRMemPosnActSeatL_Val_ro & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->BCM_FRMemPosnActSeatSL_Val_ro & (0xFFU)) ); + + *_len = (uint8_t) BCM_MEM_SMFR1_DLC; + *_ide = (uint8_t) BCM_MEM_SMFR1_IDE; + return BCM_MEM_SMFR1_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_SMFR_MEM2_candb(SMFR_MEM2_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->SMFR_PosnActSeatBRHI_Val_ro = (uint8_t) ( (_d[0] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->SMFR_PosnActSeatBRHI_Val_phys = (sigfloat_t)(CANDB_SMFR_PosnActSeatBRHI_Val_ro_fromS(_m->SMFR_PosnActSeatBRHI_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->SMFR_PosnActSeatHRHI_Val_ro = (uint8_t) ( (_d[1] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->SMFR_PosnActSeatHRHI_Val_phys = (sigfloat_t)(CANDB_SMFR_PosnActSeatHRHI_Val_ro_fromS(_m->SMFR_PosnActSeatHRHI_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->SMFR_PosnActSeatBRI_Val_ro = (uint8_t) ( (_d[2] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->SMFR_PosnActSeatBRI_Val_phys = (sigfloat_t)(CANDB_SMFR_PosnActSeatBRI_Val_ro_fromS(_m->SMFR_PosnActSeatBRI_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->SMFR_ActHeatBalance_Val = (uint8_t) ( (_d[3] & (0x07U)) ); + _m->SMFR_ActVentBalance_Stat = (uint8_t) ( ((_d[3] >> 3U) & (0x07U)) ); + _m->SMFR_PosnPrsnSeatCS_Val_ro = (uint8_t) ( ((_d[4] & (0x3FU)) << 2U) | ((_d[3] >> 6U) & (0x03U)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->SMFR_PosnPrsnSeatCS_Val_phys = (sigfloat_t)(CANDB_SMFR_PosnPrsnSeatCS_Val_ro_fromS(_m->SMFR_PosnPrsnSeatCS_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->SMFR_PosnPrsnSeatLSH_Val_ro = (uint8_t) ( ((_d[5] & (0x3FU)) << 2U) | ((_d[4] >> 6U) & (0x03U)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->SMFR_PosnPrsnSeatLSH_Val_phys = (sigfloat_t)(CANDB_SMFR_PosnPrsnSeatLSH_Val_ro_fromS(_m->SMFR_PosnPrsnSeatLSH_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->SMFR_PosnPrsnSeatLSD_Val_ro = (uint8_t) ( ((_d[6] & (0x3FU)) << 2U) | ((_d[5] >> 6U) & (0x03U)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->SMFR_PosnPrsnSeatLSD_Val_phys = (sigfloat_t)(CANDB_SMFR_PosnPrsnSeatLSD_Val_ro_fromS(_m->SMFR_PosnPrsnSeatLSD_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < SMFR_MEM2_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_SMFR_MEM2_candb(&_m->mon1, SMFR_MEM2_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return SMFR_MEM2_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_SMFR_MEM2_candb(SMFR_MEM2_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(SMFR_MEM2_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->SMFR_PosnActSeatBRHI_Val_ro = (uint8_t) CANDB_SMFR_PosnActSeatBRHI_Val_ro_toS(_m->SMFR_PosnActSeatBRHI_Val_phys); + _m->SMFR_PosnActSeatHRHI_Val_ro = (uint8_t) CANDB_SMFR_PosnActSeatHRHI_Val_ro_toS(_m->SMFR_PosnActSeatHRHI_Val_phys); + _m->SMFR_PosnActSeatBRI_Val_ro = (uint8_t) CANDB_SMFR_PosnActSeatBRI_Val_ro_toS(_m->SMFR_PosnActSeatBRI_Val_phys); + _m->SMFR_PosnPrsnSeatCS_Val_ro = (uint8_t) CANDB_SMFR_PosnPrsnSeatCS_Val_ro_toS(_m->SMFR_PosnPrsnSeatCS_Val_phys); + _m->SMFR_PosnPrsnSeatLSH_Val_ro = (uint8_t) CANDB_SMFR_PosnPrsnSeatLSH_Val_ro_toS(_m->SMFR_PosnPrsnSeatLSH_Val_phys); + _m->SMFR_PosnPrsnSeatLSD_Val_ro = (uint8_t) CANDB_SMFR_PosnPrsnSeatLSD_Val_ro_toS(_m->SMFR_PosnPrsnSeatLSD_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + cframe->Data[0] |= (uint8_t) ( (_m->SMFR_PosnActSeatBRHI_Val_ro & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( (_m->SMFR_PosnActSeatHRHI_Val_ro & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( (_m->SMFR_PosnActSeatBRI_Val_ro & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( (_m->SMFR_ActHeatBalance_Val & (0x07U)) | ((_m->SMFR_ActVentBalance_Stat & (0x07U)) << 3U) | ((_m->SMFR_PosnPrsnSeatCS_Val_ro & (0x03U)) << 6U) ); + cframe->Data[4] |= (uint8_t) ( ((_m->SMFR_PosnPrsnSeatCS_Val_ro >> 2U) & (0x3FU)) | ((_m->SMFR_PosnPrsnSeatLSH_Val_ro & (0x03U)) << 6U) ); + cframe->Data[5] |= (uint8_t) ( ((_m->SMFR_PosnPrsnSeatLSH_Val_ro >> 2U) & (0x3FU)) | ((_m->SMFR_PosnPrsnSeatLSD_Val_ro & (0x03U)) << 6U) ); + cframe->Data[6] |= (uint8_t) ( ((_m->SMFR_PosnPrsnSeatLSD_Val_ro >> 2U) & (0x3FU)) ); + + cframe->MsgId = (uint32_t) SMFR_MEM2_CANID; + cframe->DLC = (uint8_t) SMFR_MEM2_DLC; + cframe->IDE = (uint8_t) SMFR_MEM2_IDE; + return SMFR_MEM2_CANID; +} + +#else + +uint32_t Pack_SMFR_MEM2_candb(SMFR_MEM2_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(SMFR_MEM2_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->SMFR_PosnActSeatBRHI_Val_ro = (uint8_t) CANDB_SMFR_PosnActSeatBRHI_Val_ro_toS(_m->SMFR_PosnActSeatBRHI_Val_phys); + _m->SMFR_PosnActSeatHRHI_Val_ro = (uint8_t) CANDB_SMFR_PosnActSeatHRHI_Val_ro_toS(_m->SMFR_PosnActSeatHRHI_Val_phys); + _m->SMFR_PosnActSeatBRI_Val_ro = (uint8_t) CANDB_SMFR_PosnActSeatBRI_Val_ro_toS(_m->SMFR_PosnActSeatBRI_Val_phys); + _m->SMFR_PosnPrsnSeatCS_Val_ro = (uint8_t) CANDB_SMFR_PosnPrsnSeatCS_Val_ro_toS(_m->SMFR_PosnPrsnSeatCS_Val_phys); + _m->SMFR_PosnPrsnSeatLSH_Val_ro = (uint8_t) CANDB_SMFR_PosnPrsnSeatLSH_Val_ro_toS(_m->SMFR_PosnPrsnSeatLSH_Val_phys); + _m->SMFR_PosnPrsnSeatLSD_Val_ro = (uint8_t) CANDB_SMFR_PosnPrsnSeatLSD_Val_ro_toS(_m->SMFR_PosnPrsnSeatLSD_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + _d[0] |= (uint8_t) ( (_m->SMFR_PosnActSeatBRHI_Val_ro & (0xFFU)) ); + _d[1] |= (uint8_t) ( (_m->SMFR_PosnActSeatHRHI_Val_ro & (0xFFU)) ); + _d[2] |= (uint8_t) ( (_m->SMFR_PosnActSeatBRI_Val_ro & (0xFFU)) ); + _d[3] |= (uint8_t) ( (_m->SMFR_ActHeatBalance_Val & (0x07U)) | ((_m->SMFR_ActVentBalance_Stat & (0x07U)) << 3U) | ((_m->SMFR_PosnPrsnSeatCS_Val_ro & (0x03U)) << 6U) ); + _d[4] |= (uint8_t) ( ((_m->SMFR_PosnPrsnSeatCS_Val_ro >> 2U) & (0x3FU)) | ((_m->SMFR_PosnPrsnSeatLSH_Val_ro & (0x03U)) << 6U) ); + _d[5] |= (uint8_t) ( ((_m->SMFR_PosnPrsnSeatLSH_Val_ro >> 2U) & (0x3FU)) | ((_m->SMFR_PosnPrsnSeatLSD_Val_ro & (0x03U)) << 6U) ); + _d[6] |= (uint8_t) ( ((_m->SMFR_PosnPrsnSeatLSD_Val_ro >> 2U) & (0x3FU)) ); + + *_len = (uint8_t) SMFR_MEM2_DLC; + *_ide = (uint8_t) SMFR_MEM2_IDE; + return SMFR_MEM2_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_BCM_MEM_SMFR2_candb(BCM_MEM_SMFR2_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->BCM_FRMemPosnActSeatBRHI_Val_ro = (uint8_t) ( (_d[0] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_FRMemPosnActSeatBRHI_Val_phys = (sigfloat_t)(CANDB_BCM_FRMemPosnActSeatBRHI_Val_ro_fromS(_m->BCM_FRMemPosnActSeatBRHI_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->BCM_FRMemPosnActSeatHRHI_Val_ro = (uint8_t) ( (_d[1] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_FRMemPosnActSeatHRHI_Val_phys = (sigfloat_t)(CANDB_BCM_FRMemPosnActSeatHRHI_Val_ro_fromS(_m->BCM_FRMemPosnActSeatHRHI_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->BCM_FRMemPosnActSeatBRI_Val_ro = (uint8_t) ( (_d[2] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_FRMemPosnActSeatBRI_Val_phys = (sigfloat_t)(CANDB_BCM_FRMemPosnActSeatBRI_Val_ro_fromS(_m->BCM_FRMemPosnActSeatBRI_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->BCM_FRMemActHeatBalance_Val = (uint8_t) ( (_d[3] & (0x07U)) ); + _m->BCM_FRMemActVentBalance_Val = (uint8_t) ( ((_d[3] >> 3U) & (0x07U)) ); + _m->BCM_FRMemPosnPrsnSeatCS_Val_ro = (uint8_t) ( ((_d[4] & (0x3FU)) << 2U) | ((_d[3] >> 6U) & (0x03U)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_FRMemPosnPrsnSeatCS_Val_phys = (sigfloat_t)(CANDB_BCM_FRMemPosnPrsnSeatCS_Val_ro_fromS(_m->BCM_FRMemPosnPrsnSeatCS_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->BCM_FRMemPosnPrsnSeatLSH_Val_ro = (uint8_t) ( ((_d[5] & (0x3FU)) << 2U) | ((_d[4] >> 6U) & (0x03U)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_FRMemPosnPrsnSeatLSH_Val_phys = (sigfloat_t)(CANDB_BCM_FRMemPosnPrsnSeatLSH_Val_ro_fromS(_m->BCM_FRMemPosnPrsnSeatLSH_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->BCM_FRMemPosnPrsnSeatLSD_Val_ro = (uint8_t) ( ((_d[6] & (0x3FU)) << 2U) | ((_d[5] >> 6U) & (0x03U)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_FRMemPosnPrsnSeatLSD_Val_phys = (sigfloat_t)(CANDB_BCM_FRMemPosnPrsnSeatLSD_Val_ro_fromS(_m->BCM_FRMemPosnPrsnSeatLSD_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < BCM_MEM_SMFR2_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_BCM_MEM_SMFR2_candb(&_m->mon1, BCM_MEM_SMFR2_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return BCM_MEM_SMFR2_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_BCM_MEM_SMFR2_candb(BCM_MEM_SMFR2_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(BCM_MEM_SMFR2_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_FRMemPosnActSeatBRHI_Val_ro = (uint8_t) CANDB_BCM_FRMemPosnActSeatBRHI_Val_ro_toS(_m->BCM_FRMemPosnActSeatBRHI_Val_phys); + _m->BCM_FRMemPosnActSeatHRHI_Val_ro = (uint8_t) CANDB_BCM_FRMemPosnActSeatHRHI_Val_ro_toS(_m->BCM_FRMemPosnActSeatHRHI_Val_phys); + _m->BCM_FRMemPosnActSeatBRI_Val_ro = (uint8_t) CANDB_BCM_FRMemPosnActSeatBRI_Val_ro_toS(_m->BCM_FRMemPosnActSeatBRI_Val_phys); + _m->BCM_FRMemPosnPrsnSeatCS_Val_ro = (uint8_t) CANDB_BCM_FRMemPosnPrsnSeatCS_Val_ro_toS(_m->BCM_FRMemPosnPrsnSeatCS_Val_phys); + _m->BCM_FRMemPosnPrsnSeatLSH_Val_ro = (uint8_t) CANDB_BCM_FRMemPosnPrsnSeatLSH_Val_ro_toS(_m->BCM_FRMemPosnPrsnSeatLSH_Val_phys); + _m->BCM_FRMemPosnPrsnSeatLSD_Val_ro = (uint8_t) CANDB_BCM_FRMemPosnPrsnSeatLSD_Val_ro_toS(_m->BCM_FRMemPosnPrsnSeatLSD_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + cframe->Data[0] |= (uint8_t) ( (_m->BCM_FRMemPosnActSeatBRHI_Val_ro & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( (_m->BCM_FRMemPosnActSeatHRHI_Val_ro & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( (_m->BCM_FRMemPosnActSeatBRI_Val_ro & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( (_m->BCM_FRMemActHeatBalance_Val & (0x07U)) | ((_m->BCM_FRMemActVentBalance_Val & (0x07U)) << 3U) | ((_m->BCM_FRMemPosnPrsnSeatCS_Val_ro & (0x03U)) << 6U) ); + cframe->Data[4] |= (uint8_t) ( ((_m->BCM_FRMemPosnPrsnSeatCS_Val_ro >> 2U) & (0x3FU)) | ((_m->BCM_FRMemPosnPrsnSeatLSH_Val_ro & (0x03U)) << 6U) ); + cframe->Data[5] |= (uint8_t) ( ((_m->BCM_FRMemPosnPrsnSeatLSH_Val_ro >> 2U) & (0x3FU)) | ((_m->BCM_FRMemPosnPrsnSeatLSD_Val_ro & (0x03U)) << 6U) ); + cframe->Data[6] |= (uint8_t) ( ((_m->BCM_FRMemPosnPrsnSeatLSD_Val_ro >> 2U) & (0x3FU)) ); + + cframe->MsgId = (uint32_t) BCM_MEM_SMFR2_CANID; + cframe->DLC = (uint8_t) BCM_MEM_SMFR2_DLC; + cframe->IDE = (uint8_t) BCM_MEM_SMFR2_IDE; + return BCM_MEM_SMFR2_CANID; +} + +#else + +uint32_t Pack_BCM_MEM_SMFR2_candb(BCM_MEM_SMFR2_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(BCM_MEM_SMFR2_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_FRMemPosnActSeatBRHI_Val_ro = (uint8_t) CANDB_BCM_FRMemPosnActSeatBRHI_Val_ro_toS(_m->BCM_FRMemPosnActSeatBRHI_Val_phys); + _m->BCM_FRMemPosnActSeatHRHI_Val_ro = (uint8_t) CANDB_BCM_FRMemPosnActSeatHRHI_Val_ro_toS(_m->BCM_FRMemPosnActSeatHRHI_Val_phys); + _m->BCM_FRMemPosnActSeatBRI_Val_ro = (uint8_t) CANDB_BCM_FRMemPosnActSeatBRI_Val_ro_toS(_m->BCM_FRMemPosnActSeatBRI_Val_phys); + _m->BCM_FRMemPosnPrsnSeatCS_Val_ro = (uint8_t) CANDB_BCM_FRMemPosnPrsnSeatCS_Val_ro_toS(_m->BCM_FRMemPosnPrsnSeatCS_Val_phys); + _m->BCM_FRMemPosnPrsnSeatLSH_Val_ro = (uint8_t) CANDB_BCM_FRMemPosnPrsnSeatLSH_Val_ro_toS(_m->BCM_FRMemPosnPrsnSeatLSH_Val_phys); + _m->BCM_FRMemPosnPrsnSeatLSD_Val_ro = (uint8_t) CANDB_BCM_FRMemPosnPrsnSeatLSD_Val_ro_toS(_m->BCM_FRMemPosnPrsnSeatLSD_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + _d[0] |= (uint8_t) ( (_m->BCM_FRMemPosnActSeatBRHI_Val_ro & (0xFFU)) ); + _d[1] |= (uint8_t) ( (_m->BCM_FRMemPosnActSeatHRHI_Val_ro & (0xFFU)) ); + _d[2] |= (uint8_t) ( (_m->BCM_FRMemPosnActSeatBRI_Val_ro & (0xFFU)) ); + _d[3] |= (uint8_t) ( (_m->BCM_FRMemActHeatBalance_Val & (0x07U)) | ((_m->BCM_FRMemActVentBalance_Val & (0x07U)) << 3U) | ((_m->BCM_FRMemPosnPrsnSeatCS_Val_ro & (0x03U)) << 6U) ); + _d[4] |= (uint8_t) ( ((_m->BCM_FRMemPosnPrsnSeatCS_Val_ro >> 2U) & (0x3FU)) | ((_m->BCM_FRMemPosnPrsnSeatLSH_Val_ro & (0x03U)) << 6U) ); + _d[5] |= (uint8_t) ( ((_m->BCM_FRMemPosnPrsnSeatLSH_Val_ro >> 2U) & (0x3FU)) | ((_m->BCM_FRMemPosnPrsnSeatLSD_Val_ro & (0x03U)) << 6U) ); + _d[6] |= (uint8_t) ( ((_m->BCM_FRMemPosnPrsnSeatLSD_Val_ro >> 2U) & (0x3FU)) ); + + *_len = (uint8_t) BCM_MEM_SMFR2_DLC; + *_ide = (uint8_t) BCM_MEM_SMFR2_IDE; + return BCM_MEM_SMFR2_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_SMRL_MEM1_candb(SMRL_MEM1_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->SMRL_PosnActSeatI_Val_ro = (uint8_t) ( (_d[0] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->SMRL_PosnActSeatI_Val_phys = (sigfloat_t)(CANDB_SMRL_PosnActSeatI_Val_ro_fromS(_m->SMRL_PosnActSeatI_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->SMRL_PosnActSeatBRW_Val_ro = (uint8_t) ( (_d[1] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->SMRL_PosnActSeatBRW_Val_phys = (uint16_t) CANDB_SMRL_PosnActSeatBRW_Val_ro_fromS(_m->SMRL_PosnActSeatBRW_Val_ro); +#endif // CANDB_USE_SIGFLOAT + + _m->SMRL_PosnActSeatFRH_Val_ro = (uint8_t) ( (_d[2] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->SMRL_PosnActSeatFRH_Val_phys = (sigfloat_t)(CANDB_SMRL_PosnActSeatFRH_Val_ro_fromS(_m->SMRL_PosnActSeatFRH_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->SMRL_PosnActSeatFRL_Val_ro = (uint8_t) ( (_d[3] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->SMRL_PosnActSeatFRL_Val_phys = (sigfloat_t)(CANDB_SMRL_PosnActSeatFRL_Val_ro_fromS(_m->SMRL_PosnActSeatFRL_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->SMRL_PosnActSeatH_Val_ro = (uint8_t) ( (_d[4] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->SMRL_PosnActSeatH_Val_phys = (sigfloat_t)(CANDB_SMRL_PosnActSeatH_Val_ro_fromS(_m->SMRL_PosnActSeatH_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->SMRL_PosnActSeatHRH_Val_ro = (uint8_t) ( (_d[5] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->SMRL_PosnActSeatHRH_Val_phys = (sigfloat_t)(CANDB_SMRL_PosnActSeatHRH_Val_ro_fromS(_m->SMRL_PosnActSeatHRH_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->SMRL_PosnActSeatL_Val_ro = (uint8_t) ( (_d[6] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->SMRL_PosnActSeatL_Val_phys = (sigfloat_t)(CANDB_SMRL_PosnActSeatL_Val_ro_fromS(_m->SMRL_PosnActSeatL_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->SMRL_PosnActSeatSL_Val_ro = (uint8_t) ( (_d[7] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->SMRL_PosnActSeatSL_Val_phys = (sigfloat_t)(CANDB_SMRL_PosnActSeatSL_Val_ro_fromS(_m->SMRL_PosnActSeatSL_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < SMRL_MEM1_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_SMRL_MEM1_candb(&_m->mon1, SMRL_MEM1_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return SMRL_MEM1_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_SMRL_MEM1_candb(SMRL_MEM1_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(SMRL_MEM1_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->SMRL_PosnActSeatI_Val_ro = (uint8_t) CANDB_SMRL_PosnActSeatI_Val_ro_toS(_m->SMRL_PosnActSeatI_Val_phys); + _m->SMRL_PosnActSeatBRW_Val_ro = (uint8_t) CANDB_SMRL_PosnActSeatBRW_Val_ro_toS(_m->SMRL_PosnActSeatBRW_Val_phys); + _m->SMRL_PosnActSeatFRH_Val_ro = (uint8_t) CANDB_SMRL_PosnActSeatFRH_Val_ro_toS(_m->SMRL_PosnActSeatFRH_Val_phys); + _m->SMRL_PosnActSeatFRL_Val_ro = (uint8_t) CANDB_SMRL_PosnActSeatFRL_Val_ro_toS(_m->SMRL_PosnActSeatFRL_Val_phys); + _m->SMRL_PosnActSeatH_Val_ro = (uint8_t) CANDB_SMRL_PosnActSeatH_Val_ro_toS(_m->SMRL_PosnActSeatH_Val_phys); + _m->SMRL_PosnActSeatHRH_Val_ro = (uint8_t) CANDB_SMRL_PosnActSeatHRH_Val_ro_toS(_m->SMRL_PosnActSeatHRH_Val_phys); + _m->SMRL_PosnActSeatL_Val_ro = (uint8_t) CANDB_SMRL_PosnActSeatL_Val_ro_toS(_m->SMRL_PosnActSeatL_Val_phys); + _m->SMRL_PosnActSeatSL_Val_ro = (uint8_t) CANDB_SMRL_PosnActSeatSL_Val_ro_toS(_m->SMRL_PosnActSeatSL_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + cframe->Data[0] |= (uint8_t) ( (_m->SMRL_PosnActSeatI_Val_ro & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( (_m->SMRL_PosnActSeatBRW_Val_ro & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( (_m->SMRL_PosnActSeatFRH_Val_ro & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( (_m->SMRL_PosnActSeatFRL_Val_ro & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( (_m->SMRL_PosnActSeatH_Val_ro & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( (_m->SMRL_PosnActSeatHRH_Val_ro & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( (_m->SMRL_PosnActSeatL_Val_ro & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->SMRL_PosnActSeatSL_Val_ro & (0xFFU)) ); + + cframe->MsgId = (uint32_t) SMRL_MEM1_CANID; + cframe->DLC = (uint8_t) SMRL_MEM1_DLC; + cframe->IDE = (uint8_t) SMRL_MEM1_IDE; + return SMRL_MEM1_CANID; +} + +#else + +uint32_t Pack_SMRL_MEM1_candb(SMRL_MEM1_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(SMRL_MEM1_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->SMRL_PosnActSeatI_Val_ro = (uint8_t) CANDB_SMRL_PosnActSeatI_Val_ro_toS(_m->SMRL_PosnActSeatI_Val_phys); + _m->SMRL_PosnActSeatBRW_Val_ro = (uint8_t) CANDB_SMRL_PosnActSeatBRW_Val_ro_toS(_m->SMRL_PosnActSeatBRW_Val_phys); + _m->SMRL_PosnActSeatFRH_Val_ro = (uint8_t) CANDB_SMRL_PosnActSeatFRH_Val_ro_toS(_m->SMRL_PosnActSeatFRH_Val_phys); + _m->SMRL_PosnActSeatFRL_Val_ro = (uint8_t) CANDB_SMRL_PosnActSeatFRL_Val_ro_toS(_m->SMRL_PosnActSeatFRL_Val_phys); + _m->SMRL_PosnActSeatH_Val_ro = (uint8_t) CANDB_SMRL_PosnActSeatH_Val_ro_toS(_m->SMRL_PosnActSeatH_Val_phys); + _m->SMRL_PosnActSeatHRH_Val_ro = (uint8_t) CANDB_SMRL_PosnActSeatHRH_Val_ro_toS(_m->SMRL_PosnActSeatHRH_Val_phys); + _m->SMRL_PosnActSeatL_Val_ro = (uint8_t) CANDB_SMRL_PosnActSeatL_Val_ro_toS(_m->SMRL_PosnActSeatL_Val_phys); + _m->SMRL_PosnActSeatSL_Val_ro = (uint8_t) CANDB_SMRL_PosnActSeatSL_Val_ro_toS(_m->SMRL_PosnActSeatSL_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + _d[0] |= (uint8_t) ( (_m->SMRL_PosnActSeatI_Val_ro & (0xFFU)) ); + _d[1] |= (uint8_t) ( (_m->SMRL_PosnActSeatBRW_Val_ro & (0xFFU)) ); + _d[2] |= (uint8_t) ( (_m->SMRL_PosnActSeatFRH_Val_ro & (0xFFU)) ); + _d[3] |= (uint8_t) ( (_m->SMRL_PosnActSeatFRL_Val_ro & (0xFFU)) ); + _d[4] |= (uint8_t) ( (_m->SMRL_PosnActSeatH_Val_ro & (0xFFU)) ); + _d[5] |= (uint8_t) ( (_m->SMRL_PosnActSeatHRH_Val_ro & (0xFFU)) ); + _d[6] |= (uint8_t) ( (_m->SMRL_PosnActSeatL_Val_ro & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->SMRL_PosnActSeatSL_Val_ro & (0xFFU)) ); + + *_len = (uint8_t) SMRL_MEM1_DLC; + *_ide = (uint8_t) SMRL_MEM1_IDE; + return SMRL_MEM1_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_BCM_MEM_SMRL1_candb(BCM_MEM_SMRL1_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->BCM_RLMemPosnActSeatI_Val_ro = (uint8_t) ( (_d[0] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_RLMemPosnActSeatI_Val_phys = (sigfloat_t)(CANDB_BCM_RLMemPosnActSeatI_Val_ro_fromS(_m->BCM_RLMemPosnActSeatI_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->BCM_RLMemPosnActSeatBRW_Val_ro = (uint8_t) ( (_d[1] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_RLMemPosnActSeatBRW_Val_phys = (uint16_t) CANDB_BCM_RLMemPosnActSeatBRW_Val_ro_fromS(_m->BCM_RLMemPosnActSeatBRW_Val_ro); +#endif // CANDB_USE_SIGFLOAT + + _m->BCM_RLMemPosnActSeatFRH_Val_ro = (uint8_t) ( (_d[2] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_RLMemPosnActSeatFRH_Val_phys = (sigfloat_t)(CANDB_BCM_RLMemPosnActSeatFRH_Val_ro_fromS(_m->BCM_RLMemPosnActSeatFRH_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->BCM_RLMemPosnActSeatFRL_Val_ro = (uint8_t) ( (_d[3] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_RLMemPosnActSeatFRL_Val_phys = (sigfloat_t)(CANDB_BCM_RLMemPosnActSeatFRL_Val_ro_fromS(_m->BCM_RLMemPosnActSeatFRL_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->BCM_RLMemPosnActSeatH_Val_ro = (uint8_t) ( (_d[4] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_RLMemPosnActSeatH_Val_phys = (sigfloat_t)(CANDB_BCM_RLMemPosnActSeatH_Val_ro_fromS(_m->BCM_RLMemPosnActSeatH_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->BCM_RLMemPosnActSeatHRH_Val_ro = (uint8_t) ( (_d[5] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_RLMemPosnActSeatHRH_Val_phys = (sigfloat_t)(CANDB_BCM_RLMemPosnActSeatHRH_Val_ro_fromS(_m->BCM_RLMemPosnActSeatHRH_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->BCM_RLMemPosnActSeatL_Val_ro = (uint8_t) ( (_d[6] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_RLMemPosnActSeatL_Val_phys = (sigfloat_t)(CANDB_BCM_RLMemPosnActSeatL_Val_ro_fromS(_m->BCM_RLMemPosnActSeatL_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->BCM_RLMemPosnActSeatSL_Val_ro = (uint8_t) ( (_d[7] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_RLMemPosnActSeatSL_Val_phys = (sigfloat_t)(CANDB_BCM_RLMemPosnActSeatSL_Val_ro_fromS(_m->BCM_RLMemPosnActSeatSL_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < BCM_MEM_SMRL1_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_BCM_MEM_SMRL1_candb(&_m->mon1, BCM_MEM_SMRL1_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return BCM_MEM_SMRL1_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_BCM_MEM_SMRL1_candb(BCM_MEM_SMRL1_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(BCM_MEM_SMRL1_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_RLMemPosnActSeatI_Val_ro = (uint8_t) CANDB_BCM_RLMemPosnActSeatI_Val_ro_toS(_m->BCM_RLMemPosnActSeatI_Val_phys); + _m->BCM_RLMemPosnActSeatBRW_Val_ro = (uint8_t) CANDB_BCM_RLMemPosnActSeatBRW_Val_ro_toS(_m->BCM_RLMemPosnActSeatBRW_Val_phys); + _m->BCM_RLMemPosnActSeatFRH_Val_ro = (uint8_t) CANDB_BCM_RLMemPosnActSeatFRH_Val_ro_toS(_m->BCM_RLMemPosnActSeatFRH_Val_phys); + _m->BCM_RLMemPosnActSeatFRL_Val_ro = (uint8_t) CANDB_BCM_RLMemPosnActSeatFRL_Val_ro_toS(_m->BCM_RLMemPosnActSeatFRL_Val_phys); + _m->BCM_RLMemPosnActSeatH_Val_ro = (uint8_t) CANDB_BCM_RLMemPosnActSeatH_Val_ro_toS(_m->BCM_RLMemPosnActSeatH_Val_phys); + _m->BCM_RLMemPosnActSeatHRH_Val_ro = (uint8_t) CANDB_BCM_RLMemPosnActSeatHRH_Val_ro_toS(_m->BCM_RLMemPosnActSeatHRH_Val_phys); + _m->BCM_RLMemPosnActSeatL_Val_ro = (uint8_t) CANDB_BCM_RLMemPosnActSeatL_Val_ro_toS(_m->BCM_RLMemPosnActSeatL_Val_phys); + _m->BCM_RLMemPosnActSeatSL_Val_ro = (uint8_t) CANDB_BCM_RLMemPosnActSeatSL_Val_ro_toS(_m->BCM_RLMemPosnActSeatSL_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + cframe->Data[0] |= (uint8_t) ( (_m->BCM_RLMemPosnActSeatI_Val_ro & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( (_m->BCM_RLMemPosnActSeatBRW_Val_ro & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( (_m->BCM_RLMemPosnActSeatFRH_Val_ro & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( (_m->BCM_RLMemPosnActSeatFRL_Val_ro & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( (_m->BCM_RLMemPosnActSeatH_Val_ro & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( (_m->BCM_RLMemPosnActSeatHRH_Val_ro & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( (_m->BCM_RLMemPosnActSeatL_Val_ro & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->BCM_RLMemPosnActSeatSL_Val_ro & (0xFFU)) ); + + cframe->MsgId = (uint32_t) BCM_MEM_SMRL1_CANID; + cframe->DLC = (uint8_t) BCM_MEM_SMRL1_DLC; + cframe->IDE = (uint8_t) BCM_MEM_SMRL1_IDE; + return BCM_MEM_SMRL1_CANID; +} + +#else + +uint32_t Pack_BCM_MEM_SMRL1_candb(BCM_MEM_SMRL1_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(BCM_MEM_SMRL1_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_RLMemPosnActSeatI_Val_ro = (uint8_t) CANDB_BCM_RLMemPosnActSeatI_Val_ro_toS(_m->BCM_RLMemPosnActSeatI_Val_phys); + _m->BCM_RLMemPosnActSeatBRW_Val_ro = (uint8_t) CANDB_BCM_RLMemPosnActSeatBRW_Val_ro_toS(_m->BCM_RLMemPosnActSeatBRW_Val_phys); + _m->BCM_RLMemPosnActSeatFRH_Val_ro = (uint8_t) CANDB_BCM_RLMemPosnActSeatFRH_Val_ro_toS(_m->BCM_RLMemPosnActSeatFRH_Val_phys); + _m->BCM_RLMemPosnActSeatFRL_Val_ro = (uint8_t) CANDB_BCM_RLMemPosnActSeatFRL_Val_ro_toS(_m->BCM_RLMemPosnActSeatFRL_Val_phys); + _m->BCM_RLMemPosnActSeatH_Val_ro = (uint8_t) CANDB_BCM_RLMemPosnActSeatH_Val_ro_toS(_m->BCM_RLMemPosnActSeatH_Val_phys); + _m->BCM_RLMemPosnActSeatHRH_Val_ro = (uint8_t) CANDB_BCM_RLMemPosnActSeatHRH_Val_ro_toS(_m->BCM_RLMemPosnActSeatHRH_Val_phys); + _m->BCM_RLMemPosnActSeatL_Val_ro = (uint8_t) CANDB_BCM_RLMemPosnActSeatL_Val_ro_toS(_m->BCM_RLMemPosnActSeatL_Val_phys); + _m->BCM_RLMemPosnActSeatSL_Val_ro = (uint8_t) CANDB_BCM_RLMemPosnActSeatSL_Val_ro_toS(_m->BCM_RLMemPosnActSeatSL_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + _d[0] |= (uint8_t) ( (_m->BCM_RLMemPosnActSeatI_Val_ro & (0xFFU)) ); + _d[1] |= (uint8_t) ( (_m->BCM_RLMemPosnActSeatBRW_Val_ro & (0xFFU)) ); + _d[2] |= (uint8_t) ( (_m->BCM_RLMemPosnActSeatFRH_Val_ro & (0xFFU)) ); + _d[3] |= (uint8_t) ( (_m->BCM_RLMemPosnActSeatFRL_Val_ro & (0xFFU)) ); + _d[4] |= (uint8_t) ( (_m->BCM_RLMemPosnActSeatH_Val_ro & (0xFFU)) ); + _d[5] |= (uint8_t) ( (_m->BCM_RLMemPosnActSeatHRH_Val_ro & (0xFFU)) ); + _d[6] |= (uint8_t) ( (_m->BCM_RLMemPosnActSeatL_Val_ro & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->BCM_RLMemPosnActSeatSL_Val_ro & (0xFFU)) ); + + *_len = (uint8_t) BCM_MEM_SMRL1_DLC; + *_ide = (uint8_t) BCM_MEM_SMRL1_IDE; + return BCM_MEM_SMRL1_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_SMRL_MEM2_candb(SMRL_MEM2_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->SMRL_PosnActSeatBRHI_Val_ro = (uint8_t) ( (_d[0] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->SMRL_PosnActSeatBRHI_Val_phys = (sigfloat_t)(CANDB_SMRL_PosnActSeatBRHI_Val_ro_fromS(_m->SMRL_PosnActSeatBRHI_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->SMRL_PosnActSeatHRHI_Val_ro = (uint8_t) ( (_d[1] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->SMRL_PosnActSeatHRHI_Val_phys = (sigfloat_t)(CANDB_SMRL_PosnActSeatHRHI_Val_ro_fromS(_m->SMRL_PosnActSeatHRHI_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->SMRL_PosnActSeatBRI_Val_ro = (uint8_t) ( (_d[2] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->SMRL_PosnActSeatBRI_Val_phys = (sigfloat_t)(CANDB_SMRL_PosnActSeatBRI_Val_ro_fromS(_m->SMRL_PosnActSeatBRI_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->SMRL_ActHeatBalance_Stat = (uint8_t) ( (_d[3] & (0x07U)) ); + _m->SMRL_ActVentBalance_Stat = (uint8_t) ( ((_d[3] >> 3U) & (0x07U)) ); + _m->SMRL_PosnPrsnSeatCS_Val_ro = (uint8_t) ( ((_d[4] & (0x3FU)) << 2U) | ((_d[3] >> 6U) & (0x03U)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->SMRL_PosnPrsnSeatCS_Val_phys = (sigfloat_t)(CANDB_SMRL_PosnPrsnSeatCS_Val_ro_fromS(_m->SMRL_PosnPrsnSeatCS_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->SMRL_PosnPrsnSeatLSH_Val_ro = (uint8_t) ( ((_d[5] & (0x3FU)) << 2U) | ((_d[4] >> 6U) & (0x03U)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->SMRL_PosnPrsnSeatLSH_Val_phys = (sigfloat_t)(CANDB_SMRL_PosnPrsnSeatLSH_Val_ro_fromS(_m->SMRL_PosnPrsnSeatLSH_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->SMRL_PosnPrsnSeatLSD_Val_ro = (uint8_t) ( ((_d[6] & (0x3FU)) << 2U) | ((_d[5] >> 6U) & (0x03U)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->SMRL_PosnPrsnSeatLSD_Val_phys = (sigfloat_t)(CANDB_SMRL_PosnPrsnSeatLSD_Val_ro_fromS(_m->SMRL_PosnPrsnSeatLSD_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < SMRL_MEM2_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_SMRL_MEM2_candb(&_m->mon1, SMRL_MEM2_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return SMRL_MEM2_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_SMRL_MEM2_candb(SMRL_MEM2_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(SMRL_MEM2_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->SMRL_PosnActSeatBRHI_Val_ro = (uint8_t) CANDB_SMRL_PosnActSeatBRHI_Val_ro_toS(_m->SMRL_PosnActSeatBRHI_Val_phys); + _m->SMRL_PosnActSeatHRHI_Val_ro = (uint8_t) CANDB_SMRL_PosnActSeatHRHI_Val_ro_toS(_m->SMRL_PosnActSeatHRHI_Val_phys); + _m->SMRL_PosnActSeatBRI_Val_ro = (uint8_t) CANDB_SMRL_PosnActSeatBRI_Val_ro_toS(_m->SMRL_PosnActSeatBRI_Val_phys); + _m->SMRL_PosnPrsnSeatCS_Val_ro = (uint8_t) CANDB_SMRL_PosnPrsnSeatCS_Val_ro_toS(_m->SMRL_PosnPrsnSeatCS_Val_phys); + _m->SMRL_PosnPrsnSeatLSH_Val_ro = (uint8_t) CANDB_SMRL_PosnPrsnSeatLSH_Val_ro_toS(_m->SMRL_PosnPrsnSeatLSH_Val_phys); + _m->SMRL_PosnPrsnSeatLSD_Val_ro = (uint8_t) CANDB_SMRL_PosnPrsnSeatLSD_Val_ro_toS(_m->SMRL_PosnPrsnSeatLSD_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + cframe->Data[0] |= (uint8_t) ( (_m->SMRL_PosnActSeatBRHI_Val_ro & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( (_m->SMRL_PosnActSeatHRHI_Val_ro & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( (_m->SMRL_PosnActSeatBRI_Val_ro & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( (_m->SMRL_ActHeatBalance_Stat & (0x07U)) | ((_m->SMRL_ActVentBalance_Stat & (0x07U)) << 3U) | ((_m->SMRL_PosnPrsnSeatCS_Val_ro & (0x03U)) << 6U) ); + cframe->Data[4] |= (uint8_t) ( ((_m->SMRL_PosnPrsnSeatCS_Val_ro >> 2U) & (0x3FU)) | ((_m->SMRL_PosnPrsnSeatLSH_Val_ro & (0x03U)) << 6U) ); + cframe->Data[5] |= (uint8_t) ( ((_m->SMRL_PosnPrsnSeatLSH_Val_ro >> 2U) & (0x3FU)) | ((_m->SMRL_PosnPrsnSeatLSD_Val_ro & (0x03U)) << 6U) ); + cframe->Data[6] |= (uint8_t) ( ((_m->SMRL_PosnPrsnSeatLSD_Val_ro >> 2U) & (0x3FU)) ); + + cframe->MsgId = (uint32_t) SMRL_MEM2_CANID; + cframe->DLC = (uint8_t) SMRL_MEM2_DLC; + cframe->IDE = (uint8_t) SMRL_MEM2_IDE; + return SMRL_MEM2_CANID; +} + +#else + +uint32_t Pack_SMRL_MEM2_candb(SMRL_MEM2_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(SMRL_MEM2_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->SMRL_PosnActSeatBRHI_Val_ro = (uint8_t) CANDB_SMRL_PosnActSeatBRHI_Val_ro_toS(_m->SMRL_PosnActSeatBRHI_Val_phys); + _m->SMRL_PosnActSeatHRHI_Val_ro = (uint8_t) CANDB_SMRL_PosnActSeatHRHI_Val_ro_toS(_m->SMRL_PosnActSeatHRHI_Val_phys); + _m->SMRL_PosnActSeatBRI_Val_ro = (uint8_t) CANDB_SMRL_PosnActSeatBRI_Val_ro_toS(_m->SMRL_PosnActSeatBRI_Val_phys); + _m->SMRL_PosnPrsnSeatCS_Val_ro = (uint8_t) CANDB_SMRL_PosnPrsnSeatCS_Val_ro_toS(_m->SMRL_PosnPrsnSeatCS_Val_phys); + _m->SMRL_PosnPrsnSeatLSH_Val_ro = (uint8_t) CANDB_SMRL_PosnPrsnSeatLSH_Val_ro_toS(_m->SMRL_PosnPrsnSeatLSH_Val_phys); + _m->SMRL_PosnPrsnSeatLSD_Val_ro = (uint8_t) CANDB_SMRL_PosnPrsnSeatLSD_Val_ro_toS(_m->SMRL_PosnPrsnSeatLSD_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + _d[0] |= (uint8_t) ( (_m->SMRL_PosnActSeatBRHI_Val_ro & (0xFFU)) ); + _d[1] |= (uint8_t) ( (_m->SMRL_PosnActSeatHRHI_Val_ro & (0xFFU)) ); + _d[2] |= (uint8_t) ( (_m->SMRL_PosnActSeatBRI_Val_ro & (0xFFU)) ); + _d[3] |= (uint8_t) ( (_m->SMRL_ActHeatBalance_Stat & (0x07U)) | ((_m->SMRL_ActVentBalance_Stat & (0x07U)) << 3U) | ((_m->SMRL_PosnPrsnSeatCS_Val_ro & (0x03U)) << 6U) ); + _d[4] |= (uint8_t) ( ((_m->SMRL_PosnPrsnSeatCS_Val_ro >> 2U) & (0x3FU)) | ((_m->SMRL_PosnPrsnSeatLSH_Val_ro & (0x03U)) << 6U) ); + _d[5] |= (uint8_t) ( ((_m->SMRL_PosnPrsnSeatLSH_Val_ro >> 2U) & (0x3FU)) | ((_m->SMRL_PosnPrsnSeatLSD_Val_ro & (0x03U)) << 6U) ); + _d[6] |= (uint8_t) ( ((_m->SMRL_PosnPrsnSeatLSD_Val_ro >> 2U) & (0x3FU)) ); + + *_len = (uint8_t) SMRL_MEM2_DLC; + *_ide = (uint8_t) SMRL_MEM2_IDE; + return SMRL_MEM2_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_BCM_MEM_SMRL2_candb(BCM_MEM_SMRL2_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->BCM_RLMemPosnActSeatBRHI_Val_ro = (uint8_t) ( (_d[0] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_RLMemPosnActSeatBRHI_Val_phys = (sigfloat_t)(CANDB_BCM_RLMemPosnActSeatBRHI_Val_ro_fromS(_m->BCM_RLMemPosnActSeatBRHI_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->BCM_RLMemPosnActSeatHRHI_Val_ro = (uint8_t) ( (_d[1] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_RLMemPosnActSeatHRHI_Val_phys = (sigfloat_t)(CANDB_BCM_RLMemPosnActSeatHRHI_Val_ro_fromS(_m->BCM_RLMemPosnActSeatHRHI_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->BCM_RLMemPosnActSeatBRI_Val_ro = (uint8_t) ( (_d[2] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_RLMemPosnActSeatBRI_Val_phys = (sigfloat_t)(CANDB_BCM_RLMemPosnActSeatBRI_Val_ro_fromS(_m->BCM_RLMemPosnActSeatBRI_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->BCM_RLMemActHeatBalance_Val = (uint8_t) ( (_d[3] & (0x07U)) ); + _m->BCM_RLMemActVentBalance_Val = (uint8_t) ( ((_d[3] >> 3U) & (0x07U)) ); + _m->BCM_RLMemPosnPrsnSeatCS_Val_ro = (uint8_t) ( ((_d[4] & (0x3FU)) << 2U) | ((_d[3] >> 6U) & (0x03U)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_RLMemPosnPrsnSeatCS_Val_phys = (sigfloat_t)(CANDB_BCM_RLMemPosnPrsnSeatCS_Val_ro_fromS(_m->BCM_RLMemPosnPrsnSeatCS_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->BCM_RLMemPosnPrsnSeatLSH_Val_ro = (uint8_t) ( ((_d[5] & (0x3FU)) << 2U) | ((_d[4] >> 6U) & (0x03U)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_RLMemPosnPrsnSeatLSH_Val_phys = (sigfloat_t)(CANDB_BCM_RLMemPosnPrsnSeatLSH_Val_ro_fromS(_m->BCM_RLMemPosnPrsnSeatLSH_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->BCM_RLMemPosnPrsnSeatLSD_Val_ro = (uint8_t) ( ((_d[6] & (0x3FU)) << 2U) | ((_d[5] >> 6U) & (0x03U)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_RLMemPosnPrsnSeatLSD_Val_phys = (sigfloat_t)(CANDB_BCM_RLMemPosnPrsnSeatLSD_Val_ro_fromS(_m->BCM_RLMemPosnPrsnSeatLSD_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < BCM_MEM_SMRL2_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_BCM_MEM_SMRL2_candb(&_m->mon1, BCM_MEM_SMRL2_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return BCM_MEM_SMRL2_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_BCM_MEM_SMRL2_candb(BCM_MEM_SMRL2_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(BCM_MEM_SMRL2_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_RLMemPosnActSeatBRHI_Val_ro = (uint8_t) CANDB_BCM_RLMemPosnActSeatBRHI_Val_ro_toS(_m->BCM_RLMemPosnActSeatBRHI_Val_phys); + _m->BCM_RLMemPosnActSeatHRHI_Val_ro = (uint8_t) CANDB_BCM_RLMemPosnActSeatHRHI_Val_ro_toS(_m->BCM_RLMemPosnActSeatHRHI_Val_phys); + _m->BCM_RLMemPosnActSeatBRI_Val_ro = (uint8_t) CANDB_BCM_RLMemPosnActSeatBRI_Val_ro_toS(_m->BCM_RLMemPosnActSeatBRI_Val_phys); + _m->BCM_RLMemPosnPrsnSeatCS_Val_ro = (uint8_t) CANDB_BCM_RLMemPosnPrsnSeatCS_Val_ro_toS(_m->BCM_RLMemPosnPrsnSeatCS_Val_phys); + _m->BCM_RLMemPosnPrsnSeatLSH_Val_ro = (uint8_t) CANDB_BCM_RLMemPosnPrsnSeatLSH_Val_ro_toS(_m->BCM_RLMemPosnPrsnSeatLSH_Val_phys); + _m->BCM_RLMemPosnPrsnSeatLSD_Val_ro = (uint8_t) CANDB_BCM_RLMemPosnPrsnSeatLSD_Val_ro_toS(_m->BCM_RLMemPosnPrsnSeatLSD_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + cframe->Data[0] |= (uint8_t) ( (_m->BCM_RLMemPosnActSeatBRHI_Val_ro & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( (_m->BCM_RLMemPosnActSeatHRHI_Val_ro & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( (_m->BCM_RLMemPosnActSeatBRI_Val_ro & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( (_m->BCM_RLMemActHeatBalance_Val & (0x07U)) | ((_m->BCM_RLMemActVentBalance_Val & (0x07U)) << 3U) | ((_m->BCM_RLMemPosnPrsnSeatCS_Val_ro & (0x03U)) << 6U) ); + cframe->Data[4] |= (uint8_t) ( ((_m->BCM_RLMemPosnPrsnSeatCS_Val_ro >> 2U) & (0x3FU)) | ((_m->BCM_RLMemPosnPrsnSeatLSH_Val_ro & (0x03U)) << 6U) ); + cframe->Data[5] |= (uint8_t) ( ((_m->BCM_RLMemPosnPrsnSeatLSH_Val_ro >> 2U) & (0x3FU)) | ((_m->BCM_RLMemPosnPrsnSeatLSD_Val_ro & (0x03U)) << 6U) ); + cframe->Data[6] |= (uint8_t) ( ((_m->BCM_RLMemPosnPrsnSeatLSD_Val_ro >> 2U) & (0x3FU)) ); + + cframe->MsgId = (uint32_t) BCM_MEM_SMRL2_CANID; + cframe->DLC = (uint8_t) BCM_MEM_SMRL2_DLC; + cframe->IDE = (uint8_t) BCM_MEM_SMRL2_IDE; + return BCM_MEM_SMRL2_CANID; +} + +#else + +uint32_t Pack_BCM_MEM_SMRL2_candb(BCM_MEM_SMRL2_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(BCM_MEM_SMRL2_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_RLMemPosnActSeatBRHI_Val_ro = (uint8_t) CANDB_BCM_RLMemPosnActSeatBRHI_Val_ro_toS(_m->BCM_RLMemPosnActSeatBRHI_Val_phys); + _m->BCM_RLMemPosnActSeatHRHI_Val_ro = (uint8_t) CANDB_BCM_RLMemPosnActSeatHRHI_Val_ro_toS(_m->BCM_RLMemPosnActSeatHRHI_Val_phys); + _m->BCM_RLMemPosnActSeatBRI_Val_ro = (uint8_t) CANDB_BCM_RLMemPosnActSeatBRI_Val_ro_toS(_m->BCM_RLMemPosnActSeatBRI_Val_phys); + _m->BCM_RLMemPosnPrsnSeatCS_Val_ro = (uint8_t) CANDB_BCM_RLMemPosnPrsnSeatCS_Val_ro_toS(_m->BCM_RLMemPosnPrsnSeatCS_Val_phys); + _m->BCM_RLMemPosnPrsnSeatLSH_Val_ro = (uint8_t) CANDB_BCM_RLMemPosnPrsnSeatLSH_Val_ro_toS(_m->BCM_RLMemPosnPrsnSeatLSH_Val_phys); + _m->BCM_RLMemPosnPrsnSeatLSD_Val_ro = (uint8_t) CANDB_BCM_RLMemPosnPrsnSeatLSD_Val_ro_toS(_m->BCM_RLMemPosnPrsnSeatLSD_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + _d[0] |= (uint8_t) ( (_m->BCM_RLMemPosnActSeatBRHI_Val_ro & (0xFFU)) ); + _d[1] |= (uint8_t) ( (_m->BCM_RLMemPosnActSeatHRHI_Val_ro & (0xFFU)) ); + _d[2] |= (uint8_t) ( (_m->BCM_RLMemPosnActSeatBRI_Val_ro & (0xFFU)) ); + _d[3] |= (uint8_t) ( (_m->BCM_RLMemActHeatBalance_Val & (0x07U)) | ((_m->BCM_RLMemActVentBalance_Val & (0x07U)) << 3U) | ((_m->BCM_RLMemPosnPrsnSeatCS_Val_ro & (0x03U)) << 6U) ); + _d[4] |= (uint8_t) ( ((_m->BCM_RLMemPosnPrsnSeatCS_Val_ro >> 2U) & (0x3FU)) | ((_m->BCM_RLMemPosnPrsnSeatLSH_Val_ro & (0x03U)) << 6U) ); + _d[5] |= (uint8_t) ( ((_m->BCM_RLMemPosnPrsnSeatLSH_Val_ro >> 2U) & (0x3FU)) | ((_m->BCM_RLMemPosnPrsnSeatLSD_Val_ro & (0x03U)) << 6U) ); + _d[6] |= (uint8_t) ( ((_m->BCM_RLMemPosnPrsnSeatLSD_Val_ro >> 2U) & (0x3FU)) ); + + *_len = (uint8_t) BCM_MEM_SMRL2_DLC; + *_ide = (uint8_t) BCM_MEM_SMRL2_IDE; + return BCM_MEM_SMRL2_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_SMRR_MEM1_candb(SMRR_MEM1_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->SMRR_PosnActSeatI_Val_ro = (uint8_t) ( (_d[0] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->SMRR_PosnActSeatI_Val_phys = (sigfloat_t)(CANDB_SMRR_PosnActSeatI_Val_ro_fromS(_m->SMRR_PosnActSeatI_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->SMRR_PosnActSeatBRW_Val_ro = (uint8_t) ( (_d[1] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->SMRR_PosnActSeatBRW_Val_phys = (uint16_t) CANDB_SMRR_PosnActSeatBRW_Val_ro_fromS(_m->SMRR_PosnActSeatBRW_Val_ro); +#endif // CANDB_USE_SIGFLOAT + + _m->SMRR_PosnActSeatFRH_Val_ro = (uint8_t) ( (_d[2] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->SMRR_PosnActSeatFRH_Val_phys = (sigfloat_t)(CANDB_SMRR_PosnActSeatFRH_Val_ro_fromS(_m->SMRR_PosnActSeatFRH_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->SMRR_PosnActSeatFRL_Val_ro = (uint8_t) ( (_d[3] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->SMRR_PosnActSeatFRL_Val_phys = (sigfloat_t)(CANDB_SMRR_PosnActSeatFRL_Val_ro_fromS(_m->SMRR_PosnActSeatFRL_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->SMRR_PosnActSeatH_Val_ro = (uint8_t) ( (_d[4] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->SMRR_PosnActSeatH_Val_phys = (sigfloat_t)(CANDB_SMRR_PosnActSeatH_Val_ro_fromS(_m->SMRR_PosnActSeatH_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->SMRR_PosnActSeatHRH_Val_ro = (uint8_t) ( (_d[5] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->SMRR_PosnActSeatHRH_Val_phys = (sigfloat_t)(CANDB_SMRR_PosnActSeatHRH_Val_ro_fromS(_m->SMRR_PosnActSeatHRH_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->SMRR_PosnActSeatL_Val_ro = (uint8_t) ( (_d[6] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->SMRR_PosnActSeatL_Val_phys = (sigfloat_t)(CANDB_SMRR_PosnActSeatL_Val_ro_fromS(_m->SMRR_PosnActSeatL_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->SMRR_PosnActSeatSL_Val_ro = (uint8_t) ( (_d[7] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->SMRR_PosnActSeatSL_Val_phys = (sigfloat_t)(CANDB_SMRR_PosnActSeatSL_Val_ro_fromS(_m->SMRR_PosnActSeatSL_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < SMRR_MEM1_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_SMRR_MEM1_candb(&_m->mon1, SMRR_MEM1_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return SMRR_MEM1_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_SMRR_MEM1_candb(SMRR_MEM1_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(SMRR_MEM1_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->SMRR_PosnActSeatI_Val_ro = (uint8_t) CANDB_SMRR_PosnActSeatI_Val_ro_toS(_m->SMRR_PosnActSeatI_Val_phys); + _m->SMRR_PosnActSeatBRW_Val_ro = (uint8_t) CANDB_SMRR_PosnActSeatBRW_Val_ro_toS(_m->SMRR_PosnActSeatBRW_Val_phys); + _m->SMRR_PosnActSeatFRH_Val_ro = (uint8_t) CANDB_SMRR_PosnActSeatFRH_Val_ro_toS(_m->SMRR_PosnActSeatFRH_Val_phys); + _m->SMRR_PosnActSeatFRL_Val_ro = (uint8_t) CANDB_SMRR_PosnActSeatFRL_Val_ro_toS(_m->SMRR_PosnActSeatFRL_Val_phys); + _m->SMRR_PosnActSeatH_Val_ro = (uint8_t) CANDB_SMRR_PosnActSeatH_Val_ro_toS(_m->SMRR_PosnActSeatH_Val_phys); + _m->SMRR_PosnActSeatHRH_Val_ro = (uint8_t) CANDB_SMRR_PosnActSeatHRH_Val_ro_toS(_m->SMRR_PosnActSeatHRH_Val_phys); + _m->SMRR_PosnActSeatL_Val_ro = (uint8_t) CANDB_SMRR_PosnActSeatL_Val_ro_toS(_m->SMRR_PosnActSeatL_Val_phys); + _m->SMRR_PosnActSeatSL_Val_ro = (uint8_t) CANDB_SMRR_PosnActSeatSL_Val_ro_toS(_m->SMRR_PosnActSeatSL_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + cframe->Data[0] |= (uint8_t) ( (_m->SMRR_PosnActSeatI_Val_ro & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( (_m->SMRR_PosnActSeatBRW_Val_ro & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( (_m->SMRR_PosnActSeatFRH_Val_ro & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( (_m->SMRR_PosnActSeatFRL_Val_ro & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( (_m->SMRR_PosnActSeatH_Val_ro & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( (_m->SMRR_PosnActSeatHRH_Val_ro & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( (_m->SMRR_PosnActSeatL_Val_ro & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->SMRR_PosnActSeatSL_Val_ro & (0xFFU)) ); + + cframe->MsgId = (uint32_t) SMRR_MEM1_CANID; + cframe->DLC = (uint8_t) SMRR_MEM1_DLC; + cframe->IDE = (uint8_t) SMRR_MEM1_IDE; + return SMRR_MEM1_CANID; +} + +#else + +uint32_t Pack_SMRR_MEM1_candb(SMRR_MEM1_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(SMRR_MEM1_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->SMRR_PosnActSeatI_Val_ro = (uint8_t) CANDB_SMRR_PosnActSeatI_Val_ro_toS(_m->SMRR_PosnActSeatI_Val_phys); + _m->SMRR_PosnActSeatBRW_Val_ro = (uint8_t) CANDB_SMRR_PosnActSeatBRW_Val_ro_toS(_m->SMRR_PosnActSeatBRW_Val_phys); + _m->SMRR_PosnActSeatFRH_Val_ro = (uint8_t) CANDB_SMRR_PosnActSeatFRH_Val_ro_toS(_m->SMRR_PosnActSeatFRH_Val_phys); + _m->SMRR_PosnActSeatFRL_Val_ro = (uint8_t) CANDB_SMRR_PosnActSeatFRL_Val_ro_toS(_m->SMRR_PosnActSeatFRL_Val_phys); + _m->SMRR_PosnActSeatH_Val_ro = (uint8_t) CANDB_SMRR_PosnActSeatH_Val_ro_toS(_m->SMRR_PosnActSeatH_Val_phys); + _m->SMRR_PosnActSeatHRH_Val_ro = (uint8_t) CANDB_SMRR_PosnActSeatHRH_Val_ro_toS(_m->SMRR_PosnActSeatHRH_Val_phys); + _m->SMRR_PosnActSeatL_Val_ro = (uint8_t) CANDB_SMRR_PosnActSeatL_Val_ro_toS(_m->SMRR_PosnActSeatL_Val_phys); + _m->SMRR_PosnActSeatSL_Val_ro = (uint8_t) CANDB_SMRR_PosnActSeatSL_Val_ro_toS(_m->SMRR_PosnActSeatSL_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + _d[0] |= (uint8_t) ( (_m->SMRR_PosnActSeatI_Val_ro & (0xFFU)) ); + _d[1] |= (uint8_t) ( (_m->SMRR_PosnActSeatBRW_Val_ro & (0xFFU)) ); + _d[2] |= (uint8_t) ( (_m->SMRR_PosnActSeatFRH_Val_ro & (0xFFU)) ); + _d[3] |= (uint8_t) ( (_m->SMRR_PosnActSeatFRL_Val_ro & (0xFFU)) ); + _d[4] |= (uint8_t) ( (_m->SMRR_PosnActSeatH_Val_ro & (0xFFU)) ); + _d[5] |= (uint8_t) ( (_m->SMRR_PosnActSeatHRH_Val_ro & (0xFFU)) ); + _d[6] |= (uint8_t) ( (_m->SMRR_PosnActSeatL_Val_ro & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->SMRR_PosnActSeatSL_Val_ro & (0xFFU)) ); + + *_len = (uint8_t) SMRR_MEM1_DLC; + *_ide = (uint8_t) SMRR_MEM1_IDE; + return SMRR_MEM1_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_BCM_MEM_SMRR1_candb(BCM_MEM_SMRR1_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->BCM_RRMemPosnActSeatI_Val_ro = (uint8_t) ( (_d[0] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_RRMemPosnActSeatI_Val_phys = (sigfloat_t)(CANDB_BCM_RRMemPosnActSeatI_Val_ro_fromS(_m->BCM_RRMemPosnActSeatI_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->BCM_RRMemPosnActSeatBRW_Val_ro = (uint8_t) ( (_d[1] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_RRMemPosnActSeatBRW_Val_phys = (uint16_t) CANDB_BCM_RRMemPosnActSeatBRW_Val_ro_fromS(_m->BCM_RRMemPosnActSeatBRW_Val_ro); +#endif // CANDB_USE_SIGFLOAT + + _m->BCM_RRMemPosnActSeatFRH_Val_ro = (uint8_t) ( (_d[2] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_RRMemPosnActSeatFRH_Val_phys = (sigfloat_t)(CANDB_BCM_RRMemPosnActSeatFRH_Val_ro_fromS(_m->BCM_RRMemPosnActSeatFRH_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->BCM_RRMemPosnActSeatFRL_Val_ro = (uint8_t) ( (_d[3] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_RRMemPosnActSeatFRL_Val_phys = (sigfloat_t)(CANDB_BCM_RRMemPosnActSeatFRL_Val_ro_fromS(_m->BCM_RRMemPosnActSeatFRL_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->BCM_RRMemPosnActSeatH_Val_ro = (uint8_t) ( (_d[4] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_RRMemPosnActSeatH_Val_phys = (sigfloat_t)(CANDB_BCM_RRMemPosnActSeatH_Val_ro_fromS(_m->BCM_RRMemPosnActSeatH_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->BCM_RRMemPosnActSeatHRH_Val_ro = (uint8_t) ( (_d[5] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_RRMemPosnActSeatHRH_Val_phys = (sigfloat_t)(CANDB_BCM_RRMemPosnActSeatHRH_Val_ro_fromS(_m->BCM_RRMemPosnActSeatHRH_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->BCM_RRMemPosnActSeatL_Val_ro = (uint8_t) ( (_d[6] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_RRMemPosnActSeatL_Val_phys = (sigfloat_t)(CANDB_BCM_RRMemPosnActSeatL_Val_ro_fromS(_m->BCM_RRMemPosnActSeatL_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->BCM_RRMemPosnActSeatSL_Val_ro = (uint8_t) ( (_d[7] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_RRMemPosnActSeatSL_Val_phys = (sigfloat_t)(CANDB_BCM_RRMemPosnActSeatSL_Val_ro_fromS(_m->BCM_RRMemPosnActSeatSL_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < BCM_MEM_SMRR1_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_BCM_MEM_SMRR1_candb(&_m->mon1, BCM_MEM_SMRR1_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return BCM_MEM_SMRR1_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_BCM_MEM_SMRR1_candb(BCM_MEM_SMRR1_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(BCM_MEM_SMRR1_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_RRMemPosnActSeatI_Val_ro = (uint8_t) CANDB_BCM_RRMemPosnActSeatI_Val_ro_toS(_m->BCM_RRMemPosnActSeatI_Val_phys); + _m->BCM_RRMemPosnActSeatBRW_Val_ro = (uint8_t) CANDB_BCM_RRMemPosnActSeatBRW_Val_ro_toS(_m->BCM_RRMemPosnActSeatBRW_Val_phys); + _m->BCM_RRMemPosnActSeatFRH_Val_ro = (uint8_t) CANDB_BCM_RRMemPosnActSeatFRH_Val_ro_toS(_m->BCM_RRMemPosnActSeatFRH_Val_phys); + _m->BCM_RRMemPosnActSeatFRL_Val_ro = (uint8_t) CANDB_BCM_RRMemPosnActSeatFRL_Val_ro_toS(_m->BCM_RRMemPosnActSeatFRL_Val_phys); + _m->BCM_RRMemPosnActSeatH_Val_ro = (uint8_t) CANDB_BCM_RRMemPosnActSeatH_Val_ro_toS(_m->BCM_RRMemPosnActSeatH_Val_phys); + _m->BCM_RRMemPosnActSeatHRH_Val_ro = (uint8_t) CANDB_BCM_RRMemPosnActSeatHRH_Val_ro_toS(_m->BCM_RRMemPosnActSeatHRH_Val_phys); + _m->BCM_RRMemPosnActSeatL_Val_ro = (uint8_t) CANDB_BCM_RRMemPosnActSeatL_Val_ro_toS(_m->BCM_RRMemPosnActSeatL_Val_phys); + _m->BCM_RRMemPosnActSeatSL_Val_ro = (uint8_t) CANDB_BCM_RRMemPosnActSeatSL_Val_ro_toS(_m->BCM_RRMemPosnActSeatSL_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + cframe->Data[0] |= (uint8_t) ( (_m->BCM_RRMemPosnActSeatI_Val_ro & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( (_m->BCM_RRMemPosnActSeatBRW_Val_ro & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( (_m->BCM_RRMemPosnActSeatFRH_Val_ro & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( (_m->BCM_RRMemPosnActSeatFRL_Val_ro & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( (_m->BCM_RRMemPosnActSeatH_Val_ro & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( (_m->BCM_RRMemPosnActSeatHRH_Val_ro & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( (_m->BCM_RRMemPosnActSeatL_Val_ro & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->BCM_RRMemPosnActSeatSL_Val_ro & (0xFFU)) ); + + cframe->MsgId = (uint32_t) BCM_MEM_SMRR1_CANID; + cframe->DLC = (uint8_t) BCM_MEM_SMRR1_DLC; + cframe->IDE = (uint8_t) BCM_MEM_SMRR1_IDE; + return BCM_MEM_SMRR1_CANID; +} + +#else + +uint32_t Pack_BCM_MEM_SMRR1_candb(BCM_MEM_SMRR1_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(BCM_MEM_SMRR1_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_RRMemPosnActSeatI_Val_ro = (uint8_t) CANDB_BCM_RRMemPosnActSeatI_Val_ro_toS(_m->BCM_RRMemPosnActSeatI_Val_phys); + _m->BCM_RRMemPosnActSeatBRW_Val_ro = (uint8_t) CANDB_BCM_RRMemPosnActSeatBRW_Val_ro_toS(_m->BCM_RRMemPosnActSeatBRW_Val_phys); + _m->BCM_RRMemPosnActSeatFRH_Val_ro = (uint8_t) CANDB_BCM_RRMemPosnActSeatFRH_Val_ro_toS(_m->BCM_RRMemPosnActSeatFRH_Val_phys); + _m->BCM_RRMemPosnActSeatFRL_Val_ro = (uint8_t) CANDB_BCM_RRMemPosnActSeatFRL_Val_ro_toS(_m->BCM_RRMemPosnActSeatFRL_Val_phys); + _m->BCM_RRMemPosnActSeatH_Val_ro = (uint8_t) CANDB_BCM_RRMemPosnActSeatH_Val_ro_toS(_m->BCM_RRMemPosnActSeatH_Val_phys); + _m->BCM_RRMemPosnActSeatHRH_Val_ro = (uint8_t) CANDB_BCM_RRMemPosnActSeatHRH_Val_ro_toS(_m->BCM_RRMemPosnActSeatHRH_Val_phys); + _m->BCM_RRMemPosnActSeatL_Val_ro = (uint8_t) CANDB_BCM_RRMemPosnActSeatL_Val_ro_toS(_m->BCM_RRMemPosnActSeatL_Val_phys); + _m->BCM_RRMemPosnActSeatSL_Val_ro = (uint8_t) CANDB_BCM_RRMemPosnActSeatSL_Val_ro_toS(_m->BCM_RRMemPosnActSeatSL_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + _d[0] |= (uint8_t) ( (_m->BCM_RRMemPosnActSeatI_Val_ro & (0xFFU)) ); + _d[1] |= (uint8_t) ( (_m->BCM_RRMemPosnActSeatBRW_Val_ro & (0xFFU)) ); + _d[2] |= (uint8_t) ( (_m->BCM_RRMemPosnActSeatFRH_Val_ro & (0xFFU)) ); + _d[3] |= (uint8_t) ( (_m->BCM_RRMemPosnActSeatFRL_Val_ro & (0xFFU)) ); + _d[4] |= (uint8_t) ( (_m->BCM_RRMemPosnActSeatH_Val_ro & (0xFFU)) ); + _d[5] |= (uint8_t) ( (_m->BCM_RRMemPosnActSeatHRH_Val_ro & (0xFFU)) ); + _d[6] |= (uint8_t) ( (_m->BCM_RRMemPosnActSeatL_Val_ro & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->BCM_RRMemPosnActSeatSL_Val_ro & (0xFFU)) ); + + *_len = (uint8_t) BCM_MEM_SMRR1_DLC; + *_ide = (uint8_t) BCM_MEM_SMRR1_IDE; + return BCM_MEM_SMRR1_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_SMRR_MEM2_candb(SMRR_MEM2_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->SMRR_PosnActSeatBRHI_Val_ro = (uint8_t) ( (_d[0] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->SMRR_PosnActSeatBRHI_Val_phys = (sigfloat_t)(CANDB_SMRR_PosnActSeatBRHI_Val_ro_fromS(_m->SMRR_PosnActSeatBRHI_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->SMRR_PosnActSeatHRHI_Val_ro = (uint8_t) ( (_d[1] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->SMRR_PosnActSeatHRHI_Val_phys = (sigfloat_t)(CANDB_SMRR_PosnActSeatHRHI_Val_ro_fromS(_m->SMRR_PosnActSeatHRHI_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->SMRR_PosnActSeatBRI_Val_ro = (uint8_t) ( (_d[2] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->SMRR_PosnActSeatBRI_Val_phys = (sigfloat_t)(CANDB_SMRR_PosnActSeatBRI_Val_ro_fromS(_m->SMRR_PosnActSeatBRI_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->SMRR_ActHeatBalance_Stat = (uint8_t) ( (_d[3] & (0x07U)) ); + _m->SMRR_ActVentBalance_Stat = (uint8_t) ( ((_d[3] >> 3U) & (0x07U)) ); + _m->SMRR_PosnPrsnSeatCS_Val_ro = (uint8_t) ( ((_d[4] & (0x3FU)) << 2U) | ((_d[3] >> 6U) & (0x03U)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->SMRR_PosnPrsnSeatCS_Val_phys = (sigfloat_t)(CANDB_SMRR_PosnPrsnSeatCS_Val_ro_fromS(_m->SMRR_PosnPrsnSeatCS_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->SMRR_PosnPrsnSeatLSH_Val_ro = (uint8_t) ( ((_d[5] & (0x3FU)) << 2U) | ((_d[4] >> 6U) & (0x03U)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->SMRR_PosnPrsnSeatLSH_Val_phys = (sigfloat_t)(CANDB_SMRR_PosnPrsnSeatLSH_Val_ro_fromS(_m->SMRR_PosnPrsnSeatLSH_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->SMRR_PosnPrsnSeatLSD_Val_ro = (uint8_t) ( ((_d[6] & (0x3FU)) << 2U) | ((_d[5] >> 6U) & (0x03U)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->SMRR_PosnPrsnSeatLSD_Val_phys = (sigfloat_t)(CANDB_SMRR_PosnPrsnSeatLSD_Val_ro_fromS(_m->SMRR_PosnPrsnSeatLSD_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < SMRR_MEM2_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_SMRR_MEM2_candb(&_m->mon1, SMRR_MEM2_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return SMRR_MEM2_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_SMRR_MEM2_candb(SMRR_MEM2_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(SMRR_MEM2_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->SMRR_PosnActSeatBRHI_Val_ro = (uint8_t) CANDB_SMRR_PosnActSeatBRHI_Val_ro_toS(_m->SMRR_PosnActSeatBRHI_Val_phys); + _m->SMRR_PosnActSeatHRHI_Val_ro = (uint8_t) CANDB_SMRR_PosnActSeatHRHI_Val_ro_toS(_m->SMRR_PosnActSeatHRHI_Val_phys); + _m->SMRR_PosnActSeatBRI_Val_ro = (uint8_t) CANDB_SMRR_PosnActSeatBRI_Val_ro_toS(_m->SMRR_PosnActSeatBRI_Val_phys); + _m->SMRR_PosnPrsnSeatCS_Val_ro = (uint8_t) CANDB_SMRR_PosnPrsnSeatCS_Val_ro_toS(_m->SMRR_PosnPrsnSeatCS_Val_phys); + _m->SMRR_PosnPrsnSeatLSH_Val_ro = (uint8_t) CANDB_SMRR_PosnPrsnSeatLSH_Val_ro_toS(_m->SMRR_PosnPrsnSeatLSH_Val_phys); + _m->SMRR_PosnPrsnSeatLSD_Val_ro = (uint8_t) CANDB_SMRR_PosnPrsnSeatLSD_Val_ro_toS(_m->SMRR_PosnPrsnSeatLSD_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + cframe->Data[0] |= (uint8_t) ( (_m->SMRR_PosnActSeatBRHI_Val_ro & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( (_m->SMRR_PosnActSeatHRHI_Val_ro & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( (_m->SMRR_PosnActSeatBRI_Val_ro & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( (_m->SMRR_ActHeatBalance_Stat & (0x07U)) | ((_m->SMRR_ActVentBalance_Stat & (0x07U)) << 3U) | ((_m->SMRR_PosnPrsnSeatCS_Val_ro & (0x03U)) << 6U) ); + cframe->Data[4] |= (uint8_t) ( ((_m->SMRR_PosnPrsnSeatCS_Val_ro >> 2U) & (0x3FU)) | ((_m->SMRR_PosnPrsnSeatLSH_Val_ro & (0x03U)) << 6U) ); + cframe->Data[5] |= (uint8_t) ( ((_m->SMRR_PosnPrsnSeatLSH_Val_ro >> 2U) & (0x3FU)) | ((_m->SMRR_PosnPrsnSeatLSD_Val_ro & (0x03U)) << 6U) ); + cframe->Data[6] |= (uint8_t) ( ((_m->SMRR_PosnPrsnSeatLSD_Val_ro >> 2U) & (0x3FU)) ); + + cframe->MsgId = (uint32_t) SMRR_MEM2_CANID; + cframe->DLC = (uint8_t) SMRR_MEM2_DLC; + cframe->IDE = (uint8_t) SMRR_MEM2_IDE; + return SMRR_MEM2_CANID; +} + +#else + +uint32_t Pack_SMRR_MEM2_candb(SMRR_MEM2_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(SMRR_MEM2_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->SMRR_PosnActSeatBRHI_Val_ro = (uint8_t) CANDB_SMRR_PosnActSeatBRHI_Val_ro_toS(_m->SMRR_PosnActSeatBRHI_Val_phys); + _m->SMRR_PosnActSeatHRHI_Val_ro = (uint8_t) CANDB_SMRR_PosnActSeatHRHI_Val_ro_toS(_m->SMRR_PosnActSeatHRHI_Val_phys); + _m->SMRR_PosnActSeatBRI_Val_ro = (uint8_t) CANDB_SMRR_PosnActSeatBRI_Val_ro_toS(_m->SMRR_PosnActSeatBRI_Val_phys); + _m->SMRR_PosnPrsnSeatCS_Val_ro = (uint8_t) CANDB_SMRR_PosnPrsnSeatCS_Val_ro_toS(_m->SMRR_PosnPrsnSeatCS_Val_phys); + _m->SMRR_PosnPrsnSeatLSH_Val_ro = (uint8_t) CANDB_SMRR_PosnPrsnSeatLSH_Val_ro_toS(_m->SMRR_PosnPrsnSeatLSH_Val_phys); + _m->SMRR_PosnPrsnSeatLSD_Val_ro = (uint8_t) CANDB_SMRR_PosnPrsnSeatLSD_Val_ro_toS(_m->SMRR_PosnPrsnSeatLSD_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + _d[0] |= (uint8_t) ( (_m->SMRR_PosnActSeatBRHI_Val_ro & (0xFFU)) ); + _d[1] |= (uint8_t) ( (_m->SMRR_PosnActSeatHRHI_Val_ro & (0xFFU)) ); + _d[2] |= (uint8_t) ( (_m->SMRR_PosnActSeatBRI_Val_ro & (0xFFU)) ); + _d[3] |= (uint8_t) ( (_m->SMRR_ActHeatBalance_Stat & (0x07U)) | ((_m->SMRR_ActVentBalance_Stat & (0x07U)) << 3U) | ((_m->SMRR_PosnPrsnSeatCS_Val_ro & (0x03U)) << 6U) ); + _d[4] |= (uint8_t) ( ((_m->SMRR_PosnPrsnSeatCS_Val_ro >> 2U) & (0x3FU)) | ((_m->SMRR_PosnPrsnSeatLSH_Val_ro & (0x03U)) << 6U) ); + _d[5] |= (uint8_t) ( ((_m->SMRR_PosnPrsnSeatLSH_Val_ro >> 2U) & (0x3FU)) | ((_m->SMRR_PosnPrsnSeatLSD_Val_ro & (0x03U)) << 6U) ); + _d[6] |= (uint8_t) ( ((_m->SMRR_PosnPrsnSeatLSD_Val_ro >> 2U) & (0x3FU)) ); + + *_len = (uint8_t) SMRR_MEM2_DLC; + *_ide = (uint8_t) SMRR_MEM2_IDE; + return SMRR_MEM2_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_BCM_MEM_SMRR2_candb(BCM_MEM_SMRR2_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->BCM_RRMemPosnActSeatBRHI_Val_ro = (uint8_t) ( (_d[0] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_RRMemPosnActSeatBRHI_Val_phys = (sigfloat_t)(CANDB_BCM_RRMemPosnActSeatBRHI_Val_ro_fromS(_m->BCM_RRMemPosnActSeatBRHI_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->BCM_RRMemPosnActSeatHRHI_Val_ro = (uint8_t) ( (_d[1] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_RRMemPosnActSeatHRHI_Val_phys = (sigfloat_t)(CANDB_BCM_RRMemPosnActSeatHRHI_Val_ro_fromS(_m->BCM_RRMemPosnActSeatHRHI_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->BCM_RRMemPosnActSeatBRI_Val_ro = (uint8_t) ( (_d[2] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_RRMemPosnActSeatBRI_Val_phys = (sigfloat_t)(CANDB_BCM_RRMemPosnActSeatBRI_Val_ro_fromS(_m->BCM_RRMemPosnActSeatBRI_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->BCM_RRMemActHeatBalance_Val = (uint8_t) ( (_d[3] & (0x07U)) ); + _m->BCM_RRMemActVentBalance_Val = (uint8_t) ( ((_d[3] >> 3U) & (0x07U)) ); + _m->BCM_RRMemPosnPrsnSeatCS_Val_ro = (uint8_t) ( ((_d[4] & (0x3FU)) << 2U) | ((_d[3] >> 6U) & (0x03U)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_RRMemPosnPrsnSeatCS_Val_phys = (sigfloat_t)(CANDB_BCM_RRMemPosnPrsnSeatCS_Val_ro_fromS(_m->BCM_RRMemPosnPrsnSeatCS_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->BCM_RRMemPosnPrsnSeatLSH_Val_ro = (uint8_t) ( ((_d[5] & (0x3FU)) << 2U) | ((_d[4] >> 6U) & (0x03U)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_RRMemPosnPrsnSeatLSH_Val_phys = (sigfloat_t)(CANDB_BCM_RRMemPosnPrsnSeatLSH_Val_ro_fromS(_m->BCM_RRMemPosnPrsnSeatLSH_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->BCM_RRMemPosnPrsnSeatLSD_Val_ro = (uint8_t) ( ((_d[6] & (0x3FU)) << 2U) | ((_d[5] >> 6U) & (0x03U)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_RRMemPosnPrsnSeatLSD_Val_phys = (sigfloat_t)(CANDB_BCM_RRMemPosnPrsnSeatLSD_Val_ro_fromS(_m->BCM_RRMemPosnPrsnSeatLSD_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < BCM_MEM_SMRR2_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_BCM_MEM_SMRR2_candb(&_m->mon1, BCM_MEM_SMRR2_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return BCM_MEM_SMRR2_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_BCM_MEM_SMRR2_candb(BCM_MEM_SMRR2_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(BCM_MEM_SMRR2_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_RRMemPosnActSeatBRHI_Val_ro = (uint8_t) CANDB_BCM_RRMemPosnActSeatBRHI_Val_ro_toS(_m->BCM_RRMemPosnActSeatBRHI_Val_phys); + _m->BCM_RRMemPosnActSeatHRHI_Val_ro = (uint8_t) CANDB_BCM_RRMemPosnActSeatHRHI_Val_ro_toS(_m->BCM_RRMemPosnActSeatHRHI_Val_phys); + _m->BCM_RRMemPosnActSeatBRI_Val_ro = (uint8_t) CANDB_BCM_RRMemPosnActSeatBRI_Val_ro_toS(_m->BCM_RRMemPosnActSeatBRI_Val_phys); + _m->BCM_RRMemPosnPrsnSeatCS_Val_ro = (uint8_t) CANDB_BCM_RRMemPosnPrsnSeatCS_Val_ro_toS(_m->BCM_RRMemPosnPrsnSeatCS_Val_phys); + _m->BCM_RRMemPosnPrsnSeatLSH_Val_ro = (uint8_t) CANDB_BCM_RRMemPosnPrsnSeatLSH_Val_ro_toS(_m->BCM_RRMemPosnPrsnSeatLSH_Val_phys); + _m->BCM_RRMemPosnPrsnSeatLSD_Val_ro = (uint8_t) CANDB_BCM_RRMemPosnPrsnSeatLSD_Val_ro_toS(_m->BCM_RRMemPosnPrsnSeatLSD_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + cframe->Data[0] |= (uint8_t) ( (_m->BCM_RRMemPosnActSeatBRHI_Val_ro & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( (_m->BCM_RRMemPosnActSeatHRHI_Val_ro & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( (_m->BCM_RRMemPosnActSeatBRI_Val_ro & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( (_m->BCM_RRMemActHeatBalance_Val & (0x07U)) | ((_m->BCM_RRMemActVentBalance_Val & (0x07U)) << 3U) | ((_m->BCM_RRMemPosnPrsnSeatCS_Val_ro & (0x03U)) << 6U) ); + cframe->Data[4] |= (uint8_t) ( ((_m->BCM_RRMemPosnPrsnSeatCS_Val_ro >> 2U) & (0x3FU)) | ((_m->BCM_RRMemPosnPrsnSeatLSH_Val_ro & (0x03U)) << 6U) ); + cframe->Data[5] |= (uint8_t) ( ((_m->BCM_RRMemPosnPrsnSeatLSH_Val_ro >> 2U) & (0x3FU)) | ((_m->BCM_RRMemPosnPrsnSeatLSD_Val_ro & (0x03U)) << 6U) ); + cframe->Data[6] |= (uint8_t) ( ((_m->BCM_RRMemPosnPrsnSeatLSD_Val_ro >> 2U) & (0x3FU)) ); + + cframe->MsgId = (uint32_t) BCM_MEM_SMRR2_CANID; + cframe->DLC = (uint8_t) BCM_MEM_SMRR2_DLC; + cframe->IDE = (uint8_t) BCM_MEM_SMRR2_IDE; + return BCM_MEM_SMRR2_CANID; +} + +#else + +uint32_t Pack_BCM_MEM_SMRR2_candb(BCM_MEM_SMRR2_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(BCM_MEM_SMRR2_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_RRMemPosnActSeatBRHI_Val_ro = (uint8_t) CANDB_BCM_RRMemPosnActSeatBRHI_Val_ro_toS(_m->BCM_RRMemPosnActSeatBRHI_Val_phys); + _m->BCM_RRMemPosnActSeatHRHI_Val_ro = (uint8_t) CANDB_BCM_RRMemPosnActSeatHRHI_Val_ro_toS(_m->BCM_RRMemPosnActSeatHRHI_Val_phys); + _m->BCM_RRMemPosnActSeatBRI_Val_ro = (uint8_t) CANDB_BCM_RRMemPosnActSeatBRI_Val_ro_toS(_m->BCM_RRMemPosnActSeatBRI_Val_phys); + _m->BCM_RRMemPosnPrsnSeatCS_Val_ro = (uint8_t) CANDB_BCM_RRMemPosnPrsnSeatCS_Val_ro_toS(_m->BCM_RRMemPosnPrsnSeatCS_Val_phys); + _m->BCM_RRMemPosnPrsnSeatLSH_Val_ro = (uint8_t) CANDB_BCM_RRMemPosnPrsnSeatLSH_Val_ro_toS(_m->BCM_RRMemPosnPrsnSeatLSH_Val_phys); + _m->BCM_RRMemPosnPrsnSeatLSD_Val_ro = (uint8_t) CANDB_BCM_RRMemPosnPrsnSeatLSD_Val_ro_toS(_m->BCM_RRMemPosnPrsnSeatLSD_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + _d[0] |= (uint8_t) ( (_m->BCM_RRMemPosnActSeatBRHI_Val_ro & (0xFFU)) ); + _d[1] |= (uint8_t) ( (_m->BCM_RRMemPosnActSeatHRHI_Val_ro & (0xFFU)) ); + _d[2] |= (uint8_t) ( (_m->BCM_RRMemPosnActSeatBRI_Val_ro & (0xFFU)) ); + _d[3] |= (uint8_t) ( (_m->BCM_RRMemActHeatBalance_Val & (0x07U)) | ((_m->BCM_RRMemActVentBalance_Val & (0x07U)) << 3U) | ((_m->BCM_RRMemPosnPrsnSeatCS_Val_ro & (0x03U)) << 6U) ); + _d[4] |= (uint8_t) ( ((_m->BCM_RRMemPosnPrsnSeatCS_Val_ro >> 2U) & (0x3FU)) | ((_m->BCM_RRMemPosnPrsnSeatLSH_Val_ro & (0x03U)) << 6U) ); + _d[5] |= (uint8_t) ( ((_m->BCM_RRMemPosnPrsnSeatLSH_Val_ro >> 2U) & (0x3FU)) | ((_m->BCM_RRMemPosnPrsnSeatLSD_Val_ro & (0x03U)) << 6U) ); + _d[6] |= (uint8_t) ( ((_m->BCM_RRMemPosnPrsnSeatLSD_Val_ro >> 2U) & (0x3FU)) ); + + *_len = (uint8_t) BCM_MEM_SMRR2_DLC; + *_ide = (uint8_t) BCM_MEM_SMRR2_IDE; + return BCM_MEM_SMRR2_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_FIU_SMFL_REQ_CTR_SEATS_candb(FIU_SMFL_REQ_CTR_SEATS_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->FIU_SMFL_SeatHeight_Req = (uint8_t) ( (_d[0] & (0x03U)) ); + _m->FIU_SMFL_HeadRestHeight_Req = (uint8_t) ( ((_d[0] >> 2U) & (0x03U)) ); + _m->FIU_SMFL_SeatLongitunalReq = (uint8_t) ( ((_d[0] >> 4U) & (0x03U)) ); + _m->FIU_SMFL_SeatHeadRestInclin_Req = (uint8_t) ( ((_d[0] >> 6U) & (0x03U)) ); + _m->FIU_SMFL_SeatSurfaceLong_Req = (uint8_t) ( (_d[1] & (0x03U)) ); + _m->FIU_SMFL_SeatLegSupportH_Req = (uint8_t) ( ((_d[1] >> 2U) & (0x03U)) ); + _m->FIU_SMFL_SeatLegSupportLong_Req = (uint8_t) ( ((_d[1] >> 4U) & (0x03U)) ); + _m->FIU_SMFL_SeatInclination_Req = (uint8_t) ( ((_d[1] >> 6U) & (0x03U)) ); + _m->FIU_SMFL_SeatBackRestInc_Req = (uint8_t) ( (_d[2] & (0x03U)) ); + _m->FIU_SMFL_SeatLumbarSupHeight_Req = (uint8_t) ( ((_d[2] >> 2U) & (0x03U)) ); + _m->FIU_SMFL_SeatBackRestHeadInc_Req = (uint8_t) ( ((_d[2] >> 4U) & (0x03U)) ); + _m->FIU_SMFL_SeatLumbarSupDepth_Req = (uint8_t) ( ((_d[2] >> 6U) & (0x03U)) ); + _m->FIU_SMFL_BackRestWidth_Req = (uint8_t) ( (_d[3] & (0x03U)) ); + _m->FIU_SMFL_SeatCushionSupport_Req = (uint8_t) ( ((_d[3] >> 2U) & (0x03U)) ); + _m->FIU_SMFL_SeatMassage_Req = (uint8_t) ( ((_d[3] >> 4U) & (0x03U)) ); + _m->FIU_SMFL_SeatVentilation_Req = (uint8_t) ( ((_d[3] >> 6U) & (0x03U)) ); + _m->FIU_SMFL_SeatVentBalance_Req = (uint8_t) ( (_d[4] & (0x07U)) ); + _m->FIU_SMFL_SeatMassageIntence_Req = (uint8_t) ( ((_d[4] >> 3U) & (0x03U)) ); + _m->FIU_SMFL_SeatHeating_Req = (uint8_t) ( ((_d[4] >> 5U) & (0x03U)) ); + _m->FIU_SMFL_ActiveSupport_Req = (uint8_t) ( ((_d[4] >> 7U) & (0x01U)) ); + _m->FIU_SMFL_SeatHeatBalance_Req = (uint8_t) ( (_d[5] & (0x07U)) ); + _m->FIU_SMFL_SeatMassageType_Req = (uint8_t) ( ((_d[5] >> 3U) & (0x07U)) ); + _m->FIU_SMFL_BackrestMassageType_Req = (uint8_t) ( ((_d[6] & (0x01U)) << 2U) | ((_d[5] >> 6U) & (0x03U)) ); + _m->FIU_SMFL_ComfortMode_Req = (uint8_t) ( ((_d[6] >> 1U) & (0x01U)) ); + _m->FIU_SMFL_ComfortScenario_Req = (uint8_t) ( ((_d[6] >> 2U) & (0x03U)) ); + _m->FIU_SMFL_CarpetHeat_Req = (uint8_t) ( ((_d[6] >> 4U) & (0x01U)) ); + _m->FIU_SMFL_TimerMassage_Req = (uint8_t) ( ((_d[6] >> 5U) & (0x07U)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < FIU_SMFL_REQ_CTR_SEATS_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_FIU_SMFL_REQ_CTR_SEATS_candb(&_m->mon1, FIU_SMFL_REQ_CTR_SEATS_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return FIU_SMFL_REQ_CTR_SEATS_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_FIU_SMFL_REQ_CTR_SEATS_candb(FIU_SMFL_REQ_CTR_SEATS_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(FIU_SMFL_REQ_CTR_SEATS_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->FIU_SMFL_SeatHeight_Req & (0x03U)) | ((_m->FIU_SMFL_HeadRestHeight_Req & (0x03U)) << 2U) | ((_m->FIU_SMFL_SeatLongitunalReq & (0x03U)) << 4U) | ((_m->FIU_SMFL_SeatHeadRestInclin_Req & (0x03U)) << 6U) ); + cframe->Data[1] |= (uint8_t) ( (_m->FIU_SMFL_SeatSurfaceLong_Req & (0x03U)) | ((_m->FIU_SMFL_SeatLegSupportH_Req & (0x03U)) << 2U) | ((_m->FIU_SMFL_SeatLegSupportLong_Req & (0x03U)) << 4U) | ((_m->FIU_SMFL_SeatInclination_Req & (0x03U)) << 6U) ); + cframe->Data[2] |= (uint8_t) ( (_m->FIU_SMFL_SeatBackRestInc_Req & (0x03U)) | ((_m->FIU_SMFL_SeatLumbarSupHeight_Req & (0x03U)) << 2U) | ((_m->FIU_SMFL_SeatBackRestHeadInc_Req & (0x03U)) << 4U) | ((_m->FIU_SMFL_SeatLumbarSupDepth_Req & (0x03U)) << 6U) ); + cframe->Data[3] |= (uint8_t) ( (_m->FIU_SMFL_BackRestWidth_Req & (0x03U)) | ((_m->FIU_SMFL_SeatCushionSupport_Req & (0x03U)) << 2U) | ((_m->FIU_SMFL_SeatMassage_Req & (0x03U)) << 4U) | ((_m->FIU_SMFL_SeatVentilation_Req & (0x03U)) << 6U) ); + cframe->Data[4] |= (uint8_t) ( (_m->FIU_SMFL_SeatVentBalance_Req & (0x07U)) | ((_m->FIU_SMFL_SeatMassageIntence_Req & (0x03U)) << 3U) | ((_m->FIU_SMFL_SeatHeating_Req & (0x03U)) << 5U) | ((_m->FIU_SMFL_ActiveSupport_Req & (0x01U)) << 7U) ); + cframe->Data[5] |= (uint8_t) ( (_m->FIU_SMFL_SeatHeatBalance_Req & (0x07U)) | ((_m->FIU_SMFL_SeatMassageType_Req & (0x07U)) << 3U) | ((_m->FIU_SMFL_BackrestMassageType_Req & (0x03U)) << 6U) ); + cframe->Data[6] |= (uint8_t) ( ((_m->FIU_SMFL_BackrestMassageType_Req >> 2U) & (0x01U)) | ((_m->FIU_SMFL_ComfortMode_Req & (0x01U)) << 1U) | ((_m->FIU_SMFL_ComfortScenario_Req & (0x03U)) << 2U) | ((_m->FIU_SMFL_CarpetHeat_Req & (0x01U)) << 4U) | ((_m->FIU_SMFL_TimerMassage_Req & (0x07U)) << 5U) ); + + cframe->MsgId = (uint32_t) FIU_SMFL_REQ_CTR_SEATS_CANID; + cframe->DLC = (uint8_t) FIU_SMFL_REQ_CTR_SEATS_DLC; + cframe->IDE = (uint8_t) FIU_SMFL_REQ_CTR_SEATS_IDE; + return FIU_SMFL_REQ_CTR_SEATS_CANID; +} + +#else + +uint32_t Pack_FIU_SMFL_REQ_CTR_SEATS_candb(FIU_SMFL_REQ_CTR_SEATS_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(FIU_SMFL_REQ_CTR_SEATS_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->FIU_SMFL_SeatHeight_Req & (0x03U)) | ((_m->FIU_SMFL_HeadRestHeight_Req & (0x03U)) << 2U) | ((_m->FIU_SMFL_SeatLongitunalReq & (0x03U)) << 4U) | ((_m->FIU_SMFL_SeatHeadRestInclin_Req & (0x03U)) << 6U) ); + _d[1] |= (uint8_t) ( (_m->FIU_SMFL_SeatSurfaceLong_Req & (0x03U)) | ((_m->FIU_SMFL_SeatLegSupportH_Req & (0x03U)) << 2U) | ((_m->FIU_SMFL_SeatLegSupportLong_Req & (0x03U)) << 4U) | ((_m->FIU_SMFL_SeatInclination_Req & (0x03U)) << 6U) ); + _d[2] |= (uint8_t) ( (_m->FIU_SMFL_SeatBackRestInc_Req & (0x03U)) | ((_m->FIU_SMFL_SeatLumbarSupHeight_Req & (0x03U)) << 2U) | ((_m->FIU_SMFL_SeatBackRestHeadInc_Req & (0x03U)) << 4U) | ((_m->FIU_SMFL_SeatLumbarSupDepth_Req & (0x03U)) << 6U) ); + _d[3] |= (uint8_t) ( (_m->FIU_SMFL_BackRestWidth_Req & (0x03U)) | ((_m->FIU_SMFL_SeatCushionSupport_Req & (0x03U)) << 2U) | ((_m->FIU_SMFL_SeatMassage_Req & (0x03U)) << 4U) | ((_m->FIU_SMFL_SeatVentilation_Req & (0x03U)) << 6U) ); + _d[4] |= (uint8_t) ( (_m->FIU_SMFL_SeatVentBalance_Req & (0x07U)) | ((_m->FIU_SMFL_SeatMassageIntence_Req & (0x03U)) << 3U) | ((_m->FIU_SMFL_SeatHeating_Req & (0x03U)) << 5U) | ((_m->FIU_SMFL_ActiveSupport_Req & (0x01U)) << 7U) ); + _d[5] |= (uint8_t) ( (_m->FIU_SMFL_SeatHeatBalance_Req & (0x07U)) | ((_m->FIU_SMFL_SeatMassageType_Req & (0x07U)) << 3U) | ((_m->FIU_SMFL_BackrestMassageType_Req & (0x03U)) << 6U) ); + _d[6] |= (uint8_t) ( ((_m->FIU_SMFL_BackrestMassageType_Req >> 2U) & (0x01U)) | ((_m->FIU_SMFL_ComfortMode_Req & (0x01U)) << 1U) | ((_m->FIU_SMFL_ComfortScenario_Req & (0x03U)) << 2U) | ((_m->FIU_SMFL_CarpetHeat_Req & (0x01U)) << 4U) | ((_m->FIU_SMFL_TimerMassage_Req & (0x07U)) << 5U) ); + + *_len = (uint8_t) FIU_SMFL_REQ_CTR_SEATS_DLC; + *_ide = (uint8_t) FIU_SMFL_REQ_CTR_SEATS_IDE; + return FIU_SMFL_REQ_CTR_SEATS_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_FIU_SMRR_REQ_CTR_SEATS_candb(FIU_SMRR_REQ_CTR_SEATS_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->FIU_SMRR_SeatHeight_Req = (uint8_t) ( (_d[0] & (0x03U)) ); + _m->FIU_SMRR_HeadRest_Height_Req = (uint8_t) ( ((_d[0] >> 2U) & (0x03U)) ); + _m->FIU_SMRR_SeatLongitunalReq = (uint8_t) ( ((_d[0] >> 4U) & (0x03U)) ); + _m->FIU_SMRR_SeatHeadRestInclin_Req = (uint8_t) ( ((_d[0] >> 6U) & (0x03U)) ); + _m->FIU_SMRR_SeatSurfaceLong_Req = (uint8_t) ( (_d[1] & (0x03U)) ); + _m->FIU_SMRR_SeatLegSupportH_Req = (uint8_t) ( ((_d[1] >> 2U) & (0x03U)) ); + _m->FIU_SMRR_SeatLegSupportLong_Req = (uint8_t) ( ((_d[1] >> 4U) & (0x03U)) ); + _m->FIU_SMRR_SeatInclination_Req = (uint8_t) ( ((_d[1] >> 6U) & (0x03U)) ); + _m->FIU_SMRR_SeatBackRestInc_Req = (uint8_t) ( (_d[2] & (0x03U)) ); + _m->FIU_SMRR_SeatLumbarSupportH_Req = (uint8_t) ( ((_d[2] >> 2U) & (0x03U)) ); + _m->FIU_SMRR_SeatBackRestHeadInc_Req = (uint8_t) ( ((_d[2] >> 4U) & (0x03U)) ); + _m->FIU_SMRR_SeatLumbarSupDepth_Req = (uint8_t) ( ((_d[2] >> 6U) & (0x03U)) ); + _m->FIU_SMRR_BackRestWidth_Req = (uint8_t) ( (_d[3] & (0x03U)) ); + _m->FIU_SMRR_SeatCushionSupport_Req = (uint8_t) ( ((_d[3] >> 2U) & (0x03U)) ); + _m->FIU_SMRR_SeatMassage_Req = (uint8_t) ( ((_d[3] >> 4U) & (0x03U)) ); + _m->FIU_SMRR_SeatVentilation_Req = (uint8_t) ( ((_d[3] >> 6U) & (0x03U)) ); + _m->FIU_SMRR_SeatVentBalance_Req = (uint8_t) ( (_d[4] & (0x07U)) ); + _m->FIU_SMRR_SeatMassageIntence_Req = (uint8_t) ( ((_d[4] >> 3U) & (0x03U)) ); + _m->FIU_SMRR_SeatHeating_Req = (uint8_t) ( ((_d[4] >> 5U) & (0x03U)) ); + _m->FIU_SMRR_ActiveSupport_Req = (uint8_t) ( ((_d[4] >> 7U) & (0x01U)) ); + _m->FIU_SMRR_SeatHeatBalance_Req = (uint8_t) ( (_d[5] & (0x07U)) ); + _m->FIU_SMRR_SeatMassageType_Req = (uint8_t) ( ((_d[5] >> 3U) & (0x07U)) ); + _m->FIU_SMRR_BackrestMassageType_Req = (uint8_t) ( ((_d[6] & (0x01U)) << 2U) | ((_d[5] >> 6U) & (0x03U)) ); + _m->FIU_SMRR_ComfortMode_Req = (uint8_t) ( ((_d[6] >> 1U) & (0x01U)) ); + _m->FIU_SMRR_ComfortScenario_Req = (uint8_t) ( ((_d[6] >> 2U) & (0x03U)) ); + _m->FIU_SMRR_CarpetHeat_Req = (uint8_t) ( ((_d[6] >> 4U) & (0x01U)) ); + _m->FIU_SMRR_TimerMassage_Req = (uint8_t) ( ((_d[6] >> 5U) & (0x07U)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < FIU_SMRR_REQ_CTR_SEATS_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_FIU_SMRR_REQ_CTR_SEATS_candb(&_m->mon1, FIU_SMRR_REQ_CTR_SEATS_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return FIU_SMRR_REQ_CTR_SEATS_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_FIU_SMRR_REQ_CTR_SEATS_candb(FIU_SMRR_REQ_CTR_SEATS_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(FIU_SMRR_REQ_CTR_SEATS_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->FIU_SMRR_SeatHeight_Req & (0x03U)) | ((_m->FIU_SMRR_HeadRest_Height_Req & (0x03U)) << 2U) | ((_m->FIU_SMRR_SeatLongitunalReq & (0x03U)) << 4U) | ((_m->FIU_SMRR_SeatHeadRestInclin_Req & (0x03U)) << 6U) ); + cframe->Data[1] |= (uint8_t) ( (_m->FIU_SMRR_SeatSurfaceLong_Req & (0x03U)) | ((_m->FIU_SMRR_SeatLegSupportH_Req & (0x03U)) << 2U) | ((_m->FIU_SMRR_SeatLegSupportLong_Req & (0x03U)) << 4U) | ((_m->FIU_SMRR_SeatInclination_Req & (0x03U)) << 6U) ); + cframe->Data[2] |= (uint8_t) ( (_m->FIU_SMRR_SeatBackRestInc_Req & (0x03U)) | ((_m->FIU_SMRR_SeatLumbarSupportH_Req & (0x03U)) << 2U) | ((_m->FIU_SMRR_SeatBackRestHeadInc_Req & (0x03U)) << 4U) | ((_m->FIU_SMRR_SeatLumbarSupDepth_Req & (0x03U)) << 6U) ); + cframe->Data[3] |= (uint8_t) ( (_m->FIU_SMRR_BackRestWidth_Req & (0x03U)) | ((_m->FIU_SMRR_SeatCushionSupport_Req & (0x03U)) << 2U) | ((_m->FIU_SMRR_SeatMassage_Req & (0x03U)) << 4U) | ((_m->FIU_SMRR_SeatVentilation_Req & (0x03U)) << 6U) ); + cframe->Data[4] |= (uint8_t) ( (_m->FIU_SMRR_SeatVentBalance_Req & (0x07U)) | ((_m->FIU_SMRR_SeatMassageIntence_Req & (0x03U)) << 3U) | ((_m->FIU_SMRR_SeatHeating_Req & (0x03U)) << 5U) | ((_m->FIU_SMRR_ActiveSupport_Req & (0x01U)) << 7U) ); + cframe->Data[5] |= (uint8_t) ( (_m->FIU_SMRR_SeatHeatBalance_Req & (0x07U)) | ((_m->FIU_SMRR_SeatMassageType_Req & (0x07U)) << 3U) | ((_m->FIU_SMRR_BackrestMassageType_Req & (0x03U)) << 6U) ); + cframe->Data[6] |= (uint8_t) ( ((_m->FIU_SMRR_BackrestMassageType_Req >> 2U) & (0x01U)) | ((_m->FIU_SMRR_ComfortMode_Req & (0x01U)) << 1U) | ((_m->FIU_SMRR_ComfortScenario_Req & (0x03U)) << 2U) | ((_m->FIU_SMRR_CarpetHeat_Req & (0x01U)) << 4U) | ((_m->FIU_SMRR_TimerMassage_Req & (0x07U)) << 5U) ); + + cframe->MsgId = (uint32_t) FIU_SMRR_REQ_CTR_SEATS_CANID; + cframe->DLC = (uint8_t) FIU_SMRR_REQ_CTR_SEATS_DLC; + cframe->IDE = (uint8_t) FIU_SMRR_REQ_CTR_SEATS_IDE; + return FIU_SMRR_REQ_CTR_SEATS_CANID; +} + +#else + +uint32_t Pack_FIU_SMRR_REQ_CTR_SEATS_candb(FIU_SMRR_REQ_CTR_SEATS_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(FIU_SMRR_REQ_CTR_SEATS_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->FIU_SMRR_SeatHeight_Req & (0x03U)) | ((_m->FIU_SMRR_HeadRest_Height_Req & (0x03U)) << 2U) | ((_m->FIU_SMRR_SeatLongitunalReq & (0x03U)) << 4U) | ((_m->FIU_SMRR_SeatHeadRestInclin_Req & (0x03U)) << 6U) ); + _d[1] |= (uint8_t) ( (_m->FIU_SMRR_SeatSurfaceLong_Req & (0x03U)) | ((_m->FIU_SMRR_SeatLegSupportH_Req & (0x03U)) << 2U) | ((_m->FIU_SMRR_SeatLegSupportLong_Req & (0x03U)) << 4U) | ((_m->FIU_SMRR_SeatInclination_Req & (0x03U)) << 6U) ); + _d[2] |= (uint8_t) ( (_m->FIU_SMRR_SeatBackRestInc_Req & (0x03U)) | ((_m->FIU_SMRR_SeatLumbarSupportH_Req & (0x03U)) << 2U) | ((_m->FIU_SMRR_SeatBackRestHeadInc_Req & (0x03U)) << 4U) | ((_m->FIU_SMRR_SeatLumbarSupDepth_Req & (0x03U)) << 6U) ); + _d[3] |= (uint8_t) ( (_m->FIU_SMRR_BackRestWidth_Req & (0x03U)) | ((_m->FIU_SMRR_SeatCushionSupport_Req & (0x03U)) << 2U) | ((_m->FIU_SMRR_SeatMassage_Req & (0x03U)) << 4U) | ((_m->FIU_SMRR_SeatVentilation_Req & (0x03U)) << 6U) ); + _d[4] |= (uint8_t) ( (_m->FIU_SMRR_SeatVentBalance_Req & (0x07U)) | ((_m->FIU_SMRR_SeatMassageIntence_Req & (0x03U)) << 3U) | ((_m->FIU_SMRR_SeatHeating_Req & (0x03U)) << 5U) | ((_m->FIU_SMRR_ActiveSupport_Req & (0x01U)) << 7U) ); + _d[5] |= (uint8_t) ( (_m->FIU_SMRR_SeatHeatBalance_Req & (0x07U)) | ((_m->FIU_SMRR_SeatMassageType_Req & (0x07U)) << 3U) | ((_m->FIU_SMRR_BackrestMassageType_Req & (0x03U)) << 6U) ); + _d[6] |= (uint8_t) ( ((_m->FIU_SMRR_BackrestMassageType_Req >> 2U) & (0x01U)) | ((_m->FIU_SMRR_ComfortMode_Req & (0x01U)) << 1U) | ((_m->FIU_SMRR_ComfortScenario_Req & (0x03U)) << 2U) | ((_m->FIU_SMRR_CarpetHeat_Req & (0x01U)) << 4U) | ((_m->FIU_SMRR_TimerMassage_Req & (0x07U)) << 5U) ); + + *_len = (uint8_t) FIU_SMRR_REQ_CTR_SEATS_DLC; + *_ide = (uint8_t) FIU_SMRR_REQ_CTR_SEATS_IDE; + return FIU_SMRR_REQ_CTR_SEATS_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_FIU_CTRL_DW_candb(FIU_CTRL_DW_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->FIU_DWDisplayCntrl_Req = (uint8_t) ( (_d[0] & (0x03U)) ); + _m->FIU_DWGlassCntrl_Req = (uint8_t) ( ((_d[0] >> 2U) & (0x03U)) ); + _m->FIU_DWDisplayMovCntrl_Req = (uint8_t) ( ((_d[0] >> 4U) & (0x03U)) ); + _m->FIU_DWGlassMovCntrl_Req = (uint8_t) ( ((_d[0] >> 6U) & (0x03U)) ); + _m->FIU_DWDisplDimmingMode_Req = (uint8_t) ( (_d[1] & (0x03U)) ); + _m->FIU_DWVideoSignalSrc_Req = (uint8_t) ( ((_d[1] >> 2U) & (0x07U)) ); + _m->FIU_DWDispAutoDimmingVal_Req_ro = (uint8_t) ( (_d[2] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->FIU_DWDispAutoDimmingVal_Req_phys = (sigfloat_t)(CANDB_FIU_DWDispAutoDimmingVal_Req_ro_fromS(_m->FIU_DWDispAutoDimmingVal_Req_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->FIU_DWDispManualDimming_Val_ro = (uint8_t) ( (_d[3] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->FIU_DWDispManualDimming_Val_phys = (sigfloat_t)(CANDB_FIU_DWDispManualDimming_Val_ro_fromS(_m->FIU_DWDispManualDimming_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < FIU_CTRL_DW_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_FIU_CTRL_DW_candb(&_m->mon1, FIU_CTRL_DW_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return FIU_CTRL_DW_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_FIU_CTRL_DW_candb(FIU_CTRL_DW_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(FIU_CTRL_DW_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->FIU_DWDispAutoDimmingVal_Req_ro = (uint8_t) CANDB_FIU_DWDispAutoDimmingVal_Req_ro_toS(_m->FIU_DWDispAutoDimmingVal_Req_phys); + _m->FIU_DWDispManualDimming_Val_ro = (uint8_t) CANDB_FIU_DWDispManualDimming_Val_ro_toS(_m->FIU_DWDispManualDimming_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + cframe->Data[0] |= (uint8_t) ( (_m->FIU_DWDisplayCntrl_Req & (0x03U)) | ((_m->FIU_DWGlassCntrl_Req & (0x03U)) << 2U) | ((_m->FIU_DWDisplayMovCntrl_Req & (0x03U)) << 4U) | ((_m->FIU_DWGlassMovCntrl_Req & (0x03U)) << 6U) ); + cframe->Data[1] |= (uint8_t) ( (_m->FIU_DWDisplDimmingMode_Req & (0x03U)) | ((_m->FIU_DWVideoSignalSrc_Req & (0x07U)) << 2U) ); + cframe->Data[2] |= (uint8_t) ( (_m->FIU_DWDispAutoDimmingVal_Req_ro & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( (_m->FIU_DWDispManualDimming_Val_ro & (0xFFU)) ); + + cframe->MsgId = (uint32_t) FIU_CTRL_DW_CANID; + cframe->DLC = (uint8_t) FIU_CTRL_DW_DLC; + cframe->IDE = (uint8_t) FIU_CTRL_DW_IDE; + return FIU_CTRL_DW_CANID; +} + +#else + +uint32_t Pack_FIU_CTRL_DW_candb(FIU_CTRL_DW_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(FIU_CTRL_DW_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->FIU_DWDispAutoDimmingVal_Req_ro = (uint8_t) CANDB_FIU_DWDispAutoDimmingVal_Req_ro_toS(_m->FIU_DWDispAutoDimmingVal_Req_phys); + _m->FIU_DWDispManualDimming_Val_ro = (uint8_t) CANDB_FIU_DWDispManualDimming_Val_ro_toS(_m->FIU_DWDispManualDimming_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + _d[0] |= (uint8_t) ( (_m->FIU_DWDisplayCntrl_Req & (0x03U)) | ((_m->FIU_DWGlassCntrl_Req & (0x03U)) << 2U) | ((_m->FIU_DWDisplayMovCntrl_Req & (0x03U)) << 4U) | ((_m->FIU_DWGlassMovCntrl_Req & (0x03U)) << 6U) ); + _d[1] |= (uint8_t) ( (_m->FIU_DWDisplDimmingMode_Req & (0x03U)) | ((_m->FIU_DWVideoSignalSrc_Req & (0x07U)) << 2U) ); + _d[2] |= (uint8_t) ( (_m->FIU_DWDispAutoDimmingVal_Req_ro & (0xFFU)) ); + _d[3] |= (uint8_t) ( (_m->FIU_DWDispManualDimming_Val_ro & (0xFFU)) ); + + *_len = (uint8_t) FIU_CTRL_DW_DLC; + *_ide = (uint8_t) FIU_CTRL_DW_IDE; + return FIU_CTRL_DW_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_Display_Stat = (uint8_t) ( (_d[0] & (0x01U)) ); + _m->DW_MediaPower_Stat = (uint8_t) ( ((_d[0] >> 1U) & (0x01U)) ); + _m->DW_Display_Req = (uint8_t) ( ((_d[0] >> 2U) & (0x01U)) ); + _m->DW_Glass_Stat = (uint8_t) ( ((_d[0] >> 3U) & (0x01U)) ); + _m->DW_AntiPinchFlag_Stat = (uint8_t) ( ((_d[0] >> 4U) & (0x01U)) ); + _m->DW_CurrentVideoSigSrc_Stat = (uint8_t) ( ((_d[0] >> 5U) & (0x07U)) ); + _m->DW_DisplayPosition_Stat = (uint8_t) ( (_d[1] & (0x03U)) ); _m->DW_GlassPosition_Stat = (uint8_t) ( ((_d[1] >> 2U) & (0x03U)) ); + _m->DW_MovingDisplay_Stat = (uint8_t) ( ((_d[1] >> 4U) & (0x03U)) ); + _m->DW_MovingGlass_Stat = (uint8_t) ( ((_d[1] >> 6U) & (0x03U)) ); + _m->DW_DisplayDimmingMode_Stat = (uint8_t) ( (_d[2] & (0x03U)) ); + _m->DW_DetectedMMSSrc_Stat = (uint8_t) ( ((_d[2] >> 3U) & (0x01U)) ); + _m->DW_DetectedCAMSrc_Stat = (uint8_t) ( ((_d[2] >> 4U) & (0x01U)) ); + _m->DW_DetectedHDMI1Src_Stat = (uint8_t) ( ((_d[2] >> 5U) & (0x01U)) ); + _m->DW_DetectedHDMI2Src_Stat = (uint8_t) ( ((_d[2] >> 6U) & (0x01U)) ); + _m->DW_DetectedHDMISockSrc_Stat = (uint8_t) ( ((_d[2] >> 7U) & (0x01U)) ); + _m->DW_DisplayBrightness_Stat_ro = (uint8_t) ( (_d[3] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->DW_DisplayBrightness_Stat_phys = (sigfloat_t)(CANDB_DW_DisplayBrightness_Stat_ro_fromS(_m->DW_DisplayBrightness_Stat_ro)); +#endif // CANDB_USE_SIGFLOAT #ifdef CANDB_USE_DIAG_MONITORS _m->mon1.dlc_error = (dlc_ < DW_STATE_DLC); @@ -2392,7 +10412,14 @@ 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) ); +#ifdef CANDB_USE_SIGFLOAT + _m->DW_DisplayBrightness_Stat_ro = (uint8_t) CANDB_DW_DisplayBrightness_Stat_ro_toS(_m->DW_DisplayBrightness_Stat_phys); +#endif // CANDB_USE_SIGFLOAT + + cframe->Data[0] |= (uint8_t) ( (_m->DW_Display_Stat & (0x01U)) | ((_m->DW_MediaPower_Stat & (0x01U)) << 1U) | ((_m->DW_Display_Req & (0x01U)) << 2U) | ((_m->DW_Glass_Stat & (0x01U)) << 3U) | ((_m->DW_AntiPinchFlag_Stat & (0x01U)) << 4U) | ((_m->DW_CurrentVideoSigSrc_Stat & (0x07U)) << 5U) ); + cframe->Data[1] |= (uint8_t) ( (_m->DW_DisplayPosition_Stat & (0x03U)) | ((_m->DW_GlassPosition_Stat & (0x03U)) << 2U) | ((_m->DW_MovingDisplay_Stat & (0x03U)) << 4U) | ((_m->DW_MovingGlass_Stat & (0x03U)) << 6U) ); + cframe->Data[2] |= (uint8_t) ( (_m->DW_DisplayDimmingMode_Stat & (0x03U)) | ((_m->DW_DetectedMMSSrc_Stat & (0x01U)) << 3U) | ((_m->DW_DetectedCAMSrc_Stat & (0x01U)) << 4U) | ((_m->DW_DetectedHDMI1Src_Stat & (0x01U)) << 5U) | ((_m->DW_DetectedHDMI2Src_Stat & (0x01U)) << 6U) | ((_m->DW_DetectedHDMISockSrc_Stat & (0x01U)) << 7U) ); + cframe->Data[3] |= (uint8_t) ( (_m->DW_DisplayBrightness_Stat_ro & (0xFFU)) ); cframe->MsgId = (uint32_t) DW_STATE_CANID; cframe->DLC = (uint8_t) DW_STATE_DLC; @@ -2406,7 +10433,14 @@ uint32_t Pack_DW_STATE_candb(DW_STATE_t* _m, uint8_t* _d, uint8_t* _len, uint8_t { 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) ); +#ifdef CANDB_USE_SIGFLOAT + _m->DW_DisplayBrightness_Stat_ro = (uint8_t) CANDB_DW_DisplayBrightness_Stat_ro_toS(_m->DW_DisplayBrightness_Stat_phys); +#endif // CANDB_USE_SIGFLOAT + + _d[0] |= (uint8_t) ( (_m->DW_Display_Stat & (0x01U)) | ((_m->DW_MediaPower_Stat & (0x01U)) << 1U) | ((_m->DW_Display_Req & (0x01U)) << 2U) | ((_m->DW_Glass_Stat & (0x01U)) << 3U) | ((_m->DW_AntiPinchFlag_Stat & (0x01U)) << 4U) | ((_m->DW_CurrentVideoSigSrc_Stat & (0x07U)) << 5U) ); + _d[1] |= (uint8_t) ( (_m->DW_DisplayPosition_Stat & (0x03U)) | ((_m->DW_GlassPosition_Stat & (0x03U)) << 2U) | ((_m->DW_MovingDisplay_Stat & (0x03U)) << 4U) | ((_m->DW_MovingGlass_Stat & (0x03U)) << 6U) ); + _d[2] |= (uint8_t) ( (_m->DW_DisplayDimmingMode_Stat & (0x03U)) | ((_m->DW_DetectedMMSSrc_Stat & (0x01U)) << 3U) | ((_m->DW_DetectedCAMSrc_Stat & (0x01U)) << 4U) | ((_m->DW_DetectedHDMI1Src_Stat & (0x01U)) << 5U) | ((_m->DW_DetectedHDMI2Src_Stat & (0x01U)) << 6U) | ((_m->DW_DetectedHDMISockSrc_Stat & (0x01U)) << 7U) ); + _d[3] |= (uint8_t) ( (_m->DW_DisplayBrightness_Stat_ro & (0xFFU)) ); *_len = (uint8_t) DW_STATE_DLC; *_ide = (uint8_t) DW_STATE_IDE; @@ -2415,6 +10449,874 @@ uint32_t Pack_DW_STATE_candb(DW_STATE_t* _m, uint8_t* _d, uint8_t* _len, uint8_t #endif // CANDB_USE_CANSTRUCT +uint32_t Unpack_FIU_Msg1_candb(FIU_Msg1_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->FIU_HeadlightWashing_Req = (uint8_t) ( ((_d[0] >> 1U) & (0x01U)) ); + _m->FIU_AutoWiper_Req = (uint8_t) ( ((_d[0] >> 2U) & (0x01U)) ); + _m->FIU_WelcomeLeavingLight_Req = (uint8_t) ( ((_d[0] >> 3U) & (0x01U)) ); + _m->FIU_WelcomeLeavingLightTime_Req = (uint8_t) ( ((_d[0] >> 4U) & (0x03U)) ); + _m->FIU_WindowsRainClosing_Req = (uint8_t) ( ((_d[0] >> 6U) & (0x01U)) ); + _m->FIU_MirrorsAutoFold_Req = (uint8_t) ( ((_d[0] >> 7U) & (0x01U)) ); + _m->FIU_AutoTiltMirrors_Req = (uint8_t) ( (_d[1] & (0x01U)) ); + _m->FIU_SteeringWheelAutoHeat_Req = (uint8_t) ( ((_d[1] >> 1U) & (0x01U)) ); + _m->FIU_DoorsLock_Req = (uint8_t) ( ((_d[1] >> 2U) & (0x01U)) ); + _m->FIU_DoorsDriveLock_Req = (uint8_t) ( ((_d[1] >> 3U) & (0x01U)) ); + _m->FIU_AudibleLockFdBack_Req = (uint8_t) ( ((_d[1] >> 4U) & (0x01U)) ); + _m->FIU_ApproachAccess_Req = (uint8_t) ( ((_d[1] >> 6U) & (0x01U)) ); + _m->FIU_TrnkDoorCloseBySpeed_Req = (uint8_t) ( ((_d[1] >> 7U) & (0x01U)) ); + _m->FIU_WelcomeLightAnimation_Req = (uint8_t) ( (_d[2] & (0x01U)) ); + _m->FIU_MAS_CamerasWashing_Req = (uint8_t) ( (_d[3] & (0x01U)) ); + _m->FIU_DoorCntrlRR_Req = (uint8_t) ( (_d[4] & (0x03U)) ); + _m->FIU_DoorCntrlFR_Req = (uint8_t) ( ((_d[4] >> 2U) & (0x03U)) ); + _m->FIU_DoorCntrlFL_Req = (uint8_t) ( ((_d[4] >> 4U) & (0x03U)) ); + _m->FIU_DoorCntrlRL_Req = (uint8_t) ( ((_d[4] >> 6U) & (0x03U)) ); + _m->FIU_DoorCntrlTrunk_Req = (uint8_t) ( (_d[5] & (0x03U)) ); + _m->FIU_EasyExitEnableRR_Req = (uint8_t) ( ((_d[5] >> 2U) & (0x01U)) ); + _m->FIU_EasyExitEnableRL_Req = (uint8_t) ( ((_d[5] >> 3U) & (0x01U)) ); + _m->FIU_EasyExitEnableFR_Req = (uint8_t) ( ((_d[5] >> 4U) & (0x01U)) ); + _m->FIU_EasyExitEnableFL_Req = (uint8_t) ( ((_d[5] >> 5U) & (0x01U)) ); + _m->FIU_FrontCeilingBright_Val_ro = (uint8_t) ( (_d[6] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->FIU_FrontCeilingBright_Val_phys = (sigfloat_t)(CANDB_FIU_FrontCeilingBright_Val_ro_fromS(_m->FIU_FrontCeilingBright_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->FIU_RearCeilingBright_Val_ro = (uint8_t) ( (_d[7] & (0xFFU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->FIU_RearCeilingBright_Val_phys = (sigfloat_t)(CANDB_FIU_RearCeilingBright_Val_ro_fromS(_m->FIU_RearCeilingBright_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < FIU_Msg1_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_FIU_Msg1_candb(&_m->mon1, FIU_Msg1_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return FIU_Msg1_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_FIU_Msg1_candb(FIU_Msg1_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(FIU_Msg1_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->FIU_FrontCeilingBright_Val_ro = (uint8_t) CANDB_FIU_FrontCeilingBright_Val_ro_toS(_m->FIU_FrontCeilingBright_Val_phys); + _m->FIU_RearCeilingBright_Val_ro = (uint8_t) CANDB_FIU_RearCeilingBright_Val_ro_toS(_m->FIU_RearCeilingBright_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + cframe->Data[0] |= (uint8_t) ( ((_m->FIU_HeadlightWashing_Req & (0x01U)) << 1U) | ((_m->FIU_AutoWiper_Req & (0x01U)) << 2U) | ((_m->FIU_WelcomeLeavingLight_Req & (0x01U)) << 3U) | ((_m->FIU_WelcomeLeavingLightTime_Req & (0x03U)) << 4U) | ((_m->FIU_WindowsRainClosing_Req & (0x01U)) << 6U) | ((_m->FIU_MirrorsAutoFold_Req & (0x01U)) << 7U) ); + cframe->Data[1] |= (uint8_t) ( (_m->FIU_AutoTiltMirrors_Req & (0x01U)) | ((_m->FIU_SteeringWheelAutoHeat_Req & (0x01U)) << 1U) | ((_m->FIU_DoorsLock_Req & (0x01U)) << 2U) | ((_m->FIU_DoorsDriveLock_Req & (0x01U)) << 3U) | ((_m->FIU_AudibleLockFdBack_Req & (0x01U)) << 4U) | ((_m->FIU_ApproachAccess_Req & (0x01U)) << 6U) | ((_m->FIU_TrnkDoorCloseBySpeed_Req & (0x01U)) << 7U) ); + cframe->Data[2] |= (uint8_t) ( (_m->FIU_WelcomeLightAnimation_Req & (0x01U)) ); + cframe->Data[3] |= (uint8_t) ( (_m->FIU_MAS_CamerasWashing_Req & (0x01U)) ); + cframe->Data[4] |= (uint8_t) ( (_m->FIU_DoorCntrlRR_Req & (0x03U)) | ((_m->FIU_DoorCntrlFR_Req & (0x03U)) << 2U) | ((_m->FIU_DoorCntrlFL_Req & (0x03U)) << 4U) | ((_m->FIU_DoorCntrlRL_Req & (0x03U)) << 6U) ); + cframe->Data[5] |= (uint8_t) ( (_m->FIU_DoorCntrlTrunk_Req & (0x03U)) | ((_m->FIU_EasyExitEnableRR_Req & (0x01U)) << 2U) | ((_m->FIU_EasyExitEnableRL_Req & (0x01U)) << 3U) | ((_m->FIU_EasyExitEnableFR_Req & (0x01U)) << 4U) | ((_m->FIU_EasyExitEnableFL_Req & (0x01U)) << 5U) ); + cframe->Data[6] |= (uint8_t) ( (_m->FIU_FrontCeilingBright_Val_ro & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->FIU_RearCeilingBright_Val_ro & (0xFFU)) ); + + cframe->MsgId = (uint32_t) FIU_Msg1_CANID; + cframe->DLC = (uint8_t) FIU_Msg1_DLC; + cframe->IDE = (uint8_t) FIU_Msg1_IDE; + return FIU_Msg1_CANID; +} + +#else + +uint32_t Pack_FIU_Msg1_candb(FIU_Msg1_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(FIU_Msg1_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->FIU_FrontCeilingBright_Val_ro = (uint8_t) CANDB_FIU_FrontCeilingBright_Val_ro_toS(_m->FIU_FrontCeilingBright_Val_phys); + _m->FIU_RearCeilingBright_Val_ro = (uint8_t) CANDB_FIU_RearCeilingBright_Val_ro_toS(_m->FIU_RearCeilingBright_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + _d[0] |= (uint8_t) ( ((_m->FIU_HeadlightWashing_Req & (0x01U)) << 1U) | ((_m->FIU_AutoWiper_Req & (0x01U)) << 2U) | ((_m->FIU_WelcomeLeavingLight_Req & (0x01U)) << 3U) | ((_m->FIU_WelcomeLeavingLightTime_Req & (0x03U)) << 4U) | ((_m->FIU_WindowsRainClosing_Req & (0x01U)) << 6U) | ((_m->FIU_MirrorsAutoFold_Req & (0x01U)) << 7U) ); + _d[1] |= (uint8_t) ( (_m->FIU_AutoTiltMirrors_Req & (0x01U)) | ((_m->FIU_SteeringWheelAutoHeat_Req & (0x01U)) << 1U) | ((_m->FIU_DoorsLock_Req & (0x01U)) << 2U) | ((_m->FIU_DoorsDriveLock_Req & (0x01U)) << 3U) | ((_m->FIU_AudibleLockFdBack_Req & (0x01U)) << 4U) | ((_m->FIU_ApproachAccess_Req & (0x01U)) << 6U) | ((_m->FIU_TrnkDoorCloseBySpeed_Req & (0x01U)) << 7U) ); + _d[2] |= (uint8_t) ( (_m->FIU_WelcomeLightAnimation_Req & (0x01U)) ); + _d[3] |= (uint8_t) ( (_m->FIU_MAS_CamerasWashing_Req & (0x01U)) ); + _d[4] |= (uint8_t) ( (_m->FIU_DoorCntrlRR_Req & (0x03U)) | ((_m->FIU_DoorCntrlFR_Req & (0x03U)) << 2U) | ((_m->FIU_DoorCntrlFL_Req & (0x03U)) << 4U) | ((_m->FIU_DoorCntrlRL_Req & (0x03U)) << 6U) ); + _d[5] |= (uint8_t) ( (_m->FIU_DoorCntrlTrunk_Req & (0x03U)) | ((_m->FIU_EasyExitEnableRR_Req & (0x01U)) << 2U) | ((_m->FIU_EasyExitEnableRL_Req & (0x01U)) << 3U) | ((_m->FIU_EasyExitEnableFR_Req & (0x01U)) << 4U) | ((_m->FIU_EasyExitEnableFL_Req & (0x01U)) << 5U) ); + _d[6] |= (uint8_t) ( (_m->FIU_FrontCeilingBright_Val_ro & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->FIU_RearCeilingBright_Val_ro & (0xFFU)) ); + + *_len = (uint8_t) FIU_Msg1_DLC; + *_ide = (uint8_t) FIU_Msg1_IDE; + return FIU_Msg1_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_FIU_Msg2_candb(FIU_Msg2_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->FIU_StyleIllGlobal_Req = (uint8_t) ( (_d[0] & (0x01U)) ); + _m->FIU_ChildLock_RLtablet_Req = (uint8_t) ( ((_d[0] >> 1U) & (0x01U)) ); + _m->FIU_ConfCamera_Req = (uint8_t) ( ((_d[0] >> 2U) & (0x01U)) ); + _m->FIU_StyleIllTheme_Req = (uint8_t) ( ((_d[0] >> 3U) & (0x0FU)) ); + _m->FIU_ChildLock_RRtablet_Req = (uint8_t) ( ((_d[0] >> 7U) & (0x01U)) ); + _m->FIU_ChildLock_RRdoor_Req = (uint8_t) ( (_d[1] & (0x01U)) ); + _m->FIU_ChildLock_RCtablet_Req = (uint8_t) ( ((_d[1] >> 1U) & (0x01U)) ); + _m->FIU_ChildLock_RLdoor_Req = (uint8_t) ( ((_d[1] >> 3U) & (0x01U)) ); + _m->FIU_StyleLghtVoice_Req = (uint8_t) ( ((_d[1] >> 5U) & (0x01U)) ); + _m->FIU_AlarmOFF_Req = (uint8_t) ( ((_d[1] >> 6U) & (0x01U)) ); + _m->FIU_MovementSensOFF_Req = (uint8_t) ( ((_d[1] >> 7U) & (0x01U)) ); + _m->FIU_ChildLock_RLwindow_Req = (uint8_t) ( (_d[2] & (0x01U)) ); + _m->FIU_CoolingBox_Req = (uint8_t) ( ((_d[2] >> 3U) & (0x03U)) ); + _m->FIU_ChildLock_RRwindow_Req = (uint8_t) ( (_d[3] & (0x01U)) ); + _m->FIU_TrafficSide_Stat = (uint8_t) ( ((_d[3] >> 7U) & (0x01U)) ); + _m->FIU_UnlockExternal_Req = (uint8_t) ( (_d[4] & (0x01U)) ); + _m->FIU_StyleIllBright_Val = (uint8_t) ( (_d[5] & (0x7FU)) ); + _m->FIU_UnlockAfterDrive_Req = (uint8_t) ( (_d[7] & (0x01U)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < FIU_Msg2_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_FIU_Msg2_candb(&_m->mon1, FIU_Msg2_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return FIU_Msg2_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_FIU_Msg2_candb(FIU_Msg2_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(FIU_Msg2_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->FIU_StyleIllGlobal_Req & (0x01U)) | ((_m->FIU_ChildLock_RLtablet_Req & (0x01U)) << 1U) | ((_m->FIU_ConfCamera_Req & (0x01U)) << 2U) | ((_m->FIU_StyleIllTheme_Req & (0x0FU)) << 3U) | ((_m->FIU_ChildLock_RRtablet_Req & (0x01U)) << 7U) ); + cframe->Data[1] |= (uint8_t) ( (_m->FIU_ChildLock_RRdoor_Req & (0x01U)) | ((_m->FIU_ChildLock_RCtablet_Req & (0x01U)) << 1U) | ((_m->FIU_ChildLock_RLdoor_Req & (0x01U)) << 3U) | ((_m->FIU_StyleLghtVoice_Req & (0x01U)) << 5U) | ((_m->FIU_AlarmOFF_Req & (0x01U)) << 6U) | ((_m->FIU_MovementSensOFF_Req & (0x01U)) << 7U) ); + cframe->Data[2] |= (uint8_t) ( (_m->FIU_ChildLock_RLwindow_Req & (0x01U)) | ((_m->FIU_CoolingBox_Req & (0x03U)) << 3U) ); + cframe->Data[3] |= (uint8_t) ( (_m->FIU_ChildLock_RRwindow_Req & (0x01U)) | ((_m->FIU_TrafficSide_Stat & (0x01U)) << 7U) ); + cframe->Data[4] |= (uint8_t) ( (_m->FIU_UnlockExternal_Req & (0x01U)) ); + cframe->Data[5] |= (uint8_t) ( (_m->FIU_StyleIllBright_Val & (0x7FU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->FIU_UnlockAfterDrive_Req & (0x01U)) ); + + cframe->MsgId = (uint32_t) FIU_Msg2_CANID; + cframe->DLC = (uint8_t) FIU_Msg2_DLC; + cframe->IDE = (uint8_t) FIU_Msg2_IDE; + return FIU_Msg2_CANID; +} + +#else + +uint32_t Pack_FIU_Msg2_candb(FIU_Msg2_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(FIU_Msg2_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->FIU_StyleIllGlobal_Req & (0x01U)) | ((_m->FIU_ChildLock_RLtablet_Req & (0x01U)) << 1U) | ((_m->FIU_ConfCamera_Req & (0x01U)) << 2U) | ((_m->FIU_StyleIllTheme_Req & (0x0FU)) << 3U) | ((_m->FIU_ChildLock_RRtablet_Req & (0x01U)) << 7U) ); + _d[1] |= (uint8_t) ( (_m->FIU_ChildLock_RRdoor_Req & (0x01U)) | ((_m->FIU_ChildLock_RCtablet_Req & (0x01U)) << 1U) | ((_m->FIU_ChildLock_RLdoor_Req & (0x01U)) << 3U) | ((_m->FIU_StyleLghtVoice_Req & (0x01U)) << 5U) | ((_m->FIU_AlarmOFF_Req & (0x01U)) << 6U) | ((_m->FIU_MovementSensOFF_Req & (0x01U)) << 7U) ); + _d[2] |= (uint8_t) ( (_m->FIU_ChildLock_RLwindow_Req & (0x01U)) | ((_m->FIU_CoolingBox_Req & (0x03U)) << 3U) ); + _d[3] |= (uint8_t) ( (_m->FIU_ChildLock_RRwindow_Req & (0x01U)) | ((_m->FIU_TrafficSide_Stat & (0x01U)) << 7U) ); + _d[4] |= (uint8_t) ( (_m->FIU_UnlockExternal_Req & (0x01U)) ); + _d[5] |= (uint8_t) ( (_m->FIU_StyleIllBright_Val & (0x7FU)) ); + _d[7] |= (uint8_t) ( (_m->FIU_UnlockAfterDrive_Req & (0x01U)) ); + + *_len = (uint8_t) FIU_Msg2_DLC; + *_ide = (uint8_t) FIU_Msg2_IDE; + return FIU_Msg2_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_ERAG_DATA_MSG_candb(ERAG_DATA_MSG_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->ERAG_FailureSts = (uint8_t) ( (_d[0] & (0x0FU)) ); + _m->ERAG_MuteReq = (uint8_t) ( ((_d[0] >> 4U) & (0x01U)) ); + _m->ERAG_Status = (uint8_t) ( (_d[1] & (0xFFU)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < ERAG_DATA_MSG_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_ERAG_DATA_MSG_candb(&_m->mon1, ERAG_DATA_MSG_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return ERAG_DATA_MSG_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_ERAG_DATA_MSG_candb(ERAG_DATA_MSG_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(ERAG_DATA_MSG_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->ERAG_FailureSts & (0x0FU)) | ((_m->ERAG_MuteReq & (0x01U)) << 4U) ); + cframe->Data[1] |= (uint8_t) ( (_m->ERAG_Status & (0xFFU)) ); + + cframe->MsgId = (uint32_t) ERAG_DATA_MSG_CANID; + cframe->DLC = (uint8_t) ERAG_DATA_MSG_DLC; + cframe->IDE = (uint8_t) ERAG_DATA_MSG_IDE; + return ERAG_DATA_MSG_CANID; +} + +#else + +uint32_t Pack_ERAG_DATA_MSG_candb(ERAG_DATA_MSG_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(ERAG_DATA_MSG_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->ERAG_FailureSts & (0x0FU)) | ((_m->ERAG_MuteReq & (0x01U)) << 4U) ); + _d[1] |= (uint8_t) ( (_m->ERAG_Status & (0xFFU)) ); + + *_len = (uint8_t) ERAG_DATA_MSG_DLC; + *_ide = (uint8_t) ERAG_DATA_MSG_IDE; + return ERAG_DATA_MSG_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_FIU_Msg3_candb(FIU_Msg3_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->FIU_ArmrestHeatFL_Req = (uint8_t) ( (_d[0] & (0x01U)) ); + _m->FIU_ArmrestHeatFR_Req = (uint8_t) ( ((_d[0] >> 1U) & (0x01U)) ); + _m->FIU_ArmrestHeatRL_Req = (uint8_t) ( ((_d[0] >> 2U) & (0x01U)) ); + _m->FIU_ArmrestHeatRR_Req = (uint8_t) ( ((_d[0] >> 3U) & (0x01U)) ); + _m->FIU_FL_Synx_Req = (uint8_t) ( ((_d[0] >> 4U) & (0x03U)) ); + _m->FIU_FR_Synx_Req = (uint8_t) ( ((_d[0] >> 6U) & (0x03U)) ); + _m->FIU_RL_Synx_Req = (uint8_t) ( (_d[1] & (0x03U)) ); + _m->FIU_RR_Synx_Req = (uint8_t) ( ((_d[1] >> 2U) & (0x03U)) ); + _m->FIU_SchedTue_Stat = (uint8_t) ( ((_d[1] >> 4U) & (0x01U)) ); + _m->FIU_SchedWed_Stat = (uint8_t) ( ((_d[1] >> 5U) & (0x01U)) ); + _m->FIU_SchedThu_Stat = (uint8_t) ( ((_d[1] >> 6U) & (0x01U)) ); + _m->FIU_SchedFri_Stat = (uint8_t) ( ((_d[1] >> 7U) & (0x01U)) ); + _m->FIU_ICimage_Req = (uint8_t) ( (_d[2] & (0x03U)) ); + _m->FIU_ProjectionOnRoad_Req = (uint8_t) ( ((_d[2] >> 2U) & (0x01U)) ); + _m->FIU_RearSideWindowsElcrome_Req = (uint8_t) ( ((_d[2] >> 3U) & (0x03U)) ); + _m->FIU_ProjectionRoadSigns_Req = (uint8_t) ( ((_d[2] >> 5U) & (0x01U)) ); + _m->FIU_ProjectionNavigation_Req = (uint8_t) ( ((_d[2] >> 6U) & (0x01U)) ); + _m->FIU_ProjectionLiveObj_Req = (uint8_t) ( ((_d[2] >> 7U) & (0x01U)) ); + _m->FIU_SchedSat_Stat = (uint8_t) ( (_d[3] & (0x01U)) ); + _m->FIU_SchedSu_Stat = (uint8_t) ( ((_d[3] >> 1U) & (0x01U)) ); + _m->FIU_Sched_StartTimeHours_Val = (uint8_t) ( ((_d[3] >> 2U) & (0x1FU)) ); + _m->FIU_SchedStart_Stat = (uint8_t) ( ((_d[3] >> 7U) & (0x01U)) ); + _m->FIU_ChrgLim_Val = (uint8_t) ( (_d[4] & (0x07U)) ); + _m->FIU_DischrgLim_Val = (uint8_t) ( ((_d[4] >> 3U) & (0x07U)) ); + _m->FIU_ReduceChrgCurr_Stat = (uint8_t) ( ((_d[4] >> 6U) & (0x01U)) ); + _m->FIU_SchedMon_Stat = (uint8_t) ( ((_d[4] >> 7U) & (0x01U)) ); + _m->FIU_Sched_StartTimeMinutes_Val_ro = (uint8_t) ( (_d[5] & (0x0FU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->FIU_Sched_StartTimeMinutes_Val_phys = (uint8_t) CANDB_FIU_Sched_StartTimeMinutes_Val_ro_fromS(_m->FIU_Sched_StartTimeMinutes_Val_ro); +#endif // CANDB_USE_SIGFLOAT + + _m->FIU_Sched_EndTimeMinutes_Val_ro = (uint8_t) ( ((_d[5] >> 4U) & (0x0FU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->FIU_Sched_EndTimeMinutes_Val_phys = (uint8_t) CANDB_FIU_Sched_EndTimeMinutes_Val_ro_fromS(_m->FIU_Sched_EndTimeMinutes_Val_ro); +#endif // CANDB_USE_SIGFLOAT + + _m->FIU_Sched_EndTimeHours_Val = (uint8_t) ( (_d[6] & (0x1FU)) ); + _m->FIU_SchedEnd_Stat = (uint8_t) ( ((_d[6] >> 5U) & (0x01U)) ); + _m->FIU_PrepearClim_Stat = (uint8_t) ( ((_d[6] >> 6U) & (0x01U)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < FIU_Msg3_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_FIU_Msg3_candb(&_m->mon1, FIU_Msg3_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return FIU_Msg3_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_FIU_Msg3_candb(FIU_Msg3_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(FIU_Msg3_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->FIU_Sched_StartTimeMinutes_Val_ro = (uint8_t) CANDB_FIU_Sched_StartTimeMinutes_Val_ro_toS(_m->FIU_Sched_StartTimeMinutes_Val_phys); + _m->FIU_Sched_EndTimeMinutes_Val_ro = (uint8_t) CANDB_FIU_Sched_EndTimeMinutes_Val_ro_toS(_m->FIU_Sched_EndTimeMinutes_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + cframe->Data[0] |= (uint8_t) ( (_m->FIU_ArmrestHeatFL_Req & (0x01U)) | ((_m->FIU_ArmrestHeatFR_Req & (0x01U)) << 1U) | ((_m->FIU_ArmrestHeatRL_Req & (0x01U)) << 2U) | ((_m->FIU_ArmrestHeatRR_Req & (0x01U)) << 3U) | ((_m->FIU_FL_Synx_Req & (0x03U)) << 4U) | ((_m->FIU_FR_Synx_Req & (0x03U)) << 6U) ); + cframe->Data[1] |= (uint8_t) ( (_m->FIU_RL_Synx_Req & (0x03U)) | ((_m->FIU_RR_Synx_Req & (0x03U)) << 2U) | ((_m->FIU_SchedTue_Stat & (0x01U)) << 4U) | ((_m->FIU_SchedWed_Stat & (0x01U)) << 5U) | ((_m->FIU_SchedThu_Stat & (0x01U)) << 6U) | ((_m->FIU_SchedFri_Stat & (0x01U)) << 7U) ); + cframe->Data[2] |= (uint8_t) ( (_m->FIU_ICimage_Req & (0x03U)) | ((_m->FIU_ProjectionOnRoad_Req & (0x01U)) << 2U) | ((_m->FIU_RearSideWindowsElcrome_Req & (0x03U)) << 3U) | ((_m->FIU_ProjectionRoadSigns_Req & (0x01U)) << 5U) | ((_m->FIU_ProjectionNavigation_Req & (0x01U)) << 6U) | ((_m->FIU_ProjectionLiveObj_Req & (0x01U)) << 7U) ); + cframe->Data[3] |= (uint8_t) ( (_m->FIU_SchedSat_Stat & (0x01U)) | ((_m->FIU_SchedSu_Stat & (0x01U)) << 1U) | ((_m->FIU_Sched_StartTimeHours_Val & (0x1FU)) << 2U) | ((_m->FIU_SchedStart_Stat & (0x01U)) << 7U) ); + cframe->Data[4] |= (uint8_t) ( (_m->FIU_ChrgLim_Val & (0x07U)) | ((_m->FIU_DischrgLim_Val & (0x07U)) << 3U) | ((_m->FIU_ReduceChrgCurr_Stat & (0x01U)) << 6U) | ((_m->FIU_SchedMon_Stat & (0x01U)) << 7U) ); + cframe->Data[5] |= (uint8_t) ( (_m->FIU_Sched_StartTimeMinutes_Val_ro & (0x0FU)) | ((_m->FIU_Sched_EndTimeMinutes_Val_ro & (0x0FU)) << 4U) ); + cframe->Data[6] |= (uint8_t) ( (_m->FIU_Sched_EndTimeHours_Val & (0x1FU)) | ((_m->FIU_SchedEnd_Stat & (0x01U)) << 5U) | ((_m->FIU_PrepearClim_Stat & (0x01U)) << 6U) ); + + cframe->MsgId = (uint32_t) FIU_Msg3_CANID; + cframe->DLC = (uint8_t) FIU_Msg3_DLC; + cframe->IDE = (uint8_t) FIU_Msg3_IDE; + return FIU_Msg3_CANID; +} + +#else + +uint32_t Pack_FIU_Msg3_candb(FIU_Msg3_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(FIU_Msg3_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->FIU_Sched_StartTimeMinutes_Val_ro = (uint8_t) CANDB_FIU_Sched_StartTimeMinutes_Val_ro_toS(_m->FIU_Sched_StartTimeMinutes_Val_phys); + _m->FIU_Sched_EndTimeMinutes_Val_ro = (uint8_t) CANDB_FIU_Sched_EndTimeMinutes_Val_ro_toS(_m->FIU_Sched_EndTimeMinutes_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + _d[0] |= (uint8_t) ( (_m->FIU_ArmrestHeatFL_Req & (0x01U)) | ((_m->FIU_ArmrestHeatFR_Req & (0x01U)) << 1U) | ((_m->FIU_ArmrestHeatRL_Req & (0x01U)) << 2U) | ((_m->FIU_ArmrestHeatRR_Req & (0x01U)) << 3U) | ((_m->FIU_FL_Synx_Req & (0x03U)) << 4U) | ((_m->FIU_FR_Synx_Req & (0x03U)) << 6U) ); + _d[1] |= (uint8_t) ( (_m->FIU_RL_Synx_Req & (0x03U)) | ((_m->FIU_RR_Synx_Req & (0x03U)) << 2U) | ((_m->FIU_SchedTue_Stat & (0x01U)) << 4U) | ((_m->FIU_SchedWed_Stat & (0x01U)) << 5U) | ((_m->FIU_SchedThu_Stat & (0x01U)) << 6U) | ((_m->FIU_SchedFri_Stat & (0x01U)) << 7U) ); + _d[2] |= (uint8_t) ( (_m->FIU_ICimage_Req & (0x03U)) | ((_m->FIU_ProjectionOnRoad_Req & (0x01U)) << 2U) | ((_m->FIU_RearSideWindowsElcrome_Req & (0x03U)) << 3U) | ((_m->FIU_ProjectionRoadSigns_Req & (0x01U)) << 5U) | ((_m->FIU_ProjectionNavigation_Req & (0x01U)) << 6U) | ((_m->FIU_ProjectionLiveObj_Req & (0x01U)) << 7U) ); + _d[3] |= (uint8_t) ( (_m->FIU_SchedSat_Stat & (0x01U)) | ((_m->FIU_SchedSu_Stat & (0x01U)) << 1U) | ((_m->FIU_Sched_StartTimeHours_Val & (0x1FU)) << 2U) | ((_m->FIU_SchedStart_Stat & (0x01U)) << 7U) ); + _d[4] |= (uint8_t) ( (_m->FIU_ChrgLim_Val & (0x07U)) | ((_m->FIU_DischrgLim_Val & (0x07U)) << 3U) | ((_m->FIU_ReduceChrgCurr_Stat & (0x01U)) << 6U) | ((_m->FIU_SchedMon_Stat & (0x01U)) << 7U) ); + _d[5] |= (uint8_t) ( (_m->FIU_Sched_StartTimeMinutes_Val_ro & (0x0FU)) | ((_m->FIU_Sched_EndTimeMinutes_Val_ro & (0x0FU)) << 4U) ); + _d[6] |= (uint8_t) ( (_m->FIU_Sched_EndTimeHours_Val & (0x1FU)) | ((_m->FIU_SchedEnd_Stat & (0x01U)) << 5U) | ((_m->FIU_PrepearClim_Stat & (0x01U)) << 6U) ); + + *_len = (uint8_t) FIU_Msg3_DLC; + *_ide = (uint8_t) FIU_Msg3_IDE; + return FIU_Msg3_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_FIU_EngMenu_candb(FIU_EngMenu_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->FIU_EngMenuTabLock_RL_Req = (uint8_t) ( (_d[0] & (0x01U)) ); + _m->FIU_EngMenuTabLock_RR_Req = (uint8_t) ( ((_d[0] >> 1U) & (0x01U)) ); + _m->FIU_EngMenuTabLock_RC_Req = (uint8_t) ( ((_d[0] >> 2U) & (0x01U)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < FIU_EngMenu_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_FIU_EngMenu_candb(&_m->mon1, FIU_EngMenu_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return FIU_EngMenu_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_FIU_EngMenu_candb(FIU_EngMenu_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(FIU_EngMenu_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->FIU_EngMenuTabLock_RL_Req & (0x01U)) | ((_m->FIU_EngMenuTabLock_RR_Req & (0x01U)) << 1U) | ((_m->FIU_EngMenuTabLock_RC_Req & (0x01U)) << 2U) ); + + cframe->MsgId = (uint32_t) FIU_EngMenu_CANID; + cframe->DLC = (uint8_t) FIU_EngMenu_DLC; + cframe->IDE = (uint8_t) FIU_EngMenu_IDE; + return FIU_EngMenu_CANID; +} + +#else + +uint32_t Pack_FIU_EngMenu_candb(FIU_EngMenu_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(FIU_EngMenu_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->FIU_EngMenuTabLock_RL_Req & (0x01U)) | ((_m->FIU_EngMenuTabLock_RR_Req & (0x01U)) << 1U) | ((_m->FIU_EngMenuTabLock_RC_Req & (0x01U)) << 2U) ); + + *_len = (uint8_t) FIU_EngMenu_DLC; + *_ide = (uint8_t) FIU_EngMenu_IDE; + return FIU_EngMenu_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_WHFL_MSG1_candb(WHFL_MSG1_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->WHFL_PowerMode_Stat = (uint8_t) ( (_d[0] & (0x07U)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < WHFL_MSG1_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_WHFL_MSG1_candb(&_m->mon1, WHFL_MSG1_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return WHFL_MSG1_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_WHFL_MSG1_candb(WHFL_MSG1_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(WHFL_MSG1_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->WHFL_PowerMode_Stat & (0x07U)) ); + + cframe->MsgId = (uint32_t) WHFL_MSG1_CANID; + cframe->DLC = (uint8_t) WHFL_MSG1_DLC; + cframe->IDE = (uint8_t) WHFL_MSG1_IDE; + return WHFL_MSG1_CANID; +} + +#else + +uint32_t Pack_WHFL_MSG1_candb(WHFL_MSG1_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(WHFL_MSG1_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->WHFL_PowerMode_Stat & (0x07U)) ); + + *_len = (uint8_t) WHFL_MSG1_DLC; + *_ide = (uint8_t) WHFL_MSG1_IDE; + return WHFL_MSG1_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_WHFR_Msg1_candb(WHFR_Msg1_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->WHFR_PowerMode_Stat = (uint8_t) ( (_d[0] & (0x07U)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < WHFR_Msg1_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_WHFR_Msg1_candb(&_m->mon1, WHFR_Msg1_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return WHFR_Msg1_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_WHFR_Msg1_candb(WHFR_Msg1_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(WHFR_Msg1_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->WHFR_PowerMode_Stat & (0x07U)) ); + + cframe->MsgId = (uint32_t) WHFR_Msg1_CANID; + cframe->DLC = (uint8_t) WHFR_Msg1_DLC; + cframe->IDE = (uint8_t) WHFR_Msg1_IDE; + return WHFR_Msg1_CANID; +} + +#else + +uint32_t Pack_WHFR_Msg1_candb(WHFR_Msg1_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(WHFR_Msg1_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->WHFR_PowerMode_Stat & (0x07U)) ); + + *_len = (uint8_t) WHFR_Msg1_DLC; + *_ide = (uint8_t) WHFR_Msg1_IDE; + return WHFR_Msg1_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_PLDSilCU_State_candb(PLDSilCU_State_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->PLDSilCU_Module_Stat = (int8_t) __ext_sig__(( (_d[0] & (0x0FU)) ), 4); + _m->PLDSilCU_ModuleTemperature_Val = (int8_t) __ext_sig__(( ((_d[1] & (0x07U)) << 4U) | ((_d[0] >> 4U) & (0x0FU)) ), 7); + _m->PLDSilCU_reserved1 = (int8_t) __ext_sig__(( ((_d[1] >> 3U) & (0x1FU)) ), 5); + _m->PLDSilCU_reserved2 = (int8_t) __ext_sig__(( (_d[2] & (0xFFU)) ), 8); + _m->PLDSilCU_reserved3 = (int8_t) __ext_sig__(( (_d[3] & (0xFFU)) ), 8); + _m->PLDSilCU_reserved4 = (int8_t) __ext_sig__(( (_d[4] & (0xFFU)) ), 8); + _m->PLDSilCU_reserved5 = (int8_t) __ext_sig__(( (_d[5] & (0xFFU)) ), 8); + _m->PLDSilCU_reserved6 = (int8_t) __ext_sig__(( (_d[6] & (0xFFU)) ), 8); + _m->PLDSilCU_reserved7 = (int8_t) __ext_sig__(( (_d[7] & (0xFFU)) ), 8); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < PLDSilCU_State_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_PLDSilCU_State_candb(&_m->mon1, PLDSilCU_State_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return PLDSilCU_State_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_PLDSilCU_State_candb(PLDSilCU_State_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(PLDSilCU_State_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->PLDSilCU_Module_Stat & (0x0FU)) | ((_m->PLDSilCU_ModuleTemperature_Val & (0x0FU)) << 4U) ); + cframe->Data[1] |= (uint8_t) ( ((_m->PLDSilCU_ModuleTemperature_Val >> 4U) & (0x07U)) | ((_m->PLDSilCU_reserved1 & (0x1FU)) << 3U) ); + cframe->Data[2] |= (uint8_t) ( (_m->PLDSilCU_reserved2 & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( (_m->PLDSilCU_reserved3 & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( (_m->PLDSilCU_reserved4 & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( (_m->PLDSilCU_reserved5 & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( (_m->PLDSilCU_reserved6 & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->PLDSilCU_reserved7 & (0xFFU)) ); + + cframe->MsgId = (uint32_t) PLDSilCU_State_CANID; + cframe->DLC = (uint8_t) PLDSilCU_State_DLC; + cframe->IDE = (uint8_t) PLDSilCU_State_IDE; + return PLDSilCU_State_CANID; +} + +#else + +uint32_t Pack_PLDSilCU_State_candb(PLDSilCU_State_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(PLDSilCU_State_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->PLDSilCU_Module_Stat & (0x0FU)) | ((_m->PLDSilCU_ModuleTemperature_Val & (0x0FU)) << 4U) ); + _d[1] |= (uint8_t) ( ((_m->PLDSilCU_ModuleTemperature_Val >> 4U) & (0x07U)) | ((_m->PLDSilCU_reserved1 & (0x1FU)) << 3U) ); + _d[2] |= (uint8_t) ( (_m->PLDSilCU_reserved2 & (0xFFU)) ); + _d[3] |= (uint8_t) ( (_m->PLDSilCU_reserved3 & (0xFFU)) ); + _d[4] |= (uint8_t) ( (_m->PLDSilCU_reserved4 & (0xFFU)) ); + _d[5] |= (uint8_t) ( (_m->PLDSilCU_reserved5 & (0xFFU)) ); + _d[6] |= (uint8_t) ( (_m->PLDSilCU_reserved6 & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->PLDSilCU_reserved7 & (0xFFU)) ); + + *_len = (uint8_t) PLDSilCU_State_DLC; + *_ide = (uint8_t) PLDSilCU_State_IDE; + return PLDSilCU_State_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_PRDSilCU_State_candb(PRDSilCU_State_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->PRDSilCU_Module_Stat = (int8_t) __ext_sig__(( (_d[0] & (0x0FU)) ), 4); + _m->PRDSilCU_ModuleTemperature_Val = (int8_t) __ext_sig__(( ((_d[1] & (0x07U)) << 4U) | ((_d[0] >> 4U) & (0x0FU)) ), 7); + _m->PRDSilCU_reserved1 = (int8_t) __ext_sig__(( ((_d[1] >> 3U) & (0x1FU)) ), 5); + _m->PRDSilCU_reserved2 = (int8_t) __ext_sig__(( (_d[2] & (0xFFU)) ), 8); + _m->PRDSilCU_reserved3 = (int8_t) __ext_sig__(( (_d[3] & (0xFFU)) ), 8); + _m->PRDSilCU_reserved4 = (int8_t) __ext_sig__(( (_d[4] & (0xFFU)) ), 8); + _m->PRDSilCU_reserved5 = (int8_t) __ext_sig__(( (_d[5] & (0xFFU)) ), 8); + _m->PRDSilCU_reserved6 = (int8_t) __ext_sig__(( (_d[6] & (0xFFU)) ), 8); + _m->PRDSilCU_reserved7 = (int8_t) __ext_sig__(( (_d[7] & (0xFFU)) ), 8); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < PRDSilCU_State_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_PRDSilCU_State_candb(&_m->mon1, PRDSilCU_State_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return PRDSilCU_State_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_PRDSilCU_State_candb(PRDSilCU_State_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(PRDSilCU_State_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->PRDSilCU_Module_Stat & (0x0FU)) | ((_m->PRDSilCU_ModuleTemperature_Val & (0x0FU)) << 4U) ); + cframe->Data[1] |= (uint8_t) ( ((_m->PRDSilCU_ModuleTemperature_Val >> 4U) & (0x07U)) | ((_m->PRDSilCU_reserved1 & (0x1FU)) << 3U) ); + cframe->Data[2] |= (uint8_t) ( (_m->PRDSilCU_reserved2 & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( (_m->PRDSilCU_reserved3 & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( (_m->PRDSilCU_reserved4 & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( (_m->PRDSilCU_reserved5 & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( (_m->PRDSilCU_reserved6 & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->PRDSilCU_reserved7 & (0xFFU)) ); + + cframe->MsgId = (uint32_t) PRDSilCU_State_CANID; + cframe->DLC = (uint8_t) PRDSilCU_State_DLC; + cframe->IDE = (uint8_t) PRDSilCU_State_IDE; + return PRDSilCU_State_CANID; +} + +#else + +uint32_t Pack_PRDSilCU_State_candb(PRDSilCU_State_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(PRDSilCU_State_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->PRDSilCU_Module_Stat & (0x0FU)) | ((_m->PRDSilCU_ModuleTemperature_Val & (0x0FU)) << 4U) ); + _d[1] |= (uint8_t) ( ((_m->PRDSilCU_ModuleTemperature_Val >> 4U) & (0x07U)) | ((_m->PRDSilCU_reserved1 & (0x1FU)) << 3U) ); + _d[2] |= (uint8_t) ( (_m->PRDSilCU_reserved2 & (0xFFU)) ); + _d[3] |= (uint8_t) ( (_m->PRDSilCU_reserved3 & (0xFFU)) ); + _d[4] |= (uint8_t) ( (_m->PRDSilCU_reserved4 & (0xFFU)) ); + _d[5] |= (uint8_t) ( (_m->PRDSilCU_reserved5 & (0xFFU)) ); + _d[6] |= (uint8_t) ( (_m->PRDSilCU_reserved6 & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->PRDSilCU_reserved7 & (0xFFU)) ); + + *_len = (uint8_t) PRDSilCU_State_DLC; + *_ide = (uint8_t) PRDSilCU_State_IDE; + return PRDSilCU_State_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_FLDSilCU_State_candb(FLDSilCU_State_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->FLDSilCU_Module_Stat = (int8_t) __ext_sig__(( (_d[0] & (0x0FU)) ), 4); + _m->FLDSilCU_ModuleTemperature_Val = (int8_t) __ext_sig__(( ((_d[1] & (0x07U)) << 4U) | ((_d[0] >> 4U) & (0x0FU)) ), 7); + _m->FLDSilCU_reserved1 = (int8_t) __ext_sig__(( ((_d[1] >> 3U) & (0x1FU)) ), 5); + _m->FLDSilCU_reserved2 = (int8_t) __ext_sig__(( (_d[2] & (0xFFU)) ), 8); + _m->FLDSilCU_reserved3 = (int8_t) __ext_sig__(( (_d[3] & (0xFFU)) ), 8); + _m->FLDSilCU_reserved4 = (int8_t) __ext_sig__(( (_d[4] & (0xFFU)) ), 8); + _m->FLDSilCU_reserved5 = (int8_t) __ext_sig__(( (_d[5] & (0xFFU)) ), 8); + _m->FLDSilCU_reserved6 = (int8_t) __ext_sig__(( (_d[6] & (0xFFU)) ), 8); + _m->FLDSilCU_reserved7 = (int8_t) __ext_sig__(( (_d[7] & (0xFFU)) ), 8); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < FLDSilCU_State_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_FLDSilCU_State_candb(&_m->mon1, FLDSilCU_State_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return FLDSilCU_State_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_FLDSilCU_State_candb(FLDSilCU_State_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(FLDSilCU_State_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->FLDSilCU_Module_Stat & (0x0FU)) | ((_m->FLDSilCU_ModuleTemperature_Val & (0x0FU)) << 4U) ); + cframe->Data[1] |= (uint8_t) ( ((_m->FLDSilCU_ModuleTemperature_Val >> 4U) & (0x07U)) | ((_m->FLDSilCU_reserved1 & (0x1FU)) << 3U) ); + cframe->Data[2] |= (uint8_t) ( (_m->FLDSilCU_reserved2 & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( (_m->FLDSilCU_reserved3 & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( (_m->FLDSilCU_reserved4 & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( (_m->FLDSilCU_reserved5 & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( (_m->FLDSilCU_reserved6 & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->FLDSilCU_reserved7 & (0xFFU)) ); + + cframe->MsgId = (uint32_t) FLDSilCU_State_CANID; + cframe->DLC = (uint8_t) FLDSilCU_State_DLC; + cframe->IDE = (uint8_t) FLDSilCU_State_IDE; + return FLDSilCU_State_CANID; +} + +#else + +uint32_t Pack_FLDSilCU_State_candb(FLDSilCU_State_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(FLDSilCU_State_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->FLDSilCU_Module_Stat & (0x0FU)) | ((_m->FLDSilCU_ModuleTemperature_Val & (0x0FU)) << 4U) ); + _d[1] |= (uint8_t) ( ((_m->FLDSilCU_ModuleTemperature_Val >> 4U) & (0x07U)) | ((_m->FLDSilCU_reserved1 & (0x1FU)) << 3U) ); + _d[2] |= (uint8_t) ( (_m->FLDSilCU_reserved2 & (0xFFU)) ); + _d[3] |= (uint8_t) ( (_m->FLDSilCU_reserved3 & (0xFFU)) ); + _d[4] |= (uint8_t) ( (_m->FLDSilCU_reserved4 & (0xFFU)) ); + _d[5] |= (uint8_t) ( (_m->FLDSilCU_reserved5 & (0xFFU)) ); + _d[6] |= (uint8_t) ( (_m->FLDSilCU_reserved6 & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->FLDSilCU_reserved7 & (0xFFU)) ); + + *_len = (uint8_t) FLDSilCU_State_DLC; + *_ide = (uint8_t) FLDSilCU_State_IDE; + return FLDSilCU_State_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_FRDSilCU_State_candb(FRDSilCU_State_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->FRDSilCU_Module_Stat = (int8_t) __ext_sig__(( (_d[0] & (0x0FU)) ), 4); + _m->FRDSilCU_ModuleTemperature_Val = (int8_t) __ext_sig__(( ((_d[1] & (0x07U)) << 4U) | ((_d[0] >> 4U) & (0x0FU)) ), 7); + _m->FRDSilCU_reserved1 = (int8_t) __ext_sig__(( ((_d[1] >> 3U) & (0x1FU)) ), 5); + _m->FRDSilCU_reserved2 = (int8_t) __ext_sig__(( (_d[2] & (0xFFU)) ), 8); + _m->FRDSilCU_reserved3 = (int8_t) __ext_sig__(( (_d[3] & (0xFFU)) ), 8); + _m->FRDSilCU_reserved4 = (int8_t) __ext_sig__(( (_d[4] & (0xFFU)) ), 8); + _m->FRDSilCU_reserved5 = (int8_t) __ext_sig__(( (_d[5] & (0xFFU)) ), 8); + _m->FRDSilCU_reserved6 = (int8_t) __ext_sig__(( (_d[6] & (0xFFU)) ), 8); + _m->FRDSilCU_reserved7 = (int8_t) __ext_sig__(( (_d[7] & (0xFFU)) ), 8); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < FRDSilCU_State_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_FRDSilCU_State_candb(&_m->mon1, FRDSilCU_State_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return FRDSilCU_State_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_FRDSilCU_State_candb(FRDSilCU_State_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(FRDSilCU_State_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->FRDSilCU_Module_Stat & (0x0FU)) | ((_m->FRDSilCU_ModuleTemperature_Val & (0x0FU)) << 4U) ); + cframe->Data[1] |= (uint8_t) ( ((_m->FRDSilCU_ModuleTemperature_Val >> 4U) & (0x07U)) | ((_m->FRDSilCU_reserved1 & (0x1FU)) << 3U) ); + cframe->Data[2] |= (uint8_t) ( (_m->FRDSilCU_reserved2 & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( (_m->FRDSilCU_reserved3 & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( (_m->FRDSilCU_reserved4 & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( (_m->FRDSilCU_reserved5 & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( (_m->FRDSilCU_reserved6 & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->FRDSilCU_reserved7 & (0xFFU)) ); + + cframe->MsgId = (uint32_t) FRDSilCU_State_CANID; + cframe->DLC = (uint8_t) FRDSilCU_State_DLC; + cframe->IDE = (uint8_t) FRDSilCU_State_IDE; + return FRDSilCU_State_CANID; +} + +#else + +uint32_t Pack_FRDSilCU_State_candb(FRDSilCU_State_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(FRDSilCU_State_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->FRDSilCU_Module_Stat & (0x0FU)) | ((_m->FRDSilCU_ModuleTemperature_Val & (0x0FU)) << 4U) ); + _d[1] |= (uint8_t) ( ((_m->FRDSilCU_ModuleTemperature_Val >> 4U) & (0x07U)) | ((_m->FRDSilCU_reserved1 & (0x1FU)) << 3U) ); + _d[2] |= (uint8_t) ( (_m->FRDSilCU_reserved2 & (0xFFU)) ); + _d[3] |= (uint8_t) ( (_m->FRDSilCU_reserved3 & (0xFFU)) ); + _d[4] |= (uint8_t) ( (_m->FRDSilCU_reserved4 & (0xFFU)) ); + _d[5] |= (uint8_t) ( (_m->FRDSilCU_reserved5 & (0xFFU)) ); + _d[6] |= (uint8_t) ( (_m->FRDSilCU_reserved6 & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->FRDSilCU_reserved7 & (0xFFU)) ); + + *_len = (uint8_t) FRDSilCU_State_DLC; + *_ide = (uint8_t) FRDSilCU_State_IDE; + return FRDSilCU_State_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_RLDSilCU_State_candb(RLDSilCU_State_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->RLDSilCU_Module_Stat = (int8_t) __ext_sig__(( (_d[0] & (0x0FU)) ), 4); + _m->RLDSilCU_ModuleTemperature_Val = (int8_t) __ext_sig__(( ((_d[1] & (0x07U)) << 4U) | ((_d[0] >> 4U) & (0x0FU)) ), 7); + _m->RLDSilCU_reserved1 = (int8_t) __ext_sig__(( ((_d[1] >> 3U) & (0x1FU)) ), 5); + _m->RLDSilCU_reserved2 = (int8_t) __ext_sig__(( (_d[2] & (0xFFU)) ), 8); + _m->RLDSilCU_reserved3 = (int8_t) __ext_sig__(( (_d[3] & (0xFFU)) ), 8); + _m->RLDSilCU_reserved4 = (int8_t) __ext_sig__(( (_d[4] & (0xFFU)) ), 8); + _m->RLDSilCU_reserved5 = (int8_t) __ext_sig__(( (_d[5] & (0xFFU)) ), 8); + _m->RLDSilCU_reserved6 = (int8_t) __ext_sig__(( (_d[6] & (0xFFU)) ), 8); + _m->RLDSilCU_reserved7 = (int8_t) __ext_sig__(( (_d[7] & (0xFFU)) ), 8); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < RLDSilCU_State_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_RLDSilCU_State_candb(&_m->mon1, RLDSilCU_State_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return RLDSilCU_State_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_RLDSilCU_State_candb(RLDSilCU_State_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(RLDSilCU_State_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->RLDSilCU_Module_Stat & (0x0FU)) | ((_m->RLDSilCU_ModuleTemperature_Val & (0x0FU)) << 4U) ); + cframe->Data[1] |= (uint8_t) ( ((_m->RLDSilCU_ModuleTemperature_Val >> 4U) & (0x07U)) | ((_m->RLDSilCU_reserved1 & (0x1FU)) << 3U) ); + cframe->Data[2] |= (uint8_t) ( (_m->RLDSilCU_reserved2 & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( (_m->RLDSilCU_reserved3 & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( (_m->RLDSilCU_reserved4 & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( (_m->RLDSilCU_reserved5 & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( (_m->RLDSilCU_reserved6 & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->RLDSilCU_reserved7 & (0xFFU)) ); + + cframe->MsgId = (uint32_t) RLDSilCU_State_CANID; + cframe->DLC = (uint8_t) RLDSilCU_State_DLC; + cframe->IDE = (uint8_t) RLDSilCU_State_IDE; + return RLDSilCU_State_CANID; +} + +#else + +uint32_t Pack_RLDSilCU_State_candb(RLDSilCU_State_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(RLDSilCU_State_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->RLDSilCU_Module_Stat & (0x0FU)) | ((_m->RLDSilCU_ModuleTemperature_Val & (0x0FU)) << 4U) ); + _d[1] |= (uint8_t) ( ((_m->RLDSilCU_ModuleTemperature_Val >> 4U) & (0x07U)) | ((_m->RLDSilCU_reserved1 & (0x1FU)) << 3U) ); + _d[2] |= (uint8_t) ( (_m->RLDSilCU_reserved2 & (0xFFU)) ); + _d[3] |= (uint8_t) ( (_m->RLDSilCU_reserved3 & (0xFFU)) ); + _d[4] |= (uint8_t) ( (_m->RLDSilCU_reserved4 & (0xFFU)) ); + _d[5] |= (uint8_t) ( (_m->RLDSilCU_reserved5 & (0xFFU)) ); + _d[6] |= (uint8_t) ( (_m->RLDSilCU_reserved6 & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->RLDSilCU_reserved7 & (0xFFU)) ); + + *_len = (uint8_t) RLDSilCU_State_DLC; + *_ide = (uint8_t) RLDSilCU_State_IDE; + return RLDSilCU_State_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_RRDSilCU_State_candb(RRDSilCU_State_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->RRDSilCU_Module_Stat = (int8_t) __ext_sig__(( (_d[0] & (0x0FU)) ), 4); + _m->RRDSilCU_ModuleTemperature_Val = (int8_t) __ext_sig__(( ((_d[1] & (0x07U)) << 4U) | ((_d[0] >> 4U) & (0x0FU)) ), 7); + _m->RRDSilCU_reserved1 = (int8_t) __ext_sig__(( ((_d[1] >> 3U) & (0x1FU)) ), 5); + _m->RRDSilCU_reserved2 = (int8_t) __ext_sig__(( (_d[2] & (0xFFU)) ), 8); + _m->RRDSilCU_reserved3 = (int8_t) __ext_sig__(( (_d[3] & (0xFFU)) ), 8); + _m->RRDSilCU_reserved4 = (int8_t) __ext_sig__(( (_d[4] & (0xFFU)) ), 8); + _m->RRDSilCU_reserved5 = (int8_t) __ext_sig__(( (_d[5] & (0xFFU)) ), 8); + _m->RRDSilCU_reserved6 = (int8_t) __ext_sig__(( (_d[6] & (0xFFU)) ), 8); + _m->RRDSilCU_reserved7 = (int8_t) __ext_sig__(( (_d[7] & (0xFFU)) ), 8); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < RRDSilCU_State_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_RRDSilCU_State_candb(&_m->mon1, RRDSilCU_State_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return RRDSilCU_State_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_RRDSilCU_State_candb(RRDSilCU_State_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(RRDSilCU_State_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->RRDSilCU_Module_Stat & (0x0FU)) | ((_m->RRDSilCU_ModuleTemperature_Val & (0x0FU)) << 4U) ); + cframe->Data[1] |= (uint8_t) ( ((_m->RRDSilCU_ModuleTemperature_Val >> 4U) & (0x07U)) | ((_m->RRDSilCU_reserved1 & (0x1FU)) << 3U) ); + cframe->Data[2] |= (uint8_t) ( (_m->RRDSilCU_reserved2 & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( (_m->RRDSilCU_reserved3 & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( (_m->RRDSilCU_reserved4 & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( (_m->RRDSilCU_reserved5 & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( (_m->RRDSilCU_reserved6 & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->RRDSilCU_reserved7 & (0xFFU)) ); + + cframe->MsgId = (uint32_t) RRDSilCU_State_CANID; + cframe->DLC = (uint8_t) RRDSilCU_State_DLC; + cframe->IDE = (uint8_t) RRDSilCU_State_IDE; + return RRDSilCU_State_CANID; +} + +#else + +uint32_t Pack_RRDSilCU_State_candb(RRDSilCU_State_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(RRDSilCU_State_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->RRDSilCU_Module_Stat & (0x0FU)) | ((_m->RRDSilCU_ModuleTemperature_Val & (0x0FU)) << 4U) ); + _d[1] |= (uint8_t) ( ((_m->RRDSilCU_ModuleTemperature_Val >> 4U) & (0x07U)) | ((_m->RRDSilCU_reserved1 & (0x1FU)) << 3U) ); + _d[2] |= (uint8_t) ( (_m->RRDSilCU_reserved2 & (0xFFU)) ); + _d[3] |= (uint8_t) ( (_m->RRDSilCU_reserved3 & (0xFFU)) ); + _d[4] |= (uint8_t) ( (_m->RRDSilCU_reserved4 & (0xFFU)) ); + _d[5] |= (uint8_t) ( (_m->RRDSilCU_reserved5 & (0xFFU)) ); + _d[6] |= (uint8_t) ( (_m->RRDSilCU_reserved6 & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->RRDSilCU_reserved7 & (0xFFU)) ); + + *_len = (uint8_t) RRDSilCU_State_DLC; + *_ide = (uint8_t) RRDSilCU_State_IDE; + return RRDSilCU_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_; @@ -2669,6 +11571,4107 @@ uint32_t Pack_FIU_CCU3_candb(FIU_CCU3_t* _m, uint8_t* _d, uint8_t* _len, uint8_t #endif // CANDB_USE_CANSTRUCT +uint32_t Unpack_BCM_StyleCmd2_candb(BCM_StyleCmd2_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->BCM_Script_play_Req = (uint8_t) ( (_d[0] & (0x3FU)) ); + _m->BCM_StartPosition_Req = (uint8_t) ( ((_d[1] & (0x01U)) << 2U) | ((_d[0] >> 6U) & (0x03U)) ); + _m->BCM_MiddlePosition_Req = (uint8_t) ( ((_d[1] >> 1U) & (0x07U)) ); + _m->BCM_EndPosition_Req = (uint8_t) ( ((_d[1] >> 4U) & (0x07U)) ); + _m->BCM_ColorConfiguration_Stat = (uint8_t) ( ((_d[2] & (0x03U)) << 1U) | ((_d[1] >> 7U) & (0x01U)) ); + _m->BCM_Color_Width_Val_ro = (uint8_t) ( ((_d[3] & (0x03U)) << 6U) | ((_d[2] >> 2U) & (0x3FU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_Color_Width_Val_phys = (sigfloat_t)(CANDB_BCM_Color_Width_Val_ro_fromS(_m->BCM_Color_Width_Val_ro)); +#endif // CANDB_USE_SIGFLOAT + + _m->BCM_RedColorParameter_Val = (uint8_t) ( ((_d[4] & (0x03U)) << 6U) | ((_d[3] >> 2U) & (0x3FU)) ); + _m->BCM_GreenColorParameter_Val = (uint8_t) ( ((_d[5] & (0x03U)) << 6U) | ((_d[4] >> 2U) & (0x3FU)) ); + _m->BCM_BlueColorParameter_Val = (uint8_t) ( ((_d[6] & (0x03U)) << 6U) | ((_d[5] >> 2U) & (0x3FU)) ); + _m->BCM_WhiteColorParameter_Val = (uint8_t) ( ((_d[7] & (0x03U)) << 6U) | ((_d[6] >> 2U) & (0x3FU)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < BCM_StyleCmd2_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_BCM_StyleCmd2_candb(&_m->mon1, BCM_StyleCmd2_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return BCM_StyleCmd2_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_BCM_StyleCmd2_candb(BCM_StyleCmd2_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(BCM_StyleCmd2_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_Color_Width_Val_ro = (uint8_t) CANDB_BCM_Color_Width_Val_ro_toS(_m->BCM_Color_Width_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + cframe->Data[0] |= (uint8_t) ( (_m->BCM_Script_play_Req & (0x3FU)) | ((_m->BCM_StartPosition_Req & (0x03U)) << 6U) ); + cframe->Data[1] |= (uint8_t) ( ((_m->BCM_StartPosition_Req >> 2U) & (0x01U)) | ((_m->BCM_MiddlePosition_Req & (0x07U)) << 1U) | ((_m->BCM_EndPosition_Req & (0x07U)) << 4U) | ((_m->BCM_ColorConfiguration_Stat & (0x01U)) << 7U) ); + cframe->Data[2] |= (uint8_t) ( ((_m->BCM_ColorConfiguration_Stat >> 1U) & (0x03U)) | ((_m->BCM_Color_Width_Val_ro & (0x3FU)) << 2U) ); + cframe->Data[3] |= (uint8_t) ( ((_m->BCM_Color_Width_Val_ro >> 6U) & (0x03U)) | ((_m->BCM_RedColorParameter_Val & (0x3FU)) << 2U) ); + cframe->Data[4] |= (uint8_t) ( ((_m->BCM_RedColorParameter_Val >> 6U) & (0x03U)) | ((_m->BCM_GreenColorParameter_Val & (0x3FU)) << 2U) ); + cframe->Data[5] |= (uint8_t) ( ((_m->BCM_GreenColorParameter_Val >> 6U) & (0x03U)) | ((_m->BCM_BlueColorParameter_Val & (0x3FU)) << 2U) ); + cframe->Data[6] |= (uint8_t) ( ((_m->BCM_BlueColorParameter_Val >> 6U) & (0x03U)) | ((_m->BCM_WhiteColorParameter_Val & (0x3FU)) << 2U) ); + cframe->Data[7] |= (uint8_t) ( ((_m->BCM_WhiteColorParameter_Val >> 6U) & (0x03U)) ); + + cframe->MsgId = (uint32_t) BCM_StyleCmd2_CANID; + cframe->DLC = (uint8_t) BCM_StyleCmd2_DLC; + cframe->IDE = (uint8_t) BCM_StyleCmd2_IDE; + return BCM_StyleCmd2_CANID; +} + +#else + +uint32_t Pack_BCM_StyleCmd2_candb(BCM_StyleCmd2_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(BCM_StyleCmd2_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_Color_Width_Val_ro = (uint8_t) CANDB_BCM_Color_Width_Val_ro_toS(_m->BCM_Color_Width_Val_phys); +#endif // CANDB_USE_SIGFLOAT + + _d[0] |= (uint8_t) ( (_m->BCM_Script_play_Req & (0x3FU)) | ((_m->BCM_StartPosition_Req & (0x03U)) << 6U) ); + _d[1] |= (uint8_t) ( ((_m->BCM_StartPosition_Req >> 2U) & (0x01U)) | ((_m->BCM_MiddlePosition_Req & (0x07U)) << 1U) | ((_m->BCM_EndPosition_Req & (0x07U)) << 4U) | ((_m->BCM_ColorConfiguration_Stat & (0x01U)) << 7U) ); + _d[2] |= (uint8_t) ( ((_m->BCM_ColorConfiguration_Stat >> 1U) & (0x03U)) | ((_m->BCM_Color_Width_Val_ro & (0x3FU)) << 2U) ); + _d[3] |= (uint8_t) ( ((_m->BCM_Color_Width_Val_ro >> 6U) & (0x03U)) | ((_m->BCM_RedColorParameter_Val & (0x3FU)) << 2U) ); + _d[4] |= (uint8_t) ( ((_m->BCM_RedColorParameter_Val >> 6U) & (0x03U)) | ((_m->BCM_GreenColorParameter_Val & (0x3FU)) << 2U) ); + _d[5] |= (uint8_t) ( ((_m->BCM_GreenColorParameter_Val >> 6U) & (0x03U)) | ((_m->BCM_BlueColorParameter_Val & (0x3FU)) << 2U) ); + _d[6] |= (uint8_t) ( ((_m->BCM_BlueColorParameter_Val >> 6U) & (0x03U)) | ((_m->BCM_WhiteColorParameter_Val & (0x3FU)) << 2U) ); + _d[7] |= (uint8_t) ( ((_m->BCM_WhiteColorParameter_Val >> 6U) & (0x03U)) ); + + *_len = (uint8_t) BCM_StyleCmd2_DLC; + *_ide = (uint8_t) BCM_StyleCmd2_IDE; + return BCM_StyleCmd2_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_BCM_StyleCmd3_candb(BCM_StyleCmd3_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->BCM_PlaceToPlay_Req = (uint8_t) ( (_d[0] & (0x03U)) ); + _m->BCM_TransModeOutScen_Req = (uint8_t) ( ((_d[0] >> 2U) & (0x1FU)) ); + _m->BCM_StartStopPlayTime_Req_ro = (uint8_t) ( ((_d[1] & (0x0FU)) << 1U) | ((_d[0] >> 7U) & (0x01U)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_StartStopPlayTime_Req_phys = (uint16_t) CANDB_BCM_StartStopPlayTime_Req_ro_fromS(_m->BCM_StartStopPlayTime_Req_ro); +#endif // CANDB_USE_SIGFLOAT + + _m->BCM_Factorpurpose_Stat = (uint8_t) ( ((_d[1] >> 4U) & (0x03U)) ); + _m->BCM_FactorFunction_A_Val = (uint8_t) ( ((_d[2] & (0x3FU)) << 2U) | ((_d[1] >> 6U) & (0x03U)) ); + _m->BCM_FactorFunction_B_Val = (uint8_t) ( ((_d[3] & (0x3FU)) << 2U) | ((_d[2] >> 6U) & (0x03U)) ); + _m->BCM_FactorFunction_C_Val = (uint8_t) ( ((_d[4] & (0x3FU)) << 2U) | ((_d[3] >> 6U) & (0x03U)) ); + _m->BCM_Reserved6 = (uint8_t) ( ((_d[5] & (0x3FU)) << 2U) | ((_d[4] >> 6U) & (0x03U)) ); + _m->BCM_Reserved7 = (uint8_t) ( ((_d[6] & (0x3FU)) << 2U) | ((_d[5] >> 6U) & (0x03U)) ); + _m->BCM_Reserved8 = (uint8_t) ( ((_d[7] & (0x3FU)) << 2U) | ((_d[6] >> 6U) & (0x03U)) ); + _m->BCM_Reserved9 = (uint8_t) ( ((_d[7] >> 6U) & (0x01U)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < BCM_StyleCmd3_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_BCM_StyleCmd3_candb(&_m->mon1, BCM_StyleCmd3_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return BCM_StyleCmd3_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_BCM_StyleCmd3_candb(BCM_StyleCmd3_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(BCM_StyleCmd3_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_StartStopPlayTime_Req_ro = (uint8_t) CANDB_BCM_StartStopPlayTime_Req_ro_toS(_m->BCM_StartStopPlayTime_Req_phys); +#endif // CANDB_USE_SIGFLOAT + + cframe->Data[0] |= (uint8_t) ( (_m->BCM_PlaceToPlay_Req & (0x03U)) | ((_m->BCM_TransModeOutScen_Req & (0x1FU)) << 2U) | ((_m->BCM_StartStopPlayTime_Req_ro & (0x01U)) << 7U) ); + cframe->Data[1] |= (uint8_t) ( ((_m->BCM_StartStopPlayTime_Req_ro >> 1U) & (0x0FU)) | ((_m->BCM_Factorpurpose_Stat & (0x03U)) << 4U) | ((_m->BCM_FactorFunction_A_Val & (0x03U)) << 6U) ); + cframe->Data[2] |= (uint8_t) ( ((_m->BCM_FactorFunction_A_Val >> 2U) & (0x3FU)) | ((_m->BCM_FactorFunction_B_Val & (0x03U)) << 6U) ); + cframe->Data[3] |= (uint8_t) ( ((_m->BCM_FactorFunction_B_Val >> 2U) & (0x3FU)) | ((_m->BCM_FactorFunction_C_Val & (0x03U)) << 6U) ); + cframe->Data[4] |= (uint8_t) ( ((_m->BCM_FactorFunction_C_Val >> 2U) & (0x3FU)) | ((_m->BCM_Reserved6 & (0x03U)) << 6U) ); + cframe->Data[5] |= (uint8_t) ( ((_m->BCM_Reserved6 >> 2U) & (0x3FU)) | ((_m->BCM_Reserved7 & (0x03U)) << 6U) ); + cframe->Data[6] |= (uint8_t) ( ((_m->BCM_Reserved7 >> 2U) & (0x3FU)) | ((_m->BCM_Reserved8 & (0x03U)) << 6U) ); + cframe->Data[7] |= (uint8_t) ( ((_m->BCM_Reserved8 >> 2U) & (0x3FU)) | ((_m->BCM_Reserved9 & (0x01U)) << 6U) ); + + cframe->MsgId = (uint32_t) BCM_StyleCmd3_CANID; + cframe->DLC = (uint8_t) BCM_StyleCmd3_DLC; + cframe->IDE = (uint8_t) BCM_StyleCmd3_IDE; + return BCM_StyleCmd3_CANID; +} + +#else + +uint32_t Pack_BCM_StyleCmd3_candb(BCM_StyleCmd3_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(BCM_StyleCmd3_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->BCM_StartStopPlayTime_Req_ro = (uint8_t) CANDB_BCM_StartStopPlayTime_Req_ro_toS(_m->BCM_StartStopPlayTime_Req_phys); +#endif // CANDB_USE_SIGFLOAT + + _d[0] |= (uint8_t) ( (_m->BCM_PlaceToPlay_Req & (0x03U)) | ((_m->BCM_TransModeOutScen_Req & (0x1FU)) << 2U) | ((_m->BCM_StartStopPlayTime_Req_ro & (0x01U)) << 7U) ); + _d[1] |= (uint8_t) ( ((_m->BCM_StartStopPlayTime_Req_ro >> 1U) & (0x0FU)) | ((_m->BCM_Factorpurpose_Stat & (0x03U)) << 4U) | ((_m->BCM_FactorFunction_A_Val & (0x03U)) << 6U) ); + _d[2] |= (uint8_t) ( ((_m->BCM_FactorFunction_A_Val >> 2U) & (0x3FU)) | ((_m->BCM_FactorFunction_B_Val & (0x03U)) << 6U) ); + _d[3] |= (uint8_t) ( ((_m->BCM_FactorFunction_B_Val >> 2U) & (0x3FU)) | ((_m->BCM_FactorFunction_C_Val & (0x03U)) << 6U) ); + _d[4] |= (uint8_t) ( ((_m->BCM_FactorFunction_C_Val >> 2U) & (0x3FU)) | ((_m->BCM_Reserved6 & (0x03U)) << 6U) ); + _d[5] |= (uint8_t) ( ((_m->BCM_Reserved6 >> 2U) & (0x3FU)) | ((_m->BCM_Reserved7 & (0x03U)) << 6U) ); + _d[6] |= (uint8_t) ( ((_m->BCM_Reserved7 >> 2U) & (0x3FU)) | ((_m->BCM_Reserved8 & (0x03U)) << 6U) ); + _d[7] |= (uint8_t) ( ((_m->BCM_Reserved8 >> 2U) & (0x3FU)) | ((_m->BCM_Reserved9 & (0x01U)) << 6U) ); + + *_len = (uint8_t) BCM_StyleCmd3_DLC; + *_ide = (uint8_t) BCM_StyleCmd3_IDE; + return BCM_StyleCmd3_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_BCM_WHF_Request_candb(BCM_WHF_Request_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->BCM_PowerWHF_Req = (uint8_t) ( (_d[0] & (0x07U)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < BCM_WHF_Request_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_BCM_WHF_Request_candb(&_m->mon1, BCM_WHF_Request_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return BCM_WHF_Request_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_BCM_WHF_Request_candb(BCM_WHF_Request_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(BCM_WHF_Request_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->BCM_PowerWHF_Req & (0x07U)) ); + + cframe->MsgId = (uint32_t) BCM_WHF_Request_CANID; + cframe->DLC = (uint8_t) BCM_WHF_Request_DLC; + cframe->IDE = (uint8_t) BCM_WHF_Request_IDE; + return BCM_WHF_Request_CANID; +} + +#else + +uint32_t Pack_BCM_WHF_Request_candb(BCM_WHF_Request_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(BCM_WHF_Request_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->BCM_PowerWHF_Req & (0x07U)) ); + + *_len = (uint8_t) BCM_WHF_Request_DLC; + *_ide = (uint8_t) BCM_WHF_Request_IDE; + return BCM_WHF_Request_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_IC_DISPLAY_CLOCK_candb(IC_DISPLAY_CLOCK_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->IC_Year_ro = (uint8_t) ( (_d[0] & (0x7FU)) ); +#ifdef CANDB_USE_SIGFLOAT + _m->IC_Year_phys = (uint16_t) CANDB_IC_Year_ro_fromS(_m->IC_Year_ro); +#endif // CANDB_USE_SIGFLOAT + + _m->IC_Month = (uint8_t) ( (_d[1] & (0x0FU)) ); + _m->IC_Day = (uint8_t) ( (_d[2] & (0x1FU)) ); + _m->IC_Hour = (uint8_t) ( (_d[3] & (0x1FU)) ); + _m->IC_Minute = (uint8_t) ( (_d[4] & (0x3FU)) ); + _m->IC_Second = (uint8_t) ( (_d[5] & (0x3FU)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < IC_DISPLAY_CLOCK_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_IC_DISPLAY_CLOCK_candb(&_m->mon1, IC_DISPLAY_CLOCK_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return IC_DISPLAY_CLOCK_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_IC_DISPLAY_CLOCK_candb(IC_DISPLAY_CLOCK_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(IC_DISPLAY_CLOCK_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->IC_Year_ro = (uint8_t) CANDB_IC_Year_ro_toS(_m->IC_Year_phys); +#endif // CANDB_USE_SIGFLOAT + + cframe->Data[0] |= (uint8_t) ( (_m->IC_Year_ro & (0x7FU)) ); + cframe->Data[1] |= (uint8_t) ( (_m->IC_Month & (0x0FU)) ); + cframe->Data[2] |= (uint8_t) ( (_m->IC_Day & (0x1FU)) ); + cframe->Data[3] |= (uint8_t) ( (_m->IC_Hour & (0x1FU)) ); + cframe->Data[4] |= (uint8_t) ( (_m->IC_Minute & (0x3FU)) ); + cframe->Data[5] |= (uint8_t) ( (_m->IC_Second & (0x3FU)) ); + + cframe->MsgId = (uint32_t) IC_DISPLAY_CLOCK_CANID; + cframe->DLC = (uint8_t) IC_DISPLAY_CLOCK_DLC; + cframe->IDE = (uint8_t) IC_DISPLAY_CLOCK_IDE; + return IC_DISPLAY_CLOCK_CANID; +} + +#else + +uint32_t Pack_IC_DISPLAY_CLOCK_candb(IC_DISPLAY_CLOCK_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(IC_DISPLAY_CLOCK_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + +#ifdef CANDB_USE_SIGFLOAT + _m->IC_Year_ro = (uint8_t) CANDB_IC_Year_ro_toS(_m->IC_Year_phys); +#endif // CANDB_USE_SIGFLOAT + + _d[0] |= (uint8_t) ( (_m->IC_Year_ro & (0x7FU)) ); + _d[1] |= (uint8_t) ( (_m->IC_Month & (0x0FU)) ); + _d[2] |= (uint8_t) ( (_m->IC_Day & (0x1FU)) ); + _d[3] |= (uint8_t) ( (_m->IC_Hour & (0x1FU)) ); + _d[4] |= (uint8_t) ( (_m->IC_Minute & (0x3FU)) ); + _d[5] |= (uint8_t) ( (_m->IC_Second & (0x3FU)) ); + + *_len = (uint8_t) IC_DISPLAY_CLOCK_DLC; + *_ide = (uint8_t) IC_DISPLAY_CLOCK_IDE; + return IC_DISPLAY_CLOCK_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_BCM_UserConfig_Stat_candb(BCM_UserConfig_Stat_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->BCM_StyleIllTheme_Stat = (uint8_t) ( (_d[1] & (0x0FU)) ); + _m->BCM_ConfCamera_Stat = (uint8_t) ( ((_d[1] >> 4U) & (0x03U)) ); + _m->BCM_FIU_UserNotification_Stat = (uint8_t) ( ((_d[1] >> 6U) & (0x03U)) ); + _m->BCM_StyleIllBright_Val = (uint8_t) ( (_d[2] & (0x7FU)) ); + _m->BCM_StyleIllGlobal_Stat = (uint8_t) ( ((_d[2] >> 7U) & (0x01U)) ); + _m->BCM_ApproachAccess_Stat = (uint8_t) ( (_d[3] & (0x01U)) ); + _m->BCM_UnlockAfterDrive_Stat = (uint8_t) ( ((_d[3] >> 1U) & (0x01U)) ); + _m->BCM_UnlockExternal_Stat = (uint8_t) ( ((_d[3] >> 2U) & (0x01U)) ); + _m->BCM_UnlockInternal_Stat = (uint8_t) ( ((_d[3] >> 3U) & (0x01U)) ); + _m->BCM_DoorsDriveLock_Stat = (uint8_t) ( ((_d[3] >> 4U) & (0x01U)) ); + _m->BCM_TrafficSide_Stat = (uint8_t) ( ((_d[3] >> 5U) & (0x01U)) ); + _m->BCM_WelcomeLeavingLight_Stat = (uint8_t) ( ((_d[3] >> 6U) & (0x01U)) ); + _m->BCM_WelcomeLightAnimation_Stat = (uint8_t) ( ((_d[3] >> 7U) & (0x01U)) ); + _m->BCM_ArmrestHeatFL_Stat = (uint8_t) ( (_d[4] & (0x01U)) ); + _m->BCM_ArmrestHeatFR_Stat = (uint8_t) ( ((_d[4] >> 1U) & (0x01U)) ); + _m->BCM_ArmrestHeatRL_Stat = (uint8_t) ( ((_d[4] >> 2U) & (0x01U)) ); + _m->BCM_ArmrestHeatRR_Stat = (uint8_t) ( ((_d[4] >> 3U) & (0x01U)) ); + _m->BCM_WelcomeLeavingLightTime_Stat = (uint8_t) ( ((_d[4] >> 4U) & (0x03U)) ); + _m->BCM_HeadlightWashing_Stat = (uint8_t) ( ((_d[4] >> 6U) & (0x01U)) ); + _m->BCM_MirrorsAutoFold_Stat = (uint8_t) ( ((_d[4] >> 7U) & (0x01U)) ); + _m->BCM_MirrorsAutoTilt_Stat = (uint8_t) ( (_d[5] & (0x01U)) ); + _m->BCM_WindowsRainClosing_Stat = (uint8_t) ( ((_d[5] >> 1U) & (0x01U)) ); + _m->BCM_AudibleLockFdBack_Stat = (uint8_t) ( ((_d[5] >> 2U) & (0x01U)) ); + _m->BCM_AutoWiper_Stat = (uint8_t) ( ((_d[5] >> 3U) & (0x01U)) ); + _m->BCM_TrnkDoorCloseBySpeed_Stat = (uint8_t) ( ((_d[5] >> 4U) & (0x01U)) ); + _m->BCM_RunningBoards_Stat = (uint8_t) ( ((_d[5] >> 5U) & (0x03U)) ); + _m->BCM_SteeringWheelAutoHeat_Stat = (uint8_t) ( ((_d[5] >> 7U) & (0x01U)) ); + _m->BCM_Ultraviolet_Stat = (uint8_t) ( (_d[6] & (0x01U)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < BCM_UserConfig_Stat_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_BCM_UserConfig_Stat_candb(&_m->mon1, BCM_UserConfig_Stat_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return BCM_UserConfig_Stat_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_BCM_UserConfig_Stat_candb(BCM_UserConfig_Stat_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(BCM_UserConfig_Stat_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[1] |= (uint8_t) ( (_m->BCM_StyleIllTheme_Stat & (0x0FU)) | ((_m->BCM_ConfCamera_Stat & (0x03U)) << 4U) | ((_m->BCM_FIU_UserNotification_Stat & (0x03U)) << 6U) ); + cframe->Data[2] |= (uint8_t) ( (_m->BCM_StyleIllBright_Val & (0x7FU)) | ((_m->BCM_StyleIllGlobal_Stat & (0x01U)) << 7U) ); + cframe->Data[3] |= (uint8_t) ( (_m->BCM_ApproachAccess_Stat & (0x01U)) | ((_m->BCM_UnlockAfterDrive_Stat & (0x01U)) << 1U) | ((_m->BCM_UnlockExternal_Stat & (0x01U)) << 2U) | ((_m->BCM_UnlockInternal_Stat & (0x01U)) << 3U) | ((_m->BCM_DoorsDriveLock_Stat & (0x01U)) << 4U) | ((_m->BCM_TrafficSide_Stat & (0x01U)) << 5U) | ((_m->BCM_WelcomeLeavingLight_Stat & (0x01U)) << 6U) | ((_m->BCM_WelcomeLightAnimation_Stat & (0x01U)) << 7U) ); + cframe->Data[4] |= (uint8_t) ( (_m->BCM_ArmrestHeatFL_Stat & (0x01U)) | ((_m->BCM_ArmrestHeatFR_Stat & (0x01U)) << 1U) | ((_m->BCM_ArmrestHeatRL_Stat & (0x01U)) << 2U) | ((_m->BCM_ArmrestHeatRR_Stat & (0x01U)) << 3U) | ((_m->BCM_WelcomeLeavingLightTime_Stat & (0x03U)) << 4U) | ((_m->BCM_HeadlightWashing_Stat & (0x01U)) << 6U) | ((_m->BCM_MirrorsAutoFold_Stat & (0x01U)) << 7U) ); + cframe->Data[5] |= (uint8_t) ( (_m->BCM_MirrorsAutoTilt_Stat & (0x01U)) | ((_m->BCM_WindowsRainClosing_Stat & (0x01U)) << 1U) | ((_m->BCM_AudibleLockFdBack_Stat & (0x01U)) << 2U) | ((_m->BCM_AutoWiper_Stat & (0x01U)) << 3U) | ((_m->BCM_TrnkDoorCloseBySpeed_Stat & (0x01U)) << 4U) | ((_m->BCM_RunningBoards_Stat & (0x03U)) << 5U) | ((_m->BCM_SteeringWheelAutoHeat_Stat & (0x01U)) << 7U) ); + cframe->Data[6] |= (uint8_t) ( (_m->BCM_Ultraviolet_Stat & (0x01U)) ); + + cframe->MsgId = (uint32_t) BCM_UserConfig_Stat_CANID; + cframe->DLC = (uint8_t) BCM_UserConfig_Stat_DLC; + cframe->IDE = (uint8_t) BCM_UserConfig_Stat_IDE; + return BCM_UserConfig_Stat_CANID; +} + +#else + +uint32_t Pack_BCM_UserConfig_Stat_candb(BCM_UserConfig_Stat_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(BCM_UserConfig_Stat_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[1] |= (uint8_t) ( (_m->BCM_StyleIllTheme_Stat & (0x0FU)) | ((_m->BCM_ConfCamera_Stat & (0x03U)) << 4U) | ((_m->BCM_FIU_UserNotification_Stat & (0x03U)) << 6U) ); + _d[2] |= (uint8_t) ( (_m->BCM_StyleIllBright_Val & (0x7FU)) | ((_m->BCM_StyleIllGlobal_Stat & (0x01U)) << 7U) ); + _d[3] |= (uint8_t) ( (_m->BCM_ApproachAccess_Stat & (0x01U)) | ((_m->BCM_UnlockAfterDrive_Stat & (0x01U)) << 1U) | ((_m->BCM_UnlockExternal_Stat & (0x01U)) << 2U) | ((_m->BCM_UnlockInternal_Stat & (0x01U)) << 3U) | ((_m->BCM_DoorsDriveLock_Stat & (0x01U)) << 4U) | ((_m->BCM_TrafficSide_Stat & (0x01U)) << 5U) | ((_m->BCM_WelcomeLeavingLight_Stat & (0x01U)) << 6U) | ((_m->BCM_WelcomeLightAnimation_Stat & (0x01U)) << 7U) ); + _d[4] |= (uint8_t) ( (_m->BCM_ArmrestHeatFL_Stat & (0x01U)) | ((_m->BCM_ArmrestHeatFR_Stat & (0x01U)) << 1U) | ((_m->BCM_ArmrestHeatRL_Stat & (0x01U)) << 2U) | ((_m->BCM_ArmrestHeatRR_Stat & (0x01U)) << 3U) | ((_m->BCM_WelcomeLeavingLightTime_Stat & (0x03U)) << 4U) | ((_m->BCM_HeadlightWashing_Stat & (0x01U)) << 6U) | ((_m->BCM_MirrorsAutoFold_Stat & (0x01U)) << 7U) ); + _d[5] |= (uint8_t) ( (_m->BCM_MirrorsAutoTilt_Stat & (0x01U)) | ((_m->BCM_WindowsRainClosing_Stat & (0x01U)) << 1U) | ((_m->BCM_AudibleLockFdBack_Stat & (0x01U)) << 2U) | ((_m->BCM_AutoWiper_Stat & (0x01U)) << 3U) | ((_m->BCM_TrnkDoorCloseBySpeed_Stat & (0x01U)) << 4U) | ((_m->BCM_RunningBoards_Stat & (0x03U)) << 5U) | ((_m->BCM_SteeringWheelAutoHeat_Stat & (0x01U)) << 7U) ); + _d[6] |= (uint8_t) ( (_m->BCM_Ultraviolet_Stat & (0x01U)) ); + + *_len = (uint8_t) BCM_UserConfig_Stat_DLC; + *_ide = (uint8_t) BCM_UserConfig_Stat_IDE; + return BCM_UserConfig_Stat_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_FIU_MAS_Main_candb(FIU_MAS_Main_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->FIU_AVM_Active_Req = (uint8_t) ( (_d[0] & (0x01U)) ); + _m->FIU_View_Req = (uint8_t) ( ((_d[0] >> 1U) & (0x0FU)) ); + _m->FIU_APAstartBtn_Req = (uint8_t) ( ((_d[0] >> 5U) & (0x01U)) ); + _m->FIU_MAS_Mode_Req = (uint8_t) ( ((_d[0] >> 6U) & (0x03U)) ); + _m->FIU_Narrow_Mode_Stat = (uint8_t) ( (_d[1] & (0x03U)) ); + _m->FIU_UltraSonicEnable_Stat = (uint8_t) ( ((_d[1] >> 2U) & (0x03U)) ); + _m->FIU_AutoAct_Stat = (uint8_t) ( ((_d[1] >> 4U) & (0x03U)) ); + _m->FIU_CurrentPath_Req = (uint8_t) ( ((_d[1] >> 6U) & (0x03U)) ); + _m->FIU_SDMmaster_Req = (uint8_t) ( (_d[2] & (0x01U)) ); + _m->FIU_SelectedPlace_Req = (uint8_t) ( ((_d[2] >> 1U) & (0x07U)) ); + _m->FIU_ContinueMove_Req = (uint8_t) ( ((_d[2] >> 4U) & (0x01U)) ); + _m->FIU_StopAPA_Req = (uint8_t) ( ((_d[2] >> 5U) & (0x01U)) ); + _m->FIU_SDMcom_Req = (uint8_t) ( ((_d[2] >> 6U) & (0x01U)) ); + _m->FIU_FinishMove_Req = (uint8_t) ( ((_d[2] >> 7U) & (0x01U)) ); + _m->FIU_ParkingOutPath_Req = (uint8_t) ( (_d[3] & (0x07U)) ); + _m->FIU_MAS_Main_RC = (uint8_t) ( ((_d[3] >> 4U) & (0x0FU)) ); + _m->FIU_MAS_Main_CS = (uint8_t) ( (_d[4] & (0xFFU)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < FIU_MAS_Main_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_FIU_MAS_Main_candb(&_m->mon1, FIU_MAS_Main_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return FIU_MAS_Main_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_FIU_MAS_Main_candb(FIU_MAS_Main_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(FIU_MAS_Main_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->FIU_AVM_Active_Req & (0x01U)) | ((_m->FIU_View_Req & (0x0FU)) << 1U) | ((_m->FIU_APAstartBtn_Req & (0x01U)) << 5U) | ((_m->FIU_MAS_Mode_Req & (0x03U)) << 6U) ); + cframe->Data[1] |= (uint8_t) ( (_m->FIU_Narrow_Mode_Stat & (0x03U)) | ((_m->FIU_UltraSonicEnable_Stat & (0x03U)) << 2U) | ((_m->FIU_AutoAct_Stat & (0x03U)) << 4U) | ((_m->FIU_CurrentPath_Req & (0x03U)) << 6U) ); + cframe->Data[2] |= (uint8_t) ( (_m->FIU_SDMmaster_Req & (0x01U)) | ((_m->FIU_SelectedPlace_Req & (0x07U)) << 1U) | ((_m->FIU_ContinueMove_Req & (0x01U)) << 4U) | ((_m->FIU_StopAPA_Req & (0x01U)) << 5U) | ((_m->FIU_SDMcom_Req & (0x01U)) << 6U) | ((_m->FIU_FinishMove_Req & (0x01U)) << 7U) ); + cframe->Data[3] |= (uint8_t) ( (_m->FIU_ParkingOutPath_Req & (0x07U)) | ((_m->FIU_MAS_Main_RC & (0x0FU)) << 4U) ); + cframe->Data[4] |= (uint8_t) ( (_m->FIU_MAS_Main_CS & (0xFFU)) ); + + cframe->MsgId = (uint32_t) FIU_MAS_Main_CANID; + cframe->DLC = (uint8_t) FIU_MAS_Main_DLC; + cframe->IDE = (uint8_t) FIU_MAS_Main_IDE; + return FIU_MAS_Main_CANID; +} + +#else + +uint32_t Pack_FIU_MAS_Main_candb(FIU_MAS_Main_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(FIU_MAS_Main_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->FIU_AVM_Active_Req & (0x01U)) | ((_m->FIU_View_Req & (0x0FU)) << 1U) | ((_m->FIU_APAstartBtn_Req & (0x01U)) << 5U) | ((_m->FIU_MAS_Mode_Req & (0x03U)) << 6U) ); + _d[1] |= (uint8_t) ( (_m->FIU_Narrow_Mode_Stat & (0x03U)) | ((_m->FIU_UltraSonicEnable_Stat & (0x03U)) << 2U) | ((_m->FIU_AutoAct_Stat & (0x03U)) << 4U) | ((_m->FIU_CurrentPath_Req & (0x03U)) << 6U) ); + _d[2] |= (uint8_t) ( (_m->FIU_SDMmaster_Req & (0x01U)) | ((_m->FIU_SelectedPlace_Req & (0x07U)) << 1U) | ((_m->FIU_ContinueMove_Req & (0x01U)) << 4U) | ((_m->FIU_StopAPA_Req & (0x01U)) << 5U) | ((_m->FIU_SDMcom_Req & (0x01U)) << 6U) | ((_m->FIU_FinishMove_Req & (0x01U)) << 7U) ); + _d[3] |= (uint8_t) ( (_m->FIU_ParkingOutPath_Req & (0x07U)) | ((_m->FIU_MAS_Main_RC & (0x0FU)) << 4U) ); + _d[4] |= (uint8_t) ( (_m->FIU_MAS_Main_CS & (0xFFU)) ); + + *_len = (uint8_t) FIU_MAS_Main_DLC; + *_ide = (uint8_t) FIU_MAS_Main_IDE; + return FIU_MAS_Main_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_MAS_APA_Paths_candb(MAS_APA_Paths_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->MAS_AvailablePaths_Stat = (uint8_t) ( (_d[0] & (0x03U)) ); + _m->MAS_APAPlaceParkingOut_Stat = (uint8_t) ( ((_d[0] >> 2U) & (0x01U)) ); + _m->MAS_APADirParkingOut_Stat = (uint8_t) ( ((_d[0] >> 3U) & (0x01U)) ); + _m->MAS_PathParkOutFL_Stat = (uint8_t) ( ((_d[0] >> 4U) & (0x01U)) ); + _m->MAS_PathParkOutFR_Stat = (uint8_t) ( ((_d[0] >> 5U) & (0x01U)) ); + _m->MAS_PathParkOutFront_Stat = (uint8_t) ( ((_d[0] >> 6U) & (0x01U)) ); + _m->MAS_PathParkOutRL_Stat = (uint8_t) ( ((_d[0] >> 7U) & (0x01U)) ); + _m->MAS_PathParkOutRR_Stat = (uint8_t) ( (_d[1] & (0x01U)) ); + _m->MAS_PathParkOutRear_Stat = (uint8_t) ( ((_d[1] >> 1U) & (0x01U)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < MAS_APA_Paths_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_MAS_APA_Paths_candb(&_m->mon1, MAS_APA_Paths_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return MAS_APA_Paths_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_MAS_APA_Paths_candb(MAS_APA_Paths_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(MAS_APA_Paths_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->MAS_AvailablePaths_Stat & (0x03U)) | ((_m->MAS_APAPlaceParkingOut_Stat & (0x01U)) << 2U) | ((_m->MAS_APADirParkingOut_Stat & (0x01U)) << 3U) | ((_m->MAS_PathParkOutFL_Stat & (0x01U)) << 4U) | ((_m->MAS_PathParkOutFR_Stat & (0x01U)) << 5U) | ((_m->MAS_PathParkOutFront_Stat & (0x01U)) << 6U) | ((_m->MAS_PathParkOutRL_Stat & (0x01U)) << 7U) ); + cframe->Data[1] |= (uint8_t) ( (_m->MAS_PathParkOutRR_Stat & (0x01U)) | ((_m->MAS_PathParkOutRear_Stat & (0x01U)) << 1U) ); + + cframe->MsgId = (uint32_t) MAS_APA_Paths_CANID; + cframe->DLC = (uint8_t) MAS_APA_Paths_DLC; + cframe->IDE = (uint8_t) MAS_APA_Paths_IDE; + return MAS_APA_Paths_CANID; +} + +#else + +uint32_t Pack_MAS_APA_Paths_candb(MAS_APA_Paths_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(MAS_APA_Paths_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->MAS_AvailablePaths_Stat & (0x03U)) | ((_m->MAS_APAPlaceParkingOut_Stat & (0x01U)) << 2U) | ((_m->MAS_APADirParkingOut_Stat & (0x01U)) << 3U) | ((_m->MAS_PathParkOutFL_Stat & (0x01U)) << 4U) | ((_m->MAS_PathParkOutFR_Stat & (0x01U)) << 5U) | ((_m->MAS_PathParkOutFront_Stat & (0x01U)) << 6U) | ((_m->MAS_PathParkOutRL_Stat & (0x01U)) << 7U) ); + _d[1] |= (uint8_t) ( (_m->MAS_PathParkOutRR_Stat & (0x01U)) | ((_m->MAS_PathParkOutRear_Stat & (0x01U)) << 1U) ); + + *_len = (uint8_t) MAS_APA_Paths_DLC; + *_ide = (uint8_t) MAS_APA_Paths_IDE; + return MAS_APA_Paths_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_MAS_APA_ParkPlace_candb(MAS_APA_ParkPlace_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->MAS_APAplaceL1_Stat = (uint8_t) ( (_d[0] & (0x03U)) ); + _m->MAS_APAplaceL2_Stat = (uint8_t) ( ((_d[0] >> 2U) & (0x03U)) ); + _m->MAS_APAplaceL3_Stat = (uint8_t) ( ((_d[0] >> 4U) & (0x03U)) ); + _m->MAS_APAplaceR1_Stat = (uint8_t) ( ((_d[0] >> 6U) & (0x03U)) ); + _m->MAS_APAplaceR2_Stat = (uint8_t) ( (_d[1] & (0x03U)) ); + _m->MAS_APAplaceR3_Stat = (uint8_t) ( ((_d[1] >> 2U) & (0x03U)) ); + _m->MAS_AvailablePathsL1_Stat = (uint8_t) ( ((_d[1] >> 4U) & (0x03U)) ); + _m->MAS_AvailablePathsL2_Stat = (uint8_t) ( ((_d[1] >> 6U) & (0x03U)) ); + _m->MAS_APAplaceL1Dist_Val = (uint8_t) ( (_d[2] & (0x0FU)) ); + _m->MAS_APAplaceL2Dist_Val = (uint8_t) ( ((_d[2] >> 4U) & (0x0FU)) ); + _m->MAS_APAplaceL3Dist_Val = (uint8_t) ( (_d[3] & (0x0FU)) ); + _m->MAS_APAplaceR1Dist_Val = (uint8_t) ( ((_d[3] >> 4U) & (0x0FU)) ); + _m->MAS_APAplaceR2Dist_Val = (uint8_t) ( (_d[4] & (0x0FU)) ); + _m->MAS_APAplaceR3Dist_Val = (uint8_t) ( ((_d[4] >> 4U) & (0x0FU)) ); + _m->MAS_AvailablePathsL3_Stat = (uint8_t) ( (_d[5] & (0x03U)) ); + _m->MAS_AvailablePathsR1_Stat = (uint8_t) ( ((_d[5] >> 2U) & (0x03U)) ); + _m->MAS_AvailablePathsR2_Stat = (uint8_t) ( ((_d[5] >> 4U) & (0x03U)) ); + _m->MAS_AvailablePathsR3_Stat = (uint8_t) ( ((_d[5] >> 6U) & (0x03U)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < MAS_APA_ParkPlace_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_MAS_APA_ParkPlace_candb(&_m->mon1, MAS_APA_ParkPlace_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return MAS_APA_ParkPlace_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_MAS_APA_ParkPlace_candb(MAS_APA_ParkPlace_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(MAS_APA_ParkPlace_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->MAS_APAplaceL1_Stat & (0x03U)) | ((_m->MAS_APAplaceL2_Stat & (0x03U)) << 2U) | ((_m->MAS_APAplaceL3_Stat & (0x03U)) << 4U) | ((_m->MAS_APAplaceR1_Stat & (0x03U)) << 6U) ); + cframe->Data[1] |= (uint8_t) ( (_m->MAS_APAplaceR2_Stat & (0x03U)) | ((_m->MAS_APAplaceR3_Stat & (0x03U)) << 2U) | ((_m->MAS_AvailablePathsL1_Stat & (0x03U)) << 4U) | ((_m->MAS_AvailablePathsL2_Stat & (0x03U)) << 6U) ); + cframe->Data[2] |= (uint8_t) ( (_m->MAS_APAplaceL1Dist_Val & (0x0FU)) | ((_m->MAS_APAplaceL2Dist_Val & (0x0FU)) << 4U) ); + cframe->Data[3] |= (uint8_t) ( (_m->MAS_APAplaceL3Dist_Val & (0x0FU)) | ((_m->MAS_APAplaceR1Dist_Val & (0x0FU)) << 4U) ); + cframe->Data[4] |= (uint8_t) ( (_m->MAS_APAplaceR2Dist_Val & (0x0FU)) | ((_m->MAS_APAplaceR3Dist_Val & (0x0FU)) << 4U) ); + cframe->Data[5] |= (uint8_t) ( (_m->MAS_AvailablePathsL3_Stat & (0x03U)) | ((_m->MAS_AvailablePathsR1_Stat & (0x03U)) << 2U) | ((_m->MAS_AvailablePathsR2_Stat & (0x03U)) << 4U) | ((_m->MAS_AvailablePathsR3_Stat & (0x03U)) << 6U) ); + + cframe->MsgId = (uint32_t) MAS_APA_ParkPlace_CANID; + cframe->DLC = (uint8_t) MAS_APA_ParkPlace_DLC; + cframe->IDE = (uint8_t) MAS_APA_ParkPlace_IDE; + return MAS_APA_ParkPlace_CANID; +} + +#else + +uint32_t Pack_MAS_APA_ParkPlace_candb(MAS_APA_ParkPlace_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(MAS_APA_ParkPlace_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->MAS_APAplaceL1_Stat & (0x03U)) | ((_m->MAS_APAplaceL2_Stat & (0x03U)) << 2U) | ((_m->MAS_APAplaceL3_Stat & (0x03U)) << 4U) | ((_m->MAS_APAplaceR1_Stat & (0x03U)) << 6U) ); + _d[1] |= (uint8_t) ( (_m->MAS_APAplaceR2_Stat & (0x03U)) | ((_m->MAS_APAplaceR3_Stat & (0x03U)) << 2U) | ((_m->MAS_AvailablePathsL1_Stat & (0x03U)) << 4U) | ((_m->MAS_AvailablePathsL2_Stat & (0x03U)) << 6U) ); + _d[2] |= (uint8_t) ( (_m->MAS_APAplaceL1Dist_Val & (0x0FU)) | ((_m->MAS_APAplaceL2Dist_Val & (0x0FU)) << 4U) ); + _d[3] |= (uint8_t) ( (_m->MAS_APAplaceL3Dist_Val & (0x0FU)) | ((_m->MAS_APAplaceR1Dist_Val & (0x0FU)) << 4U) ); + _d[4] |= (uint8_t) ( (_m->MAS_APAplaceR2Dist_Val & (0x0FU)) | ((_m->MAS_APAplaceR3Dist_Val & (0x0FU)) << 4U) ); + _d[5] |= (uint8_t) ( (_m->MAS_AvailablePathsL3_Stat & (0x03U)) | ((_m->MAS_AvailablePathsR1_Stat & (0x03U)) << 2U) | ((_m->MAS_AvailablePathsR2_Stat & (0x03U)) << 4U) | ((_m->MAS_AvailablePathsR3_Stat & (0x03U)) << 6U) ); + + *_len = (uint8_t) MAS_APA_ParkPlace_DLC; + *_ide = (uint8_t) MAS_APA_ParkPlace_IDE; + return MAS_APA_ParkPlace_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_ICLSilCU_State_candb(ICLSilCU_State_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->ICLSilCU_Module_Stat = (int8_t) __ext_sig__(( (_d[0] & (0x0FU)) ), 4); + _m->ICLSilCU_ModuleTemperature_Val = (int8_t) __ext_sig__(( ((_d[1] & (0x07U)) << 4U) | ((_d[0] >> 4U) & (0x0FU)) ), 7); + _m->ICLSilCU_reserved1 = (int8_t) __ext_sig__(( ((_d[1] >> 3U) & (0x1FU)) ), 5); + _m->ICLSilCU_reserved2 = (int8_t) __ext_sig__(( (_d[2] & (0xFFU)) ), 8); + _m->ICLSilCU_reserved3 = (int8_t) __ext_sig__(( (_d[3] & (0xFFU)) ), 8); + _m->ICLSilCU_reserved4 = (int8_t) __ext_sig__(( (_d[4] & (0xFFU)) ), 8); + _m->ICLSilCU_reserved5 = (int8_t) __ext_sig__(( (_d[5] & (0xFFU)) ), 8); + _m->ICLSilCU_reserved6 = (int8_t) __ext_sig__(( (_d[6] & (0xFFU)) ), 8); + _m->ICLSilCU_reserved7 = (int8_t) __ext_sig__(( (_d[7] & (0xFFU)) ), 8); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < ICLSilCU_State_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_ICLSilCU_State_candb(&_m->mon1, ICLSilCU_State_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return ICLSilCU_State_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_ICLSilCU_State_candb(ICLSilCU_State_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(ICLSilCU_State_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->ICLSilCU_Module_Stat & (0x0FU)) | ((_m->ICLSilCU_ModuleTemperature_Val & (0x0FU)) << 4U) ); + cframe->Data[1] |= (uint8_t) ( ((_m->ICLSilCU_ModuleTemperature_Val >> 4U) & (0x07U)) | ((_m->ICLSilCU_reserved1 & (0x1FU)) << 3U) ); + cframe->Data[2] |= (uint8_t) ( (_m->ICLSilCU_reserved2 & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( (_m->ICLSilCU_reserved3 & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( (_m->ICLSilCU_reserved4 & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( (_m->ICLSilCU_reserved5 & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( (_m->ICLSilCU_reserved6 & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->ICLSilCU_reserved7 & (0xFFU)) ); + + cframe->MsgId = (uint32_t) ICLSilCU_State_CANID; + cframe->DLC = (uint8_t) ICLSilCU_State_DLC; + cframe->IDE = (uint8_t) ICLSilCU_State_IDE; + return ICLSilCU_State_CANID; +} + +#else + +uint32_t Pack_ICLSilCU_State_candb(ICLSilCU_State_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(ICLSilCU_State_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->ICLSilCU_Module_Stat & (0x0FU)) | ((_m->ICLSilCU_ModuleTemperature_Val & (0x0FU)) << 4U) ); + _d[1] |= (uint8_t) ( ((_m->ICLSilCU_ModuleTemperature_Val >> 4U) & (0x07U)) | ((_m->ICLSilCU_reserved1 & (0x1FU)) << 3U) ); + _d[2] |= (uint8_t) ( (_m->ICLSilCU_reserved2 & (0xFFU)) ); + _d[3] |= (uint8_t) ( (_m->ICLSilCU_reserved3 & (0xFFU)) ); + _d[4] |= (uint8_t) ( (_m->ICLSilCU_reserved4 & (0xFFU)) ); + _d[5] |= (uint8_t) ( (_m->ICLSilCU_reserved5 & (0xFFU)) ); + _d[6] |= (uint8_t) ( (_m->ICLSilCU_reserved6 & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->ICLSilCU_reserved7 & (0xFFU)) ); + + *_len = (uint8_t) ICLSilCU_State_DLC; + *_ide = (uint8_t) ICLSilCU_State_IDE; + return ICLSilCU_State_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_ICRSilCU_State_candb(ICRSilCU_State_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->ICRSilCU_Module_Stat = (int8_t) __ext_sig__(( (_d[0] & (0x0FU)) ), 4); + _m->ICRSilCU_ModuleTemperature_Val = (int8_t) __ext_sig__(( ((_d[1] & (0x07U)) << 4U) | ((_d[0] >> 4U) & (0x0FU)) ), 7); + _m->ICRSilCU_reserved1 = (int8_t) __ext_sig__(( ((_d[1] >> 3U) & (0x1FU)) ), 5); + _m->ICRSilCU_reserved2 = (int8_t) __ext_sig__(( (_d[2] & (0xFFU)) ), 8); + _m->ICRSilCU_reserved3 = (int8_t) __ext_sig__(( (_d[3] & (0xFFU)) ), 8); + _m->ICRSilCU_reserved4 = (int8_t) __ext_sig__(( (_d[4] & (0xFFU)) ), 8); + _m->ICRSilCU_reserved5 = (int8_t) __ext_sig__(( (_d[5] & (0xFFU)) ), 8); + _m->ICRSilCU_reserved6 = (int8_t) __ext_sig__(( (_d[6] & (0xFFU)) ), 8); + _m->ICRSilCU_reserved7 = (int8_t) __ext_sig__(( (_d[7] & (0xFFU)) ), 8); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < ICRSilCU_State_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_ICRSilCU_State_candb(&_m->mon1, ICRSilCU_State_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return ICRSilCU_State_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_ICRSilCU_State_candb(ICRSilCU_State_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(ICRSilCU_State_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->ICRSilCU_Module_Stat & (0x0FU)) | ((_m->ICRSilCU_ModuleTemperature_Val & (0x0FU)) << 4U) ); + cframe->Data[1] |= (uint8_t) ( ((_m->ICRSilCU_ModuleTemperature_Val >> 4U) & (0x07U)) | ((_m->ICRSilCU_reserved1 & (0x1FU)) << 3U) ); + cframe->Data[2] |= (uint8_t) ( (_m->ICRSilCU_reserved2 & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( (_m->ICRSilCU_reserved3 & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( (_m->ICRSilCU_reserved4 & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( (_m->ICRSilCU_reserved5 & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( (_m->ICRSilCU_reserved6 & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->ICRSilCU_reserved7 & (0xFFU)) ); + + cframe->MsgId = (uint32_t) ICRSilCU_State_CANID; + cframe->DLC = (uint8_t) ICRSilCU_State_DLC; + cframe->IDE = (uint8_t) ICRSilCU_State_IDE; + return ICRSilCU_State_CANID; +} + +#else + +uint32_t Pack_ICRSilCU_State_candb(ICRSilCU_State_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(ICRSilCU_State_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->ICRSilCU_Module_Stat & (0x0FU)) | ((_m->ICRSilCU_ModuleTemperature_Val & (0x0FU)) << 4U) ); + _d[1] |= (uint8_t) ( ((_m->ICRSilCU_ModuleTemperature_Val >> 4U) & (0x07U)) | ((_m->ICRSilCU_reserved1 & (0x1FU)) << 3U) ); + _d[2] |= (uint8_t) ( (_m->ICRSilCU_reserved2 & (0xFFU)) ); + _d[3] |= (uint8_t) ( (_m->ICRSilCU_reserved3 & (0xFFU)) ); + _d[4] |= (uint8_t) ( (_m->ICRSilCU_reserved4 & (0xFFU)) ); + _d[5] |= (uint8_t) ( (_m->ICRSilCU_reserved5 & (0xFFU)) ); + _d[6] |= (uint8_t) ( (_m->ICRSilCU_reserved6 & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->ICRSilCU_reserved7 & (0xFFU)) ); + + *_len = (uint8_t) ICRSilCU_State_DLC; + *_ide = (uint8_t) ICRSilCU_State_IDE; + return ICRSilCU_State_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_SFRSilCU_State_candb(SFRSilCU_State_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->SFRSilCU_Module_Stat = (uint8_t) ( (_d[0] & (0x0FU)) ); + _m->SFRSilCU_ModuleTemperature_Val = (int8_t) __ext_sig__(( ((_d[1] & (0x07U)) << 4U) | ((_d[0] >> 4U) & (0x0FU)) ), 7); + _m->SFRSilCU_reserved1 = (int8_t) __ext_sig__(( ((_d[1] >> 3U) & (0x1FU)) ), 5); + _m->SFRSilCU_reserved2 = (int8_t) __ext_sig__(( (_d[2] & (0xFFU)) ), 8); + _m->SFRSilCU_reserved3 = (int8_t) __ext_sig__(( (_d[3] & (0xFFU)) ), 8); + _m->SFRSilCU_reserved4 = (int8_t) __ext_sig__(( (_d[4] & (0xFFU)) ), 8); + _m->SFRSilCU_reserved5 = (int8_t) __ext_sig__(( (_d[5] & (0xFFU)) ), 8); + _m->SFRSilCU_reserved6 = (int8_t) __ext_sig__(( (_d[6] & (0xFFU)) ), 8); + _m->SFRSilCU_reserved7 = (int8_t) __ext_sig__(( (_d[7] & (0xFFU)) ), 8); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < SFRSilCU_State_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_SFRSilCU_State_candb(&_m->mon1, SFRSilCU_State_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return SFRSilCU_State_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_SFRSilCU_State_candb(SFRSilCU_State_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(SFRSilCU_State_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->SFRSilCU_Module_Stat & (0x0FU)) | ((_m->SFRSilCU_ModuleTemperature_Val & (0x0FU)) << 4U) ); + cframe->Data[1] |= (uint8_t) ( ((_m->SFRSilCU_ModuleTemperature_Val >> 4U) & (0x07U)) | ((_m->SFRSilCU_reserved1 & (0x1FU)) << 3U) ); + cframe->Data[2] |= (uint8_t) ( (_m->SFRSilCU_reserved2 & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( (_m->SFRSilCU_reserved3 & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( (_m->SFRSilCU_reserved4 & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( (_m->SFRSilCU_reserved5 & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( (_m->SFRSilCU_reserved6 & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->SFRSilCU_reserved7 & (0xFFU)) ); + + cframe->MsgId = (uint32_t) SFRSilCU_State_CANID; + cframe->DLC = (uint8_t) SFRSilCU_State_DLC; + cframe->IDE = (uint8_t) SFRSilCU_State_IDE; + return SFRSilCU_State_CANID; +} + +#else + +uint32_t Pack_SFRSilCU_State_candb(SFRSilCU_State_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(SFRSilCU_State_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->SFRSilCU_Module_Stat & (0x0FU)) | ((_m->SFRSilCU_ModuleTemperature_Val & (0x0FU)) << 4U) ); + _d[1] |= (uint8_t) ( ((_m->SFRSilCU_ModuleTemperature_Val >> 4U) & (0x07U)) | ((_m->SFRSilCU_reserved1 & (0x1FU)) << 3U) ); + _d[2] |= (uint8_t) ( (_m->SFRSilCU_reserved2 & (0xFFU)) ); + _d[3] |= (uint8_t) ( (_m->SFRSilCU_reserved3 & (0xFFU)) ); + _d[4] |= (uint8_t) ( (_m->SFRSilCU_reserved4 & (0xFFU)) ); + _d[5] |= (uint8_t) ( (_m->SFRSilCU_reserved5 & (0xFFU)) ); + _d[6] |= (uint8_t) ( (_m->SFRSilCU_reserved6 & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->SFRSilCU_reserved7 & (0xFFU)) ); + + *_len = (uint8_t) SFRSilCU_State_DLC; + *_ide = (uint8_t) SFRSilCU_State_IDE; + return SFRSilCU_State_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_SFLSilCU_State_candb(SFLSilCU_State_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->SFLSilCU_Module_Stat = (uint8_t) ( (_d[0] & (0x0FU)) ); + _m->SFLSilCU_ModuleTemperature_Val = (int8_t) __ext_sig__(( ((_d[1] & (0x07U)) << 4U) | ((_d[0] >> 4U) & (0x0FU)) ), 7); + _m->SFLSilCU_reserved1 = (int8_t) __ext_sig__(( ((_d[1] >> 3U) & (0x1FU)) ), 5); + _m->SFLSilCU_reserved2 = (int8_t) __ext_sig__(( (_d[2] & (0xFFU)) ), 8); + _m->SFLSilCU_reserved3 = (int8_t) __ext_sig__(( (_d[3] & (0xFFU)) ), 8); + _m->SFLSilCU_reserved4 = (int8_t) __ext_sig__(( (_d[4] & (0xFFU)) ), 8); + _m->SFLSilCU_reserved5 = (int8_t) __ext_sig__(( (_d[5] & (0xFFU)) ), 8); + _m->SFLSilCU_reserved6 = (int8_t) __ext_sig__(( (_d[6] & (0xFFU)) ), 8); + _m->SFLSilCU_reserved7 = (int8_t) __ext_sig__(( (_d[7] & (0xFFU)) ), 8); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < SFLSilCU_State_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_SFLSilCU_State_candb(&_m->mon1, SFLSilCU_State_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return SFLSilCU_State_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_SFLSilCU_State_candb(SFLSilCU_State_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(SFLSilCU_State_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->SFLSilCU_Module_Stat & (0x0FU)) | ((_m->SFLSilCU_ModuleTemperature_Val & (0x0FU)) << 4U) ); + cframe->Data[1] |= (uint8_t) ( ((_m->SFLSilCU_ModuleTemperature_Val >> 4U) & (0x07U)) | ((_m->SFLSilCU_reserved1 & (0x1FU)) << 3U) ); + cframe->Data[2] |= (uint8_t) ( (_m->SFLSilCU_reserved2 & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( (_m->SFLSilCU_reserved3 & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( (_m->SFLSilCU_reserved4 & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( (_m->SFLSilCU_reserved5 & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( (_m->SFLSilCU_reserved6 & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->SFLSilCU_reserved7 & (0xFFU)) ); + + cframe->MsgId = (uint32_t) SFLSilCU_State_CANID; + cframe->DLC = (uint8_t) SFLSilCU_State_DLC; + cframe->IDE = (uint8_t) SFLSilCU_State_IDE; + return SFLSilCU_State_CANID; +} + +#else + +uint32_t Pack_SFLSilCU_State_candb(SFLSilCU_State_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(SFLSilCU_State_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->SFLSilCU_Module_Stat & (0x0FU)) | ((_m->SFLSilCU_ModuleTemperature_Val & (0x0FU)) << 4U) ); + _d[1] |= (uint8_t) ( ((_m->SFLSilCU_ModuleTemperature_Val >> 4U) & (0x07U)) | ((_m->SFLSilCU_reserved1 & (0x1FU)) << 3U) ); + _d[2] |= (uint8_t) ( (_m->SFLSilCU_reserved2 & (0xFFU)) ); + _d[3] |= (uint8_t) ( (_m->SFLSilCU_reserved3 & (0xFFU)) ); + _d[4] |= (uint8_t) ( (_m->SFLSilCU_reserved4 & (0xFFU)) ); + _d[5] |= (uint8_t) ( (_m->SFLSilCU_reserved5 & (0xFFU)) ); + _d[6] |= (uint8_t) ( (_m->SFLSilCU_reserved6 & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->SFLSilCU_reserved7 & (0xFFU)) ); + + *_len = (uint8_t) SFLSilCU_State_DLC; + *_ide = (uint8_t) SFLSilCU_State_IDE; + return SFLSilCU_State_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_RDRSilCU_State_candb(RDRSilCU_State_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->RDRSilCU_Module_Stat = (int8_t) __ext_sig__(( (_d[0] & (0x0FU)) ), 4); + _m->RDRSilCU_ModuleTemperature_Val = (int8_t) __ext_sig__(( ((_d[1] & (0x07U)) << 4U) | ((_d[0] >> 4U) & (0x0FU)) ), 7); + _m->RDRSilCU_reserved1 = (int8_t) __ext_sig__(( ((_d[1] >> 3U) & (0x1FU)) ), 5); + _m->RDRSilCU_reserved2 = (int8_t) __ext_sig__(( (_d[2] & (0xFFU)) ), 8); + _m->RDRSilCU_reserved3 = (int8_t) __ext_sig__(( (_d[3] & (0xFFU)) ), 8); + _m->RDRSilCU_reserved4 = (int8_t) __ext_sig__(( (_d[4] & (0xFFU)) ), 8); + _m->RDRSilCU_reserved5 = (int8_t) __ext_sig__(( (_d[5] & (0xFFU)) ), 8); + _m->RDRSilCU_reserved6 = (int8_t) __ext_sig__(( (_d[6] & (0xFFU)) ), 8); + _m->RDRSilCU_reserved7 = (int8_t) __ext_sig__(( (_d[7] & (0xFFU)) ), 8); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < RDRSilCU_State_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_RDRSilCU_State_candb(&_m->mon1, RDRSilCU_State_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return RDRSilCU_State_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_RDRSilCU_State_candb(RDRSilCU_State_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(RDRSilCU_State_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->RDRSilCU_Module_Stat & (0x0FU)) | ((_m->RDRSilCU_ModuleTemperature_Val & (0x0FU)) << 4U) ); + cframe->Data[1] |= (uint8_t) ( ((_m->RDRSilCU_ModuleTemperature_Val >> 4U) & (0x07U)) | ((_m->RDRSilCU_reserved1 & (0x1FU)) << 3U) ); + cframe->Data[2] |= (uint8_t) ( (_m->RDRSilCU_reserved2 & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( (_m->RDRSilCU_reserved3 & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( (_m->RDRSilCU_reserved4 & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( (_m->RDRSilCU_reserved5 & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( (_m->RDRSilCU_reserved6 & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->RDRSilCU_reserved7 & (0xFFU)) ); + + cframe->MsgId = (uint32_t) RDRSilCU_State_CANID; + cframe->DLC = (uint8_t) RDRSilCU_State_DLC; + cframe->IDE = (uint8_t) RDRSilCU_State_IDE; + return RDRSilCU_State_CANID; +} + +#else + +uint32_t Pack_RDRSilCU_State_candb(RDRSilCU_State_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(RDRSilCU_State_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->RDRSilCU_Module_Stat & (0x0FU)) | ((_m->RDRSilCU_ModuleTemperature_Val & (0x0FU)) << 4U) ); + _d[1] |= (uint8_t) ( ((_m->RDRSilCU_ModuleTemperature_Val >> 4U) & (0x07U)) | ((_m->RDRSilCU_reserved1 & (0x1FU)) << 3U) ); + _d[2] |= (uint8_t) ( (_m->RDRSilCU_reserved2 & (0xFFU)) ); + _d[3] |= (uint8_t) ( (_m->RDRSilCU_reserved3 & (0xFFU)) ); + _d[4] |= (uint8_t) ( (_m->RDRSilCU_reserved4 & (0xFFU)) ); + _d[5] |= (uint8_t) ( (_m->RDRSilCU_reserved5 & (0xFFU)) ); + _d[6] |= (uint8_t) ( (_m->RDRSilCU_reserved6 & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->RDRSilCU_reserved7 & (0xFFU)) ); + + *_len = (uint8_t) RDRSilCU_State_DLC; + *_ide = (uint8_t) RDRSilCU_State_IDE; + return RDRSilCU_State_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_FCSilCU_State_candb(FCSilCU_State_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->FCSilCU_Module_Stat = (int8_t) __ext_sig__(( (_d[0] & (0x0FU)) ), 4); + _m->FCSilCU_ModuleTemperature_Val = (uint8_t) ( ((_d[1] & (0x07U)) << 4U) | ((_d[0] >> 4U) & (0x0FU)) ); + _m->FCSilCU_reserved1 = (int8_t) __ext_sig__(( ((_d[1] >> 3U) & (0x1FU)) ), 5); + _m->FCSilCU_reserved2 = (int8_t) __ext_sig__(( (_d[2] & (0xFFU)) ), 8); + _m->FCSilCU_reserved3 = (int8_t) __ext_sig__(( (_d[3] & (0xFFU)) ), 8); + _m->FCSilCU_reserved4 = (int8_t) __ext_sig__(( (_d[4] & (0xFFU)) ), 8); + _m->FCSilCU_reserved5 = (int8_t) __ext_sig__(( (_d[5] & (0xFFU)) ), 8); + _m->FCSilCU_reserved6 = (int8_t) __ext_sig__(( (_d[6] & (0xFFU)) ), 8); + _m->FCSilCU_reserved7 = (int8_t) __ext_sig__(( (_d[7] & (0xFFU)) ), 8); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < FCSilCU_State_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_FCSilCU_State_candb(&_m->mon1, FCSilCU_State_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return FCSilCU_State_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_FCSilCU_State_candb(FCSilCU_State_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(FCSilCU_State_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->FCSilCU_Module_Stat & (0x0FU)) | ((_m->FCSilCU_ModuleTemperature_Val & (0x0FU)) << 4U) ); + cframe->Data[1] |= (uint8_t) ( ((_m->FCSilCU_ModuleTemperature_Val >> 4U) & (0x07U)) | ((_m->FCSilCU_reserved1 & (0x1FU)) << 3U) ); + cframe->Data[2] |= (uint8_t) ( (_m->FCSilCU_reserved2 & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( (_m->FCSilCU_reserved3 & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( (_m->FCSilCU_reserved4 & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( (_m->FCSilCU_reserved5 & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( (_m->FCSilCU_reserved6 & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->FCSilCU_reserved7 & (0xFFU)) ); + + cframe->MsgId = (uint32_t) FCSilCU_State_CANID; + cframe->DLC = (uint8_t) FCSilCU_State_DLC; + cframe->IDE = (uint8_t) FCSilCU_State_IDE; + return FCSilCU_State_CANID; +} + +#else + +uint32_t Pack_FCSilCU_State_candb(FCSilCU_State_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(FCSilCU_State_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->FCSilCU_Module_Stat & (0x0FU)) | ((_m->FCSilCU_ModuleTemperature_Val & (0x0FU)) << 4U) ); + _d[1] |= (uint8_t) ( ((_m->FCSilCU_ModuleTemperature_Val >> 4U) & (0x07U)) | ((_m->FCSilCU_reserved1 & (0x1FU)) << 3U) ); + _d[2] |= (uint8_t) ( (_m->FCSilCU_reserved2 & (0xFFU)) ); + _d[3] |= (uint8_t) ( (_m->FCSilCU_reserved3 & (0xFFU)) ); + _d[4] |= (uint8_t) ( (_m->FCSilCU_reserved4 & (0xFFU)) ); + _d[5] |= (uint8_t) ( (_m->FCSilCU_reserved5 & (0xFFU)) ); + _d[6] |= (uint8_t) ( (_m->FCSilCU_reserved6 & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->FCSilCU_reserved7 & (0xFFU)) ); + + *_len = (uint8_t) FCSilCU_State_DLC; + *_ide = (uint8_t) FCSilCU_State_IDE; + return FCSilCU_State_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_RCLSilCU_State_candb(RCLSilCU_State_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->RCLSilCU_Module_Stat = (int8_t) __ext_sig__(( (_d[0] & (0x0FU)) ), 4); + _m->RCLSilCU_ModuleTemperature_Val = (int8_t) __ext_sig__(( ((_d[1] & (0x07U)) << 4U) | ((_d[0] >> 4U) & (0x0FU)) ), 7); + _m->RCLSilCU_reserved1 = (int8_t) __ext_sig__(( ((_d[1] >> 3U) & (0x1FU)) ), 5); + _m->RCLSilCU_reserved2 = (int8_t) __ext_sig__(( (_d[2] & (0xFFU)) ), 8); + _m->RCLSilCU_reserved3 = (int8_t) __ext_sig__(( (_d[3] & (0xFFU)) ), 8); + _m->RCLSilCU_reserved4 = (int8_t) __ext_sig__(( (_d[4] & (0xFFU)) ), 8); + _m->RCLSilCU_reserved5 = (int8_t) __ext_sig__(( (_d[5] & (0xFFU)) ), 8); + _m->RCLSilCU_reserved6 = (int8_t) __ext_sig__(( (_d[6] & (0xFFU)) ), 8); + _m->RCLSilCU_reserved7 = (int8_t) __ext_sig__(( (_d[7] & (0xFFU)) ), 8); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < RCLSilCU_State_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_RCLSilCU_State_candb(&_m->mon1, RCLSilCU_State_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return RCLSilCU_State_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_RCLSilCU_State_candb(RCLSilCU_State_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(RCLSilCU_State_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->RCLSilCU_Module_Stat & (0x0FU)) | ((_m->RCLSilCU_ModuleTemperature_Val & (0x0FU)) << 4U) ); + cframe->Data[1] |= (uint8_t) ( ((_m->RCLSilCU_ModuleTemperature_Val >> 4U) & (0x07U)) | ((_m->RCLSilCU_reserved1 & (0x1FU)) << 3U) ); + cframe->Data[2] |= (uint8_t) ( (_m->RCLSilCU_reserved2 & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( (_m->RCLSilCU_reserved3 & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( (_m->RCLSilCU_reserved4 & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( (_m->RCLSilCU_reserved5 & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( (_m->RCLSilCU_reserved6 & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->RCLSilCU_reserved7 & (0xFFU)) ); + + cframe->MsgId = (uint32_t) RCLSilCU_State_CANID; + cframe->DLC = (uint8_t) RCLSilCU_State_DLC; + cframe->IDE = (uint8_t) RCLSilCU_State_IDE; + return RCLSilCU_State_CANID; +} + +#else + +uint32_t Pack_RCLSilCU_State_candb(RCLSilCU_State_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(RCLSilCU_State_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->RCLSilCU_Module_Stat & (0x0FU)) | ((_m->RCLSilCU_ModuleTemperature_Val & (0x0FU)) << 4U) ); + _d[1] |= (uint8_t) ( ((_m->RCLSilCU_ModuleTemperature_Val >> 4U) & (0x07U)) | ((_m->RCLSilCU_reserved1 & (0x1FU)) << 3U) ); + _d[2] |= (uint8_t) ( (_m->RCLSilCU_reserved2 & (0xFFU)) ); + _d[3] |= (uint8_t) ( (_m->RCLSilCU_reserved3 & (0xFFU)) ); + _d[4] |= (uint8_t) ( (_m->RCLSilCU_reserved4 & (0xFFU)) ); + _d[5] |= (uint8_t) ( (_m->RCLSilCU_reserved5 & (0xFFU)) ); + _d[6] |= (uint8_t) ( (_m->RCLSilCU_reserved6 & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->RCLSilCU_reserved7 & (0xFFU)) ); + + *_len = (uint8_t) RCLSilCU_State_DLC; + *_ide = (uint8_t) RCLSilCU_State_IDE; + return RCLSilCU_State_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_RCRSilCU_State_candb(RCRSilCU_State_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->RCRSilCU_Module_Stat = (int8_t) __ext_sig__(( (_d[0] & (0x0FU)) ), 4); + _m->RCRSilCU_ModuleTemperature_Val = (int8_t) __ext_sig__(( ((_d[1] & (0x07U)) << 4U) | ((_d[0] >> 4U) & (0x0FU)) ), 7); + _m->RCRSilCU_reserved1 = (int8_t) __ext_sig__(( ((_d[1] >> 3U) & (0x1FU)) ), 5); + _m->RCRSilCU_reserved2 = (int8_t) __ext_sig__(( (_d[2] & (0xFFU)) ), 8); + _m->RCRSilCU_reserved3 = (int8_t) __ext_sig__(( (_d[3] & (0xFFU)) ), 8); + _m->RCRSilCU_reserved4 = (int8_t) __ext_sig__(( (_d[4] & (0xFFU)) ), 8); + _m->RCRSilCU_reserved5 = (int8_t) __ext_sig__(( (_d[5] & (0xFFU)) ), 8); + _m->RCRSilCU_reserved6 = (int8_t) __ext_sig__(( (_d[6] & (0xFFU)) ), 8); + _m->RCRSilCU_reserved7 = (int8_t) __ext_sig__(( (_d[7] & (0xFFU)) ), 8); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < RCRSilCU_State_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_RCRSilCU_State_candb(&_m->mon1, RCRSilCU_State_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return RCRSilCU_State_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_RCRSilCU_State_candb(RCRSilCU_State_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(RCRSilCU_State_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->RCRSilCU_Module_Stat & (0x0FU)) | ((_m->RCRSilCU_ModuleTemperature_Val & (0x0FU)) << 4U) ); + cframe->Data[1] |= (uint8_t) ( ((_m->RCRSilCU_ModuleTemperature_Val >> 4U) & (0x07U)) | ((_m->RCRSilCU_reserved1 & (0x1FU)) << 3U) ); + cframe->Data[2] |= (uint8_t) ( (_m->RCRSilCU_reserved2 & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( (_m->RCRSilCU_reserved3 & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( (_m->RCRSilCU_reserved4 & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( (_m->RCRSilCU_reserved5 & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( (_m->RCRSilCU_reserved6 & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->RCRSilCU_reserved7 & (0xFFU)) ); + + cframe->MsgId = (uint32_t) RCRSilCU_State_CANID; + cframe->DLC = (uint8_t) RCRSilCU_State_DLC; + cframe->IDE = (uint8_t) RCRSilCU_State_IDE; + return RCRSilCU_State_CANID; +} + +#else + +uint32_t Pack_RCRSilCU_State_candb(RCRSilCU_State_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(RCRSilCU_State_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->RCRSilCU_Module_Stat & (0x0FU)) | ((_m->RCRSilCU_ModuleTemperature_Val & (0x0FU)) << 4U) ); + _d[1] |= (uint8_t) ( ((_m->RCRSilCU_ModuleTemperature_Val >> 4U) & (0x07U)) | ((_m->RCRSilCU_reserved1 & (0x1FU)) << 3U) ); + _d[2] |= (uint8_t) ( (_m->RCRSilCU_reserved2 & (0xFFU)) ); + _d[3] |= (uint8_t) ( (_m->RCRSilCU_reserved3 & (0xFFU)) ); + _d[4] |= (uint8_t) ( (_m->RCRSilCU_reserved4 & (0xFFU)) ); + _d[5] |= (uint8_t) ( (_m->RCRSilCU_reserved5 & (0xFFU)) ); + _d[6] |= (uint8_t) ( (_m->RCRSilCU_reserved6 & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->RCRSilCU_reserved7 & (0xFFU)) ); + + *_len = (uint8_t) RCRSilCU_State_DLC; + *_ide = (uint8_t) RCRSilCU_State_IDE; + return RCRSilCU_State_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_RDLSilCU_State_candb(RDLSilCU_State_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->RDLSilCU_Module_Stat = (int8_t) __ext_sig__(( (_d[0] & (0x0FU)) ), 4); + _m->RDLSilCU_ModuleTemperature_Val = (int8_t) __ext_sig__(( ((_d[1] & (0x07U)) << 4U) | ((_d[0] >> 4U) & (0x0FU)) ), 7); + _m->RDLSilCU_reserved1 = (int8_t) __ext_sig__(( ((_d[1] >> 3U) & (0x1FU)) ), 5); + _m->RDLSilCU_reserved2 = (int8_t) __ext_sig__(( (_d[2] & (0xFFU)) ), 8); + _m->RDLSilCU_reserved3 = (int8_t) __ext_sig__(( (_d[3] & (0xFFU)) ), 8); + _m->RDLSilCU_reserved4 = (int8_t) __ext_sig__(( (_d[4] & (0xFFU)) ), 8); + _m->RDLSilCU_reserved5 = (int8_t) __ext_sig__(( (_d[5] & (0xFFU)) ), 8); + _m->RDLSilCU_reserved6 = (int8_t) __ext_sig__(( (_d[6] & (0xFFU)) ), 8); + _m->RDLSilCU_reserved7 = (int8_t) __ext_sig__(( (_d[7] & (0xFFU)) ), 8); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < RDLSilCU_State_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_RDLSilCU_State_candb(&_m->mon1, RDLSilCU_State_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return RDLSilCU_State_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_RDLSilCU_State_candb(RDLSilCU_State_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(RDLSilCU_State_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->RDLSilCU_Module_Stat & (0x0FU)) | ((_m->RDLSilCU_ModuleTemperature_Val & (0x0FU)) << 4U) ); + cframe->Data[1] |= (uint8_t) ( ((_m->RDLSilCU_ModuleTemperature_Val >> 4U) & (0x07U)) | ((_m->RDLSilCU_reserved1 & (0x1FU)) << 3U) ); + cframe->Data[2] |= (uint8_t) ( (_m->RDLSilCU_reserved2 & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( (_m->RDLSilCU_reserved3 & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( (_m->RDLSilCU_reserved4 & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( (_m->RDLSilCU_reserved5 & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( (_m->RDLSilCU_reserved6 & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->RDLSilCU_reserved7 & (0xFFU)) ); + + cframe->MsgId = (uint32_t) RDLSilCU_State_CANID; + cframe->DLC = (uint8_t) RDLSilCU_State_DLC; + cframe->IDE = (uint8_t) RDLSilCU_State_IDE; + return RDLSilCU_State_CANID; +} + +#else + +uint32_t Pack_RDLSilCU_State_candb(RDLSilCU_State_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(RDLSilCU_State_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->RDLSilCU_Module_Stat & (0x0FU)) | ((_m->RDLSilCU_ModuleTemperature_Val & (0x0FU)) << 4U) ); + _d[1] |= (uint8_t) ( ((_m->RDLSilCU_ModuleTemperature_Val >> 4U) & (0x07U)) | ((_m->RDLSilCU_reserved1 & (0x1FU)) << 3U) ); + _d[2] |= (uint8_t) ( (_m->RDLSilCU_reserved2 & (0xFFU)) ); + _d[3] |= (uint8_t) ( (_m->RDLSilCU_reserved3 & (0xFFU)) ); + _d[4] |= (uint8_t) ( (_m->RDLSilCU_reserved4 & (0xFFU)) ); + _d[5] |= (uint8_t) ( (_m->RDLSilCU_reserved5 & (0xFFU)) ); + _d[6] |= (uint8_t) ( (_m->RDLSilCU_reserved6 & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->RDLSilCU_reserved7 & (0xFFU)) ); + + *_len = (uint8_t) RDLSilCU_State_DLC; + *_ide = (uint8_t) RDLSilCU_State_IDE; + return RDLSilCU_State_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_CCPF_BodyTM_Stat_candb(CCPF_BodyTM_Stat_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->CCPF_AutoButtonL_Stat = (uint8_t) ( (_d[0] & (0x03U)) ); + _m->CCPF_TempToggleL_Stat = (uint8_t) ( ((_d[0] >> 2U) & (0x07U)) ); + _m->CCPF_RecButton_Stat = (uint8_t) ( ((_d[0] >> 5U) & (0x03U)) ); + _m->CCPF_FWindowHeatSw_Stat = (uint8_t) ( ((_d[0] >> 7U) & (0x01U)) ); + _m->CCPF_AutoButtonR_Stat = (uint8_t) ( (_d[1] & (0x03U)) ); + _m->CCPF_MuteSw_Stat = (uint8_t) ( ((_d[1] >> 2U) & (0x03U)) ); + _m->CCPF_RWindowHeatSw_Stat = (uint8_t) ( ((_d[1] >> 4U) & (0x01U)) ); + _m->CCPF_TempToggleR_Stat = (uint8_t) ( ((_d[1] >> 5U) & (0x07U)) ); + _m->CCPF_VolAjustSw_Stat = (uint8_t) ( (_d[2] & (0x03U)) ); + _m->CCPF_DefButton_Stat = (uint8_t) ( ((_d[2] >> 2U) & (0x03U)) ); + _m->CCPF_AcMaxButton_Stat = (uint8_t) ( ((_d[2] >> 4U) & (0x03U)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < CCPF_BodyTM_Stat_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_CCPF_BodyTM_Stat_candb(&_m->mon1, CCPF_BodyTM_Stat_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return CCPF_BodyTM_Stat_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_CCPF_BodyTM_Stat_candb(CCPF_BodyTM_Stat_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(CCPF_BodyTM_Stat_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->CCPF_AutoButtonL_Stat & (0x03U)) | ((_m->CCPF_TempToggleL_Stat & (0x07U)) << 2U) | ((_m->CCPF_RecButton_Stat & (0x03U)) << 5U) | ((_m->CCPF_FWindowHeatSw_Stat & (0x01U)) << 7U) ); + cframe->Data[1] |= (uint8_t) ( (_m->CCPF_AutoButtonR_Stat & (0x03U)) | ((_m->CCPF_MuteSw_Stat & (0x03U)) << 2U) | ((_m->CCPF_RWindowHeatSw_Stat & (0x01U)) << 4U) | ((_m->CCPF_TempToggleR_Stat & (0x07U)) << 5U) ); + cframe->Data[2] |= (uint8_t) ( (_m->CCPF_VolAjustSw_Stat & (0x03U)) | ((_m->CCPF_DefButton_Stat & (0x03U)) << 2U) | ((_m->CCPF_AcMaxButton_Stat & (0x03U)) << 4U) ); + + cframe->MsgId = (uint32_t) CCPF_BodyTM_Stat_CANID; + cframe->DLC = (uint8_t) CCPF_BodyTM_Stat_DLC; + cframe->IDE = (uint8_t) CCPF_BodyTM_Stat_IDE; + return CCPF_BodyTM_Stat_CANID; +} + +#else + +uint32_t Pack_CCPF_BodyTM_Stat_candb(CCPF_BodyTM_Stat_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(CCPF_BodyTM_Stat_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->CCPF_AutoButtonL_Stat & (0x03U)) | ((_m->CCPF_TempToggleL_Stat & (0x07U)) << 2U) | ((_m->CCPF_RecButton_Stat & (0x03U)) << 5U) | ((_m->CCPF_FWindowHeatSw_Stat & (0x01U)) << 7U) ); + _d[1] |= (uint8_t) ( (_m->CCPF_AutoButtonR_Stat & (0x03U)) | ((_m->CCPF_MuteSw_Stat & (0x03U)) << 2U) | ((_m->CCPF_RWindowHeatSw_Stat & (0x01U)) << 4U) | ((_m->CCPF_TempToggleR_Stat & (0x07U)) << 5U) ); + _d[2] |= (uint8_t) ( (_m->CCPF_VolAjustSw_Stat & (0x03U)) | ((_m->CCPF_DefButton_Stat & (0x03U)) << 2U) | ((_m->CCPF_AcMaxButton_Stat & (0x03U)) << 4U) ); + + *_len = (uint8_t) CCPF_BodyTM_Stat_DLC; + *_ide = (uint8_t) CCPF_BodyTM_Stat_IDE; + return CCPF_BodyTM_Stat_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_IntCOM_Info_Stat_candb(IntCOM_Info_Stat_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->IntCOM_PowerLed_Cmd = (uint8_t) ( (_d[0] & (0x03U)) ); + _m->IntCOM_Intercom_Req = (uint8_t) ( ((_d[0] >> 2U) & (0x01U)) ); + _m->IntCOM_Extercom_Req = (uint8_t) ( ((_d[0] >> 3U) & (0x01U)) ); + _m->IntCOM_Mute_Req = (uint8_t) ( ((_d[0] >> 4U) & (0x01U)) ); + _m->IntCom_MIC_FL = (uint8_t) ( ((_d[0] >> 5U) & (0x01U)) ); + _m->IntCom_MIC_FR = (uint8_t) ( ((_d[0] >> 6U) & (0x01U)) ); + _m->IntCom_MIC_RL = (uint8_t) ( ((_d[0] >> 7U) & (0x01U)) ); + _m->IntCom_MIC_RR = (uint8_t) ( (_d[1] & (0x01U)) ); + _m->IntCOM_ExtcomLMIC_Req = (uint8_t) ( ((_d[1] >> 1U) & (0x01U)) ); + _m->IntCOM_ExtcomRMIC_Req = (uint8_t) ( ((_d[1] >> 2U) & (0x01U)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < IntCOM_Info_Stat_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_IntCOM_Info_Stat_candb(&_m->mon1, IntCOM_Info_Stat_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return IntCOM_Info_Stat_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_IntCOM_Info_Stat_candb(IntCOM_Info_Stat_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(IntCOM_Info_Stat_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->IntCOM_PowerLed_Cmd & (0x03U)) | ((_m->IntCOM_Intercom_Req & (0x01U)) << 2U) | ((_m->IntCOM_Extercom_Req & (0x01U)) << 3U) | ((_m->IntCOM_Mute_Req & (0x01U)) << 4U) | ((_m->IntCom_MIC_FL & (0x01U)) << 5U) | ((_m->IntCom_MIC_FR & (0x01U)) << 6U) | ((_m->IntCom_MIC_RL & (0x01U)) << 7U) ); + cframe->Data[1] |= (uint8_t) ( (_m->IntCom_MIC_RR & (0x01U)) | ((_m->IntCOM_ExtcomLMIC_Req & (0x01U)) << 1U) | ((_m->IntCOM_ExtcomRMIC_Req & (0x01U)) << 2U) ); + + cframe->MsgId = (uint32_t) IntCOM_Info_Stat_CANID; + cframe->DLC = (uint8_t) IntCOM_Info_Stat_DLC; + cframe->IDE = (uint8_t) IntCOM_Info_Stat_IDE; + return IntCOM_Info_Stat_CANID; +} + +#else + +uint32_t Pack_IntCOM_Info_Stat_candb(IntCOM_Info_Stat_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(IntCOM_Info_Stat_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->IntCOM_PowerLed_Cmd & (0x03U)) | ((_m->IntCOM_Intercom_Req & (0x01U)) << 2U) | ((_m->IntCOM_Extercom_Req & (0x01U)) << 3U) | ((_m->IntCOM_Mute_Req & (0x01U)) << 4U) | ((_m->IntCom_MIC_FL & (0x01U)) << 5U) | ((_m->IntCom_MIC_FR & (0x01U)) << 6U) | ((_m->IntCom_MIC_RL & (0x01U)) << 7U) ); + _d[1] |= (uint8_t) ( (_m->IntCom_MIC_RR & (0x01U)) | ((_m->IntCOM_ExtcomLMIC_Req & (0x01U)) << 1U) | ((_m->IntCOM_ExtcomRMIC_Req & (0x01U)) << 2U) ); + + *_len = (uint8_t) IntCOM_Info_Stat_DLC; + *_ide = (uint8_t) IntCOM_Info_Stat_IDE; + return IntCOM_Info_Stat_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_LTE_Sum_State2_candb(LTE_Sum_State2_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->LTE_FrameCode_Stat = (uint8_t) ( (_d[0] & (0x0FU)) ); + _m->LTE_Flow_Stat = (uint8_t) ( ((_d[0] >> 4U) & (0x0FU)) ); + _m->LTE_FrameNum_Val = (uint8_t) ( ((_d[0] >> 4U) & (0x0FU)) ); + _m->LTE_DataLenM = (uint16_t) ( ((_d[1] & (0xFFU)) << 4U) | ((_d[0] >> 4U) & (0x0FU)) ); + _m->LTE_DataLenS = (uint8_t) ( ((_d[0] >> 4U) & (0x0FU)) ); + _m->LTE_BlockSize_Val = (uint8_t) ( (_d[1] & (0xFFU)) ); + _m->LTE_Data1_Val = (uint64_t) ( ((uint64_t)(_d[7] & (0xFFU)) << 48U) | ((uint64_t)(_d[6] & (0xFFU)) << 40U) | ((uint64_t)(_d[5] & (0xFFU)) << 32U) | ((_d[4] & (0xFFU)) << 24U) | ((_d[3] & (0xFFU)) << 16U) | ((_d[2] & (0xFFU)) << 8U) | (_d[1] & (0xFFU)) ); + _m->LTE_Data3_Val = (uint64_t) ( ((uint64_t)(_d[7] & (0xFFU)) << 48U) | ((uint64_t)(_d[6] & (0xFFU)) << 40U) | ((uint64_t)(_d[5] & (0xFFU)) << 32U) | ((_d[4] & (0xFFU)) << 24U) | ((_d[3] & (0xFFU)) << 16U) | ((_d[2] & (0xFFU)) << 8U) | (_d[1] & (0xFFU)) ); + _m->LTE_MinSepTime_Val = (uint8_t) ( (_d[2] & (0xFFU)) ); + _m->LTE_Data2_Val = (uint64_t) ( ((uint64_t)(_d[7] & (0xFFU)) << 40U) | ((uint64_t)(_d[6] & (0xFFU)) << 32U) | ((_d[5] & (0xFFU)) << 24U) | ((_d[4] & (0xFFU)) << 16U) | ((_d[3] & (0xFFU)) << 8U) | (_d[2] & (0xFFU)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < LTE_Sum_State2_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_LTE_Sum_State2_candb(&_m->mon1, LTE_Sum_State2_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return LTE_Sum_State2_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_LTE_Sum_State2_candb(LTE_Sum_State2_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(LTE_Sum_State2_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->LTE_FrameCode_Stat & (0x0FU)) | ((_m->LTE_Flow_Stat & (0x0FU)) << 4U) | ((_m->LTE_FrameNum_Val & (0x0FU)) << 4U) | ((_m->LTE_DataLenM & (0x0FU)) << 4U) | ((_m->LTE_DataLenS & (0x0FU)) << 4U) ); + cframe->Data[1] |= (uint8_t) ( ((_m->LTE_DataLenM >> 4U) & (0xFFU)) | (_m->LTE_BlockSize_Val & (0xFFU)) | (_m->LTE_Data1_Val & (0xFFU)) | (_m->LTE_Data3_Val & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->LTE_Data1_Val >> 8U) & (0xFFU)) | ((_m->LTE_Data3_Val >> 8U) & (0xFFU)) | (_m->LTE_MinSepTime_Val & (0xFFU)) | (_m->LTE_Data2_Val & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->LTE_Data1_Val >> 16U) & (0xFFU)) | ((_m->LTE_Data3_Val >> 16U) & (0xFFU)) | ((_m->LTE_Data2_Val >> 8U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->LTE_Data1_Val >> 24U) & (0xFFU)) | ((_m->LTE_Data3_Val >> 24U) & (0xFFU)) | ((_m->LTE_Data2_Val >> 16U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->LTE_Data1_Val >> 32U) & (0xFFU)) | ((_m->LTE_Data3_Val >> 32U) & (0xFFU)) | ((_m->LTE_Data2_Val >> 24U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->LTE_Data1_Val >> 40U) & (0xFFU)) | ((_m->LTE_Data3_Val >> 40U) & (0xFFU)) | ((_m->LTE_Data2_Val >> 32U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( ((_m->LTE_Data1_Val >> 48U) & (0xFFU)) | ((_m->LTE_Data3_Val >> 48U) & (0xFFU)) | ((_m->LTE_Data2_Val >> 40U) & (0xFFU)) ); + + cframe->MsgId = (uint32_t) LTE_Sum_State2_CANID; + cframe->DLC = (uint8_t) LTE_Sum_State2_DLC; + cframe->IDE = (uint8_t) LTE_Sum_State2_IDE; + return LTE_Sum_State2_CANID; +} + +#else + +uint32_t Pack_LTE_Sum_State2_candb(LTE_Sum_State2_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(LTE_Sum_State2_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->LTE_FrameCode_Stat & (0x0FU)) | ((_m->LTE_Flow_Stat & (0x0FU)) << 4U) | ((_m->LTE_FrameNum_Val & (0x0FU)) << 4U) | ((_m->LTE_DataLenM & (0x0FU)) << 4U) | ((_m->LTE_DataLenS & (0x0FU)) << 4U) ); + _d[1] |= (uint8_t) ( ((_m->LTE_DataLenM >> 4U) & (0xFFU)) | (_m->LTE_BlockSize_Val & (0xFFU)) | (_m->LTE_Data1_Val & (0xFFU)) | (_m->LTE_Data3_Val & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->LTE_Data1_Val >> 8U) & (0xFFU)) | ((_m->LTE_Data3_Val >> 8U) & (0xFFU)) | (_m->LTE_MinSepTime_Val & (0xFFU)) | (_m->LTE_Data2_Val & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->LTE_Data1_Val >> 16U) & (0xFFU)) | ((_m->LTE_Data3_Val >> 16U) & (0xFFU)) | ((_m->LTE_Data2_Val >> 8U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->LTE_Data1_Val >> 24U) & (0xFFU)) | ((_m->LTE_Data3_Val >> 24U) & (0xFFU)) | ((_m->LTE_Data2_Val >> 16U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->LTE_Data1_Val >> 32U) & (0xFFU)) | ((_m->LTE_Data3_Val >> 32U) & (0xFFU)) | ((_m->LTE_Data2_Val >> 24U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->LTE_Data1_Val >> 40U) & (0xFFU)) | ((_m->LTE_Data3_Val >> 40U) & (0xFFU)) | ((_m->LTE_Data2_Val >> 32U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( ((_m->LTE_Data1_Val >> 48U) & (0xFFU)) | ((_m->LTE_Data3_Val >> 48U) & (0xFFU)) | ((_m->LTE_Data2_Val >> 40U) & (0xFFU)) ); + + *_len = (uint8_t) LTE_Sum_State2_DLC; + *_ide = (uint8_t) LTE_Sum_State2_IDE; + return LTE_Sum_State2_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_WChF_FIU_TransferState_candb(WChF_FIU_TransferState_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->WChF_Flow_Stat = (uint8_t) ( (_d[0] & (0x0FU)) ); + _m->WChF_FrameNum_Val = (uint8_t) ( (_d[0] & (0x0FU)) ); + _m->WChF_DataLenM = (uint16_t) ( ((_d[0] & (0x0FU)) << 8U) | (_d[1] & (0xFFU)) ); + _m->WChF_DataLenS = (uint8_t) ( (_d[0] & (0x0FU)) ); + _m->WChF_FrameCode_Stat = (uint8_t) ( ((_d[0] >> 4U) & (0x0FU)) ); + _m->WChF_BlockSize_Val = (uint8_t) ( (_d[1] & (0xFFU)) ); + _m->WChF_Data1_Val = (uint64_t) ( ((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)) ); + _m->WChF_Data3_Val = (uint64_t) ( ((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)) ); + _m->WChF_MinSepTime_Val = (uint8_t) ( (_d[2] & (0xFFU)) ); + _m->WChF_Data2_Val = (uint64_t) ( ((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_ < WChF_FIU_TransferState_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_WChF_FIU_TransferState_candb(&_m->mon1, WChF_FIU_TransferState_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return WChF_FIU_TransferState_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_WChF_FIU_TransferState_candb(WChF_FIU_TransferState_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(WChF_FIU_TransferState_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->WChF_Flow_Stat & (0x0FU)) | (_m->WChF_FrameNum_Val & (0x0FU)) | ((_m->WChF_DataLenM >> 8U) & (0x0FU)) | (_m->WChF_DataLenS & (0x0FU)) | ((_m->WChF_FrameCode_Stat & (0x0FU)) << 4U) ); + cframe->Data[1] |= (uint8_t) ( (_m->WChF_DataLenM & (0xFFU)) | (_m->WChF_BlockSize_Val & (0xFFU)) | ((_m->WChF_Data1_Val >> 48U) & (0xFFU)) | ((_m->WChF_Data3_Val >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->WChF_Data1_Val >> 40U) & (0xFFU)) | ((_m->WChF_Data3_Val >> 40U) & (0xFFU)) | (_m->WChF_MinSepTime_Val & (0xFFU)) | ((_m->WChF_Data2_Val >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->WChF_Data1_Val >> 32U) & (0xFFU)) | ((_m->WChF_Data3_Val >> 32U) & (0xFFU)) | ((_m->WChF_Data2_Val >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->WChF_Data1_Val >> 24U) & (0xFFU)) | ((_m->WChF_Data3_Val >> 24U) & (0xFFU)) | ((_m->WChF_Data2_Val >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->WChF_Data1_Val >> 16U) & (0xFFU)) | ((_m->WChF_Data3_Val >> 16U) & (0xFFU)) | ((_m->WChF_Data2_Val >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->WChF_Data1_Val >> 8U) & (0xFFU)) | ((_m->WChF_Data3_Val >> 8U) & (0xFFU)) | ((_m->WChF_Data2_Val >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->WChF_Data1_Val & (0xFFU)) | (_m->WChF_Data3_Val & (0xFFU)) | (_m->WChF_Data2_Val & (0xFFU)) ); + + cframe->MsgId = (uint32_t) WChF_FIU_TransferState_CANID; + cframe->DLC = (uint8_t) WChF_FIU_TransferState_DLC; + cframe->IDE = (uint8_t) WChF_FIU_TransferState_IDE; + return WChF_FIU_TransferState_CANID; +} + +#else + +uint32_t Pack_WChF_FIU_TransferState_candb(WChF_FIU_TransferState_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(WChF_FIU_TransferState_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->WChF_Flow_Stat & (0x0FU)) | (_m->WChF_FrameNum_Val & (0x0FU)) | ((_m->WChF_DataLenM >> 8U) & (0x0FU)) | (_m->WChF_DataLenS & (0x0FU)) | ((_m->WChF_FrameCode_Stat & (0x0FU)) << 4U) ); + _d[1] |= (uint8_t) ( (_m->WChF_DataLenM & (0xFFU)) | (_m->WChF_BlockSize_Val & (0xFFU)) | ((_m->WChF_Data1_Val >> 48U) & (0xFFU)) | ((_m->WChF_Data3_Val >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->WChF_Data1_Val >> 40U) & (0xFFU)) | ((_m->WChF_Data3_Val >> 40U) & (0xFFU)) | (_m->WChF_MinSepTime_Val & (0xFFU)) | ((_m->WChF_Data2_Val >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->WChF_Data1_Val >> 32U) & (0xFFU)) | ((_m->WChF_Data3_Val >> 32U) & (0xFFU)) | ((_m->WChF_Data2_Val >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->WChF_Data1_Val >> 24U) & (0xFFU)) | ((_m->WChF_Data3_Val >> 24U) & (0xFFU)) | ((_m->WChF_Data2_Val >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->WChF_Data1_Val >> 16U) & (0xFFU)) | ((_m->WChF_Data3_Val >> 16U) & (0xFFU)) | ((_m->WChF_Data2_Val >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->WChF_Data1_Val >> 8U) & (0xFFU)) | ((_m->WChF_Data3_Val >> 8U) & (0xFFU)) | ((_m->WChF_Data2_Val >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->WChF_Data1_Val & (0xFFU)) | (_m->WChF_Data3_Val & (0xFFU)) | (_m->WChF_Data2_Val & (0xFFU)) ); + + *_len = (uint8_t) WChF_FIU_TransferState_DLC; + *_ide = (uint8_t) WChF_FIU_TransferState_IDE; + return WChF_FIU_TransferState_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_FIU_WChF_TransferState_candb(FIU_WChF_TransferState_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->FIU_Flow_Stat = (uint8_t) ( (_d[0] & (0x0FU)) ); + _m->FIU_FrameNum_Val = (uint8_t) ( (_d[0] & (0x0FU)) ); + _m->FIU_DataLenM = (uint16_t) ( ((_d[0] & (0x0FU)) << 8U) | (_d[1] & (0xFFU)) ); + _m->FIU_DataLenS = (uint8_t) ( (_d[0] & (0x0FU)) ); + _m->FIU_FrameCode_Stat = (uint8_t) ( ((_d[0] >> 4U) & (0x0FU)) ); + _m->FIU_BlockSize_Val = (uint8_t) ( (_d[1] & (0xFFU)) ); + _m->FIU_Data1_Val = (uint64_t) ( ((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)) ); + _m->FIU_Data3_Val = (uint64_t) ( ((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)) ); + _m->FIU_MinSepTime_Val = (uint8_t) ( (_d[2] & (0xFFU)) ); + _m->FIU_Data2_Val = (uint64_t) ( ((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_ < FIU_WChF_TransferState_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_FIU_WChF_TransferState_candb(&_m->mon1, FIU_WChF_TransferState_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return FIU_WChF_TransferState_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_FIU_WChF_TransferState_candb(FIU_WChF_TransferState_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(FIU_WChF_TransferState_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->FIU_Flow_Stat & (0x0FU)) | (_m->FIU_FrameNum_Val & (0x0FU)) | ((_m->FIU_DataLenM >> 8U) & (0x0FU)) | (_m->FIU_DataLenS & (0x0FU)) | ((_m->FIU_FrameCode_Stat & (0x0FU)) << 4U) ); + cframe->Data[1] |= (uint8_t) ( (_m->FIU_DataLenM & (0xFFU)) | (_m->FIU_BlockSize_Val & (0xFFU)) | ((_m->FIU_Data1_Val >> 48U) & (0xFFU)) | ((_m->FIU_Data3_Val >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->FIU_Data1_Val >> 40U) & (0xFFU)) | ((_m->FIU_Data3_Val >> 40U) & (0xFFU)) | (_m->FIU_MinSepTime_Val & (0xFFU)) | ((_m->FIU_Data2_Val >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->FIU_Data1_Val >> 32U) & (0xFFU)) | ((_m->FIU_Data3_Val >> 32U) & (0xFFU)) | ((_m->FIU_Data2_Val >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->FIU_Data1_Val >> 24U) & (0xFFU)) | ((_m->FIU_Data3_Val >> 24U) & (0xFFU)) | ((_m->FIU_Data2_Val >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->FIU_Data1_Val >> 16U) & (0xFFU)) | ((_m->FIU_Data3_Val >> 16U) & (0xFFU)) | ((_m->FIU_Data2_Val >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->FIU_Data1_Val >> 8U) & (0xFFU)) | ((_m->FIU_Data3_Val >> 8U) & (0xFFU)) | ((_m->FIU_Data2_Val >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->FIU_Data1_Val & (0xFFU)) | (_m->FIU_Data3_Val & (0xFFU)) | (_m->FIU_Data2_Val & (0xFFU)) ); + + cframe->MsgId = (uint32_t) FIU_WChF_TransferState_CANID; + cframe->DLC = (uint8_t) FIU_WChF_TransferState_DLC; + cframe->IDE = (uint8_t) FIU_WChF_TransferState_IDE; + return FIU_WChF_TransferState_CANID; +} + +#else + +uint32_t Pack_FIU_WChF_TransferState_candb(FIU_WChF_TransferState_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(FIU_WChF_TransferState_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->FIU_Flow_Stat & (0x0FU)) | (_m->FIU_FrameNum_Val & (0x0FU)) | ((_m->FIU_DataLenM >> 8U) & (0x0FU)) | (_m->FIU_DataLenS & (0x0FU)) | ((_m->FIU_FrameCode_Stat & (0x0FU)) << 4U) ); + _d[1] |= (uint8_t) ( (_m->FIU_DataLenM & (0xFFU)) | (_m->FIU_BlockSize_Val & (0xFFU)) | ((_m->FIU_Data1_Val >> 48U) & (0xFFU)) | ((_m->FIU_Data3_Val >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->FIU_Data1_Val >> 40U) & (0xFFU)) | ((_m->FIU_Data3_Val >> 40U) & (0xFFU)) | (_m->FIU_MinSepTime_Val & (0xFFU)) | ((_m->FIU_Data2_Val >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->FIU_Data1_Val >> 32U) & (0xFFU)) | ((_m->FIU_Data3_Val >> 32U) & (0xFFU)) | ((_m->FIU_Data2_Val >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->FIU_Data1_Val >> 24U) & (0xFFU)) | ((_m->FIU_Data3_Val >> 24U) & (0xFFU)) | ((_m->FIU_Data2_Val >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->FIU_Data1_Val >> 16U) & (0xFFU)) | ((_m->FIU_Data3_Val >> 16U) & (0xFFU)) | ((_m->FIU_Data2_Val >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->FIU_Data1_Val >> 8U) & (0xFFU)) | ((_m->FIU_Data3_Val >> 8U) & (0xFFU)) | ((_m->FIU_Data2_Val >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->FIU_Data1_Val & (0xFFU)) | (_m->FIU_Data3_Val & (0xFFU)) | (_m->FIU_Data2_Val & (0xFFU)) ); + + *_len = (uint8_t) FIU_WChF_TransferState_DLC; + *_ide = (uint8_t) FIU_WChF_TransferState_IDE; + return FIU_WChF_TransferState_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_VAU_BLE_Device_candb(VAU_BLE_Device_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->VAU_BLEZoneLoc_Stat = (uint8_t) ( (_d[0] & (0x0FU)) ); + _m->VAU_BLEPassword_Val = (uint32_t) ( ((_d[2] & (0xFFU)) << 12U) | ((_d[1] & (0xFFU)) << 4U) | ((_d[0] >> 4U) & (0x0FU)) ); + _m->VAU_BLEDevice_ID = (uint8_t) ( (_d[3] & (0x07U)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < VAU_BLE_Device_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_VAU_BLE_Device_candb(&_m->mon1, VAU_BLE_Device_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return VAU_BLE_Device_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_VAU_BLE_Device_candb(VAU_BLE_Device_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(VAU_BLE_Device_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->VAU_BLEZoneLoc_Stat & (0x0FU)) | ((_m->VAU_BLEPassword_Val & (0x0FU)) << 4U) ); + cframe->Data[1] |= (uint8_t) ( ((_m->VAU_BLEPassword_Val >> 4U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->VAU_BLEPassword_Val >> 12U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( (_m->VAU_BLEDevice_ID & (0x07U)) ); + + cframe->MsgId = (uint32_t) VAU_BLE_Device_CANID; + cframe->DLC = (uint8_t) VAU_BLE_Device_DLC; + cframe->IDE = (uint8_t) VAU_BLE_Device_IDE; + return VAU_BLE_Device_CANID; +} + +#else + +uint32_t Pack_VAU_BLE_Device_candb(VAU_BLE_Device_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(VAU_BLE_Device_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->VAU_BLEZoneLoc_Stat & (0x0FU)) | ((_m->VAU_BLEPassword_Val & (0x0FU)) << 4U) ); + _d[1] |= (uint8_t) ( ((_m->VAU_BLEPassword_Val >> 4U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->VAU_BLEPassword_Val >> 12U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( (_m->VAU_BLEDevice_ID & (0x07U)) ); + + *_len = (uint8_t) VAU_BLE_Device_DLC; + *_ide = (uint8_t) VAU_BLE_Device_IDE; + return VAU_BLE_Device_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_APU_candb(Diag_From_APU_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_From_APU = (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_APU_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_From_APU_candb(&_m->mon1, Diag_From_APU_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_From_APU_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_From_APU_candb(Diag_From_APU_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_APU_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_From_APU >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_From_APU >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_From_APU >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_From_APU >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_From_APU >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_From_APU >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_From_APU >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_From_APU & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_From_APU_CANID; + cframe->DLC = (uint8_t) Diag_From_APU_DLC; + cframe->IDE = (uint8_t) Diag_From_APU_IDE; + return Diag_From_APU_CANID; +} + +#else + +uint32_t Pack_Diag_From_APU_candb(Diag_From_APU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_APU_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_From_APU >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_From_APU >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_From_APU >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_From_APU >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_From_APU >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_From_APU >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_From_APU >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_From_APU & (0xFFU)) ); + + *_len = (uint8_t) Diag_From_APU_DLC; + *_ide = (uint8_t) Diag_From_APU_IDE; + return Diag_From_APU_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_SSL_Status_candb(SSL_Status_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->SSL_FootrestAutoClose_Req = (uint8_t) ( (_d[0] & (0x01U)) ); + _m->SSL_Position_Stat = (uint8_t) ( ((_d[0] >> 1U) & (0x07U)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < SSL_Status_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_SSL_Status_candb(&_m->mon1, SSL_Status_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return SSL_Status_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_SSL_Status_candb(SSL_Status_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(SSL_Status_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->SSL_FootrestAutoClose_Req & (0x01U)) | ((_m->SSL_Position_Stat & (0x07U)) << 1U) ); + + cframe->MsgId = (uint32_t) SSL_Status_CANID; + cframe->DLC = (uint8_t) SSL_Status_DLC; + cframe->IDE = (uint8_t) SSL_Status_IDE; + return SSL_Status_CANID; +} + +#else + +uint32_t Pack_SSL_Status_candb(SSL_Status_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(SSL_Status_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->SSL_FootrestAutoClose_Req & (0x01U)) | ((_m->SSL_Position_Stat & (0x07U)) << 1U) ); + + *_len = (uint8_t) SSL_Status_DLC; + *_ide = (uint8_t) SSL_Status_IDE; + return SSL_Status_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_SSR_Status_candb(SSR_Status_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->SSR_FootrestAutoClose_Req = (uint8_t) ( (_d[0] & (0x01U)) ); + _m->SSR_Position_Stat = (uint8_t) ( ((_d[0] >> 1U) & (0x07U)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < SSR_Status_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_SSR_Status_candb(&_m->mon1, SSR_Status_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return SSR_Status_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_SSR_Status_candb(SSR_Status_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(SSR_Status_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->SSR_FootrestAutoClose_Req & (0x01U)) | ((_m->SSR_Position_Stat & (0x07U)) << 1U) ); + + cframe->MsgId = (uint32_t) SSR_Status_CANID; + cframe->DLC = (uint8_t) SSR_Status_DLC; + cframe->IDE = (uint8_t) SSR_Status_IDE; + return SSR_Status_CANID; +} + +#else + +uint32_t Pack_SSR_Status_candb(SSR_Status_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(SSR_Status_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->SSR_FootrestAutoClose_Req & (0x01U)) | ((_m->SSR_Position_Stat & (0x07U)) << 1U) ); + + *_len = (uint8_t) SSR_Status_DLC; + *_ide = (uint8_t) SSR_Status_IDE; + return SSR_Status_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_PTG_To_SupplierTool_candb(PTG_To_SupplierTool_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->PTG_To_SupplierTool_Sig = (uint64_t) ( ((uint64_t)(_d[7] & (0xFFU)) << 56U) | ((uint64_t)(_d[6] & (0xFFU)) << 48U) | ((uint64_t)(_d[5] & (0xFFU)) << 40U) | ((uint64_t)(_d[4] & (0xFFU)) << 32U) | ((_d[3] & (0xFFU)) << 24U) | ((_d[2] & (0xFFU)) << 16U) | ((_d[1] & (0xFFU)) << 8U) | (_d[0] & (0xFFU)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < PTG_To_SupplierTool_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_PTG_To_SupplierTool_candb(&_m->mon1, PTG_To_SupplierTool_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return PTG_To_SupplierTool_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_PTG_To_SupplierTool_candb(PTG_To_SupplierTool_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(PTG_To_SupplierTool_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->PTG_To_SupplierTool_Sig & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->PTG_To_SupplierTool_Sig >> 8U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->PTG_To_SupplierTool_Sig >> 16U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->PTG_To_SupplierTool_Sig >> 24U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->PTG_To_SupplierTool_Sig >> 32U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->PTG_To_SupplierTool_Sig >> 40U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->PTG_To_SupplierTool_Sig >> 48U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( ((_m->PTG_To_SupplierTool_Sig >> 56U) & (0xFFU)) ); + + cframe->MsgId = (uint32_t) PTG_To_SupplierTool_CANID; + cframe->DLC = (uint8_t) PTG_To_SupplierTool_DLC; + cframe->IDE = (uint8_t) PTG_To_SupplierTool_IDE; + return PTG_To_SupplierTool_CANID; +} + +#else + +uint32_t Pack_PTG_To_SupplierTool_candb(PTG_To_SupplierTool_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(PTG_To_SupplierTool_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->PTG_To_SupplierTool_Sig & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->PTG_To_SupplierTool_Sig >> 8U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->PTG_To_SupplierTool_Sig >> 16U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->PTG_To_SupplierTool_Sig >> 24U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->PTG_To_SupplierTool_Sig >> 32U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->PTG_To_SupplierTool_Sig >> 40U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->PTG_To_SupplierTool_Sig >> 48U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( ((_m->PTG_To_SupplierTool_Sig >> 56U) & (0xFFU)) ); + + *_len = (uint8_t) PTG_To_SupplierTool_DLC; + *_ide = (uint8_t) PTG_To_SupplierTool_IDE; + return PTG_To_SupplierTool_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_SupplierTool_To_PTG_candb(SupplierTool_To_PTG_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->SupplierTool_To_PTG_Sig = (uint64_t) ( ((uint64_t)(_d[7] & (0xFFU)) << 56U) | ((uint64_t)(_d[6] & (0xFFU)) << 48U) | ((uint64_t)(_d[5] & (0xFFU)) << 40U) | ((uint64_t)(_d[4] & (0xFFU)) << 32U) | ((_d[3] & (0xFFU)) << 24U) | ((_d[2] & (0xFFU)) << 16U) | ((_d[1] & (0xFFU)) << 8U) | (_d[0] & (0xFFU)) ); + +#ifdef CANDB_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < SupplierTool_To_PTG_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_SupplierTool_To_PTG_candb(&_m->mon1, SupplierTool_To_PTG_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return SupplierTool_To_PTG_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_SupplierTool_To_PTG_candb(SupplierTool_To_PTG_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(SupplierTool_To_PTG_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->SupplierTool_To_PTG_Sig & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->SupplierTool_To_PTG_Sig >> 8U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->SupplierTool_To_PTG_Sig >> 16U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->SupplierTool_To_PTG_Sig >> 24U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->SupplierTool_To_PTG_Sig >> 32U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->SupplierTool_To_PTG_Sig >> 40U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->SupplierTool_To_PTG_Sig >> 48U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( ((_m->SupplierTool_To_PTG_Sig >> 56U) & (0xFFU)) ); + + cframe->MsgId = (uint32_t) SupplierTool_To_PTG_CANID; + cframe->DLC = (uint8_t) SupplierTool_To_PTG_DLC; + cframe->IDE = (uint8_t) SupplierTool_To_PTG_IDE; + return SupplierTool_To_PTG_CANID; +} + +#else + +uint32_t Pack_SupplierTool_To_PTG_candb(SupplierTool_To_PTG_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(SupplierTool_To_PTG_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->SupplierTool_To_PTG_Sig & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->SupplierTool_To_PTG_Sig >> 8U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->SupplierTool_To_PTG_Sig >> 16U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->SupplierTool_To_PTG_Sig >> 24U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->SupplierTool_To_PTG_Sig >> 32U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->SupplierTool_To_PTG_Sig >> 40U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->SupplierTool_To_PTG_Sig >> 48U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( ((_m->SupplierTool_To_PTG_Sig >> 56U) & (0xFFU)) ); + + *_len = (uint8_t) SupplierTool_To_PTG_DLC; + *_ide = (uint8_t) SupplierTool_To_PTG_IDE; + return SupplierTool_To_PTG_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_CCPF_candb(Diag_From_CCPF_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_From_CCPF = (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_CCPF_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_From_CCPF_candb(&_m->mon1, Diag_From_CCPF_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_From_CCPF_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_From_CCPF_candb(Diag_From_CCPF_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_CCPF_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_From_CCPF >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_From_CCPF >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_From_CCPF >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_From_CCPF >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_From_CCPF >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_From_CCPF >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_From_CCPF >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_From_CCPF & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_From_CCPF_CANID; + cframe->DLC = (uint8_t) Diag_From_CCPF_DLC; + cframe->IDE = (uint8_t) Diag_From_CCPF_IDE; + return Diag_From_CCPF_CANID; +} + +#else + +uint32_t Pack_Diag_From_CCPF_candb(Diag_From_CCPF_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_CCPF_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_From_CCPF >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_From_CCPF >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_From_CCPF >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_From_CCPF >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_From_CCPF >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_From_CCPF >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_From_CCPF >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_From_CCPF & (0xFFU)) ); + + *_len = (uint8_t) Diag_From_CCPF_DLC; + *_ide = (uint8_t) Diag_From_CCPF_IDE; + return Diag_From_CCPF_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_CCPF_candb(Diag_To_CCPF_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_To_CCPF = (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_CCPF_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_To_CCPF_candb(&_m->mon1, Diag_To_CCPF_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_To_CCPF_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_To_CCPF_candb(Diag_To_CCPF_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_CCPF_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_To_CCPF >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_To_CCPF >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_To_CCPF >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_To_CCPF >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_To_CCPF >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_To_CCPF >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_To_CCPF >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_To_CCPF & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_To_CCPF_CANID; + cframe->DLC = (uint8_t) Diag_To_CCPF_DLC; + cframe->IDE = (uint8_t) Diag_To_CCPF_IDE; + return Diag_To_CCPF_CANID; +} + +#else + +uint32_t Pack_Diag_To_CCPF_candb(Diag_To_CCPF_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_CCPF_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_To_CCPF >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_To_CCPF >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_To_CCPF >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_To_CCPF >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_To_CCPF >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_To_CCPF >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_To_CCPF >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_To_CCPF & (0xFFU)) ); + + *_len = (uint8_t) Diag_To_CCPF_DLC; + *_ide = (uint8_t) Diag_To_CCPF_IDE; + return Diag_To_CCPF_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_CCPR_candb(Diag_From_CCPR_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_From_CCPR = (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_CCPR_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_From_CCPR_candb(&_m->mon1, Diag_From_CCPR_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_From_CCPR_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_From_CCPR_candb(Diag_From_CCPR_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_CCPR_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_From_CCPR >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_From_CCPR >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_From_CCPR >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_From_CCPR >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_From_CCPR >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_From_CCPR >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_From_CCPR >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_From_CCPR & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_From_CCPR_CANID; + cframe->DLC = (uint8_t) Diag_From_CCPR_DLC; + cframe->IDE = (uint8_t) Diag_From_CCPR_IDE; + return Diag_From_CCPR_CANID; +} + +#else + +uint32_t Pack_Diag_From_CCPR_candb(Diag_From_CCPR_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_CCPR_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_From_CCPR >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_From_CCPR >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_From_CCPR >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_From_CCPR >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_From_CCPR >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_From_CCPR >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_From_CCPR >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_From_CCPR & (0xFFU)) ); + + *_len = (uint8_t) Diag_From_CCPR_DLC; + *_ide = (uint8_t) Diag_From_CCPR_IDE; + return Diag_From_CCPR_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_CCPR_candb(Diag_To_CCPR_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_To_CCPR = (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_CCPR_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_To_CCPR_candb(&_m->mon1, Diag_To_CCPR_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_To_CCPR_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_To_CCPR_candb(Diag_To_CCPR_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_CCPR_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_To_CCPR >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_To_CCPR >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_To_CCPR >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_To_CCPR >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_To_CCPR >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_To_CCPR >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_To_CCPR >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_To_CCPR & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_To_CCPR_CANID; + cframe->DLC = (uint8_t) Diag_To_CCPR_DLC; + cframe->IDE = (uint8_t) Diag_To_CCPR_IDE; + return Diag_To_CCPR_CANID; +} + +#else + +uint32_t Pack_Diag_To_CCPR_candb(Diag_To_CCPR_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_CCPR_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_To_CCPR >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_To_CCPR >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_To_CCPR >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_To_CCPR >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_To_CCPR >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_To_CCPR >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_To_CCPR >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_To_CCPR & (0xFFU)) ); + + *_len = (uint8_t) Diag_To_CCPR_DLC; + *_ide = (uint8_t) Diag_To_CCPR_IDE; + return Diag_To_CCPR_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_SSL_candb(Diag_To_SSL_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_To_SSL = (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_SSL_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_To_SSL_candb(&_m->mon1, Diag_To_SSL_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_To_SSL_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_To_SSL_candb(Diag_To_SSL_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_SSL_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_To_SSL >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_To_SSL >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_To_SSL >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_To_SSL >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_To_SSL >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_To_SSL >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_To_SSL >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_To_SSL & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_To_SSL_CANID; + cframe->DLC = (uint8_t) Diag_To_SSL_DLC; + cframe->IDE = (uint8_t) Diag_To_SSL_IDE; + return Diag_To_SSL_CANID; +} + +#else + +uint32_t Pack_Diag_To_SSL_candb(Diag_To_SSL_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_SSL_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_To_SSL >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_To_SSL >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_To_SSL >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_To_SSL >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_To_SSL >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_To_SSL >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_To_SSL >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_To_SSL & (0xFFU)) ); + + *_len = (uint8_t) Diag_To_SSL_DLC; + *_ide = (uint8_t) Diag_To_SSL_IDE; + return Diag_To_SSL_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_SSR_candb(Diag_To_SSR_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_To_SSR = (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_SSR_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_To_SSR_candb(&_m->mon1, Diag_To_SSR_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_To_SSR_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_To_SSR_candb(Diag_To_SSR_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_SSR_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_To_SSR >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_To_SSR >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_To_SSR >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_To_SSR >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_To_SSR >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_To_SSR >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_To_SSR >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_To_SSR & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_To_SSR_CANID; + cframe->DLC = (uint8_t) Diag_To_SSR_DLC; + cframe->IDE = (uint8_t) Diag_To_SSR_IDE; + return Diag_To_SSR_CANID; +} + +#else + +uint32_t Pack_Diag_To_SSR_candb(Diag_To_SSR_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_SSR_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_To_SSR >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_To_SSR >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_To_SSR >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_To_SSR >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_To_SSR >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_To_SSR >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_To_SSR >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_To_SSR & (0xFFU)) ); + + *_len = (uint8_t) Diag_To_SSR_DLC; + *_ide = (uint8_t) Diag_To_SSR_IDE; + return Diag_To_SSR_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_SSL_candb(Diag_From_SSL_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_From_SSL = (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_SSL_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_From_SSL_candb(&_m->mon1, Diag_From_SSL_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_From_SSL_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_From_SSL_candb(Diag_From_SSL_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_SSL_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_From_SSL >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_From_SSL >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_From_SSL >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_From_SSL >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_From_SSL >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_From_SSL >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_From_SSL >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_From_SSL & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_From_SSL_CANID; + cframe->DLC = (uint8_t) Diag_From_SSL_DLC; + cframe->IDE = (uint8_t) Diag_From_SSL_IDE; + return Diag_From_SSL_CANID; +} + +#else + +uint32_t Pack_Diag_From_SSL_candb(Diag_From_SSL_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_SSL_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_From_SSL >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_From_SSL >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_From_SSL >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_From_SSL >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_From_SSL >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_From_SSL >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_From_SSL >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_From_SSL & (0xFFU)) ); + + *_len = (uint8_t) Diag_From_SSL_DLC; + *_ide = (uint8_t) Diag_From_SSL_IDE; + return Diag_From_SSL_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_FCSilCU_candb(Diag_To_FCSilCU_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_To_FCSilCU = (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_FCSilCU_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_To_FCSilCU_candb(&_m->mon1, Diag_To_FCSilCU_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_To_FCSilCU_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_To_FCSilCU_candb(Diag_To_FCSilCU_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_FCSilCU_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_To_FCSilCU >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_To_FCSilCU >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_To_FCSilCU >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_To_FCSilCU >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_To_FCSilCU >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_To_FCSilCU >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_To_FCSilCU >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_To_FCSilCU & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_To_FCSilCU_CANID; + cframe->DLC = (uint8_t) Diag_To_FCSilCU_DLC; + cframe->IDE = (uint8_t) Diag_To_FCSilCU_IDE; + return Diag_To_FCSilCU_CANID; +} + +#else + +uint32_t Pack_Diag_To_FCSilCU_candb(Diag_To_FCSilCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_FCSilCU_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_To_FCSilCU >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_To_FCSilCU >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_To_FCSilCU >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_To_FCSilCU >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_To_FCSilCU >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_To_FCSilCU >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_To_FCSilCU >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_To_FCSilCU & (0xFFU)) ); + + *_len = (uint8_t) Diag_To_FCSilCU_DLC; + *_ide = (uint8_t) Diag_To_FCSilCU_IDE; + return Diag_To_FCSilCU_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_SSR_candb(Diag_From_SSR_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_From_SSR = (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_SSR_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_From_SSR_candb(&_m->mon1, Diag_From_SSR_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_From_SSR_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_From_SSR_candb(Diag_From_SSR_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_SSR_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_From_SSR >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_From_SSR >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_From_SSR >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_From_SSR >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_From_SSR >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_From_SSR >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_From_SSR >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_From_SSR & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_From_SSR_CANID; + cframe->DLC = (uint8_t) Diag_From_SSR_DLC; + cframe->IDE = (uint8_t) Diag_From_SSR_IDE; + return Diag_From_SSR_CANID; +} + +#else + +uint32_t Pack_Diag_From_SSR_candb(Diag_From_SSR_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_SSR_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_From_SSR >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_From_SSR >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_From_SSR >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_From_SSR >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_From_SSR >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_From_SSR >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_From_SSR >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_From_SSR & (0xFFU)) ); + + *_len = (uint8_t) Diag_From_SSR_DLC; + *_ide = (uint8_t) Diag_From_SSR_IDE; + return Diag_From_SSR_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_FLDSilCU_candb(Diag_To_FLDSilCU_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_To_FLDSilCU = (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_FLDSilCU_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_To_FLDSilCU_candb(&_m->mon1, Diag_To_FLDSilCU_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_To_FLDSilCU_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_To_FLDSilCU_candb(Diag_To_FLDSilCU_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_FLDSilCU_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_To_FLDSilCU >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_To_FLDSilCU >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_To_FLDSilCU >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_To_FLDSilCU >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_To_FLDSilCU >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_To_FLDSilCU >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_To_FLDSilCU >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_To_FLDSilCU & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_To_FLDSilCU_CANID; + cframe->DLC = (uint8_t) Diag_To_FLDSilCU_DLC; + cframe->IDE = (uint8_t) Diag_To_FLDSilCU_IDE; + return Diag_To_FLDSilCU_CANID; +} + +#else + +uint32_t Pack_Diag_To_FLDSilCU_candb(Diag_To_FLDSilCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_FLDSilCU_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_To_FLDSilCU >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_To_FLDSilCU >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_To_FLDSilCU >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_To_FLDSilCU >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_To_FLDSilCU >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_To_FLDSilCU >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_To_FLDSilCU >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_To_FLDSilCU & (0xFFU)) ); + + *_len = (uint8_t) Diag_To_FLDSilCU_DLC; + *_ide = (uint8_t) Diag_To_FLDSilCU_IDE; + return Diag_To_FLDSilCU_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_FRDSilCU_candb(Diag_To_FRDSilCU_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_To_FRDSilCU = (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_FRDSilCU_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_To_FRDSilCU_candb(&_m->mon1, Diag_To_FRDSilCU_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_To_FRDSilCU_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_To_FRDSilCU_candb(Diag_To_FRDSilCU_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_FRDSilCU_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_To_FRDSilCU >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_To_FRDSilCU >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_To_FRDSilCU >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_To_FRDSilCU >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_To_FRDSilCU >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_To_FRDSilCU >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_To_FRDSilCU >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_To_FRDSilCU & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_To_FRDSilCU_CANID; + cframe->DLC = (uint8_t) Diag_To_FRDSilCU_DLC; + cframe->IDE = (uint8_t) Diag_To_FRDSilCU_IDE; + return Diag_To_FRDSilCU_CANID; +} + +#else + +uint32_t Pack_Diag_To_FRDSilCU_candb(Diag_To_FRDSilCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_FRDSilCU_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_To_FRDSilCU >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_To_FRDSilCU >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_To_FRDSilCU >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_To_FRDSilCU >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_To_FRDSilCU >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_To_FRDSilCU >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_To_FRDSilCU >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_To_FRDSilCU & (0xFFU)) ); + + *_len = (uint8_t) Diag_To_FRDSilCU_DLC; + *_ide = (uint8_t) Diag_To_FRDSilCU_IDE; + return Diag_To_FRDSilCU_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_ICLSilCU_candb(Diag_To_ICLSilCU_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_To_ICLSilCU = (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_ICLSilCU_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_To_ICLSilCU_candb(&_m->mon1, Diag_To_ICLSilCU_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_To_ICLSilCU_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_To_ICLSilCU_candb(Diag_To_ICLSilCU_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_ICLSilCU_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_To_ICLSilCU >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_To_ICLSilCU >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_To_ICLSilCU >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_To_ICLSilCU >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_To_ICLSilCU >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_To_ICLSilCU >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_To_ICLSilCU >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_To_ICLSilCU & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_To_ICLSilCU_CANID; + cframe->DLC = (uint8_t) Diag_To_ICLSilCU_DLC; + cframe->IDE = (uint8_t) Diag_To_ICLSilCU_IDE; + return Diag_To_ICLSilCU_CANID; +} + +#else + +uint32_t Pack_Diag_To_ICLSilCU_candb(Diag_To_ICLSilCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_ICLSilCU_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_To_ICLSilCU >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_To_ICLSilCU >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_To_ICLSilCU >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_To_ICLSilCU >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_To_ICLSilCU >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_To_ICLSilCU >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_To_ICLSilCU >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_To_ICLSilCU & (0xFFU)) ); + + *_len = (uint8_t) Diag_To_ICLSilCU_DLC; + *_ide = (uint8_t) Diag_To_ICLSilCU_IDE; + return Diag_To_ICLSilCU_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_FCSilCU_candb(Diag_From_FCSilCU_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_From_FCSilCU = (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_FCSilCU_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_From_FCSilCU_candb(&_m->mon1, Diag_From_FCSilCU_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_From_FCSilCU_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_From_FCSilCU_candb(Diag_From_FCSilCU_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_FCSilCU_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_From_FCSilCU >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_From_FCSilCU >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_From_FCSilCU >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_From_FCSilCU >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_From_FCSilCU >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_From_FCSilCU >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_From_FCSilCU >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_From_FCSilCU & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_From_FCSilCU_CANID; + cframe->DLC = (uint8_t) Diag_From_FCSilCU_DLC; + cframe->IDE = (uint8_t) Diag_From_FCSilCU_IDE; + return Diag_From_FCSilCU_CANID; +} + +#else + +uint32_t Pack_Diag_From_FCSilCU_candb(Diag_From_FCSilCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_FCSilCU_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_From_FCSilCU >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_From_FCSilCU >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_From_FCSilCU >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_From_FCSilCU >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_From_FCSilCU >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_From_FCSilCU >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_From_FCSilCU >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_From_FCSilCU & (0xFFU)) ); + + *_len = (uint8_t) Diag_From_FCSilCU_DLC; + *_ide = (uint8_t) Diag_From_FCSilCU_IDE; + return Diag_From_FCSilCU_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_FLDSilCU_candb(Diag_From_FLDSilCU_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_From_FLDSilCU = (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_FLDSilCU_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_From_FLDSilCU_candb(&_m->mon1, Diag_From_FLDSilCU_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_From_FLDSilCU_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_From_FLDSilCU_candb(Diag_From_FLDSilCU_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_FLDSilCU_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_From_FLDSilCU >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_From_FLDSilCU >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_From_FLDSilCU >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_From_FLDSilCU >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_From_FLDSilCU >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_From_FLDSilCU >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_From_FLDSilCU >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_From_FLDSilCU & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_From_FLDSilCU_CANID; + cframe->DLC = (uint8_t) Diag_From_FLDSilCU_DLC; + cframe->IDE = (uint8_t) Diag_From_FLDSilCU_IDE; + return Diag_From_FLDSilCU_CANID; +} + +#else + +uint32_t Pack_Diag_From_FLDSilCU_candb(Diag_From_FLDSilCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_FLDSilCU_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_From_FLDSilCU >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_From_FLDSilCU >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_From_FLDSilCU >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_From_FLDSilCU >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_From_FLDSilCU >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_From_FLDSilCU >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_From_FLDSilCU >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_From_FLDSilCU & (0xFFU)) ); + + *_len = (uint8_t) Diag_From_FLDSilCU_DLC; + *_ide = (uint8_t) Diag_From_FLDSilCU_IDE; + return Diag_From_FLDSilCU_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_FRDSilCU_candb(Diag_From_FRDSilCU_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_From_FRDSilCU = (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_FRDSilCU_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_From_FRDSilCU_candb(&_m->mon1, Diag_From_FRDSilCU_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_From_FRDSilCU_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_From_FRDSilCU_candb(Diag_From_FRDSilCU_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_FRDSilCU_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_From_FRDSilCU >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_From_FRDSilCU >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_From_FRDSilCU >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_From_FRDSilCU >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_From_FRDSilCU >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_From_FRDSilCU >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_From_FRDSilCU >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_From_FRDSilCU & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_From_FRDSilCU_CANID; + cframe->DLC = (uint8_t) Diag_From_FRDSilCU_DLC; + cframe->IDE = (uint8_t) Diag_From_FRDSilCU_IDE; + return Diag_From_FRDSilCU_CANID; +} + +#else + +uint32_t Pack_Diag_From_FRDSilCU_candb(Diag_From_FRDSilCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_FRDSilCU_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_From_FRDSilCU >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_From_FRDSilCU >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_From_FRDSilCU >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_From_FRDSilCU >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_From_FRDSilCU >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_From_FRDSilCU >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_From_FRDSilCU >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_From_FRDSilCU & (0xFFU)) ); + + *_len = (uint8_t) Diag_From_FRDSilCU_DLC; + *_ide = (uint8_t) Diag_From_FRDSilCU_IDE; + return Diag_From_FRDSilCU_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_ICLSilCU_candb(Diag_From_ICLSilCU_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_From_ICLSilCU = (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_ICLSilCU_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_From_ICLSilCU_candb(&_m->mon1, Diag_From_ICLSilCU_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_From_ICLSilCU_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_From_ICLSilCU_candb(Diag_From_ICLSilCU_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_ICLSilCU_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_From_ICLSilCU >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_From_ICLSilCU >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_From_ICLSilCU >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_From_ICLSilCU >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_From_ICLSilCU >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_From_ICLSilCU >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_From_ICLSilCU >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_From_ICLSilCU & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_From_ICLSilCU_CANID; + cframe->DLC = (uint8_t) Diag_From_ICLSilCU_DLC; + cframe->IDE = (uint8_t) Diag_From_ICLSilCU_IDE; + return Diag_From_ICLSilCU_CANID; +} + +#else + +uint32_t Pack_Diag_From_ICLSilCU_candb(Diag_From_ICLSilCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_ICLSilCU_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_From_ICLSilCU >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_From_ICLSilCU >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_From_ICLSilCU >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_From_ICLSilCU >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_From_ICLSilCU >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_From_ICLSilCU >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_From_ICLSilCU >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_From_ICLSilCU & (0xFFU)) ); + + *_len = (uint8_t) Diag_From_ICLSilCU_DLC; + *_ide = (uint8_t) Diag_From_ICLSilCU_IDE; + return Diag_From_ICLSilCU_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_APU_candb(Diag_To_APU_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_To_APU = (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_APU_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_To_APU_candb(&_m->mon1, Diag_To_APU_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_To_APU_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_To_APU_candb(Diag_To_APU_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_APU_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_To_APU >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_To_APU >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_To_APU >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_To_APU >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_To_APU >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_To_APU >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_To_APU >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_To_APU & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_To_APU_CANID; + cframe->DLC = (uint8_t) Diag_To_APU_DLC; + cframe->IDE = (uint8_t) Diag_To_APU_IDE; + return Diag_To_APU_CANID; +} + +#else + +uint32_t Pack_Diag_To_APU_candb(Diag_To_APU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_APU_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_To_APU >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_To_APU >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_To_APU >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_To_APU >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_To_APU >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_To_APU >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_To_APU >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_To_APU & (0xFFU)) ); + + *_len = (uint8_t) Diag_To_APU_DLC; + *_ide = (uint8_t) Diag_To_APU_IDE; + return Diag_To_APU_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_FTCU_candb(Diag_To_FTCU_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_To_FTCU_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_FTCU_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_To_FTCU_candb(&_m->mon1, Diag_To_FTCU_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_To_FTCU_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_To_FTCU_candb(Diag_To_FTCU_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_FTCU_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_To_FTCU_Sig >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_To_FTCU_Sig >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_To_FTCU_Sig >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_To_FTCU_Sig >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_To_FTCU_Sig >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_To_FTCU_Sig >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_To_FTCU_Sig >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_To_FTCU_Sig & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_To_FTCU_CANID; + cframe->DLC = (uint8_t) Diag_To_FTCU_DLC; + cframe->IDE = (uint8_t) Diag_To_FTCU_IDE; + return Diag_To_FTCU_CANID; +} + +#else + +uint32_t Pack_Diag_To_FTCU_candb(Diag_To_FTCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_FTCU_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_To_FTCU_Sig >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_To_FTCU_Sig >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_To_FTCU_Sig >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_To_FTCU_Sig >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_To_FTCU_Sig >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_To_FTCU_Sig >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_To_FTCU_Sig >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_To_FTCU_Sig & (0xFFU)) ); + + *_len = (uint8_t) Diag_To_FTCU_DLC; + *_ide = (uint8_t) Diag_To_FTCU_IDE; + return Diag_To_FTCU_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_FTCU_candb(Diag_From_FTCU_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_From_FTCU = (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_FTCU_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_From_FTCU_candb(&_m->mon1, Diag_From_FTCU_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_From_FTCU_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_From_FTCU_candb(Diag_From_FTCU_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_FTCU_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_From_FTCU >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_From_FTCU >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_From_FTCU >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_From_FTCU >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_From_FTCU >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_From_FTCU >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_From_FTCU >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_From_FTCU & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_From_FTCU_CANID; + cframe->DLC = (uint8_t) Diag_From_FTCU_DLC; + cframe->IDE = (uint8_t) Diag_From_FTCU_IDE; + return Diag_From_FTCU_CANID; +} + +#else + +uint32_t Pack_Diag_From_FTCU_candb(Diag_From_FTCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_FTCU_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_From_FTCU >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_From_FTCU >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_From_FTCU >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_From_FTCU >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_From_FTCU >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_From_FTCU >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_From_FTCU >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_From_FTCU & (0xFFU)) ); + + *_len = (uint8_t) Diag_From_FTCU_DLC; + *_ide = (uint8_t) Diag_From_FTCU_IDE; + return Diag_From_FTCU_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_Sroof_candb(Diag_To_Sroof_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_To_Sroof = (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_Sroof_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_To_Sroof_candb(&_m->mon1, Diag_To_Sroof_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_To_Sroof_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_To_Sroof_candb(Diag_To_Sroof_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_Sroof_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_To_Sroof >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_To_Sroof >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_To_Sroof >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_To_Sroof >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_To_Sroof >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_To_Sroof >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_To_Sroof >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_To_Sroof & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_To_Sroof_CANID; + cframe->DLC = (uint8_t) Diag_To_Sroof_DLC; + cframe->IDE = (uint8_t) Diag_To_Sroof_IDE; + return Diag_To_Sroof_CANID; +} + +#else + +uint32_t Pack_Diag_To_Sroof_candb(Diag_To_Sroof_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_Sroof_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_To_Sroof >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_To_Sroof >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_To_Sroof >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_To_Sroof >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_To_Sroof >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_To_Sroof >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_To_Sroof >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_To_Sroof & (0xFFU)) ); + + *_len = (uint8_t) Diag_To_Sroof_DLC; + *_ide = (uint8_t) Diag_To_Sroof_IDE; + return Diag_To_Sroof_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_SRoof_candb(Diag_From_SRoof_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_From_SRoof = (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_SRoof_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_From_SRoof_candb(&_m->mon1, Diag_From_SRoof_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_From_SRoof_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_From_SRoof_candb(Diag_From_SRoof_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_SRoof_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_From_SRoof >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_From_SRoof >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_From_SRoof >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_From_SRoof >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_From_SRoof >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_From_SRoof >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_From_SRoof >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_From_SRoof & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_From_SRoof_CANID; + cframe->DLC = (uint8_t) Diag_From_SRoof_DLC; + cframe->IDE = (uint8_t) Diag_From_SRoof_IDE; + return Diag_From_SRoof_CANID; +} + +#else + +uint32_t Pack_Diag_From_SRoof_candb(Diag_From_SRoof_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_SRoof_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_From_SRoof >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_From_SRoof >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_From_SRoof >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_From_SRoof >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_From_SRoof >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_From_SRoof >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_From_SRoof >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_From_SRoof & (0xFFU)) ); + + *_len = (uint8_t) Diag_From_SRoof_DLC; + *_ide = (uint8_t) Diag_From_SRoof_IDE; + return Diag_From_SRoof_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_ICRSilCU_candb(Diag_To_ICRSilCU_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_To_ICRSilCU = (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_ICRSilCU_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_To_ICRSilCU_candb(&_m->mon1, Diag_To_ICRSilCU_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_To_ICRSilCU_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_To_ICRSilCU_candb(Diag_To_ICRSilCU_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_ICRSilCU_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_To_ICRSilCU >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_To_ICRSilCU >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_To_ICRSilCU >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_To_ICRSilCU >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_To_ICRSilCU >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_To_ICRSilCU >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_To_ICRSilCU >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_To_ICRSilCU & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_To_ICRSilCU_CANID; + cframe->DLC = (uint8_t) Diag_To_ICRSilCU_DLC; + cframe->IDE = (uint8_t) Diag_To_ICRSilCU_IDE; + return Diag_To_ICRSilCU_CANID; +} + +#else + +uint32_t Pack_Diag_To_ICRSilCU_candb(Diag_To_ICRSilCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_ICRSilCU_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_To_ICRSilCU >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_To_ICRSilCU >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_To_ICRSilCU >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_To_ICRSilCU >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_To_ICRSilCU >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_To_ICRSilCU >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_To_ICRSilCU >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_To_ICRSilCU & (0xFFU)) ); + + *_len = (uint8_t) Diag_To_ICRSilCU_DLC; + *_ide = (uint8_t) Diag_To_ICRSilCU_IDE; + return Diag_To_ICRSilCU_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_LB_pSilCU_candb(Diag_To_LB_pSilCU_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_To_LB_pSilCU = (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_LB_pSilCU_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_To_LB_pSilCU_candb(&_m->mon1, Diag_To_LB_pSilCU_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_To_LB_pSilCU_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_To_LB_pSilCU_candb(Diag_To_LB_pSilCU_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_LB_pSilCU_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_To_LB_pSilCU >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_To_LB_pSilCU >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_To_LB_pSilCU >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_To_LB_pSilCU >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_To_LB_pSilCU >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_To_LB_pSilCU >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_To_LB_pSilCU >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_To_LB_pSilCU & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_To_LB_pSilCU_CANID; + cframe->DLC = (uint8_t) Diag_To_LB_pSilCU_DLC; + cframe->IDE = (uint8_t) Diag_To_LB_pSilCU_IDE; + return Diag_To_LB_pSilCU_CANID; +} + +#else + +uint32_t Pack_Diag_To_LB_pSilCU_candb(Diag_To_LB_pSilCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_LB_pSilCU_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_To_LB_pSilCU >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_To_LB_pSilCU >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_To_LB_pSilCU >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_To_LB_pSilCU >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_To_LB_pSilCU >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_To_LB_pSilCU >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_To_LB_pSilCU >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_To_LB_pSilCU & (0xFFU)) ); + + *_len = (uint8_t) Diag_To_LB_pSilCU_DLC; + *_ide = (uint8_t) Diag_To_LB_pSilCU_IDE; + return Diag_To_LB_pSilCU_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_PLSilCU_candb(Diag_To_PLSilCU_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_To_PLSilCU = (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_PLSilCU_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_To_PLSilCU_candb(&_m->mon1, Diag_To_PLSilCU_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_To_PLSilCU_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_To_PLSilCU_candb(Diag_To_PLSilCU_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_PLSilCU_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_To_PLSilCU >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_To_PLSilCU >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_To_PLSilCU >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_To_PLSilCU >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_To_PLSilCU >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_To_PLSilCU >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_To_PLSilCU >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_To_PLSilCU & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_To_PLSilCU_CANID; + cframe->DLC = (uint8_t) Diag_To_PLSilCU_DLC; + cframe->IDE = (uint8_t) Diag_To_PLSilCU_IDE; + return Diag_To_PLSilCU_CANID; +} + +#else + +uint32_t Pack_Diag_To_PLSilCU_candb(Diag_To_PLSilCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_PLSilCU_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_To_PLSilCU >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_To_PLSilCU >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_To_PLSilCU >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_To_PLSilCU >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_To_PLSilCU >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_To_PLSilCU >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_To_PLSilCU >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_To_PLSilCU & (0xFFU)) ); + + *_len = (uint8_t) Diag_To_PLSilCU_DLC; + *_ide = (uint8_t) Diag_To_PLSilCU_IDE; + return Diag_To_PLSilCU_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_PRSilCU_candb(Diag_To_PRSilCU_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_To_PRSilCU = (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_PRSilCU_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_To_PRSilCU_candb(&_m->mon1, Diag_To_PRSilCU_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_To_PRSilCU_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_To_PRSilCU_candb(Diag_To_PRSilCU_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_PRSilCU_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_To_PRSilCU >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_To_PRSilCU >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_To_PRSilCU >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_To_PRSilCU >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_To_PRSilCU >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_To_PRSilCU >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_To_PRSilCU >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_To_PRSilCU & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_To_PRSilCU_CANID; + cframe->DLC = (uint8_t) Diag_To_PRSilCU_DLC; + cframe->IDE = (uint8_t) Diag_To_PRSilCU_IDE; + return Diag_To_PRSilCU_CANID; +} + +#else + +uint32_t Pack_Diag_To_PRSilCU_candb(Diag_To_PRSilCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_PRSilCU_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_To_PRSilCU >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_To_PRSilCU >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_To_PRSilCU >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_To_PRSilCU >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_To_PRSilCU >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_To_PRSilCU >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_To_PRSilCU >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_To_PRSilCU & (0xFFU)) ); + + *_len = (uint8_t) Diag_To_PRSilCU_DLC; + *_ide = (uint8_t) Diag_To_PRSilCU_IDE; + return Diag_To_PRSilCU_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_RB_pSilCU_candb(Diag_To_RB_pSilCU_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_To_RB_pSilCU = (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_RB_pSilCU_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_To_RB_pSilCU_candb(&_m->mon1, Diag_To_RB_pSilCU_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_To_RB_pSilCU_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_To_RB_pSilCU_candb(Diag_To_RB_pSilCU_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_RB_pSilCU_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_To_RB_pSilCU >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_To_RB_pSilCU >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_To_RB_pSilCU >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_To_RB_pSilCU >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_To_RB_pSilCU >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_To_RB_pSilCU >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_To_RB_pSilCU >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_To_RB_pSilCU & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_To_RB_pSilCU_CANID; + cframe->DLC = (uint8_t) Diag_To_RB_pSilCU_DLC; + cframe->IDE = (uint8_t) Diag_To_RB_pSilCU_IDE; + return Diag_To_RB_pSilCU_CANID; +} + +#else + +uint32_t Pack_Diag_To_RB_pSilCU_candb(Diag_To_RB_pSilCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_RB_pSilCU_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_To_RB_pSilCU >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_To_RB_pSilCU >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_To_RB_pSilCU >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_To_RB_pSilCU >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_To_RB_pSilCU >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_To_RB_pSilCU >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_To_RB_pSilCU >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_To_RB_pSilCU & (0xFFU)) ); + + *_len = (uint8_t) Diag_To_RB_pSilCU_DLC; + *_ide = (uint8_t) Diag_To_RB_pSilCU_IDE; + return Diag_To_RB_pSilCU_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_ICRSilCU_candb(Diag_From_ICRSilCU_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_From_ICRSilCU = (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_ICRSilCU_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_From_ICRSilCU_candb(&_m->mon1, Diag_From_ICRSilCU_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_From_ICRSilCU_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_From_ICRSilCU_candb(Diag_From_ICRSilCU_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_ICRSilCU_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_From_ICRSilCU >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_From_ICRSilCU >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_From_ICRSilCU >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_From_ICRSilCU >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_From_ICRSilCU >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_From_ICRSilCU >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_From_ICRSilCU >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_From_ICRSilCU & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_From_ICRSilCU_CANID; + cframe->DLC = (uint8_t) Diag_From_ICRSilCU_DLC; + cframe->IDE = (uint8_t) Diag_From_ICRSilCU_IDE; + return Diag_From_ICRSilCU_CANID; +} + +#else + +uint32_t Pack_Diag_From_ICRSilCU_candb(Diag_From_ICRSilCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_ICRSilCU_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_From_ICRSilCU >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_From_ICRSilCU >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_From_ICRSilCU >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_From_ICRSilCU >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_From_ICRSilCU >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_From_ICRSilCU >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_From_ICRSilCU >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_From_ICRSilCU & (0xFFU)) ); + + *_len = (uint8_t) Diag_From_ICRSilCU_DLC; + *_ide = (uint8_t) Diag_From_ICRSilCU_IDE; + return Diag_From_ICRSilCU_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_LB_pSilCU_candb(Diag_From_LB_pSilCU_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_From_LB_pSilCU = (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_LB_pSilCU_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_From_LB_pSilCU_candb(&_m->mon1, Diag_From_LB_pSilCU_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_From_LB_pSilCU_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_From_LB_pSilCU_candb(Diag_From_LB_pSilCU_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_LB_pSilCU_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_From_LB_pSilCU >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_From_LB_pSilCU >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_From_LB_pSilCU >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_From_LB_pSilCU >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_From_LB_pSilCU >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_From_LB_pSilCU >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_From_LB_pSilCU >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_From_LB_pSilCU & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_From_LB_pSilCU_CANID; + cframe->DLC = (uint8_t) Diag_From_LB_pSilCU_DLC; + cframe->IDE = (uint8_t) Diag_From_LB_pSilCU_IDE; + return Diag_From_LB_pSilCU_CANID; +} + +#else + +uint32_t Pack_Diag_From_LB_pSilCU_candb(Diag_From_LB_pSilCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_LB_pSilCU_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_From_LB_pSilCU >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_From_LB_pSilCU >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_From_LB_pSilCU >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_From_LB_pSilCU >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_From_LB_pSilCU >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_From_LB_pSilCU >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_From_LB_pSilCU >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_From_LB_pSilCU & (0xFFU)) ); + + *_len = (uint8_t) Diag_From_LB_pSilCU_DLC; + *_ide = (uint8_t) Diag_From_LB_pSilCU_IDE; + return Diag_From_LB_pSilCU_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_PLSilCU_candb(Diag_From_PLSilCU_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_From_PLSilCU = (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_PLSilCU_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_From_PLSilCU_candb(&_m->mon1, Diag_From_PLSilCU_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_From_PLSilCU_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_From_PLSilCU_candb(Diag_From_PLSilCU_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_PLSilCU_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_From_PLSilCU >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_From_PLSilCU >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_From_PLSilCU >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_From_PLSilCU >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_From_PLSilCU >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_From_PLSilCU >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_From_PLSilCU >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_From_PLSilCU & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_From_PLSilCU_CANID; + cframe->DLC = (uint8_t) Diag_From_PLSilCU_DLC; + cframe->IDE = (uint8_t) Diag_From_PLSilCU_IDE; + return Diag_From_PLSilCU_CANID; +} + +#else + +uint32_t Pack_Diag_From_PLSilCU_candb(Diag_From_PLSilCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_PLSilCU_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_From_PLSilCU >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_From_PLSilCU >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_From_PLSilCU >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_From_PLSilCU >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_From_PLSilCU >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_From_PLSilCU >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_From_PLSilCU >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_From_PLSilCU & (0xFFU)) ); + + *_len = (uint8_t) Diag_From_PLSilCU_DLC; + *_ide = (uint8_t) Diag_From_PLSilCU_IDE; + return Diag_From_PLSilCU_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_PRSilCU_candb(Diag_From_PRSilCU_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_From_PRSilCU = (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_PRSilCU_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_From_PRSilCU_candb(&_m->mon1, Diag_From_PRSilCU_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_From_PRSilCU_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_From_PRSilCU_candb(Diag_From_PRSilCU_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_PRSilCU_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_From_PRSilCU >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_From_PRSilCU >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_From_PRSilCU >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_From_PRSilCU >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_From_PRSilCU >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_From_PRSilCU >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_From_PRSilCU >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_From_PRSilCU & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_From_PRSilCU_CANID; + cframe->DLC = (uint8_t) Diag_From_PRSilCU_DLC; + cframe->IDE = (uint8_t) Diag_From_PRSilCU_IDE; + return Diag_From_PRSilCU_CANID; +} + +#else + +uint32_t Pack_Diag_From_PRSilCU_candb(Diag_From_PRSilCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_PRSilCU_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_From_PRSilCU >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_From_PRSilCU >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_From_PRSilCU >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_From_PRSilCU >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_From_PRSilCU >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_From_PRSilCU >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_From_PRSilCU >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_From_PRSilCU & (0xFFU)) ); + + *_len = (uint8_t) Diag_From_PRSilCU_DLC; + *_ide = (uint8_t) Diag_From_PRSilCU_IDE; + return Diag_From_PRSilCU_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_RB_pSilCU_candb(Diag_From_RB_pSilCU_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_From_RB_pSilCU = (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_RB_pSilCU_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_From_RB_pSilCU_candb(&_m->mon1, Diag_From_RB_pSilCU_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_From_RB_pSilCU_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_From_RB_pSilCU_candb(Diag_From_RB_pSilCU_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_RB_pSilCU_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_From_RB_pSilCU >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_From_RB_pSilCU >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_From_RB_pSilCU >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_From_RB_pSilCU >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_From_RB_pSilCU >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_From_RB_pSilCU >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_From_RB_pSilCU >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_From_RB_pSilCU & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_From_RB_pSilCU_CANID; + cframe->DLC = (uint8_t) Diag_From_RB_pSilCU_DLC; + cframe->IDE = (uint8_t) Diag_From_RB_pSilCU_IDE; + return Diag_From_RB_pSilCU_CANID; +} + +#else + +uint32_t Pack_Diag_From_RB_pSilCU_candb(Diag_From_RB_pSilCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_RB_pSilCU_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_From_RB_pSilCU >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_From_RB_pSilCU >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_From_RB_pSilCU >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_From_RB_pSilCU >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_From_RB_pSilCU >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_From_RB_pSilCU >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_From_RB_pSilCU >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_From_RB_pSilCU & (0xFFU)) ); + + *_len = (uint8_t) Diag_From_RB_pSilCU_DLC; + *_ide = (uint8_t) Diag_From_RB_pSilCU_IDE; + return Diag_From_RB_pSilCU_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_VAU_candb(Diag_To_VAU_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_To_VAU_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_VAU_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_To_VAU_candb(&_m->mon1, Diag_To_VAU_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_To_VAU_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_To_VAU_candb(Diag_To_VAU_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_VAU_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_To_VAU_Sig >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_To_VAU_Sig >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_To_VAU_Sig >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_To_VAU_Sig >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_To_VAU_Sig >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_To_VAU_Sig >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_To_VAU_Sig >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_To_VAU_Sig & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_To_VAU_CANID; + cframe->DLC = (uint8_t) Diag_To_VAU_DLC; + cframe->IDE = (uint8_t) Diag_To_VAU_IDE; + return Diag_To_VAU_CANID; +} + +#else + +uint32_t Pack_Diag_To_VAU_candb(Diag_To_VAU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_VAU_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_To_VAU_Sig >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_To_VAU_Sig >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_To_VAU_Sig >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_To_VAU_Sig >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_To_VAU_Sig >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_To_VAU_Sig >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_To_VAU_Sig >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_To_VAU_Sig & (0xFFU)) ); + + *_len = (uint8_t) Diag_To_VAU_DLC; + *_ide = (uint8_t) Diag_To_VAU_IDE; + return Diag_To_VAU_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_BCM_candb(Diag_To_BCM_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_To_BCM_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_BCM_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_To_BCM_candb(&_m->mon1, Diag_To_BCM_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_To_BCM_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_To_BCM_candb(Diag_To_BCM_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_BCM_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_To_BCM_Sig >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_To_BCM_Sig >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_To_BCM_Sig >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_To_BCM_Sig >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_To_BCM_Sig >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_To_BCM_Sig >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_To_BCM_Sig >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_To_BCM_Sig & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_To_BCM_CANID; + cframe->DLC = (uint8_t) Diag_To_BCM_DLC; + cframe->IDE = (uint8_t) Diag_To_BCM_IDE; + return Diag_To_BCM_CANID; +} + +#else + +uint32_t Pack_Diag_To_BCM_candb(Diag_To_BCM_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_BCM_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_To_BCM_Sig >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_To_BCM_Sig >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_To_BCM_Sig >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_To_BCM_Sig >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_To_BCM_Sig >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_To_BCM_Sig >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_To_BCM_Sig >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_To_BCM_Sig & (0xFFU)) ); + + *_len = (uint8_t) Diag_To_BCM_DLC; + *_ide = (uint8_t) Diag_To_BCM_IDE; + return Diag_To_BCM_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_DMFL_candb(Diag_To_DMFL_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_To_DMFL_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_DMFL_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_To_DMFL_candb(&_m->mon1, Diag_To_DMFL_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_To_DMFL_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_To_DMFL_candb(Diag_To_DMFL_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_DMFL_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_To_DMFL_Sig >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_To_DMFL_Sig >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_To_DMFL_Sig >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_To_DMFL_Sig >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_To_DMFL_Sig >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_To_DMFL_Sig >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_To_DMFL_Sig >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_To_DMFL_Sig & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_To_DMFL_CANID; + cframe->DLC = (uint8_t) Diag_To_DMFL_DLC; + cframe->IDE = (uint8_t) Diag_To_DMFL_IDE; + return Diag_To_DMFL_CANID; +} + +#else + +uint32_t Pack_Diag_To_DMFL_candb(Diag_To_DMFL_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_DMFL_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_To_DMFL_Sig >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_To_DMFL_Sig >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_To_DMFL_Sig >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_To_DMFL_Sig >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_To_DMFL_Sig >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_To_DMFL_Sig >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_To_DMFL_Sig >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_To_DMFL_Sig & (0xFFU)) ); + + *_len = (uint8_t) Diag_To_DMFL_DLC; + *_ide = (uint8_t) Diag_To_DMFL_IDE; + return Diag_To_DMFL_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_DMFR_candb(Diag_To_DMFR_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_To_DMFR_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_DMFR_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_To_DMFR_candb(&_m->mon1, Diag_To_DMFR_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_To_DMFR_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_To_DMFR_candb(Diag_To_DMFR_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_DMFR_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_To_DMFR_Sig >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_To_DMFR_Sig >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_To_DMFR_Sig >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_To_DMFR_Sig >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_To_DMFR_Sig >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_To_DMFR_Sig >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_To_DMFR_Sig >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_To_DMFR_Sig & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_To_DMFR_CANID; + cframe->DLC = (uint8_t) Diag_To_DMFR_DLC; + cframe->IDE = (uint8_t) Diag_To_DMFR_IDE; + return Diag_To_DMFR_CANID; +} + +#else + +uint32_t Pack_Diag_To_DMFR_candb(Diag_To_DMFR_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_DMFR_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_To_DMFR_Sig >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_To_DMFR_Sig >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_To_DMFR_Sig >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_To_DMFR_Sig >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_To_DMFR_Sig >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_To_DMFR_Sig >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_To_DMFR_Sig >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_To_DMFR_Sig & (0xFFU)) ); + + *_len = (uint8_t) Diag_To_DMFR_DLC; + *_ide = (uint8_t) Diag_To_DMFR_IDE; + return Diag_To_DMFR_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_DMRL_candb(Diag_To_DMRL_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_To_DMRL_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_DMRL_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_To_DMRL_candb(&_m->mon1, Diag_To_DMRL_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_To_DMRL_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_To_DMRL_candb(Diag_To_DMRL_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_DMRL_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_To_DMRL_Sig >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_To_DMRL_Sig >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_To_DMRL_Sig >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_To_DMRL_Sig >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_To_DMRL_Sig >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_To_DMRL_Sig >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_To_DMRL_Sig >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_To_DMRL_Sig & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_To_DMRL_CANID; + cframe->DLC = (uint8_t) Diag_To_DMRL_DLC; + cframe->IDE = (uint8_t) Diag_To_DMRL_IDE; + return Diag_To_DMRL_CANID; +} + +#else + +uint32_t Pack_Diag_To_DMRL_candb(Diag_To_DMRL_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_DMRL_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_To_DMRL_Sig >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_To_DMRL_Sig >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_To_DMRL_Sig >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_To_DMRL_Sig >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_To_DMRL_Sig >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_To_DMRL_Sig >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_To_DMRL_Sig >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_To_DMRL_Sig & (0xFFU)) ); + + *_len = (uint8_t) Diag_To_DMRL_DLC; + *_ide = (uint8_t) Diag_To_DMRL_IDE; + return Diag_To_DMRL_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_DMRR_candb(Diag_To_DMRR_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_To_DMRR_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_DMRR_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_To_DMRR_candb(&_m->mon1, Diag_To_DMRR_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_To_DMRR_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_To_DMRR_candb(Diag_To_DMRR_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_DMRR_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_To_DMRR_Sig >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_To_DMRR_Sig >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_To_DMRR_Sig >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_To_DMRR_Sig >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_To_DMRR_Sig >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_To_DMRR_Sig >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_To_DMRR_Sig >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_To_DMRR_Sig & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_To_DMRR_CANID; + cframe->DLC = (uint8_t) Diag_To_DMRR_DLC; + cframe->IDE = (uint8_t) Diag_To_DMRR_IDE; + return Diag_To_DMRR_CANID; +} + +#else + +uint32_t Pack_Diag_To_DMRR_candb(Diag_To_DMRR_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_DMRR_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_To_DMRR_Sig >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_To_DMRR_Sig >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_To_DMRR_Sig >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_To_DMRR_Sig >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_To_DMRR_Sig >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_To_DMRR_Sig >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_To_DMRR_Sig >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_To_DMRR_Sig & (0xFFU)) ); + + *_len = (uint8_t) Diag_To_DMRR_DLC; + *_ide = (uint8_t) Diag_To_DMRR_IDE; + return Diag_To_DMRR_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_SMRR_candb(Diag_To_SMRR_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_To_SMRR_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_SMRR_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_To_SMRR_candb(&_m->mon1, Diag_To_SMRR_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_To_SMRR_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_To_SMRR_candb(Diag_To_SMRR_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_SMRR_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_To_SMRR_Sig >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_To_SMRR_Sig >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_To_SMRR_Sig >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_To_SMRR_Sig >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_To_SMRR_Sig >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_To_SMRR_Sig >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_To_SMRR_Sig >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_To_SMRR_Sig & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_To_SMRR_CANID; + cframe->DLC = (uint8_t) Diag_To_SMRR_DLC; + cframe->IDE = (uint8_t) Diag_To_SMRR_IDE; + return Diag_To_SMRR_CANID; +} + +#else + +uint32_t Pack_Diag_To_SMRR_candb(Diag_To_SMRR_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_SMRR_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_To_SMRR_Sig >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_To_SMRR_Sig >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_To_SMRR_Sig >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_To_SMRR_Sig >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_To_SMRR_Sig >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_To_SMRR_Sig >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_To_SMRR_Sig >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_To_SMRR_Sig & (0xFFU)) ); + + *_len = (uint8_t) Diag_To_SMRR_DLC; + *_ide = (uint8_t) Diag_To_SMRR_IDE; + return Diag_To_SMRR_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_TM_candb(Diag_To_TM_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_To_TMDTM_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_TM_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_To_TM_candb(&_m->mon1, Diag_To_TM_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_To_TM_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_To_TM_candb(Diag_To_TM_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_TM_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_To_TMDTM_Sig >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_To_TMDTM_Sig >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_To_TMDTM_Sig >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_To_TMDTM_Sig >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_To_TMDTM_Sig >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_To_TMDTM_Sig >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_To_TMDTM_Sig >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_To_TMDTM_Sig & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_To_TM_CANID; + cframe->DLC = (uint8_t) Diag_To_TM_DLC; + cframe->IDE = (uint8_t) Diag_To_TM_IDE; + return Diag_To_TM_CANID; +} + +#else + +uint32_t Pack_Diag_To_TM_candb(Diag_To_TM_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_TM_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_To_TMDTM_Sig >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_To_TMDTM_Sig >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_To_TMDTM_Sig >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_To_TMDTM_Sig >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_To_TMDTM_Sig >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_To_TMDTM_Sig >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_To_TMDTM_Sig >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_To_TMDTM_Sig & (0xFFU)) ); + + *_len = (uint8_t) Diag_To_TM_DLC; + *_ide = (uint8_t) Diag_To_TM_IDE; + return Diag_To_TM_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_; @@ -2728,6 +15731,655 @@ uint32_t Pack_Diag_To_CCU_candb(Diag_To_CCU_t* _m, uint8_t* _d, uint8_t* _len, u #endif // CANDB_USE_CANSTRUCT +uint32_t Unpack_Diag_To_SMFL_candb(Diag_To_SMFL_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_To_SMFL_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_SMFL_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_To_SMFL_candb(&_m->mon1, Diag_To_SMFL_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_To_SMFL_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_To_SMFL_candb(Diag_To_SMFL_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_SMFL_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_To_SMFL_Sig >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_To_SMFL_Sig >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_To_SMFL_Sig >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_To_SMFL_Sig >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_To_SMFL_Sig >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_To_SMFL_Sig >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_To_SMFL_Sig >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_To_SMFL_Sig & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_To_SMFL_CANID; + cframe->DLC = (uint8_t) Diag_To_SMFL_DLC; + cframe->IDE = (uint8_t) Diag_To_SMFL_IDE; + return Diag_To_SMFL_CANID; +} + +#else + +uint32_t Pack_Diag_To_SMFL_candb(Diag_To_SMFL_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_SMFL_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_To_SMFL_Sig >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_To_SMFL_Sig >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_To_SMFL_Sig >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_To_SMFL_Sig >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_To_SMFL_Sig >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_To_SMFL_Sig >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_To_SMFL_Sig >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_To_SMFL_Sig & (0xFFU)) ); + + *_len = (uint8_t) Diag_To_SMFL_DLC; + *_ide = (uint8_t) Diag_To_SMFL_IDE; + return Diag_To_SMFL_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_SMFR_candb(Diag_To_SMFR_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_To_SMFR_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_SMFR_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_To_SMFR_candb(&_m->mon1, Diag_To_SMFR_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_To_SMFR_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_To_SMFR_candb(Diag_To_SMFR_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_SMFR_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_To_SMFR_Sig >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_To_SMFR_Sig >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_To_SMFR_Sig >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_To_SMFR_Sig >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_To_SMFR_Sig >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_To_SMFR_Sig >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_To_SMFR_Sig >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_To_SMFR_Sig & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_To_SMFR_CANID; + cframe->DLC = (uint8_t) Diag_To_SMFR_DLC; + cframe->IDE = (uint8_t) Diag_To_SMFR_IDE; + return Diag_To_SMFR_CANID; +} + +#else + +uint32_t Pack_Diag_To_SMFR_candb(Diag_To_SMFR_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_SMFR_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_To_SMFR_Sig >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_To_SMFR_Sig >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_To_SMFR_Sig >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_To_SMFR_Sig >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_To_SMFR_Sig >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_To_SMFR_Sig >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_To_SMFR_Sig >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_To_SMFR_Sig & (0xFFU)) ); + + *_len = (uint8_t) Diag_To_SMFR_DLC; + *_ide = (uint8_t) Diag_To_SMFR_IDE; + return Diag_To_SMFR_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_SMRL_candb(Diag_To_SMRL_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_To_SMRL_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_SMRL_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_To_SMRL_candb(&_m->mon1, Diag_To_SMRL_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_To_SMRL_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_To_SMRL_candb(Diag_To_SMRL_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_SMRL_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_To_SMRL_Sig >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_To_SMRL_Sig >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_To_SMRL_Sig >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_To_SMRL_Sig >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_To_SMRL_Sig >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_To_SMRL_Sig >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_To_SMRL_Sig >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_To_SMRL_Sig & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_To_SMRL_CANID; + cframe->DLC = (uint8_t) Diag_To_SMRL_DLC; + cframe->IDE = (uint8_t) Diag_To_SMRL_IDE; + return Diag_To_SMRL_CANID; +} + +#else + +uint32_t Pack_Diag_To_SMRL_candb(Diag_To_SMRL_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_SMRL_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_To_SMRL_Sig >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_To_SMRL_Sig >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_To_SMRL_Sig >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_To_SMRL_Sig >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_To_SMRL_Sig >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_To_SMRL_Sig >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_To_SMRL_Sig >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_To_SMRL_Sig & (0xFFU)) ); + + *_len = (uint8_t) Diag_To_SMRL_DLC; + *_ide = (uint8_t) Diag_To_SMRL_IDE; + return Diag_To_SMRL_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_VAU_candb(Diag_From_VAU_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_From_VAU_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_VAU_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_From_VAU_candb(&_m->mon1, Diag_From_VAU_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_From_VAU_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_From_VAU_candb(Diag_From_VAU_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_VAU_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_From_VAU_Sig >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_From_VAU_Sig >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_From_VAU_Sig >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_From_VAU_Sig >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_From_VAU_Sig >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_From_VAU_Sig >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_From_VAU_Sig >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_From_VAU_Sig & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_From_VAU_CANID; + cframe->DLC = (uint8_t) Diag_From_VAU_DLC; + cframe->IDE = (uint8_t) Diag_From_VAU_IDE; + return Diag_From_VAU_CANID; +} + +#else + +uint32_t Pack_Diag_From_VAU_candb(Diag_From_VAU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_VAU_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_From_VAU_Sig >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_From_VAU_Sig >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_From_VAU_Sig >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_From_VAU_Sig >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_From_VAU_Sig >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_From_VAU_Sig >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_From_VAU_Sig >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_From_VAU_Sig & (0xFFU)) ); + + *_len = (uint8_t) Diag_From_VAU_DLC; + *_ide = (uint8_t) Diag_From_VAU_IDE; + return Diag_From_VAU_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_BCM_candb(Diag_From_BCM_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_From_BCM_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_BCM_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_From_BCM_candb(&_m->mon1, Diag_From_BCM_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_From_BCM_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_From_BCM_candb(Diag_From_BCM_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_BCM_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_From_BCM_Sig >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_From_BCM_Sig >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_From_BCM_Sig >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_From_BCM_Sig >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_From_BCM_Sig >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_From_BCM_Sig >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_From_BCM_Sig >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_From_BCM_Sig & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_From_BCM_CANID; + cframe->DLC = (uint8_t) Diag_From_BCM_DLC; + cframe->IDE = (uint8_t) Diag_From_BCM_IDE; + return Diag_From_BCM_CANID; +} + +#else + +uint32_t Pack_Diag_From_BCM_candb(Diag_From_BCM_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_BCM_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_From_BCM_Sig >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_From_BCM_Sig >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_From_BCM_Sig >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_From_BCM_Sig >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_From_BCM_Sig >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_From_BCM_Sig >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_From_BCM_Sig >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_From_BCM_Sig & (0xFFU)) ); + + *_len = (uint8_t) Diag_From_BCM_DLC; + *_ide = (uint8_t) Diag_From_BCM_IDE; + return Diag_From_BCM_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_DMFL_candb(Diag_From_DMFL_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_From_DMFL_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_DMFL_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_From_DMFL_candb(&_m->mon1, Diag_From_DMFL_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_From_DMFL_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_From_DMFL_candb(Diag_From_DMFL_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_DMFL_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_From_DMFL_Sig >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_From_DMFL_Sig >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_From_DMFL_Sig >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_From_DMFL_Sig >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_From_DMFL_Sig >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_From_DMFL_Sig >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_From_DMFL_Sig >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_From_DMFL_Sig & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_From_DMFL_CANID; + cframe->DLC = (uint8_t) Diag_From_DMFL_DLC; + cframe->IDE = (uint8_t) Diag_From_DMFL_IDE; + return Diag_From_DMFL_CANID; +} + +#else + +uint32_t Pack_Diag_From_DMFL_candb(Diag_From_DMFL_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_DMFL_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_From_DMFL_Sig >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_From_DMFL_Sig >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_From_DMFL_Sig >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_From_DMFL_Sig >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_From_DMFL_Sig >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_From_DMFL_Sig >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_From_DMFL_Sig >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_From_DMFL_Sig & (0xFFU)) ); + + *_len = (uint8_t) Diag_From_DMFL_DLC; + *_ide = (uint8_t) Diag_From_DMFL_IDE; + return Diag_From_DMFL_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_DMFR_candb(Diag_From_DMFR_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_From_DMFR_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_DMFR_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_From_DMFR_candb(&_m->mon1, Diag_From_DMFR_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_From_DMFR_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_From_DMFR_candb(Diag_From_DMFR_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_DMFR_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_From_DMFR_Sig >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_From_DMFR_Sig >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_From_DMFR_Sig >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_From_DMFR_Sig >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_From_DMFR_Sig >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_From_DMFR_Sig >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_From_DMFR_Sig >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_From_DMFR_Sig & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_From_DMFR_CANID; + cframe->DLC = (uint8_t) Diag_From_DMFR_DLC; + cframe->IDE = (uint8_t) Diag_From_DMFR_IDE; + return Diag_From_DMFR_CANID; +} + +#else + +uint32_t Pack_Diag_From_DMFR_candb(Diag_From_DMFR_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_DMFR_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_From_DMFR_Sig >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_From_DMFR_Sig >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_From_DMFR_Sig >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_From_DMFR_Sig >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_From_DMFR_Sig >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_From_DMFR_Sig >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_From_DMFR_Sig >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_From_DMFR_Sig & (0xFFU)) ); + + *_len = (uint8_t) Diag_From_DMFR_DLC; + *_ide = (uint8_t) Diag_From_DMFR_IDE; + return Diag_From_DMFR_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_DMRL_candb(Diag_From_DMRL_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_From_DMRL_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_DMRL_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_From_DMRL_candb(&_m->mon1, Diag_From_DMRL_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_From_DMRL_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_From_DMRL_candb(Diag_From_DMRL_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_DMRL_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_From_DMRL_Sig >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_From_DMRL_Sig >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_From_DMRL_Sig >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_From_DMRL_Sig >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_From_DMRL_Sig >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_From_DMRL_Sig >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_From_DMRL_Sig >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_From_DMRL_Sig & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_From_DMRL_CANID; + cframe->DLC = (uint8_t) Diag_From_DMRL_DLC; + cframe->IDE = (uint8_t) Diag_From_DMRL_IDE; + return Diag_From_DMRL_CANID; +} + +#else + +uint32_t Pack_Diag_From_DMRL_candb(Diag_From_DMRL_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_DMRL_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_From_DMRL_Sig >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_From_DMRL_Sig >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_From_DMRL_Sig >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_From_DMRL_Sig >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_From_DMRL_Sig >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_From_DMRL_Sig >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_From_DMRL_Sig >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_From_DMRL_Sig & (0xFFU)) ); + + *_len = (uint8_t) Diag_From_DMRL_DLC; + *_ide = (uint8_t) Diag_From_DMRL_IDE; + return Diag_From_DMRL_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_DMRR_candb(Diag_From_DMRR_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_From_DMRR_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_DMRR_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_From_DMRR_candb(&_m->mon1, Diag_From_DMRR_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_From_DMRR_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_From_DMRR_candb(Diag_From_DMRR_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_DMRR_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_From_DMRR_Sig >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_From_DMRR_Sig >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_From_DMRR_Sig >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_From_DMRR_Sig >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_From_DMRR_Sig >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_From_DMRR_Sig >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_From_DMRR_Sig >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_From_DMRR_Sig & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_From_DMRR_CANID; + cframe->DLC = (uint8_t) Diag_From_DMRR_DLC; + cframe->IDE = (uint8_t) Diag_From_DMRR_IDE; + return Diag_From_DMRR_CANID; +} + +#else + +uint32_t Pack_Diag_From_DMRR_candb(Diag_From_DMRR_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_DMRR_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_From_DMRR_Sig >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_From_DMRR_Sig >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_From_DMRR_Sig >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_From_DMRR_Sig >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_From_DMRR_Sig >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_From_DMRR_Sig >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_From_DMRR_Sig >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_From_DMRR_Sig & (0xFFU)) ); + + *_len = (uint8_t) Diag_From_DMRR_DLC; + *_ide = (uint8_t) Diag_From_DMRR_IDE; + return Diag_From_DMRR_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_SMRR_candb(Diag_From_SMRR_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_From_SMRR_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_SMRR_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_From_SMRR_candb(&_m->mon1, Diag_From_SMRR_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_From_SMRR_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_From_SMRR_candb(Diag_From_SMRR_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_SMRR_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_From_SMRR_Sig >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_From_SMRR_Sig >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_From_SMRR_Sig >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_From_SMRR_Sig >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_From_SMRR_Sig >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_From_SMRR_Sig >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_From_SMRR_Sig >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_From_SMRR_Sig & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_From_SMRR_CANID; + cframe->DLC = (uint8_t) Diag_From_SMRR_DLC; + cframe->IDE = (uint8_t) Diag_From_SMRR_IDE; + return Diag_From_SMRR_CANID; +} + +#else + +uint32_t Pack_Diag_From_SMRR_candb(Diag_From_SMRR_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_SMRR_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_From_SMRR_Sig >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_From_SMRR_Sig >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_From_SMRR_Sig >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_From_SMRR_Sig >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_From_SMRR_Sig >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_From_SMRR_Sig >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_From_SMRR_Sig >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_From_SMRR_Sig & (0xFFU)) ); + + *_len = (uint8_t) Diag_From_SMRR_DLC; + *_ide = (uint8_t) Diag_From_SMRR_IDE; + return Diag_From_SMRR_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_TM_candb(Diag_From_TM_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_From_TM = (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_TM_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_From_TM_candb(&_m->mon1, Diag_From_TM_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_From_TM_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_From_TM_candb(Diag_From_TM_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_TM_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_From_TM >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_From_TM >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_From_TM >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_From_TM >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_From_TM >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_From_TM >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_From_TM >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_From_TM & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_From_TM_CANID; + cframe->DLC = (uint8_t) Diag_From_TM_DLC; + cframe->IDE = (uint8_t) Diag_From_TM_IDE; + return Diag_From_TM_CANID; +} + +#else + +uint32_t Pack_Diag_From_TM_candb(Diag_From_TM_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_TM_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_From_TM >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_From_TM >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_From_TM >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_From_TM >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_From_TM >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_From_TM >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_From_TM >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_From_TM & (0xFFU)) ); + + *_len = (uint8_t) Diag_From_TM_DLC; + *_ide = (uint8_t) Diag_From_TM_IDE; + return Diag_From_TM_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_; @@ -2787,6 +16439,1481 @@ uint32_t Pack_Diag_From_CCU_candb(Diag_From_CCU_t* _m, uint8_t* _d, uint8_t* _le #endif // CANDB_USE_CANSTRUCT +uint32_t Unpack_Diag_From_SMFL_candb(Diag_From_SMFL_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_From_SMFL_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_SMFL_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_From_SMFL_candb(&_m->mon1, Diag_From_SMFL_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_From_SMFL_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_From_SMFL_candb(Diag_From_SMFL_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_SMFL_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_From_SMFL_Sig >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_From_SMFL_Sig >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_From_SMFL_Sig >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_From_SMFL_Sig >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_From_SMFL_Sig >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_From_SMFL_Sig >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_From_SMFL_Sig >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_From_SMFL_Sig & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_From_SMFL_CANID; + cframe->DLC = (uint8_t) Diag_From_SMFL_DLC; + cframe->IDE = (uint8_t) Diag_From_SMFL_IDE; + return Diag_From_SMFL_CANID; +} + +#else + +uint32_t Pack_Diag_From_SMFL_candb(Diag_From_SMFL_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_SMFL_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_From_SMFL_Sig >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_From_SMFL_Sig >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_From_SMFL_Sig >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_From_SMFL_Sig >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_From_SMFL_Sig >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_From_SMFL_Sig >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_From_SMFL_Sig >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_From_SMFL_Sig & (0xFFU)) ); + + *_len = (uint8_t) Diag_From_SMFL_DLC; + *_ide = (uint8_t) Diag_From_SMFL_IDE; + return Diag_From_SMFL_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_SMFR_candb(Diag_From_SMFR_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_From_SMFR_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_SMFR_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_From_SMFR_candb(&_m->mon1, Diag_From_SMFR_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_From_SMFR_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_From_SMFR_candb(Diag_From_SMFR_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_SMFR_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_From_SMFR_Sig >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_From_SMFR_Sig >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_From_SMFR_Sig >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_From_SMFR_Sig >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_From_SMFR_Sig >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_From_SMFR_Sig >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_From_SMFR_Sig >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_From_SMFR_Sig & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_From_SMFR_CANID; + cframe->DLC = (uint8_t) Diag_From_SMFR_DLC; + cframe->IDE = (uint8_t) Diag_From_SMFR_IDE; + return Diag_From_SMFR_CANID; +} + +#else + +uint32_t Pack_Diag_From_SMFR_candb(Diag_From_SMFR_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_SMFR_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_From_SMFR_Sig >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_From_SMFR_Sig >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_From_SMFR_Sig >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_From_SMFR_Sig >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_From_SMFR_Sig >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_From_SMFR_Sig >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_From_SMFR_Sig >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_From_SMFR_Sig & (0xFFU)) ); + + *_len = (uint8_t) Diag_From_SMFR_DLC; + *_ide = (uint8_t) Diag_From_SMFR_IDE; + return Diag_From_SMFR_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_SMRL_candb(Diag_From_SMRL_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_From_SMRL_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_SMRL_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_From_SMRL_candb(&_m->mon1, Diag_From_SMRL_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_From_SMRL_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_From_SMRL_candb(Diag_From_SMRL_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_SMRL_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_From_SMRL_Sig >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_From_SMRL_Sig >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_From_SMRL_Sig >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_From_SMRL_Sig >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_From_SMRL_Sig >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_From_SMRL_Sig >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_From_SMRL_Sig >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_From_SMRL_Sig & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_From_SMRL_CANID; + cframe->DLC = (uint8_t) Diag_From_SMRL_DLC; + cframe->IDE = (uint8_t) Diag_From_SMRL_IDE; + return Diag_From_SMRL_CANID; +} + +#else + +uint32_t Pack_Diag_From_SMRL_candb(Diag_From_SMRL_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_SMRL_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_From_SMRL_Sig >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_From_SMRL_Sig >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_From_SMRL_Sig >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_From_SMRL_Sig >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_From_SMRL_Sig >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_From_SMRL_Sig >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_From_SMRL_Sig >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_From_SMRL_Sig & (0xFFU)) ); + + *_len = (uint8_t) Diag_From_SMRL_DLC; + *_ide = (uint8_t) Diag_From_SMRL_IDE; + return Diag_From_SMRL_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_RCLSilCU_candb(Diag_To_RCLSilCU_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_To_RCLSilCU = (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_RCLSilCU_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_To_RCLSilCU_candb(&_m->mon1, Diag_To_RCLSilCU_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_To_RCLSilCU_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_To_RCLSilCU_candb(Diag_To_RCLSilCU_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_RCLSilCU_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_To_RCLSilCU >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_To_RCLSilCU >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_To_RCLSilCU >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_To_RCLSilCU >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_To_RCLSilCU >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_To_RCLSilCU >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_To_RCLSilCU >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_To_RCLSilCU & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_To_RCLSilCU_CANID; + cframe->DLC = (uint8_t) Diag_To_RCLSilCU_DLC; + cframe->IDE = (uint8_t) Diag_To_RCLSilCU_IDE; + return Diag_To_RCLSilCU_CANID; +} + +#else + +uint32_t Pack_Diag_To_RCLSilCU_candb(Diag_To_RCLSilCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_RCLSilCU_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_To_RCLSilCU >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_To_RCLSilCU >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_To_RCLSilCU >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_To_RCLSilCU >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_To_RCLSilCU >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_To_RCLSilCU >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_To_RCLSilCU >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_To_RCLSilCU & (0xFFU)) ); + + *_len = (uint8_t) Diag_To_RCLSilCU_DLC; + *_ide = (uint8_t) Diag_To_RCLSilCU_IDE; + return Diag_To_RCLSilCU_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_RCRSilCU_candb(Diag_To_RCRSilCU_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_To_RCRSilCU = (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_RCRSilCU_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_To_RCRSilCU_candb(&_m->mon1, Diag_To_RCRSilCU_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_To_RCRSilCU_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_To_RCRSilCU_candb(Diag_To_RCRSilCU_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_RCRSilCU_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_To_RCRSilCU >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_To_RCRSilCU >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_To_RCRSilCU >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_To_RCRSilCU >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_To_RCRSilCU >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_To_RCRSilCU >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_To_RCRSilCU >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_To_RCRSilCU & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_To_RCRSilCU_CANID; + cframe->DLC = (uint8_t) Diag_To_RCRSilCU_DLC; + cframe->IDE = (uint8_t) Diag_To_RCRSilCU_IDE; + return Diag_To_RCRSilCU_CANID; +} + +#else + +uint32_t Pack_Diag_To_RCRSilCU_candb(Diag_To_RCRSilCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_RCRSilCU_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_To_RCRSilCU >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_To_RCRSilCU >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_To_RCRSilCU >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_To_RCRSilCU >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_To_RCRSilCU >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_To_RCRSilCU >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_To_RCRSilCU >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_To_RCRSilCU & (0xFFU)) ); + + *_len = (uint8_t) Diag_To_RCRSilCU_DLC; + *_ide = (uint8_t) Diag_To_RCRSilCU_IDE; + return Diag_To_RCRSilCU_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_RDLSilCU_candb(Diag_To_RDLSilCU_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_To_RDLSilCU = (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_RDLSilCU_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_To_RDLSilCU_candb(&_m->mon1, Diag_To_RDLSilCU_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_To_RDLSilCU_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_To_RDLSilCU_candb(Diag_To_RDLSilCU_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_RDLSilCU_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_To_RDLSilCU >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_To_RDLSilCU >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_To_RDLSilCU >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_To_RDLSilCU >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_To_RDLSilCU >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_To_RDLSilCU >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_To_RDLSilCU >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_To_RDLSilCU & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_To_RDLSilCU_CANID; + cframe->DLC = (uint8_t) Diag_To_RDLSilCU_DLC; + cframe->IDE = (uint8_t) Diag_To_RDLSilCU_IDE; + return Diag_To_RDLSilCU_CANID; +} + +#else + +uint32_t Pack_Diag_To_RDLSilCU_candb(Diag_To_RDLSilCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_RDLSilCU_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_To_RDLSilCU >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_To_RDLSilCU >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_To_RDLSilCU >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_To_RDLSilCU >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_To_RDLSilCU >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_To_RDLSilCU >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_To_RDLSilCU >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_To_RDLSilCU & (0xFFU)) ); + + *_len = (uint8_t) Diag_To_RDLSilCU_DLC; + *_ide = (uint8_t) Diag_To_RDLSilCU_IDE; + return Diag_To_RDLSilCU_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_RDRSilCU_candb(Diag_To_RDRSilCU_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_To_RDRSilCU = (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_RDRSilCU_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_To_RDRSilCU_candb(&_m->mon1, Diag_To_RDRSilCU_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_To_RDRSilCU_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_To_RDRSilCU_candb(Diag_To_RDRSilCU_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_RDRSilCU_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_To_RDRSilCU >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_To_RDRSilCU >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_To_RDRSilCU >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_To_RDRSilCU >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_To_RDRSilCU >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_To_RDRSilCU >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_To_RDRSilCU >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_To_RDRSilCU & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_To_RDRSilCU_CANID; + cframe->DLC = (uint8_t) Diag_To_RDRSilCU_DLC; + cframe->IDE = (uint8_t) Diag_To_RDRSilCU_IDE; + return Diag_To_RDRSilCU_CANID; +} + +#else + +uint32_t Pack_Diag_To_RDRSilCU_candb(Diag_To_RDRSilCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_RDRSilCU_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_To_RDRSilCU >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_To_RDRSilCU >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_To_RDRSilCU >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_To_RDRSilCU >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_To_RDRSilCU >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_To_RDRSilCU >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_To_RDRSilCU >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_To_RDRSilCU & (0xFFU)) ); + + *_len = (uint8_t) Diag_To_RDRSilCU_DLC; + *_ide = (uint8_t) Diag_To_RDRSilCU_IDE; + return Diag_To_RDRSilCU_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_OCUFL_candb(Diag_From_OCUFL_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_From_OCUFL = (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_OCUFL_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_From_OCUFL_candb(&_m->mon1, Diag_From_OCUFL_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_From_OCUFL_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_From_OCUFL_candb(Diag_From_OCUFL_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_OCUFL_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_From_OCUFL >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_From_OCUFL >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_From_OCUFL >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_From_OCUFL >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_From_OCUFL >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_From_OCUFL >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_From_OCUFL >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_From_OCUFL & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_From_OCUFL_CANID; + cframe->DLC = (uint8_t) Diag_From_OCUFL_DLC; + cframe->IDE = (uint8_t) Diag_From_OCUFL_IDE; + return Diag_From_OCUFL_CANID; +} + +#else + +uint32_t Pack_Diag_From_OCUFL_candb(Diag_From_OCUFL_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_OCUFL_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_From_OCUFL >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_From_OCUFL >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_From_OCUFL >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_From_OCUFL >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_From_OCUFL >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_From_OCUFL >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_From_OCUFL >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_From_OCUFL & (0xFFU)) ); + + *_len = (uint8_t) Diag_From_OCUFL_DLC; + *_ide = (uint8_t) Diag_From_OCUFL_IDE; + return Diag_From_OCUFL_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_RLDSilCU_candb(Diag_To_RLDSilCU_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_To_RLDSilCU = (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_RLDSilCU_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_To_RLDSilCU_candb(&_m->mon1, Diag_To_RLDSilCU_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_To_RLDSilCU_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_To_RLDSilCU_candb(Diag_To_RLDSilCU_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_RLDSilCU_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_To_RLDSilCU >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_To_RLDSilCU >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_To_RLDSilCU >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_To_RLDSilCU >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_To_RLDSilCU >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_To_RLDSilCU >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_To_RLDSilCU >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_To_RLDSilCU & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_To_RLDSilCU_CANID; + cframe->DLC = (uint8_t) Diag_To_RLDSilCU_DLC; + cframe->IDE = (uint8_t) Diag_To_RLDSilCU_IDE; + return Diag_To_RLDSilCU_CANID; +} + +#else + +uint32_t Pack_Diag_To_RLDSilCU_candb(Diag_To_RLDSilCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_RLDSilCU_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_To_RLDSilCU >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_To_RLDSilCU >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_To_RLDSilCU >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_To_RLDSilCU >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_To_RLDSilCU >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_To_RLDSilCU >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_To_RLDSilCU >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_To_RLDSilCU & (0xFFU)) ); + + *_len = (uint8_t) Diag_To_RLDSilCU_DLC; + *_ide = (uint8_t) Diag_To_RLDSilCU_IDE; + return Diag_To_RLDSilCU_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_RRDSilCU_candb(Diag_To_RRDSilCU_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_To_RRDSilCU = (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_RRDSilCU_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_To_RRDSilCU_candb(&_m->mon1, Diag_To_RRDSilCU_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_To_RRDSilCU_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_To_RRDSilCU_candb(Diag_To_RRDSilCU_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_RRDSilCU_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_To_RRDSilCU >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_To_RRDSilCU >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_To_RRDSilCU >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_To_RRDSilCU >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_To_RRDSilCU >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_To_RRDSilCU >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_To_RRDSilCU >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_To_RRDSilCU & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_To_RRDSilCU_CANID; + cframe->DLC = (uint8_t) Diag_To_RRDSilCU_DLC; + cframe->IDE = (uint8_t) Diag_To_RRDSilCU_IDE; + return Diag_To_RRDSilCU_CANID; +} + +#else + +uint32_t Pack_Diag_To_RRDSilCU_candb(Diag_To_RRDSilCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_RRDSilCU_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_To_RRDSilCU >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_To_RRDSilCU >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_To_RRDSilCU >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_To_RRDSilCU >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_To_RRDSilCU >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_To_RRDSilCU >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_To_RRDSilCU >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_To_RRDSilCU & (0xFFU)) ); + + *_len = (uint8_t) Diag_To_RRDSilCU_DLC; + *_ide = (uint8_t) Diag_To_RRDSilCU_IDE; + return Diag_To_RRDSilCU_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_PTG_candb(Diag_From_PTG_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_From_PTG = (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_PTG_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_From_PTG_candb(&_m->mon1, Diag_From_PTG_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_From_PTG_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_From_PTG_candb(Diag_From_PTG_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_PTG_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_From_PTG >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_From_PTG >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_From_PTG >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_From_PTG >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_From_PTG >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_From_PTG >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_From_PTG >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_From_PTG & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_From_PTG_CANID; + cframe->DLC = (uint8_t) Diag_From_PTG_DLC; + cframe->IDE = (uint8_t) Diag_From_PTG_IDE; + return Diag_From_PTG_CANID; +} + +#else + +uint32_t Pack_Diag_From_PTG_candb(Diag_From_PTG_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_PTG_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_From_PTG >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_From_PTG >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_From_PTG >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_From_PTG >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_From_PTG >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_From_PTG >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_From_PTG >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_From_PTG & (0xFFU)) ); + + *_len = (uint8_t) Diag_From_PTG_DLC; + *_ide = (uint8_t) Diag_From_PTG_IDE; + return Diag_From_PTG_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_OCUFR_candb(Diag_From_OCUFR_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_From_OCUFR = (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_OCUFR_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_From_OCUFR_candb(&_m->mon1, Diag_From_OCUFR_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_From_OCUFR_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_From_OCUFR_candb(Diag_From_OCUFR_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_OCUFR_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_From_OCUFR >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_From_OCUFR >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_From_OCUFR >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_From_OCUFR >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_From_OCUFR >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_From_OCUFR >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_From_OCUFR >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_From_OCUFR & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_From_OCUFR_CANID; + cframe->DLC = (uint8_t) Diag_From_OCUFR_DLC; + cframe->IDE = (uint8_t) Diag_From_OCUFR_IDE; + return Diag_From_OCUFR_CANID; +} + +#else + +uint32_t Pack_Diag_From_OCUFR_candb(Diag_From_OCUFR_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_OCUFR_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_From_OCUFR >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_From_OCUFR >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_From_OCUFR >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_From_OCUFR >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_From_OCUFR >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_From_OCUFR >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_From_OCUFR >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_From_OCUFR & (0xFFU)) ); + + *_len = (uint8_t) Diag_From_OCUFR_DLC; + *_ide = (uint8_t) Diag_From_OCUFR_IDE; + return Diag_From_OCUFR_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_OCURL_candb(Diag_From_OCURL_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_From_OCURL = (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_OCURL_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_From_OCURL_candb(&_m->mon1, Diag_From_OCURL_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_From_OCURL_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_From_OCURL_candb(Diag_From_OCURL_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_OCURL_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_From_OCURL >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_From_OCURL >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_From_OCURL >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_From_OCURL >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_From_OCURL >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_From_OCURL >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_From_OCURL >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_From_OCURL & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_From_OCURL_CANID; + cframe->DLC = (uint8_t) Diag_From_OCURL_DLC; + cframe->IDE = (uint8_t) Diag_From_OCURL_IDE; + return Diag_From_OCURL_CANID; +} + +#else + +uint32_t Pack_Diag_From_OCURL_candb(Diag_From_OCURL_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_OCURL_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_From_OCURL >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_From_OCURL >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_From_OCURL >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_From_OCURL >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_From_OCURL >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_From_OCURL >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_From_OCURL >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_From_OCURL & (0xFFU)) ); + + *_len = (uint8_t) Diag_From_OCURL_DLC; + *_ide = (uint8_t) Diag_From_OCURL_IDE; + return Diag_From_OCURL_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_OCURR_candb(Diag_From_OCURR_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_From_OCURR = (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_OCURR_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_From_OCURR_candb(&_m->mon1, Diag_From_OCURR_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_From_OCURR_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_From_OCURR_candb(Diag_From_OCURR_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_OCURR_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_From_OCURR >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_From_OCURR >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_From_OCURR >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_From_OCURR >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_From_OCURR >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_From_OCURR >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_From_OCURR >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_From_OCURR & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_From_OCURR_CANID; + cframe->DLC = (uint8_t) Diag_From_OCURR_DLC; + cframe->IDE = (uint8_t) Diag_From_OCURR_IDE; + return Diag_From_OCURR_CANID; +} + +#else + +uint32_t Pack_Diag_From_OCURR_candb(Diag_From_OCURR_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_OCURR_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_From_OCURR >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_From_OCURR >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_From_OCURR >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_From_OCURR >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_From_OCURR >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_From_OCURR >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_From_OCURR >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_From_OCURR & (0xFFU)) ); + + *_len = (uint8_t) Diag_From_OCURR_DLC; + *_ide = (uint8_t) Diag_From_OCURR_IDE; + return Diag_From_OCURR_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_RCLSilCU_candb(Diag_From_RCLSilCU_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_From_RCLSilCU = (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_RCLSilCU_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_From_RCLSilCU_candb(&_m->mon1, Diag_From_RCLSilCU_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_From_RCLSilCU_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_From_RCLSilCU_candb(Diag_From_RCLSilCU_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_RCLSilCU_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_From_RCLSilCU >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_From_RCLSilCU >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_From_RCLSilCU >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_From_RCLSilCU >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_From_RCLSilCU >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_From_RCLSilCU >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_From_RCLSilCU >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_From_RCLSilCU & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_From_RCLSilCU_CANID; + cframe->DLC = (uint8_t) Diag_From_RCLSilCU_DLC; + cframe->IDE = (uint8_t) Diag_From_RCLSilCU_IDE; + return Diag_From_RCLSilCU_CANID; +} + +#else + +uint32_t Pack_Diag_From_RCLSilCU_candb(Diag_From_RCLSilCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_RCLSilCU_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_From_RCLSilCU >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_From_RCLSilCU >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_From_RCLSilCU >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_From_RCLSilCU >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_From_RCLSilCU >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_From_RCLSilCU >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_From_RCLSilCU >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_From_RCLSilCU & (0xFFU)) ); + + *_len = (uint8_t) Diag_From_RCLSilCU_DLC; + *_ide = (uint8_t) Diag_From_RCLSilCU_IDE; + return Diag_From_RCLSilCU_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_RCRSilCU_candb(Diag_From_RCRSilCU_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_From_RCRSilCU = (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_RCRSilCU_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_From_RCRSilCU_candb(&_m->mon1, Diag_From_RCRSilCU_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_From_RCRSilCU_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_From_RCRSilCU_candb(Diag_From_RCRSilCU_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_RCRSilCU_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_From_RCRSilCU >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_From_RCRSilCU >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_From_RCRSilCU >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_From_RCRSilCU >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_From_RCRSilCU >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_From_RCRSilCU >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_From_RCRSilCU >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_From_RCRSilCU & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_From_RCRSilCU_CANID; + cframe->DLC = (uint8_t) Diag_From_RCRSilCU_DLC; + cframe->IDE = (uint8_t) Diag_From_RCRSilCU_IDE; + return Diag_From_RCRSilCU_CANID; +} + +#else + +uint32_t Pack_Diag_From_RCRSilCU_candb(Diag_From_RCRSilCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_RCRSilCU_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_From_RCRSilCU >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_From_RCRSilCU >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_From_RCRSilCU >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_From_RCRSilCU >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_From_RCRSilCU >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_From_RCRSilCU >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_From_RCRSilCU >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_From_RCRSilCU & (0xFFU)) ); + + *_len = (uint8_t) Diag_From_RCRSilCU_DLC; + *_ide = (uint8_t) Diag_From_RCRSilCU_IDE; + return Diag_From_RCRSilCU_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_RDLSilCU_candb(Diag_From_RDLSilCU_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_From_RDLSilCU = (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_RDLSilCU_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_From_RDLSilCU_candb(&_m->mon1, Diag_From_RDLSilCU_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_From_RDLSilCU_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_From_RDLSilCU_candb(Diag_From_RDLSilCU_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_RDLSilCU_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_From_RDLSilCU >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_From_RDLSilCU >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_From_RDLSilCU >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_From_RDLSilCU >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_From_RDLSilCU >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_From_RDLSilCU >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_From_RDLSilCU >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_From_RDLSilCU & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_From_RDLSilCU_CANID; + cframe->DLC = (uint8_t) Diag_From_RDLSilCU_DLC; + cframe->IDE = (uint8_t) Diag_From_RDLSilCU_IDE; + return Diag_From_RDLSilCU_CANID; +} + +#else + +uint32_t Pack_Diag_From_RDLSilCU_candb(Diag_From_RDLSilCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_RDLSilCU_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_From_RDLSilCU >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_From_RDLSilCU >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_From_RDLSilCU >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_From_RDLSilCU >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_From_RDLSilCU >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_From_RDLSilCU >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_From_RDLSilCU >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_From_RDLSilCU & (0xFFU)) ); + + *_len = (uint8_t) Diag_From_RDLSilCU_DLC; + *_ide = (uint8_t) Diag_From_RDLSilCU_IDE; + return Diag_From_RDLSilCU_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_RDRSilCU_candb(Diag_From_RDRSilCU_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_From_RDRSilCU = (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_RDRSilCU_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_From_RDRSilCU_candb(&_m->mon1, Diag_From_RDRSilCU_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_From_RDRSilCU_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_From_RDRSilCU_candb(Diag_From_RDRSilCU_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_RDRSilCU_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_From_RDRSilCU >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_From_RDRSilCU >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_From_RDRSilCU >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_From_RDRSilCU >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_From_RDRSilCU >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_From_RDRSilCU >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_From_RDRSilCU >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_From_RDRSilCU & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_From_RDRSilCU_CANID; + cframe->DLC = (uint8_t) Diag_From_RDRSilCU_DLC; + cframe->IDE = (uint8_t) Diag_From_RDRSilCU_IDE; + return Diag_From_RDRSilCU_CANID; +} + +#else + +uint32_t Pack_Diag_From_RDRSilCU_candb(Diag_From_RDRSilCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_RDRSilCU_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_From_RDRSilCU >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_From_RDRSilCU >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_From_RDRSilCU >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_From_RDRSilCU >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_From_RDRSilCU >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_From_RDRSilCU >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_From_RDRSilCU >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_From_RDRSilCU & (0xFFU)) ); + + *_len = (uint8_t) Diag_From_RDRSilCU_DLC; + *_ide = (uint8_t) Diag_From_RDRSilCU_IDE; + return Diag_From_RDRSilCU_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_OCUFL_candb(Diag_To_OCUFL_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_To_OCUFL = (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_OCUFL_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_To_OCUFL_candb(&_m->mon1, Diag_To_OCUFL_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_To_OCUFL_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_To_OCUFL_candb(Diag_To_OCUFL_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_OCUFL_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_To_OCUFL >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_To_OCUFL >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_To_OCUFL >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_To_OCUFL >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_To_OCUFL >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_To_OCUFL >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_To_OCUFL >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_To_OCUFL & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_To_OCUFL_CANID; + cframe->DLC = (uint8_t) Diag_To_OCUFL_DLC; + cframe->IDE = (uint8_t) Diag_To_OCUFL_IDE; + return Diag_To_OCUFL_CANID; +} + +#else + +uint32_t Pack_Diag_To_OCUFL_candb(Diag_To_OCUFL_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_OCUFL_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_To_OCUFL >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_To_OCUFL >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_To_OCUFL >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_To_OCUFL >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_To_OCUFL >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_To_OCUFL >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_To_OCUFL >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_To_OCUFL & (0xFFU)) ); + + *_len = (uint8_t) Diag_To_OCUFL_DLC; + *_ide = (uint8_t) Diag_To_OCUFL_IDE; + return Diag_To_OCUFL_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_RLDSilCU_candb(Diag_From_RLDSilCU_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_From_RLDSilCU = (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_RLDSilCU_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_From_RLDSilCU_candb(&_m->mon1, Diag_From_RLDSilCU_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_From_RLDSilCU_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_From_RLDSilCU_candb(Diag_From_RLDSilCU_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_RLDSilCU_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_From_RLDSilCU >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_From_RLDSilCU >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_From_RLDSilCU >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_From_RLDSilCU >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_From_RLDSilCU >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_From_RLDSilCU >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_From_RLDSilCU >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_From_RLDSilCU & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_From_RLDSilCU_CANID; + cframe->DLC = (uint8_t) Diag_From_RLDSilCU_DLC; + cframe->IDE = (uint8_t) Diag_From_RLDSilCU_IDE; + return Diag_From_RLDSilCU_CANID; +} + +#else + +uint32_t Pack_Diag_From_RLDSilCU_candb(Diag_From_RLDSilCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_RLDSilCU_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_From_RLDSilCU >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_From_RLDSilCU >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_From_RLDSilCU >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_From_RLDSilCU >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_From_RLDSilCU >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_From_RLDSilCU >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_From_RLDSilCU >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_From_RLDSilCU & (0xFFU)) ); + + *_len = (uint8_t) Diag_From_RLDSilCU_DLC; + *_ide = (uint8_t) Diag_From_RLDSilCU_IDE; + return Diag_From_RLDSilCU_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_RRDSilCU_candb(Diag_From_RRDSilCU_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_From_RRDSilCU = (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_RRDSilCU_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_From_RRDSilCU_candb(&_m->mon1, Diag_From_RRDSilCU_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_From_RRDSilCU_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_From_RRDSilCU_candb(Diag_From_RRDSilCU_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_RRDSilCU_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_From_RRDSilCU >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_From_RRDSilCU >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_From_RRDSilCU >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_From_RRDSilCU >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_From_RRDSilCU >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_From_RRDSilCU >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_From_RRDSilCU >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_From_RRDSilCU & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_From_RRDSilCU_CANID; + cframe->DLC = (uint8_t) Diag_From_RRDSilCU_DLC; + cframe->IDE = (uint8_t) Diag_From_RRDSilCU_IDE; + return Diag_From_RRDSilCU_CANID; +} + +#else + +uint32_t Pack_Diag_From_RRDSilCU_candb(Diag_From_RRDSilCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_RRDSilCU_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_From_RRDSilCU >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_From_RRDSilCU >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_From_RRDSilCU >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_From_RRDSilCU >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_From_RRDSilCU >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_From_RRDSilCU >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_From_RRDSilCU >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_From_RRDSilCU & (0xFFU)) ); + + *_len = (uint8_t) Diag_From_RRDSilCU_DLC; + *_ide = (uint8_t) Diag_From_RRDSilCU_IDE; + return Diag_From_RRDSilCU_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_PTG_candb(Diag_To_PTG_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_To_PTG = (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_PTG_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_To_PTG_candb(&_m->mon1, Diag_To_PTG_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_To_PTG_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_To_PTG_candb(Diag_To_PTG_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_PTG_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_To_PTG >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_To_PTG >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_To_PTG >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_To_PTG >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_To_PTG >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_To_PTG >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_To_PTG >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_To_PTG & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_To_PTG_CANID; + cframe->DLC = (uint8_t) Diag_To_PTG_DLC; + cframe->IDE = (uint8_t) Diag_To_PTG_IDE; + return Diag_To_PTG_CANID; +} + +#else + +uint32_t Pack_Diag_To_PTG_candb(Diag_To_PTG_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_PTG_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_To_PTG >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_To_PTG >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_To_PTG >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_To_PTG >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_To_PTG >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_To_PTG >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_To_PTG >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_To_PTG & (0xFFU)) ); + + *_len = (uint8_t) Diag_To_PTG_DLC; + *_ide = (uint8_t) Diag_To_PTG_IDE; + return Diag_To_PTG_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_OCUFR_candb(Diag_To_OCUFR_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_To_OCUFR = (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_OCUFR_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_To_OCUFR_candb(&_m->mon1, Diag_To_OCUFR_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_To_OCUFR_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_To_OCUFR_candb(Diag_To_OCUFR_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_OCUFR_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_To_OCUFR >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_To_OCUFR >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_To_OCUFR >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_To_OCUFR >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_To_OCUFR >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_To_OCUFR >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_To_OCUFR >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_To_OCUFR & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_To_OCUFR_CANID; + cframe->DLC = (uint8_t) Diag_To_OCUFR_DLC; + cframe->IDE = (uint8_t) Diag_To_OCUFR_IDE; + return Diag_To_OCUFR_CANID; +} + +#else + +uint32_t Pack_Diag_To_OCUFR_candb(Diag_To_OCUFR_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_OCUFR_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_To_OCUFR >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_To_OCUFR >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_To_OCUFR >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_To_OCUFR >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_To_OCUFR >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_To_OCUFR >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_To_OCUFR >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_To_OCUFR & (0xFFU)) ); + + *_len = (uint8_t) Diag_To_OCUFR_DLC; + *_ide = (uint8_t) Diag_To_OCUFR_IDE; + return Diag_To_OCUFR_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_OCURL_candb(Diag_To_OCURL_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_To_OCURL = (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_OCURL_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_To_OCURL_candb(&_m->mon1, Diag_To_OCURL_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_To_OCURL_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_To_OCURL_candb(Diag_To_OCURL_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_OCURL_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_To_OCURL >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_To_OCURL >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_To_OCURL >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_To_OCURL >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_To_OCURL >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_To_OCURL >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_To_OCURL >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_To_OCURL & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_To_OCURL_CANID; + cframe->DLC = (uint8_t) Diag_To_OCURL_DLC; + cframe->IDE = (uint8_t) Diag_To_OCURL_IDE; + return Diag_To_OCURL_CANID; +} + +#else + +uint32_t Pack_Diag_To_OCURL_candb(Diag_To_OCURL_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_OCURL_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_To_OCURL >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_To_OCURL >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_To_OCURL >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_To_OCURL >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_To_OCURL >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_To_OCURL >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_To_OCURL >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_To_OCURL & (0xFFU)) ); + + *_len = (uint8_t) Diag_To_OCURL_DLC; + *_ide = (uint8_t) Diag_To_OCURL_IDE; + return Diag_To_OCURL_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_OCURR_candb(Diag_To_OCURR_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_To_OCURR = (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_OCURR_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_To_OCURR_candb(&_m->mon1, Diag_To_OCURR_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_To_OCURR_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_To_OCURR_candb(Diag_To_OCURR_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_OCURR_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_To_OCURR >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_To_OCURR >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_To_OCURR >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_To_OCURR >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_To_OCURR >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_To_OCURR >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_To_OCURR >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_To_OCURR & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_To_OCURR_CANID; + cframe->DLC = (uint8_t) Diag_To_OCURR_DLC; + cframe->IDE = (uint8_t) Diag_To_OCURR_IDE; + return Diag_To_OCURR_CANID; +} + +#else + +uint32_t Pack_Diag_To_OCURR_candb(Diag_To_OCURR_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_OCURR_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_To_OCURR >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_To_OCURR >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_To_OCURR >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_To_OCURR >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_To_OCURR >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_To_OCURR >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_To_OCURR >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_To_OCURR & (0xFFU)) ); + + *_len = (uint8_t) Diag_To_OCURR_DLC; + *_ide = (uint8_t) Diag_To_OCURR_IDE; + return Diag_To_OCURR_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + uint32_t Unpack_Diag_Functional_candb(Diag_Functional_t* _m, const uint8_t* _d, uint8_t dlc_) { (void)dlc_; @@ -2846,102 +17973,474 @@ uint32_t Pack_Diag_Functional_candb(Diag_Functional_t* _m, uint8_t* _d, uint8_t* #endif // CANDB_USE_CANSTRUCT -uint32_t Unpack_HVC_01_candb(HVC_01_t* _m, const uint8_t* _d, uint8_t dlc_) +uint32_t Unpack_Diag_To_SFRSilCU_candb(Diag_To_SFRSilCU_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 + _m->Diag_To_SFRSilCU = (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_ < HVC_01_DLC); + _m->mon1.dlc_error = (dlc_ < Diag_To_SFRSilCU_DLC); _m->mon1.last_cycle = GetSystemTick(); _m->mon1.frame_cnt++; - FMon_HVC_01_candb(&_m->mon1, HVC_01_CANID); + FMon_Diag_To_SFRSilCU_candb(&_m->mon1, Diag_To_SFRSilCU_CANID); #endif // CANDB_USE_DIAG_MONITORS - return HVC_01_CANID; + return Diag_To_SFRSilCU_CANID; } #ifdef CANDB_USE_CANSTRUCT -uint32_t Pack_HVC_01_candb(HVC_01_t* _m, __CoderDbcCanFrame_t__* cframe) +uint32_t Pack_Diag_To_SFRSilCU_candb(Diag_To_SFRSilCU_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); + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_SFRSilCU_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->Diag_To_SFRSilCU >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_To_SFRSilCU >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_To_SFRSilCU >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_To_SFRSilCU >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_To_SFRSilCU >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_To_SFRSilCU >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_To_SFRSilCU >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_To_SFRSilCU & (0xFFU)) ); - 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; + cframe->MsgId = (uint32_t) Diag_To_SFRSilCU_CANID; + cframe->DLC = (uint8_t) Diag_To_SFRSilCU_DLC; + cframe->IDE = (uint8_t) Diag_To_SFRSilCU_IDE; + return Diag_To_SFRSilCU_CANID; } #else -uint32_t Pack_HVC_01_candb(HVC_01_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +uint32_t Pack_Diag_To_SFRSilCU_candb(Diag_To_SFRSilCU_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); + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_SFRSilCU_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->Diag_To_SFRSilCU >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_To_SFRSilCU >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_To_SFRSilCU >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_To_SFRSilCU >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_To_SFRSilCU >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_To_SFRSilCU >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_To_SFRSilCU >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_To_SFRSilCU & (0xFFU)) ); - _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) Diag_To_SFRSilCU_DLC; + *_ide = (uint8_t) Diag_To_SFRSilCU_IDE; + return Diag_To_SFRSilCU_CANID; +} - *_len = (uint8_t) HVC_01_DLC; - *_ide = (uint8_t) HVC_01_IDE; - return HVC_01_CANID; +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_SFLSilCU_candb(Diag_To_SFLSilCU_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_To_SFLSilCU = (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_SFLSilCU_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_To_SFLSilCU_candb(&_m->mon1, Diag_To_SFLSilCU_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_To_SFLSilCU_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_To_SFLSilCU_candb(Diag_To_SFLSilCU_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_SFLSilCU_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_To_SFLSilCU >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_To_SFLSilCU >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_To_SFLSilCU >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_To_SFLSilCU >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_To_SFLSilCU >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_To_SFLSilCU >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_To_SFLSilCU >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_To_SFLSilCU & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_To_SFLSilCU_CANID; + cframe->DLC = (uint8_t) Diag_To_SFLSilCU_DLC; + cframe->IDE = (uint8_t) Diag_To_SFLSilCU_IDE; + return Diag_To_SFLSilCU_CANID; +} + +#else + +uint32_t Pack_Diag_To_SFLSilCU_candb(Diag_To_SFLSilCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_SFLSilCU_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_To_SFLSilCU >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_To_SFLSilCU >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_To_SFLSilCU >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_To_SFLSilCU >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_To_SFLSilCU >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_To_SFLSilCU >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_To_SFLSilCU >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_To_SFLSilCU & (0xFFU)) ); + + *_len = (uint8_t) Diag_To_SFLSilCU_DLC; + *_ide = (uint8_t) Diag_To_SFLSilCU_IDE; + return Diag_To_SFLSilCU_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_WHFL_candb(Diag_To_WHFL_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_To_WHFL = (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_WHFL_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_To_WHFL_candb(&_m->mon1, Diag_To_WHFL_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_To_WHFL_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_To_WHFL_candb(Diag_To_WHFL_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_WHFL_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_To_WHFL >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_To_WHFL >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_To_WHFL >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_To_WHFL >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_To_WHFL >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_To_WHFL >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_To_WHFL >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_To_WHFL & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_To_WHFL_CANID; + cframe->DLC = (uint8_t) Diag_To_WHFL_DLC; + cframe->IDE = (uint8_t) Diag_To_WHFL_IDE; + return Diag_To_WHFL_CANID; +} + +#else + +uint32_t Pack_Diag_To_WHFL_candb(Diag_To_WHFL_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_WHFL_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_To_WHFL >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_To_WHFL >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_To_WHFL >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_To_WHFL >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_To_WHFL >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_To_WHFL >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_To_WHFL >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_To_WHFL & (0xFFU)) ); + + *_len = (uint8_t) Diag_To_WHFL_DLC; + *_ide = (uint8_t) Diag_To_WHFL_IDE; + return Diag_To_WHFL_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_WHFR_candb(Diag_To_WHFR_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_To_WHFR = (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_WHFR_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_To_WHFR_candb(&_m->mon1, Diag_To_WHFR_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_To_WHFR_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_To_WHFR_candb(Diag_To_WHFR_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_WHFR_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_To_WHFR >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_To_WHFR >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_To_WHFR >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_To_WHFR >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_To_WHFR >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_To_WHFR >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_To_WHFR >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_To_WHFR & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_To_WHFR_CANID; + cframe->DLC = (uint8_t) Diag_To_WHFR_DLC; + cframe->IDE = (uint8_t) Diag_To_WHFR_IDE; + return Diag_To_WHFR_CANID; +} + +#else + +uint32_t Pack_Diag_To_WHFR_candb(Diag_To_WHFR_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_To_WHFR_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_To_WHFR >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_To_WHFR >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_To_WHFR >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_To_WHFR >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_To_WHFR >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_To_WHFR >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_To_WHFR >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_To_WHFR & (0xFFU)) ); + + *_len = (uint8_t) Diag_To_WHFR_DLC; + *_ide = (uint8_t) Diag_To_WHFR_IDE; + return Diag_To_WHFR_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_SFRSilCU_candb(Diag_From_SFRSilCU_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_From_SFRSilCU = (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_SFRSilCU_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_From_SFRSilCU_candb(&_m->mon1, Diag_From_SFRSilCU_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_From_SFRSilCU_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_From_SFRSilCU_candb(Diag_From_SFRSilCU_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_SFRSilCU_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_From_SFRSilCU >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_From_SFRSilCU >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_From_SFRSilCU >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_From_SFRSilCU >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_From_SFRSilCU >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_From_SFRSilCU >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_From_SFRSilCU >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_From_SFRSilCU & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_From_SFRSilCU_CANID; + cframe->DLC = (uint8_t) Diag_From_SFRSilCU_DLC; + cframe->IDE = (uint8_t) Diag_From_SFRSilCU_IDE; + return Diag_From_SFRSilCU_CANID; +} + +#else + +uint32_t Pack_Diag_From_SFRSilCU_candb(Diag_From_SFRSilCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_SFRSilCU_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_From_SFRSilCU >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_From_SFRSilCU >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_From_SFRSilCU >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_From_SFRSilCU >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_From_SFRSilCU >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_From_SFRSilCU >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_From_SFRSilCU >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_From_SFRSilCU & (0xFFU)) ); + + *_len = (uint8_t) Diag_From_SFRSilCU_DLC; + *_ide = (uint8_t) Diag_From_SFRSilCU_IDE; + return Diag_From_SFRSilCU_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_SFLSilCU_candb(Diag_From_SFLSilCU_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_From_SFLSilCU = (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_SFLSilCU_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_From_SFLSilCU_candb(&_m->mon1, Diag_From_SFLSilCU_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_From_SFLSilCU_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_From_SFLSilCU_candb(Diag_From_SFLSilCU_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_SFLSilCU_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_From_SFLSilCU >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_From_SFLSilCU >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_From_SFLSilCU >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_From_SFLSilCU >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_From_SFLSilCU >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_From_SFLSilCU >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_From_SFLSilCU >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_From_SFLSilCU & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_From_SFLSilCU_CANID; + cframe->DLC = (uint8_t) Diag_From_SFLSilCU_DLC; + cframe->IDE = (uint8_t) Diag_From_SFLSilCU_IDE; + return Diag_From_SFLSilCU_CANID; +} + +#else + +uint32_t Pack_Diag_From_SFLSilCU_candb(Diag_From_SFLSilCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_SFLSilCU_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_From_SFLSilCU >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_From_SFLSilCU >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_From_SFLSilCU >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_From_SFLSilCU >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_From_SFLSilCU >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_From_SFLSilCU >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_From_SFLSilCU >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_From_SFLSilCU & (0xFFU)) ); + + *_len = (uint8_t) Diag_From_SFLSilCU_DLC; + *_ide = (uint8_t) Diag_From_SFLSilCU_IDE; + return Diag_From_SFLSilCU_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_WHFL_candb(Diag_From_WHFL_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_From_WHFL = (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_WHFL_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_From_WHFL_candb(&_m->mon1, Diag_From_WHFL_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_From_WHFL_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_From_WHFL_candb(Diag_From_WHFL_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_WHFL_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_From_WHFL >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_From_WHFL >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_From_WHFL >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_From_WHFL >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_From_WHFL >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_From_WHFL >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_From_WHFL >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_From_WHFL & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_From_WHFL_CANID; + cframe->DLC = (uint8_t) Diag_From_WHFL_DLC; + cframe->IDE = (uint8_t) Diag_From_WHFL_IDE; + return Diag_From_WHFL_CANID; +} + +#else + +uint32_t Pack_Diag_From_WHFL_candb(Diag_From_WHFL_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_WHFL_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_From_WHFL >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_From_WHFL >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_From_WHFL >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_From_WHFL >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_From_WHFL >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_From_WHFL >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_From_WHFL >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_From_WHFL & (0xFFU)) ); + + *_len = (uint8_t) Diag_From_WHFL_DLC; + *_ide = (uint8_t) Diag_From_WHFL_IDE; + return Diag_From_WHFL_CANID; +} + +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_WHFR_candb(Diag_From_WHFR_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Diag_From_WHFR = (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_WHFR_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_Diag_From_WHFR_candb(&_m->mon1, Diag_From_WHFR_CANID); +#endif // CANDB_USE_DIAG_MONITORS + + return Diag_From_WHFR_CANID; +} + +#ifdef CANDB_USE_CANSTRUCT + +uint32_t Pack_Diag_From_WHFR_candb(Diag_From_WHFR_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_WHFR_DLC); cframe->Data[i++] = CANDB_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( ((_m->Diag_From_WHFR >> 56U) & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->Diag_From_WHFR >> 48U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->Diag_From_WHFR >> 40U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->Diag_From_WHFR >> 32U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->Diag_From_WHFR >> 24U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->Diag_From_WHFR >> 16U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->Diag_From_WHFR >> 8U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Diag_From_WHFR & (0xFFU)) ); + + cframe->MsgId = (uint32_t) Diag_From_WHFR_CANID; + cframe->DLC = (uint8_t) Diag_From_WHFR_DLC; + cframe->IDE = (uint8_t) Diag_From_WHFR_IDE; + return Diag_From_WHFR_CANID; +} + +#else + +uint32_t Pack_Diag_From_WHFR_candb(Diag_From_WHFR_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_VALIDATE_DLC(Diag_From_WHFR_DLC); _d[i++] = CANDB_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( ((_m->Diag_From_WHFR >> 56U) & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->Diag_From_WHFR >> 48U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->Diag_From_WHFR >> 40U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->Diag_From_WHFR >> 32U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->Diag_From_WHFR >> 24U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->Diag_From_WHFR >> 16U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->Diag_From_WHFR >> 8U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Diag_From_WHFR & (0xFFU)) ); + + *_len = (uint8_t) Diag_From_WHFR_DLC; + *_ide = (uint8_t) Diag_From_WHFR_IDE; + return Diag_From_WHFR_CANID; } #endif // CANDB_USE_CANSTRUCT diff --git a/lib/candb.h b/lib/candb.h index 7d70a08..5b76e00 100644 --- a/lib/candb.h +++ b/lib/candb.h @@ -42,6 +42,1807 @@ extern "C" { #endif +// def @SDM_MAS_Req CAN Message (81 0x51) +#define SDM_MAS_Req_IDE (0U) +#define SDM_MAS_Req_DLC (4U) +#define SDM_MAS_Req_CANID (0x51U) +#define SDM_MAS_Req_CYC (100U) + +// Value tables for @SDM_AVM_Active_Req signal + +#ifndef SDM_AVM_Active_Req_SDM_MAS_Req_Requested +#define SDM_AVM_Active_Req_SDM_MAS_Req_Requested (1) +#endif + +#ifndef SDM_AVM_Active_Req_SDM_MAS_Req_Not_requested +#define SDM_AVM_Active_Req_SDM_MAS_Req_Not_requested (0) +#endif + + +// Value tables for @SDM_MAS_Mode_Req signal + +#ifndef SDM_MAS_Mode_Req_SDM_MAS_Req_APA +#define SDM_MAS_Mode_Req_SDM_MAS_Req_APA (2) +#endif + +#ifndef SDM_MAS_Mode_Req_SDM_MAS_Req_AVM +#define SDM_MAS_Mode_Req_SDM_MAS_Req_AVM (1) +#endif + +#ifndef SDM_MAS_Mode_Req_SDM_MAS_Req_No_change +#define SDM_MAS_Mode_Req_SDM_MAS_Req_No_change (0) +#endif + + +// Value tables for @SDM_APAactive_Req signal + +#ifndef SDM_APAactive_Req_SDM_MAS_Req_Not_requested +#define SDM_APAactive_Req_SDM_MAS_Req_Not_requested (0) +#endif + +#ifndef SDM_APAactive_Req_SDM_MAS_Req_Requested +#define SDM_APAactive_Req_SDM_MAS_Req_Requested (1) +#endif + + +// Value tables for @SDM_CntrlBtnAPA_Req signal + +#ifndef SDM_CntrlBtnAPA_Req_SDM_MAS_Req_Button_not_pressed +#define SDM_CntrlBtnAPA_Req_SDM_MAS_Req_Button_not_pressed (0) +#endif + +#ifndef SDM_CntrlBtnAPA_Req_SDM_MAS_Req_Button_pressed +#define SDM_CntrlBtnAPA_Req_SDM_MAS_Req_Button_pressed (1) +#endif + + +// Value tables for @SDM_StartAPA_Req signal + +#ifndef SDM_StartAPA_Req_SDM_MAS_Req_Not_requested +#define SDM_StartAPA_Req_SDM_MAS_Req_Not_requested (0) +#endif + +#ifndef SDM_StartAPA_Req_SDM_MAS_Req_Requested +#define SDM_StartAPA_Req_SDM_MAS_Req_Requested (1) +#endif + + +// Value tables for @SDM_MASoff_Req signal + +#ifndef SDM_MASoff_Req_SDM_MAS_Req_Not_requested +#define SDM_MASoff_Req_SDM_MAS_Req_Not_requested (0) +#endif + +#ifndef SDM_MASoff_Req_SDM_MAS_Req_Requested +#define SDM_MASoff_Req_SDM_MAS_Req_Requested (1) +#endif + + +// Value tables for @SDM_ManeuverAllowed_Stat signal + +#ifndef SDM_ManeuverAllowed_Stat_SDM_MAS_Req_Not_accepted +#define SDM_ManeuverAllowed_Stat_SDM_MAS_Req_Not_accepted (0) +#endif + +#ifndef SDM_ManeuverAllowed_Stat_SDM_MAS_Req_Accepted +#define SDM_ManeuverAllowed_Stat_SDM_MAS_Req_Accepted (1) +#endif + + +// Value tables for @SDM_PhoneAppAvail_Stat signal + +#ifndef SDM_PhoneAppAvail_Stat_SDM_MAS_Req_Available +#define SDM_PhoneAppAvail_Stat_SDM_MAS_Req_Available (1) +#endif + +#ifndef SDM_PhoneAppAvail_Stat_SDM_MAS_Req_Not_available +#define SDM_PhoneAppAvail_Stat_SDM_MAS_Req_Not_available (0) +#endif + + +// Value tables for @SDM_ParkingOutPath_Req signal + +#ifndef SDM_ParkingOutPath_Req_SDM_MAS_Req_Straight +#define SDM_ParkingOutPath_Req_SDM_MAS_Req_Straight (3) +#endif + +#ifndef SDM_ParkingOutPath_Req_SDM_MAS_Req_Nothing +#define SDM_ParkingOutPath_Req_SDM_MAS_Req_Nothing (0) +#endif + +#ifndef SDM_ParkingOutPath_Req_SDM_MAS_Req_Left +#define SDM_ParkingOutPath_Req_SDM_MAS_Req_Left (1) +#endif + +#ifndef SDM_ParkingOutPath_Req_SDM_MAS_Req_Right +#define SDM_ParkingOutPath_Req_SDM_MAS_Req_Right (2) +#endif + + +// Value tables for @SDM_CtrlAPAerr_Stat signal + +#ifndef SDM_CtrlAPAerr_Stat_SDM_MAS_Req_No_error +#define SDM_CtrlAPAerr_Stat_SDM_MAS_Req_No_error (0) +#endif + +#ifndef SDM_CtrlAPAerr_Stat_SDM_MAS_Req_No_connection +#define SDM_CtrlAPAerr_Stat_SDM_MAS_Req_No_connection (1) +#endif + +#ifndef SDM_CtrlAPAerr_Stat_SDM_MAS_Req_Too_far +#define SDM_CtrlAPAerr_Stat_SDM_MAS_Req_Too_far (2) +#endif + +#ifndef SDM_CtrlAPAerr_Stat_SDM_MAS_Req_Malfunction +#define SDM_CtrlAPAerr_Stat_SDM_MAS_Req_Malfunction (3) +#endif + +#ifndef SDM_CtrlAPAerr_Stat_SDM_MAS_Req_Rejected_by_user +#define SDM_CtrlAPAerr_Stat_SDM_MAS_Req_Rejected_by_user (4) +#endif + + +// Value tables for @SDM_ContinueMove_Req signal + +#ifndef SDM_ContinueMove_Req_SDM_MAS_Req_Requested +#define SDM_ContinueMove_Req_SDM_MAS_Req_Requested (1) +#endif + +#ifndef SDM_ContinueMove_Req_SDM_MAS_Req_Not_requested +#define SDM_ContinueMove_Req_SDM_MAS_Req_Not_requested (0) +#endif + + +// Value tables for @SDM_FIUmaster_Req signal + +#ifndef SDM_FIUmaster_Req_SDM_MAS_Req_Requested +#define SDM_FIUmaster_Req_SDM_MAS_Req_Requested (1) +#endif + +#ifndef SDM_FIUmaster_Req_SDM_MAS_Req_Not_requested +#define SDM_FIUmaster_Req_SDM_MAS_Req_Not_requested (0) +#endif + + +// Value tables for @SDM_View_Req signal + +#ifndef SDM_View_Req_SDM_MAS_Req_D_Rear_Right +#define SDM_View_Req_SDM_MAS_Req_D_Rear_Right (7) +#endif + +#ifndef SDM_View_Req_SDM_MAS_Req_D_Rear_Left +#define SDM_View_Req_SDM_MAS_Req_D_Rear_Left (6) +#endif + +#ifndef SDM_View_Req_SDM_MAS_Req_D_Front_Right +#define SDM_View_Req_SDM_MAS_Req_D_Front_Right (5) +#endif + +#ifndef SDM_View_Req_SDM_MAS_Req_D_Front_Left +#define SDM_View_Req_SDM_MAS_Req_D_Front_Left (4) +#endif + +#ifndef SDM_View_Req_SDM_MAS_Req_D_Main_Rear_Top_View +#define SDM_View_Req_SDM_MAS_Req_D_Main_Rear_Top_View (3) +#endif + +#ifndef SDM_View_Req_SDM_MAS_Req_D_Rear +#define SDM_View_Req_SDM_MAS_Req_D_Rear (2) +#endif + +#ifndef SDM_View_Req_SDM_MAS_Req_D_Front +#define SDM_View_Req_SDM_MAS_Req_D_Front (1) +#endif + +#ifndef SDM_View_Req_SDM_MAS_Req_Nothing +#define SDM_View_Req_SDM_MAS_Req_Nothing (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Request from SDM to enable AVM or APA (active for 3 frames) + // 1 : "Requested" + // 0 : "Not requested" + uint8_t SDM_AVM_Active_Req : 1; // Bits= 1 + + // Request from SDM to enable AVM or APA. The signal value should be 3 frames long (SDM_AVM_Active_Req, SDM_MAS_Mode_Req, SDM_View_Req) + // 2 : "APA" + // 1 : "AVM" + // 0 : "No change" + uint8_t SDM_MAS_Mode_Req : 1; // Bits= 1 + + // Request to parking out + // 0 : "Not requested" + // 1 : "Requested" + uint8_t SDM_APAactive_Req : 1; // Bits= 1 + + // Status, defined that driver pressed the Control button in phone display + // 0 : "Button not pressed" + // 1 : "Button pressed" + uint8_t SDM_CntrlBtnAPA_Req : 1; // Bits= 1 + + // Request for remote start of APA + // 0 : "Not requested" + // 1 : "Requested" + uint8_t SDM_StartAPA_Req : 1; // Bits= 1 + + // MAS off request + // 0 : "Not requested" + // 1 : "Requested" + uint8_t SDM_MASoff_Req : 1; // Bits= 1 + + // Moving init from SDM on user phone + // 0 : "Not accepted" + // 1 : "Accepted" + uint8_t SDM_ManeuverAllowed_Stat : 1; // Bits= 1 + + // Status of the application presence on the phone. + // 1 : "Available" + // 0 : "Not available" + uint8_t SDM_PhoneAppAvail_Stat : 1; // Bits= 1 + + // The parking out path, that selected by the user + // 3 : "Straight" + // 0 : "Nothing" + // 1 : "Left" + // 2 : "Right" + uint8_t SDM_ParkingOutPath_Req : 2; // Bits= 2 + + // Control APA from phone error status + // 0 : "No error" + // 1 : "No connection" + // 2 : "Too far" + // 3 : "Malfunction" + // 4 : "Rejected by user" + uint8_t SDM_CtrlAPAerr_Stat : 3; // Bits= 3 + + // This is a request to continue a parking maneuver from SDM + // 1 : "Requested" + // 0 : "Not requested" + uint8_t SDM_ContinueMove_Req : 1; // Bits= 1 + + // Request from SDM to change control to FIU. + // 1 : "Requested" + // 0 : "Not requested" + uint8_t SDM_FIUmaster_Req : 1; // Bits= 1 + + // Request from SDM to activate the view + // 7 : "3D Rear Right" + // 6 : "3D Rear Left" + // 5 : "3D Front Right" + // 4 : "3D Front Left" + // 3 : "3D Main (Rear Top View)" + // 2 : "2D Rear" + // 1 : "2D Front" + // 0 : "Nothing" + uint8_t SDM_View_Req : 4; // Bits= 4 + + // Rolling Counter [0 - 15] + uint8_t SDM_MAS_Req_RC : 4; // Bits= 4 + + // Checksum CRC8 SAE J1850 of the data field this message + uint8_t SDM_MAS_Req_CS; // Bits= 8 + +#else + + // Request from SDM to enable AVM or APA (active for 3 frames) + // 1 : "Requested" + // 0 : "Not requested" + uint8_t SDM_AVM_Active_Req; // Bits= 1 + + // Request from SDM to enable AVM or APA. The signal value should be 3 frames long (SDM_AVM_Active_Req, SDM_MAS_Mode_Req, SDM_View_Req) + // 2 : "APA" + // 1 : "AVM" + // 0 : "No change" + uint8_t SDM_MAS_Mode_Req; // Bits= 1 + + // Request to parking out + // 0 : "Not requested" + // 1 : "Requested" + uint8_t SDM_APAactive_Req; // Bits= 1 + + // Status, defined that driver pressed the Control button in phone display + // 0 : "Button not pressed" + // 1 : "Button pressed" + uint8_t SDM_CntrlBtnAPA_Req; // Bits= 1 + + // Request for remote start of APA + // 0 : "Not requested" + // 1 : "Requested" + uint8_t SDM_StartAPA_Req; // Bits= 1 + + // MAS off request + // 0 : "Not requested" + // 1 : "Requested" + uint8_t SDM_MASoff_Req; // Bits= 1 + + // Moving init from SDM on user phone + // 0 : "Not accepted" + // 1 : "Accepted" + uint8_t SDM_ManeuverAllowed_Stat; // Bits= 1 + + // Status of the application presence on the phone. + // 1 : "Available" + // 0 : "Not available" + uint8_t SDM_PhoneAppAvail_Stat; // Bits= 1 + + // The parking out path, that selected by the user + // 3 : "Straight" + // 0 : "Nothing" + // 1 : "Left" + // 2 : "Right" + uint8_t SDM_ParkingOutPath_Req; // Bits= 2 + + // Control APA from phone error status + // 0 : "No error" + // 1 : "No connection" + // 2 : "Too far" + // 3 : "Malfunction" + // 4 : "Rejected by user" + uint8_t SDM_CtrlAPAerr_Stat; // Bits= 3 + + // This is a request to continue a parking maneuver from SDM + // 1 : "Requested" + // 0 : "Not requested" + uint8_t SDM_ContinueMove_Req; // Bits= 1 + + // Request from SDM to change control to FIU. + // 1 : "Requested" + // 0 : "Not requested" + uint8_t SDM_FIUmaster_Req; // Bits= 1 + + // Request from SDM to activate the view + // 7 : "3D Rear Right" + // 6 : "3D Rear Left" + // 5 : "3D Front Right" + // 4 : "3D Front Left" + // 3 : "3D Main (Rear Top View)" + // 2 : "2D Rear" + // 1 : "2D Front" + // 0 : "Nothing" + uint8_t SDM_View_Req; // Bits= 4 + + // Rolling Counter [0 - 15] + uint8_t SDM_MAS_Req_RC; // Bits= 4 + + // Checksum CRC8 SAE J1850 of the data field this message + uint8_t SDM_MAS_Req_CS; // Bits= 8 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} SDM_MAS_Req_t; + +// def @EMS_VCU_VAU_Immo_Req CAN Message (136 0x88) +#define EMS_VCU_VAU_Immo_Req_IDE (0U) +#define EMS_VCU_VAU_Immo_Req_DLC (8U) +#define EMS_VCU_VAU_Immo_Req_CANID (0x88U) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + uint64_t EMS_VCU_VAU_Immo_Req; // Bits=64 + +#else + + uint64_t EMS_VCU_VAU_Immo_Req; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} EMS_VCU_VAU_Immo_Req_t; + +// def @TCU_VAU_Immo_Req CAN Message (138 0x8a) +#define TCU_VAU_Immo_Req_IDE (0U) +#define TCU_VAU_Immo_Req_DLC (8U) +#define TCU_VAU_Immo_Req_CANID (0x8aU) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + uint64_t TCU_VAU_Immo_Req; // Bits=64 + +#else + + uint64_t TCU_VAU_Immo_Req; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} TCU_VAU_Immo_Req_t; + +// def @VAU2_NFC_TransferState CAN Message (142 0x8e) +#define VAU2_NFC_TransferState_IDE (0U) +#define VAU2_NFC_TransferState_DLC (8U) +#define VAU2_NFC_TransferState_CANID (0x8eU) + +// Value tables for @VAU_NFC_FrameNumber signal + +#ifndef VAU_NFC_FrameNumber_VAU2_NFC_TransferState_Max_Frame +#define VAU_NFC_FrameNumber_VAU2_NFC_TransferState_Max_Frame (21) +#endif + +#ifndef VAU_NFC_FrameNumber_VAU2_NFC_TransferState_Fourth_Frame +#define VAU_NFC_FrameNumber_VAU2_NFC_TransferState_Fourth_Frame (3) +#endif + +#ifndef VAU_NFC_FrameNumber_VAU2_NFC_TransferState_Third_Frame +#define VAU_NFC_FrameNumber_VAU2_NFC_TransferState_Third_Frame (2) +#endif + +#ifndef VAU_NFC_FrameNumber_VAU2_NFC_TransferState_Second_Frame +#define VAU_NFC_FrameNumber_VAU2_NFC_TransferState_Second_Frame (1) +#endif + +#ifndef VAU_NFC_FrameNumber_VAU2_NFC_TransferState_First_Frame +#define VAU_NFC_FrameNumber_VAU2_NFC_TransferState_First_Frame (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Number of frame with useful data + // 21 : "Max. Frame" + // 3 : "Fourth Frame" + // 2 : "Third Frame" + // 1 : "Second Frame" + // 0 : "First Frame" + uint8_t VAU_NFC_FrameNumber : 4; // Bits= 4 + + // Total number of frames, which will be transferred in active NFC sesion + uint8_t VAU_NFC_FrameTotalNumber : 4; // Bits= 4 + + // Useful information transmitted from the VAU block to the WchF block + uint64_t VAU_NFC_TransferData; // Bits=56 + +#else + + // Number of frame with useful data + // 21 : "Max. Frame" + // 3 : "Fourth Frame" + // 2 : "Third Frame" + // 1 : "Second Frame" + // 0 : "First Frame" + uint8_t VAU_NFC_FrameNumber; // Bits= 4 + + // Total number of frames, which will be transferred in active NFC sesion + uint8_t VAU_NFC_FrameTotalNumber; // Bits= 4 + + // Useful information transmitted from the VAU block to the WchF block + uint64_t VAU_NFC_TransferData; // Bits=56 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} VAU2_NFC_TransferState_t; + +// def @VAU_TCU_Hash_Resp CAN Message (143 0x8f) +#define VAU_TCU_Hash_Resp_IDE (0U) +#define VAU_TCU_Hash_Resp_DLC (8U) +#define VAU_TCU_Hash_Resp_CANID (0x8fU) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Response to Immo request from TCU when starting the engine + uint64_t VAU_TCU_Hash_Resp; // Bits=64 + +#else + + // Response to Immo request from TCU when starting the engine + uint64_t VAU_TCU_Hash_Resp; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} VAU_TCU_Hash_Resp_t; + +// def @VAU_EMS_VCU_Hash_Resp CAN Message (145 0x91) +#define VAU_EMS_VCU_Hash_Resp_IDE (0U) +#define VAU_EMS_VCU_Hash_Resp_DLC (8U) +#define VAU_EMS_VCU_Hash_Resp_CANID (0x91U) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Response to Immo request from EMS when starting the engine + uint64_t VAU_EMS_VCU_Hash_Resp; // Bits=64 + +#else + + // Response to Immo request from EMS when starting the engine + uint64_t VAU_EMS_VCU_Hash_Resp; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} VAU_EMS_VCU_Hash_Resp_t; + +// def @VAU2_INVRL_Hash_Resp CAN Message (148 0x94) +#define VAU2_INVRL_Hash_Resp_IDE (0U) +#define VAU2_INVRL_Hash_Resp_DLC (8U) +#define VAU2_INVRL_Hash_Resp_CANID (0x94U) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Response to authorization request to start movement VAU->INV2 + uint64_t VAU2_INVRL_Hash_Resp; // Bits=64 + +#else + + // Response to authorization request to start movement VAU->INV2 + uint64_t VAU2_INVRL_Hash_Resp; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} VAU2_INVRL_Hash_Resp_t; + +// def @WChF_NFC_VAU_Transfer_State CAN Message (149 0x95) +#define WChF_NFC_VAU_Transfer_State_IDE (0U) +#define WChF_NFC_VAU_Transfer_State_DLC (8U) +#define WChF_NFC_VAU_Transfer_State_CANID (0x95U) +// signal: @WChF_NFC_FrameNumber_Val_ro +#define CANDB_WChF_NFC_FrameNumber_Val_ro_CovFactor (1) +#define CANDB_WChF_NFC_FrameNumber_Val_ro_toS(x) ( (uint8_t) ((x) - (1)) ) +#define CANDB_WChF_NFC_FrameNumber_Val_ro_fromS(x) ( ((x) + (1)) ) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Number of frame with useful data + uint8_t WChF_NFC_FrameNumber_Val_ro : 4; // Bits= 4 Offset= 1 + +#ifdef CANDB_USE_SIGFLOAT + uint8_t WChF_NFC_FrameNumber_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Total number of frames, which will be transferred in active NFC sesion + uint8_t WChF_NFCFrameTotalNum_Val : 4; // Bits= 4 + + // Smartphone_Hash_Immo + uint64_t WChF_NFCTransferData_Val; // Bits=56 + +#else + + // Number of frame with useful data + uint8_t WChF_NFC_FrameNumber_Val_ro; // Bits= 4 Offset= 1 + +#ifdef CANDB_USE_SIGFLOAT + uint8_t WChF_NFC_FrameNumber_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Total number of frames, which will be transferred in active NFC sesion + uint8_t WChF_NFCFrameTotalNum_Val; // Bits= 4 + + // Smartphone_Hash_Immo + uint64_t WChF_NFCTransferData_Val; // Bits=56 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} WChF_NFC_VAU_Transfer_State_t; + +// def @VAU2_INVRR_Hash_Resp CAN Message (152 0x98) +#define VAU2_INVRR_Hash_Resp_IDE (0U) +#define VAU2_INVRR_Hash_Resp_DLC (8U) +#define VAU2_INVRR_Hash_Resp_CANID (0x98U) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Response to authorization request to start movement VAU->INV3 + uint64_t VAU2_INVRR_Hash_Resp; // Bits=64 + +#else + + // Response to authorization request to start movement VAU->INV3 + uint64_t VAU2_INVRR_Hash_Resp; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} VAU2_INVRR_Hash_Resp_t; + +// def @VAU_SDM_Immo_Req CAN Message (153 0x99) +#define VAU_SDM_Immo_Req_IDE (0U) +#define VAU_SDM_Immo_Req_DLC (8U) +#define VAU_SDM_Immo_Req_CANID (0x99U) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Immo request to SDM unit + uint64_t VAU_SDM_Immo_Req; // Bits=64 + +#else + + // Immo request to SDM unit + uint64_t VAU_SDM_Immo_Req; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} VAU_SDM_Immo_Req_t; + +// def @SDM_VAU_Hash_Resp CAN Message (160 0xa0) +#define SDM_VAU_Hash_Resp_IDE (0U) +#define SDM_VAU_Hash_Resp_DLC (8U) +#define SDM_VAU_Hash_Resp_CANID (0xa0U) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Hash_SDM + // 0x0 to 0xFF + uint64_t SDM_VAU_Hash_RESC; // Bits=64 + +#else + + // Hash_SDM + // 0x0 to 0xFF + uint64_t SDM_VAU_Hash_RESC; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} SDM_VAU_Hash_Resp_t; + +// def @TCU_R932_1 CAN Message (177 0xb1) +#define TCU_R932_1_IDE (0U) +#define TCU_R932_1_DLC (8U) +#define TCU_R932_1_CANID (0xb1U) +#define TCU_R932_1_CYC (10U) + +// Value tables for @numGearTarget signal + +#ifndef numGearTarget_TCU_R932_1_Default +#define numGearTarget_TCU_R932_1_Default (15) +#endif + +#ifndef numGearTarget_TCU_R932_1_Unavailable +#define numGearTarget_TCU_R932_1_Unavailable (14) +#endif + +#ifndef numGearTarget_TCU_R932_1_Undefined +#define numGearTarget_TCU_R932_1_Undefined (13) +#endif + +#ifndef numGearTarget_TCU_R932_1_Undefined +#define numGearTarget_TCU_R932_1_Undefined (12) +#endif + +#ifndef numGearTarget_TCU_R932_1_Undefined +#define numGearTarget_TCU_R932_1_Undefined (11) +#endif + +#ifndef numGearTarget_TCU_R932_1_Reverse +#define numGearTarget_TCU_R932_1_Reverse (10) +#endif + +#ifndef numGearTarget_TCU_R932_1_Ninth_gear +#define numGearTarget_TCU_R932_1_Ninth_gear (9) +#endif + +#ifndef numGearTarget_TCU_R932_1_Eight_gear +#define numGearTarget_TCU_R932_1_Eight_gear (8) +#endif + +#ifndef numGearTarget_TCU_R932_1_Seventh_gear +#define numGearTarget_TCU_R932_1_Seventh_gear (7) +#endif + +#ifndef numGearTarget_TCU_R932_1_Sixth_gear +#define numGearTarget_TCU_R932_1_Sixth_gear (6) +#endif + +#ifndef numGearTarget_TCU_R932_1_Fifth_gear +#define numGearTarget_TCU_R932_1_Fifth_gear (5) +#endif + +#ifndef numGearTarget_TCU_R932_1_Fourth_gear +#define numGearTarget_TCU_R932_1_Fourth_gear (4) +#endif + +#ifndef numGearTarget_TCU_R932_1_Third_gear +#define numGearTarget_TCU_R932_1_Third_gear (3) +#endif + +#ifndef numGearTarget_TCU_R932_1_Second_gear +#define numGearTarget_TCU_R932_1_Second_gear (2) +#endif + +#ifndef numGearTarget_TCU_R932_1_First_gear +#define numGearTarget_TCU_R932_1_First_gear (1) +#endif + +#ifndef numGearTarget_TCU_R932_1_Neutral +#define numGearTarget_TCU_R932_1_Neutral (0) +#endif + + +// Value tables for @numGearEngaged signal + +#ifndef numGearEngaged_TCU_R932_1_Default +#define numGearEngaged_TCU_R932_1_Default (15) +#endif + +#ifndef numGearEngaged_TCU_R932_1_Unavailable +#define numGearEngaged_TCU_R932_1_Unavailable (14) +#endif + +#ifndef numGearEngaged_TCU_R932_1_Undefined +#define numGearEngaged_TCU_R932_1_Undefined (13) +#endif + +#ifndef numGearEngaged_TCU_R932_1_Undefined +#define numGearEngaged_TCU_R932_1_Undefined (12) +#endif + +#ifndef numGearEngaged_TCU_R932_1_Undefined +#define numGearEngaged_TCU_R932_1_Undefined (11) +#endif + +#ifndef numGearEngaged_TCU_R932_1_Reverse +#define numGearEngaged_TCU_R932_1_Reverse (10) +#endif + +#ifndef numGearEngaged_TCU_R932_1_Ninth_gear +#define numGearEngaged_TCU_R932_1_Ninth_gear (9) +#endif + +#ifndef numGearEngaged_TCU_R932_1_Eight_gear +#define numGearEngaged_TCU_R932_1_Eight_gear (8) +#endif + +#ifndef numGearEngaged_TCU_R932_1_Seventh_gear +#define numGearEngaged_TCU_R932_1_Seventh_gear (7) +#endif + +#ifndef numGearEngaged_TCU_R932_1_Sixth_gear +#define numGearEngaged_TCU_R932_1_Sixth_gear (6) +#endif + +#ifndef numGearEngaged_TCU_R932_1_Fifth_gear +#define numGearEngaged_TCU_R932_1_Fifth_gear (5) +#endif + +#ifndef numGearEngaged_TCU_R932_1_Fourth_gear +#define numGearEngaged_TCU_R932_1_Fourth_gear (4) +#endif + +#ifndef numGearEngaged_TCU_R932_1_Third_gear +#define numGearEngaged_TCU_R932_1_Third_gear (3) +#endif + +#ifndef numGearEngaged_TCU_R932_1_Second_gear +#define numGearEngaged_TCU_R932_1_Second_gear (2) +#endif + +#ifndef numGearEngaged_TCU_R932_1_First_gear +#define numGearEngaged_TCU_R932_1_First_gear (1) +#endif + +#ifndef numGearEngaged_TCU_R932_1_Neutral +#define numGearEngaged_TCU_R932_1_Neutral (0) +#endif + +// signal: @ratEng2GbxTorqueRatio_ro +#define CANDB_ratEng2GbxTorqueRatio_ro_CovFactor (0.01) +#define CANDB_ratEng2GbxTorqueRatio_ro_toS(x) ( (uint16_t) (((x) - (0.0)) / (0.01)) ) +#define CANDB_ratEng2GbxTorqueRatio_ro_fromS(x) ( (((x) * (0.01)) + (0.0)) ) + +// Value tables for @stGearLvr signal + +#ifndef stGearLvr_TCU_R932_1_Default +#define stGearLvr_TCU_R932_1_Default (7) +#endif + +#ifndef stGearLvr_TCU_R932_1_Not_available +#define stGearLvr_TCU_R932_1_Not_available (6) +#endif + +#ifndef stGearLvr_TCU_R932_1_undefined +#define stGearLvr_TCU_R932_1_undefined (5) +#endif + +#ifndef stGearLvr_TCU_R932_1_D +#define stGearLvr_TCU_R932_1_D (4) +#endif + +#ifndef stGearLvr_TCU_R932_1_N +#define stGearLvr_TCU_R932_1_N (3) +#endif + +#ifndef stGearLvr_TCU_R932_1_R +#define stGearLvr_TCU_R932_1_R (2) +#endif + +#ifndef stGearLvr_TCU_R932_1_P +#define stGearLvr_TCU_R932_1_P (1) +#endif + +#ifndef stGearLvr_TCU_R932_1_Error +#define stGearLvr_TCU_R932_1_Error (0) +#endif + + +// Value tables for @stGbxMILReq signal + +#ifndef stGbxMILReq_TCU_R932_1_Default +#define stGbxMILReq_TCU_R932_1_Default (3) +#endif + +#ifndef stGbxMILReq_TCU_R932_1_Not_Available +#define stGbxMILReq_TCU_R932_1_Not_Available (2) +#endif + +#ifndef stGbxMILReq_TCU_R932_1_MIL_ON +#define stGbxMILReq_TCU_R932_1_MIL_ON (1) +#endif + +#ifndef stGbxMILReq_TCU_R932_1_MIL_OFF +#define stGbxMILReq_TCU_R932_1_MIL_OFF (0) +#endif + + +// Value tables for @stGearboxMode signal + +#ifndef stGearboxMode_TCU_R932_1_Default +#define stGearboxMode_TCU_R932_1_Default (7) +#endif + +#ifndef stGearboxMode_TCU_R932_1_Not_available +#define stGearboxMode_TCU_R932_1_Not_available (6) +#endif + +#ifndef stGearboxMode_TCU_R932_1_Undefined +#define stGearboxMode_TCU_R932_1_Undefined (5) +#endif + +#ifndef stGearboxMode_TCU_R932_1_All_Season +#define stGearboxMode_TCU_R932_1_All_Season (4) +#endif + +#ifndef stGearboxMode_TCU_R932_1_Auto +#define stGearboxMode_TCU_R932_1_Auto (3) +#endif + +#ifndef stGearboxMode_TCU_R932_1_Comfort +#define stGearboxMode_TCU_R932_1_Comfort (2) +#endif + +#ifndef stGearboxMode_TCU_R932_1_Sport +#define stGearboxMode_TCU_R932_1_Sport (1) +#endif + +#ifndef stGearboxMode_TCU_R932_1_Error +#define stGearboxMode_TCU_R932_1_Error (0) +#endif + + +// Value tables for @stTransmissionWarnings signal + +#ifndef stTransmissionWarnings_TCU_R932_1_Default +#define stTransmissionWarnings_TCU_R932_1_Default (15) +#endif + +#ifndef stTransmissionWarnings_TCU_R932_1_Not_available +#define stTransmissionWarnings_TCU_R932_1_Not_available (14) +#endif + +#ifndef stTransmissionWarnings_TCU_R932_1_Undefined +#define stTransmissionWarnings_TCU_R932_1_Undefined (13) +#endif + +#ifndef stTransmissionWarnings_TCU_R932_1_Undefined +#define stTransmissionWarnings_TCU_R932_1_Undefined (12) +#endif + +#ifndef stTransmissionWarnings_TCU_R932_1_Undefined +#define stTransmissionWarnings_TCU_R932_1_Undefined (11) +#endif + +#ifndef stTransmissionWarnings_TCU_R932_1_Undefined +#define stTransmissionWarnings_TCU_R932_1_Undefined (10) +#endif + +#ifndef stTransmissionWarnings_TCU_R932_1_Undefined +#define stTransmissionWarnings_TCU_R932_1_Undefined (9) +#endif + +#ifndef stTransmissionWarnings_TCU_R932_1_Undefined +#define stTransmissionWarnings_TCU_R932_1_Undefined (8) +#endif + +#ifndef stTransmissionWarnings_TCU_R932_1_Undefined +#define stTransmissionWarnings_TCU_R932_1_Undefined (7) +#endif + +#ifndef stTransmissionWarnings_TCU_R932_1_Drive_to_stop +#define stTransmissionWarnings_TCU_R932_1_Drive_to_stop (6) +#endif + +#ifndef stTransmissionWarnings_TCU_R932_1_Limited_functionality +#define stTransmissionWarnings_TCU_R932_1_Limited_functionality (5) +#endif + +#ifndef stTransmissionWarnings_TCU_R932_1_No_failures +#define stTransmissionWarnings_TCU_R932_1_No_failures (4) +#endif + +#ifndef stTransmissionWarnings_TCU_R932_1_Critical_Failure +#define stTransmissionWarnings_TCU_R932_1_Critical_Failure (3) +#endif + +#ifndef stTransmissionWarnings_TCU_R932_1_Reserved +#define stTransmissionWarnings_TCU_R932_1_Reserved (2) +#endif + +#ifndef stTransmissionWarnings_TCU_R932_1_Overheat +#define stTransmissionWarnings_TCU_R932_1_Overheat (1) +#endif + +#ifndef stTransmissionWarnings_TCU_R932_1_Reserved +#define stTransmissionWarnings_TCU_R932_1_Reserved (0) +#endif + + +// Value tables for @bShiftInProgress signal + +#ifndef bShiftInProgress_TCU_R932_1_Shift_in_progress +#define bShiftInProgress_TCU_R932_1_Shift_in_progress (1) +#endif + +#ifndef bShiftInProgress_TCU_R932_1_Not_shifting +#define bShiftInProgress_TCU_R932_1_Not_shifting (0) +#endif + + +// Value tables for @TCU_VehicleSpeed_ValueError signal + +#ifndef TCU_VehicleSpeed_ValueError_TCU_R932_1_Invalid_value_in_vehicle_speed_signal +#define TCU_VehicleSpeed_ValueError_TCU_R932_1_Invalid_value_in_vehicle_speed_signal (1) +#endif + +#ifndef TCU_VehicleSpeed_ValueError_TCU_R932_1_Valid_value_in_vehicle_speed_signal +#define TCU_VehicleSpeed_ValueError_TCU_R932_1_Valid_value_in_vehicle_speed_signal (0) +#endif + + +// Value tables for @stManualGbxMode signal + +#ifndef stManualGbxMode_TCU_R932_1_Manual +#define stManualGbxMode_TCU_R932_1_Manual (1) +#endif + +#ifndef stManualGbxMode_TCU_R932_1_Auto +#define stManualGbxMode_TCU_R932_1_Auto (0) +#endif + + +// Value tables for @TCU_DriverBrakeReq signal + +#ifndef TCU_DriverBrakeReq_TCU_R932_1_Brake_pedal_requested +#define TCU_DriverBrakeReq_TCU_R932_1_Brake_pedal_requested (1) +#endif + +#ifndef TCU_DriverBrakeReq_TCU_R932_1_No_Request +#define TCU_DriverBrakeReq_TCU_R932_1_No_Request (0) +#endif + + +// Value tables for @gearChangeSPDphase signal + +#ifndef gearChangeSPDphase_TCU_R932_1_not_changing +#define gearChangeSPDphase_TCU_R932_1_not_changing (1) +#endif + +#ifndef gearChangeSPDphase_TCU_R932_1_changing +#define gearChangeSPDphase_TCU_R932_1_changing (0) +#endif + +// signal: @TCU_VehicleSpeed_ro +#define CANDB_TCU_VehicleSpeed_ro_CovFactor (0.01) +#define CANDB_TCU_VehicleSpeed_ro_toS(x) ( (uint16_t) (((x) - (0.0)) / (0.01)) ) +#define CANDB_TCU_VehicleSpeed_ro_fromS(x) ( (((x) * (0.01)) + (0.0)) ) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Gear target + // 15 : "Default" + // 14 : "Unavailable" + // 13 : "Undefined" + // 12 : "Undefined" + // 11 : "Undefined" + // 10 : "Reverse" + // 9 : "Ninth gear" + // 8 : "Eight gear" + // 7 : "Seventh gear" + // 6 : "Sixth gear" + // 5 : "Fifth gear" + // 4 : "Fourth gear" + // 3 : "Third gear" + // 2 : "Second gear" + // 1 : "First gear" + // 0 : "Neutral" + uint8_t numGearTarget : 4; // Bits= 4 + + // Actual gear + // 15 : "Default" + // 14 : "Unavailable" + // 13 : "Undefined" + // 12 : "Undefined" + // 11 : "Undefined" + // 10 : "Reverse" + // 9 : "Ninth gear" + // 8 : "Eight gear" + // 7 : "Seventh gear" + // 6 : "Sixth gear" + // 5 : "Fifth gear" + // 4 : "Fourth gear" + // 3 : "Third gear" + // 2 : "Second gear" + // 1 : "First gear" + // 0 : "Neutral" + uint8_t numGearEngaged : 4; // Bits= 4 + + // Engine to gearbox out torque ratio (without differential) + uint16_t ratEng2GbxTorqueRatio_ro; // Bits=11 Factor= 0.01 + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t ratEng2GbxTorqueRatio_phys; +#endif // CANDB_USE_SIGFLOAT + + // Signal gear lever (PRND) position for HEV + // 7 : "Default" + // 6 : "Not available" + // 5 : "undefined" + // 4 : "D" + // 3 : "N" + // 2 : "R" + // 1 : "P" + // 0 : "Error" + uint8_t stGearLvr : 3; // Bits= 3 + + // TCU MIL lamp + // 3 : "Default" + // 2 : "Not Available" + // 1 : "MIL ON" + // 0 : "MIL OFF" + uint8_t stGbxMILReq : 2; // Bits= 2 + + // Gearbox mode, Driving mode settings in TCU + // 7 : "Default" + // 6 : "Not available" + // 5 : "Undefined" + // 4 : "All Season" + // 3 : "Auto" + // 2 : "Comfort" + // 1 : "Sport" + // 0 : "Error" + uint8_t stGearboxMode : 3; // Bits= 3 + + // TCU MIL lamp + // 15 : "Default" + // 14 : "Not available" + // 13 : "Undefined" + // 12 : "Undefined" + // 11 : "Undefined" + // 10 : "Undefined" + // 9 : "Undefined" + // 8 : "Undefined" + // 7 : "Undefined" + // 6 : "Drive to stop" + // 5 : "Limited functionality" + // 4 : "No failures" + // 3 : "Critical Failure" + // 2 : "Reserved" + // 1 : "Overheat" + // 0 : "Reserved" + uint8_t stTransmissionWarnings : 4; // Bits= 4 + + // Shift is in progress + // 1 : "Shift in progress" + // 0 : "Not shifting" + uint8_t bShiftInProgress : 1; // Bits= 1 + + // Indicates if the signal vehicleSpeed has valid value + // 1 : "Invalid value in vehicle speed signal" + // 0 : "Valid value in vehicle speed signal" + uint8_t TCU_VehicleSpeed_ValueError : 1; // Bits= 1 + + // Manual gear shift mode + // 1 : "Manual" + // 0 : "Auto" + uint8_t stManualGbxMode : 1; // Bits= 1 + + // Indicates a request to the user for pressing the brake pedal: + // $0 = No request + // $1 = Brake pedal requested + // 1 : "Brake pedal requested" + // 0 : "No Request" + uint8_t TCU_DriverBrakeReq : 1; // Bits= 1 + + // Speed ratio changing stage of gearshift + // 1 : "not changing" + // 0 : "changing" + uint8_t gearChangeSPDphase : 1; // Bits= 1 + + // calculated vehicle speed value + uint16_t TCU_VehicleSpeed_ro; // Bits=16 Factor= 0.01 Unit:'km/h' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t TCU_VehicleSpeed_phys; +#endif // CANDB_USE_SIGFLOAT + + // Rolling Counter [0 - 15] + uint8_t TCU_R932_1_RC : 4; // Bits= 4 + + // Checksum XOR8 of the data field this message + // Checksum computed as per XOR algorithm: + // Byte 1 XOR byte 2 .... XOR byte n-1. (n = packet length.) + uint8_t TCU_R932_1_CS; // Bits= 8 + +#else + + // Gear target + // 15 : "Default" + // 14 : "Unavailable" + // 13 : "Undefined" + // 12 : "Undefined" + // 11 : "Undefined" + // 10 : "Reverse" + // 9 : "Ninth gear" + // 8 : "Eight gear" + // 7 : "Seventh gear" + // 6 : "Sixth gear" + // 5 : "Fifth gear" + // 4 : "Fourth gear" + // 3 : "Third gear" + // 2 : "Second gear" + // 1 : "First gear" + // 0 : "Neutral" + uint8_t numGearTarget; // Bits= 4 + + // Actual gear + // 15 : "Default" + // 14 : "Unavailable" + // 13 : "Undefined" + // 12 : "Undefined" + // 11 : "Undefined" + // 10 : "Reverse" + // 9 : "Ninth gear" + // 8 : "Eight gear" + // 7 : "Seventh gear" + // 6 : "Sixth gear" + // 5 : "Fifth gear" + // 4 : "Fourth gear" + // 3 : "Third gear" + // 2 : "Second gear" + // 1 : "First gear" + // 0 : "Neutral" + uint8_t numGearEngaged; // Bits= 4 + + // Engine to gearbox out torque ratio (without differential) + uint16_t ratEng2GbxTorqueRatio_ro; // Bits=11 Factor= 0.01 + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t ratEng2GbxTorqueRatio_phys; +#endif // CANDB_USE_SIGFLOAT + + // Signal gear lever (PRND) position for HEV + // 7 : "Default" + // 6 : "Not available" + // 5 : "undefined" + // 4 : "D" + // 3 : "N" + // 2 : "R" + // 1 : "P" + // 0 : "Error" + uint8_t stGearLvr; // Bits= 3 + + // TCU MIL lamp + // 3 : "Default" + // 2 : "Not Available" + // 1 : "MIL ON" + // 0 : "MIL OFF" + uint8_t stGbxMILReq; // Bits= 2 + + // Gearbox mode, Driving mode settings in TCU + // 7 : "Default" + // 6 : "Not available" + // 5 : "Undefined" + // 4 : "All Season" + // 3 : "Auto" + // 2 : "Comfort" + // 1 : "Sport" + // 0 : "Error" + uint8_t stGearboxMode; // Bits= 3 + + // TCU MIL lamp + // 15 : "Default" + // 14 : "Not available" + // 13 : "Undefined" + // 12 : "Undefined" + // 11 : "Undefined" + // 10 : "Undefined" + // 9 : "Undefined" + // 8 : "Undefined" + // 7 : "Undefined" + // 6 : "Drive to stop" + // 5 : "Limited functionality" + // 4 : "No failures" + // 3 : "Critical Failure" + // 2 : "Reserved" + // 1 : "Overheat" + // 0 : "Reserved" + uint8_t stTransmissionWarnings; // Bits= 4 + + // Shift is in progress + // 1 : "Shift in progress" + // 0 : "Not shifting" + uint8_t bShiftInProgress; // Bits= 1 + + // Indicates if the signal vehicleSpeed has valid value + // 1 : "Invalid value in vehicle speed signal" + // 0 : "Valid value in vehicle speed signal" + uint8_t TCU_VehicleSpeed_ValueError; // Bits= 1 + + // Manual gear shift mode + // 1 : "Manual" + // 0 : "Auto" + uint8_t stManualGbxMode; // Bits= 1 + + // Indicates a request to the user for pressing the brake pedal: + // $0 = No request + // $1 = Brake pedal requested + // 1 : "Brake pedal requested" + // 0 : "No Request" + uint8_t TCU_DriverBrakeReq; // Bits= 1 + + // Speed ratio changing stage of gearshift + // 1 : "not changing" + // 0 : "changing" + uint8_t gearChangeSPDphase; // Bits= 1 + + // calculated vehicle speed value + uint16_t TCU_VehicleSpeed_ro; // Bits=16 Factor= 0.01 Unit:'km/h' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t TCU_VehicleSpeed_phys; +#endif // CANDB_USE_SIGFLOAT + + // Rolling Counter [0 - 15] + uint8_t TCU_R932_1_RC; // Bits= 4 + + // Checksum XOR8 of the data field this message + // Checksum computed as per XOR algorithm: + // Byte 1 XOR byte 2 .... XOR byte n-1. (n = packet length.) + uint8_t TCU_R932_1_CS; // Bits= 8 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} TCU_R932_1_t; + +// def @VAU2_INVF_Hash_Resp CAN Message (191 0xbf) +#define VAU2_INVF_Hash_Resp_IDE (0U) +#define VAU2_INVF_Hash_Resp_DLC (8U) +#define VAU2_INVF_Hash_Resp_CANID (0xbfU) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Response to authorization request to start movement VAU->INV1 + uint64_t VAU2_INVF_Hash_Resp; // Bits=64 + +#else + + // Response to authorization request to start movement VAU->INV1 + uint64_t VAU2_INVF_Hash_Resp; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} VAU2_INVF_Hash_Resp_t; + +// def @FTCU_DAT1 CAN Message (227 0xe3) +#define FTCU_DAT1_IDE (0U) +#define FTCU_DAT1_DLC (8U) +#define FTCU_DAT1_CANID (0xe3U) +#define FTCU_DAT1_CYC (10U) +// signal: @FTCU_MeasuredCurrentPump1_Val_ro +#define CANDB_FTCU_MeasuredCurrentPump1_Val_ro_CovFactor (0.1) +#define CANDB_FTCU_MeasuredCurrentPump1_Val_ro_toS(x) ( (uint16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_FTCU_MeasuredCurrentPump1_Val_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @FTCU_MeasuredCurrentPump2_Val_ro +#define CANDB_FTCU_MeasuredCurrentPump2_Val_ro_CovFactor (0.1) +#define CANDB_FTCU_MeasuredCurrentPump2_Val_ro_toS(x) ( (uint16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_FTCU_MeasuredCurrentPump2_Val_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @FTCU_EmtrPWMPump1_Val_ro +#define CANDB_FTCU_EmtrPWMPump1_Val_ro_CovFactor (0.1) +#define CANDB_FTCU_EmtrPWMPump1_Val_ro_toS(x) ( (uint16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_FTCU_EmtrPWMPump1_Val_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @FTCU_EmtrPWMPump2_Val_ro +#define CANDB_FTCU_EmtrPWMPump2_Val_ro_CovFactor (0.1) +#define CANDB_FTCU_EmtrPWMPump2_Val_ro_toS(x) ( (uint16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_FTCU_EmtrPWMPump2_Val_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Actual current of the FuelPump 1 + uint16_t FTCU_MeasuredCurrentPump1_Val_ro; // Bits=10 Factor= 0.1 Unit:'A' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t FTCU_MeasuredCurrentPump1_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Actual current of the FuelPump 2 + uint16_t FTCU_MeasuredCurrentPump2_Val_ro; // Bits=10 Factor= 0.1 Unit:'A' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t FTCU_MeasuredCurrentPump2_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Actual PWM of the FuelPump 1 + uint16_t FTCU_EmtrPWMPump1_Val_ro; // Bits=10 Factor= 0.1 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t FTCU_EmtrPWMPump1_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Actual PWM of the FuelPump 2 + uint16_t FTCU_EmtrPWMPump2_Val_ro; // Bits=10 Factor= 0.1 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t FTCU_EmtrPWMPump2_Val_phys; +#endif // CANDB_USE_SIGFLOAT + +#else + + // Actual current of the FuelPump 1 + uint16_t FTCU_MeasuredCurrentPump1_Val_ro; // Bits=10 Factor= 0.1 Unit:'A' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t FTCU_MeasuredCurrentPump1_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Actual current of the FuelPump 2 + uint16_t FTCU_MeasuredCurrentPump2_Val_ro; // Bits=10 Factor= 0.1 Unit:'A' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t FTCU_MeasuredCurrentPump2_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Actual PWM of the FuelPump 1 + uint16_t FTCU_EmtrPWMPump1_Val_ro; // Bits=10 Factor= 0.1 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t FTCU_EmtrPWMPump1_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Actual PWM of the FuelPump 2 + uint16_t FTCU_EmtrPWMPump2_Val_ro; // Bits=10 Factor= 0.1 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t FTCU_EmtrPWMPump2_Val_phys; +#endif // CANDB_USE_SIGFLOAT + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} FTCU_DAT1_t; + +// def @FTCU_DAT2 CAN Message (228 0xe4) +#define FTCU_DAT2_IDE (0U) +#define FTCU_DAT2_DLC (8U) +#define FTCU_DAT2_CANID (0xe4U) +#define FTCU_DAT2_CYC (10U) + +// Value tables for @FTCU_Err_Stat signal + +#ifndef FTCU_Err_Stat_FTCU_DAT2_nd_exhaust_actuator_error +#define FTCU_Err_Stat_FTCU_DAT2_nd_exhaust_actuator_error (4) +#endif + +#ifndef FTCU_Err_Stat_FTCU_DAT2_st_exhaust_actuator_error +#define FTCU_Err_Stat_FTCU_DAT2_st_exhaust_actuator_error (3) +#endif + +#ifndef FTCU_Err_Stat_FTCU_DAT2_Red_Error_No_start +#define FTCU_Err_Stat_FTCU_DAT2_Red_Error_No_start (2) +#endif + +#ifndef FTCU_Err_Stat_FTCU_DAT2_Warning_check_engine +#define FTCU_Err_Stat_FTCU_DAT2_Warning_check_engine (1) +#endif + +#ifndef FTCU_Err_Stat_FTCU_DAT2_Init +#define FTCU_Err_Stat_FTCU_DAT2_Init (0) +#endif + + +// Value tables for @FTCU_FuelPumpOK_1_Stat signal + +#ifndef FTCU_FuelPumpOK_1_Stat_FTCU_DAT2_Init_value +#define FTCU_FuelPumpOK_1_Stat_FTCU_DAT2_Init_value (2) +#endif + +#ifndef FTCU_FuelPumpOK_1_Stat_FTCU_DAT2_Fuel_pump_is_operable +#define FTCU_FuelPumpOK_1_Stat_FTCU_DAT2_Fuel_pump_is_operable (1) +#endif + +#ifndef FTCU_FuelPumpOK_1_Stat_FTCU_DAT2_Fuel_pump_not_operable +#define FTCU_FuelPumpOK_1_Stat_FTCU_DAT2_Fuel_pump_not_operable (0) +#endif + + +// Value tables for @FTCU_FuelPumpOK_2_Stat signal + +#ifndef FTCU_FuelPumpOK_2_Stat_FTCU_DAT2_Init_value +#define FTCU_FuelPumpOK_2_Stat_FTCU_DAT2_Init_value (2) +#endif + +#ifndef FTCU_FuelPumpOK_2_Stat_FTCU_DAT2_Fuel_pump_is_operable +#define FTCU_FuelPumpOK_2_Stat_FTCU_DAT2_Fuel_pump_is_operable (1) +#endif + +#ifndef FTCU_FuelPumpOK_2_Stat_FTCU_DAT2_Fuel_pump_not_operable +#define FTCU_FuelPumpOK_2_Stat_FTCU_DAT2_Fuel_pump_not_operable (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Low circuit fuel pressure (measured) + uint16_t FTCU_FuelPressure_Val; // Bits=10 Unit:'kPa' + + // Error status + // 4 : "2nd exhaust actuator error" + // 3 : "1st exhaust actuator error" + // 2 : "Red Error (No start)" + // 1 : "Warning (check engine)" + // 0 : "Init" + uint8_t FTCU_Err_Stat : 5; // Bits= 5 + + // Actual state of the FuelPump 1 + // 2 : "Init value" + // 1 : "Fuel pump is operable" + // 0 : "Fuel pump not operable" + uint8_t FTCU_FuelPumpOK_1_Stat : 2; // Bits= 2 + + // Actual state of the FuelPump 2 + // 2 : "Init value" + // 1 : "Fuel pump is operable" + // 0 : "Fuel pump not operable" + uint8_t FTCU_FuelPumpOK_2_Stat : 2; // Bits= 2 + + // Actual state of the FTCU + uint8_t FTCU_St_Val; // Bits= 8 + +#else + + // Low circuit fuel pressure (measured) + uint16_t FTCU_FuelPressure_Val; // Bits=10 Unit:'kPa' + + // Error status + // 4 : "2nd exhaust actuator error" + // 3 : "1st exhaust actuator error" + // 2 : "Red Error (No start)" + // 1 : "Warning (check engine)" + // 0 : "Init" + uint8_t FTCU_Err_Stat; // Bits= 5 + + // Actual state of the FuelPump 1 + // 2 : "Init value" + // 1 : "Fuel pump is operable" + // 0 : "Fuel pump not operable" + uint8_t FTCU_FuelPumpOK_1_Stat; // Bits= 2 + + // Actual state of the FuelPump 2 + // 2 : "Init value" + // 1 : "Fuel pump is operable" + // 0 : "Fuel pump not operable" + uint8_t FTCU_FuelPumpOK_2_Stat; // Bits= 2 + + // Actual state of the FTCU + uint8_t FTCU_St_Val; // Bits= 8 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} FTCU_DAT2_t; + +// def @FTCU_DAT3 CAN Message (229 0xe5) +#define FTCU_DAT3_IDE (0U) +#define FTCU_DAT3_DLC (8U) +#define FTCU_DAT3_CANID (0xe5U) +#define FTCU_DAT3_CYC (10U) +// signal: @FTCU_Ubat_Val_ro +#define CANDB_FTCU_Ubat_Val_ro_CovFactor (0.01) +#define CANDB_FTCU_Ubat_Val_ro_toS(x) ( (uint16_t) (((x) - (0.0)) / (0.01)) ) +#define CANDB_FTCU_Ubat_Val_ro_fromS(x) ( (((x) * (0.01)) + (0.0)) ) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Actual CPU temperature of the FTCU + int16_t FTCU_CPUTemperature_Val; // [-] Bits=10 Unit:'�C' + + // Actual voltage of the FTCU + uint16_t FTCU_Ubat_Val_ro; // Bits=11 Factor= 0.01 Unit:'V' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t FTCU_Ubat_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Low circuit fuel pressure (estimated) + uint16_t FTCU_DesiredPressure_Val; // Bits=10 Unit:'kPa' + + // Instantaneous fuel consumption inmilliliter/second + uint8_t FTCU_FuelConsumption_Val; // Bits= 8 Unit:'ml/s' + +#else + + // Actual CPU temperature of the FTCU + int16_t FTCU_CPUTemperature_Val; // [-] Bits=10 Unit:'�C' + + // Actual voltage of the FTCU + uint16_t FTCU_Ubat_Val_ro; // Bits=11 Factor= 0.01 Unit:'V' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t FTCU_Ubat_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Low circuit fuel pressure (estimated) + uint16_t FTCU_DesiredPressure_Val; // Bits=10 Unit:'kPa' + + // Instantaneous fuel consumption inmilliliter/second + uint8_t FTCU_FuelConsumption_Val; // Bits= 8 Unit:'ml/s' + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} FTCU_DAT3_t; + +// def @SCU_02 CAN Message (242 0xf2) +#define SCU_02_IDE (0U) +#define SCU_02_DLC (6U) +#define SCU_02_CANID (0xf2U) +#define SCU_02_CYC (100U) +// signal: @SCU_LeftFrHeight_ro +#define CANDB_SCU_LeftFrHeight_ro_CovFactor (1) +#define CANDB_SCU_LeftFrHeight_ro_toS(x) ( (uint8_t) ((x) - (80)) ) +#define CANDB_SCU_LeftFrHeight_ro_fromS(x) ( ((x) + (80)) ) +// signal: @SCU_RightFrHeight_ro +#define CANDB_SCU_RightFrHeight_ro_CovFactor (1) +#define CANDB_SCU_RightFrHeight_ro_toS(x) ( (uint8_t) ((x) - (80)) ) +#define CANDB_SCU_RightFrHeight_ro_fromS(x) ( ((x) + (80)) ) +// signal: @SCU_LeftRearHeight_ro +#define CANDB_SCU_LeftRearHeight_ro_CovFactor (1) +#define CANDB_SCU_LeftRearHeight_ro_toS(x) ( (uint8_t) ((x) - (80)) ) +#define CANDB_SCU_LeftRearHeight_ro_fromS(x) ( ((x) + (80)) ) +// signal: @SCU_RightRearHeight_ro +#define CANDB_SCU_RightRearHeight_ro_CovFactor (1) +#define CANDB_SCU_RightRearHeight_ro_toS(x) ( (uint8_t) ((x) - (80)) ) +#define CANDB_SCU_RightRearHeight_ro_fromS(x) ( ((x) + (80)) ) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Left Front height (physical count value for height sensor pulse width) + // The range of the pulse width count value is 80-334. + // 80 is min pulse width reflecting the lowest limitation of wheel rebound. + // 334 is max pulse width reflecting the highest limitation + uint8_t SCU_LeftFrHeight_ro; // Bits= 8 Offset= 80 + +#ifdef CANDB_USE_SIGFLOAT + uint16_t SCU_LeftFrHeight_phys; +#endif // CANDB_USE_SIGFLOAT + + // Right Front height (physical count value for height sensor pulse width) + // The range of the pulse width count value is 80-334. + // 80 is min pulse width reflecting the lowest limitation of wheel rebound. + // 334 is max pulse width reflecting the highest limitatio + uint8_t SCU_RightFrHeight_ro; // Bits= 8 Offset= 80 + +#ifdef CANDB_USE_SIGFLOAT + uint16_t SCU_RightFrHeight_phys; +#endif // CANDB_USE_SIGFLOAT + + // Left Rear height (physical count value for height sensor pulse width) + // The range of the pulse width count value is 80-334. + // 80 is min pulse width reflecting the lowest limitation of wheel rebound. + // 334 is max pulse width reflecting the highest limitation + uint8_t SCU_LeftRearHeight_ro; // Bits= 8 Offset= 80 + +#ifdef CANDB_USE_SIGFLOAT + uint16_t SCU_LeftRearHeight_phys; +#endif // CANDB_USE_SIGFLOAT + + // Right Rear height (physical count value for height sensor pulse width) + // The range of the pulse width count value is 80-334. + // 80 is min pulse width reflecting the lowest limitation of wheel rebound. + // 334 is max pulse width reflecting the highest limitation + uint8_t SCU_RightRearHeight_ro; // Bits= 8 Offset= 80 + +#ifdef CANDB_USE_SIGFLOAT + uint16_t SCU_RightRearHeight_phys; +#endif // CANDB_USE_SIGFLOAT + + // Rolling Counter [0 - 15] + uint8_t SCU_02_RC : 4; // Bits= 4 + + // Checksum XOR8 of the data field this message + // Checksum computed as per XOR algorithm: + // Byte 1 XOR byte 2 .... XOR byte n-1. (n = packet length.) + uint8_t SCU_02_CS; // Bits= 8 + +#else + + // Left Front height (physical count value for height sensor pulse width) + // The range of the pulse width count value is 80-334. + // 80 is min pulse width reflecting the lowest limitation of wheel rebound. + // 334 is max pulse width reflecting the highest limitation + uint8_t SCU_LeftFrHeight_ro; // Bits= 8 Offset= 80 + +#ifdef CANDB_USE_SIGFLOAT + uint16_t SCU_LeftFrHeight_phys; +#endif // CANDB_USE_SIGFLOAT + + // Right Front height (physical count value for height sensor pulse width) + // The range of the pulse width count value is 80-334. + // 80 is min pulse width reflecting the lowest limitation of wheel rebound. + // 334 is max pulse width reflecting the highest limitatio + uint8_t SCU_RightFrHeight_ro; // Bits= 8 Offset= 80 + +#ifdef CANDB_USE_SIGFLOAT + uint16_t SCU_RightFrHeight_phys; +#endif // CANDB_USE_SIGFLOAT + + // Left Rear height (physical count value for height sensor pulse width) + // The range of the pulse width count value is 80-334. + // 80 is min pulse width reflecting the lowest limitation of wheel rebound. + // 334 is max pulse width reflecting the highest limitation + uint8_t SCU_LeftRearHeight_ro; // Bits= 8 Offset= 80 + +#ifdef CANDB_USE_SIGFLOAT + uint16_t SCU_LeftRearHeight_phys; +#endif // CANDB_USE_SIGFLOAT + + // Right Rear height (physical count value for height sensor pulse width) + // The range of the pulse width count value is 80-334. + // 80 is min pulse width reflecting the lowest limitation of wheel rebound. + // 334 is max pulse width reflecting the highest limitation + uint8_t SCU_RightRearHeight_ro; // Bits= 8 Offset= 80 + +#ifdef CANDB_USE_SIGFLOAT + uint16_t SCU_RightRearHeight_phys; +#endif // CANDB_USE_SIGFLOAT + + // Rolling Counter [0 - 15] + uint8_t SCU_02_RC; // Bits= 4 + + // Checksum XOR8 of the data field this message + // Checksum computed as per XOR algorithm: + // Byte 1 XOR byte 2 .... XOR byte n-1. (n = packet length.) + uint8_t SCU_02_CS; // Bits= 8 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} SCU_02_t; + // def @ESC_04 CAN Message (256 0x100) #define ESC_04_IDE (0U) #define ESC_04_DLC (8U) @@ -63,6 +1864,267 @@ extern "C" { #endif +// Value tables for @ESC_Lamp signal + +#ifndef ESC_Lamp_ESC_04_ESC_Fault +#define ESC_Lamp_ESC_04_ESC_Fault (1) +#endif + +#ifndef ESC_Lamp_ESC_04_No_Faults +#define ESC_Lamp_ESC_04_No_Faults (0) +#endif + + +// Value tables for @ESC_AVH_Active signal + +#ifndef ESC_AVH_Active_ESC_04_Active +#define ESC_AVH_Active_ESC_04_Active (1) +#endif + +#ifndef ESC_AVH_Active_ESC_04_Not_Active +#define ESC_AVH_Active_ESC_04_Not_Active (0) +#endif + + +// Value tables for @ESC_Bls_Out signal + +#ifndef ESC_Bls_Out_ESC_04_BLS_active_or_pressed +#define ESC_Bls_Out_ESC_04_BLS_active_or_pressed (1) +#endif + +#ifndef ESC_Bls_Out_ESC_04_BLS_inactive_or_not_pressed +#define ESC_Bls_Out_ESC_04_BLS_inactive_or_not_pressed (0) +#endif + + +// Value tables for @ESC_Bla signal + +#ifndef ESC_Bla_ESC_04_Brake_lights_off +#define ESC_Bla_ESC_04_Brake_lights_off (0) +#endif + +#ifndef ESC_Bla_ESC_04_Activate_brake_lights +#define ESC_Bla_ESC_04_Activate_brake_lights (1) +#endif + + +// Value tables for @ESC_ABS_Lamp signal + +#ifndef ESC_ABS_Lamp_ESC_04_ABS_Fault +#define ESC_ABS_Lamp_ESC_04_ABS_Fault (1) +#endif + +#ifndef ESC_ABS_Lamp_ESC_04_No_Faults +#define ESC_ABS_Lamp_ESC_04_No_Faults (0) +#endif + + +// Value tables for @ESC_EBD_Lamp signal + +#ifndef ESC_EBD_Lamp_ESC_04_EBD_Fault +#define ESC_EBD_Lamp_ESC_04_EBD_Fault (1) +#endif + +#ifndef ESC_EBD_Lamp_ESC_04_No_faults +#define ESC_EBD_Lamp_ESC_04_No_faults (0) +#endif + + +// Value tables for @ESC_TCS_Fault signal + +#ifndef ESC_TCS_Fault_ESC_04_TCS_Fault +#define ESC_TCS_Fault_ESC_04_TCS_Fault (1) +#endif + +#ifndef ESC_TCS_Fault_ESC_04_No_faults +#define ESC_TCS_Fault_ESC_04_No_faults (0) +#endif + + +// Value tables for @ESC_CDPDecelActive signal + +#ifndef ESC_CDPDecelActive_ESC_04_Active +#define ESC_CDPDecelActive_ESC_04_Active (1) +#endif + +#ifndef ESC_CDPDecelActive_ESC_04_Not_Active +#define ESC_CDPDecelActive_ESC_04_Not_Active (0) +#endif + + +// Value tables for @ESC_BLS_Fault signal + +#ifndef ESC_BLS_Fault_ESC_04_BLS_Faulty +#define ESC_BLS_Fault_ESC_04_BLS_Faulty (1) +#endif + +#ifndef ESC_BLS_Fault_ESC_04_BLS_not_faulty +#define ESC_BLS_Fault_ESC_04_BLS_not_faulty (0) +#endif + + +// Value tables for @ESC_CtlActiveAbs signal + +#ifndef ESC_CtlActiveAbs_ESC_04_ABS_control_active +#define ESC_CtlActiveAbs_ESC_04_ABS_control_active (1) +#endif + +#ifndef ESC_CtlActiveAbs_ESC_04_ABS_control_not_active +#define ESC_CtlActiveAbs_ESC_04_ABS_control_not_active (0) +#endif + + +// Value tables for @ESC_CtlActiveEbd signal + +#ifndef ESC_CtlActiveEbd_ESC_04_EBD_control_active +#define ESC_CtlActiveEbd_ESC_04_EBD_control_active (1) +#endif + +#ifndef ESC_CtlActiveEbd_ESC_04_EBD_control_not_active +#define ESC_CtlActiveEbd_ESC_04_EBD_control_not_active (0) +#endif + + +// Value tables for @ESC_CtlActiveTcs signal + +#ifndef ESC_CtlActiveTcs_ESC_04_TCS_control_active +#define ESC_CtlActiveTcs_ESC_04_TCS_control_active (1) +#endif + +#ifndef ESC_CtlActiveTcs_ESC_04_TCS_control_not_active +#define ESC_CtlActiveTcs_ESC_04_TCS_control_not_active (0) +#endif + + +// Value tables for @ESC_CtlActiveVdc signal + +#ifndef ESC_CtlActiveVdc_ESC_04_VDC_control_currently_active +#define ESC_CtlActiveVdc_ESC_04_VDC_control_currently_active (1) +#endif + +#ifndef ESC_CtlActiveVdc_ESC_04_VDC_control_not_active +#define ESC_CtlActiveVdc_ESC_04_VDC_control_not_active (0) +#endif + + +// Value tables for @ESC_Passive_Lamp signal + +#ifndef ESC_Passive_Lamp_ESC_04_Passive_lamp_ON +#define ESC_Passive_Lamp_ESC_04_Passive_lamp_ON (1) +#endif + +#ifndef ESC_Passive_Lamp_ESC_04_Passive_lamp_OFF +#define ESC_Passive_Lamp_ESC_04_Passive_lamp_OFF (0) +#endif + + +// Value tables for @ESC_Gearshift_Inhibit signal + +#ifndef ESC_Gearshift_Inhibit_ESC_04_Allow_gear_shifting +#define ESC_Gearshift_Inhibit_ESC_04_Allow_gear_shifting (0) +#endif + +#ifndef ESC_Gearshift_Inhibit_ESC_04_Inhibit_gear_shift +#define ESC_Gearshift_Inhibit_ESC_04_Inhibit_gear_shift (1) +#endif + + +// Value tables for @ESC_HDC_Activated signal + +#ifndef ESC_HDC_Activated_ESC_04_HDC_function_has_been_activated_by_driver +#define ESC_HDC_Activated_ESC_04_HDC_function_has_been_activated_by_driver (1) +#endif + +#ifndef ESC_HDC_Activated_ESC_04_HDC_function_in_inactive_state +#define ESC_HDC_Activated_ESC_04_HDC_function_in_inactive_state (0) +#endif + + +// Value tables for @ESC_CtlActiveHDC signal + +#ifndef ESC_CtlActiveHDC_ESC_04_HDC_control_active_currently +#define ESC_CtlActiveHDC_ESC_04_HDC_control_active_currently (1) +#endif + +#ifndef ESC_CtlActiveHDC_ESC_04_HDC_control_not_active +#define ESC_CtlActiveHDC_ESC_04_HDC_control_not_active (0) +#endif + + +// Value tables for @ESC_HDC_rejected signal + +#ifndef ESC_HDC_rejected_ESC_04_HDC_cannot_be_activated_in_current_driving_mode +#define ESC_HDC_rejected_ESC_04_HDC_cannot_be_activated_in_current_driving_mode (1) +#endif + +#ifndef ESC_HDC_rejected_ESC_04_HDC_can_be_activated +#define ESC_HDC_rejected_ESC_04_HDC_can_be_activated (0) +#endif + + +// Value tables for @ESC_EmergencyBraking signal + +#ifndef ESC_EmergencyBraking_ESC_04_Emergency_braking +#define ESC_EmergencyBraking_ESC_04_Emergency_braking (1) +#endif + +#ifndef ESC_EmergencyBraking_ESC_04_No_emergency_braking +#define ESC_EmergencyBraking_ESC_04_No_emergency_braking (0) +#endif + + +// Value tables for @ESC_RequestToEPB signal + +#ifndef ESC_RequestToEPB_ESC_04_Lock_Brake +#define ESC_RequestToEPB_ESC_04_Lock_Brake (3) +#endif + +#ifndef ESC_RequestToEPB_ESC_04_Release_Brake +#define ESC_RequestToEPB_ESC_04_Release_Brake (2) +#endif + +#ifndef ESC_RequestToEPB_ESC_04_No_Request +#define ESC_RequestToEPB_ESC_04_No_Request (1) +#endif + +#ifndef ESC_RequestToEPB_ESC_04_Not_Initialized +#define ESC_RequestToEPB_ESC_04_Not_Initialized (0) +#endif + + +// Value tables for @ESC_CDPDecelAvailable signal + +#ifndef ESC_CDPDecelAvailable_ESC_04_Available +#define ESC_CDPDecelAvailable_ESC_04_Available (1) +#endif + +#ifndef ESC_CDPDecelAvailable_ESC_04_Not_Available +#define ESC_CDPDecelAvailable_ESC_04_Not_Available (0) +#endif + + +// Value tables for @ESC_PEBWarningLampReq signal + +#ifndef ESC_PEBWarningLampReq_ESC_04_Warning_requested +#define ESC_PEBWarningLampReq_ESC_04_Warning_requested (1) +#endif + +#ifndef ESC_PEBWarningLampReq_ESC_04_No_Warning_requested +#define ESC_PEBWarningLampReq_ESC_04_No_Warning_requested (0) +#endif + + +// Value tables for @CddActive_2 signal + +#ifndef CddActive_2_ESC_04_Active +#define CddActive_2_ESC_04_Active (1) +#endif + +#ifndef CddActive_2_ESC_04_Inactive +#define CddActive_2_ESC_04_Inactive (0) +#endif + + typedef struct { #ifdef CANDB_USE_BITS_SIGNAL @@ -79,6 +2141,141 @@ typedef struct // 0 : "Valid value in vehicle speed signal" uint8_t ESC_VehicleSpeed_ValueError : 1; // Bits= 1 + // ESC lamp control signal for HMI. + // 1 : "ESC Fault" + // 0 : "No Faults" + uint8_t ESC_Lamp : 1; // Bits= 1 + + // Feedback to EPB that indicates hydraulic holding + // $0 = Not Active + // $1 = Active + // 1 : "Active" + // 0 : "Not Active" + uint8_t ESC_AVH_Active : 1; // Bits= 1 + + // Brake Light Switch. Indicates brake pedal pressing status (derived from brake light switch and brake switch) + // 1 : "BLS active or pressed" + // 0 : "BLS inactive or not pressed" + uint8_t ESC_Bls_Out : 1; // Bits= 1 + + // Brake Light Activation. Indicates braking via driver or via other functions. + // 0 : "Brake lights off" + // 1 : "Activate brake lights" + uint8_t ESC_Bla : 1; // Bits= 1 + + // ABS lamp control signal for HMI and ABS function fault indication + // 1 : "ABS Fault" + // 0 : "No Faults" + uint8_t ESC_ABS_Lamp : 1; // Bits= 1 + + // EBD function or booster fault indication for BK-Lamp control. + // 1 : "EBD Fault" + // 0 : "No faults" + uint8_t ESC_EBD_Lamp : 1; // Bits= 1 + + // TCS function fault indication + // 1 : "TCS Fault" + // 0 : "No faults" + uint8_t ESC_TCS_Fault : 1; // Bits= 1 + + // Indicates that deceleration request from EPB is executed + // $0 = Not Active + // $1 = Active + // 1 : "Active" + // 0 : "Not Active" + uint8_t ESC_CDPDecelActive : 1; // Bits= 1 + + // Brake Light Switch fault indication. + // 1 : "BLS Faulty" + // 0 : "BLS not faulty" + uint8_t ESC_BLS_Fault : 1; // Bits= 1 + + // Indicates activity of ABS control + // 1 : "ABS control active" + // 0 : "ABS control not active" + uint8_t ESC_CtlActiveAbs : 1; // Bits= 1 + + // Indicates activity of EBD control + // 1 : "EBD control active" + // 0 : "EBD control not active" + uint8_t ESC_CtlActiveEbd : 1; // Bits= 1 + + // Indicates activity of TCS control + // 1 : "TCS control active" + // 0 : "TCS control not active" + uint8_t ESC_CtlActiveTcs : 1; // Bits= 1 + + // Indicates activity of VDC control (VDC= ESC function to stabilize the vehicle; not the differential function) + // 1 : "VDC control currently active" + // 0 : "VDC control not active" + uint8_t ESC_CtlActiveVdc : 1; // Bits= 1 + + // Control signal to HMI to control passive lamp. (degraded state of ESC CU functions) + // 1 : "Passive lamp ON" + // 0 : "Passive lamp OFF" + uint8_t ESC_Passive_Lamp : 1; // Bits= 1 + + // During critical activity in ESC control unit, request to gearbox control unit to inhibit gear shifting. + // 0 : "Allow gear shifting" + // 1 : "Inhibit gear shift" + uint8_t ESC_Gearshift_Inhibit : 1; // Bits= 1 + + // Indicates that driver has activated HDC function using the HDC switch. (not controller status) + // 1 : "HDC function has been activated by driver" + // 0 : "HDC function in inactive state" + uint8_t ESC_HDC_Activated : 1; // Bits= 1 + + // HDC controller activity indication + // 1 : "HDC control active currently" + // 0 : "HDC control not active" + uint8_t ESC_CtlActiveHDC : 1; // Bits= 1 + + // HDC activation rejected, if driver presses HDC switch in wrong driving mode. + // 1 : "HDC cannot be activated in current driving mode" + // 0 : "HDC can be activated" + uint8_t ESC_HDC_rejected : 1; // Bits= 1 + + // Emergency braking function status + // 1 : "Emergency braking" + // 0 : "No emergency braking" + uint8_t ESC_EmergencyBraking : 1; // Bits= 1 + + // ESC request to open or close the park brake + // $0 = Not Initialized + // $1 = No Request + // $2 = Release Brake + // $3 = Lock Brake + // 3 : "Lock Brake" + // 2 : "Release Brake" + // 1 : "No Request" + // 0 : "Not Initialized" + uint8_t ESC_RequestToEPB : 2; // Bits= 2 + + // Indicates that CDP is available for decelerating the vehicle + // $0 = Not Available + // $1 = Available + // 1 : "Available" + // 0 : "Not Available" + uint8_t ESC_CDPDecelAvailable : 1; // Bits= 1 + + // Activate animation in IC to inform user that the vehicle was braked in both of the following cases: + // - Automatic emergency braking activation without driver braking + // - Automatic emergency braking activation with driver brake assist + // 1 : "Warning requested" + // 0 : "No Warning requested" + uint8_t ESC_PEBWarningLampReq : 1; // Bits= 1 + + // Indicates the current speed limitation due to a Hill Descent Assist phase + uint8_t ESC_HDC_SpeedLimit; // Bits= 8 Unit:'km/h' + + // Indicates cdd control active (Controlled Deceleration for Driver Assistant Systems) + // $0 = Inactive + // $1 = Active + // (CddActive duplicata) + // 1 : "Active" + // 0 : "Inactive" + uint8_t CddActive_2 : 1; // Bits= 1 + // Rolling Counter [0 - 15] uint8_t ESC_04_RC : 4; // Bits= 4 @@ -99,6 +2296,141 @@ typedef struct // 0 : "Valid value in vehicle speed signal" uint8_t ESC_VehicleSpeed_ValueError; // Bits= 1 + // ESC lamp control signal for HMI. + // 1 : "ESC Fault" + // 0 : "No Faults" + uint8_t ESC_Lamp; // Bits= 1 + + // Feedback to EPB that indicates hydraulic holding + // $0 = Not Active + // $1 = Active + // 1 : "Active" + // 0 : "Not Active" + uint8_t ESC_AVH_Active; // Bits= 1 + + // Brake Light Switch. Indicates brake pedal pressing status (derived from brake light switch and brake switch) + // 1 : "BLS active or pressed" + // 0 : "BLS inactive or not pressed" + uint8_t ESC_Bls_Out; // Bits= 1 + + // Brake Light Activation. Indicates braking via driver or via other functions. + // 0 : "Brake lights off" + // 1 : "Activate brake lights" + uint8_t ESC_Bla; // Bits= 1 + + // ABS lamp control signal for HMI and ABS function fault indication + // 1 : "ABS Fault" + // 0 : "No Faults" + uint8_t ESC_ABS_Lamp; // Bits= 1 + + // EBD function or booster fault indication for BK-Lamp control. + // 1 : "EBD Fault" + // 0 : "No faults" + uint8_t ESC_EBD_Lamp; // Bits= 1 + + // TCS function fault indication + // 1 : "TCS Fault" + // 0 : "No faults" + uint8_t ESC_TCS_Fault; // Bits= 1 + + // Indicates that deceleration request from EPB is executed + // $0 = Not Active + // $1 = Active + // 1 : "Active" + // 0 : "Not Active" + uint8_t ESC_CDPDecelActive; // Bits= 1 + + // Brake Light Switch fault indication. + // 1 : "BLS Faulty" + // 0 : "BLS not faulty" + uint8_t ESC_BLS_Fault; // Bits= 1 + + // Indicates activity of ABS control + // 1 : "ABS control active" + // 0 : "ABS control not active" + uint8_t ESC_CtlActiveAbs; // Bits= 1 + + // Indicates activity of EBD control + // 1 : "EBD control active" + // 0 : "EBD control not active" + uint8_t ESC_CtlActiveEbd; // Bits= 1 + + // Indicates activity of TCS control + // 1 : "TCS control active" + // 0 : "TCS control not active" + uint8_t ESC_CtlActiveTcs; // Bits= 1 + + // Indicates activity of VDC control (VDC= ESC function to stabilize the vehicle; not the differential function) + // 1 : "VDC control currently active" + // 0 : "VDC control not active" + uint8_t ESC_CtlActiveVdc; // Bits= 1 + + // Control signal to HMI to control passive lamp. (degraded state of ESC CU functions) + // 1 : "Passive lamp ON" + // 0 : "Passive lamp OFF" + uint8_t ESC_Passive_Lamp; // Bits= 1 + + // During critical activity in ESC control unit, request to gearbox control unit to inhibit gear shifting. + // 0 : "Allow gear shifting" + // 1 : "Inhibit gear shift" + uint8_t ESC_Gearshift_Inhibit; // Bits= 1 + + // Indicates that driver has activated HDC function using the HDC switch. (not controller status) + // 1 : "HDC function has been activated by driver" + // 0 : "HDC function in inactive state" + uint8_t ESC_HDC_Activated; // Bits= 1 + + // HDC controller activity indication + // 1 : "HDC control active currently" + // 0 : "HDC control not active" + uint8_t ESC_CtlActiveHDC; // Bits= 1 + + // HDC activation rejected, if driver presses HDC switch in wrong driving mode. + // 1 : "HDC cannot be activated in current driving mode" + // 0 : "HDC can be activated" + uint8_t ESC_HDC_rejected; // Bits= 1 + + // Emergency braking function status + // 1 : "Emergency braking" + // 0 : "No emergency braking" + uint8_t ESC_EmergencyBraking; // Bits= 1 + + // ESC request to open or close the park brake + // $0 = Not Initialized + // $1 = No Request + // $2 = Release Brake + // $3 = Lock Brake + // 3 : "Lock Brake" + // 2 : "Release Brake" + // 1 : "No Request" + // 0 : "Not Initialized" + uint8_t ESC_RequestToEPB; // Bits= 2 + + // Indicates that CDP is available for decelerating the vehicle + // $0 = Not Available + // $1 = Available + // 1 : "Available" + // 0 : "Not Available" + uint8_t ESC_CDPDecelAvailable; // Bits= 1 + + // Activate animation in IC to inform user that the vehicle was braked in both of the following cases: + // - Automatic emergency braking activation without driver braking + // - Automatic emergency braking activation with driver brake assist + // 1 : "Warning requested" + // 0 : "No Warning requested" + uint8_t ESC_PEBWarningLampReq; // Bits= 1 + + // Indicates the current speed limitation due to a Hill Descent Assist phase + uint8_t ESC_HDC_SpeedLimit; // Bits= 8 Unit:'km/h' + + // Indicates cdd control active (Controlled Deceleration for Driver Assistant Systems) + // $0 = Inactive + // $1 = Active + // (CddActive duplicata) + // 1 : "Active" + // 0 : "Inactive" + uint8_t CddActive_2; // Bits= 1 + // Rolling Counter [0 - 15] uint8_t ESC_04_RC; // Bits= 4 @@ -115,6 +2447,638 @@ typedef struct } ESC_04_t; +// def @ESC_09 CAN Message (274 0x112) +#define ESC_09_IDE (0U) +#define ESC_09_DLC (4U) +#define ESC_09_CANID (0x112U) +#define ESC_09_CYC (20U) +// signal: @ESC_VacuumPressure_Val_ro +#define CANDB_ESC_VacuumPressure_Val_ro_CovFactor (5) +#define CANDB_ESC_VacuumPressure_Val_ro_toS(x) ( (uint8_t) (((x) - (-100)) / (5)) ) +#define CANDB_ESC_VacuumPressure_Val_ro_fromS(x) ( (((x) * (5)) + (-100)) ) +// signal: @ESC_BrakePressureMC_Val_ro +#define CANDB_ESC_BrakePressureMC_Val_ro_CovFactor (0.1) +#define CANDB_ESC_BrakePressureMC_Val_ro_toS(x) ( (uint16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_ESC_BrakePressureMC_Val_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Vacuum pressure information in brake booster front chamber + uint8_t ESC_VacuumPressure_Val_ro : 5; // Bits= 5 Offset= -100 Factor= 5 Unit:'kPa' + +#ifdef CANDB_USE_SIGFLOAT + int8_t ESC_VacuumPressure_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Reserved signal for future extension. E.g. vacuum sensor status + uint8_t ESC_VacuumSignalReserved : 2; // Bits= 2 + + // Brake pressure (estimated/measured) in the master cylinder + // 0xFFF = Error + uint16_t ESC_BrakePressureMC_Val_ro; // Bits=12 Factor= 0.1 Unit:'bar' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t ESC_BrakePressureMC_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Rolling Counter [0 - 15] + uint8_t ESC_09_RC : 4; // Bits= 4 + + // Checksum CRC8 SAE J1850 of the data field this message + uint8_t ESC_09_CS; // Bits= 8 + +#else + + // Vacuum pressure information in brake booster front chamber + uint8_t ESC_VacuumPressure_Val_ro; // Bits= 5 Offset= -100 Factor= 5 Unit:'kPa' + +#ifdef CANDB_USE_SIGFLOAT + int8_t ESC_VacuumPressure_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Reserved signal for future extension. E.g. vacuum sensor status + uint8_t ESC_VacuumSignalReserved; // Bits= 2 + + // Brake pressure (estimated/measured) in the master cylinder + // 0xFFF = Error + uint16_t ESC_BrakePressureMC_Val_ro; // Bits=12 Factor= 0.1 Unit:'bar' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t ESC_BrakePressureMC_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Rolling Counter [0 - 15] + uint8_t ESC_09_RC; // Bits= 4 + + // Checksum CRC8 SAE J1850 of the data field this message + uint8_t ESC_09_CS; // Bits= 8 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} ESC_09_t; + +// def @VAU2_Msg1 CAN Message (289 0x121) +#define VAU2_Msg1_IDE (0U) +#define VAU2_Msg1_DLC (3U) +#define VAU2_Msg1_CANID (0x121U) +#define VAU2_Msg1_CYC (20U) + +// Value tables for @VAU_Comm_Req signal + +#ifndef VAU_Comm_Req_VAU2_Msg1_WakeUp_Request +#define VAU_Comm_Req_VAU2_Msg1_WakeUp_Request (1) +#endif + +#ifndef VAU_Comm_Req_VAU2_Msg1_No_Request +#define VAU_Comm_Req_VAU2_Msg1_No_Request (0) +#endif + + +// Value tables for @VAU_BCM_Authentication_Resp signal + +#ifndef VAU_BCM_Authentication_Resp_VAU2_Msg1_Trunk_Close_NOK +#define VAU_BCM_Authentication_Resp_VAU2_Msg1_Trunk_Close_NOK (14) +#endif + +#ifndef VAU_BCM_Authentication_Resp_VAU2_Msg1_Trunk_Close_OK +#define VAU_BCM_Authentication_Resp_VAU2_Msg1_Trunk_Close_OK (13) +#endif + +#ifndef VAU_BCM_Authentication_Resp_VAU2_Msg1_DriveTrans_NOK +#define VAU_BCM_Authentication_Resp_VAU2_Msg1_DriveTrans_NOK (12) +#endif + +#ifndef VAU_BCM_Authentication_Resp_VAU2_Msg1_DriveTrans_OK +#define VAU_BCM_Authentication_Resp_VAU2_Msg1_DriveTrans_OK (11) +#endif + +#ifndef VAU_BCM_Authentication_Resp_VAU2_Msg1_KeyDetection_Req_NOK +#define VAU_BCM_Authentication_Resp_VAU2_Msg1_KeyDetection_Req_NOK (10) +#endif + +#ifndef VAU_BCM_Authentication_Resp_VAU2_Msg1_KeyDetection_Req_OK +#define VAU_BCM_Authentication_Resp_VAU2_Msg1_KeyDetection_Req_OK (9) +#endif + +#ifndef VAU_BCM_Authentication_Resp_VAU2_Msg1_Trunk_CloseLock_NOK +#define VAU_BCM_Authentication_Resp_VAU2_Msg1_Trunk_CloseLock_NOK (8) +#endif + +#ifndef VAU_BCM_Authentication_Resp_VAU2_Msg1_Trunk_Open_NOK +#define VAU_BCM_Authentication_Resp_VAU2_Msg1_Trunk_Open_NOK (7) +#endif + +#ifndef VAU_BCM_Authentication_Resp_VAU2_Msg1_Vehicle_Lock_Permission_NOK +#define VAU_BCM_Authentication_Resp_VAU2_Msg1_Vehicle_Lock_Permission_NOK (6) +#endif + +#ifndef VAU_BCM_Authentication_Resp_VAU2_Msg1_Transition_state_NOK +#define VAU_BCM_Authentication_Resp_VAU2_Msg1_Transition_state_NOK (5) +#endif + +#ifndef VAU_BCM_Authentication_Resp_VAU2_Msg1_Trunk_CloseLock_OK +#define VAU_BCM_Authentication_Resp_VAU2_Msg1_Trunk_CloseLock_OK (4) +#endif + +#ifndef VAU_BCM_Authentication_Resp_VAU2_Msg1_Trunk_Open_OK +#define VAU_BCM_Authentication_Resp_VAU2_Msg1_Trunk_Open_OK (3) +#endif + +#ifndef VAU_BCM_Authentication_Resp_VAU2_Msg1_Vehicle_Lock_Permission_OK +#define VAU_BCM_Authentication_Resp_VAU2_Msg1_Vehicle_Lock_Permission_OK (2) +#endif + +#ifndef VAU_BCM_Authentication_Resp_VAU2_Msg1_Transition_state_OK +#define VAU_BCM_Authentication_Resp_VAU2_Msg1_Transition_state_OK (1) +#endif + +#ifndef VAU_BCM_Authentication_Resp_VAU2_Msg1_No_response +#define VAU_BCM_Authentication_Resp_VAU2_Msg1_No_response (0) +#endif + + +// Value tables for @VAU_FL_DoorHandle_Req signal + +#ifndef VAU_FL_DoorHandle_Req_VAU2_Msg1_FL_UnlockReq_Long +#define VAU_FL_DoorHandle_Req_VAU2_Msg1_FL_UnlockReq_Long (6) +#endif + +#ifndef VAU_FL_DoorHandle_Req_VAU2_Msg1_FL_LockReq_Long +#define VAU_FL_DoorHandle_Req_VAU2_Msg1_FL_LockReq_Long (5) +#endif + +#ifndef VAU_FL_DoorHandle_Req_VAU2_Msg1_FL_UnlockReq +#define VAU_FL_DoorHandle_Req_VAU2_Msg1_FL_UnlockReq (4) +#endif + +#ifndef VAU_FL_DoorHandle_Req_VAU2_Msg1_FL_LockReq +#define VAU_FL_DoorHandle_Req_VAU2_Msg1_FL_LockReq (3) +#endif + +#ifndef VAU_FL_DoorHandle_Req_VAU2_Msg1_FL_CloseReq +#define VAU_FL_DoorHandle_Req_VAU2_Msg1_FL_CloseReq (2) +#endif + +#ifndef VAU_FL_DoorHandle_Req_VAU2_Msg1_FL_OpenReq +#define VAU_FL_DoorHandle_Req_VAU2_Msg1_FL_OpenReq (1) +#endif + +#ifndef VAU_FL_DoorHandle_Req_VAU2_Msg1_No_Request +#define VAU_FL_DoorHandle_Req_VAU2_Msg1_No_Request (0) +#endif + + +// Value tables for @VAU_FR_DoorHandle_Req signal + +#ifndef VAU_FR_DoorHandle_Req_VAU2_Msg1_FR_UnlockReq_Long +#define VAU_FR_DoorHandle_Req_VAU2_Msg1_FR_UnlockReq_Long (6) +#endif + +#ifndef VAU_FR_DoorHandle_Req_VAU2_Msg1_FR_LockReq_Long +#define VAU_FR_DoorHandle_Req_VAU2_Msg1_FR_LockReq_Long (5) +#endif + +#ifndef VAU_FR_DoorHandle_Req_VAU2_Msg1_FR_UnlockReq +#define VAU_FR_DoorHandle_Req_VAU2_Msg1_FR_UnlockReq (4) +#endif + +#ifndef VAU_FR_DoorHandle_Req_VAU2_Msg1_FR_LockReq +#define VAU_FR_DoorHandle_Req_VAU2_Msg1_FR_LockReq (3) +#endif + +#ifndef VAU_FR_DoorHandle_Req_VAU2_Msg1_FR_CloseReq +#define VAU_FR_DoorHandle_Req_VAU2_Msg1_FR_CloseReq (2) +#endif + +#ifndef VAU_FR_DoorHandle_Req_VAU2_Msg1_FR_OpenReq +#define VAU_FR_DoorHandle_Req_VAU2_Msg1_FR_OpenReq (1) +#endif + +#ifndef VAU_FR_DoorHandle_Req_VAU2_Msg1_No_Request +#define VAU_FR_DoorHandle_Req_VAU2_Msg1_No_Request (0) +#endif + + +// Value tables for @VAU_RL_DoorHandle_Req signal + +#ifndef VAU_RL_DoorHandle_Req_VAU2_Msg1_RL_UnlockReq_Long +#define VAU_RL_DoorHandle_Req_VAU2_Msg1_RL_UnlockReq_Long (6) +#endif + +#ifndef VAU_RL_DoorHandle_Req_VAU2_Msg1_RL_LockReq_Long +#define VAU_RL_DoorHandle_Req_VAU2_Msg1_RL_LockReq_Long (5) +#endif + +#ifndef VAU_RL_DoorHandle_Req_VAU2_Msg1_RL_UnlockReq +#define VAU_RL_DoorHandle_Req_VAU2_Msg1_RL_UnlockReq (4) +#endif + +#ifndef VAU_RL_DoorHandle_Req_VAU2_Msg1_RL_LockReq +#define VAU_RL_DoorHandle_Req_VAU2_Msg1_RL_LockReq (3) +#endif + +#ifndef VAU_RL_DoorHandle_Req_VAU2_Msg1_RL_CloseReq +#define VAU_RL_DoorHandle_Req_VAU2_Msg1_RL_CloseReq (2) +#endif + +#ifndef VAU_RL_DoorHandle_Req_VAU2_Msg1_RL_OpenReq +#define VAU_RL_DoorHandle_Req_VAU2_Msg1_RL_OpenReq (1) +#endif + +#ifndef VAU_RL_DoorHandle_Req_VAU2_Msg1_No_Request +#define VAU_RL_DoorHandle_Req_VAU2_Msg1_No_Request (0) +#endif + + +// Value tables for @VAU_Alarm_Req signal + +#ifndef VAU_Alarm_Req_VAU2_Msg1_Hit_detected +#define VAU_Alarm_Req_VAU2_Msg1_Hit_detected (2) +#endif + +#ifndef VAU_Alarm_Req_VAU2_Msg1_Towing_detect +#define VAU_Alarm_Req_VAU2_Msg1_Towing_detect (1) +#endif + +#ifndef VAU_Alarm_Req_VAU2_Msg1_Not_requested +#define VAU_Alarm_Req_VAU2_Msg1_Not_requested (0) +#endif + + +// Value tables for @VAU_RR_DoorHandle_Req signal + +#ifndef VAU_RR_DoorHandle_Req_VAU2_Msg1_RR_UnlockReq_Long +#define VAU_RR_DoorHandle_Req_VAU2_Msg1_RR_UnlockReq_Long (6) +#endif + +#ifndef VAU_RR_DoorHandle_Req_VAU2_Msg1_RR_LockReq_Long +#define VAU_RR_DoorHandle_Req_VAU2_Msg1_RR_LockReq_Long (5) +#endif + +#ifndef VAU_RR_DoorHandle_Req_VAU2_Msg1_RR_UnlockReq +#define VAU_RR_DoorHandle_Req_VAU2_Msg1_RR_UnlockReq (4) +#endif + +#ifndef VAU_RR_DoorHandle_Req_VAU2_Msg1_RR_LockReq +#define VAU_RR_DoorHandle_Req_VAU2_Msg1_RR_LockReq (3) +#endif + +#ifndef VAU_RR_DoorHandle_Req_VAU2_Msg1_RR_CloseReq +#define VAU_RR_DoorHandle_Req_VAU2_Msg1_RR_CloseReq (2) +#endif + +#ifndef VAU_RR_DoorHandle_Req_VAU2_Msg1_RR_OpenReq +#define VAU_RR_DoorHandle_Req_VAU2_Msg1_RR_OpenReq (1) +#endif + +#ifndef VAU_RR_DoorHandle_Req_VAU2_Msg1_No_Request +#define VAU_RR_DoorHandle_Req_VAU2_Msg1_No_Request (0) +#endif + + +// Value tables for @VAU_NFC_Cmd signal + +#ifndef VAU_NFC_Cmd_VAU2_Msg1_NFC_failed_state +#define VAU_NFC_Cmd_VAU2_Msg1_NFC_failed_state (4) +#endif + +#ifndef VAU_NFC_Cmd_VAU2_Msg1_NFC_finished_state +#define VAU_NFC_Cmd_VAU2_Msg1_NFC_finished_state (3) +#endif + +#ifndef VAU_NFC_Cmd_VAU2_Msg1_NFC_normal_state +#define VAU_NFC_Cmd_VAU2_Msg1_NFC_normal_state (2) +#endif + +#ifndef VAU_NFC_Cmd_VAU2_Msg1_NFC_learning_state +#define VAU_NFC_Cmd_VAU2_Msg1_NFC_learning_state (1) +#endif + +#ifndef VAU_NFC_Cmd_VAU2_Msg1_Idle_state +#define VAU_NFC_Cmd_VAU2_Msg1_Idle_state (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Request to wake up the vehicle from VAU + // 1 : "WakeUp_Request" + // 0 : "No_Request" + uint8_t VAU_Comm_Req : 1; // Bits= 1 + + // Response to authorization of user request + // 14 : "Trunk Close NOK" + // 13 : "Trunk Close OK" + // 12 : "DriveTrans NOK" + // 11 : "DriveTrans OK" + // 10 : "KeyDetection Req NOK" + // 9 : "KeyDetection Req OK" + // 8 : "Trunk Close&Lock NOK" + // 7 : "Trunk Open NOK" + // 6 : "Vehicle Lock Permission NOK" + // 5 : "Transition state NOK" + // 4 : "Trunk Close&Lock OK" + // 3 : "Trunk Open OK" + // 2 : "Vehicle Lock Permission OK" + // 1 : "Transition state OK" + // 0 : "No response" + uint8_t VAU_BCM_Authentication_Resp : 4; // Bits= 4 + + // Request to lock/unlock from the FL handle + // 6 : "FL_UnlockReq_Long" + // 5 : "FL_LockReq_Long" + // 4 : "FL_UnlockReq" + // 3 : "FL_LockReq" + // 2 : "FL_CloseReq" + // 1 : "FL_OpenReq" + // 0 : "No_Request" + uint8_t VAU_FL_DoorHandle_Req : 3; // Bits= 3 + + // Request to lock/unlock from the FR handle + // 6 : "FR_UnlockReq_Long" + // 5 : "FR_LockReq_Long" + // 4 : "FR_UnlockReq" + // 3 : "FR_LockReq" + // 2 : "FR_CloseReq" + // 1 : "FR_OpenReq" + // 0 : "No_Request" + uint8_t VAU_FR_DoorHandle_Req : 3; // Bits= 3 + + // Request to lock/unlock from the RL handle + // 6 : "RL_UnlockReq_Long" + // 5 : "RL_LockReq_Long" + // 4 : "RL_UnlockReq" + // 3 : "RL_LockReq" + // 2 : "RL_CloseReq" + // 1 : "RL_OpenReq" + // 0 : "No_Request" + uint8_t VAU_RL_DoorHandle_Req : 3; // Bits= 3 + + // Request for activation of the anti-theft system from the VAU unit (movement sensor) + // 2 : "Hit detected" + // 1 : "Towing detect" + // 0 : "Not requested" + uint8_t VAU_Alarm_Req : 2; // Bits= 2 + + // Request to lock/unlock from the RR handle + // 6 : "RR_UnlockReq_Long" + // 5 : "RR_LockReq_Long" + // 4 : "RR_UnlockReq" + // 3 : "RR_LockReq" + // 2 : "RR_CloseReq" + // 1 : "RR_OpenReq" + // 0 : "No_Request" + uint8_t VAU_RR_DoorHandle_Req : 3; // Bits= 3 + + // Command to working state of NFC in Front Wireless Charger + // 4 : "NFC failed state" + // 3 : "NFC finished state" + // 2 : "NFC normal state" + // 1 : "NFC learning state" + // 0 : "Idle state" + uint8_t VAU_NFC_Cmd : 3; // Bits= 3 + +#else + + // Request to wake up the vehicle from VAU + // 1 : "WakeUp_Request" + // 0 : "No_Request" + uint8_t VAU_Comm_Req; // Bits= 1 + + // Response to authorization of user request + // 14 : "Trunk Close NOK" + // 13 : "Trunk Close OK" + // 12 : "DriveTrans NOK" + // 11 : "DriveTrans OK" + // 10 : "KeyDetection Req NOK" + // 9 : "KeyDetection Req OK" + // 8 : "Trunk Close&Lock NOK" + // 7 : "Trunk Open NOK" + // 6 : "Vehicle Lock Permission NOK" + // 5 : "Transition state NOK" + // 4 : "Trunk Close&Lock OK" + // 3 : "Trunk Open OK" + // 2 : "Vehicle Lock Permission OK" + // 1 : "Transition state OK" + // 0 : "No response" + uint8_t VAU_BCM_Authentication_Resp; // Bits= 4 + + // Request to lock/unlock from the FL handle + // 6 : "FL_UnlockReq_Long" + // 5 : "FL_LockReq_Long" + // 4 : "FL_UnlockReq" + // 3 : "FL_LockReq" + // 2 : "FL_CloseReq" + // 1 : "FL_OpenReq" + // 0 : "No_Request" + uint8_t VAU_FL_DoorHandle_Req; // Bits= 3 + + // Request to lock/unlock from the FR handle + // 6 : "FR_UnlockReq_Long" + // 5 : "FR_LockReq_Long" + // 4 : "FR_UnlockReq" + // 3 : "FR_LockReq" + // 2 : "FR_CloseReq" + // 1 : "FR_OpenReq" + // 0 : "No_Request" + uint8_t VAU_FR_DoorHandle_Req; // Bits= 3 + + // Request to lock/unlock from the RL handle + // 6 : "RL_UnlockReq_Long" + // 5 : "RL_LockReq_Long" + // 4 : "RL_UnlockReq" + // 3 : "RL_LockReq" + // 2 : "RL_CloseReq" + // 1 : "RL_OpenReq" + // 0 : "No_Request" + uint8_t VAU_RL_DoorHandle_Req; // Bits= 3 + + // Request for activation of the anti-theft system from the VAU unit (movement sensor) + // 2 : "Hit detected" + // 1 : "Towing detect" + // 0 : "Not requested" + uint8_t VAU_Alarm_Req; // Bits= 2 + + // Request to lock/unlock from the RR handle + // 6 : "RR_UnlockReq_Long" + // 5 : "RR_LockReq_Long" + // 4 : "RR_UnlockReq" + // 3 : "RR_LockReq" + // 2 : "RR_CloseReq" + // 1 : "RR_OpenReq" + // 0 : "No_Request" + uint8_t VAU_RR_DoorHandle_Req; // Bits= 3 + + // Command to working state of NFC in Front Wireless Charger + // 4 : "NFC failed state" + // 3 : "NFC finished state" + // 2 : "NFC normal state" + // 1 : "NFC learning state" + // 0 : "Idle state" + uint8_t VAU_NFC_Cmd; // Bits= 3 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} VAU2_Msg1_t; + +// def @ESC_YRS_01 CAN Message (304 0x130) +#define ESC_YRS_01_IDE (0U) +#define ESC_YRS_01_DLC (8U) +#define ESC_YRS_01_CANID (0x130U) +#define ESC_YRS_01_CYC (10U) +// signal: @ESC_PSIP1_Val_ro +#define CANDB_ESC_PSIP1_Val_ro_CovFactor (0.005) +#define CANDB_ESC_PSIP1_Val_ro_toS(x) ( (uint16_t) (((x) - (-163.84)) / (0.005)) ) +#define CANDB_ESC_PSIP1_Val_ro_fromS(x) ( (((x) * (0.005)) + (-163.84)) ) +// signal: @ESC_AY_Val_ro +#define CANDB_ESC_AY_Val_ro_CovFactor (0.0001274) +#define CANDB_ESC_AY_Val_ro_toS(x) ( (uint16_t) (((x) - (-4.1745)) / (0.0001274)) ) +#define CANDB_ESC_AY_Val_ro_fromS(x) ( (((x) * (0.0001274)) + (-4.1745)) ) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Yaw rate signal routed through ESP. Signal limited by SW to +/-100 degree per sec + uint16_t ESC_PSIP1_Val_ro; // Bits=16 Offset= -163.84 Factor= 0.005 Unit:'�/s' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t ESC_PSIP1_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Sensor cluster status signal routed through ESP + // xx00 Reserved + // xx01 Reserved + // xx10 Reserved + // xx11 Reserved + // x0xx No sync underflow detected + // x1xx Sync underflow detected + // 0xxx No sync failure detected + // 1xxx Sync failure detected + uint8_t ESC_CLU_Stat : 4; // Bits= 4 + + // Qualifier for yaw rate export signal + // xx00 Signal in specification + // xx01 Sensor not available + // xx10 Signal failure + // xx11 Reserved + // x0xx Initialization finished + // x1xx Initialization running + // 0xxx Reserved + // 1xxx Reserved + uint8_t ESC_PSIP1_Stat : 4; // Bits= 4 + + // Reserve Signal. Coded with 0000h + uint8_t ESC_Reserve1; // Bits= 8 + + // Lateral Acceleration signal routed through ESP. Signal limited by SW to -/+1.8 g + uint16_t ESC_AY_Val_ro; // Bits=16 Offset= -4.1745 Factor= 0.0001274 Unit:'g' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t ESC_AY_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Rolling Counter [0 - 15] + uint8_t ESC_YRS_01_RC : 4; // Bits= 4 + + // Qualifier for lateral acceleration export signal + // xx00 Signal in specification + // xx01 Sensor not available + // xx10 Signal failure + // xx11 Reserved + // x0xx Initialization finished + // x1xx Initialization running + // 0xxx Reserved + // 1xxx Reserved + uint8_t ESC_AY_Stat : 4; // Bits= 4 + + // Checksum CRC8 SAE J1850 of the data field this message + uint8_t ESC_YRS_01_CS; // Bits= 8 + +#else + + // Yaw rate signal routed through ESP. Signal limited by SW to +/-100 degree per sec + uint16_t ESC_PSIP1_Val_ro; // Bits=16 Offset= -163.84 Factor= 0.005 Unit:'�/s' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t ESC_PSIP1_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Sensor cluster status signal routed through ESP + // xx00 Reserved + // xx01 Reserved + // xx10 Reserved + // xx11 Reserved + // x0xx No sync underflow detected + // x1xx Sync underflow detected + // 0xxx No sync failure detected + // 1xxx Sync failure detected + uint8_t ESC_CLU_Stat; // Bits= 4 + + // Qualifier for yaw rate export signal + // xx00 Signal in specification + // xx01 Sensor not available + // xx10 Signal failure + // xx11 Reserved + // x0xx Initialization finished + // x1xx Initialization running + // 0xxx Reserved + // 1xxx Reserved + uint8_t ESC_PSIP1_Stat; // Bits= 4 + + // Reserve Signal. Coded with 0000h + uint8_t ESC_Reserve1; // Bits= 8 + + // Lateral Acceleration signal routed through ESP. Signal limited by SW to -/+1.8 g + uint16_t ESC_AY_Val_ro; // Bits=16 Offset= -4.1745 Factor= 0.0001274 Unit:'g' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t ESC_AY_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Rolling Counter [0 - 15] + uint8_t ESC_YRS_01_RC; // Bits= 4 + + // Qualifier for lateral acceleration export signal + // xx00 Signal in specification + // xx01 Sensor not available + // xx10 Signal failure + // xx11 Reserved + // x0xx Initialization finished + // x1xx Initialization running + // 0xxx Reserved + // 1xxx Reserved + uint8_t ESC_AY_Stat; // Bits= 4 + + // Checksum CRC8 SAE J1850 of the data field this message + uint8_t ESC_YRS_01_CS; // Bits= 8 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} ESC_YRS_01_t; + // def @EMS_Veh CAN Message (336 0x150) #define EMS_Veh_IDE (0U) #define EMS_Veh_DLC (8U) @@ -128,6 +3092,40 @@ typedef struct #define CANDB_EMS_EngCoolTemp_Val_ro_CovFactor (1) #define CANDB_EMS_EngCoolTemp_Val_ro_toS(x) ( (uint8_t) ((x) - (-40)) ) #define CANDB_EMS_EngCoolTemp_Val_ro_fromS(x) ( ((x) + (-40)) ) +// signal: @EMS_EngTrqStatic_Val_ro +#define CANDB_EMS_EngTrqStatic_Val_ro_CovFactor (0.25) +#define CANDB_EMS_EngTrqStatic_Val_ro_toS(x) ( (uint16_t) (((x) - (-500.0)) / (0.25)) ) +#define CANDB_EMS_EngTrqStatic_Val_ro_fromS(x) ( (((x) * (0.25)) + (-500.0)) ) + +// Value tables for @EMS_HvSystemFailure signal + +#ifndef EMS_HvSystemFailure_EMS_Veh_HVSYSTEMS_ERROR +#define EMS_HvSystemFailure_EMS_Veh_HVSYSTEMS_ERROR (3) +#endif + +#ifndef EMS_HvSystemFailure_EMS_Veh_HVSYSTEM_WARNING +#define EMS_HvSystemFailure_EMS_Veh_HVSYSTEM_WARNING (2) +#endif + +#ifndef EMS_HvSystemFailure_EMS_Veh_NO_ENERGY_SOURCE_AVAILABLE +#define EMS_HvSystemFailure_EMS_Veh_NO_ENERGY_SOURCE_AVAILABLE (1) +#endif + +#ifndef EMS_HvSystemFailure_EMS_Veh_NO_FAILURE +#define EMS_HvSystemFailure_EMS_Veh_NO_FAILURE (0) +#endif + + +// Value tables for @EMS_CoolLiquidLowWarning signal + +#ifndef EMS_CoolLiquidLowWarning_EMS_Veh_Warning +#define EMS_CoolLiquidLowWarning_EMS_Veh_Warning (1) +#endif + +#ifndef EMS_CoolLiquidLowWarning_EMS_Veh_No_Warning +#define EMS_CoolLiquidLowWarning_EMS_Veh_No_Warning (0) +#endif + typedef struct { @@ -147,6 +3145,40 @@ typedef struct int16_t EMS_EngCoolTemp_Val_phys; #endif // CANDB_USE_SIGFLOAT + // Ambient air pressure (barometric pressure) + uint8_t EMS_BARO_ENG_Val; // Bits= 8 Unit:'kPa' + + // Accelerator pedal position + uint8_t EMS_AccelPdlPosnOBD_Val; // Bits= 8 + + // Actual engine torque + uint16_t EMS_EngTrqStatic_Val_ro; // Bits=13 Offset= -500.0 Factor= 0.25 Unit:'Nm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t EMS_EngTrqStatic_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // HV system failure: + // $0 = No failure + // $1 = No energy source available - Request for starting engine will be displayed on IC + // $2 = HV-System warning + // $3 = HV-Systems error + // 3 : "HV-SYSTEMS_ERROR" + // 2 : "HV-SYSTEM_WARNING" + // 1 : "NO_ENERGY_SOURCE_AVAILABLE" + // 0 : "NO FAILURE" + uint8_t EMS_HvSystemFailure : 2; // Bits= 2 + + // Low lnevel of cooling liquid detected => Warning requested + // $0 = No Warning + // $1 = Warning + // 1 : "Warning" + // 0 : "No Warning" + uint8_t EMS_CoolLiquidLowWarning : 1; // Bits= 1 + + // Instantaneous fuel consumption inmilliliter/second + uint8_t EMS_InstFuelConsumption; // Bits= 8 Unit:'ml/s' + #else // Internal combustion engine: Engine speed @@ -163,6 +3195,40 @@ typedef struct int16_t EMS_EngCoolTemp_Val_phys; #endif // CANDB_USE_SIGFLOAT + // Ambient air pressure (barometric pressure) + uint8_t EMS_BARO_ENG_Val; // Bits= 8 Unit:'kPa' + + // Accelerator pedal position + uint8_t EMS_AccelPdlPosnOBD_Val; // Bits= 8 + + // Actual engine torque + uint16_t EMS_EngTrqStatic_Val_ro; // Bits=13 Offset= -500.0 Factor= 0.25 Unit:'Nm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t EMS_EngTrqStatic_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // HV system failure: + // $0 = No failure + // $1 = No energy source available - Request for starting engine will be displayed on IC + // $2 = HV-System warning + // $3 = HV-Systems error + // 3 : "HV-SYSTEMS_ERROR" + // 2 : "HV-SYSTEM_WARNING" + // 1 : "NO_ENERGY_SOURCE_AVAILABLE" + // 0 : "NO FAILURE" + uint8_t EMS_HvSystemFailure; // Bits= 2 + + // Low lnevel of cooling liquid detected => Warning requested + // $0 = No Warning + // $1 = Warning + // 1 : "Warning" + // 0 : "No Warning" + uint8_t EMS_CoolLiquidLowWarning; // Bits= 1 + + // Instantaneous fuel consumption inmilliliter/second + uint8_t EMS_InstFuelConsumption; // Bits= 8 Unit:'ml/s' + #endif // CANDB_USE_BITS_SIGNAL #ifdef CANDB_USE_DIAG_MONITORS @@ -173,6 +3239,166 @@ typedef struct } EMS_Veh_t; +// def @EMS_Indicators CAN Message (337 0x151) +#define EMS_Indicators_IDE (0U) +#define EMS_Indicators_DLC (3U) +#define EMS_Indicators_CANID (0x151U) +#define EMS_Indicators_CYC (100U) +// signal: @EMS_EngOilTemp_Val_ro +#define CANDB_EMS_EngOilTemp_Val_ro_CovFactor (1) +#define CANDB_EMS_EngOilTemp_Val_ro_toS(x) ( (uint8_t) ((x) - (-40)) ) +#define CANDB_EMS_EngOilTemp_Val_ro_fromS(x) ( ((x) + (-40)) ) +// signal: @EMS_OilLvl_Val_ro +#define CANDB_EMS_OilLvl_Val_ro_CovFactor (1.15) +#define CANDB_EMS_OilLvl_Val_ro_toS(x) ( (uint8_t) (((x) - (-20.0)) / (1.15)) ) +#define CANDB_EMS_OilLvl_Val_ro_fromS(x) ( (((x) * (1.15)) + (-20.0)) ) + +// Value tables for @EMS_MILblink_Req signal + +#ifndef EMS_MILblink_Req_EMS_Indicators_MIL_Blink +#define EMS_MILblink_Req_EMS_Indicators_MIL_Blink (1) +#endif + +#ifndef EMS_MILblink_Req_EMS_Indicators_MIL_OFF +#define EMS_MILblink_Req_EMS_Indicators_MIL_OFF (0) +#endif + + +// Value tables for @EMS_EngOilLvInd_Stat signal + +#ifndef EMS_EngOilLvInd_Stat_EMS_Indicators_Critical_low_level +#define EMS_EngOilLvInd_Stat_EMS_Indicators_Critical_low_level (3) +#endif + +#ifndef EMS_EngOilLvInd_Stat_EMS_Indicators_High_level +#define EMS_EngOilLvInd_Stat_EMS_Indicators_High_level (2) +#endif + +#ifndef EMS_EngOilLvInd_Stat_EMS_Indicators_Low_level +#define EMS_EngOilLvInd_Stat_EMS_Indicators_Low_level (1) +#endif + +#ifndef EMS_EngOilLvInd_Stat_EMS_Indicators_Normal_level +#define EMS_EngOilLvInd_Stat_EMS_Indicators_Normal_level (0) +#endif + + +// Value tables for @EMS_MILon_Req signal + +#ifndef EMS_MILon_Req_EMS_Indicators_MIL_ON +#define EMS_MILon_Req_EMS_Indicators_MIL_ON (1) +#endif + +#ifndef EMS_MILon_Req_EMS_Indicators_MIL_OFF +#define EMS_MILon_Req_EMS_Indicators_MIL_OFF (0) +#endif + + +// Value tables for @EMS_OilPresWarn_Stat signal + +#ifndef EMS_OilPresWarn_Stat_EMS_Indicators_Low_pressure +#define EMS_OilPresWarn_Stat_EMS_Indicators_Low_pressure (1) +#endif + +#ifndef EMS_OilPresWarn_Stat_EMS_Indicators_Normal_pressure +#define EMS_OilPresWarn_Stat_EMS_Indicators_Normal_pressure (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Oil temperature + uint8_t EMS_EngOilTemp_Val_ro; // Bits= 8 Offset= -40 Unit:'�C' + +#ifdef CANDB_USE_SIGFLOAT + int16_t EMS_EngOilTemp_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Indicates the Oil level. + uint8_t EMS_OilLvl_Val_ro : 7; // Bits= 7 Offset= -20.0 Factor= 1.15 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t EMS_OilLvl_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Request MIL blink + // 1 : "MIL Blink" + // 0 : "MIL OFF" + uint8_t EMS_MILblink_Req : 1; // Bits= 1 + + // Indicates engine oil level states. + // 3 : "Critical low level" + // 2 : "High level" + // 1 : "Low level" + // 0 : "Normal level" + uint8_t EMS_EngOilLvInd_Stat : 2; // Bits= 2 + + // MIL ON request from the engine + // 1 : "MIL ON" + // 0 : "MIL OFF" + uint8_t EMS_MILon_Req : 1; // Bits= 1 + + // LTC coolant level signal (flag) + uint8_t EMS_LTCcoolantLvl_Stat : 1; // Bits= 1 + + // Indicates whether the oil pressure is getting low. + // 1 : "Low pressure" + // 0 : "Normal pressure" + uint8_t EMS_OilPresWarn_Stat : 1; // Bits= 1 + +#else + + // Oil temperature + uint8_t EMS_EngOilTemp_Val_ro; // Bits= 8 Offset= -40 Unit:'�C' + +#ifdef CANDB_USE_SIGFLOAT + int16_t EMS_EngOilTemp_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Indicates the Oil level. + uint8_t EMS_OilLvl_Val_ro; // Bits= 7 Offset= -20.0 Factor= 1.15 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t EMS_OilLvl_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Request MIL blink + // 1 : "MIL Blink" + // 0 : "MIL OFF" + uint8_t EMS_MILblink_Req; // Bits= 1 + + // Indicates engine oil level states. + // 3 : "Critical low level" + // 2 : "High level" + // 1 : "Low level" + // 0 : "Normal level" + uint8_t EMS_EngOilLvInd_Stat; // Bits= 2 + + // MIL ON request from the engine + // 1 : "MIL ON" + // 0 : "MIL OFF" + uint8_t EMS_MILon_Req; // Bits= 1 + + // LTC coolant level signal (flag) + uint8_t EMS_LTCcoolantLvl_Stat; // Bits= 1 + + // Indicates whether the oil pressure is getting low. + // 1 : "Low pressure" + // 0 : "Normal pressure" + uint8_t EMS_OilPresWarn_Stat; // Bits= 1 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} EMS_Indicators_t; + // def @BCM_Powertrain CAN Message (338 0x152) #define BCM_Powertrain_IDE (0U) #define BCM_Powertrain_DLC (6U) @@ -182,6 +3408,78 @@ typedef struct #define CANDB_BCM_AmbTempRaw_ro_CovFactor (0.01) #define CANDB_BCM_AmbTempRaw_ro_toS(x) ( (uint16_t) (((x) - (-40.0)) / (0.01)) ) #define CANDB_BCM_AmbTempRaw_ro_fromS(x) ( (((x) * (0.01)) + (-40.0)) ) +// signal: @AvgFuelLvl_ro +#define CANDB_AvgFuelLvl_ro_CovFactor (0.5) +#define CANDB_AvgFuelLvl_ro_toS(x) ( (uint16_t) (((x) - (0.0)) / (0.5)) ) +#define CANDB_AvgFuelLvl_ro_fromS(x) ( (((x) * (0.5)) + (0.0)) ) + +// Value tables for @BCM_T50_Request signal + +#ifndef BCM_T50_Request_BCM_Powertrain_T50_Request +#define BCM_T50_Request_BCM_Powertrain_T50_Request (1) +#endif + +#ifndef BCM_T50_Request_BCM_Powertrain_No_Request +#define BCM_T50_Request_BCM_Powertrain_No_Request (0) +#endif + + +// Value tables for @RemoteICEStartReq signal + +#ifndef RemoteICEStartReq_BCM_Powertrain_Remote_start_request_active +#define RemoteICEStartReq_BCM_Powertrain_Remote_start_request_active (1) +#endif + +#ifndef RemoteICEStartReq_BCM_Powertrain_Remote_start_request_inactive +#define RemoteICEStartReq_BCM_Powertrain_Remote_start_request_inactive (0) +#endif + + +// Value tables for @BCM_HVAC_Pump_Req signal + +#ifndef BCM_HVAC_Pump_Req_BCM_Powertrain_Request_Active +#define BCM_HVAC_Pump_Req_BCM_Powertrain_Request_Active (1) +#endif + +#ifndef BCM_HVAC_Pump_Req_BCM_Powertrain_No_request +#define BCM_HVAC_Pump_Req_BCM_Powertrain_No_request (0) +#endif + + +// Value tables for @BCM_VAU_Authorization_Req signal + +#ifndef BCM_VAU_Authorization_Req_BCM_Powertrain_TrunkClose_requested +#define BCM_VAU_Authorization_Req_BCM_Powertrain_TrunkClose_requested (7) +#endif + +#ifndef BCM_VAU_Authorization_Req_BCM_Powertrain_DriveTrans_requested +#define BCM_VAU_Authorization_Req_BCM_Powertrain_DriveTrans_requested (6) +#endif + +#ifndef BCM_VAU_Authorization_Req_BCM_Powertrain_KeyDetection_requested +#define BCM_VAU_Authorization_Req_BCM_Powertrain_KeyDetection_requested (5) +#endif + +#ifndef BCM_VAU_Authorization_Req_BCM_Powertrain_Trunk_CloseLock_requested +#define BCM_VAU_Authorization_Req_BCM_Powertrain_Trunk_CloseLock_requested (4) +#endif + +#ifndef BCM_VAU_Authorization_Req_BCM_Powertrain_TrunkOpen_requested +#define BCM_VAU_Authorization_Req_BCM_Powertrain_TrunkOpen_requested (3) +#endif + +#ifndef BCM_VAU_Authorization_Req_BCM_Powertrain_LockPermission_requested +#define BCM_VAU_Authorization_Req_BCM_Powertrain_LockPermission_requested (2) +#endif + +#ifndef BCM_VAU_Authorization_Req_BCM_Powertrain_VehicleState_Trans_requested +#define BCM_VAU_Authorization_Req_BCM_Powertrain_VehicleState_Trans_requested (1) +#endif + +#ifndef BCM_VAU_Authorization_Req_BCM_Powertrain_Not_requested +#define BCM_VAU_Authorization_Req_BCM_Powertrain_Not_requested (0) +#endif + typedef struct { @@ -194,9 +3492,43 @@ typedef struct sigfloat_t BCM_AmbTempRaw_phys; #endif // CANDB_USE_SIGFLOAT + // Signal shows how much liters of fuel remains in the vehicle fuel tank when T15=ON. + // When T15 = OFF the signal is equal to zero. + uint16_t AvgFuelLvl_ro; // Bits= 9 Factor= 0.5 Unit:'l' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t AvgFuelLvl_phys; +#endif // CANDB_USE_SIGFLOAT + + // ICE Start request. T50 should be sent as long as the engine state has not reached CoEng_st == COENG_RUNNING for starting the ICE + // 1 : "T50_Request" + // 0 : "No_Request" + uint8_t BCM_T50_Request : 1; // Bits= 1 + + // State of remote start procedure + // 1 : "Remote start request active" + // 0 : "Remote start request inactive" + uint8_t RemoteICEStartReq : 1; // Bits= 1 + + // Request for activating HVAC cooling Pump for APU. + // 1 : "Request Active" + // 0 : "No request" + uint8_t BCM_HVAC_Pump_Req : 1; // Bits= 1 + // Rolling Counter [0 - 15] uint8_t BCM_Powertrain_RC : 4; // Bits= 4 + // Request to authorize lock control actions or vehicle state transition + // 7 : "TrunkClose requested" + // 6 : "DriveTrans requested" + // 5 : "KeyDetection requested" + // 4 : "Trunk_Close&Lock requested" + // 3 : "TrunkOpen requested" + // 2 : "LockPermission requested" + // 1 : "VehicleState Trans requested" + // 0 : "Not requested" + uint8_t BCM_VAU_Authorization_Req : 3; // Bits= 3 + // Checksum CRC8 SAE J1850 of the data field this message uint8_t BCM_Powertrain_CS; // Bits= 8 @@ -209,9 +3541,43 @@ typedef struct sigfloat_t BCM_AmbTempRaw_phys; #endif // CANDB_USE_SIGFLOAT + // Signal shows how much liters of fuel remains in the vehicle fuel tank when T15=ON. + // When T15 = OFF the signal is equal to zero. + uint16_t AvgFuelLvl_ro; // Bits= 9 Factor= 0.5 Unit:'l' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t AvgFuelLvl_phys; +#endif // CANDB_USE_SIGFLOAT + + // ICE Start request. T50 should be sent as long as the engine state has not reached CoEng_st == COENG_RUNNING for starting the ICE + // 1 : "T50_Request" + // 0 : "No_Request" + uint8_t BCM_T50_Request; // Bits= 1 + + // State of remote start procedure + // 1 : "Remote start request active" + // 0 : "Remote start request inactive" + uint8_t RemoteICEStartReq; // Bits= 1 + + // Request for activating HVAC cooling Pump for APU. + // 1 : "Request Active" + // 0 : "No request" + uint8_t BCM_HVAC_Pump_Req; // Bits= 1 + // Rolling Counter [0 - 15] uint8_t BCM_Powertrain_RC; // Bits= 4 + // Request to authorize lock control actions or vehicle state transition + // 7 : "TrunkClose requested" + // 6 : "DriveTrans requested" + // 5 : "KeyDetection requested" + // 4 : "Trunk_Close&Lock requested" + // 3 : "TrunkOpen requested" + // 2 : "LockPermission requested" + // 1 : "VehicleState Trans requested" + // 0 : "Not requested" + uint8_t BCM_VAU_Authorization_Req; // Bits= 3 + // Checksum CRC8 SAE J1850 of the data field this message uint8_t BCM_Powertrain_CS; // Bits= 8 @@ -230,15 +3596,62 @@ typedef struct #define EMS_Veh_02_DLC (3U) #define EMS_Veh_02_CANID (0x153U) #define EMS_Veh_02_CYC (20U) + +// Value tables for @EMS_CoEng_Stat signal + +#ifndef EMS_CoEng_Stat_EMS_Veh_02_CoENG_Finish +#define EMS_CoEng_Stat_EMS_Veh_02_CoENG_Finish (5) +#endif + +#ifndef EMS_CoEng_Stat_EMS_Veh_02_CoENG_Stopping +#define EMS_CoEng_Stat_EMS_Veh_02_CoENG_Stopping (4) +#endif + +#ifndef EMS_CoEng_Stat_EMS_Veh_02_CoENG_Running +#define EMS_CoEng_Stat_EMS_Veh_02_CoENG_Running (3) +#endif + +#ifndef EMS_CoEng_Stat_EMS_Veh_02_CoENG_Cranking +#define EMS_CoEng_Stat_EMS_Veh_02_CoENG_Cranking (2) +#endif + +#ifndef EMS_CoEng_Stat_EMS_Veh_02_CoENG_Ready +#define EMS_CoEng_Stat_EMS_Veh_02_CoENG_Ready (1) +#endif + +#ifndef EMS_CoEng_Stat_EMS_Veh_02_CoENG_Stanby +#define EMS_CoEng_Stat_EMS_Veh_02_CoENG_Stanby (0) +#endif + // signal: @BMS_ActualTemp_Val_ro #define CANDB_BMS_ActualTemp_Val_ro_CovFactor (0.5) #define CANDB_BMS_ActualTemp_Val_ro_toS(x) ( (uint8_t) (((x) - (-40.0)) / (0.5)) ) #define CANDB_BMS_ActualTemp_Val_ro_fromS(x) ( (((x) * (0.5)) + (-40.0)) ) +// Value tables for @EMS_NAMI_Stat signal + +#ifndef EMS_NAMI_Stat_EMS_Veh_02_EMS_NAMI +#define EMS_NAMI_Stat_EMS_Veh_02_EMS_NAMI (1) +#endif + +#ifndef EMS_NAMI_Stat_EMS_Veh_02_EMS_Bosch +#define EMS_NAMI_Stat_EMS_Veh_02_EMS_Bosch (0) +#endif + + typedef struct { #ifdef CANDB_USE_BITS_SIGNAL + // Status of combustion engine + // 5 : "CoENG_Finish" + // 4 : "CoENG_Stopping" + // 3 : "CoENG_Running" + // 2 : "CoENG_Cranking" + // 1 : "CoENG_Ready" + // 0 : "CoENG_Stanby" + uint8_t EMS_CoEng_Stat : 3; // Bits= 3 + // Actual battery temperature uint8_t BMS_ActualTemp_Val_ro; // Bits= 8 Offset= -40.0 Factor= 0.5 Unit:'�C' @@ -246,6 +3659,10 @@ typedef struct sigfloat_t BMS_ActualTemp_Val_phys; #endif // CANDB_USE_SIGFLOAT + // 1 : "EMS NAMI" + // 0 : "EMS Bosch" + uint8_t EMS_NAMI_Stat : 1; // Bits= 1 + // Rolling Counter [0 - 15] uint8_t EMS_Veh_02_RC : 4; // Bits= 4 @@ -254,6 +3671,15 @@ typedef struct #else + // Status of combustion engine + // 5 : "CoENG_Finish" + // 4 : "CoENG_Stopping" + // 3 : "CoENG_Running" + // 2 : "CoENG_Cranking" + // 1 : "CoENG_Ready" + // 0 : "CoENG_Stanby" + uint8_t EMS_CoEng_Stat; // Bits= 3 + // Actual battery temperature uint8_t BMS_ActualTemp_Val_ro; // Bits= 8 Offset= -40.0 Factor= 0.5 Unit:'�C' @@ -261,6 +3687,10 @@ typedef struct sigfloat_t BMS_ActualTemp_Val_phys; #endif // CANDB_USE_SIGFLOAT + // 1 : "EMS NAMI" + // 0 : "EMS Bosch" + uint8_t EMS_NAMI_Stat; // Bits= 1 + // Rolling Counter [0 - 15] uint8_t EMS_Veh_02_RC; // Bits= 4 @@ -277,11 +3707,313 @@ typedef struct } EMS_Veh_02_t; +// def @EMS_EEM_01 CAN Message (341 0x155) +#define EMS_EEM_01_IDE (0U) +#define EMS_EEM_01_DLC (7U) +#define EMS_EEM_01_CANID (0x155U) +#define EMS_EEM_01_CYC (100U) +// signal: @EMS_ActCurrLV_DCDC1_ro +#define CANDB_EMS_ActCurrLV_DCDC1_ro_CovFactor (0.1) +#define CANDB_EMS_ActCurrLV_DCDC1_ro_toS(x) ( (uint16_t) (((x) - (-3276.7)) / (0.1)) ) +#define CANDB_EMS_ActCurrLV_DCDC1_ro_fromS(x) ( (((x) * (0.1)) + (-3276.7)) ) +// signal: @EMS_ActVoltLV_DCDC1_ro +#define CANDB_EMS_ActVoltLV_DCDC1_ro_CovFactor (0.1) +#define CANDB_EMS_ActVoltLV_DCDC1_ro_toS(x) ( (uint16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_EMS_ActVoltLV_DCDC1_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) + +// Value tables for @EMS_ErrPrfLim_DCDC1 signal + +#ifndef EMS_ErrPrfLim_DCDC1_EMS_EEM_01_Power_limitation +#define EMS_ErrPrfLim_DCDC1_EMS_EEM_01_Power_limitation (1) +#endif + +#ifndef EMS_ErrPrfLim_DCDC1_EMS_EEM_01_No_power_limitation +#define EMS_ErrPrfLim_DCDC1_EMS_EEM_01_No_power_limitation (0) +#endif + + +// Value tables for @EMS_Err_DCDC1 signal + +#ifndef EMS_Err_DCDC1_EMS_EEM_01_DCDC1_error +#define EMS_Err_DCDC1_EMS_EEM_01_DCDC1_error (1) +#endif + +#ifndef EMS_Err_DCDC1_EMS_EEM_01_NO_DCDC1_error +#define EMS_Err_DCDC1_EMS_EEM_01_NO_DCDC1_error (0) +#endif + + +// Value tables for @EMS_stMode_DCDC1 signal + +#ifndef EMS_stMode_DCDC1_EMS_EEM_01_Buck_with_Drive_HV__LV +#define EMS_stMode_DCDC1_EMS_EEM_01_Buck_with_Drive_HV__LV (1) +#endif + +#ifndef EMS_stMode_DCDC1_EMS_EEM_01_Standby_communication_active +#define EMS_stMode_DCDC1_EMS_EEM_01_Standby_communication_active (0) +#endif + +// signal: @EMS_UtilRate_DCDC1_ro +#define CANDB_EMS_UtilRate_DCDC1_ro_CovFactor (0.1) +#define CANDB_EMS_UtilRate_DCDC1_ro_toS(x) ( (uint16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_EMS_UtilRate_DCDC1_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Actual current LV DC/DC1 + uint16_t EMS_ActCurrLV_DCDC1_ro; // Bits=16 Offset= -3276.7 Factor= 0.1 Unit:'A' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t EMS_ActCurrLV_DCDC1_phys; +#endif // CANDB_USE_SIGFLOAT + + // Actual voltage LV DC/DC1 + uint16_t EMS_ActVoltLV_DCDC1_ro; // Bits=10 Factor= 0.1 Unit:'V' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t EMS_ActVoltLV_DCDC1_phys; +#endif // CANDB_USE_SIGFLOAT + + // 1 : "Power limitation" + // 0 : "No power limitation" + uint8_t EMS_ErrPrfLim_DCDC1 : 1; // Bits= 1 + + // Error flag failure DC/DC1 (VDDC_bErrShOff or VDDC_bErrVltg) + // 1 : "DCDC1 error" + // 0 : "NO DCDC1 error" + uint8_t EMS_Err_DCDC1 : 1; // Bits= 1 + + // Operating mode DC/DC1 + // 1 : "Buck with Drive (HV --> LV)" + // 0 : "Standby, communication active" + uint8_t EMS_stMode_DCDC1 : 1; // Bits= 1 + + // Utilization DC/DC1 + uint16_t EMS_UtilRate_DCDC1_ro; // Bits=10 Factor= 0.1 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t EMS_UtilRate_DCDC1_phys; +#endif // CANDB_USE_SIGFLOAT + + // Rolling Counter [0 - 15] + uint8_t EMS_EEM_01_RC : 4; // Bits= 4 + + // Checksum CRC8 SAE J1850 of the data field this message + uint8_t EMS_EEM_01_CS; // Bits= 8 + +#else + + // Actual current LV DC/DC1 + uint16_t EMS_ActCurrLV_DCDC1_ro; // Bits=16 Offset= -3276.7 Factor= 0.1 Unit:'A' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t EMS_ActCurrLV_DCDC1_phys; +#endif // CANDB_USE_SIGFLOAT + + // Actual voltage LV DC/DC1 + uint16_t EMS_ActVoltLV_DCDC1_ro; // Bits=10 Factor= 0.1 Unit:'V' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t EMS_ActVoltLV_DCDC1_phys; +#endif // CANDB_USE_SIGFLOAT + + // 1 : "Power limitation" + // 0 : "No power limitation" + uint8_t EMS_ErrPrfLim_DCDC1; // Bits= 1 + + // Error flag failure DC/DC1 (VDDC_bErrShOff or VDDC_bErrVltg) + // 1 : "DCDC1 error" + // 0 : "NO DCDC1 error" + uint8_t EMS_Err_DCDC1; // Bits= 1 + + // Operating mode DC/DC1 + // 1 : "Buck with Drive (HV --> LV)" + // 0 : "Standby, communication active" + uint8_t EMS_stMode_DCDC1; // Bits= 1 + + // Utilization DC/DC1 + uint16_t EMS_UtilRate_DCDC1_ro; // Bits=10 Factor= 0.1 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t EMS_UtilRate_DCDC1_phys; +#endif // CANDB_USE_SIGFLOAT + + // Rolling Counter [0 - 15] + uint8_t EMS_EEM_01_RC; // Bits= 4 + + // Checksum CRC8 SAE J1850 of the data field this message + uint8_t EMS_EEM_01_CS; // Bits= 8 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} EMS_EEM_01_t; + +// def @EMS_EEM_02 CAN Message (342 0x156) +#define EMS_EEM_02_IDE (0U) +#define EMS_EEM_02_DLC (7U) +#define EMS_EEM_02_CANID (0x156U) +#define EMS_EEM_02_CYC (100U) +// signal: @EMS_ActCurrLV_DCDC2_ro +#define CANDB_EMS_ActCurrLV_DCDC2_ro_CovFactor (0.1) +#define CANDB_EMS_ActCurrLV_DCDC2_ro_toS(x) ( (uint16_t) (((x) - (-3276.7)) / (0.1)) ) +#define CANDB_EMS_ActCurrLV_DCDC2_ro_fromS(x) ( (((x) * (0.1)) + (-3276.7)) ) +// signal: @EMS_ActVoltLV_DCDC2_ro +#define CANDB_EMS_ActVoltLV_DCDC2_ro_CovFactor (0.1) +#define CANDB_EMS_ActVoltLV_DCDC2_ro_toS(x) ( (uint16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_EMS_ActVoltLV_DCDC2_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) + +// Value tables for @EMS_ErrPrfLim_DCDC2 signal + +#ifndef EMS_ErrPrfLim_DCDC2_EMS_EEM_02_Power_limitation +#define EMS_ErrPrfLim_DCDC2_EMS_EEM_02_Power_limitation (1) +#endif + +#ifndef EMS_ErrPrfLim_DCDC2_EMS_EEM_02_No_power_limitation +#define EMS_ErrPrfLim_DCDC2_EMS_EEM_02_No_power_limitation (0) +#endif + + +// Value tables for @EMS_Err_DCDC2 signal + +#ifndef EMS_Err_DCDC2_EMS_EEM_02_DCDC2_error +#define EMS_Err_DCDC2_EMS_EEM_02_DCDC2_error (1) +#endif + +#ifndef EMS_Err_DCDC2_EMS_EEM_02_NO_DCDC2_error +#define EMS_Err_DCDC2_EMS_EEM_02_NO_DCDC2_error (0) +#endif + + +// Value tables for @EMS_stMode_DCDC2 signal + +#ifndef EMS_stMode_DCDC2_EMS_EEM_02_Buck_with_Drive_HV__LV +#define EMS_stMode_DCDC2_EMS_EEM_02_Buck_with_Drive_HV__LV (1) +#endif + +#ifndef EMS_stMode_DCDC2_EMS_EEM_02_Standby_communication_active +#define EMS_stMode_DCDC2_EMS_EEM_02_Standby_communication_active (0) +#endif + +// signal: @EMS_UtilRate_DCDC2_ro +#define CANDB_EMS_UtilRate_DCDC2_ro_CovFactor (0.1) +#define CANDB_EMS_UtilRate_DCDC2_ro_toS(x) ( (uint16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_EMS_UtilRate_DCDC2_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Actual current LV DC/DC2 + uint16_t EMS_ActCurrLV_DCDC2_ro; // Bits=16 Offset= -3276.7 Factor= 0.1 Unit:'A' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t EMS_ActCurrLV_DCDC2_phys; +#endif // CANDB_USE_SIGFLOAT + + // Actual voltage LV DC/DC1 + uint16_t EMS_ActVoltLV_DCDC2_ro; // Bits=10 Factor= 0.1 Unit:'V' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t EMS_ActVoltLV_DCDC2_phys; +#endif // CANDB_USE_SIGFLOAT + + // 1 : "Power limitation" + // 0 : "No power limitation" + uint8_t EMS_ErrPrfLim_DCDC2 : 1; // Bits= 1 + + // Error flag failure DC/DC2 (VDDC_bErrShOff2 or VDDC_bErrVltg2) + // 1 : "DCDC2 error" + // 0 : "NO DCDC2 error" + uint8_t EMS_Err_DCDC2 : 1; // Bits= 1 + + // Operating mode DC/DC2 + // 1 : "Buck with Drive (HV --> LV)" + // 0 : "Standby, communication active" + uint8_t EMS_stMode_DCDC2 : 1; // Bits= 1 + + // Utilization DC/DC2 + uint16_t EMS_UtilRate_DCDC2_ro; // Bits=10 Factor= 0.1 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t EMS_UtilRate_DCDC2_phys; +#endif // CANDB_USE_SIGFLOAT + + // Rolling Counter [0 - 15] + uint8_t EMS_EEM_02_RC : 4; // Bits= 4 + + // Checksum CRC8 SAE J1850 of the data field this message + uint8_t EMS_EEM_02_CS; // Bits= 8 + +#else + + // Actual current LV DC/DC2 + uint16_t EMS_ActCurrLV_DCDC2_ro; // Bits=16 Offset= -3276.7 Factor= 0.1 Unit:'A' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t EMS_ActCurrLV_DCDC2_phys; +#endif // CANDB_USE_SIGFLOAT + + // Actual voltage LV DC/DC1 + uint16_t EMS_ActVoltLV_DCDC2_ro; // Bits=10 Factor= 0.1 Unit:'V' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t EMS_ActVoltLV_DCDC2_phys; +#endif // CANDB_USE_SIGFLOAT + + // 1 : "Power limitation" + // 0 : "No power limitation" + uint8_t EMS_ErrPrfLim_DCDC2; // Bits= 1 + + // Error flag failure DC/DC2 (VDDC_bErrShOff2 or VDDC_bErrVltg2) + // 1 : "DCDC2 error" + // 0 : "NO DCDC2 error" + uint8_t EMS_Err_DCDC2; // Bits= 1 + + // Operating mode DC/DC2 + // 1 : "Buck with Drive (HV --> LV)" + // 0 : "Standby, communication active" + uint8_t EMS_stMode_DCDC2; // Bits= 1 + + // Utilization DC/DC2 + uint16_t EMS_UtilRate_DCDC2_ro; // Bits=10 Factor= 0.1 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t EMS_UtilRate_DCDC2_phys; +#endif // CANDB_USE_SIGFLOAT + + // Rolling Counter [0 - 15] + uint8_t EMS_EEM_02_RC; // Bits= 4 + + // Checksum CRC8 SAE J1850 of the data field this message + uint8_t EMS_EEM_02_CS; // Bits= 8 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} EMS_EEM_02_t; + // def @BCM_EEM CAN Message (343 0x157) #define BCM_EEM_IDE (0U) #define BCM_EEM_DLC (8U) #define BCM_EEM_CANID (0x157U) #define BCM_EEM_CYC (100U) +// signal: @BCM_EEM_VolReqLV_DCDC1_ro +#define CANDB_BCM_EEM_VolReqLV_DCDC1_ro_CovFactor (0.1) +#define CANDB_BCM_EEM_VolReqLV_DCDC1_ro_toS(x) ( (uint16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_BCM_EEM_VolReqLV_DCDC1_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) // Value tables for @BCM_EEM_StPowMgn signal @@ -309,11 +4041,30 @@ typedef struct #define BCM_EEM_StPowMgn_BCM_EEM_LVbattery_charged (0) #endif +// signal: @BCM_EEM_VolReqLV_DCDC2_ro +#define CANDB_BCM_EEM_VolReqLV_DCDC2_ro_CovFactor (0.1) +#define CANDB_BCM_EEM_VolReqLV_DCDC2_ro_toS(x) ( (uint16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_BCM_EEM_VolReqLV_DCDC2_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @BCM_EEM_CurrLimLV_DCDC1_ro +#define CANDB_BCM_EEM_CurrLimLV_DCDC1_ro_CovFactor (0.1) +#define CANDB_BCM_EEM_CurrLimLV_DCDC1_ro_toS(x) ( (uint16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_BCM_EEM_CurrLimLV_DCDC1_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @BCM_EEM_CurrLimLV_DCDC2_ro +#define CANDB_BCM_EEM_CurrLimLV_DCDC2_ro_CovFactor (0.1) +#define CANDB_BCM_EEM_CurrLimLV_DCDC2_ro_toS(x) ( (uint16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_BCM_EEM_CurrLimLV_DCDC2_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) typedef struct { #ifdef CANDB_USE_BITS_SIGNAL + // Requested for voltage DC/DC_1 + uint16_t BCM_EEM_VolReqLV_DCDC1_ro; // Bits=10 Factor= 0.1 + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_EEM_VolReqLV_DCDC1_phys; +#endif // CANDB_USE_SIGFLOAT + // PM state for consumer deactivation // 5 : "LV-battery no power source" // 4 : "LV-battery discharging fast" @@ -323,14 +4074,46 @@ typedef struct // 0 : "LV-battery charged" uint8_t BCM_EEM_StPowMgn : 3; // Bits= 3 + // Output value of driver display request for Power Management + // The signal is not use in UMP 1.5. + uint8_t BCM_EEM_PowMngtReqDisp : 1; // Bits= 1 + + // Requested voltage DC/DC_2 + uint16_t BCM_EEM_VolReqLV_DCDC2_ro; // Bits=10 Factor= 0.1 + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_EEM_VolReqLV_DCDC2_phys; +#endif // CANDB_USE_SIGFLOAT + // Rolling Counter [0 - 15] uint8_t BCM_EEM_RC : 4; // Bits= 4 // Checksum CRC8 SAE J1850 of the data field this message uint8_t BCM_EEM_CS; // Bits= 8 + // Maximal current DC/DC_1 + uint16_t BCM_EEM_CurrLimLV_DCDC1_ro; // Bits=12 Factor= 0.1 + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_EEM_CurrLimLV_DCDC1_phys; +#endif // CANDB_USE_SIGFLOAT + + // Maximal current DC/DC_2 + uint16_t BCM_EEM_CurrLimLV_DCDC2_ro; // Bits=12 Factor= 0.1 + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_EEM_CurrLimLV_DCDC2_phys; +#endif // CANDB_USE_SIGFLOAT + #else + // Requested for voltage DC/DC_1 + uint16_t BCM_EEM_VolReqLV_DCDC1_ro; // Bits=10 Factor= 0.1 + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_EEM_VolReqLV_DCDC1_phys; +#endif // CANDB_USE_SIGFLOAT + // PM state for consumer deactivation // 5 : "LV-battery no power source" // 4 : "LV-battery discharging fast" @@ -340,12 +4123,37 @@ typedef struct // 0 : "LV-battery charged" uint8_t BCM_EEM_StPowMgn; // Bits= 3 + // Output value of driver display request for Power Management + // The signal is not use in UMP 1.5. + uint8_t BCM_EEM_PowMngtReqDisp; // Bits= 1 + + // Requested voltage DC/DC_2 + uint16_t BCM_EEM_VolReqLV_DCDC2_ro; // Bits=10 Factor= 0.1 + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_EEM_VolReqLV_DCDC2_phys; +#endif // CANDB_USE_SIGFLOAT + // Rolling Counter [0 - 15] uint8_t BCM_EEM_RC; // Bits= 4 // Checksum CRC8 SAE J1850 of the data field this message uint8_t BCM_EEM_CS; // Bits= 8 + // Maximal current DC/DC_1 + uint16_t BCM_EEM_CurrLimLV_DCDC1_ro; // Bits=12 Factor= 0.1 + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_EEM_CurrLimLV_DCDC1_phys; +#endif // CANDB_USE_SIGFLOAT + + // Maximal current DC/DC_2 + uint16_t BCM_EEM_CurrLimLV_DCDC2_ro; // Bits=12 Factor= 0.1 + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_EEM_CurrLimLV_DCDC2_phys; +#endif // CANDB_USE_SIGFLOAT + #endif // CANDB_USE_BITS_SIGNAL #ifdef CANDB_USE_DIAG_MONITORS @@ -356,12 +4164,5208 @@ typedef struct } BCM_EEM_t; +// def @DAS_01 CAN Message (352 0x160) +#define DAS_01_IDE (0U) +#define DAS_01_DLC (6U) +#define DAS_01_CANID (0x160U) +#define DAS_01_CYC (10U) +// signal: @DAS_CcAfsDecel_Req_ro +#define CANDB_DAS_CcAfsDecel_Req_ro_CovFactor (0.001) +#define CANDB_DAS_CcAfsDecel_Req_ro_toS(x) ( (uint16_t) (((x) - (-20.0)) / (0.001)) ) +#define CANDB_DAS_CcAfsDecel_Req_ro_fromS(x) ( (((x) * (0.001)) + (-20.0)) ) +// signal: @DAS_AebRdaDecel_Req_ro +#define CANDB_DAS_AebRdaDecel_Req_ro_CovFactor (0.001) +#define CANDB_DAS_AebRdaDecel_Req_ro_toS(x) ( (uint16_t) (((x) - (-20.0)) / (0.001)) ) +#define CANDB_DAS_AebRdaDecel_Req_ro_fromS(x) ( (((x) * (0.001)) + (-20.0)) ) + +// Value tables for @DAS_CcBrakeLight_Req signal + +#ifndef DAS_CcBrakeLight_Req_DAS_01_Requested +#define DAS_CcBrakeLight_Req_DAS_01_Requested (1) +#endif + +#ifndef DAS_CcBrakeLight_Req_DAS_01_Not_requested +#define DAS_CcBrakeLight_Req_DAS_01_Not_requested (0) +#endif + + +// Value tables for @DAS_AebBoost_Req signal + +#ifndef DAS_AebBoost_Req_DAS_01_Request +#define DAS_AebBoost_Req_DAS_01_Request (1) +#endif + +#ifndef DAS_AebBoost_Req_DAS_01_No_Request +#define DAS_AebBoost_Req_DAS_01_No_Request (0) +#endif + + +// Value tables for @DAS_AebPrefill_Req signal + +#ifndef DAS_AebPrefill_Req_DAS_01_Requested +#define DAS_AebPrefill_Req_DAS_01_Requested (1) +#endif + +#ifndef DAS_AebPrefill_Req_DAS_01_Not_Requested +#define DAS_AebPrefill_Req_DAS_01_Not_Requested (0) +#endif + + +// Value tables for @DAS_AebPreCrash_Req signal + +#ifndef DAS_AebPreCrash_Req_DAS_01_Requested +#define DAS_AebPreCrash_Req_DAS_01_Requested (1) +#endif + +#ifndef DAS_AebPreCrash_Req_DAS_01_Not_requested +#define DAS_AebPreCrash_Req_DAS_01_Not_requested (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Implement deceleration of CC + uint16_t DAS_CcAfsDecel_Req_ro; // Bits=16 Offset= -20.0 Factor= 0.001 Unit:'m/s^2' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t DAS_CcAfsDecel_Req_phys; +#endif // CANDB_USE_SIGFLOAT + + // Implement deceleration, ms^2 + uint16_t DAS_AebRdaDecel_Req_ro; // Bits=16 Offset= -20.0 Factor= 0.001 Unit:'m/s^2' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t DAS_AebRdaDecel_Req_phys; +#endif // CANDB_USE_SIGFLOAT + + // CC (Cruise Control) is requesting the brake light to be turned on + // 1 : "Requested" + // 0 : "Not requested" + uint8_t DAS_CcBrakeLight_Req : 1; // Bits= 1 + + // AEB (Automatic Emergency Braking) is requesting brake boost + // 1 : "Request" + // 0 : "No Request" + uint8_t DAS_AebBoost_Req : 1; // Bits= 1 + + // AEB is requesting brake prefill + // 1 : "Requested" + // 0 : "Not Requested" + uint8_t DAS_AebPrefill_Req : 1; // Bits= 1 + + // AEB is inform a potential accident + // 1 : "Requested" + // 0 : "Not requested" + uint8_t DAS_AebPreCrash_Req : 1; // Bits= 1 + + // Rolling Counter [0 - 15] + uint8_t DAS_01_RC : 4; // Bits= 4 + + // Checksum CRC8 SAE J1850 of the data field this message + uint8_t DAS_01_CS; // Bits= 8 + +#else + + // Implement deceleration of CC + uint16_t DAS_CcAfsDecel_Req_ro; // Bits=16 Offset= -20.0 Factor= 0.001 Unit:'m/s^2' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t DAS_CcAfsDecel_Req_phys; +#endif // CANDB_USE_SIGFLOAT + + // Implement deceleration, ms^2 + uint16_t DAS_AebRdaDecel_Req_ro; // Bits=16 Offset= -20.0 Factor= 0.001 Unit:'m/s^2' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t DAS_AebRdaDecel_Req_phys; +#endif // CANDB_USE_SIGFLOAT + + // CC (Cruise Control) is requesting the brake light to be turned on + // 1 : "Requested" + // 0 : "Not requested" + uint8_t DAS_CcBrakeLight_Req; // Bits= 1 + + // AEB (Automatic Emergency Braking) is requesting brake boost + // 1 : "Request" + // 0 : "No Request" + uint8_t DAS_AebBoost_Req; // Bits= 1 + + // AEB is requesting brake prefill + // 1 : "Requested" + // 0 : "Not Requested" + uint8_t DAS_AebPrefill_Req; // Bits= 1 + + // AEB is inform a potential accident + // 1 : "Requested" + // 0 : "Not requested" + uint8_t DAS_AebPreCrash_Req; // Bits= 1 + + // Rolling Counter [0 - 15] + uint8_t DAS_01_RC; // Bits= 4 + + // Checksum CRC8 SAE J1850 of the data field this message + uint8_t DAS_01_CS; // Bits= 8 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} DAS_01_t; + +// def @DAS_04 CAN Message (354 0x162) +#define DAS_04_IDE (0U) +#define DAS_04_DLC (4U) +#define DAS_04_CANID (0x162U) +#define DAS_04_CYC (10U) + +// Value tables for @DAS_CcDecelFlag_Req signal + +#ifndef DAS_CcDecelFlag_Req_DAS_04_Requested +#define DAS_CcDecelFlag_Req_DAS_04_Requested (1) +#endif + +#ifndef DAS_CcDecelFlag_Req_DAS_04_Not_requested +#define DAS_CcDecelFlag_Req_DAS_04_Not_requested (0) +#endif + + +// Value tables for @DAS_CcBrakeStandSt_Req signal + +#ifndef DAS_CcBrakeStandSt_Req_DAS_04_Requested +#define DAS_CcBrakeStandSt_Req_DAS_04_Requested (1) +#endif + +#ifndef DAS_CcBrakeStandSt_Req_DAS_04_Not_requested +#define DAS_CcBrakeStandSt_Req_DAS_04_Not_requested (0) +#endif + + +// Value tables for @DAS_CcMode_Stat signal + +#ifndef DAS_CcMode_Stat_DAS_04_Override +#define DAS_CcMode_Stat_DAS_04_Override (3) +#endif + +#ifndef DAS_CcMode_Stat_DAS_04_Active +#define DAS_CcMode_Stat_DAS_04_Active (2) +#endif + +#ifndef DAS_CcMode_Stat_DAS_04_Standby +#define DAS_CcMode_Stat_DAS_04_Standby (1) +#endif + +#ifndef DAS_CcMode_Stat_DAS_04_Off +#define DAS_CcMode_Stat_DAS_04_Off (0) +#endif + + +// Value tables for @DAS_AfsBrakeJerkEnab_Stat signal + +#ifndef DAS_AfsBrakeJerkEnab_Stat_DAS_04_Enable +#define DAS_AfsBrakeJerkEnab_Stat_DAS_04_Enable (1) +#endif + +#ifndef DAS_AfsBrakeJerkEnab_Stat_DAS_04_Disable +#define DAS_AfsBrakeJerkEnab_Stat_DAS_04_Disable (0) +#endif + + +// Value tables for @DAS_AfsBrakeJerk_Req signal + +#ifndef DAS_AfsBrakeJerk_Req_DAS_04_Requested +#define DAS_AfsBrakeJerk_Req_DAS_04_Requested (1) +#endif + +#ifndef DAS_AfsBrakeJerk_Req_DAS_04_Not_requested +#define DAS_AfsBrakeJerk_Req_DAS_04_Not_requested (0) +#endif + + +// Value tables for @DAS_CcBrakeRelease_Req signal + +#ifndef DAS_CcBrakeRelease_Req_DAS_04_Requested +#define DAS_CcBrakeRelease_Req_DAS_04_Requested (1) +#endif + +#ifndef DAS_CcBrakeRelease_Req_DAS_04_Not_requsted +#define DAS_CcBrakeRelease_Req_DAS_04_Not_requsted (0) +#endif + + +// Value tables for @DAS_AebMode_Stat signal + +#ifndef DAS_AebMode_Stat_DAS_04_Active +#define DAS_AebMode_Stat_DAS_04_Active (1) +#endif + +#ifndef DAS_AebMode_Stat_DAS_04_Off +#define DAS_AebMode_Stat_DAS_04_Off (0) +#endif + + +// Value tables for @DAS_AebDecelFlag_Req signal + +#ifndef DAS_AebDecelFlag_Req_DAS_04_Requested +#define DAS_AebDecelFlag_Req_DAS_04_Requested (1) +#endif + +#ifndef DAS_AebDecelFlag_Req_DAS_04_Not_requsted +#define DAS_AebDecelFlag_Req_DAS_04_Not_requsted (0) +#endif + + +// Value tables for @DAS_CcFuncError_Stat signal + +#ifndef DAS_CcFuncError_Stat_DAS_04_Error +#define DAS_CcFuncError_Stat_DAS_04_Error (1) +#endif + +#ifndef DAS_CcFuncError_Stat_DAS_04_No_error +#define DAS_CcFuncError_Stat_DAS_04_No_error (0) +#endif + + +// Value tables for @DAS_AebRdaStand_Req signal + +#ifndef DAS_AebRdaStand_Req_DAS_04_Requested +#define DAS_AebRdaStand_Req_DAS_04_Requested (1) +#endif + +#ifndef DAS_AebRdaStand_Req_DAS_04_Not_requested +#define DAS_AebRdaStand_Req_DAS_04_Not_requested (0) +#endif + + +// Value tables for @DAS_AebFuncError_Stat signal + +#ifndef DAS_AebFuncError_Stat_DAS_04_Error +#define DAS_AebFuncError_Stat_DAS_04_Error (1) +#endif + +#ifndef DAS_AebFuncError_Stat_DAS_04_No_error +#define DAS_AebFuncError_Stat_DAS_04_No_error (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Indicates strength of Brake Jerk warning level requested by AFS + uint8_t DAS_AfsBrakeJerkLvl_Stat; // Bits= 8 + + // Cruise is requesting to implement deceleration + // 1 : "Requested" + // 0 : "Not requested" + uint8_t DAS_CcDecelFlag_Req : 1; // Bits= 1 + + // Cruise is requesting a car hold + // 1 : "Requested" + // 0 : "Not requested" + uint8_t DAS_CcBrakeStandSt_Req : 1; // Bits= 1 + + // Mode of CC + // 3 : "Override" + // 2 : "Active" + // 1 : "Standby" + // 0 : "Off" + uint8_t DAS_CcMode_Stat : 2; // Bits= 2 + + // Enable the brake jerk warning functionnality + // 1 : "Enable" + // 0 : "Disable" + uint8_t DAS_AfsBrakeJerkEnab_Stat : 1; // Bits= 1 + + // AFS requests a brake jerk to warn the driver in a hazardous situation + // 1 : "Requested" + // 0 : "Not requested" + uint8_t DAS_AfsBrakeJerk_Req : 1; // Bits= 1 + + // Cruise is requesting to start the car + // 1 : "Requested" + // 0 : "Not requsted" + uint8_t DAS_CcBrakeRelease_Req : 1; // Bits= 1 + + // Mode of emergency braking + // 1 : "Active" + // 0 : "Off" + uint8_t DAS_AebMode_Stat : 1; // Bits= 1 + + // AEB is requesting to implement deceleration + // 1 : "Requested" + // 0 : "Not requsted" + uint8_t DAS_AebDecelFlag_Req : 1; // Bits= 1 + + // Error symbol of CC + // 1 : "Error" + // 0 : "No error" + uint8_t DAS_CcFuncError_Stat : 1; // Bits= 1 + + // AEB or RDA is requestin enable HOLD + // 1 : "Requested" + // 0 : "Not requested" + uint8_t DAS_AebRdaStand_Req : 1; // Bits= 1 + + // Error symbol of AEB + // 1 : "Error" + // 0 : "No error" + uint8_t DAS_AebFuncError_Stat : 1; // Bits= 1 + + // Rolling Counter [0 - 15] + uint8_t DAS_04_RC : 4; // Bits= 4 + + // Checksum CRC8 SAE J1850 of the data field this message + uint8_t DAS_04_CS; // Bits= 8 + +#else + + // Indicates strength of Brake Jerk warning level requested by AFS + uint8_t DAS_AfsBrakeJerkLvl_Stat; // Bits= 8 + + // Cruise is requesting to implement deceleration + // 1 : "Requested" + // 0 : "Not requested" + uint8_t DAS_CcDecelFlag_Req; // Bits= 1 + + // Cruise is requesting a car hold + // 1 : "Requested" + // 0 : "Not requested" + uint8_t DAS_CcBrakeStandSt_Req; // Bits= 1 + + // Mode of CC + // 3 : "Override" + // 2 : "Active" + // 1 : "Standby" + // 0 : "Off" + uint8_t DAS_CcMode_Stat; // Bits= 2 + + // Enable the brake jerk warning functionnality + // 1 : "Enable" + // 0 : "Disable" + uint8_t DAS_AfsBrakeJerkEnab_Stat; // Bits= 1 + + // AFS requests a brake jerk to warn the driver in a hazardous situation + // 1 : "Requested" + // 0 : "Not requested" + uint8_t DAS_AfsBrakeJerk_Req; // Bits= 1 + + // Cruise is requesting to start the car + // 1 : "Requested" + // 0 : "Not requsted" + uint8_t DAS_CcBrakeRelease_Req; // Bits= 1 + + // Mode of emergency braking + // 1 : "Active" + // 0 : "Off" + uint8_t DAS_AebMode_Stat; // Bits= 1 + + // AEB is requesting to implement deceleration + // 1 : "Requested" + // 0 : "Not requsted" + uint8_t DAS_AebDecelFlag_Req; // Bits= 1 + + // Error symbol of CC + // 1 : "Error" + // 0 : "No error" + uint8_t DAS_CcFuncError_Stat; // Bits= 1 + + // AEB or RDA is requestin enable HOLD + // 1 : "Requested" + // 0 : "Not requested" + uint8_t DAS_AebRdaStand_Req; // Bits= 1 + + // Error symbol of AEB + // 1 : "Error" + // 0 : "No error" + uint8_t DAS_AebFuncError_Stat; // Bits= 1 + + // Rolling Counter [0 - 15] + uint8_t DAS_04_RC; // Bits= 4 + + // Checksum CRC8 SAE J1850 of the data field this message + uint8_t DAS_04_CS; // Bits= 8 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} DAS_04_t; + +// def @VCU_DriveInfo CAN Message (394 0x18a) +#define VCU_DriveInfo_IDE (0U) +#define VCU_DriveInfo_DLC (8U) +#define VCU_DriveInfo_CANID (0x18aU) +#define VCU_DriveInfo_CYC (100U) + +// Value tables for @VCU_SpecBut_Stat signal + +#ifndef VCU_SpecBut_Stat_VCU_DriveInfo_Reserved +#define VCU_SpecBut_Stat_VCU_DriveInfo_Reserved (3) +#endif + +#ifndef VCU_SpecBut_Stat_VCU_DriveInfo_Not_installed +#define VCU_SpecBut_Stat_VCU_DriveInfo_Not_installed (2) +#endif + +#ifndef VCU_SpecBut_Stat_VCU_DriveInfo_Pressed +#define VCU_SpecBut_Stat_VCU_DriveInfo_Pressed (1) +#endif + +#ifndef VCU_SpecBut_Stat_VCU_DriveInfo_Not_pressed +#define VCU_SpecBut_Stat_VCU_DriveInfo_Not_pressed (0) +#endif + + +// Value tables for @VCU_Fault_Stat signal + +#ifndef VCU_Fault_Stat_VCU_DriveInfo_Error +#define VCU_Fault_Stat_VCU_DriveInfo_Error (1) +#endif + +#ifndef VCU_Fault_Stat_VCU_DriveInfo_No_error +#define VCU_Fault_Stat_VCU_DriveInfo_No_error (0) +#endif + +// signal: @VCU_OverallActMotTrq_Val_ro +#define CANDB_VCU_OverallActMotTrq_Val_ro_CovFactor (0.25) +#define CANDB_VCU_OverallActMotTrq_Val_ro_toS(x) ( (uint16_t) (((x) - (-1533.0)) / (0.25)) ) +#define CANDB_VCU_OverallActMotTrq_Val_ro_fromS(x) ( (((x) * (0.25)) + (-1533.0)) ) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Special button status + // 3 : "Reserved" + // 2 : "Not installed" + // 1 : "Pressed" + // 0 : "Not pressed" + uint8_t VCU_SpecBut_Stat : 2; // Bits= 2 + + // VCU fault status flag + // 1 : "Error" + // 0 : "No error" + uint8_t VCU_Fault_Stat : 1; // Bits= 1 + + // Total actual torque delivered by driving e-machines (for 2 and 3 motor configurations) + uint16_t VCU_OverallActMotTrq_Val_ro; // Bits=16 Offset= -1533.0 Factor= 0.25 Unit:'Nm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t VCU_OverallActMotTrq_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Rolling Counter [0 - 15] + uint8_t VCU_DriveInfo_RC : 4; // Bits= 4 + + // Checksum CRC8 SAE J1850 of the data field this message + uint8_t VCU_DriveInfo_CS; // Bits= 8 + +#else + + // Special button status + // 3 : "Reserved" + // 2 : "Not installed" + // 1 : "Pressed" + // 0 : "Not pressed" + uint8_t VCU_SpecBut_Stat; // Bits= 2 + + // VCU fault status flag + // 1 : "Error" + // 0 : "No error" + uint8_t VCU_Fault_Stat; // Bits= 1 + + // Total actual torque delivered by driving e-machines (for 2 and 3 motor configurations) + uint16_t VCU_OverallActMotTrq_Val_ro; // Bits=16 Offset= -1533.0 Factor= 0.25 Unit:'Nm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t VCU_OverallActMotTrq_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Rolling Counter [0 - 15] + uint8_t VCU_DriveInfo_RC; // Bits= 4 + + // Checksum CRC8 SAE J1850 of the data field this message + uint8_t VCU_DriveInfo_CS; // Bits= 8 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} VCU_DriveInfo_t; + +// def @DAS_02 CAN Message (522 0x20a) +#define DAS_02_IDE (0U) +#define DAS_02_DLC (8U) +#define DAS_02_CANID (0x20aU) +#define DAS_02_CYC (50U) + +// Value tables for @DAS_LkaAngleFlag_Req signal + +#ifndef DAS_LkaAngleFlag_Req_DAS_02_Requested +#define DAS_LkaAngleFlag_Req_DAS_02_Requested (1) +#endif + +#ifndef DAS_LkaAngleFlag_Req_DAS_02_Not_requested +#define DAS_LkaAngleFlag_Req_DAS_02_Not_requested (0) +#endif + + +// Value tables for @DAS_AfsMode_Stat signal + +#ifndef DAS_AfsMode_Stat_DAS_02_Active +#define DAS_AfsMode_Stat_DAS_02_Active (1) +#endif + +#ifndef DAS_AfsMode_Stat_DAS_02_Off +#define DAS_AfsMode_Stat_DAS_02_Off (0) +#endif + + +// Value tables for @DAS_AfsDecelFlag_Req signal + +#ifndef DAS_AfsDecelFlag_Req_DAS_02_Requested +#define DAS_AfsDecelFlag_Req_DAS_02_Requested (1) +#endif + +#ifndef DAS_AfsDecelFlag_Req_DAS_02_Not_requested +#define DAS_AfsDecelFlag_Req_DAS_02_Not_requested (0) +#endif + + +// Value tables for @DAS_AfsFuncError_Stat signal + +#ifndef DAS_AfsFuncError_Stat_DAS_02_Error +#define DAS_AfsFuncError_Stat_DAS_02_Error (1) +#endif + +#ifndef DAS_AfsFuncError_Stat_DAS_02_No_error +#define DAS_AfsFuncError_Stat_DAS_02_No_error (0) +#endif + + +// Value tables for @DAS_AfsExecute_Req signal + +#ifndef DAS_AfsExecute_Req_DAS_02_Requested +#define DAS_AfsExecute_Req_DAS_02_Requested (1) +#endif + +#ifndef DAS_AfsExecute_Req_DAS_02_Not_requested +#define DAS_AfsExecute_Req_DAS_02_Not_requested (0) +#endif + + +// Value tables for @DAS_AfsSos_Req signal + +#ifndef DAS_AfsSos_Req_DAS_02_Requested +#define DAS_AfsSos_Req_DAS_02_Requested (1) +#endif + +#ifndef DAS_AfsSos_Req_DAS_02_Not_requested +#define DAS_AfsSos_Req_DAS_02_Not_requested (0) +#endif + + +// Value tables for @DAS_AfsEpb_Req signal + +#ifndef DAS_AfsEpb_Req_DAS_02_Requested +#define DAS_AfsEpb_Req_DAS_02_Requested (1) +#endif + +#ifndef DAS_AfsEpb_Req_DAS_02_Not_requested +#define DAS_AfsEpb_Req_DAS_02_Not_requested (0) +#endif + + +// Value tables for @DAS_RdaMode_Stat signal + +#ifndef DAS_RdaMode_Stat_DAS_02_On +#define DAS_RdaMode_Stat_DAS_02_On (1) +#endif + +#ifndef DAS_RdaMode_Stat_DAS_02_Off +#define DAS_RdaMode_Stat_DAS_02_Off (0) +#endif + + +// Value tables for @DAS_RdaDecelFlag_Req signal + +#ifndef DAS_RdaDecelFlag_Req_DAS_02_Requested +#define DAS_RdaDecelFlag_Req_DAS_02_Requested (1) +#endif + +#ifndef DAS_RdaDecelFlag_Req_DAS_02_Not_requested +#define DAS_RdaDecelFlag_Req_DAS_02_Not_requested (0) +#endif + + +// Value tables for @DAS_RdaFuncError_Stat signal + +#ifndef DAS_RdaFuncError_Stat_DAS_02_Error +#define DAS_RdaFuncError_Stat_DAS_02_Error (1) +#endif + +#ifndef DAS_RdaFuncError_Stat_DAS_02_No_error +#define DAS_RdaFuncError_Stat_DAS_02_No_error (0) +#endif + + +// Value tables for @DAS_LkaMode_Stat signal + +#ifndef DAS_LkaMode_Stat_DAS_02_ActiveTakeOver +#define DAS_LkaMode_Stat_DAS_02_ActiveTakeOver (3) +#endif + +#ifndef DAS_LkaMode_Stat_DAS_02_Active +#define DAS_LkaMode_Stat_DAS_02_Active (2) +#endif + +#ifndef DAS_LkaMode_Stat_DAS_02_Standby +#define DAS_LkaMode_Stat_DAS_02_Standby (1) +#endif + +#ifndef DAS_LkaMode_Stat_DAS_02_Off +#define DAS_LkaMode_Stat_DAS_02_Off (0) +#endif + + +// Value tables for @DAS_LkaFuncError_Stat signal + +#ifndef DAS_LkaFuncError_Stat_DAS_02_Error +#define DAS_LkaFuncError_Stat_DAS_02_Error (1) +#endif + +#ifndef DAS_LkaFuncError_Stat_DAS_02_No_error +#define DAS_LkaFuncError_Stat_DAS_02_No_error (0) +#endif + + +// Value tables for @DAS_LdpAngleFlag_Req signal + +#ifndef DAS_LdpAngleFlag_Req_DAS_02_Requsted +#define DAS_LdpAngleFlag_Req_DAS_02_Requsted (1) +#endif + +#ifndef DAS_LdpAngleFlag_Req_DAS_02_Not_requested +#define DAS_LdpAngleFlag_Req_DAS_02_Not_requested (0) +#endif + + +// Value tables for @DAS_LdpMode_Stat signal + +#ifndef DAS_LdpMode_Stat_DAS_02_Active +#define DAS_LdpMode_Stat_DAS_02_Active (1) +#endif + +#ifndef DAS_LdpMode_Stat_DAS_02_Off +#define DAS_LdpMode_Stat_DAS_02_Off (0) +#endif + + +// Value tables for @DAS_LdwFuncError_Stat signal + +#ifndef DAS_LdwFuncError_Stat_DAS_02_Error +#define DAS_LdwFuncError_Stat_DAS_02_Error (1) +#endif + +#ifndef DAS_LdwFuncError_Stat_DAS_02_No_error +#define DAS_LdwFuncError_Stat_DAS_02_No_error (0) +#endif + + +// Value tables for @DAS_AlccAngleFlag_Req signal + +#ifndef DAS_AlccAngleFlag_Req_DAS_02_Requested +#define DAS_AlccAngleFlag_Req_DAS_02_Requested (1) +#endif + +#ifndef DAS_AlccAngleFlag_Req_DAS_02_Not_requsted +#define DAS_AlccAngleFlag_Req_DAS_02_Not_requsted (0) +#endif + + +// Value tables for @DAS_AlccMode_Stat signal + +#ifndef DAS_AlccMode_Stat_DAS_02_Active +#define DAS_AlccMode_Stat_DAS_02_Active (1) +#endif + +#ifndef DAS_AlccMode_Stat_DAS_02_Off +#define DAS_AlccMode_Stat_DAS_02_Off (0) +#endif + + +// Value tables for @DAS_LccFuncError_Stat signal + +#ifndef DAS_LccFuncError_Stat_DAS_02_Error +#define DAS_LccFuncError_Stat_DAS_02_Error (1) +#endif + +#ifndef DAS_LccFuncError_Stat_DAS_02_No_error +#define DAS_LccFuncError_Stat_DAS_02_No_error (0) +#endif + + +// Value tables for @DAS_ApaAngleFlag_Req signal + +#ifndef DAS_ApaAngleFlag_Req_DAS_02_Requested +#define DAS_ApaAngleFlag_Req_DAS_02_Requested (1) +#endif + +#ifndef DAS_ApaAngleFlag_Req_DAS_02_Not_requested +#define DAS_ApaAngleFlag_Req_DAS_02_Not_requested (0) +#endif + + +// Value tables for @DAS_LkaSteeringMode_Stat signal + +#ifndef DAS_LkaSteeringMode_Stat_DAS_02_Active +#define DAS_LkaSteeringMode_Stat_DAS_02_Active (1) +#endif + +#ifndef DAS_LkaSteeringMode_Stat_DAS_02_Inactive +#define DAS_LkaSteeringMode_Stat_DAS_02_Inactive (0) +#endif + + +// Value tables for @DAS_AfsNotifError_Req signal + +#ifndef DAS_AfsNotifError_Req_DAS_02_Error +#define DAS_AfsNotifError_Req_DAS_02_Error (1) +#endif + +#ifndef DAS_AfsNotifError_Req_DAS_02_No_error +#define DAS_AfsNotifError_Req_DAS_02_No_error (0) +#endif + + +// Value tables for @DAS_RctcMode_Stat signal + +#ifndef DAS_RctcMode_Stat_DAS_02_Active +#define DAS_RctcMode_Stat_DAS_02_Active (1) +#endif + +#ifndef DAS_RctcMode_Stat_DAS_02_Off +#define DAS_RctcMode_Stat_DAS_02_Off (0) +#endif + + +// Value tables for @DAS_RctcDecelFlag_Req signal + +#ifndef DAS_RctcDecelFlag_Req_DAS_02_Request +#define DAS_RctcDecelFlag_Req_DAS_02_Request (1) +#endif + +#ifndef DAS_RctcDecelFlag_Req_DAS_02_Not_request +#define DAS_RctcDecelFlag_Req_DAS_02_Not_request (0) +#endif + + +// Value tables for @DAS_RctcFuncError_Stat signal + +#ifndef DAS_RctcFuncError_Stat_DAS_02_Error +#define DAS_RctcFuncError_Stat_DAS_02_Error (1) +#endif + +#ifndef DAS_RctcFuncError_Stat_DAS_02_No_error +#define DAS_RctcFuncError_Stat_DAS_02_No_error (0) +#endif + + +// Value tables for @DAS_RctcNotifError_Req signal + +#ifndef DAS_RctcNotifError_Req_DAS_02_Error +#define DAS_RctcNotifError_Req_DAS_02_Error (1) +#endif + +#ifndef DAS_RctcNotifError_Req_DAS_02_No_error +#define DAS_RctcNotifError_Req_DAS_02_No_error (0) +#endif + + +// Value tables for @DAS_AccFuncError_Stat signal + +#ifndef DAS_AccFuncError_Stat_DAS_02_Error +#define DAS_AccFuncError_Stat_DAS_02_Error (1) +#endif + +#ifndef DAS_AccFuncError_Stat_DAS_02_No_error +#define DAS_AccFuncError_Stat_DAS_02_No_error (0) +#endif + + +// Value tables for @DAS_APAMode_Stat signal + +#ifndef DAS_APAMode_Stat_DAS_02_Move +#define DAS_APAMode_Stat_DAS_02_Move (1) +#endif + +#ifndef DAS_APAMode_Stat_DAS_02_Not_move +#define DAS_APAMode_Stat_DAS_02_Not_move (0) +#endif + + +// Value tables for @DAS_ApaFuncError_Stat signal + +#ifndef DAS_ApaFuncError_Stat_DAS_02_Error +#define DAS_ApaFuncError_Stat_DAS_02_Error (1) +#endif + +#ifndef DAS_ApaFuncError_Stat_DAS_02_No_Error +#define DAS_ApaFuncError_Stat_DAS_02_No_Error (0) +#endif + +// signal: @DAS_LkaAngle_Req_ro +#define CANDB_DAS_LkaAngle_Req_ro_CovFactor (0.1) +#define CANDB_DAS_LkaAngle_Req_ro_toS(x) ( (uint16_t) (((x) - (-819.1)) / (0.1)) ) +#define CANDB_DAS_LkaAngle_Req_ro_fromS(x) ( (((x) * (0.1)) + (-819.1)) ) + +// Value tables for @DAS_RsaAngleDirection_Req signal + +#ifndef DAS_RsaAngleDirection_Req_DAS_02_Same_direction +#define DAS_RsaAngleDirection_Req_DAS_02_Same_direction (3) +#endif + +#ifndef DAS_RsaAngleDirection_Req_DAS_02_Opposite_direction +#define DAS_RsaAngleDirection_Req_DAS_02_Opposite_direction (2) +#endif + +#ifndef DAS_RsaAngleDirection_Req_DAS_02_Zero_position +#define DAS_RsaAngleDirection_Req_DAS_02_Zero_position (1) +#endif + +#ifndef DAS_RsaAngleDirection_Req_DAS_02_No_request +#define DAS_RsaAngleDirection_Req_DAS_02_No_request (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // LKA (Lane Keeping Assist) is requesting to implement angle on steering wheel + // 1 : "Requested" + // 0 : "Not requested" + uint8_t DAS_LkaAngleFlag_Req : 1; // Bits= 1 + + // Mode of AFS + // 1 : "Active" + // 0 : "Off" + uint8_t DAS_AfsMode_Stat : 1; // Bits= 1 + + // AFS (Automatic forced stop) is requesting to implement deceleration + // 1 : "Requested" + // 0 : "Not requested" + uint8_t DAS_AfsDecelFlag_Req : 1; // Bits= 1 + + // Error of AFS + // 1 : "Error" + // 0 : "No error" + uint8_t DAS_AfsFuncError_Stat : 1; // Bits= 1 + + // AFS is requesting open door and emergency lights + // 1 : "Requested" + // 0 : "Not requested" + uint8_t DAS_AfsExecute_Req : 1; // Bits= 1 + + // AFS is requesting call SOS + // 1 : "Requested" + // 0 : "Not requested" + uint8_t DAS_AfsSos_Req : 1; // Bits= 1 + + // AFS is requesting apply the parking brake + // 1 : "Requested" + // 0 : "Not requested" + uint8_t DAS_AfsEpb_Req : 1; // Bits= 1 + + // Mode of RDA (Reverse driving assist) + // 1 : "On" + // 0 : "Off" + uint8_t DAS_RdaMode_Stat : 1; // Bits= 1 + + // RDA is requesting to implement deceleration + // 1 : "Requested" + // 0 : "Not requested" + uint8_t DAS_RdaDecelFlag_Req : 1; // Bits= 1 + + // Error of RDA + // 1 : "Error" + // 0 : "No error" + uint8_t DAS_RdaFuncError_Stat : 1; // Bits= 1 + + // Mode of LKA + // 3 : "Active+TakeOver" + // 2 : "Active" + // 1 : "Standby" + // 0 : "Off" + uint8_t DAS_LkaMode_Stat : 2; // Bits= 2 + + // Error symbol of LKA + // 1 : "Error" + // 0 : "No error" + uint8_t DAS_LkaFuncError_Stat : 1; // Bits= 1 + + // LDP is requesting to implement angle on steering wheel + // 1 : "Requsted" + // 0 : "Not requested" + uint8_t DAS_LdpAngleFlag_Req : 1; // Bits= 1 + + // Mode of LDP (Lane Departure Prevention) + // 1 : "Active" + // 0 : "Off" + uint8_t DAS_LdpMode_Stat : 1; // Bits= 1 + + // Error symbol of LDW (Lane Departure Warning) + // 1 : "Error" + // 0 : "No error" + uint8_t DAS_LdwFuncError_Stat : 1; // Bits= 1 + + // ALCC is requesting to implement angle on steering wheel + // 1 : "Requested" + // 0 : "Not requsted" + uint8_t DAS_AlccAngleFlag_Req : 1; // Bits= 1 + + // Mode of ALCC (Active Lane Change Control) + // 1 : "Active" + // 0 : "Off" + uint8_t DAS_AlccMode_Stat : 1; // Bits= 1 + + // Error symbol of LCC (Lane Change Control) + // 1 : "Error" + // 0 : "No error" + uint8_t DAS_LccFuncError_Stat : 1; // Bits= 1 + + // APA is requesting to implement angle on steering wheel + // 1 : "Requested" + // 0 : "Not requested" + uint8_t DAS_ApaAngleFlag_Req : 1; // Bits= 1 + + // LKA mode for RSA + // 1 : "Active" + // 0 : "Inactive" + uint8_t DAS_LkaSteeringMode_Stat : 1; // Bits= 1 + + // Error notification of AFS + // 1 : "Error" + // 0 : "No error" + uint8_t DAS_AfsNotifError_Req : 1; // Bits= 1 + + // Mode of RDA + // 1 : "Active" + // 0 : "Off" + uint8_t DAS_RctcMode_Stat : 1; // Bits= 1 + + // RCTC is requesting to implement deceleration + // 1 : "Request" + // 0 : "Not request" + uint8_t DAS_RctcDecelFlag_Req : 1; // Bits= 1 + + // Error of RCTC (Rear Cross Traffic Control) + // 1 : "Error" + // 0 : "No error" + uint8_t DAS_RctcFuncError_Stat : 1; // Bits= 1 + + // Error notification of RCTC + // 1 : "Error" + // 0 : "No error" + uint8_t DAS_RctcNotifError_Req : 1; // Bits= 1 + + // Error symbol of ACC (Adaptive Cruise Control) + // 1 : "Error" + // 0 : "No error" + uint8_t DAS_AccFuncError_Stat : 1; // Bits= 1 + + // Mode of APA + // 1 : "Move" + // 0 : "Not move" + uint8_t DAS_APAMode_Stat : 1; // Bits= 1 + + // Error of APA + // 1 : "Error" + // 0 : "No Error" + uint8_t DAS_ApaFuncError_Stat : 1; // Bits= 1 + + // Angle request + uint16_t DAS_LkaAngle_Req_ro; // Bits=14 Offset= -819.1 Factor= 0.1 + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t DAS_LkaAngle_Req_phys; +#endif // CANDB_USE_SIGFLOAT + + // Rear steering actuator mode request + // 3 : "Same direction" + // 2 : "Opposite direction" + // 1 : "Zero position" + // 0 : "No request" + uint8_t DAS_RsaAngleDirection_Req : 2; // Bits= 2 + + // Rolling Counter [0 - 15] + uint8_t DAS_02_RC : 4; // Bits= 4 + + // Checksum XOR8 of the data field this message + // Checksum computed as per XOR algorithm: + // Byte 1 XOR byte 2 .... XOR byte n-1. (n = packet length.) + uint8_t DAS_02_CS; // Bits= 8 + +#else + + // LKA (Lane Keeping Assist) is requesting to implement angle on steering wheel + // 1 : "Requested" + // 0 : "Not requested" + uint8_t DAS_LkaAngleFlag_Req; // Bits= 1 + + // Mode of AFS + // 1 : "Active" + // 0 : "Off" + uint8_t DAS_AfsMode_Stat; // Bits= 1 + + // AFS (Automatic forced stop) is requesting to implement deceleration + // 1 : "Requested" + // 0 : "Not requested" + uint8_t DAS_AfsDecelFlag_Req; // Bits= 1 + + // Error of AFS + // 1 : "Error" + // 0 : "No error" + uint8_t DAS_AfsFuncError_Stat; // Bits= 1 + + // AFS is requesting open door and emergency lights + // 1 : "Requested" + // 0 : "Not requested" + uint8_t DAS_AfsExecute_Req; // Bits= 1 + + // AFS is requesting call SOS + // 1 : "Requested" + // 0 : "Not requested" + uint8_t DAS_AfsSos_Req; // Bits= 1 + + // AFS is requesting apply the parking brake + // 1 : "Requested" + // 0 : "Not requested" + uint8_t DAS_AfsEpb_Req; // Bits= 1 + + // Mode of RDA (Reverse driving assist) + // 1 : "On" + // 0 : "Off" + uint8_t DAS_RdaMode_Stat; // Bits= 1 + + // RDA is requesting to implement deceleration + // 1 : "Requested" + // 0 : "Not requested" + uint8_t DAS_RdaDecelFlag_Req; // Bits= 1 + + // Error of RDA + // 1 : "Error" + // 0 : "No error" + uint8_t DAS_RdaFuncError_Stat; // Bits= 1 + + // Mode of LKA + // 3 : "Active+TakeOver" + // 2 : "Active" + // 1 : "Standby" + // 0 : "Off" + uint8_t DAS_LkaMode_Stat; // Bits= 2 + + // Error symbol of LKA + // 1 : "Error" + // 0 : "No error" + uint8_t DAS_LkaFuncError_Stat; // Bits= 1 + + // LDP is requesting to implement angle on steering wheel + // 1 : "Requsted" + // 0 : "Not requested" + uint8_t DAS_LdpAngleFlag_Req; // Bits= 1 + + // Mode of LDP (Lane Departure Prevention) + // 1 : "Active" + // 0 : "Off" + uint8_t DAS_LdpMode_Stat; // Bits= 1 + + // Error symbol of LDW (Lane Departure Warning) + // 1 : "Error" + // 0 : "No error" + uint8_t DAS_LdwFuncError_Stat; // Bits= 1 + + // ALCC is requesting to implement angle on steering wheel + // 1 : "Requested" + // 0 : "Not requsted" + uint8_t DAS_AlccAngleFlag_Req; // Bits= 1 + + // Mode of ALCC (Active Lane Change Control) + // 1 : "Active" + // 0 : "Off" + uint8_t DAS_AlccMode_Stat; // Bits= 1 + + // Error symbol of LCC (Lane Change Control) + // 1 : "Error" + // 0 : "No error" + uint8_t DAS_LccFuncError_Stat; // Bits= 1 + + // APA is requesting to implement angle on steering wheel + // 1 : "Requested" + // 0 : "Not requested" + uint8_t DAS_ApaAngleFlag_Req; // Bits= 1 + + // LKA mode for RSA + // 1 : "Active" + // 0 : "Inactive" + uint8_t DAS_LkaSteeringMode_Stat; // Bits= 1 + + // Error notification of AFS + // 1 : "Error" + // 0 : "No error" + uint8_t DAS_AfsNotifError_Req; // Bits= 1 + + // Mode of RDA + // 1 : "Active" + // 0 : "Off" + uint8_t DAS_RctcMode_Stat; // Bits= 1 + + // RCTC is requesting to implement deceleration + // 1 : "Request" + // 0 : "Not request" + uint8_t DAS_RctcDecelFlag_Req; // Bits= 1 + + // Error of RCTC (Rear Cross Traffic Control) + // 1 : "Error" + // 0 : "No error" + uint8_t DAS_RctcFuncError_Stat; // Bits= 1 + + // Error notification of RCTC + // 1 : "Error" + // 0 : "No error" + uint8_t DAS_RctcNotifError_Req; // Bits= 1 + + // Error symbol of ACC (Adaptive Cruise Control) + // 1 : "Error" + // 0 : "No error" + uint8_t DAS_AccFuncError_Stat; // Bits= 1 + + // Mode of APA + // 1 : "Move" + // 0 : "Not move" + uint8_t DAS_APAMode_Stat; // Bits= 1 + + // Error of APA + // 1 : "Error" + // 0 : "No Error" + uint8_t DAS_ApaFuncError_Stat; // Bits= 1 + + // Angle request + uint16_t DAS_LkaAngle_Req_ro; // Bits=14 Offset= -819.1 Factor= 0.1 + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t DAS_LkaAngle_Req_phys; +#endif // CANDB_USE_SIGFLOAT + + // Rear steering actuator mode request + // 3 : "Same direction" + // 2 : "Opposite direction" + // 1 : "Zero position" + // 0 : "No request" + uint8_t DAS_RsaAngleDirection_Req; // Bits= 2 + + // Rolling Counter [0 - 15] + uint8_t DAS_02_RC; // Bits= 4 + + // Checksum XOR8 of the data field this message + // Checksum computed as per XOR algorithm: + // Byte 1 XOR byte 2 .... XOR byte n-1. (n = packet length.) + uint8_t DAS_02_CS; // Bits= 8 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} DAS_02_t; + +// def @DAS_07 CAN Message (523 0x20b) +#define DAS_07_IDE (0U) +#define DAS_07_DLC (6U) +#define DAS_07_CANID (0x20bU) +#define DAS_07_CYC (100U) + +// Value tables for @DAS_LkaWarnSound_Req signal + +#ifndef DAS_LkaWarnSound_Req_DAS_07_Requested +#define DAS_LkaWarnSound_Req_DAS_07_Requested (1) +#endif + +#ifndef DAS_LkaWarnSound_Req_DAS_07_Not_requested +#define DAS_LkaWarnSound_Req_DAS_07_Not_requested (0) +#endif + + +// Value tables for @DAS_LkaShootdownSound_Req signal + +#ifndef DAS_LkaShootdownSound_Req_DAS_07_Requested +#define DAS_LkaShootdownSound_Req_DAS_07_Requested (1) +#endif + +#ifndef DAS_LkaShootdownSound_Req_DAS_07_Not_requested +#define DAS_LkaShootdownSound_Req_DAS_07_Not_requested (0) +#endif + + +// Value tables for @DAS_LkaWarnNotif_Req signal + +#ifndef DAS_LkaWarnNotif_Req_DAS_07_Requested +#define DAS_LkaWarnNotif_Req_DAS_07_Requested (1) +#endif + +#ifndef DAS_LkaWarnNotif_Req_DAS_07_Not_requested +#define DAS_LkaWarnNotif_Req_DAS_07_Not_requested (0) +#endif + + +// Value tables for @DAS_LkaNotifError_Req signal + +#ifndef DAS_LkaNotifError_Req_DAS_07_Error +#define DAS_LkaNotifError_Req_DAS_07_Error (1) +#endif + +#ifndef DAS_LkaNotifError_Req_DAS_07_No_error +#define DAS_LkaNotifError_Req_DAS_07_No_error (0) +#endif + + +// Value tables for @DAS_RdaWarn_Req signal + +#ifndef DAS_RdaWarn_Req_DAS_07_Requested +#define DAS_RdaWarn_Req_DAS_07_Requested (1) +#endif + +#ifndef DAS_RdaWarn_Req_DAS_07_Not_requested +#define DAS_RdaWarn_Req_DAS_07_Not_requested (0) +#endif + + +// Value tables for @DAS_RctcWarn_Req signal + +#ifndef DAS_RctcWarn_Req_DAS_07_Requested +#define DAS_RctcWarn_Req_DAS_07_Requested (1) +#endif + +#ifndef DAS_RctcWarn_Req_DAS_07_Not_requested +#define DAS_RctcWarn_Req_DAS_07_Not_requested (0) +#endif + + +// Value tables for @DAS_RdaNotifError_Req signal + +#ifndef DAS_RdaNotifError_Req_DAS_07_Error +#define DAS_RdaNotifError_Req_DAS_07_Error (1) +#endif + +#ifndef DAS_RdaNotifError_Req_DAS_07_No_error +#define DAS_RdaNotifError_Req_DAS_07_No_error (0) +#endif + + +// Value tables for @DAS_LdwMode_Stat signal + +#ifndef DAS_LdwMode_Stat_DAS_07_Active_right +#define DAS_LdwMode_Stat_DAS_07_Active_right (4) +#endif + +#ifndef DAS_LdwMode_Stat_DAS_07_Active_left +#define DAS_LdwMode_Stat_DAS_07_Active_left (3) +#endif + +#ifndef DAS_LdwMode_Stat_DAS_07_Active +#define DAS_LdwMode_Stat_DAS_07_Active (2) +#endif + +#ifndef DAS_LdwMode_Stat_DAS_07_Standby +#define DAS_LdwMode_Stat_DAS_07_Standby (1) +#endif + +#ifndef DAS_LdwMode_Stat_DAS_07_Off +#define DAS_LdwMode_Stat_DAS_07_Off (0) +#endif + + +// Value tables for @DAS_LdpLeftLaneWarn_Req signal + +#ifndef DAS_LdpLeftLaneWarn_Req_DAS_07_Requested +#define DAS_LdpLeftLaneWarn_Req_DAS_07_Requested (1) +#endif + +#ifndef DAS_LdpLeftLaneWarn_Req_DAS_07_Not_requested +#define DAS_LdpLeftLaneWarn_Req_DAS_07_Not_requested (0) +#endif + + +// Value tables for @DAS_LdpRightLaneWarn_Req signal + +#ifndef DAS_LdpRightLaneWarn_Req_DAS_07_Requested +#define DAS_LdpRightLaneWarn_Req_DAS_07_Requested (1) +#endif + +#ifndef DAS_LdpRightLaneWarn_Req_DAS_07_Not_requested +#define DAS_LdpRightLaneWarn_Req_DAS_07_Not_requested (0) +#endif + + +// Value tables for @DAS_ALccNotifError_Req signal + +#ifndef DAS_ALccNotifError_Req_DAS_07_Error +#define DAS_ALccNotifError_Req_DAS_07_Error (1) +#endif + +#ifndef DAS_ALccNotifError_Req_DAS_07_No_error +#define DAS_ALccNotifError_Req_DAS_07_No_error (0) +#endif + + +// Value tables for @DAS_LdwLeftLaneWarn_Req signal + +#ifndef DAS_LdwLeftLaneWarn_Req_DAS_07_Requested +#define DAS_LdwLeftLaneWarn_Req_DAS_07_Requested (1) +#endif + +#ifndef DAS_LdwLeftLaneWarn_Req_DAS_07_Not_requested +#define DAS_LdwLeftLaneWarn_Req_DAS_07_Not_requested (0) +#endif + + +// Value tables for @DAS_LdwRightLaneWarn_Req signal + +#ifndef DAS_LdwRightLaneWarn_Req_DAS_07_Requested +#define DAS_LdwRightLaneWarn_Req_DAS_07_Requested (1) +#endif + +#ifndef DAS_LdwRightLaneWarn_Req_DAS_07_Not_requested +#define DAS_LdwRightLaneWarn_Req_DAS_07_Not_requested (0) +#endif + + +// Value tables for @DAS_LdwSound_Req signal + +#ifndef DAS_LdwSound_Req_DAS_07_Requested +#define DAS_LdwSound_Req_DAS_07_Requested (1) +#endif + +#ifndef DAS_LdwSound_Req_DAS_07_Not_requested +#define DAS_LdwSound_Req_DAS_07_Not_requested (0) +#endif + + +// Value tables for @DAS_LdwNotifError_Req signal + +#ifndef DAS_LdwNotifError_Req_DAS_07_Error +#define DAS_LdwNotifError_Req_DAS_07_Error (1) +#endif + +#ifndef DAS_LdwNotifError_Req_DAS_07_No_error +#define DAS_LdwNotifError_Req_DAS_07_No_error (0) +#endif + + +// Value tables for @DAS_LccMode_Stat signal + +#ifndef DAS_LccMode_Stat_DAS_07_Active +#define DAS_LccMode_Stat_DAS_07_Active (2) +#endif + +#ifndef DAS_LccMode_Stat_DAS_07_Standby +#define DAS_LccMode_Stat_DAS_07_Standby (1) +#endif + +#ifndef DAS_LccMode_Stat_DAS_07_Off +#define DAS_LccMode_Stat_DAS_07_Off (0) +#endif + + +// Value tables for @DAS_DowMode_Stat signal + +#ifndef DAS_DowMode_Stat_DAS_07_Active +#define DAS_DowMode_Stat_DAS_07_Active (1) +#endif + +#ifndef DAS_DowMode_Stat_DAS_07_Off +#define DAS_DowMode_Stat_DAS_07_Off (0) +#endif + + +// Value tables for @DAS_LccLeftLed_Req signal + +#ifndef DAS_LccLeftLed_Req_DAS_07_Requested +#define DAS_LccLeftLed_Req_DAS_07_Requested (1) +#endif + +#ifndef DAS_LccLeftLed_Req_DAS_07_Not_requested +#define DAS_LccLeftLed_Req_DAS_07_Not_requested (0) +#endif + + +// Value tables for @DAS_LccRightLed_Req signal + +#ifndef DAS_LccRightLed_Req_DAS_07_Requested +#define DAS_LccRightLed_Req_DAS_07_Requested (1) +#endif + +#ifndef DAS_LccRightLed_Req_DAS_07_Not_requested +#define DAS_LccRightLed_Req_DAS_07_Not_requested (0) +#endif + + +// Value tables for @DAS_LccLeftWarn_Req signal + +#ifndef DAS_LccLeftWarn_Req_DAS_07_Requested +#define DAS_LccLeftWarn_Req_DAS_07_Requested (1) +#endif + +#ifndef DAS_LccLeftWarn_Req_DAS_07_Not_requested +#define DAS_LccLeftWarn_Req_DAS_07_Not_requested (0) +#endif + + +// Value tables for @DAS_LccRightWarn_Req signal + +#ifndef DAS_LccRightWarn_Req_DAS_07_Requested +#define DAS_LccRightWarn_Req_DAS_07_Requested (1) +#endif + +#ifndef DAS_LccRightWarn_Req_DAS_07_Not_requested +#define DAS_LccRightWarn_Req_DAS_07_Not_requested (0) +#endif + + +// Value tables for @DAS_LccSound_Req signal + +#ifndef DAS_LccSound_Req_DAS_07_Requested +#define DAS_LccSound_Req_DAS_07_Requested (1) +#endif + +#ifndef DAS_LccSound_Req_DAS_07_Not_requested +#define DAS_LccSound_Req_DAS_07_Not_requested (0) +#endif + + +// Value tables for @DAS_LccNotifError_Req signal + +#ifndef DAS_LccNotifError_Req_DAS_07_Error +#define DAS_LccNotifError_Req_DAS_07_Error (1) +#endif + +#ifndef DAS_LccNotifError_Req_DAS_07_No_error +#define DAS_LccNotifError_Req_DAS_07_No_error (0) +#endif + + +// Value tables for @DAS_DowNotifError_Req signal + +#ifndef DAS_DowNotifError_Req_DAS_07_Error +#define DAS_DowNotifError_Req_DAS_07_Error (1) +#endif + +#ifndef DAS_DowNotifError_Req_DAS_07_No_error +#define DAS_DowNotifError_Req_DAS_07_No_error (0) +#endif + + +// Value tables for @DAS_LdpNotifError_Req signal + +#ifndef DAS_LdpNotifError_Req_DAS_07_Error +#define DAS_LdpNotifError_Req_DAS_07_Error (1) +#endif + +#ifndef DAS_LdpNotifError_Req_DAS_07_No_error +#define DAS_LdpNotifError_Req_DAS_07_No_error (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Warning sound to take the steering wheel + // 1 : "Requested" + // 0 : "Not requested" + uint8_t DAS_LkaWarnSound_Req : 1; // Bits= 1 + + // Sound when function is turned off + // 1 : "Requested" + // 0 : "Not requested" + uint8_t DAS_LkaShootdownSound_Req : 1; // Bits= 1 + + // Notification to take the steering wheel + // 1 : "Requested" + // 0 : "Not requested" + uint8_t DAS_LkaWarnNotif_Req : 1; // Bits= 1 + + // Error notification of LKA + // 1 : "Error" + // 0 : "No error" + uint8_t DAS_LkaNotifError_Req : 1; // Bits= 1 + + // RDA is requesting warning notification + // 1 : "Requested" + // 0 : "Not requested" + uint8_t DAS_RdaWarn_Req : 1; // Bits= 1 + + // RCTC is requesting warning notification + // 1 : "Requested" + // 0 : "Not requested" + uint8_t DAS_RctcWarn_Req : 1; // Bits= 1 + + // Error notification of RDA + // 1 : "Error" + // 0 : "No error" + uint8_t DAS_RdaNotifError_Req : 1; // Bits= 1 + + // Mode of Lane Departure Warning + // 4 : "Active right" + // 3 : "Active left" + // 2 : "Active" + // 1 : "Standby" + // 0 : "Off" + uint8_t DAS_LdwMode_Stat : 3; // Bits= 3 + + // LDP is requesting warning notification Left line + // 1 : "Requested" + // 0 : "Not requested" + uint8_t DAS_LdpLeftLaneWarn_Req : 1; // Bits= 1 + + // LDP is requesting warning notification Right line + // 1 : "Requested" + // 0 : "Not requested" + uint8_t DAS_LdpRightLaneWarn_Req : 1; // Bits= 1 + + // Error notification of ALCC + // 1 : "Error" + // 0 : "No error" + uint8_t DAS_ALccNotifError_Req : 1; // Bits= 1 + + // LDW is requesting warning notification Left line + // 1 : "Requested" + // 0 : "Not requested" + uint8_t DAS_LdwLeftLaneWarn_Req : 1; // Bits= 1 + + // LDW is requesting warning notification Right line + // 1 : "Requested" + // 0 : "Not requested" + uint8_t DAS_LdwRightLaneWarn_Req : 1; // Bits= 1 + + // LDW is requesting warning sound + // 1 : "Requested" + // 0 : "Not requested" + uint8_t DAS_LdwSound_Req : 1; // Bits= 1 + + // Error notification of LDW + // 1 : "Error" + // 0 : "No error" + uint8_t DAS_LdwNotifError_Req : 1; // Bits= 1 + + // Mode of Lane Change Control (LCC) + // 2 : "Active" + // 1 : "Standby" + // 0 : "Off" + uint8_t DAS_LccMode_Stat : 2; // Bits= 2 + + // Mode of Door Open Warning + // 1 : "Active" + // 0 : "Off" + uint8_t DAS_DowMode_Stat : 1; // Bits= 1 + + // LCC is requesting activate left LED + // 1 : "Requested" + // 0 : "Not requested" + uint8_t DAS_LccLeftLed_Req : 1; // Bits= 1 + + // LCC is requesting activate right LED + // 1 : "Requested" + // 0 : "Not requested" + uint8_t DAS_LccRightLed_Req : 1; // Bits= 1 + + // LCC is requesting activate notification left side + // 1 : "Requested" + // 0 : "Not requested" + uint8_t DAS_LccLeftWarn_Req : 1; // Bits= 1 + + // LCC is requesting activate notification right side + // 1 : "Requested" + // 0 : "Not requested" + uint8_t DAS_LccRightWarn_Req : 1; // Bits= 1 + + // LCC is requesting sound warning + // 1 : "Requested" + // 0 : "Not requested" + uint8_t DAS_LccSound_Req : 1; // Bits= 1 + + // Error notification of LCC + // 1 : "Error" + // 0 : "No error" + uint8_t DAS_LccNotifError_Req : 1; // Bits= 1 + + // Error notification of DOW + // 1 : "Error" + // 0 : "No error" + uint8_t DAS_DowNotifError_Req : 1; // Bits= 1 + + // Error notification of Ldp + // 1 : "Error" + // 0 : "No error" + uint8_t DAS_LdpNotifError_Req : 1; // Bits= 1 + + // Rolling Counter [0 - 15] + uint8_t DAS_07_RC : 4; // Bits= 4 + + // Checksum CRC8 SAE J1850 of the data field this message + uint8_t DAS_07_CS; // Bits= 8 + +#else + + // Warning sound to take the steering wheel + // 1 : "Requested" + // 0 : "Not requested" + uint8_t DAS_LkaWarnSound_Req; // Bits= 1 + + // Sound when function is turned off + // 1 : "Requested" + // 0 : "Not requested" + uint8_t DAS_LkaShootdownSound_Req; // Bits= 1 + + // Notification to take the steering wheel + // 1 : "Requested" + // 0 : "Not requested" + uint8_t DAS_LkaWarnNotif_Req; // Bits= 1 + + // Error notification of LKA + // 1 : "Error" + // 0 : "No error" + uint8_t DAS_LkaNotifError_Req; // Bits= 1 + + // RDA is requesting warning notification + // 1 : "Requested" + // 0 : "Not requested" + uint8_t DAS_RdaWarn_Req; // Bits= 1 + + // RCTC is requesting warning notification + // 1 : "Requested" + // 0 : "Not requested" + uint8_t DAS_RctcWarn_Req; // Bits= 1 + + // Error notification of RDA + // 1 : "Error" + // 0 : "No error" + uint8_t DAS_RdaNotifError_Req; // Bits= 1 + + // Mode of Lane Departure Warning + // 4 : "Active right" + // 3 : "Active left" + // 2 : "Active" + // 1 : "Standby" + // 0 : "Off" + uint8_t DAS_LdwMode_Stat; // Bits= 3 + + // LDP is requesting warning notification Left line + // 1 : "Requested" + // 0 : "Not requested" + uint8_t DAS_LdpLeftLaneWarn_Req; // Bits= 1 + + // LDP is requesting warning notification Right line + // 1 : "Requested" + // 0 : "Not requested" + uint8_t DAS_LdpRightLaneWarn_Req; // Bits= 1 + + // Error notification of ALCC + // 1 : "Error" + // 0 : "No error" + uint8_t DAS_ALccNotifError_Req; // Bits= 1 + + // LDW is requesting warning notification Left line + // 1 : "Requested" + // 0 : "Not requested" + uint8_t DAS_LdwLeftLaneWarn_Req; // Bits= 1 + + // LDW is requesting warning notification Right line + // 1 : "Requested" + // 0 : "Not requested" + uint8_t DAS_LdwRightLaneWarn_Req; // Bits= 1 + + // LDW is requesting warning sound + // 1 : "Requested" + // 0 : "Not requested" + uint8_t DAS_LdwSound_Req; // Bits= 1 + + // Error notification of LDW + // 1 : "Error" + // 0 : "No error" + uint8_t DAS_LdwNotifError_Req; // Bits= 1 + + // Mode of Lane Change Control (LCC) + // 2 : "Active" + // 1 : "Standby" + // 0 : "Off" + uint8_t DAS_LccMode_Stat; // Bits= 2 + + // Mode of Door Open Warning + // 1 : "Active" + // 0 : "Off" + uint8_t DAS_DowMode_Stat; // Bits= 1 + + // LCC is requesting activate left LED + // 1 : "Requested" + // 0 : "Not requested" + uint8_t DAS_LccLeftLed_Req; // Bits= 1 + + // LCC is requesting activate right LED + // 1 : "Requested" + // 0 : "Not requested" + uint8_t DAS_LccRightLed_Req; // Bits= 1 + + // LCC is requesting activate notification left side + // 1 : "Requested" + // 0 : "Not requested" + uint8_t DAS_LccLeftWarn_Req; // Bits= 1 + + // LCC is requesting activate notification right side + // 1 : "Requested" + // 0 : "Not requested" + uint8_t DAS_LccRightWarn_Req; // Bits= 1 + + // LCC is requesting sound warning + // 1 : "Requested" + // 0 : "Not requested" + uint8_t DAS_LccSound_Req; // Bits= 1 + + // Error notification of LCC + // 1 : "Error" + // 0 : "No error" + uint8_t DAS_LccNotifError_Req; // Bits= 1 + + // Error notification of DOW + // 1 : "Error" + // 0 : "No error" + uint8_t DAS_DowNotifError_Req; // Bits= 1 + + // Error notification of Ldp + // 1 : "Error" + // 0 : "No error" + uint8_t DAS_LdpNotifError_Req; // Bits= 1 + + // Rolling Counter [0 - 15] + uint8_t DAS_07_RC; // Bits= 4 + + // Checksum CRC8 SAE J1850 of the data field this message + uint8_t DAS_07_CS; // Bits= 8 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} DAS_07_t; + +// def @ACU_01 CAN Message (528 0x210) +#define ACU_01_IDE (0U) +#define ACU_01_DLC (3U) +#define ACU_01_CANID (0x210U) +#define ACU_01_CYC (100U) + +// Value tables for @ACU_CrashEventDetect_Stat signal + +#ifndef ACU_CrashEventDetect_Stat_ACU_01_Crash_event_detected +#define ACU_CrashEventDetect_Stat_ACU_01_Crash_event_detected (1) +#endif + +#ifndef ACU_CrashEventDetect_Stat_ACU_01_Crash_event_not_detected +#define ACU_CrashEventDetect_Stat_ACU_01_Crash_event_not_detected (0) +#endif + + +// Value tables for @ACU_SysDeactEn_Stat signal + +#ifndef ACU_SysDeactEn_Stat_ACU_01_Enable_Complete_airbags_deactivation +#define ACU_SysDeactEn_Stat_ACU_01_Enable_Complete_airbags_deactivation (1) +#endif + +#ifndef ACU_SysDeactEn_Stat_ACU_01_Disable_Complete_airbags_deactivation +#define ACU_SysDeactEn_Stat_ACU_01_Disable_Complete_airbags_deactivation (0) +#endif + + +// Value tables for @DrivSeatBeltWarning signal + +#ifndef DrivSeatBeltWarning_ACU_01_Warning +#define DrivSeatBeltWarning_ACU_01_Warning (1) +#endif + +#ifndef DrivSeatBeltWarning_ACU_01_No_Warning +#define DrivSeatBeltWarning_ACU_01_No_Warning (0) +#endif + + +// Value tables for @PassSeatBeltWarning signal + +#ifndef PassSeatBeltWarning_ACU_01_Warning +#define PassSeatBeltWarning_ACU_01_Warning (1) +#endif + +#ifndef PassSeatBeltWarning_ACU_01_No_Warning +#define PassSeatBeltWarning_ACU_01_No_Warning (0) +#endif + + +// Value tables for @RILRequestStatus signal + +#ifndef RILRequestStatus_ACU_01_RIL_Request_ON +#define RILRequestStatus_ACU_01_RIL_Request_ON (3) +#endif + +#ifndef RILRequestStatus_ACU_01_RIL_Blinking_Request +#define RILRequestStatus_ACU_01_RIL_Blinking_Request (2) +#endif + +#ifndef RILRequestStatus_ACU_01_Reserved +#define RILRequestStatus_ACU_01_Reserved (1) +#endif + +#ifndef RILRequestStatus_ACU_01_RIL_Request_OFF +#define RILRequestStatus_ACU_01_RIL_Request_OFF (0) +#endif + + +// Value tables for @ACU_AirbagFrontPsngr_Stat signal + +#ifndef ACU_AirbagFrontPsngr_Stat_ACU_01_Not_Used +#define ACU_AirbagFrontPsngr_Stat_ACU_01_Not_Used (3) +#endif + +#ifndef ACU_AirbagFrontPsngr_Stat_ACU_01_Inactive_Lamp_ON +#define ACU_AirbagFrontPsngr_Stat_ACU_01_Inactive_Lamp_ON (2) +#endif + +#ifndef ACU_AirbagFrontPsngr_Stat_ACU_01_Reserve +#define ACU_AirbagFrontPsngr_Stat_ACU_01_Reserve (1) +#endif + +#ifndef ACU_AirbagFrontPsngr_Stat_ACU_01_Active_Lamp_OFF +#define ACU_AirbagFrontPsngr_Stat_ACU_01_Active_Lamp_OFF (0) +#endif + + +// Value tables for @RLSeatBeltWarning signal + +#ifndef RLSeatBeltWarning_ACU_01_Warning +#define RLSeatBeltWarning_ACU_01_Warning (1) +#endif + +#ifndef RLSeatBeltWarning_ACU_01_No_Warning +#define RLSeatBeltWarning_ACU_01_No_Warning (0) +#endif + + +// Value tables for @RRSeatBeltWarning signal + +#ifndef RRSeatBeltWarning_ACU_01_Warning +#define RRSeatBeltWarning_ACU_01_Warning (1) +#endif + +#ifndef RRSeatBeltWarning_ACU_01_No_Warning +#define RRSeatBeltWarning_ACU_01_No_Warning (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // The signal is generated when an accident-related event (Crash) occurs when at least one of several accident detection algorithms (Front crash detection, Rear crash detection or Side crash detection) is performed. + // 1 : "Crash event detected" + // 0 : "Crash event not detected" + uint8_t ACU_CrashEventDetect_Stat : 1; // Bits= 1 + + // Indicates when the complet airbags deactivation is requested: + // $0 = Disable Complete airbags deactivation + // $1 = Enable Complete airbags deactivation + // 1 : "Enable Complete airbags deactivation" + // 0 : "Disable Complete airbags deactivation" + uint8_t ACU_SysDeactEn_Stat : 1; // Bits= 1 + + // When the bit is set to a '1', a warning is required due to driver seat belt not detected buckled. + // 1 : "Warning" + // 0 : "No Warning" + uint8_t DrivSeatBeltWarning : 1; // Bits= 1 + + // When the bit is set to a '1', a warning is required due to passenger seat belt not detected buckled. + // 1 : "Warning" + // 0 : "No Warning" + uint8_t PassSeatBeltWarning : 1; // Bits= 1 + + // Indicates the state of the SRS Warning Lamp in the Instrument Cluster: + // $0 = RIL Request OFF: No fault + // $1 = Reserved + // $2 = RIL Blinking Request: Deployment algorithm deactivated (because of either Remote Start state or system deactivation switch) + // $3 = R + // 3 : "RIL Request ON" + // 2 : "RIL Blinking Request" + // 1 : "Reserved" + // 0 : "RIL Request OFF" + uint8_t RILRequestStatus : 2; // Bits= 2 + + // Indicates the activation status of the front passenger airbag + // $0 = Active, Lamp OFF + // $1 = Reserved + // $2 = Inactive, Lamp ON + // 3 : "Not Used" + // 2 : "Inactive, Lamp ON" + // 1 : "Reserve" + // 0 : "Active, Lamp OFF" + uint8_t ACU_AirbagFrontPsngr_Stat : 2; // Bits= 2 + + // When the bit is set to a '1', a warning is required due to rear left seat belt not detected buckled. + // 1 : "Warning" + // 0 : "No Warning" + uint8_t RLSeatBeltWarning : 1; // Bits= 1 + + // When the bit is set to a '1', a warning is required due to rear right seat belt not detected buckled. + // 1 : "Warning" + // 0 : "No Warning" + uint8_t RRSeatBeltWarning : 1; // Bits= 1 + + // Indicates belt status & Buckle status + // Bit 0: 0 = Belt status: unbelted + // Bit 0: 1 = Belt status: belted + // Bit 1: 0 = Buckle status: normal operation + // Bit 1: 1 = Buckle status: faulty + uint8_t FrontBuckleDriver_L : 2; // Bits= 2 + + // Rolling Counter [0 - 15] + uint8_t ACU_01_RC : 4; // Bits= 4 + + // Checksum XOR8 of the data field this message + // Checksum computed as per XOR algorithm: + // Byte 1 XOR byte 2 .... XOR byte n-1. (n = packet length.) + uint8_t ACU_01_CS; // Bits= 8 + +#else + + // The signal is generated when an accident-related event (Crash) occurs when at least one of several accident detection algorithms (Front crash detection, Rear crash detection or Side crash detection) is performed. + // 1 : "Crash event detected" + // 0 : "Crash event not detected" + uint8_t ACU_CrashEventDetect_Stat; // Bits= 1 + + // Indicates when the complet airbags deactivation is requested: + // $0 = Disable Complete airbags deactivation + // $1 = Enable Complete airbags deactivation + // 1 : "Enable Complete airbags deactivation" + // 0 : "Disable Complete airbags deactivation" + uint8_t ACU_SysDeactEn_Stat; // Bits= 1 + + // When the bit is set to a '1', a warning is required due to driver seat belt not detected buckled. + // 1 : "Warning" + // 0 : "No Warning" + uint8_t DrivSeatBeltWarning; // Bits= 1 + + // When the bit is set to a '1', a warning is required due to passenger seat belt not detected buckled. + // 1 : "Warning" + // 0 : "No Warning" + uint8_t PassSeatBeltWarning; // Bits= 1 + + // Indicates the state of the SRS Warning Lamp in the Instrument Cluster: + // $0 = RIL Request OFF: No fault + // $1 = Reserved + // $2 = RIL Blinking Request: Deployment algorithm deactivated (because of either Remote Start state or system deactivation switch) + // $3 = R + // 3 : "RIL Request ON" + // 2 : "RIL Blinking Request" + // 1 : "Reserved" + // 0 : "RIL Request OFF" + uint8_t RILRequestStatus; // Bits= 2 + + // Indicates the activation status of the front passenger airbag + // $0 = Active, Lamp OFF + // $1 = Reserved + // $2 = Inactive, Lamp ON + // 3 : "Not Used" + // 2 : "Inactive, Lamp ON" + // 1 : "Reserve" + // 0 : "Active, Lamp OFF" + uint8_t ACU_AirbagFrontPsngr_Stat; // Bits= 2 + + // When the bit is set to a '1', a warning is required due to rear left seat belt not detected buckled. + // 1 : "Warning" + // 0 : "No Warning" + uint8_t RLSeatBeltWarning; // Bits= 1 + + // When the bit is set to a '1', a warning is required due to rear right seat belt not detected buckled. + // 1 : "Warning" + // 0 : "No Warning" + uint8_t RRSeatBeltWarning; // Bits= 1 + + // Indicates belt status & Buckle status + // Bit 0: 0 = Belt status: unbelted + // Bit 0: 1 = Belt status: belted + // Bit 1: 0 = Buckle status: normal operation + // Bit 1: 1 = Buckle status: faulty + uint8_t FrontBuckleDriver_L; // Bits= 2 + + // Rolling Counter [0 - 15] + uint8_t ACU_01_RC; // Bits= 4 + + // Checksum XOR8 of the data field this message + // Checksum computed as per XOR algorithm: + // Byte 1 XOR byte 2 .... XOR byte n-1. (n = packet length.) + uint8_t ACU_01_CS; // Bits= 8 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} ACU_01_t; + +// def @EPB_Status CAN Message (538 0x21a) +#define EPB_Status_IDE (0U) +#define EPB_Status_DLC (5U) +#define EPB_Status_CANID (0x21aU) +#define EPB_Status_CYC (20U) + +// Value tables for @EPB_AppliedForce_Stat signal + +#ifndef EPB_AppliedForce_Stat_EPB_Status_Maximum_force_applied +#define EPB_AppliedForce_Stat_EPB_Status_Maximum_force_applied (3) +#endif + +#ifndef EPB_AppliedForce_Stat_EPB_Status_Medium_force_applied +#define EPB_AppliedForce_Stat_EPB_Status_Medium_force_applied (2) +#endif + +#ifndef EPB_AppliedForce_Stat_EPB_Status_Low_force_applied +#define EPB_AppliedForce_Stat_EPB_Status_Low_force_applied (1) +#endif + +#ifndef EPB_AppliedForce_Stat_EPB_Status_No_force_applied +#define EPB_AppliedForce_Stat_EPB_Status_No_force_applied (0) +#endif + + +// Value tables for @EPB_BrakeLight_Req signal + +#ifndef EPB_BrakeLight_Req_EPB_Status_Request +#define EPB_BrakeLight_Req_EPB_Status_Request (1) +#endif + +#ifndef EPB_BrakeLight_Req_EPB_Status_No_request +#define EPB_BrakeLight_Req_EPB_Status_No_request (0) +#endif + + +// Value tables for @EPB_CurrParkBrake_Stat signal + +#ifndef EPB_CurrParkBrake_Stat_EPB_Status_Reserved +#define EPB_CurrParkBrake_Stat_EPB_Status_Reserved (5) +#endif + +#ifndef EPB_CurrParkBrake_Stat_EPB_Status_Engagement_under_Progress +#define EPB_CurrParkBrake_Stat_EPB_Status_Engagement_under_Progress (4) +#endif + +#ifndef EPB_CurrParkBrake_Stat_EPB_Status_Release_Under_Progress +#define EPB_CurrParkBrake_Stat_EPB_Status_Release_Under_Progress (3) +#endif + +#ifndef EPB_CurrParkBrake_Stat_EPB_Status_Engaged +#define EPB_CurrParkBrake_Stat_EPB_Status_Engaged (2) +#endif + +#ifndef EPB_CurrParkBrake_Stat_EPB_Status_Released +#define EPB_CurrParkBrake_Stat_EPB_Status_Released (1) +#endif + +#ifndef EPB_CurrParkBrake_Stat_EPB_Status_Not_Initialized +#define EPB_CurrParkBrake_Stat_EPB_Status_Not_Initialized (0) +#endif + + +// Value tables for @EPB_AudibleChime_Req signal + +#ifndef EPB_AudibleChime_Req_EPB_Status_Request +#define EPB_AudibleChime_Req_EPB_Status_Request (1) +#endif + +#ifndef EPB_AudibleChime_Req_EPB_Status_No_Request +#define EPB_AudibleChime_Req_EPB_Status_No_Request (0) +#endif + +// signal: @EPB_TargetDecel_Val_ro +#define CANDB_EPB_TargetDecel_Val_ro_CovFactor (0.05) +#define CANDB_EPB_TargetDecel_Val_ro_toS(x) ( (uint8_t) (((x) - (-4.0)) / (0.05)) ) +#define CANDB_EPB_TargetDecel_Val_ro_fromS(x) ( (((x) * (0.05)) + (-4.0)) ) + +// Value tables for @EPB_CurrEPBSw_Stat signal + +#ifndef EPB_CurrEPBSw_Stat_EPB_Status_Fault +#define EPB_CurrEPBSw_Stat_EPB_Status_Fault (3) +#endif + +#ifndef EPB_CurrEPBSw_Stat_EPB_Status_Lock_Brake +#define EPB_CurrEPBSw_Stat_EPB_Status_Lock_Brake (2) +#endif + +#ifndef EPB_CurrEPBSw_Stat_EPB_Status_Release_Brake +#define EPB_CurrEPBSw_Stat_EPB_Status_Release_Brake (1) +#endif + +#ifndef EPB_CurrEPBSw_Stat_EPB_Status_No_Request +#define EPB_CurrEPBSw_Stat_EPB_Status_No_Request (0) +#endif + + +// Value tables for @EPB_DynamicEmergencyApply_Stat signal + +#ifndef EPB_DynamicEmergencyApply_Stat_EPB_Status_Enabled +#define EPB_DynamicEmergencyApply_Stat_EPB_Status_Enabled (1) +#endif + +#ifndef EPB_DynamicEmergencyApply_Stat_EPB_Status_Not_Enabled +#define EPB_DynamicEmergencyApply_Stat_EPB_Status_Not_Enabled (0) +#endif + + +// Value tables for @EPB_Indicator_Req signal + +#ifndef EPB_Indicator_Req_EPB_Status_Failure_Indication +#define EPB_Indicator_Req_EPB_Status_Failure_Indication (3) +#endif + +#ifndef EPB_Indicator_Req_EPB_Status_Dynamic_Braking_Indication +#define EPB_Indicator_Req_EPB_Status_Dynamic_Braking_Indication (2) +#endif + +#ifndef EPB_Indicator_Req_EPB_Status_Engaged_Brake_Indication +#define EPB_Indicator_Req_EPB_Status_Engaged_Brake_Indication (1) +#endif + +#ifndef EPB_Indicator_Req_EPB_Status_No_Indication +#define EPB_Indicator_Req_EPB_Status_No_Indication (0) +#endif + + +// Value tables for @EPB_Failure_Stat signal + +#ifndef EPB_Failure_Stat_EPB_Status_Failure +#define EPB_Failure_Stat_EPB_Status_Failure (1) +#endif + +#ifndef EPB_Failure_Stat_EPB_Status_No_Failure +#define EPB_Failure_Stat_EPB_Status_No_Failure (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // State of he force applied by tightening the cable. + // $0 = No Force Applied + // $1 = Low Force Applied + // $2 = Medium Force Applied + // $3 = Maximum Force Applied + // 3 : "Maximum force applied" + // 2 : "Medium force applied" + // 1 : "Low force applied" + // 0 : "No force applied" + uint8_t EPB_AppliedForce_Stat : 3; // Bits= 3 + + // Brake light on request from EPB system + // 1 : "Request" + // 0 : "No request" + uint8_t EPB_BrakeLight_Req : 1; // Bits= 1 + + // EPB current status + // $0 = Not Initialized + // $1 = Released + // $2 = Engaged + // $3 = Release Under Progress + // $4 = Engagement Under Progress + // $5 = Reserved + // 5 : "Reserved" + // 4 : "Engagement under Progress" + // 3 : "Release Under Progress" + // 2 : "Engaged" + // 1 : "Released" + // 0 : "Not Initialized" + uint8_t EPB_CurrParkBrake_Stat : 3; // Bits= 3 + + // Audible warning request + // 1 : "Request" + // 0 : "No Request" + uint8_t EPB_AudibleChime_Req : 1; // Bits= 1 + + // Decelartion requested from EPB when EPB switch is detected pressed and vehicle speed > 7km/h + // This information will be taken into account by braking unit only if the EPB_DynamicEmergencyApply signal request is active. + // ESC requests this signal to be certi + uint8_t EPB_TargetDecel_Val_ro; // Bits= 8 Offset= -4.0 Factor= 0.05 Unit:'m/s^2' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t EPB_TargetDecel_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // EPB switch current status + // $0 = No Request + // $1 = Release Brake + // $2 = Lock Brake + // $3 = Fault + // 3 : "Fault" + // 2 : "Lock Brake" + // 1 : "Release Brake" + // 0 : "No Request" + uint8_t EPB_CurrEPBSw_Stat : 3; // Bits= 3 + + // Emergency braking from EPB button when speed > 7km/h: + // $0= Not Enabled + // $1= Enabled + // ESC requests this signal to be certified ASIL C + // 1 : "Enabled" + // 0 : "Not Enabled" + uint8_t EPB_DynamicEmergencyApply_Stat : 1; // Bits= 1 + + // Feedback from EPB for indication Parking brake activation + // Reserved = No action by ATS + // 3 : "Failure Indication" + // 2 : "Dynamic Braking Indication" + // 1 : "Engaged Brake Indication" + // 0 : "No Indication" + uint8_t EPB_Indicator_Req : 2; // Bits= 2 + + // EPB failure status: + // $0 = No failure + // $1 = Failure + // 1 : "Failure" + // 0 : "No Failure" + uint8_t EPB_Failure_Stat : 1; // Bits= 1 + + // Rolling Counter [0 - 15] + uint8_t EPB_Status_RC : 4; // Bits= 4 + + // Checksum CRC8 SAE J1850 of the data field this message + uint8_t EPB_Status_CS; // Bits= 8 + +#else + + // State of he force applied by tightening the cable. + // $0 = No Force Applied + // $1 = Low Force Applied + // $2 = Medium Force Applied + // $3 = Maximum Force Applied + // 3 : "Maximum force applied" + // 2 : "Medium force applied" + // 1 : "Low force applied" + // 0 : "No force applied" + uint8_t EPB_AppliedForce_Stat; // Bits= 3 + + // Brake light on request from EPB system + // 1 : "Request" + // 0 : "No request" + uint8_t EPB_BrakeLight_Req; // Bits= 1 + + // EPB current status + // $0 = Not Initialized + // $1 = Released + // $2 = Engaged + // $3 = Release Under Progress + // $4 = Engagement Under Progress + // $5 = Reserved + // 5 : "Reserved" + // 4 : "Engagement under Progress" + // 3 : "Release Under Progress" + // 2 : "Engaged" + // 1 : "Released" + // 0 : "Not Initialized" + uint8_t EPB_CurrParkBrake_Stat; // Bits= 3 + + // Audible warning request + // 1 : "Request" + // 0 : "No Request" + uint8_t EPB_AudibleChime_Req; // Bits= 1 + + // Decelartion requested from EPB when EPB switch is detected pressed and vehicle speed > 7km/h + // This information will be taken into account by braking unit only if the EPB_DynamicEmergencyApply signal request is active. + // ESC requests this signal to be certi + uint8_t EPB_TargetDecel_Val_ro; // Bits= 8 Offset= -4.0 Factor= 0.05 Unit:'m/s^2' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t EPB_TargetDecel_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // EPB switch current status + // $0 = No Request + // $1 = Release Brake + // $2 = Lock Brake + // $3 = Fault + // 3 : "Fault" + // 2 : "Lock Brake" + // 1 : "Release Brake" + // 0 : "No Request" + uint8_t EPB_CurrEPBSw_Stat; // Bits= 3 + + // Emergency braking from EPB button when speed > 7km/h: + // $0= Not Enabled + // $1= Enabled + // ESC requests this signal to be certified ASIL C + // 1 : "Enabled" + // 0 : "Not Enabled" + uint8_t EPB_DynamicEmergencyApply_Stat; // Bits= 1 + + // Feedback from EPB for indication Parking brake activation + // Reserved = No action by ATS + // 3 : "Failure Indication" + // 2 : "Dynamic Braking Indication" + // 1 : "Engaged Brake Indication" + // 0 : "No Indication" + uint8_t EPB_Indicator_Req; // Bits= 2 + + // EPB failure status: + // $0 = No failure + // $1 = Failure + // 1 : "Failure" + // 0 : "No Failure" + uint8_t EPB_Failure_Stat; // Bits= 1 + + // Rolling Counter [0 - 15] + uint8_t EPB_Status_RC; // Bits= 4 + + // Checksum CRC8 SAE J1850 of the data field this message + uint8_t EPB_Status_CS; // Bits= 8 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} EPB_Status_t; + +// def @BCM_ExteriorLightState CAN Message (561 0x231) +#define BCM_ExteriorLightState_IDE (0U) +#define BCM_ExteriorLightState_DLC (4U) +#define BCM_ExteriorLightState_CANID (0x231U) +#define BCM_ExteriorLightState_CYC (50U) + +// Value tables for @BCM_PositionLightRearState signal + +#ifndef BCM_PositionLightRearState_BCM_ExteriorLightState_On +#define BCM_PositionLightRearState_BCM_ExteriorLightState_On (1) +#endif + +#ifndef BCM_PositionLightRearState_BCM_ExteriorLightState_Off +#define BCM_PositionLightRearState_BCM_ExteriorLightState_Off (0) +#endif + + +// Value tables for @BCM_TurnIndL_Req signal + +#ifndef BCM_TurnIndL_Req_BCM_ExteriorLightState_On +#define BCM_TurnIndL_Req_BCM_ExteriorLightState_On (1) +#endif + +#ifndef BCM_TurnIndL_Req_BCM_ExteriorLightState_Off +#define BCM_TurnIndL_Req_BCM_ExteriorLightState_Off (0) +#endif + + +// Value tables for @BCM_TurnIndR_Req signal + +#ifndef BCM_TurnIndR_Req_BCM_ExteriorLightState_On +#define BCM_TurnIndR_Req_BCM_ExteriorLightState_On (1) +#endif + +#ifndef BCM_TurnIndR_Req_BCM_ExteriorLightState_Off +#define BCM_TurnIndR_Req_BCM_ExteriorLightState_Off (0) +#endif + + +// Value tables for @BCM_PosLghtsState signal + +#ifndef BCM_PosLghtsState_BCM_ExteriorLightState_Position_Lights_ON +#define BCM_PosLghtsState_BCM_ExteriorLightState_Position_Lights_ON (1) +#endif + +#ifndef BCM_PosLghtsState_BCM_ExteriorLightState_Position_Lights_OFF +#define BCM_PosLghtsState_BCM_ExteriorLightState_Position_Lights_OFF (0) +#endif + + +// Value tables for @BCM_RearFogLightState signal + +#ifndef BCM_RearFogLightState_BCM_ExteriorLightState_On +#define BCM_RearFogLightState_BCM_ExteriorLightState_On (1) +#endif + +#ifndef BCM_RearFogLightState_BCM_ExteriorLightState_Off +#define BCM_RearFogLightState_BCM_ExteriorLightState_Off (0) +#endif + + +// Value tables for @BCM_BrakeLightState signal + +#ifndef BCM_BrakeLightState_BCM_ExteriorLightState_On +#define BCM_BrakeLightState_BCM_ExteriorLightState_On (1) +#endif + +#ifndef BCM_BrakeLightState_BCM_ExteriorLightState_Off +#define BCM_BrakeLightState_BCM_ExteriorLightState_Off (0) +#endif + + +// Value tables for @BCM_ReverseLightState signal + +#ifndef BCM_ReverseLightState_BCM_ExteriorLightState_On +#define BCM_ReverseLightState_BCM_ExteriorLightState_On (1) +#endif + +#ifndef BCM_ReverseLightState_BCM_ExteriorLightState_Off +#define BCM_ReverseLightState_BCM_ExteriorLightState_Off (0) +#endif + + +// Value tables for @BCM_HighBeamState signal + +#ifndef BCM_HighBeamState_BCM_ExteriorLightState_HIgh_Beam_Auto_Active +#define BCM_HighBeamState_BCM_ExteriorLightState_HIgh_Beam_Auto_Active (3) +#endif + +#ifndef BCM_HighBeamState_BCM_ExteriorLightState_High_Beam_Auto_Standby +#define BCM_HighBeamState_BCM_ExteriorLightState_High_Beam_Auto_Standby (2) +#endif + +#ifndef BCM_HighBeamState_BCM_ExteriorLightState_High_Beam_Manual_Active +#define BCM_HighBeamState_BCM_ExteriorLightState_High_Beam_Manual_Active (1) +#endif + +#ifndef BCM_HighBeamState_BCM_ExteriorLightState_Lights_Inactive +#define BCM_HighBeamState_BCM_ExteriorLightState_Lights_Inactive (0) +#endif + + +// Value tables for @BCM_LightSwitchPos signal + +#ifndef BCM_LightSwitchPos_BCM_ExteriorLightState_Position_Lights_Mode +#define BCM_LightSwitchPos_BCM_ExteriorLightState_Position_Lights_Mode (3) +#endif + +#ifndef BCM_LightSwitchPos_BCM_ExteriorLightState_Low_Beam_Mode +#define BCM_LightSwitchPos_BCM_ExteriorLightState_Low_Beam_Mode (2) +#endif + +#ifndef BCM_LightSwitchPos_BCM_ExteriorLightState_Auto_ON +#define BCM_LightSwitchPos_BCM_ExteriorLightState_Auto_ON (1) +#endif + +#ifndef BCM_LightSwitchPos_BCM_ExteriorLightState_OFF_Mode +#define BCM_LightSwitchPos_BCM_ExteriorLightState_OFF_Mode (0) +#endif + + +// Value tables for @BCM_LowBeamState signal + +#ifndef BCM_LowBeamState_BCM_ExteriorLightState_On_W_mode +#define BCM_LowBeamState_BCM_ExteriorLightState_On_W_mode (4) +#endif + +#ifndef BCM_LowBeamState_BCM_ExteriorLightState_On_E_mode +#define BCM_LowBeamState_BCM_ExteriorLightState_On_E_mode (3) +#endif + +#ifndef BCM_LowBeamState_BCM_ExteriorLightState_On_V_mode +#define BCM_LowBeamState_BCM_ExteriorLightState_On_V_mode (2) +#endif + +#ifndef BCM_LowBeamState_BCM_ExteriorLightState_On_C_mode +#define BCM_LowBeamState_BCM_ExteriorLightState_On_C_mode (1) +#endif + +#ifndef BCM_LowBeamState_BCM_ExteriorLightState_OFF +#define BCM_LowBeamState_BCM_ExteriorLightState_OFF (0) +#endif + + +// Value tables for @BCM_AllWthrLght_State signal + +#ifndef BCM_AllWthrLght_State_BCM_ExteriorLightState_All_Weather_Lights_ON +#define BCM_AllWthrLght_State_BCM_ExteriorLightState_All_Weather_Lights_ON (1) +#endif + +#ifndef BCM_AllWthrLght_State_BCM_ExteriorLightState_All_Weather_Lights_OFF +#define BCM_AllWthrLght_State_BCM_ExteriorLightState_All_Weather_Lights_OFF (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Rear Position Light Control Signal + // 1 : "On" + // 0 : "Off" + uint8_t BCM_PositionLightRearState : 1; // Bits= 1 + + // Left Direction Indicator Control Signal + // 1 : "On" + // 0 : "Off" + uint8_t BCM_TurnIndL_Req : 1; // Bits= 1 + + // Right Direction Indicator Control Signal + // 1 : "On" + // 0 : "Off" + uint8_t BCM_TurnIndR_Req : 1; // Bits= 1 + + // State of position lights + // 1 : "Position Lights ON" + // 0 : "Position Lights OFF" + uint8_t BCM_PosLghtsState : 1; // Bits= 1 + + // Rear Fog Light Control Signal + // 1 : "On" + // 0 : "Off" + uint8_t BCM_RearFogLightState : 1; // Bits= 1 + + // Brake Light Control Signal + // 1 : "On" + // 0 : "Off" + uint8_t BCM_BrakeLightState : 1; // Bits= 1 + + // Reverse Light Control Signal + // 1 : "On" + // 0 : "Off" + uint8_t BCM_ReverseLightState : 1; // Bits= 1 + + // State of High Beam Lights for acivating an indicator on IC. + // 3 : "HIgh Beam Auto Active" + // 2 : "High Beam Auto Standby" + // 1 : "High Beam Manual Active" + // 0 : "Lights Inactive" + uint8_t BCM_HighBeamState : 3; // Bits= 3 + + // Selected position of light control switch + // 3 : "Position Lights Mode" + // 2 : "Low Beam Mode" + // 1 : "Auto ON" + // 0 : "OFF Mode" + uint8_t BCM_LightSwitchPos : 2; // Bits= 2 + + // State of Low Beam Lights + // 4 : "On W mode" + // 3 : "On E mode" + // 2 : "On V mode" + // 1 : "On C mode" + // 0 : "OFF" + uint8_t BCM_LowBeamState : 3; // Bits= 3 + + // State of all-weather light function + // 1 : "All Weather Lights ON" + // 0 : "All Weather Lights OFF" + uint8_t BCM_AllWthrLght_State : 1; // Bits= 1 + +#else + + // Rear Position Light Control Signal + // 1 : "On" + // 0 : "Off" + uint8_t BCM_PositionLightRearState; // Bits= 1 + + // Left Direction Indicator Control Signal + // 1 : "On" + // 0 : "Off" + uint8_t BCM_TurnIndL_Req; // Bits= 1 + + // Right Direction Indicator Control Signal + // 1 : "On" + // 0 : "Off" + uint8_t BCM_TurnIndR_Req; // Bits= 1 + + // State of position lights + // 1 : "Position Lights ON" + // 0 : "Position Lights OFF" + uint8_t BCM_PosLghtsState; // Bits= 1 + + // Rear Fog Light Control Signal + // 1 : "On" + // 0 : "Off" + uint8_t BCM_RearFogLightState; // Bits= 1 + + // Brake Light Control Signal + // 1 : "On" + // 0 : "Off" + uint8_t BCM_BrakeLightState; // Bits= 1 + + // Reverse Light Control Signal + // 1 : "On" + // 0 : "Off" + uint8_t BCM_ReverseLightState; // Bits= 1 + + // State of High Beam Lights for acivating an indicator on IC. + // 3 : "HIgh Beam Auto Active" + // 2 : "High Beam Auto Standby" + // 1 : "High Beam Manual Active" + // 0 : "Lights Inactive" + uint8_t BCM_HighBeamState; // Bits= 3 + + // Selected position of light control switch + // 3 : "Position Lights Mode" + // 2 : "Low Beam Mode" + // 1 : "Auto ON" + // 0 : "OFF Mode" + uint8_t BCM_LightSwitchPos; // Bits= 2 + + // State of Low Beam Lights + // 4 : "On W mode" + // 3 : "On E mode" + // 2 : "On V mode" + // 1 : "On C mode" + // 0 : "OFF" + uint8_t BCM_LowBeamState; // Bits= 3 + + // State of all-weather light function + // 1 : "All Weather Lights ON" + // 0 : "All Weather Lights OFF" + uint8_t BCM_AllWthrLght_State; // Bits= 1 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} BCM_ExteriorLightState_t; + +// def @SWM_ContrlsState CAN Message (568 0x238) +#define SWM_ContrlsState_IDE (0U) +#define SWM_ContrlsState_DLC (8U) +#define SWM_ContrlsState_CANID (0x238U) +#define SWM_ContrlsState_CYC (100U) + +// Value tables for @SWM_MODE_Req signal + +#ifndef SWM_MODE_Req_SWM_ContrlsState_Failure +#define SWM_MODE_Req_SWM_ContrlsState_Failure (3) +#endif + +#ifndef SWM_MODE_Req_SWM_ContrlsState_Pressed +#define SWM_MODE_Req_SWM_ContrlsState_Pressed (2) +#endif + +#ifndef SWM_MODE_Req_SWM_ContrlsState_Reserved +#define SWM_MODE_Req_SWM_ContrlsState_Reserved (0) +#endif + +#ifndef SWM_MODE_Req_SWM_ContrlsState_Released +#define SWM_MODE_Req_SWM_ContrlsState_Released (1) +#endif + + +// Value tables for @SWM_CNCL_Req signal + +#ifndef SWM_CNCL_Req_SWM_ContrlsState_Failure +#define SWM_CNCL_Req_SWM_ContrlsState_Failure (3) +#endif + +#ifndef SWM_CNCL_Req_SWM_ContrlsState_Pressed +#define SWM_CNCL_Req_SWM_ContrlsState_Pressed (2) +#endif + +#ifndef SWM_CNCL_Req_SWM_ContrlsState_Reserved +#define SWM_CNCL_Req_SWM_ContrlsState_Reserved (0) +#endif + +#ifndef SWM_CNCL_Req_SWM_ContrlsState_Released +#define SWM_CNCL_Req_SWM_ContrlsState_Released (1) +#endif + + +// Value tables for @SWM_ACCSpeedDecrease_Req signal + +#ifndef SWM_ACCSpeedDecrease_Req_SWM_ContrlsState_Failure +#define SWM_ACCSpeedDecrease_Req_SWM_ContrlsState_Failure (3) +#endif + +#ifndef SWM_ACCSpeedDecrease_Req_SWM_ContrlsState_Pressed +#define SWM_ACCSpeedDecrease_Req_SWM_ContrlsState_Pressed (2) +#endif + +#ifndef SWM_ACCSpeedDecrease_Req_SWM_ContrlsState_Reserved +#define SWM_ACCSpeedDecrease_Req_SWM_ContrlsState_Reserved (0) +#endif + +#ifndef SWM_ACCSpeedDecrease_Req_SWM_ContrlsState_Released +#define SWM_ACCSpeedDecrease_Req_SWM_ContrlsState_Released (1) +#endif + + +// Value tables for @SWM_ACCSpeedIncrease_Req signal + +#ifndef SWM_ACCSpeedIncrease_Req_SWM_ContrlsState_Failure +#define SWM_ACCSpeedIncrease_Req_SWM_ContrlsState_Failure (3) +#endif + +#ifndef SWM_ACCSpeedIncrease_Req_SWM_ContrlsState_Pressed +#define SWM_ACCSpeedIncrease_Req_SWM_ContrlsState_Pressed (2) +#endif + +#ifndef SWM_ACCSpeedIncrease_Req_SWM_ContrlsState_Reserved +#define SWM_ACCSpeedIncrease_Req_SWM_ContrlsState_Reserved (0) +#endif + +#ifndef SWM_ACCSpeedIncrease_Req_SWM_ContrlsState_Released +#define SWM_ACCSpeedIncrease_Req_SWM_ContrlsState_Released (1) +#endif + + +// Value tables for @SWM_UserFunc_Req signal + +#ifndef SWM_UserFunc_Req_SWM_ContrlsState_Failure +#define SWM_UserFunc_Req_SWM_ContrlsState_Failure (3) +#endif + +#ifndef SWM_UserFunc_Req_SWM_ContrlsState_Pressed +#define SWM_UserFunc_Req_SWM_ContrlsState_Pressed (2) +#endif + +#ifndef SWM_UserFunc_Req_SWM_ContrlsState_Reserved +#define SWM_UserFunc_Req_SWM_ContrlsState_Reserved (0) +#endif + +#ifndef SWM_UserFunc_Req_SWM_ContrlsState_Released +#define SWM_UserFunc_Req_SWM_ContrlsState_Released (1) +#endif + + +// Value tables for @SWM_DIS_Req signal + +#ifndef SWM_DIS_Req_SWM_ContrlsState_Failure +#define SWM_DIS_Req_SWM_ContrlsState_Failure (3) +#endif + +#ifndef SWM_DIS_Req_SWM_ContrlsState_Pressed +#define SWM_DIS_Req_SWM_ContrlsState_Pressed (2) +#endif + +#ifndef SWM_DIS_Req_SWM_ContrlsState_Reserved +#define SWM_DIS_Req_SWM_ContrlsState_Reserved (0) +#endif + +#ifndef SWM_DIS_Req_SWM_ContrlsState_Released +#define SWM_DIS_Req_SWM_ContrlsState_Released (1) +#endif + + +// Value tables for @SWM_RES_Req signal + +#ifndef SWM_RES_Req_SWM_ContrlsState_Failure +#define SWM_RES_Req_SWM_ContrlsState_Failure (3) +#endif + +#ifndef SWM_RES_Req_SWM_ContrlsState_Pressed +#define SWM_RES_Req_SWM_ContrlsState_Pressed (2) +#endif + +#ifndef SWM_RES_Req_SWM_ContrlsState_Reserved +#define SWM_RES_Req_SWM_ContrlsState_Reserved (0) +#endif + +#ifndef SWM_RES_Req_SWM_ContrlsState_Released +#define SWM_RES_Req_SWM_ContrlsState_Released (1) +#endif + + +// Value tables for @SWM_SETSpeed_Req signal + +#ifndef SWM_SETSpeed_Req_SWM_ContrlsState_Failure +#define SWM_SETSpeed_Req_SWM_ContrlsState_Failure (3) +#endif + +#ifndef SWM_SETSpeed_Req_SWM_ContrlsState_Pressed +#define SWM_SETSpeed_Req_SWM_ContrlsState_Pressed (2) +#endif + +#ifndef SWM_SETSpeed_Req_SWM_ContrlsState_Reserved +#define SWM_SETSpeed_Req_SWM_ContrlsState_Reserved (0) +#endif + +#ifndef SWM_SETSpeed_Req_SWM_ContrlsState_Released +#define SWM_SETSpeed_Req_SWM_ContrlsState_Released (1) +#endif + + +// Value tables for @SWM_TELBtn_Req signal + +#ifndef SWM_TELBtn_Req_SWM_ContrlsState_Failure +#define SWM_TELBtn_Req_SWM_ContrlsState_Failure (3) +#endif + +#ifndef SWM_TELBtn_Req_SWM_ContrlsState_Pressed +#define SWM_TELBtn_Req_SWM_ContrlsState_Pressed (2) +#endif + +#ifndef SWM_TELBtn_Req_SWM_ContrlsState_Reserved +#define SWM_TELBtn_Req_SWM_ContrlsState_Reserved (0) +#endif + +#ifndef SWM_TELBtn_Req_SWM_ContrlsState_Released +#define SWM_TELBtn_Req_SWM_ContrlsState_Released (1) +#endif + + +// Value tables for @SWM_Home_Req signal + +#ifndef SWM_Home_Req_SWM_ContrlsState_Failure +#define SWM_Home_Req_SWM_ContrlsState_Failure (3) +#endif + +#ifndef SWM_Home_Req_SWM_ContrlsState_Pressed +#define SWM_Home_Req_SWM_ContrlsState_Pressed (2) +#endif + +#ifndef SWM_Home_Req_SWM_ContrlsState_Reserved +#define SWM_Home_Req_SWM_ContrlsState_Reserved (0) +#endif + +#ifndef SWM_Home_Req_SWM_ContrlsState_Released +#define SWM_Home_Req_SWM_ContrlsState_Released (1) +#endif + + +// Value tables for @SWM_Back_Req signal + +#ifndef SWM_Back_Req_SWM_ContrlsState_Failure +#define SWM_Back_Req_SWM_ContrlsState_Failure (3) +#endif + +#ifndef SWM_Back_Req_SWM_ContrlsState_Pressed +#define SWM_Back_Req_SWM_ContrlsState_Pressed (2) +#endif + +#ifndef SWM_Back_Req_SWM_ContrlsState_Reserved +#define SWM_Back_Req_SWM_ContrlsState_Reserved (0) +#endif + +#ifndef SWM_Back_Req_SWM_ContrlsState_Released +#define SWM_Back_Req_SWM_ContrlsState_Released (1) +#endif + + +// Value tables for @SWM_ICNextBtn_Req signal + +#ifndef SWM_ICNextBtn_Req_SWM_ContrlsState_Failure +#define SWM_ICNextBtn_Req_SWM_ContrlsState_Failure (3) +#endif + +#ifndef SWM_ICNextBtn_Req_SWM_ContrlsState_Pressed +#define SWM_ICNextBtn_Req_SWM_ContrlsState_Pressed (2) +#endif + +#ifndef SWM_ICNextBtn_Req_SWM_ContrlsState_Reserved +#define SWM_ICNextBtn_Req_SWM_ContrlsState_Reserved (0) +#endif + +#ifndef SWM_ICNextBtn_Req_SWM_ContrlsState_Released +#define SWM_ICNextBtn_Req_SWM_ContrlsState_Released (1) +#endif + + +// Value tables for @SWM_ICPrevBtn_Req signal + +#ifndef SWM_ICPrevBtn_Req_SWM_ContrlsState_Failure +#define SWM_ICPrevBtn_Req_SWM_ContrlsState_Failure (3) +#endif + +#ifndef SWM_ICPrevBtn_Req_SWM_ContrlsState_Pressed +#define SWM_ICPrevBtn_Req_SWM_ContrlsState_Pressed (2) +#endif + +#ifndef SWM_ICPrevBtn_Req_SWM_ContrlsState_Reserved +#define SWM_ICPrevBtn_Req_SWM_ContrlsState_Reserved (0) +#endif + +#ifndef SWM_ICPrevBtn_Req_SWM_ContrlsState_Released +#define SWM_ICPrevBtn_Req_SWM_ContrlsState_Released (1) +#endif + + +// Value tables for @SWM_ICUpBtn_Req signal + +#ifndef SWM_ICUpBtn_Req_SWM_ContrlsState_Failure +#define SWM_ICUpBtn_Req_SWM_ContrlsState_Failure (3) +#endif + +#ifndef SWM_ICUpBtn_Req_SWM_ContrlsState_Pressed +#define SWM_ICUpBtn_Req_SWM_ContrlsState_Pressed (2) +#endif + +#ifndef SWM_ICUpBtn_Req_SWM_ContrlsState_Reserved +#define SWM_ICUpBtn_Req_SWM_ContrlsState_Reserved (0) +#endif + +#ifndef SWM_ICUpBtn_Req_SWM_ContrlsState_Released +#define SWM_ICUpBtn_Req_SWM_ContrlsState_Released (1) +#endif + + +// Value tables for @SWM_ICDownBtn_Req signal + +#ifndef SWM_ICDownBtn_Req_SWM_ContrlsState_Failure +#define SWM_ICDownBtn_Req_SWM_ContrlsState_Failure (3) +#endif + +#ifndef SWM_ICDownBtn_Req_SWM_ContrlsState_Pressed +#define SWM_ICDownBtn_Req_SWM_ContrlsState_Pressed (2) +#endif + +#ifndef SWM_ICDownBtn_Req_SWM_ContrlsState_Reserved +#define SWM_ICDownBtn_Req_SWM_ContrlsState_Reserved (0) +#endif + +#ifndef SWM_ICDownBtn_Req_SWM_ContrlsState_Released +#define SWM_ICDownBtn_Req_SWM_ContrlsState_Released (1) +#endif + + +// Value tables for @SWM_ICConfBtn_Req signal + +#ifndef SWM_ICConfBtn_Req_SWM_ContrlsState_Failure +#define SWM_ICConfBtn_Req_SWM_ContrlsState_Failure (3) +#endif + +#ifndef SWM_ICConfBtn_Req_SWM_ContrlsState_Pressed +#define SWM_ICConfBtn_Req_SWM_ContrlsState_Pressed (2) +#endif + +#ifndef SWM_ICConfBtn_Req_SWM_ContrlsState_Reserved +#define SWM_ICConfBtn_Req_SWM_ContrlsState_Reserved (0) +#endif + +#ifndef SWM_ICConfBtn_Req_SWM_ContrlsState_Released +#define SWM_ICConfBtn_Req_SWM_ContrlsState_Released (1) +#endif + + +// Value tables for @SWM_MMCNextBtn_Req signal + +#ifndef SWM_MMCNextBtn_Req_SWM_ContrlsState_Failure +#define SWM_MMCNextBtn_Req_SWM_ContrlsState_Failure (3) +#endif + +#ifndef SWM_MMCNextBtn_Req_SWM_ContrlsState_Pressed +#define SWM_MMCNextBtn_Req_SWM_ContrlsState_Pressed (2) +#endif + +#ifndef SWM_MMCNextBtn_Req_SWM_ContrlsState_Released +#define SWM_MMCNextBtn_Req_SWM_ContrlsState_Released (1) +#endif + +#ifndef SWM_MMCNextBtn_Req_SWM_ContrlsState_Reserved +#define SWM_MMCNextBtn_Req_SWM_ContrlsState_Reserved (0) +#endif + + +// Value tables for @SWM_MMCPrevBtn_Req signal + +#ifndef SWM_MMCPrevBtn_Req_SWM_ContrlsState_Failure +#define SWM_MMCPrevBtn_Req_SWM_ContrlsState_Failure (3) +#endif + +#ifndef SWM_MMCPrevBtn_Req_SWM_ContrlsState_Pressed +#define SWM_MMCPrevBtn_Req_SWM_ContrlsState_Pressed (2) +#endif + +#ifndef SWM_MMCPrevBtn_Req_SWM_ContrlsState_Released +#define SWM_MMCPrevBtn_Req_SWM_ContrlsState_Released (1) +#endif + +#ifndef SWM_MMCPrevBtn_Req_SWM_ContrlsState_Reserved +#define SWM_MMCPrevBtn_Req_SWM_ContrlsState_Reserved (0) +#endif + + +// Value tables for @SWM_VoiceCntrl_Req signal + +#ifndef SWM_VoiceCntrl_Req_SWM_ContrlsState_Failure +#define SWM_VoiceCntrl_Req_SWM_ContrlsState_Failure (3) +#endif + +#ifndef SWM_VoiceCntrl_Req_SWM_ContrlsState_Pressed +#define SWM_VoiceCntrl_Req_SWM_ContrlsState_Pressed (2) +#endif + +#ifndef SWM_VoiceCntrl_Req_SWM_ContrlsState_Released +#define SWM_VoiceCntrl_Req_SWM_ContrlsState_Released (1) +#endif + +#ifndef SWM_VoiceCntrl_Req_SWM_ContrlsState_Reserved +#define SWM_VoiceCntrl_Req_SWM_ContrlsState_Reserved (0) +#endif + + +// Value tables for @SWM_VolumeUpBtn_Req signal + +#ifndef SWM_VolumeUpBtn_Req_SWM_ContrlsState_Failure +#define SWM_VolumeUpBtn_Req_SWM_ContrlsState_Failure (3) +#endif + +#ifndef SWM_VolumeUpBtn_Req_SWM_ContrlsState_Pressed +#define SWM_VolumeUpBtn_Req_SWM_ContrlsState_Pressed (2) +#endif + +#ifndef SWM_VolumeUpBtn_Req_SWM_ContrlsState_Released +#define SWM_VolumeUpBtn_Req_SWM_ContrlsState_Released (1) +#endif + +#ifndef SWM_VolumeUpBtn_Req_SWM_ContrlsState_Reserved +#define SWM_VolumeUpBtn_Req_SWM_ContrlsState_Reserved (0) +#endif + + +// Value tables for @SWM_VolumeDownBtn_Req signal + +#ifndef SWM_VolumeDownBtn_Req_SWM_ContrlsState_Failure +#define SWM_VolumeDownBtn_Req_SWM_ContrlsState_Failure (3) +#endif + +#ifndef SWM_VolumeDownBtn_Req_SWM_ContrlsState_Pressed +#define SWM_VolumeDownBtn_Req_SWM_ContrlsState_Pressed (2) +#endif + +#ifndef SWM_VolumeDownBtn_Req_SWM_ContrlsState_Released +#define SWM_VolumeDownBtn_Req_SWM_ContrlsState_Released (1) +#endif + +#ifndef SWM_VolumeDownBtn_Req_SWM_ContrlsState_Reserved +#define SWM_VolumeDownBtn_Req_SWM_ContrlsState_Reserved (0) +#endif + + +// Value tables for @SWM_VolumeMute_Req signal + +#ifndef SWM_VolumeMute_Req_SWM_ContrlsState_Failure +#define SWM_VolumeMute_Req_SWM_ContrlsState_Failure (3) +#endif + +#ifndef SWM_VolumeMute_Req_SWM_ContrlsState_Pressed +#define SWM_VolumeMute_Req_SWM_ContrlsState_Pressed (2) +#endif + +#ifndef SWM_VolumeMute_Req_SWM_ContrlsState_Released +#define SWM_VolumeMute_Req_SWM_ContrlsState_Released (1) +#endif + +#ifndef SWM_VolumeMute_Req_SWM_ContrlsState_Reserved +#define SWM_VolumeMute_Req_SWM_ContrlsState_Reserved (0) +#endif + + +// Value tables for @SWM_UpshiftPaddle_Req signal + +#ifndef SWM_UpshiftPaddle_Req_SWM_ContrlsState_Failure +#define SWM_UpshiftPaddle_Req_SWM_ContrlsState_Failure (3) +#endif + +#ifndef SWM_UpshiftPaddle_Req_SWM_ContrlsState_Pressed +#define SWM_UpshiftPaddle_Req_SWM_ContrlsState_Pressed (2) +#endif + +#ifndef SWM_UpshiftPaddle_Req_SWM_ContrlsState_Reserved +#define SWM_UpshiftPaddle_Req_SWM_ContrlsState_Reserved (0) +#endif + +#ifndef SWM_UpshiftPaddle_Req_SWM_ContrlsState_Released +#define SWM_UpshiftPaddle_Req_SWM_ContrlsState_Released (1) +#endif + + +// Value tables for @SWM_DownshiftPaddle_Req signal + +#ifndef SWM_DownshiftPaddle_Req_SWM_ContrlsState_Failure +#define SWM_DownshiftPaddle_Req_SWM_ContrlsState_Failure (3) +#endif + +#ifndef SWM_DownshiftPaddle_Req_SWM_ContrlsState_Pressed +#define SWM_DownshiftPaddle_Req_SWM_ContrlsState_Pressed (2) +#endif + +#ifndef SWM_DownshiftPaddle_Req_SWM_ContrlsState_Reserved +#define SWM_DownshiftPaddle_Req_SWM_ContrlsState_Reserved (0) +#endif + +#ifndef SWM_DownshiftPaddle_Req_SWM_ContrlsState_Released +#define SWM_DownshiftPaddle_Req_SWM_ContrlsState_Released (1) +#endif + + +// Value tables for @SWM_Heating_Stat signal + +#ifndef SWM_Heating_Stat_SWM_ContrlsState_Reserved +#define SWM_Heating_Stat_SWM_ContrlsState_Reserved (3) +#endif + +#ifndef SWM_Heating_Stat_SWM_ContrlsState_Failure +#define SWM_Heating_Stat_SWM_ContrlsState_Failure (2) +#endif + +#ifndef SWM_Heating_Stat_SWM_ContrlsState_Heating_active +#define SWM_Heating_Stat_SWM_ContrlsState_Heating_active (1) +#endif + +#ifndef SWM_Heating_Stat_SWM_ContrlsState_Heating_inactive +#define SWM_Heating_Stat_SWM_ContrlsState_Heating_inactive (0) +#endif + + +// Value tables for @SWM_PosHand_Stat signal + +#ifndef SWM_PosHand_Stat_SWM_ContrlsState_Not_on_steereng_wheel +#define SWM_PosHand_Stat_SWM_ContrlsState_Not_on_steereng_wheel (1) +#endif + +#ifndef SWM_PosHand_Stat_SWM_ContrlsState_On_steering_wheel +#define SWM_PosHand_Stat_SWM_ContrlsState_On_steering_wheel (0) +#endif + +#ifndef SWM_PosHand_Stat_SWM_ContrlsState_Reserved +#define SWM_PosHand_Stat_SWM_ContrlsState_Reserved (3) +#endif + +#ifndef SWM_PosHand_Stat_SWM_ContrlsState_Failure +#define SWM_PosHand_Stat_SWM_ContrlsState_Failure (2) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Press change mode ACC or CC or LIM + // 3 : "Failure" + // 2 : "Pressed" + // 0 : "Reserved" + // 1 : "Released" + uint8_t SWM_MODE_Req : 2; // Bits= 2 + + // Press activate/switch on stand by mode (ACC/CC/LIM) + // 3 : "Failure" + // 2 : "Pressed" + // 0 : "Reserved" + // 1 : "Released" + uint8_t SWM_CNCL_Req : 2; // Bits= 2 + + // Decrease ACC/CC/LIM speed value + // 3 : "Failure" + // 2 : "Pressed" + // 0 : "Reserved" + // 1 : "Released" + uint8_t SWM_ACCSpeedDecrease_Req : 2; // Bits= 2 + + // Increase ACC/CC/LIM speed value + // 3 : "Failure" + // 2 : "Pressed" + // 0 : "Reserved" + // 1 : "Released" + uint8_t SWM_ACCSpeedIncrease_Req : 2; // Bits= 2 + + // User's choosen MMC function switch + // 3 : "Failure" + // 2 : "Pressed" + // 0 : "Reserved" + // 1 : "Released" + uint8_t SWM_UserFunc_Req : 2; // Bits= 2 + + // Distance button pressed + // 3 : "Failure" + // 2 : "Pressed" + // 0 : "Reserved" + // 1 : "Released" + uint8_t SWM_DIS_Req : 2; // Bits= 2 + + // Press switch off/switch on stand by mode (ACC/CC/LIM) + // 3 : "Failure" + // 2 : "Pressed" + // 0 : "Reserved" + // 1 : "Released" + uint8_t SWM_RES_Req : 2; // Bits= 2 + + // Set vehicle speed ACC/CC/LIM + // 3 : "Failure" + // 2 : "Pressed" + // 0 : "Reserved" + // 1 : "Released" + uint8_t SWM_SETSpeed_Req : 2; // Bits= 2 + + // Telephone function turn on or answer incoming call + // 3 : "Failure" + // 2 : "Pressed" + // 0 : "Reserved" + // 1 : "Released" + uint8_t SWM_TELBtn_Req : 2; // Bits= 2 + + // Call IC's main menu + // 3 : "Failure" + // 2 : "Pressed" + // 0 : "Reserved" + // 1 : "Released" + uint8_t SWM_Home_Req : 2; // Bits= 2 + + // Go back IC's menu + // 3 : "Failure" + // 2 : "Pressed" + // 0 : "Reserved" + // 1 : "Released" + uint8_t SWM_Back_Req : 2; // Bits= 2 + + // Show next IC's menu + // 3 : "Failure" + // 2 : "Pressed" + // 0 : "Reserved" + // 1 : "Released" + uint8_t SWM_ICNextBtn_Req : 2; // Bits= 2 + + // Show previous IC's menu + // 3 : "Failure" + // 2 : "Pressed" + // 0 : "Reserved" + // 1 : "Released" + uint8_t SWM_ICPrevBtn_Req : 2; // Bits= 2 + + // Move up in selected menu + // 3 : "Failure" + // 2 : "Pressed" + // 0 : "Reserved" + // 1 : "Released" + uint8_t SWM_ICUpBtn_Req : 2; // Bits= 2 + + // Move down in selected menu + // 3 : "Failure" + // 2 : "Pressed" + // 0 : "Reserved" + // 1 : "Released" + uint8_t SWM_ICDownBtn_Req : 2; // Bits= 2 + + // Activate selected menu + // 3 : "Failure" + // 2 : "Pressed" + // 0 : "Reserved" + // 1 : "Released" + uint8_t SWM_ICConfBtn_Req : 2; // Bits= 2 + + // MMC control + // 3 : "Failure" + // 2 : "Pressed" + // 1 : "Released" + // 0 : "Reserved" + uint8_t SWM_MMCNextBtn_Req : 2; // Bits= 2 + + // MMC control + // 3 : "Failure" + // 2 : "Pressed" + // 1 : "Released" + // 0 : "Reserved" + uint8_t SWM_MMCPrevBtn_Req : 2; // Bits= 2 + + // Call Voice control + // 3 : "Failure" + // 2 : "Pressed" + // 1 : "Released" + // 0 : "Reserved" + uint8_t SWM_VoiceCntrl_Req : 2; // Bits= 2 + + // Volume up + // 3 : "Failure" + // 2 : "Pressed" + // 1 : "Released" + // 0 : "Reserved" + uint8_t SWM_VolumeUpBtn_Req : 2; // Bits= 2 + + // Volume down + // 3 : "Failure" + // 2 : "Pressed" + // 1 : "Released" + // 0 : "Reserved" + uint8_t SWM_VolumeDownBtn_Req : 2; // Bits= 2 + + // Mute active + // 3 : "Failure" + // 2 : "Pressed" + // 1 : "Released" + // 0 : "Reserved" + uint8_t SWM_VolumeMute_Req : 2; // Bits= 2 + + // Indicates a driver request for changing up a gear via the steering wheel paddle: + // 0x0 = Reserved + // 0x1 = Released + // 0x2 = Pressed + // 0x3 = Failure + // 3 : "Failure" + // 2 : "Pressed" + // 0 : "Reserved" + // 1 : "Released" + uint8_t SWM_UpshiftPaddle_Req : 2; // Bits= 2 + + // Indicates a driver request for changing down a gear via the steering wheel paddle: + // 0x0 = Reserved + // 0x1 = Released + // 0x2 = Pressed + // 0x3 = Failure + // 3 : "Failure" + // 2 : "Pressed" + // 0 : "Reserved" + // 1 : "Released" + uint8_t SWM_DownshiftPaddle_Req : 2; // Bits= 2 + + // Rolling Counter [0 - 15] + uint8_t SWM_ContrlsState_RC : 4; // Bits= 4 + + // Steering wheel heating status + // 3 : "Reserved" + // 2 : "Failure" + // 1 : "Heating active" + // 0 : "Heating inactive" + uint8_t SWM_Heating_Stat : 2; // Bits= 2 + + // Hand position on steering wheel status signal + // 1 : "Not on steereng wheel" + // 0 : "On steering wheel" + // 3 : "Reserved" + // 2 : "Failure" + uint8_t SWM_PosHand_Stat : 2; // Bits= 2 + + // Checksum XOR8 of the data field this message + // Checksum computed as per XOR algorithm: + // Byte 1 XOR byte 2 .... XOR byte n-1. (n = packet length.) + uint8_t SWM_ContrlsState_CS; // Bits= 8 + +#else + + // Press change mode ACC or CC or LIM + // 3 : "Failure" + // 2 : "Pressed" + // 0 : "Reserved" + // 1 : "Released" + uint8_t SWM_MODE_Req; // Bits= 2 + + // Press activate/switch on stand by mode (ACC/CC/LIM) + // 3 : "Failure" + // 2 : "Pressed" + // 0 : "Reserved" + // 1 : "Released" + uint8_t SWM_CNCL_Req; // Bits= 2 + + // Decrease ACC/CC/LIM speed value + // 3 : "Failure" + // 2 : "Pressed" + // 0 : "Reserved" + // 1 : "Released" + uint8_t SWM_ACCSpeedDecrease_Req; // Bits= 2 + + // Increase ACC/CC/LIM speed value + // 3 : "Failure" + // 2 : "Pressed" + // 0 : "Reserved" + // 1 : "Released" + uint8_t SWM_ACCSpeedIncrease_Req; // Bits= 2 + + // User's choosen MMC function switch + // 3 : "Failure" + // 2 : "Pressed" + // 0 : "Reserved" + // 1 : "Released" + uint8_t SWM_UserFunc_Req; // Bits= 2 + + // Distance button pressed + // 3 : "Failure" + // 2 : "Pressed" + // 0 : "Reserved" + // 1 : "Released" + uint8_t SWM_DIS_Req; // Bits= 2 + + // Press switch off/switch on stand by mode (ACC/CC/LIM) + // 3 : "Failure" + // 2 : "Pressed" + // 0 : "Reserved" + // 1 : "Released" + uint8_t SWM_RES_Req; // Bits= 2 + + // Set vehicle speed ACC/CC/LIM + // 3 : "Failure" + // 2 : "Pressed" + // 0 : "Reserved" + // 1 : "Released" + uint8_t SWM_SETSpeed_Req; // Bits= 2 + + // Telephone function turn on or answer incoming call + // 3 : "Failure" + // 2 : "Pressed" + // 0 : "Reserved" + // 1 : "Released" + uint8_t SWM_TELBtn_Req; // Bits= 2 + + // Call IC's main menu + // 3 : "Failure" + // 2 : "Pressed" + // 0 : "Reserved" + // 1 : "Released" + uint8_t SWM_Home_Req; // Bits= 2 + + // Go back IC's menu + // 3 : "Failure" + // 2 : "Pressed" + // 0 : "Reserved" + // 1 : "Released" + uint8_t SWM_Back_Req; // Bits= 2 + + // Show next IC's menu + // 3 : "Failure" + // 2 : "Pressed" + // 0 : "Reserved" + // 1 : "Released" + uint8_t SWM_ICNextBtn_Req; // Bits= 2 + + // Show previous IC's menu + // 3 : "Failure" + // 2 : "Pressed" + // 0 : "Reserved" + // 1 : "Released" + uint8_t SWM_ICPrevBtn_Req; // Bits= 2 + + // Move up in selected menu + // 3 : "Failure" + // 2 : "Pressed" + // 0 : "Reserved" + // 1 : "Released" + uint8_t SWM_ICUpBtn_Req; // Bits= 2 + + // Move down in selected menu + // 3 : "Failure" + // 2 : "Pressed" + // 0 : "Reserved" + // 1 : "Released" + uint8_t SWM_ICDownBtn_Req; // Bits= 2 + + // Activate selected menu + // 3 : "Failure" + // 2 : "Pressed" + // 0 : "Reserved" + // 1 : "Released" + uint8_t SWM_ICConfBtn_Req; // Bits= 2 + + // MMC control + // 3 : "Failure" + // 2 : "Pressed" + // 1 : "Released" + // 0 : "Reserved" + uint8_t SWM_MMCNextBtn_Req; // Bits= 2 + + // MMC control + // 3 : "Failure" + // 2 : "Pressed" + // 1 : "Released" + // 0 : "Reserved" + uint8_t SWM_MMCPrevBtn_Req; // Bits= 2 + + // Call Voice control + // 3 : "Failure" + // 2 : "Pressed" + // 1 : "Released" + // 0 : "Reserved" + uint8_t SWM_VoiceCntrl_Req; // Bits= 2 + + // Volume up + // 3 : "Failure" + // 2 : "Pressed" + // 1 : "Released" + // 0 : "Reserved" + uint8_t SWM_VolumeUpBtn_Req; // Bits= 2 + + // Volume down + // 3 : "Failure" + // 2 : "Pressed" + // 1 : "Released" + // 0 : "Reserved" + uint8_t SWM_VolumeDownBtn_Req; // Bits= 2 + + // Mute active + // 3 : "Failure" + // 2 : "Pressed" + // 1 : "Released" + // 0 : "Reserved" + uint8_t SWM_VolumeMute_Req; // Bits= 2 + + // Indicates a driver request for changing up a gear via the steering wheel paddle: + // 0x0 = Reserved + // 0x1 = Released + // 0x2 = Pressed + // 0x3 = Failure + // 3 : "Failure" + // 2 : "Pressed" + // 0 : "Reserved" + // 1 : "Released" + uint8_t SWM_UpshiftPaddle_Req; // Bits= 2 + + // Indicates a driver request for changing down a gear via the steering wheel paddle: + // 0x0 = Reserved + // 0x1 = Released + // 0x2 = Pressed + // 0x3 = Failure + // 3 : "Failure" + // 2 : "Pressed" + // 0 : "Reserved" + // 1 : "Released" + uint8_t SWM_DownshiftPaddle_Req; // Bits= 2 + + // Rolling Counter [0 - 15] + uint8_t SWM_ContrlsState_RC; // Bits= 4 + + // Steering wheel heating status + // 3 : "Reserved" + // 2 : "Failure" + // 1 : "Heating active" + // 0 : "Heating inactive" + uint8_t SWM_Heating_Stat; // Bits= 2 + + // Hand position on steering wheel status signal + // 1 : "Not on steereng wheel" + // 0 : "On steering wheel" + // 3 : "Reserved" + // 2 : "Failure" + uint8_t SWM_PosHand_Stat; // Bits= 2 + + // Checksum XOR8 of the data field this message + // Checksum computed as per XOR algorithm: + // Byte 1 XOR byte 2 .... XOR byte n-1. (n = packet length.) + uint8_t SWM_ContrlsState_CS; // Bits= 8 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} SWM_ContrlsState_t; + +// def @BCM_StyleCmd1 CAN Message (570 0x23a) +#define BCM_StyleCmd1_IDE (0U) +#define BCM_StyleCmd1_DLC (8U) +#define BCM_StyleCmd1_CANID (0x23aU) + +// Value tables for @BCM_ControlledZone_Stat signal + +#ifndef BCM_ControlledZone_Stat_BCM_StyleCmd1_PRSILCU_zone_ +#define BCM_ControlledZone_Stat_BCM_StyleCmd1_PRSILCU_zone_ (18) +#endif + +#ifndef BCM_ControlledZone_Stat_BCM_StyleCmd1_Reserved +#define BCM_ControlledZone_Stat_BCM_StyleCmd1_Reserved (61) +#endif + +#ifndef BCM_ControlledZone_Stat_BCM_StyleCmd1_Reserved +#define BCM_ControlledZone_Stat_BCM_StyleCmd1_Reserved (60) +#endif + +#ifndef BCM_ControlledZone_Stat_BCM_StyleCmd1_Reserved +#define BCM_ControlledZone_Stat_BCM_StyleCmd1_Reserved (59) +#endif + +#ifndef BCM_ControlledZone_Stat_BCM_StyleCmd1_Reserved +#define BCM_ControlledZone_Stat_BCM_StyleCmd1_Reserved (58) +#endif + +#ifndef BCM_ControlledZone_Stat_BCM_StyleCmd1_Reserved +#define BCM_ControlledZone_Stat_BCM_StyleCmd1_Reserved (57) +#endif + +#ifndef BCM_ControlledZone_Stat_BCM_StyleCmd1_Reserved +#define BCM_ControlledZone_Stat_BCM_StyleCmd1_Reserved (56) +#endif + +#ifndef BCM_ControlledZone_Stat_BCM_StyleCmd1_Reserved +#define BCM_ControlledZone_Stat_BCM_StyleCmd1_Reserved (55) +#endif + +#ifndef BCM_ControlledZone_Stat_BCM_StyleCmd1_Reserved +#define BCM_ControlledZone_Stat_BCM_StyleCmd1_Reserved (54) +#endif + +#ifndef BCM_ControlledZone_Stat_BCM_StyleCmd1_Reserved +#define BCM_ControlledZone_Stat_BCM_StyleCmd1_Reserved (53) +#endif + +#ifndef BCM_ControlledZone_Stat_BCM_StyleCmd1_Reserved +#define BCM_ControlledZone_Stat_BCM_StyleCmd1_Reserved (52) +#endif + +#ifndef BCM_ControlledZone_Stat_BCM_StyleCmd1_Reserved +#define BCM_ControlledZone_Stat_BCM_StyleCmd1_Reserved (51) +#endif + +#ifndef BCM_ControlledZone_Stat_BCM_StyleCmd1_Reserved +#define BCM_ControlledZone_Stat_BCM_StyleCmd1_Reserved (50) +#endif + +#ifndef BCM_ControlledZone_Stat_BCM_StyleCmd1_Reserved +#define BCM_ControlledZone_Stat_BCM_StyleCmd1_Reserved (49) +#endif + +#ifndef BCM_ControlledZone_Stat_BCM_StyleCmd1_Reserved +#define BCM_ControlledZone_Stat_BCM_StyleCmd1_Reserved (48) +#endif + +#ifndef BCM_ControlledZone_Stat_BCM_StyleCmd1_Reserved +#define BCM_ControlledZone_Stat_BCM_StyleCmd1_Reserved (47) +#endif + +#ifndef BCM_ControlledZone_Stat_BCM_StyleCmd1_Reserved +#define BCM_ControlledZone_Stat_BCM_StyleCmd1_Reserved (46) +#endif + +#ifndef BCM_ControlledZone_Stat_BCM_StyleCmd1_PLSILCU__PRSILCU_zone +#define BCM_ControlledZone_Stat_BCM_StyleCmd1_PLSILCU__PRSILCU_zone (45) +#endif + +#ifndef BCM_ControlledZone_Stat_BCM_StyleCmd1_Rear_deck__ICR_zone +#define BCM_ControlledZone_Stat_BCM_StyleCmd1_Rear_deck__ICR_zone (44) +#endif + +#ifndef BCM_ControlledZone_Stat_BCM_StyleCmd1_Front_doors__Bpillars__partition_zone +#define BCM_ControlledZone_Stat_BCM_StyleCmd1_Front_doors__Bpillars__partition_zone (43) +#endif + +#ifndef BCM_ControlledZone_Stat_BCM_StyleCmd1_Rear_doors__rear_console_zone +#define BCM_ControlledZone_Stat_BCM_StyleCmd1_Rear_doors__rear_console_zone (42) +#endif + +#ifndef BCM_ControlledZone_Stat_BCM_StyleCmd1_LBpSilCU__RBpSilCU_zone +#define BCM_ControlledZone_Stat_BCM_StyleCmd1_LBpSilCU__RBpSilCU_zone (41) +#endif + +#ifndef BCM_ControlledZone_Stat_BCM_StyleCmd1_Zone_Left_doors +#define BCM_ControlledZone_Stat_BCM_StyleCmd1_Zone_Left_doors (20) +#endif + +#ifndef BCM_ControlledZone_Stat_BCM_StyleCmd1_Zone_ICS +#define BCM_ControlledZone_Stat_BCM_StyleCmd1_Zone_ICS (19) +#endif + +#ifndef BCM_ControlledZone_Stat_BCM_StyleCmd1__color_gradient_zone +#define BCM_ControlledZone_Stat_BCM_StyleCmd1__color_gradient_zone (40) +#endif + +#ifndef BCM_ControlledZone_Stat_BCM_StyleCmd1__color_3_channel_zone +#define BCM_ControlledZone_Stat_BCM_StyleCmd1__color_3_channel_zone (39) +#endif + +#ifndef BCM_ControlledZone_Stat_BCM_StyleCmd1__color_2_channel_zone +#define BCM_ControlledZone_Stat_BCM_StyleCmd1__color_2_channel_zone (38) +#endif + +#ifndef BCM_ControlledZone_Stat_BCM_StyleCmd1__color_1_channel_zone +#define BCM_ControlledZone_Stat_BCM_StyleCmd1__color_1_channel_zone (37) +#endif + +#ifndef BCM_ControlledZone_Stat_BCM_StyleCmd1_All_doors_zone +#define BCM_ControlledZone_Stat_BCM_StyleCmd1_All_doors_zone (36) +#endif + +#ifndef BCM_ControlledZone_Stat_BCM_StyleCmd1_Front_seats_zone +#define BCM_ControlledZone_Stat_BCM_StyleCmd1_Front_seats_zone (35) +#endif + +#ifndef BCM_ControlledZone_Stat_BCM_StyleCmd1_RLBSil +#define BCM_ControlledZone_Stat_BCM_StyleCmd1_RLBSil (14) +#endif + +#ifndef BCM_ControlledZone_Stat_BCM_StyleCmd1_Reserved +#define BCM_ControlledZone_Stat_BCM_StyleCmd1_Reserved (62) +#endif + +#ifndef BCM_ControlledZone_Stat_BCM_StyleCmd1_Rear_Right_Zone +#define BCM_ControlledZone_Stat_BCM_StyleCmd1_Rear_Right_Zone (34) +#endif + +#ifndef BCM_ControlledZone_Stat_BCM_StyleCmd1_Rear_Left_Zone +#define BCM_ControlledZone_Stat_BCM_StyleCmd1_Rear_Left_Zone (33) +#endif + +#ifndef BCM_ControlledZone_Stat_BCM_StyleCmd1_Front_Right_Zone +#define BCM_ControlledZone_Stat_BCM_StyleCmd1_Front_Right_Zone (32) +#endif + +#ifndef BCM_ControlledZone_Stat_BCM_StyleCmd1_Front_Left_Zone +#define BCM_ControlledZone_Stat_BCM_StyleCmd1_Front_Left_Zone (31) +#endif + +#ifndef BCM_ControlledZone_Stat_BCM_StyleCmd1_Left_Zone +#define BCM_ControlledZone_Stat_BCM_StyleCmd1_Left_Zone (30) +#endif + +#ifndef BCM_ControlledZone_Stat_BCM_StyleCmd1_Right_Zone +#define BCM_ControlledZone_Stat_BCM_StyleCmd1_Right_Zone (29) +#endif + +#ifndef BCM_ControlledZone_Stat_BCM_StyleCmd1_Rear_Zone_ +#define BCM_ControlledZone_Stat_BCM_StyleCmd1_Rear_Zone_ (28) +#endif + +#ifndef BCM_ControlledZone_Stat_BCM_StyleCmd1_Front_Zone_ +#define BCM_ControlledZone_Stat_BCM_StyleCmd1_Front_Zone_ (27) +#endif + +#ifndef BCM_ControlledZone_Stat_BCM_StyleCmd1_Zone_FCSILCU +#define BCM_ControlledZone_Stat_BCM_StyleCmd1_Zone_FCSILCU (26) +#endif + +#ifndef BCM_ControlledZone_Stat_BCM_StyleCmd1_Zone_RCSILCU +#define BCM_ControlledZone_Stat_BCM_StyleCmd1_Zone_RCSILCU (25) +#endif + +#ifndef BCM_ControlledZone_Stat_BCM_StyleCmd1_Zone_RDSILCU +#define BCM_ControlledZone_Stat_BCM_StyleCmd1_Zone_RDSILCU (24) +#endif + +#ifndef BCM_ControlledZone_Stat_BCM_StyleCmd1_Zone_Rear_doors +#define BCM_ControlledZone_Stat_BCM_StyleCmd1_Zone_Rear_doors (23) +#endif + +#ifndef BCM_ControlledZone_Stat_BCM_StyleCmd1_Zone_Front_doors +#define BCM_ControlledZone_Stat_BCM_StyleCmd1_Zone_Front_doors (22) +#endif + +#ifndef BCM_ControlledZone_Stat_BCM_StyleCmd1_Zone_Right_doors +#define BCM_ControlledZone_Stat_BCM_StyleCmd1_Zone_Right_doors (21) +#endif + +#ifndef BCM_ControlledZone_Stat_BCM_StyleCmd1_Reserved +#define BCM_ControlledZone_Stat_BCM_StyleCmd1_Reserved (63) +#endif + +#ifndef BCM_ControlledZone_Stat_BCM_StyleCmd1_PLSILCU_zone +#define BCM_ControlledZone_Stat_BCM_StyleCmd1_PLSILCU_zone (17) +#endif + +#ifndef BCM_ControlledZone_Stat_BCM_StyleCmd1_LBpSilCU +#define BCM_ControlledZone_Stat_BCM_StyleCmd1_LBpSilCU (16) +#endif + +#ifndef BCM_ControlledZone_Stat_BCM_StyleCmd1_RBpSilCU +#define BCM_ControlledZone_Stat_BCM_StyleCmd1_RBpSilCU (15) +#endif + +#ifndef BCM_ControlledZone_Stat_BCM_StyleCmd1_RRBSil +#define BCM_ControlledZone_Stat_BCM_StyleCmd1_RRBSil (13) +#endif + +#ifndef BCM_ControlledZone_Stat_BCM_StyleCmd1_RDLSilCU +#define BCM_ControlledZone_Stat_BCM_StyleCmd1_RDLSilCU (12) +#endif + +#ifndef BCM_ControlledZone_Stat_BCM_StyleCmd1_RDRSilCU +#define BCM_ControlledZone_Stat_BCM_StyleCmd1_RDRSilCU (11) +#endif + +#ifndef BCM_ControlledZone_Stat_BCM_StyleCmd1_RCRSilCU +#define BCM_ControlledZone_Stat_BCM_StyleCmd1_RCRSilCU (10) +#endif + +#ifndef BCM_ControlledZone_Stat_BCM_StyleCmd1_RCLSilCU +#define BCM_ControlledZone_Stat_BCM_StyleCmd1_RCLSilCU (9) +#endif + +#ifndef BCM_ControlledZone_Stat_BCM_StyleCmd1_FCSilCUL +#define BCM_ControlledZone_Stat_BCM_StyleCmd1_FCSilCUL (8) +#endif + +#ifndef BCM_ControlledZone_Stat_BCM_StyleCmd1_FCSilCUR +#define BCM_ControlledZone_Stat_BCM_StyleCmd1_FCSilCUR (7) +#endif + +#ifndef BCM_ControlledZone_Stat_BCM_StyleCmd1_ICSilCUL +#define BCM_ControlledZone_Stat_BCM_StyleCmd1_ICSilCUL (6) +#endif + +#ifndef BCM_ControlledZone_Stat_BCM_StyleCmd1_ICSilCUR +#define BCM_ControlledZone_Stat_BCM_StyleCmd1_ICSilCUR (5) +#endif + +#ifndef BCM_ControlledZone_Stat_BCM_StyleCmd1_RLDSilCU +#define BCM_ControlledZone_Stat_BCM_StyleCmd1_RLDSilCU (4) +#endif + +#ifndef BCM_ControlledZone_Stat_BCM_StyleCmd1_RRDSilCU +#define BCM_ControlledZone_Stat_BCM_StyleCmd1_RRDSilCU (3) +#endif + +#ifndef BCM_ControlledZone_Stat_BCM_StyleCmd1_FLDSilCU +#define BCM_ControlledZone_Stat_BCM_StyleCmd1_FLDSilCU (2) +#endif + +#ifndef BCM_ControlledZone_Stat_BCM_StyleCmd1_FRDSilCU +#define BCM_ControlledZone_Stat_BCM_StyleCmd1_FRDSilCU (1) +#endif + +#ifndef BCM_ControlledZone_Stat_BCM_StyleCmd1_All_conrol_units +#define BCM_ControlledZone_Stat_BCM_StyleCmd1_All_conrol_units (0) +#endif + + +// Value tables for @BCM_ChannelNumber_Req signal + +#ifndef BCM_ChannelNumber_Req_BCM_StyleCmd1__3_and_4_channels +#define BCM_ChannelNumber_Req_BCM_StyleCmd1__3_and_4_channels (13) +#endif + +#ifndef BCM_ChannelNumber_Req_BCM_StyleCmd1__2_and_4_channels +#define BCM_ChannelNumber_Req_BCM_StyleCmd1__2_and_4_channels (12) +#endif + +#ifndef BCM_ChannelNumber_Req_BCM_StyleCmd1__2_and_3_channels +#define BCM_ChannelNumber_Req_BCM_StyleCmd1__2_and_3_channels (11) +#endif + +#ifndef BCM_ChannelNumber_Req_BCM_StyleCmd1__and_4_channels +#define BCM_ChannelNumber_Req_BCM_StyleCmd1__and_4_channels (10) +#endif + +#ifndef BCM_ChannelNumber_Req_BCM_StyleCmd1__and_4_channels +#define BCM_ChannelNumber_Req_BCM_StyleCmd1__and_4_channels (9) +#endif + +#ifndef BCM_ChannelNumber_Req_BCM_StyleCmd1__and_3_channels +#define BCM_ChannelNumber_Req_BCM_StyleCmd1__and_3_channels (8) +#endif + +#ifndef BCM_ChannelNumber_Req_BCM_StyleCmd1__3_and_4_channels +#define BCM_ChannelNumber_Req_BCM_StyleCmd1__3_and_4_channels (14) +#endif + +#ifndef BCM_ChannelNumber_Req_BCM_StyleCmd1__and_4_channels +#define BCM_ChannelNumber_Req_BCM_StyleCmd1__and_4_channels (7) +#endif + +#ifndef BCM_ChannelNumber_Req_BCM_StyleCmd1__and_3_channels +#define BCM_ChannelNumber_Req_BCM_StyleCmd1__and_3_channels (6) +#endif + +#ifndef BCM_ChannelNumber_Req_BCM_StyleCmd1__and_2_channels +#define BCM_ChannelNumber_Req_BCM_StyleCmd1__and_2_channels (5) +#endif + +#ifndef BCM_ChannelNumber_Req_BCM_StyleCmd1__4th_channel +#define BCM_ChannelNumber_Req_BCM_StyleCmd1__4th_channel (4) +#endif + +#ifndef BCM_ChannelNumber_Req_BCM_StyleCmd1__3rd_channel +#define BCM_ChannelNumber_Req_BCM_StyleCmd1__3rd_channel (3) +#endif + +#ifndef BCM_ChannelNumber_Req_BCM_StyleCmd1__2nd_channel +#define BCM_ChannelNumber_Req_BCM_StyleCmd1__2nd_channel (2) +#endif + +#ifndef BCM_ChannelNumber_Req_BCM_StyleCmd1__1st_channel +#define BCM_ChannelNumber_Req_BCM_StyleCmd1__1st_channel (1) +#endif + +#ifndef BCM_ChannelNumber_Req_BCM_StyleCmd1__All_channels +#define BCM_ChannelNumber_Req_BCM_StyleCmd1__All_channels (0) +#endif + + +// Value tables for @BCM_ModuleConfiguration_Stat signal + +#ifndef BCM_ModuleConfiguration_Stat_BCM_StyleCmd1__Set_soft_via_bootloader +#define BCM_ModuleConfiguration_Stat_BCM_StyleCmd1__Set_soft_via_bootloader (7) +#endif + +#ifndef BCM_ModuleConfiguration_Stat_BCM_StyleCmd1__Reserved +#define BCM_ModuleConfiguration_Stat_BCM_StyleCmd1__Reserved (6) +#endif + +#ifndef BCM_ModuleConfiguration_Stat_BCM_StyleCmd1__Reserved +#define BCM_ModuleConfiguration_Stat_BCM_StyleCmd1__Reserved (5) +#endif + +#ifndef BCM_ModuleConfiguration_Stat_BCM_StyleCmd1__Send_module_temperature +#define BCM_ModuleConfiguration_Stat_BCM_StyleCmd1__Send_module_temperature (4) +#endif + +#ifndef BCM_ModuleConfiguration_Stat_BCM_StyleCmd1__Send_module_state +#define BCM_ModuleConfiguration_Stat_BCM_StyleCmd1__Send_module_state (3) +#endif + +#ifndef BCM_ModuleConfiguration_Stat_BCM_StyleCmd1__Configuration_mode +#define BCM_ModuleConfiguration_Stat_BCM_StyleCmd1__Configuration_mode (2) +#endif + +#ifndef BCM_ModuleConfiguration_Stat_BCM_StyleCmd1__Turn_on_modules +#define BCM_ModuleConfiguration_Stat_BCM_StyleCmd1__Turn_on_modules (1) +#endif + +#ifndef BCM_ModuleConfiguration_Stat_BCM_StyleCmd1__Turn_off_modules +#define BCM_ModuleConfiguration_Stat_BCM_StyleCmd1__Turn_off_modules (0) +#endif + + +// Value tables for @BCM_ScenarioBrightness_Val signal + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1__Reserved +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1__Reserved (124) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1__Reserved +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1__Reserved (123) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1__Reserved +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1__Reserved (122) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1__Reserved +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1__Reserved (121) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1__Reserved +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1__Reserved (120) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1__Reserved +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1__Reserved (119) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1__Reserved +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1__Reserved (118) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1__Reserved +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1__Reserved (117) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1__Reserved +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1__Reserved (116) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1__Reserved +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1__Reserved (115) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1__Reserved +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1__Reserved (114) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1__Reserved +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1__Reserved (113) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1__Reserved +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1__Reserved (112) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1__Reserved +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1__Reserved (111) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1__Reserved +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1__Reserved (110) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1__Reserved +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1__Reserved (109) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1__Reserved +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1__Reserved (108) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1__Reserved +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1__Reserved (107) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1__Reserved +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1__Reserved (106) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1__Reserved +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1__Reserved (105) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1__Reserved +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1__Reserved (104) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1__Reserved +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1__Reserved (103) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1__Reserved +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1__Reserved (102) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (98) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (97) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (96) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (95) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (94) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (93) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (92) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (91) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (90) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (89) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (88) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (87) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (86) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (85) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (84) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (83) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (82) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (81) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (80) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (79) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (78) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (77) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (76) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (75) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (74) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (73) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (72) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (71) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (70) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (69) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (68) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (67) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (66) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (65) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (64) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (63) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (62) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (61) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (60) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (59) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (58) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (57) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (56) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (55) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (54) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (53) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (52) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (51) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (50) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (49) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (48) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (47) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (46) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (45) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (44) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (43) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (42) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (41) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (40) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (39) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (38) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (37) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (36) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (35) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (34) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (33) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (32) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (31) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (30) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (29) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (28) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (27) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (26) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (25) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (24) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (23) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (22) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (21) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (20) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (19) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (18) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (17) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (16) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (15) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (14) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (13) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (12) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (11) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (10) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (9) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (8) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (7) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (6) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (5) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (4) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (3) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (2) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1__Reserved +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1__Reserved (125) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1__Reserved +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1__Reserved (127) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1__Reserved +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1__Reserved (126) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1__Reserved +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1__Reserved (101) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1__100 +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1__100 (100) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1_ (99) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1__1 +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1__1 (1) +#endif + +#ifndef BCM_ScenarioBrightness_Val_BCM_StyleCmd1__0 +#define BCM_ScenarioBrightness_Val_BCM_StyleCmd1__0 (0) +#endif + + +// Value tables for @BCM_Reserved5 signal + +#ifndef BCM_Reserved5_BCM_StyleCmd1__Value +#define BCM_Reserved5_BCM_StyleCmd1__Value (63) +#endif + +#ifndef BCM_Reserved5_BCM_StyleCmd1__Value +#define BCM_Reserved5_BCM_StyleCmd1__Value (1) +#endif + +#ifndef BCM_Reserved5_BCM_StyleCmd1__Value +#define BCM_Reserved5_BCM_StyleCmd1__Value (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Indicates, which module used for current action + // 18 : "PRSILCU zone " + // 61 : "Reserved" + // 60 : "Reserved" + // 59 : "Reserved" + // 58 : "Reserved" + // 57 : "Reserved" + // 56 : "Reserved" + // 55 : "Reserved" + // 54 : "Reserved" + // 53 : "Reserved" + // 52 : "Reserved" + // 51 : "Reserved" + // 50 : "Reserved" + // 49 : "Reserved" + // 48 : "Reserved" + // 47 : "Reserved" + // 46 : "Reserved" + // 45 : "PLSILCU + PRSILCU zone" + // 44 : "Rear deck & ICR zone" + // 43 : "Front doors & B-pillars & partition zone" + // 42 : "Rear doors & rear console zone" + // 41 : "LB-pSilCU + RB-pSilCU zone" + // 20 : "Zone Left doors" + // 19 : "Zone ICS" + // 40 : "2 color gradient zone" + // 39 : "1 color 3 channel zone" + // 38 : "1 color 2 channel zone" + // 37 : "1 color 1 channel zone" + // 36 : "All doors zone" + // 35 : "Front seats zone" + // 14 : "RLBSil" + // 62 : "Reserved" + // 34 : "Rear Right Zone" + // 33 : "Rear Left Zone" + // 32 : "Front Right Zone" + // 31 : "Front Left Zone" + // 30 : "Left Zone" + // 29 : "Right Zone" + // 28 : "Rear Zone " + // 27 : "Front Zone " + // 26 : "Zone FCSILCU" + // 25 : "Zone RCSILCU" + // 24 : "Zone RDSILCU" + // 23 : "Zone Rear doors" + // 22 : "Zone Front doors" + // 21 : "Zone Right doors" + // 63 : "Reserved" + // 17 : "PLSILCU zone" + // 16 : "LB-pSilCU" + // 15 : "RB-pSilCU" + // 13 : "RRBSil" + // 12 : "RDLSilCU" + // 11 : "RDRSilCU" + // 10 : "RCRSilCU" + // 9 : "RCLSilCU" + // 8 : "FCSilCUL" + // 7 : "FCSilCUR" + // 6 : "ICSilCUL" + // 5 : "ICSilCUR" + // 4 : "RLDSilCU" + // 3 : "RRDSilCU" + // 2 : "FLDSilCU" + // 1 : "FRDSilCU" + // 0 : "All conrol units" + uint8_t BCM_ControlledZone_Stat : 6; // Bits= 6 + + // Selected channel of style illumination control unit(s) + // 13 : "2, 3 and 4 channels" + // 12 : "1, 2 and 4 channels" + // 11 : "1, 2 and 3 channels" + // 10 : "3 and 4 channels" + // 9 : "2 and 4 channels" + // 8 : "2 and 3 channels" + // 14 : "1, 3 and 4 channels" + // 7 : "1 and 4 channels" + // 6 : "1 and 3 channels" + // 5 : "1 and 2 channels" + // 4 : " 4th channel" + // 3 : " 3rd channel" + // 2 : " 2nd channel" + // 1 : " 1st channel" + // 0 : " All channels" + uint8_t BCM_ChannelNumber_Req : 4; // Bits= 4 + + // Type of command for selected modules + // 7 : " Set soft via bootloader" + // 6 : " Reserved" + // 5 : " Reserved" + // 4 : " Send module temperature" + // 3 : " Send module state" + // 2 : " Configuration mode" + // 1 : " Turn on module/-s" + // 0 : " Turn off module/-s" + uint8_t BCM_ModuleConfiguration_Stat : 3; // Bits= 3 + + // Required level of style illumination brightness + // 124 : " Reserved" + // 123 : " Reserved" + // 122 : " Reserved" + // 121 : " Reserved" + // 120 : " Reserved" + // 119 : " Reserved" + // 118 : " Reserved" + // 117 : " Reserved" + // 116 : " Reserved" + // 115 : " Reserved" + // 114 : " Reserved" + // 113 : " Reserved" + // 112 : " Reserved" + // 111 : " Reserved" + // 110 : " Reserved" + // 109 : " Reserved" + // 108 : " Reserved" + // 107 : " Reserved" + // 106 : " Reserved" + // 105 : " Reserved" + // 104 : " Reserved" + // 103 : " Reserved" + // 102 : " Reserved" + // 98 : "98%" + // 97 : "97%" + // 96 : "96%" + // 95 : "95%" + // 94 : "94%" + // 93 : "93%" + // 92 : "92%" + // 91 : "91%" + // 90 : "90%" + // 89 : "89%" + // 88 : "88%" + // 87 : "87%" + // 86 : "86%" + // 85 : "85%" + // 84 : "84%" + // 83 : "83%" + // 82 : "82%" + // 81 : "81%" + // 80 : "80%" + // 79 : "79%" + // 78 : "78%" + // 77 : "77%" + // 76 : "76%" + // 75 : "75%" + // 74 : "74%" + // 73 : "73%" + // 72 : "72%" + // 71 : "71%" + // 70 : "70%" + // 69 : "69%" + // 68 : "68%" + // 67 : "67%" + // 66 : "66%" + // 65 : "65%" + // 64 : "64%" + // 63 : "63%" + // 62 : "62%" + // 61 : "61%" + // 60 : "60%" + // 59 : "59%" + // 58 : "58%" + // 57 : "57%" + // 56 : "56%" + // 55 : "55%" + // 54 : "54%" + // 53 : "53%" + // 52 : "52%" + // 51 : "51%" + // 50 : "50%" + // 49 : "49%" + // 48 : "48%" + // 47 : "47%" + // 46 : "46%" + // 45 : "45%" + // 44 : "44%" + // 43 : "43%" + // 42 : "42%" + // 41 : "41%" + // 40 : "40%" + // 39 : "39%" + // 38 : "38%" + // 37 : "37%" + // 36 : "36%" + // 35 : "35%" + // 34 : "34%" + // 33 : "33%" + // 32 : "32%" + // 31 : "31%" + // 30 : "30%" + // 29 : "29%" + // 28 : "28%" + // 27 : "27%" + // 26 : "26%" + // 25 : "25%" + // 24 : "24%" + // 23 : "23%" + // 22 : "22%" + // 21 : "21%" + // 20 : "20%" + // 19 : "19%" + // 18 : "18%" + // 17 : "17%" + // 16 : "16%" + // 15 : "15%" + // 14 : "14%" + // 13 : "13%" + // 12 : "12%" + // 11 : "11%" + // 10 : "10%" + // 9 : "9%" + // 8 : "8%" + // 7 : "7%" + // 6 : "6%" + // 5 : "5%" + // 4 : "4%" + // 3 : "3%" + // 2 : "2%" + // 125 : " Reserved" + // 127 : " Reserved" + // 126 : " Reserved" + // 101 : " Reserved" + // 100 : " 100%" + // 99 : "99%" + // 1 : " 1%" + // 0 : " 0%" + uint8_t BCM_ScenarioBrightness_Val : 7; // Bits= 7 Unit:'%' + + // Amount of messages to configure a scenario + uint8_t BCM_ConfigurationMsgAmount_Val : 6; // Bits= 6 Unit:'msg' + + // Reserved + uint8_t BCM_Reserved1; // Bits= 8 + + // Reserved + uint8_t BCM_Reserved2; // Bits= 8 + + // Reserved + uint8_t BCM_Reserved3; // Bits= 8 + + // Reserved + uint8_t BCM_Reserved4; // Bits= 8 + + // Reserved + // 63 : "63 Value" + // 1 : "1 Value" + // 0 : "0 Value" + uint8_t BCM_Reserved5 : 6; // Bits= 6 + +#else + + // Indicates, which module used for current action + // 18 : "PRSILCU zone " + // 61 : "Reserved" + // 60 : "Reserved" + // 59 : "Reserved" + // 58 : "Reserved" + // 57 : "Reserved" + // 56 : "Reserved" + // 55 : "Reserved" + // 54 : "Reserved" + // 53 : "Reserved" + // 52 : "Reserved" + // 51 : "Reserved" + // 50 : "Reserved" + // 49 : "Reserved" + // 48 : "Reserved" + // 47 : "Reserved" + // 46 : "Reserved" + // 45 : "PLSILCU + PRSILCU zone" + // 44 : "Rear deck & ICR zone" + // 43 : "Front doors & B-pillars & partition zone" + // 42 : "Rear doors & rear console zone" + // 41 : "LB-pSilCU + RB-pSilCU zone" + // 20 : "Zone Left doors" + // 19 : "Zone ICS" + // 40 : "2 color gradient zone" + // 39 : "1 color 3 channel zone" + // 38 : "1 color 2 channel zone" + // 37 : "1 color 1 channel zone" + // 36 : "All doors zone" + // 35 : "Front seats zone" + // 14 : "RLBSil" + // 62 : "Reserved" + // 34 : "Rear Right Zone" + // 33 : "Rear Left Zone" + // 32 : "Front Right Zone" + // 31 : "Front Left Zone" + // 30 : "Left Zone" + // 29 : "Right Zone" + // 28 : "Rear Zone " + // 27 : "Front Zone " + // 26 : "Zone FCSILCU" + // 25 : "Zone RCSILCU" + // 24 : "Zone RDSILCU" + // 23 : "Zone Rear doors" + // 22 : "Zone Front doors" + // 21 : "Zone Right doors" + // 63 : "Reserved" + // 17 : "PLSILCU zone" + // 16 : "LB-pSilCU" + // 15 : "RB-pSilCU" + // 13 : "RRBSil" + // 12 : "RDLSilCU" + // 11 : "RDRSilCU" + // 10 : "RCRSilCU" + // 9 : "RCLSilCU" + // 8 : "FCSilCUL" + // 7 : "FCSilCUR" + // 6 : "ICSilCUL" + // 5 : "ICSilCUR" + // 4 : "RLDSilCU" + // 3 : "RRDSilCU" + // 2 : "FLDSilCU" + // 1 : "FRDSilCU" + // 0 : "All conrol units" + uint8_t BCM_ControlledZone_Stat; // Bits= 6 + + // Selected channel of style illumination control unit(s) + // 13 : "2, 3 and 4 channels" + // 12 : "1, 2 and 4 channels" + // 11 : "1, 2 and 3 channels" + // 10 : "3 and 4 channels" + // 9 : "2 and 4 channels" + // 8 : "2 and 3 channels" + // 14 : "1, 3 and 4 channels" + // 7 : "1 and 4 channels" + // 6 : "1 and 3 channels" + // 5 : "1 and 2 channels" + // 4 : " 4th channel" + // 3 : " 3rd channel" + // 2 : " 2nd channel" + // 1 : " 1st channel" + // 0 : " All channels" + uint8_t BCM_ChannelNumber_Req; // Bits= 4 + + // Type of command for selected modules + // 7 : " Set soft via bootloader" + // 6 : " Reserved" + // 5 : " Reserved" + // 4 : " Send module temperature" + // 3 : " Send module state" + // 2 : " Configuration mode" + // 1 : " Turn on module/-s" + // 0 : " Turn off module/-s" + uint8_t BCM_ModuleConfiguration_Stat; // Bits= 3 + + // Required level of style illumination brightness + // 124 : " Reserved" + // 123 : " Reserved" + // 122 : " Reserved" + // 121 : " Reserved" + // 120 : " Reserved" + // 119 : " Reserved" + // 118 : " Reserved" + // 117 : " Reserved" + // 116 : " Reserved" + // 115 : " Reserved" + // 114 : " Reserved" + // 113 : " Reserved" + // 112 : " Reserved" + // 111 : " Reserved" + // 110 : " Reserved" + // 109 : " Reserved" + // 108 : " Reserved" + // 107 : " Reserved" + // 106 : " Reserved" + // 105 : " Reserved" + // 104 : " Reserved" + // 103 : " Reserved" + // 102 : " Reserved" + // 98 : "98%" + // 97 : "97%" + // 96 : "96%" + // 95 : "95%" + // 94 : "94%" + // 93 : "93%" + // 92 : "92%" + // 91 : "91%" + // 90 : "90%" + // 89 : "89%" + // 88 : "88%" + // 87 : "87%" + // 86 : "86%" + // 85 : "85%" + // 84 : "84%" + // 83 : "83%" + // 82 : "82%" + // 81 : "81%" + // 80 : "80%" + // 79 : "79%" + // 78 : "78%" + // 77 : "77%" + // 76 : "76%" + // 75 : "75%" + // 74 : "74%" + // 73 : "73%" + // 72 : "72%" + // 71 : "71%" + // 70 : "70%" + // 69 : "69%" + // 68 : "68%" + // 67 : "67%" + // 66 : "66%" + // 65 : "65%" + // 64 : "64%" + // 63 : "63%" + // 62 : "62%" + // 61 : "61%" + // 60 : "60%" + // 59 : "59%" + // 58 : "58%" + // 57 : "57%" + // 56 : "56%" + // 55 : "55%" + // 54 : "54%" + // 53 : "53%" + // 52 : "52%" + // 51 : "51%" + // 50 : "50%" + // 49 : "49%" + // 48 : "48%" + // 47 : "47%" + // 46 : "46%" + // 45 : "45%" + // 44 : "44%" + // 43 : "43%" + // 42 : "42%" + // 41 : "41%" + // 40 : "40%" + // 39 : "39%" + // 38 : "38%" + // 37 : "37%" + // 36 : "36%" + // 35 : "35%" + // 34 : "34%" + // 33 : "33%" + // 32 : "32%" + // 31 : "31%" + // 30 : "30%" + // 29 : "29%" + // 28 : "28%" + // 27 : "27%" + // 26 : "26%" + // 25 : "25%" + // 24 : "24%" + // 23 : "23%" + // 22 : "22%" + // 21 : "21%" + // 20 : "20%" + // 19 : "19%" + // 18 : "18%" + // 17 : "17%" + // 16 : "16%" + // 15 : "15%" + // 14 : "14%" + // 13 : "13%" + // 12 : "12%" + // 11 : "11%" + // 10 : "10%" + // 9 : "9%" + // 8 : "8%" + // 7 : "7%" + // 6 : "6%" + // 5 : "5%" + // 4 : "4%" + // 3 : "3%" + // 2 : "2%" + // 125 : " Reserved" + // 127 : " Reserved" + // 126 : " Reserved" + // 101 : " Reserved" + // 100 : " 100%" + // 99 : "99%" + // 1 : " 1%" + // 0 : " 0%" + uint8_t BCM_ScenarioBrightness_Val; // Bits= 7 Unit:'%' + + // Amount of messages to configure a scenario + uint8_t BCM_ConfigurationMsgAmount_Val; // Bits= 6 Unit:'msg' + + // Reserved + uint8_t BCM_Reserved1; // Bits= 8 + + // Reserved + uint8_t BCM_Reserved2; // Bits= 8 + + // Reserved + uint8_t BCM_Reserved3; // Bits= 8 + + // Reserved + uint8_t BCM_Reserved4; // Bits= 8 + + // Reserved + // 63 : "63 Value" + // 1 : "1 Value" + // 0 : "0 Value" + uint8_t BCM_Reserved5; // Bits= 6 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} BCM_StyleCmd1_t; + +// def @FIU_Access_Msg1 CAN Message (578 0x242) +#define FIU_Access_Msg1_IDE (0U) +#define FIU_Access_Msg1_DLC (1U) +#define FIU_Access_Msg1_CANID (0x242U) +#define FIU_Access_Msg1_CYC (500U) + +// Value tables for @FIU_BTDevice_Stat signal + +#ifndef FIU_BTDevice_Stat_FIU_Access_Msg1_Reserved +#define FIU_BTDevice_Stat_FIU_Access_Msg1_Reserved (3) +#endif + +#ifndef FIU_BTDevice_Stat_FIU_Access_Msg1_Smartphone_Disconnected +#define FIU_BTDevice_Stat_FIU_Access_Msg1_Smartphone_Disconnected (2) +#endif + +#ifndef FIU_BTDevice_Stat_FIU_Access_Msg1_Smartphone_Connected +#define FIU_BTDevice_Stat_FIU_Access_Msg1_Smartphone_Connected (1) +#endif + +#ifndef FIU_BTDevice_Stat_FIU_Access_Msg1_Not_requested +#define FIU_BTDevice_Stat_FIU_Access_Msg1_Not_requested (0) +#endif + + +// Value tables for @FIU_NAVI_Stat signal + +#ifndef FIU_NAVI_Stat_FIU_Access_Msg1_Reserved +#define FIU_NAVI_Stat_FIU_Access_Msg1_Reserved (3) +#endif + +#ifndef FIU_NAVI_Stat_FIU_Access_Msg1_Map_error +#define FIU_NAVI_Stat_FIU_Access_Msg1_Map_error (2) +#endif + +#ifndef FIU_NAVI_Stat_FIU_Access_Msg1_Map_is_not_available +#define FIU_NAVI_Stat_FIU_Access_Msg1_Map_is_not_available (1) +#endif + +#ifndef FIU_NAVI_Stat_FIU_Access_Msg1_Not_requested +#define FIU_NAVI_Stat_FIU_Access_Msg1_Not_requested (0) +#endif + + +// Value tables for @FIU_Deleting_Req signal + +#ifndef FIU_Deleting_Req_FIU_Access_Msg1_Reserved +#define FIU_Deleting_Req_FIU_Access_Msg1_Reserved (2) +#endif + +#ifndef FIU_Deleting_Req_FIU_Access_Msg1_Smartphone_deleting_requested +#define FIU_Deleting_Req_FIU_Access_Msg1_Smartphone_deleting_requested (1) +#endif + +#ifndef FIU_Deleting_Req_FIU_Access_Msg1_Not_requested +#define FIU_Deleting_Req_FIU_Access_Msg1_Not_requested (0) +#endif + + +// Value tables for @FIU_Pairing_Req signal + +#ifndef FIU_Pairing_Req_FIU_Access_Msg1_Smartphone_pairing_requested +#define FIU_Pairing_Req_FIU_Access_Msg1_Smartphone_pairing_requested (1) +#endif + +#ifndef FIU_Pairing_Req_FIU_Access_Msg1_Not_requested +#define FIU_Pairing_Req_FIU_Access_Msg1_Not_requested (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Bluetooth device connected + // 3 : "Reserved" + // 2 : "Smartphone Disconnected" + // 1 : "Smartphone Connected" + // 0 : "Not requested" + uint8_t FIU_BTDevice_Stat : 2; // Bits= 2 + + // Navigation accessibility information + // 3 : "Reserved" + // 2 : "Map error" + // 1 : "Map is not available" + // 0 : "Not requested" + uint8_t FIU_NAVI_Stat : 2; // Bits= 2 + + // Smartphone deleting request + // 2 : "Reserved" + // 1 : "Smartphone deleting requested" + // 0 : "Not requested" + uint8_t FIU_Deleting_Req : 2; // Bits= 2 + + // Smartphone pairing request + // 1 : "Smartphone pairing requested" + // 0 : "Not requested" + uint8_t FIU_Pairing_Req : 1; // Bits= 1 + +#else + + // Bluetooth device connected + // 3 : "Reserved" + // 2 : "Smartphone Disconnected" + // 1 : "Smartphone Connected" + // 0 : "Not requested" + uint8_t FIU_BTDevice_Stat; // Bits= 2 + + // Navigation accessibility information + // 3 : "Reserved" + // 2 : "Map error" + // 1 : "Map is not available" + // 0 : "Not requested" + uint8_t FIU_NAVI_Stat; // Bits= 2 + + // Smartphone deleting request + // 2 : "Reserved" + // 1 : "Smartphone deleting requested" + // 0 : "Not requested" + uint8_t FIU_Deleting_Req; // Bits= 2 + + // Smartphone pairing request + // 1 : "Smartphone pairing requested" + // 0 : "Not requested" + uint8_t FIU_Pairing_Req; // Bits= 1 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} FIU_Access_Msg1_t; + // def @DMFR_Msg1 CAN Message (579 0x243) #define DMFR_Msg1_IDE (0U) #define DMFR_Msg1_DLC (4U) #define DMFR_Msg1_CANID (0x243U) #define DMFR_Msg1_CYC (50U) +// Value tables for @DMFR_WarningInd signal + +#ifndef DMFR_WarningInd_DMFR_Msg1_Warning_Active +#define DMFR_WarningInd_DMFR_Msg1_Warning_Active (1) +#endif + +#ifndef DMFR_WarningInd_DMFR_Msg1_No_Warning +#define DMFR_WarningInd_DMFR_Msg1_No_Warning (0) +#endif + + +// Value tables for @DMFR_DoorLockState signal + +#ifndef DMFR_DoorLockState_DMFR_Msg1_Fault +#define DMFR_DoorLockState_DMFR_Msg1_Fault (2) +#endif + +#ifndef DMFR_DoorLockState_DMFR_Msg1_Door_Locked +#define DMFR_DoorLockState_DMFR_Msg1_Door_Locked (1) +#endif + +#ifndef DMFR_DoorLockState_DMFR_Msg1_Door_Unlocked +#define DMFR_DoorLockState_DMFR_Msg1_Door_Unlocked (0) +#endif + + +// Value tables for @DMFR_DoorAjarState signal + +#ifndef DMFR_DoorAjarState_DMFR_Msg1_Door_Close +#define DMFR_DoorAjarState_DMFR_Msg1_Door_Close (1) +#endif + +#ifndef DMFR_DoorAjarState_DMFR_Msg1_Door_Open +#define DMFR_DoorAjarState_DMFR_Msg1_Door_Open (0) +#endif + + +// Value tables for @DMFR_DoorAjarFault_Stat signal + +#ifndef DMFR_DoorAjarFault_Stat_DMFR_Msg1_Fault_detect +#define DMFR_DoorAjarFault_Stat_DMFR_Msg1_Fault_detect (1) +#endif + +#ifndef DMFR_DoorAjarFault_Stat_DMFR_Msg1_No_fault_detect +#define DMFR_DoorAjarFault_Stat_DMFR_Msg1_No_fault_detect (0) +#endif + + // Value tables for @DMFR_MirrorHeating_Status signal #ifndef DMFR_MirrorHeating_Status_DMFR_Msg1_Fault @@ -381,10 +9385,176 @@ typedef struct #endif +// Value tables for @DMFR_WindowFullyClosed_Stat signal + +#ifndef DMFR_WindowFullyClosed_Stat_DMFR_Msg1_Window_fully_closed +#define DMFR_WindowFullyClosed_Stat_DMFR_Msg1_Window_fully_closed (1) +#endif + +#ifndef DMFR_WindowFullyClosed_Stat_DMFR_Msg1_Window_not_fully_closed +#define DMFR_WindowFullyClosed_Stat_DMFR_Msg1_Window_not_fully_closed (0) +#endif + + +// Value tables for @DMFR_IntDoorHandle_Req signal + +#ifndef DMFR_IntDoorHandle_Req_DMFR_Msg1_Requested +#define DMFR_IntDoorHandle_Req_DMFR_Msg1_Requested (1) +#endif + +#ifndef DMFR_IntDoorHandle_Req_DMFR_Msg1_No_request +#define DMFR_IntDoorHandle_Req_DMFR_Msg1_No_request (0) +#endif + + +// Value tables for @DMFR_IntDoorLockSw_Cmd signal + +#ifndef DMFR_IntDoorLockSw_Cmd_DMFR_Msg1_Lock_requested +#define DMFR_IntDoorLockSw_Cmd_DMFR_Msg1_Lock_requested (2) +#endif + +#ifndef DMFR_IntDoorLockSw_Cmd_DMFR_Msg1_Unlock_requested +#define DMFR_IntDoorLockSw_Cmd_DMFR_Msg1_Unlock_requested (1) +#endif + +#ifndef DMFR_IntDoorLockSw_Cmd_DMFR_Msg1_No_requested +#define DMFR_IntDoorLockSw_Cmd_DMFR_Msg1_No_requested (0) +#endif + + +// Value tables for @DMFR_ShortDrop_Stat signal + +#ifndef DMFR_ShortDrop_Stat_DMFR_Msg1_Window_above_short_drop_point +#define DMFR_ShortDrop_Stat_DMFR_Msg1_Window_above_short_drop_point (0) +#endif + +#ifndef DMFR_ShortDrop_Stat_DMFR_Msg1_Window_is_in_OR_below_short_drop_point +#define DMFR_ShortDrop_Stat_DMFR_Msg1_Window_is_in_OR_below_short_drop_point (1) +#endif + + +// Value tables for @DMFR_Comm_Req signal + +#ifndef DMFR_Comm_Req_DMFR_Msg1_Requested +#define DMFR_Comm_Req_DMFR_Msg1_Requested (1) +#endif + +#ifndef DMFR_Comm_Req_DMFR_Msg1_Not_requested +#define DMFR_Comm_Req_DMFR_Msg1_Not_requested (0) +#endif + + +// Value tables for @DMFR_DoorMovement_Stat signal + +#ifndef DMFR_DoorMovement_Stat_DMFR_Msg1_Fault +#define DMFR_DoorMovement_Stat_DMFR_Msg1_Fault (4) +#endif + +#ifndef DMFR_DoorMovement_Stat_DMFR_Msg1_Fully_open +#define DMFR_DoorMovement_Stat_DMFR_Msg1_Fully_open (3) +#endif + +#ifndef DMFR_DoorMovement_Stat_DMFR_Msg1_Intermediate +#define DMFR_DoorMovement_Stat_DMFR_Msg1_Intermediate (2) +#endif + +#ifndef DMFR_DoorMovement_Stat_DMFR_Msg1_Fully_closed +#define DMFR_DoorMovement_Stat_DMFR_Msg1_Fully_closed (1) +#endif + +#ifndef DMFR_DoorMovement_Stat_DMFR_Msg1_Unknown +#define DMFR_DoorMovement_Stat_DMFR_Msg1_Unknown (0) +#endif + + +// Value tables for @DMFR_DoorDirection_Stat signal + +#ifndef DMFR_DoorDirection_Stat_DMFR_Msg1_Closing +#define DMFR_DoorDirection_Stat_DMFR_Msg1_Closing (2) +#endif + +#ifndef DMFR_DoorDirection_Stat_DMFR_Msg1_Opening +#define DMFR_DoorDirection_Stat_DMFR_Msg1_Opening (1) +#endif + +#ifndef DMFR_DoorDirection_Stat_DMFR_Msg1_Stopped +#define DMFR_DoorDirection_Stat_DMFR_Msg1_Stopped (0) +#endif + + +// Value tables for @DMFR_Antipinch_Stat signal + +#ifndef DMFR_Antipinch_Stat_DMFR_Msg1_Pinch_detected +#define DMFR_Antipinch_Stat_DMFR_Msg1_Pinch_detected (1) +#endif + +#ifndef DMFR_Antipinch_Stat_DMFR_Msg1_Pinch_not_detected +#define DMFR_Antipinch_Stat_DMFR_Msg1_Pinch_not_detected (0) +#endif + + +// Value tables for @DMFR_BSDLed_Stat signal + +#ifndef DMFR_BSDLed_Stat_DMFR_Msg1_Error +#define DMFR_BSDLed_Stat_DMFR_Msg1_Error (1) +#endif + +#ifndef DMFR_BSDLed_Stat_DMFR_Msg1_No_error +#define DMFR_BSDLed_Stat_DMFR_Msg1_No_error (0) +#endif + + +// Value tables for @DMFR_DoorCloseSw_Req signal + +#ifndef DMFR_DoorCloseSw_Req_DMFR_Msg1_External_Door_Close_request +#define DMFR_DoorCloseSw_Req_DMFR_Msg1_External_Door_Close_request (1) +#endif + +#ifndef DMFR_DoorCloseSw_Req_DMFR_Msg1_No_Req +#define DMFR_DoorCloseSw_Req_DMFR_Msg1_No_Req (0) +#endif + + +// Value tables for @DMFR_TurnInd_Stat signal + +#ifndef DMFR_TurnInd_Stat_DMFR_Msg1_Error +#define DMFR_TurnInd_Stat_DMFR_Msg1_Error (2) +#endif + +#ifndef DMFR_TurnInd_Stat_DMFR_Msg1_On +#define DMFR_TurnInd_Stat_DMFR_Msg1_On (1) +#endif + +#ifndef DMFR_TurnInd_Stat_DMFR_Msg1_Off +#define DMFR_TurnInd_Stat_DMFR_Msg1_Off (0) +#endif + + typedef struct { #ifdef CANDB_USE_BITS_SIGNAL + // Request from DMFR to switch warning indicator in instrument cluster + // 1 : "Warning_Active" + // 0 : "No_Warning" + uint8_t DMFR_WarningInd : 1; // Bits= 1 + + // FR Door Lock Status + // 2 : "Fault" + // 1 : "Door_Locked" + // 0 : "Door Unlocked" + uint8_t DMFR_DoorLockState : 2; // Bits= 2 + + // FR door opening status + // 1 : "Door_Close" + // 0 : "Door_Open" + uint8_t DMFR_DoorAjarState : 1; // Bits= 1 + + // The fault status of ajar sensor in door lock + // 1 : "Fault detect" + // 0 : "No fault detect" + uint8_t DMFR_DoorAjarFault_Stat : 1; // Bits= 1 + // FR mirror heating status // 3 : "Fault" // 2 : "Heating off" @@ -392,8 +9562,90 @@ typedef struct // 0 : "Unknown" uint8_t DMFR_MirrorHeating_Status : 2; // Bits= 2 + // Completeness of window closing status + // 1 : "Window fully closed" + // 0 : "Window not fully closed" + uint8_t DMFR_WindowFullyClosed_Stat : 1; // Bits= 1 + + // State of FR door internal handle: engaged or not + // 1 : "Requested" + // 0 : "No request" + uint8_t DMFR_IntDoorHandle_Req : 1; // Bits= 1 + + // Interior door lock switch command + // 2 : "Lock requested" + // 1 : "Unlock requested" + // 0 : "No requested" + uint8_t DMFR_IntDoorLockSw_Cmd : 2; // Bits= 2 + + // FR window short drop position state + // 0 : "Window above short drop point" + // 1 : "Window is in OR below short drop point" + uint8_t DMFR_ShortDrop_Stat : 1; // Bits= 1 + + // Request to wake up the car from the FR door + // 1 : "Requested" + // 0 : "Not requested" + uint8_t DMFR_Comm_Req : 1; // Bits= 1 + + // FR door electric drive status + // 4 : "Fault" + // 3 : "Fully open" + // 2 : "Intermediate" + // 1 : "Fully closed" + // 0 : "Unknown" + uint8_t DMFR_DoorMovement_Stat : 3; // Bits= 3 + + // Direction of movement of the FR door + // 2 : "Closing" + // 1 : "Opening" + // 0 : "Stopped" + uint8_t DMFR_DoorDirection_Stat : 2; // Bits= 2 + + // State of antipinch function of FR door + // 1 : "Pinch detected" + // 0 : "Pinch not detected" + uint8_t DMFR_Antipinch_Stat : 1; // Bits= 1 + + // FR Mirror Blind Spot Indicator Status + // 1 : "Error" + // 0 : "No error" + uint8_t DMFR_BSDLed_Stat : 1; // Bits= 1 + + // Request for power closing door from external switch on door panel + // 1 : "External Door Close request" + // 0 : "No Req" + uint8_t DMFR_DoorCloseSw_Req : 1; // Bits= 1 + + // FR turn signal repeater status + // 2 : "Error" + // 1 : "On" + // 0 : "Off" + uint8_t DMFR_TurnInd_Stat : 2; // Bits= 2 + #else + // Request from DMFR to switch warning indicator in instrument cluster + // 1 : "Warning_Active" + // 0 : "No_Warning" + uint8_t DMFR_WarningInd; // Bits= 1 + + // FR Door Lock Status + // 2 : "Fault" + // 1 : "Door_Locked" + // 0 : "Door Unlocked" + uint8_t DMFR_DoorLockState; // Bits= 2 + + // FR door opening status + // 1 : "Door_Close" + // 0 : "Door_Open" + uint8_t DMFR_DoorAjarState; // Bits= 1 + + // The fault status of ajar sensor in door lock + // 1 : "Fault detect" + // 0 : "No fault detect" + uint8_t DMFR_DoorAjarFault_Stat; // Bits= 1 + // FR mirror heating status // 3 : "Fault" // 2 : "Heating off" @@ -401,6 +9653,67 @@ typedef struct // 0 : "Unknown" uint8_t DMFR_MirrorHeating_Status; // Bits= 2 + // Completeness of window closing status + // 1 : "Window fully closed" + // 0 : "Window not fully closed" + uint8_t DMFR_WindowFullyClosed_Stat; // Bits= 1 + + // State of FR door internal handle: engaged or not + // 1 : "Requested" + // 0 : "No request" + uint8_t DMFR_IntDoorHandle_Req; // Bits= 1 + + // Interior door lock switch command + // 2 : "Lock requested" + // 1 : "Unlock requested" + // 0 : "No requested" + uint8_t DMFR_IntDoorLockSw_Cmd; // Bits= 2 + + // FR window short drop position state + // 0 : "Window above short drop point" + // 1 : "Window is in OR below short drop point" + uint8_t DMFR_ShortDrop_Stat; // Bits= 1 + + // Request to wake up the car from the FR door + // 1 : "Requested" + // 0 : "Not requested" + uint8_t DMFR_Comm_Req; // Bits= 1 + + // FR door electric drive status + // 4 : "Fault" + // 3 : "Fully open" + // 2 : "Intermediate" + // 1 : "Fully closed" + // 0 : "Unknown" + uint8_t DMFR_DoorMovement_Stat; // Bits= 3 + + // Direction of movement of the FR door + // 2 : "Closing" + // 1 : "Opening" + // 0 : "Stopped" + uint8_t DMFR_DoorDirection_Stat; // Bits= 2 + + // State of antipinch function of FR door + // 1 : "Pinch detected" + // 0 : "Pinch not detected" + uint8_t DMFR_Antipinch_Stat; // Bits= 1 + + // FR Mirror Blind Spot Indicator Status + // 1 : "Error" + // 0 : "No error" + uint8_t DMFR_BSDLed_Stat; // Bits= 1 + + // Request for power closing door from external switch on door panel + // 1 : "External Door Close request" + // 0 : "No Req" + uint8_t DMFR_DoorCloseSw_Req; // Bits= 1 + + // FR turn signal repeater status + // 2 : "Error" + // 1 : "On" + // 0 : "Off" + uint8_t DMFR_TurnInd_Stat; // Bits= 2 + #endif // CANDB_USE_BITS_SIGNAL #ifdef CANDB_USE_DIAG_MONITORS @@ -417,6 +9730,84 @@ typedef struct #define DMFL_Msg1_CANID (0x244U) #define DMFL_Msg1_CYC (50U) +// Value tables for @DMFL_KeyCylinder_Req signal + +#ifndef DMFL_KeyCylinder_Req_DMFL_Msg1_Fault +#define DMFL_KeyCylinder_Req_DMFL_Msg1_Fault (3) +#endif + +#ifndef DMFL_KeyCylinder_Req_DMFL_Msg1_Lock_Req +#define DMFL_KeyCylinder_Req_DMFL_Msg1_Lock_Req (2) +#endif + +#ifndef DMFL_KeyCylinder_Req_DMFL_Msg1_Unlock_Req +#define DMFL_KeyCylinder_Req_DMFL_Msg1_Unlock_Req (1) +#endif + +#ifndef DMFL_KeyCylinder_Req_DMFL_Msg1_No_Request +#define DMFL_KeyCylinder_Req_DMFL_Msg1_No_Request (0) +#endif + + +// Value tables for @DMFL_WarningInd signal + +#ifndef DMFL_WarningInd_DMFL_Msg1_Warning_Active +#define DMFL_WarningInd_DMFL_Msg1_Warning_Active (1) +#endif + +#ifndef DMFL_WarningInd_DMFL_Msg1_No_Warning +#define DMFL_WarningInd_DMFL_Msg1_No_Warning (0) +#endif + + +// Value tables for @DMFL_DoorLockState signal + +#ifndef DMFL_DoorLockState_DMFL_Msg1_Fault +#define DMFL_DoorLockState_DMFL_Msg1_Fault (2) +#endif + +#ifndef DMFL_DoorLockState_DMFL_Msg1_Door_Locked +#define DMFL_DoorLockState_DMFL_Msg1_Door_Locked (1) +#endif + +#ifndef DMFL_DoorLockState_DMFL_Msg1_Door_Unlocked +#define DMFL_DoorLockState_DMFL_Msg1_Door_Unlocked (0) +#endif + + +// Value tables for @DMFL_DoorAjarState signal + +#ifndef DMFL_DoorAjarState_DMFL_Msg1_Door_Close +#define DMFL_DoorAjarState_DMFL_Msg1_Door_Close (1) +#endif + +#ifndef DMFL_DoorAjarState_DMFL_Msg1_Door_Open +#define DMFL_DoorAjarState_DMFL_Msg1_Door_Open (0) +#endif + + +// Value tables for @DMFL_ChildLockCentralTab_Stat signal + +#ifndef DMFL_ChildLockCentralTab_Stat_DMFL_Msg1_Function_active +#define DMFL_ChildLockCentralTab_Stat_DMFL_Msg1_Function_active (1) +#endif + +#ifndef DMFL_ChildLockCentralTab_Stat_DMFL_Msg1_Function_inactive +#define DMFL_ChildLockCentralTab_Stat_DMFL_Msg1_Function_inactive (0) +#endif + + +// Value tables for @DMFL_DoorCloseSw_Req signal + +#ifndef DMFL_DoorCloseSw_Req_DMFL_Msg1_External_Door_Close_request +#define DMFL_DoorCloseSw_Req_DMFL_Msg1_External_Door_Close_request (1) +#endif + +#ifndef DMFL_DoorCloseSw_Req_DMFL_Msg1_No_Req +#define DMFL_DoorCloseSw_Req_DMFL_Msg1_No_Req (0) +#endif + + // Value tables for @DMFL_MirrorHeating_Status signal #ifndef DMFL_MirrorHeating_Status_DMFL_Msg1_Fault @@ -436,25 +9827,736 @@ typedef struct #endif +// Value tables for @DMFL_IntDoorHandle_Req signal + +#ifndef DMFL_IntDoorHandle_Req_DMFL_Msg1_Requested +#define DMFL_IntDoorHandle_Req_DMFL_Msg1_Requested (1) +#endif + +#ifndef DMFL_IntDoorHandle_Req_DMFL_Msg1_No_request +#define DMFL_IntDoorHandle_Req_DMFL_Msg1_No_request (0) +#endif + + +// Value tables for @DMFL_ChildLock_RLwindow_Stat signal + +#ifndef DMFL_ChildLock_RLwindow_Stat_DMFL_Msg1_Function_active +#define DMFL_ChildLock_RLwindow_Stat_DMFL_Msg1_Function_active (1) +#endif + +#ifndef DMFL_ChildLock_RLwindow_Stat_DMFL_Msg1_Function_inactive +#define DMFL_ChildLock_RLwindow_Stat_DMFL_Msg1_Function_inactive (0) +#endif + + +// Value tables for @DMFL_ChildLockRLTab_Stat signal + +#ifndef DMFL_ChildLockRLTab_Stat_DMFL_Msg1_Function_active +#define DMFL_ChildLockRLTab_Stat_DMFL_Msg1_Function_active (1) +#endif + +#ifndef DMFL_ChildLockRLTab_Stat_DMFL_Msg1_Function_inactive +#define DMFL_ChildLockRLTab_Stat_DMFL_Msg1_Function_inactive (0) +#endif + + +// Value tables for @DMFL_IntDoorLockSw_Cmd signal + +#ifndef DMFL_IntDoorLockSw_Cmd_DMFL_Msg1_Lock_requested +#define DMFL_IntDoorLockSw_Cmd_DMFL_Msg1_Lock_requested (2) +#endif + +#ifndef DMFL_IntDoorLockSw_Cmd_DMFL_Msg1_Unlock_requested +#define DMFL_IntDoorLockSw_Cmd_DMFL_Msg1_Unlock_requested (1) +#endif + +#ifndef DMFL_IntDoorLockSw_Cmd_DMFL_Msg1_No_requested +#define DMFL_IntDoorLockSw_Cmd_DMFL_Msg1_No_requested (0) +#endif + + +// Value tables for @DMFL_ChildLockRRTab_Stat signal + +#ifndef DMFL_ChildLockRRTab_Stat_DMFL_Msg1_Function_active +#define DMFL_ChildLockRRTab_Stat_DMFL_Msg1_Function_active (1) +#endif + +#ifndef DMFL_ChildLockRRTab_Stat_DMFL_Msg1_Function_inactive +#define DMFL_ChildLockRRTab_Stat_DMFL_Msg1_Function_inactive (0) +#endif + + +// Value tables for @DMFL_FRWindow_Cmd signal + +#ifndef DMFL_FRWindow_Cmd_DMFL_Msg1_Auto_up +#define DMFL_FRWindow_Cmd_DMFL_Msg1_Auto_up (4) +#endif + +#ifndef DMFL_FRWindow_Cmd_DMFL_Msg1_Auto_down +#define DMFL_FRWindow_Cmd_DMFL_Msg1_Auto_down (3) +#endif + +#ifndef DMFL_FRWindow_Cmd_DMFL_Msg1_Manual_up +#define DMFL_FRWindow_Cmd_DMFL_Msg1_Manual_up (2) +#endif + +#ifndef DMFL_FRWindow_Cmd_DMFL_Msg1_Manual_down +#define DMFL_FRWindow_Cmd_DMFL_Msg1_Manual_down (1) +#endif + +#ifndef DMFL_FRWindow_Cmd_DMFL_Msg1_No_action +#define DMFL_FRWindow_Cmd_DMFL_Msg1_No_action (0) +#endif + + +// Value tables for @DMFL_RLWindow_Cmd signal + +#ifndef DMFL_RLWindow_Cmd_DMFL_Msg1_Auto_up +#define DMFL_RLWindow_Cmd_DMFL_Msg1_Auto_up (4) +#endif + +#ifndef DMFL_RLWindow_Cmd_DMFL_Msg1_Auto_down +#define DMFL_RLWindow_Cmd_DMFL_Msg1_Auto_down (3) +#endif + +#ifndef DMFL_RLWindow_Cmd_DMFL_Msg1_Manual_up +#define DMFL_RLWindow_Cmd_DMFL_Msg1_Manual_up (2) +#endif + +#ifndef DMFL_RLWindow_Cmd_DMFL_Msg1_Manual_down +#define DMFL_RLWindow_Cmd_DMFL_Msg1_Manual_down (1) +#endif + +#ifndef DMFL_RLWindow_Cmd_DMFL_Msg1_No_action +#define DMFL_RLWindow_Cmd_DMFL_Msg1_No_action (0) +#endif + + +// Value tables for @DMFL_RightMirrorTilt_Cmd signal + +#ifndef DMFL_RightMirrorTilt_Cmd_DMFL_Msg1_On +#define DMFL_RightMirrorTilt_Cmd_DMFL_Msg1_On (1) +#endif + +#ifndef DMFL_RightMirrorTilt_Cmd_DMFL_Msg1_Off +#define DMFL_RightMirrorTilt_Cmd_DMFL_Msg1_Off (0) +#endif + + +// Value tables for @DMFL_RRWindow_Cmd signal + +#ifndef DMFL_RRWindow_Cmd_DMFL_Msg1_Auto_up +#define DMFL_RRWindow_Cmd_DMFL_Msg1_Auto_up (4) +#endif + +#ifndef DMFL_RRWindow_Cmd_DMFL_Msg1_Auto_down +#define DMFL_RRWindow_Cmd_DMFL_Msg1_Auto_down (3) +#endif + +#ifndef DMFL_RRWindow_Cmd_DMFL_Msg1_Manual_up +#define DMFL_RRWindow_Cmd_DMFL_Msg1_Manual_up (2) +#endif + +#ifndef DMFL_RRWindow_Cmd_DMFL_Msg1_Manual_down +#define DMFL_RRWindow_Cmd_DMFL_Msg1_Manual_down (1) +#endif + +#ifndef DMFL_RRWindow_Cmd_DMFL_Msg1_No_action +#define DMFL_RRWindow_Cmd_DMFL_Msg1_No_action (0) +#endif + + +// Value tables for @DMFL_RightMirrorAdjust_Cmd signal + +#ifndef DMFL_RightMirrorAdjust_Cmd_DMFL_Msg1_Right +#define DMFL_RightMirrorAdjust_Cmd_DMFL_Msg1_Right (4) +#endif + +#ifndef DMFL_RightMirrorAdjust_Cmd_DMFL_Msg1_Left +#define DMFL_RightMirrorAdjust_Cmd_DMFL_Msg1_Left (3) +#endif + +#ifndef DMFL_RightMirrorAdjust_Cmd_DMFL_Msg1_Down +#define DMFL_RightMirrorAdjust_Cmd_DMFL_Msg1_Down (2) +#endif + +#ifndef DMFL_RightMirrorAdjust_Cmd_DMFL_Msg1_Up +#define DMFL_RightMirrorAdjust_Cmd_DMFL_Msg1_Up (1) +#endif + +#ifndef DMFL_RightMirrorAdjust_Cmd_DMFL_Msg1_No_action +#define DMFL_RightMirrorAdjust_Cmd_DMFL_Msg1_No_action (0) +#endif + + +// Value tables for @DMFL_RightMirrorFold_Cmd signal + +#ifndef DMFL_RightMirrorFold_Cmd_DMFL_Msg1_Unfold +#define DMFL_RightMirrorFold_Cmd_DMFL_Msg1_Unfold (2) +#endif + +#ifndef DMFL_RightMirrorFold_Cmd_DMFL_Msg1_Fold +#define DMFL_RightMirrorFold_Cmd_DMFL_Msg1_Fold (1) +#endif + +#ifndef DMFL_RightMirrorFold_Cmd_DMFL_Msg1_No_action +#define DMFL_RightMirrorFold_Cmd_DMFL_Msg1_No_action (0) +#endif + + +// Value tables for @DMFL_WindowFullyClosed_Stat signal + +#ifndef DMFL_WindowFullyClosed_Stat_DMFL_Msg1_Window_fully_closed +#define DMFL_WindowFullyClosed_Stat_DMFL_Msg1_Window_fully_closed (1) +#endif + +#ifndef DMFL_WindowFullyClosed_Stat_DMFL_Msg1_Window_not_fully_closed +#define DMFL_WindowFullyClosed_Stat_DMFL_Msg1_Window_not_fully_closed (0) +#endif + + +// Value tables for @DMFL_Comm_Req signal + +#ifndef DMFL_Comm_Req_DMFL_Msg1_Requested +#define DMFL_Comm_Req_DMFL_Msg1_Requested (1) +#endif + +#ifndef DMFL_Comm_Req_DMFL_Msg1_Not_requested +#define DMFL_Comm_Req_DMFL_Msg1_Not_requested (0) +#endif + + +// Value tables for @DMFL_ChildLock_Stat signal + +#ifndef DMFL_ChildLock_Stat_DMFL_Msg1_Function_active +#define DMFL_ChildLock_Stat_DMFL_Msg1_Function_active (1) +#endif + +#ifndef DMFL_ChildLock_Stat_DMFL_Msg1_Function_inactive +#define DMFL_ChildLock_Stat_DMFL_Msg1_Function_inactive (0) +#endif + + +// Value tables for @DMFL_DoorMovement_Stat signal + +#ifndef DMFL_DoorMovement_Stat_DMFL_Msg1_Fault +#define DMFL_DoorMovement_Stat_DMFL_Msg1_Fault (4) +#endif + +#ifndef DMFL_DoorMovement_Stat_DMFL_Msg1_Fully_open +#define DMFL_DoorMovement_Stat_DMFL_Msg1_Fully_open (3) +#endif + +#ifndef DMFL_DoorMovement_Stat_DMFL_Msg1_Intermediate +#define DMFL_DoorMovement_Stat_DMFL_Msg1_Intermediate (2) +#endif + +#ifndef DMFL_DoorMovement_Stat_DMFL_Msg1_Fully_closed +#define DMFL_DoorMovement_Stat_DMFL_Msg1_Fully_closed (1) +#endif + +#ifndef DMFL_DoorMovement_Stat_DMFL_Msg1_Unknown +#define DMFL_DoorMovement_Stat_DMFL_Msg1_Unknown (0) +#endif + + +// Value tables for @DMFL_Antipinch_Stat signal + +#ifndef DMFL_Antipinch_Stat_DMFL_Msg1_Pinch_detected +#define DMFL_Antipinch_Stat_DMFL_Msg1_Pinch_detected (1) +#endif + +#ifndef DMFL_Antipinch_Stat_DMFL_Msg1_Pinch_not_detected +#define DMFL_Antipinch_Stat_DMFL_Msg1_Pinch_not_detected (0) +#endif + + +// Value tables for @DMFL_DoorDirection_Stat signal + +#ifndef DMFL_DoorDirection_Stat_DMFL_Msg1_Closing +#define DMFL_DoorDirection_Stat_DMFL_Msg1_Closing (2) +#endif + +#ifndef DMFL_DoorDirection_Stat_DMFL_Msg1_Opening +#define DMFL_DoorDirection_Stat_DMFL_Msg1_Opening (1) +#endif + +#ifndef DMFL_DoorDirection_Stat_DMFL_Msg1_Stopped +#define DMFL_DoorDirection_Stat_DMFL_Msg1_Stopped (0) +#endif + + +// Value tables for @DMFL_BSDLed_Stat signal + +#ifndef DMFL_BSDLed_Stat_DMFL_Msg1_Error +#define DMFL_BSDLed_Stat_DMFL_Msg1_Error (1) +#endif + +#ifndef DMFL_BSDLed_Stat_DMFL_Msg1_No_error +#define DMFL_BSDLed_Stat_DMFL_Msg1_No_error (0) +#endif + + +// Value tables for @DMFL_DoorAjarFault_Stat signal + +#ifndef DMFL_DoorAjarFault_Stat_DMFL_Msg1_Fault_detect +#define DMFL_DoorAjarFault_Stat_DMFL_Msg1_Fault_detect (1) +#endif + +#ifndef DMFL_DoorAjarFault_Stat_DMFL_Msg1_No_fault_detect +#define DMFL_DoorAjarFault_Stat_DMFL_Msg1_No_fault_detect (0) +#endif + + +// Value tables for @DMFL_ShortDrop_Stat signal + +#ifndef DMFL_ShortDrop_Stat_DMFL_Msg1_Window_above_short_drop_point +#define DMFL_ShortDrop_Stat_DMFL_Msg1_Window_above_short_drop_point (0) +#endif + +#ifndef DMFL_ShortDrop_Stat_DMFL_Msg1_Window_is_in_OR_below_short_drop_point +#define DMFL_ShortDrop_Stat_DMFL_Msg1_Window_is_in_OR_below_short_drop_point (1) +#endif + + +// Value tables for @DMFL_TurnInd_Stat signal + +#ifndef DMFL_TurnInd_Stat_DMFL_Msg1_Error +#define DMFL_TurnInd_Stat_DMFL_Msg1_Error (2) +#endif + +#ifndef DMFL_TurnInd_Stat_DMFL_Msg1_On +#define DMFL_TurnInd_Stat_DMFL_Msg1_On (1) +#endif + +#ifndef DMFL_TurnInd_Stat_DMFL_Msg1_Off +#define DMFL_TurnInd_Stat_DMFL_Msg1_Off (0) +#endif + + +// Value tables for @DMFL_ChildLock_RRwindow_Stat signal + +#ifndef DMFL_ChildLock_RRwindow_Stat_DMFL_Msg1_Function_active +#define DMFL_ChildLock_RRwindow_Stat_DMFL_Msg1_Function_active (1) +#endif + +#ifndef DMFL_ChildLock_RRwindow_Stat_DMFL_Msg1_Function_inactive +#define DMFL_ChildLock_RRwindow_Stat_DMFL_Msg1_Function_inactive (0) +#endif + + +// Value tables for @DMFL_RearWindowCurtain_Req signal + +#ifndef DMFL_RearWindowCurtain_Req_DMFL_Msg1_Short_pressed +#define DMFL_RearWindowCurtain_Req_DMFL_Msg1_Short_pressed (1) +#endif + +#ifndef DMFL_RearWindowCurtain_Req_DMFL_Msg1_Not_requested +#define DMFL_RearWindowCurtain_Req_DMFL_Msg1_Not_requested (0) +#endif + +#ifndef DMFL_RearWindowCurtain_Req_DMFL_Msg1_Long_pressed +#define DMFL_RearWindowCurtain_Req_DMFL_Msg1_Long_pressed (2) +#endif + + +// Value tables for @DMFL_ChildLock_RLdoor_Stat signal + +#ifndef DMFL_ChildLock_RLdoor_Stat_DMFL_Msg1_Function_active +#define DMFL_ChildLock_RLdoor_Stat_DMFL_Msg1_Function_active (1) +#endif + +#ifndef DMFL_ChildLock_RLdoor_Stat_DMFL_Msg1_Function_inactive +#define DMFL_ChildLock_RLdoor_Stat_DMFL_Msg1_Function_inactive (0) +#endif + + +// Value tables for @DMFL_ChildLock_RRdoor_Stat signal + +#ifndef DMFL_ChildLock_RRdoor_Stat_DMFL_Msg1_Function_active +#define DMFL_ChildLock_RRdoor_Stat_DMFL_Msg1_Function_active (1) +#endif + +#ifndef DMFL_ChildLock_RRdoor_Stat_DMFL_Msg1_Function_inactive +#define DMFL_ChildLock_RRdoor_Stat_DMFL_Msg1_Function_inactive (0) +#endif + + typedef struct { #ifdef CANDB_USE_BITS_SIGNAL + // Request from the door lock cylinder + // 3 : "Fault" + // 2 : "Lock_Req" + // 1 : "Unlock_Req" + // 0 : "No_Request" + uint8_t DMFL_KeyCylinder_Req : 2; // Bits= 2 + + // Request from DMFL to switch warning indicator in instrument cluster + // 1 : "Warning_Active" + // 0 : "No_Warning" + uint8_t DMFL_WarningInd : 1; // Bits= 1 + + // FL Door Lock Status + // 2 : "Fault" + // 1 : "Door_Locked" + // 0 : "Door Unlocked" + uint8_t DMFL_DoorLockState : 2; // Bits= 2 + + // FL door opening status + // 1 : "Door_Close" + // 0 : "Door_Open" + uint8_t DMFL_DoorAjarState : 1; // Bits= 1 + + // State of Child lock function for central tab + // 1 : "Function active" + // 0 : "Function inactive" + uint8_t DMFL_ChildLockCentralTab_Stat : 1; // Bits= 1 + + // Request for power closing door from external switch on door panel + // 1 : "External Door Close request" + // 0 : "No Req" + uint8_t DMFL_DoorCloseSw_Req : 1; // Bits= 1 + // FL mirror heating status // 3 : "Fault" // 2 : "Heating off" // 1 : "Heating on" // 0 : "Unknown" - uint8_t DMFL_MirrorHeating_Status : 2; // Bits= 2 + uint8_t DMFL_MirrorHeating_Status : 2; // Bits= 2 + + // State of FL door internal handle: engaged or not + // 1 : "Requested" + // 0 : "No request" + uint8_t DMFL_IntDoorHandle_Req : 1; // Bits= 1 + + // Disable RL Window control + // 1 : "Function active" + // 0 : "Function inactive" + uint8_t DMFL_ChildLock_RLwindow_Stat : 1; // Bits= 1 + + // State of Child lock function for rear left tab + // 1 : "Function active" + // 0 : "Function inactive" + uint8_t DMFL_ChildLockRLTab_Stat : 1; // Bits= 1 + + // Interior door lock switch command + // 2 : "Lock requested" + // 1 : "Unlock requested" + // 0 : "No requested" + uint8_t DMFL_IntDoorLockSw_Cmd : 2; // Bits= 2 + + // State of Child lock function for rear right tab + // 1 : "Function active" + // 0 : "Function inactive" + uint8_t DMFL_ChildLockRRTab_Stat : 1; // Bits= 1 + + // FR Window move command + // 4 : "Auto up" + // 3 : "Auto down" + // 2 : "Manual up" + // 1 : "Manual down" + // 0 : "No action" + uint8_t DMFL_FRWindow_Cmd : 3; // Bits= 3 + + // RL Window move command + // 4 : "Auto up" + // 3 : "Auto down" + // 2 : "Manual up" + // 1 : "Manual down" + // 0 : "No action" + uint8_t DMFL_RLWindow_Cmd : 3; // Bits= 3 + + // Right mirror tilt command + // 1 : "On" + // 0 : "Off" + uint8_t DMFL_RightMirrorTilt_Cmd : 1; // Bits= 1 + + // RR Window move command + // 4 : "Auto up" + // 3 : "Auto down" + // 2 : "Manual up" + // 1 : "Manual down" + // 0 : "No action" + uint8_t DMFL_RRWindow_Cmd : 3; // Bits= 3 + + // Right Mirror Adjustment command + // 4 : "Right" + // 3 : "Left" + // 2 : "Down" + // 1 : "Up" + // 0 : "No action" + uint8_t DMFL_RightMirrorAdjust_Cmd : 3; // Bits= 3 + + // Right Mirror folding command + // 2 : "Unfold" + // 1 : "Fold" + // 0 : "No action" + uint8_t DMFL_RightMirrorFold_Cmd : 2; // Bits= 2 + + // Completeness of window closing status + // 1 : "Window fully closed" + // 0 : "Window not fully closed" + uint8_t DMFL_WindowFullyClosed_Stat : 1; // Bits= 1 + + // Request to wake up the car from the FL door + // 1 : "Requested" + // 0 : "Not requested" + uint8_t DMFL_Comm_Req : 1; // Bits= 1 + + // Status of activation child lock function via switch on driver door + // 1 : "Function active" + // 0 : "Function inactive" + uint8_t DMFL_ChildLock_Stat : 1; // Bits= 1 + + // FL door electric drive status + // 4 : "Fault" + // 3 : "Fully open" + // 2 : "Intermediate" + // 1 : "Fully closed" + // 0 : "Unknown" + uint8_t DMFL_DoorMovement_Stat : 3; // Bits= 3 + + // State of antipinch function of FL door + // 1 : "Pinch detected" + // 0 : "Pinch not detected" + uint8_t DMFL_Antipinch_Stat : 1; // Bits= 1 + + // Direction of movement of the FL door + // 2 : "Closing" + // 1 : "Opening" + // 0 : "Stopped" + uint8_t DMFL_DoorDirection_Stat : 2; // Bits= 2 + + // State of FL blind spot led + // 1 : "Error" + // 0 : "No error" + uint8_t DMFL_BSDLed_Stat : 1; // Bits= 1 + + // The fault status of ajar sensor in door lock + // 1 : "Fault detect" + // 0 : "No fault detect" + uint8_t DMFL_DoorAjarFault_Stat : 1; // Bits= 1 + + // FL window short drop position state + // 0 : "Window above short drop point" + // 1 : "Window is in OR below short drop point" + uint8_t DMFL_ShortDrop_Stat : 1; // Bits= 1 + + // FL turn signal repeater status + // 2 : "Error" + // 1 : "On" + // 0 : "Off" + uint8_t DMFL_TurnInd_Stat : 2; // Bits= 2 + + // Disable RR Window control + // 1 : "Function active" + // 0 : "Function inactive" + uint8_t DMFL_ChildLock_RRwindow_Stat : 1; // Bits= 1 + + // Request to control rear window curtain from switch on FL door + // 1 : "Short pressed" + // 0 : "Not requested" + // 2 : "Long pressed" + uint8_t DMFL_RearWindowCurtain_Req : 2; // Bits= 2 + + // State of Child lock function for RL door lock + // 1 : "Function active" + // 0 : "Function inactive" + uint8_t DMFL_ChildLock_RLdoor_Stat : 1; // Bits= 1 + + // RR Window Child Lock Control + // 1 : "Function active" + // 0 : "Function inactive" + uint8_t DMFL_ChildLock_RRdoor_Stat : 1; // Bits= 1 #else + // Request from the door lock cylinder + // 3 : "Fault" + // 2 : "Lock_Req" + // 1 : "Unlock_Req" + // 0 : "No_Request" + uint8_t DMFL_KeyCylinder_Req; // Bits= 2 + + // Request from DMFL to switch warning indicator in instrument cluster + // 1 : "Warning_Active" + // 0 : "No_Warning" + uint8_t DMFL_WarningInd; // Bits= 1 + + // FL Door Lock Status + // 2 : "Fault" + // 1 : "Door_Locked" + // 0 : "Door Unlocked" + uint8_t DMFL_DoorLockState; // Bits= 2 + + // FL door opening status + // 1 : "Door_Close" + // 0 : "Door_Open" + uint8_t DMFL_DoorAjarState; // Bits= 1 + + // State of Child lock function for central tab + // 1 : "Function active" + // 0 : "Function inactive" + uint8_t DMFL_ChildLockCentralTab_Stat; // Bits= 1 + + // Request for power closing door from external switch on door panel + // 1 : "External Door Close request" + // 0 : "No Req" + uint8_t DMFL_DoorCloseSw_Req; // Bits= 1 + // FL mirror heating status // 3 : "Fault" // 2 : "Heating off" // 1 : "Heating on" // 0 : "Unknown" - uint8_t DMFL_MirrorHeating_Status; // Bits= 2 + uint8_t DMFL_MirrorHeating_Status; // Bits= 2 + + // State of FL door internal handle: engaged or not + // 1 : "Requested" + // 0 : "No request" + uint8_t DMFL_IntDoorHandle_Req; // Bits= 1 + + // Disable RL Window control + // 1 : "Function active" + // 0 : "Function inactive" + uint8_t DMFL_ChildLock_RLwindow_Stat; // Bits= 1 + + // State of Child lock function for rear left tab + // 1 : "Function active" + // 0 : "Function inactive" + uint8_t DMFL_ChildLockRLTab_Stat; // Bits= 1 + + // Interior door lock switch command + // 2 : "Lock requested" + // 1 : "Unlock requested" + // 0 : "No requested" + uint8_t DMFL_IntDoorLockSw_Cmd; // Bits= 2 + + // State of Child lock function for rear right tab + // 1 : "Function active" + // 0 : "Function inactive" + uint8_t DMFL_ChildLockRRTab_Stat; // Bits= 1 + + // FR Window move command + // 4 : "Auto up" + // 3 : "Auto down" + // 2 : "Manual up" + // 1 : "Manual down" + // 0 : "No action" + uint8_t DMFL_FRWindow_Cmd; // Bits= 3 + + // RL Window move command + // 4 : "Auto up" + // 3 : "Auto down" + // 2 : "Manual up" + // 1 : "Manual down" + // 0 : "No action" + uint8_t DMFL_RLWindow_Cmd; // Bits= 3 + + // Right mirror tilt command + // 1 : "On" + // 0 : "Off" + uint8_t DMFL_RightMirrorTilt_Cmd; // Bits= 1 + + // RR Window move command + // 4 : "Auto up" + // 3 : "Auto down" + // 2 : "Manual up" + // 1 : "Manual down" + // 0 : "No action" + uint8_t DMFL_RRWindow_Cmd; // Bits= 3 + + // Right Mirror Adjustment command + // 4 : "Right" + // 3 : "Left" + // 2 : "Down" + // 1 : "Up" + // 0 : "No action" + uint8_t DMFL_RightMirrorAdjust_Cmd; // Bits= 3 + + // Right Mirror folding command + // 2 : "Unfold" + // 1 : "Fold" + // 0 : "No action" + uint8_t DMFL_RightMirrorFold_Cmd; // Bits= 2 + + // Completeness of window closing status + // 1 : "Window fully closed" + // 0 : "Window not fully closed" + uint8_t DMFL_WindowFullyClosed_Stat; // Bits= 1 + + // Request to wake up the car from the FL door + // 1 : "Requested" + // 0 : "Not requested" + uint8_t DMFL_Comm_Req; // Bits= 1 + + // Status of activation child lock function via switch on driver door + // 1 : "Function active" + // 0 : "Function inactive" + uint8_t DMFL_ChildLock_Stat; // Bits= 1 + + // FL door electric drive status + // 4 : "Fault" + // 3 : "Fully open" + // 2 : "Intermediate" + // 1 : "Fully closed" + // 0 : "Unknown" + uint8_t DMFL_DoorMovement_Stat; // Bits= 3 + + // State of antipinch function of FL door + // 1 : "Pinch detected" + // 0 : "Pinch not detected" + uint8_t DMFL_Antipinch_Stat; // Bits= 1 + + // Direction of movement of the FL door + // 2 : "Closing" + // 1 : "Opening" + // 0 : "Stopped" + uint8_t DMFL_DoorDirection_Stat; // Bits= 2 + + // State of FL blind spot led + // 1 : "Error" + // 0 : "No error" + uint8_t DMFL_BSDLed_Stat; // Bits= 1 + + // The fault status of ajar sensor in door lock + // 1 : "Fault detect" + // 0 : "No fault detect" + uint8_t DMFL_DoorAjarFault_Stat; // Bits= 1 + + // FL window short drop position state + // 0 : "Window above short drop point" + // 1 : "Window is in OR below short drop point" + uint8_t DMFL_ShortDrop_Stat; // Bits= 1 + + // FL turn signal repeater status + // 2 : "Error" + // 1 : "On" + // 0 : "Off" + uint8_t DMFL_TurnInd_Stat; // Bits= 2 + + // Disable RR Window control + // 1 : "Function active" + // 0 : "Function inactive" + uint8_t DMFL_ChildLock_RRwindow_Stat; // Bits= 1 + + // Request to control rear window curtain from switch on FL door + // 1 : "Short pressed" + // 0 : "Not requested" + // 2 : "Long pressed" + uint8_t DMFL_RearWindowCurtain_Req; // Bits= 2 + + // State of Child lock function for RL door lock + // 1 : "Function active" + // 0 : "Function inactive" + uint8_t DMFL_ChildLock_RLdoor_Stat; // Bits= 1 + + // RR Window Child Lock Control + // 1 : "Function active" + // 0 : "Function inactive" + uint8_t DMFL_ChildLock_RRdoor_Stat; // Bits= 1 #endif // CANDB_USE_BITS_SIGNAL @@ -466,6 +10568,1086 @@ typedef struct } DMFL_Msg1_t; +// def @DMRL_Msg1 CAN Message (581 0x245) +#define DMRL_Msg1_IDE (0U) +#define DMRL_Msg1_DLC (5U) +#define DMRL_Msg1_CANID (0x245U) +#define DMRL_Msg1_CYC (50U) + +// Value tables for @DMRL_WarningInd signal + +#ifndef DMRL_WarningInd_DMRL_Msg1_Warning_Active +#define DMRL_WarningInd_DMRL_Msg1_Warning_Active (1) +#endif + +#ifndef DMRL_WarningInd_DMRL_Msg1_No_Warning +#define DMRL_WarningInd_DMRL_Msg1_No_Warning (0) +#endif + + +// Value tables for @DMRL_DoorLockState signal + +#ifndef DMRL_DoorLockState_DMRL_Msg1_Fault +#define DMRL_DoorLockState_DMRL_Msg1_Fault (2) +#endif + +#ifndef DMRL_DoorLockState_DMRL_Msg1_Door_Locked +#define DMRL_DoorLockState_DMRL_Msg1_Door_Locked (1) +#endif + +#ifndef DMRL_DoorLockState_DMRL_Msg1_Door_Unlocked +#define DMRL_DoorLockState_DMRL_Msg1_Door_Unlocked (0) +#endif + + +// Value tables for @DMRL_DoorAjarState signal + +#ifndef DMRL_DoorAjarState_DMRL_Msg1_Door_Close +#define DMRL_DoorAjarState_DMRL_Msg1_Door_Close (1) +#endif + +#ifndef DMRL_DoorAjarState_DMRL_Msg1_Door_Open +#define DMRL_DoorAjarState_DMRL_Msg1_Door_Open (0) +#endif + + +// Value tables for @DMRL_DoorCloseSw_Req signal + +#ifndef DMRL_DoorCloseSw_Req_DMRL_Msg1_External_Door_Close_request +#define DMRL_DoorCloseSw_Req_DMRL_Msg1_External_Door_Close_request (1) +#endif + +#ifndef DMRL_DoorCloseSw_Req_DMRL_Msg1_No_Req +#define DMRL_DoorCloseSw_Req_DMRL_Msg1_No_Req (0) +#endif + + +// Value tables for @DMRL_IntDoorHandle_Req signal + +#ifndef DMRL_IntDoorHandle_Req_DMRL_Msg1_Requested +#define DMRL_IntDoorHandle_Req_DMRL_Msg1_Requested (1) +#endif + +#ifndef DMRL_IntDoorHandle_Req_DMRL_Msg1_No_request +#define DMRL_IntDoorHandle_Req_DMRL_Msg1_No_request (0) +#endif + + +// Value tables for @DMRL_IntDoorLockSw_Cmd signal + +#ifndef DMRL_IntDoorLockSw_Cmd_DMRL_Msg1_Lock_requested +#define DMRL_IntDoorLockSw_Cmd_DMRL_Msg1_Lock_requested (2) +#endif + +#ifndef DMRL_IntDoorLockSw_Cmd_DMRL_Msg1_Unlock_requested +#define DMRL_IntDoorLockSw_Cmd_DMRL_Msg1_Unlock_requested (1) +#endif + +#ifndef DMRL_IntDoorLockSw_Cmd_DMRL_Msg1_No_requested +#define DMRL_IntDoorLockSw_Cmd_DMRL_Msg1_No_requested (0) +#endif + + +// Value tables for @DMRL_ChildLock_Stat signal + +#ifndef DMRL_ChildLock_Stat_DMRL_Msg1_Error +#define DMRL_ChildLock_Stat_DMRL_Msg1_Error (2) +#endif + +#ifndef DMRL_ChildLock_Stat_DMRL_Msg1_Locked +#define DMRL_ChildLock_Stat_DMRL_Msg1_Locked (1) +#endif + +#ifndef DMRL_ChildLock_Stat_DMRL_Msg1_Unlocked +#define DMRL_ChildLock_Stat_DMRL_Msg1_Unlocked (0) +#endif + + +// Value tables for @DMRL_VolumeLevel_Cmd signal + +#ifndef DMRL_VolumeLevel_Cmd_DMRL_Msg1_Long_Press_Voice_Assist_Req +#define DMRL_VolumeLevel_Cmd_DMRL_Msg1_Long_Press_Voice_Assist_Req (4) +#endif + +#ifndef DMRL_VolumeLevel_Cmd_DMRL_Msg1_Short_Press_Mute_Req__Volume_Off +#define DMRL_VolumeLevel_Cmd_DMRL_Msg1_Short_Press_Mute_Req__Volume_Off (3) +#endif + +#ifndef DMRL_VolumeLevel_Cmd_DMRL_Msg1_Decrease_Volume +#define DMRL_VolumeLevel_Cmd_DMRL_Msg1_Decrease_Volume (2) +#endif + +#ifndef DMRL_VolumeLevel_Cmd_DMRL_Msg1_Increase_Volume +#define DMRL_VolumeLevel_Cmd_DMRL_Msg1_Increase_Volume (1) +#endif + +#ifndef DMRL_VolumeLevel_Cmd_DMRL_Msg1_No_Request +#define DMRL_VolumeLevel_Cmd_DMRL_Msg1_No_Request (0) +#endif + + +// Value tables for @DMRL_WindowFullyClosed_Stat signal + +#ifndef DMRL_WindowFullyClosed_Stat_DMRL_Msg1_Window_fully_closed +#define DMRL_WindowFullyClosed_Stat_DMRL_Msg1_Window_fully_closed (1) +#endif + +#ifndef DMRL_WindowFullyClosed_Stat_DMRL_Msg1_Window_not_fully_closed +#define DMRL_WindowFullyClosed_Stat_DMRL_Msg1_Window_not_fully_closed (0) +#endif + + +// Value tables for @DMRL_Multimedia_Req signal + +#ifndef DMRL_Multimedia_Req_DMRL_Msg1_MMS_ONOFF_requested +#define DMRL_Multimedia_Req_DMRL_Msg1_MMS_ONOFF_requested (2) +#endif + +#ifndef DMRL_Multimedia_Req_DMRL_Msg1_Mute_ONOFF_requested +#define DMRL_Multimedia_Req_DMRL_Msg1_Mute_ONOFF_requested (1) +#endif + +#ifndef DMRL_Multimedia_Req_DMRL_Msg1_Not_requested +#define DMRL_Multimedia_Req_DMRL_Msg1_Not_requested (0) +#endif + + +// Value tables for @DMRL_Comm_Req signal + +#ifndef DMRL_Comm_Req_DMRL_Msg1_Requested +#define DMRL_Comm_Req_DMRL_Msg1_Requested (1) +#endif + +#ifndef DMRL_Comm_Req_DMRL_Msg1_Not_requested +#define DMRL_Comm_Req_DMRL_Msg1_Not_requested (0) +#endif + + +// Value tables for @DMRL_DoorAjarFault_Stat signal + +#ifndef DMRL_DoorAjarFault_Stat_DMRL_Msg1_Fault_detect +#define DMRL_DoorAjarFault_Stat_DMRL_Msg1_Fault_detect (1) +#endif + +#ifndef DMRL_DoorAjarFault_Stat_DMRL_Msg1_No_fault_detect +#define DMRL_DoorAjarFault_Stat_DMRL_Msg1_No_fault_detect (0) +#endif + + +// Value tables for @DMRL_DoorMovement_Stat signal + +#ifndef DMRL_DoorMovement_Stat_DMRL_Msg1_Fault +#define DMRL_DoorMovement_Stat_DMRL_Msg1_Fault (4) +#endif + +#ifndef DMRL_DoorMovement_Stat_DMRL_Msg1_Fully_open +#define DMRL_DoorMovement_Stat_DMRL_Msg1_Fully_open (3) +#endif + +#ifndef DMRL_DoorMovement_Stat_DMRL_Msg1_Intermediate +#define DMRL_DoorMovement_Stat_DMRL_Msg1_Intermediate (2) +#endif + +#ifndef DMRL_DoorMovement_Stat_DMRL_Msg1_Fully_closed +#define DMRL_DoorMovement_Stat_DMRL_Msg1_Fully_closed (1) +#endif + +#ifndef DMRL_DoorMovement_Stat_DMRL_Msg1_Unknown +#define DMRL_DoorMovement_Stat_DMRL_Msg1_Unknown (0) +#endif + + +// Value tables for @DMRL_Antipinch_Stat signal + +#ifndef DMRL_Antipinch_Stat_DMRL_Msg1_Pinch_detected +#define DMRL_Antipinch_Stat_DMRL_Msg1_Pinch_detected (1) +#endif + +#ifndef DMRL_Antipinch_Stat_DMRL_Msg1_Pinch_not_detected +#define DMRL_Antipinch_Stat_DMRL_Msg1_Pinch_not_detected (0) +#endif + + +// Value tables for @DMRL_DoorDirection_Stat signal + +#ifndef DMRL_DoorDirection_Stat_DMRL_Msg1_Closing +#define DMRL_DoorDirection_Stat_DMRL_Msg1_Closing (2) +#endif + +#ifndef DMRL_DoorDirection_Stat_DMRL_Msg1_Opening +#define DMRL_DoorDirection_Stat_DMRL_Msg1_Opening (1) +#endif + +#ifndef DMRL_DoorDirection_Stat_DMRL_Msg1_Stopped +#define DMRL_DoorDirection_Stat_DMRL_Msg1_Stopped (0) +#endif + + +// Value tables for @DMRL_RR_Window_Cmd signal + +#ifndef DMRL_RR_Window_Cmd_DMRL_Msg1_Auto_up +#define DMRL_RR_Window_Cmd_DMRL_Msg1_Auto_up (4) +#endif + +#ifndef DMRL_RR_Window_Cmd_DMRL_Msg1_Auto_down +#define DMRL_RR_Window_Cmd_DMRL_Msg1_Auto_down (3) +#endif + +#ifndef DMRL_RR_Window_Cmd_DMRL_Msg1_Manual_up +#define DMRL_RR_Window_Cmd_DMRL_Msg1_Manual_up (2) +#endif + +#ifndef DMRL_RR_Window_Cmd_DMRL_Msg1_Manual_down +#define DMRL_RR_Window_Cmd_DMRL_Msg1_Manual_down (1) +#endif + +#ifndef DMRL_RR_Window_Cmd_DMRL_Msg1_No_action +#define DMRL_RR_Window_Cmd_DMRL_Msg1_No_action (0) +#endif + + +// Value tables for @DMRL_ElcromeBright_Stat signal + +#ifndef DMRL_ElcromeBright_Stat_DMRL_Msg1_Strong_Dimmming +#define DMRL_ElcromeBright_Stat_DMRL_Msg1_Strong_Dimmming (3) +#endif + +#ifndef DMRL_ElcromeBright_Stat_DMRL_Msg1_Medium_Dimming +#define DMRL_ElcromeBright_Stat_DMRL_Msg1_Medium_Dimming (2) +#endif + +#ifndef DMRL_ElcromeBright_Stat_DMRL_Msg1_Soft_Dimming +#define DMRL_ElcromeBright_Stat_DMRL_Msg1_Soft_Dimming (1) +#endif + +#ifndef DMRL_ElcromeBright_Stat_DMRL_Msg1_Dimming_switched_off +#define DMRL_ElcromeBright_Stat_DMRL_Msg1_Dimming_switched_off (0) +#endif + + +// Value tables for @DMRL_SunShade_Stat signal + +#ifndef DMRL_SunShade_Stat_DMRL_Msg1_Stopped +#define DMRL_SunShade_Stat_DMRL_Msg1_Stopped (4) +#endif + +#ifndef DMRL_SunShade_Stat_DMRL_Msg1_Closing +#define DMRL_SunShade_Stat_DMRL_Msg1_Closing (3) +#endif + +#ifndef DMRL_SunShade_Stat_DMRL_Msg1_Opening +#define DMRL_SunShade_Stat_DMRL_Msg1_Opening (2) +#endif + +#ifndef DMRL_SunShade_Stat_DMRL_Msg1_Closed +#define DMRL_SunShade_Stat_DMRL_Msg1_Closed (1) +#endif + +#ifndef DMRL_SunShade_Stat_DMRL_Msg1_Open +#define DMRL_SunShade_Stat_DMRL_Msg1_Open (0) +#endif + + +// Value tables for @DMRL_RearCurtain_Req signal + +#ifndef DMRL_RearCurtain_Req_DMRL_Msg1_Short_pressed +#define DMRL_RearCurtain_Req_DMRL_Msg1_Short_pressed (1) +#endif + +#ifndef DMRL_RearCurtain_Req_DMRL_Msg1_Not_requested +#define DMRL_RearCurtain_Req_DMRL_Msg1_Not_requested (0) +#endif + +#ifndef DMRL_RearCurtain_Req_DMRL_Msg1_Long_pressed +#define DMRL_RearCurtain_Req_DMRL_Msg1_Long_pressed (2) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Request from DMRL to switch warning indicator in instrument cluster + // 1 : "Warning_Active" + // 0 : "No_Warning" + uint8_t DMRL_WarningInd : 1; // Bits= 1 + + // RL Door Lock Status + // 2 : "Fault" + // 1 : "Door_Locked" + // 0 : "Door Unlocked" + uint8_t DMRL_DoorLockState : 2; // Bits= 2 + + // RL door opening status + // 1 : "Door_Close" + // 0 : "Door_Open" + uint8_t DMRL_DoorAjarState : 1; // Bits= 1 + + // Request for power closing door from external switch on door panel + // 1 : "External Door Close request" + // 0 : "No Req" + uint8_t DMRL_DoorCloseSw_Req : 1; // Bits= 1 + + // State of RL door internal handle: engaged or not + // 1 : "Requested" + // 0 : "No request" + uint8_t DMRL_IntDoorHandle_Req : 1; // Bits= 1 + + // Interior door lock switch command + // 2 : "Lock requested" + // 1 : "Unlock requested" + // 0 : "No requested" + uint8_t DMRL_IntDoorLockSw_Cmd : 2; // Bits= 2 + + // Indicates the Child Lock status + // 2 : "Error" + // 1 : "Locked" + // 0 : "Unlocked" + uint8_t DMRL_ChildLock_Stat : 2; // Bits= 2 + + // The request to change volumme level via RL MMS joystic. + // 4 : "Long Press (Voice Assist Req)" + // 3 : "Short Press (Mute Req - Volume Off)" + // 2 : "Decrease Volume" + // 1 : "Increase Volume" + // 0 : "No Request" + uint8_t DMRL_VolumeLevel_Cmd : 3; // Bits= 3 + + // Completeness of window closing status + // 1 : "Window fully closed" + // 0 : "Window not fully closed" + uint8_t DMRL_WindowFullyClosed_Stat : 1; // Bits= 1 + + // Request to turn off/on the multimedia system from the RL passenger + // 2 : "MMS ON/OFF requested" + // 1 : "Mute ON/OFF requested" + // 0 : "Not requested" + uint8_t DMRL_Multimedia_Req : 2; // Bits= 2 + + // Request to wake up the car from the RL door + // 1 : "Requested" + // 0 : "Not requested" + uint8_t DMRL_Comm_Req : 1; // Bits= 1 + + // The fault status of ajar sensor in door lock + // 1 : "Fault detect" + // 0 : "No fault detect" + uint8_t DMRL_DoorAjarFault_Stat : 1; // Bits= 1 + + // RL door electric drive status + // 4 : "Fault" + // 3 : "Fully open" + // 2 : "Intermediate" + // 1 : "Fully closed" + // 0 : "Unknown" + uint8_t DMRL_DoorMovement_Stat : 3; // Bits= 3 + + // State of antipinch function of RL door + // 1 : "Pinch detected" + // 0 : "Pinch not detected" + uint8_t DMRL_Antipinch_Stat : 1; // Bits= 1 + + // Direction of movement of the RL door + // 2 : "Closing" + // 1 : "Opening" + // 0 : "Stopped" + uint8_t DMRL_DoorDirection_Stat : 2; // Bits= 2 + + // Request to control RL window from RR door + // 4 : "Auto up" + // 3 : "Auto down" + // 2 : "Manual up" + // 1 : "Manual down" + // 0 : "No action" + uint8_t DMRL_RR_Window_Cmd : 3; // Bits= 3 + + // RL door glass tinting status + // 3 : "Strong Dimmming" + // 2 : "Medium Dimming" + // 1 : "Soft Dimming" + // 0 : "Dimming switched off" + uint8_t DMRL_ElcromeBright_Stat : 2; // Bits= 2 + + // State of RL window sun shade + // 4 : "Stopped" + // 3 : "Closing" + // 2 : "Opening" + // 1 : "Closed" + // 0 : "Open" + uint8_t DMRL_SunShade_Stat : 3; // Bits= 3 + + // Rear window blind control request from RL passenger + // 1 : "Short pressed" + // 0 : "Not requested" + // 2 : "Long pressed" + uint8_t DMRL_RearCurtain_Req : 2; // Bits= 2 + +#else + + // Request from DMRL to switch warning indicator in instrument cluster + // 1 : "Warning_Active" + // 0 : "No_Warning" + uint8_t DMRL_WarningInd; // Bits= 1 + + // RL Door Lock Status + // 2 : "Fault" + // 1 : "Door_Locked" + // 0 : "Door Unlocked" + uint8_t DMRL_DoorLockState; // Bits= 2 + + // RL door opening status + // 1 : "Door_Close" + // 0 : "Door_Open" + uint8_t DMRL_DoorAjarState; // Bits= 1 + + // Request for power closing door from external switch on door panel + // 1 : "External Door Close request" + // 0 : "No Req" + uint8_t DMRL_DoorCloseSw_Req; // Bits= 1 + + // State of RL door internal handle: engaged or not + // 1 : "Requested" + // 0 : "No request" + uint8_t DMRL_IntDoorHandle_Req; // Bits= 1 + + // Interior door lock switch command + // 2 : "Lock requested" + // 1 : "Unlock requested" + // 0 : "No requested" + uint8_t DMRL_IntDoorLockSw_Cmd; // Bits= 2 + + // Indicates the Child Lock status + // 2 : "Error" + // 1 : "Locked" + // 0 : "Unlocked" + uint8_t DMRL_ChildLock_Stat; // Bits= 2 + + // The request to change volumme level via RL MMS joystic. + // 4 : "Long Press (Voice Assist Req)" + // 3 : "Short Press (Mute Req - Volume Off)" + // 2 : "Decrease Volume" + // 1 : "Increase Volume" + // 0 : "No Request" + uint8_t DMRL_VolumeLevel_Cmd; // Bits= 3 + + // Completeness of window closing status + // 1 : "Window fully closed" + // 0 : "Window not fully closed" + uint8_t DMRL_WindowFullyClosed_Stat; // Bits= 1 + + // Request to turn off/on the multimedia system from the RL passenger + // 2 : "MMS ON/OFF requested" + // 1 : "Mute ON/OFF requested" + // 0 : "Not requested" + uint8_t DMRL_Multimedia_Req; // Bits= 2 + + // Request to wake up the car from the RL door + // 1 : "Requested" + // 0 : "Not requested" + uint8_t DMRL_Comm_Req; // Bits= 1 + + // The fault status of ajar sensor in door lock + // 1 : "Fault detect" + // 0 : "No fault detect" + uint8_t DMRL_DoorAjarFault_Stat; // Bits= 1 + + // RL door electric drive status + // 4 : "Fault" + // 3 : "Fully open" + // 2 : "Intermediate" + // 1 : "Fully closed" + // 0 : "Unknown" + uint8_t DMRL_DoorMovement_Stat; // Bits= 3 + + // State of antipinch function of RL door + // 1 : "Pinch detected" + // 0 : "Pinch not detected" + uint8_t DMRL_Antipinch_Stat; // Bits= 1 + + // Direction of movement of the RL door + // 2 : "Closing" + // 1 : "Opening" + // 0 : "Stopped" + uint8_t DMRL_DoorDirection_Stat; // Bits= 2 + + // Request to control RL window from RR door + // 4 : "Auto up" + // 3 : "Auto down" + // 2 : "Manual up" + // 1 : "Manual down" + // 0 : "No action" + uint8_t DMRL_RR_Window_Cmd; // Bits= 3 + + // RL door glass tinting status + // 3 : "Strong Dimmming" + // 2 : "Medium Dimming" + // 1 : "Soft Dimming" + // 0 : "Dimming switched off" + uint8_t DMRL_ElcromeBright_Stat; // Bits= 2 + + // State of RL window sun shade + // 4 : "Stopped" + // 3 : "Closing" + // 2 : "Opening" + // 1 : "Closed" + // 0 : "Open" + uint8_t DMRL_SunShade_Stat; // Bits= 3 + + // Rear window blind control request from RL passenger + // 1 : "Short pressed" + // 0 : "Not requested" + // 2 : "Long pressed" + uint8_t DMRL_RearCurtain_Req; // Bits= 2 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} DMRL_Msg1_t; + +// def @DMRR_Msg1 CAN Message (582 0x246) +#define DMRR_Msg1_IDE (0U) +#define DMRR_Msg1_DLC (5U) +#define DMRR_Msg1_CANID (0x246U) +#define DMRR_Msg1_CYC (50U) + +// Value tables for @DMRR_WarningInd signal + +#ifndef DMRR_WarningInd_DMRR_Msg1_Warning_Active +#define DMRR_WarningInd_DMRR_Msg1_Warning_Active (1) +#endif + +#ifndef DMRR_WarningInd_DMRR_Msg1_No_Warning +#define DMRR_WarningInd_DMRR_Msg1_No_Warning (0) +#endif + + +// Value tables for @DMRR_DoorLockState signal + +#ifndef DMRR_DoorLockState_DMRR_Msg1_Fault +#define DMRR_DoorLockState_DMRR_Msg1_Fault (2) +#endif + +#ifndef DMRR_DoorLockState_DMRR_Msg1_Door_Locked +#define DMRR_DoorLockState_DMRR_Msg1_Door_Locked (1) +#endif + +#ifndef DMRR_DoorLockState_DMRR_Msg1_Door_Unlocked +#define DMRR_DoorLockState_DMRR_Msg1_Door_Unlocked (0) +#endif + + +// Value tables for @DMRR_DoorAjarState signal + +#ifndef DMRR_DoorAjarState_DMRR_Msg1_Door_Close +#define DMRR_DoorAjarState_DMRR_Msg1_Door_Close (1) +#endif + +#ifndef DMRR_DoorAjarState_DMRR_Msg1_Door_Open +#define DMRR_DoorAjarState_DMRR_Msg1_Door_Open (0) +#endif + + +// Value tables for @DMRR_DoorCloseSw_Req signal + +#ifndef DMRR_DoorCloseSw_Req_DMRR_Msg1_External_Door_Close_request +#define DMRR_DoorCloseSw_Req_DMRR_Msg1_External_Door_Close_request (1) +#endif + +#ifndef DMRR_DoorCloseSw_Req_DMRR_Msg1_No_Req +#define DMRR_DoorCloseSw_Req_DMRR_Msg1_No_Req (0) +#endif + + +// Value tables for @DMRR_IntDoorHandle_Req signal + +#ifndef DMRR_IntDoorHandle_Req_DMRR_Msg1_Requested +#define DMRR_IntDoorHandle_Req_DMRR_Msg1_Requested (1) +#endif + +#ifndef DMRR_IntDoorHandle_Req_DMRR_Msg1_No_request +#define DMRR_IntDoorHandle_Req_DMRR_Msg1_No_request (0) +#endif + + +// Value tables for @DMRR_IntDoorLockSw_Cmd signal + +#ifndef DMRR_IntDoorLockSw_Cmd_DMRR_Msg1_Lock_requested +#define DMRR_IntDoorLockSw_Cmd_DMRR_Msg1_Lock_requested (2) +#endif + +#ifndef DMRR_IntDoorLockSw_Cmd_DMRR_Msg1_Unlock_requested +#define DMRR_IntDoorLockSw_Cmd_DMRR_Msg1_Unlock_requested (1) +#endif + +#ifndef DMRR_IntDoorLockSw_Cmd_DMRR_Msg1_No_requested +#define DMRR_IntDoorLockSw_Cmd_DMRR_Msg1_No_requested (0) +#endif + + +// Value tables for @DMRR_ChildLock_Stat signal + +#ifndef DMRR_ChildLock_Stat_DMRR_Msg1_Error +#define DMRR_ChildLock_Stat_DMRR_Msg1_Error (2) +#endif + +#ifndef DMRR_ChildLock_Stat_DMRR_Msg1_Locked +#define DMRR_ChildLock_Stat_DMRR_Msg1_Locked (1) +#endif + +#ifndef DMRR_ChildLock_Stat_DMRR_Msg1_Unlocked +#define DMRR_ChildLock_Stat_DMRR_Msg1_Unlocked (0) +#endif + + +// Value tables for @DMRR_VolumeLevel_Cmd signal + +#ifndef DMRR_VolumeLevel_Cmd_DMRR_Msg1_Short_Press_Mute_Req__Volume_Off +#define DMRR_VolumeLevel_Cmd_DMRR_Msg1_Short_Press_Mute_Req__Volume_Off (3) +#endif + +#ifndef DMRR_VolumeLevel_Cmd_DMRR_Msg1_Decrease_sound +#define DMRR_VolumeLevel_Cmd_DMRR_Msg1_Decrease_sound (2) +#endif + +#ifndef DMRR_VolumeLevel_Cmd_DMRR_Msg1_Increase_sound +#define DMRR_VolumeLevel_Cmd_DMRR_Msg1_Increase_sound (1) +#endif + +#ifndef DMRR_VolumeLevel_Cmd_DMRR_Msg1_No_request +#define DMRR_VolumeLevel_Cmd_DMRR_Msg1_No_request (0) +#endif + +#ifndef DMRR_VolumeLevel_Cmd_DMRR_Msg1_Long_Press_Voice_Assist_Req +#define DMRR_VolumeLevel_Cmd_DMRR_Msg1_Long_Press_Voice_Assist_Req (4) +#endif + + +// Value tables for @DMRR_WindowFullyClosed_Stat signal + +#ifndef DMRR_WindowFullyClosed_Stat_DMRR_Msg1_Window_fully_closed +#define DMRR_WindowFullyClosed_Stat_DMRR_Msg1_Window_fully_closed (1) +#endif + +#ifndef DMRR_WindowFullyClosed_Stat_DMRR_Msg1_Window_not_fully_closed +#define DMRR_WindowFullyClosed_Stat_DMRR_Msg1_Window_not_fully_closed (0) +#endif + + +// Value tables for @DMRR_Multimedia_Req signal + +#ifndef DMRR_Multimedia_Req_DMRR_Msg1_MMS_ONOFF_requested +#define DMRR_Multimedia_Req_DMRR_Msg1_MMS_ONOFF_requested (2) +#endif + +#ifndef DMRR_Multimedia_Req_DMRR_Msg1_Mute_ONOFF_requested +#define DMRR_Multimedia_Req_DMRR_Msg1_Mute_ONOFF_requested (1) +#endif + +#ifndef DMRR_Multimedia_Req_DMRR_Msg1_Not_requested +#define DMRR_Multimedia_Req_DMRR_Msg1_Not_requested (0) +#endif + + +// Value tables for @DMRR_Comm_Req signal + +#ifndef DMRR_Comm_Req_DMRR_Msg1_Requested +#define DMRR_Comm_Req_DMRR_Msg1_Requested (1) +#endif + +#ifndef DMRR_Comm_Req_DMRR_Msg1_Not_requested +#define DMRR_Comm_Req_DMRR_Msg1_Not_requested (0) +#endif + + +// Value tables for @DMRR_DoorAjarFault_Stat signal + +#ifndef DMRR_DoorAjarFault_Stat_DMRR_Msg1_Fault_detect +#define DMRR_DoorAjarFault_Stat_DMRR_Msg1_Fault_detect (1) +#endif + +#ifndef DMRR_DoorAjarFault_Stat_DMRR_Msg1_No_fault_detect +#define DMRR_DoorAjarFault_Stat_DMRR_Msg1_No_fault_detect (0) +#endif + + +// Value tables for @DMRR_DoorMovement_Stat signal + +#ifndef DMRR_DoorMovement_Stat_DMRR_Msg1_Fault +#define DMRR_DoorMovement_Stat_DMRR_Msg1_Fault (4) +#endif + +#ifndef DMRR_DoorMovement_Stat_DMRR_Msg1_Fully_open +#define DMRR_DoorMovement_Stat_DMRR_Msg1_Fully_open (3) +#endif + +#ifndef DMRR_DoorMovement_Stat_DMRR_Msg1_Intermediate +#define DMRR_DoorMovement_Stat_DMRR_Msg1_Intermediate (2) +#endif + +#ifndef DMRR_DoorMovement_Stat_DMRR_Msg1_Fully_closed +#define DMRR_DoorMovement_Stat_DMRR_Msg1_Fully_closed (1) +#endif + +#ifndef DMRR_DoorMovement_Stat_DMRR_Msg1_Unknown +#define DMRR_DoorMovement_Stat_DMRR_Msg1_Unknown (0) +#endif + + +// Value tables for @DMRR_Antipinch_Stat signal + +#ifndef DMRR_Antipinch_Stat_DMRR_Msg1_Pinch_detected +#define DMRR_Antipinch_Stat_DMRR_Msg1_Pinch_detected (1) +#endif + +#ifndef DMRR_Antipinch_Stat_DMRR_Msg1_Pinch_not_detected +#define DMRR_Antipinch_Stat_DMRR_Msg1_Pinch_not_detected (0) +#endif + + +// Value tables for @DMRR_DoorDirection_Stat signal + +#ifndef DMRR_DoorDirection_Stat_DMRR_Msg1_Closing +#define DMRR_DoorDirection_Stat_DMRR_Msg1_Closing (2) +#endif + +#ifndef DMRR_DoorDirection_Stat_DMRR_Msg1_Opening +#define DMRR_DoorDirection_Stat_DMRR_Msg1_Opening (1) +#endif + +#ifndef DMRR_DoorDirection_Stat_DMRR_Msg1_Stopped +#define DMRR_DoorDirection_Stat_DMRR_Msg1_Stopped (0) +#endif + + +// Value tables for @DMRR_RL_Window_Cmd signal + +#ifndef DMRR_RL_Window_Cmd_DMRR_Msg1_Auto_up +#define DMRR_RL_Window_Cmd_DMRR_Msg1_Auto_up (4) +#endif + +#ifndef DMRR_RL_Window_Cmd_DMRR_Msg1_Auto_down +#define DMRR_RL_Window_Cmd_DMRR_Msg1_Auto_down (3) +#endif + +#ifndef DMRR_RL_Window_Cmd_DMRR_Msg1_Manual_up +#define DMRR_RL_Window_Cmd_DMRR_Msg1_Manual_up (2) +#endif + +#ifndef DMRR_RL_Window_Cmd_DMRR_Msg1_Manual_down +#define DMRR_RL_Window_Cmd_DMRR_Msg1_Manual_down (1) +#endif + +#ifndef DMRR_RL_Window_Cmd_DMRR_Msg1_No_action +#define DMRR_RL_Window_Cmd_DMRR_Msg1_No_action (0) +#endif + + +// Value tables for @DMRR_ElcromeBright_Stat signal + +#ifndef DMRR_ElcromeBright_Stat_DMRR_Msg1_Strong_Dimmming +#define DMRR_ElcromeBright_Stat_DMRR_Msg1_Strong_Dimmming (3) +#endif + +#ifndef DMRR_ElcromeBright_Stat_DMRR_Msg1_Medium_Dimming +#define DMRR_ElcromeBright_Stat_DMRR_Msg1_Medium_Dimming (2) +#endif + +#ifndef DMRR_ElcromeBright_Stat_DMRR_Msg1_Soft_Dimming +#define DMRR_ElcromeBright_Stat_DMRR_Msg1_Soft_Dimming (1) +#endif + +#ifndef DMRR_ElcromeBright_Stat_DMRR_Msg1_Dimming_switched_off +#define DMRR_ElcromeBright_Stat_DMRR_Msg1_Dimming_switched_off (0) +#endif + + +// Value tables for @DMRR_SunShade_Stat signal + +#ifndef DMRR_SunShade_Stat_DMRR_Msg1_Stopped +#define DMRR_SunShade_Stat_DMRR_Msg1_Stopped (4) +#endif + +#ifndef DMRR_SunShade_Stat_DMRR_Msg1_Closing +#define DMRR_SunShade_Stat_DMRR_Msg1_Closing (3) +#endif + +#ifndef DMRR_SunShade_Stat_DMRR_Msg1_Opening +#define DMRR_SunShade_Stat_DMRR_Msg1_Opening (2) +#endif + +#ifndef DMRR_SunShade_Stat_DMRR_Msg1_Closed +#define DMRR_SunShade_Stat_DMRR_Msg1_Closed (1) +#endif + +#ifndef DMRR_SunShade_Stat_DMRR_Msg1_Open +#define DMRR_SunShade_Stat_DMRR_Msg1_Open (0) +#endif + + +// Value tables for @DMRR_RearCurtain_Req signal + +#ifndef DMRR_RearCurtain_Req_DMRR_Msg1_Short_pressed +#define DMRR_RearCurtain_Req_DMRR_Msg1_Short_pressed (1) +#endif + +#ifndef DMRR_RearCurtain_Req_DMRR_Msg1_Not_requested +#define DMRR_RearCurtain_Req_DMRR_Msg1_Not_requested (0) +#endif + +#ifndef DMRR_RearCurtain_Req_DMRR_Msg1_Long_pressed +#define DMRR_RearCurtain_Req_DMRR_Msg1_Long_pressed (2) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Request from DMRR to switch warning indicator in instrument cluster + // 1 : "Warning_Active" + // 0 : "No_Warning" + uint8_t DMRR_WarningInd : 1; // Bits= 1 + + // RR Door Lock Status + // 2 : "Fault" + // 1 : "Door_Locked" + // 0 : "Door Unlocked" + uint8_t DMRR_DoorLockState : 2; // Bits= 2 + + // RR door opening status + // 1 : "Door_Close" + // 0 : "Door_Open" + uint8_t DMRR_DoorAjarState : 1; // Bits= 1 + + // Request for power closing door from external switch on door panel + // 1 : "External Door Close request" + // 0 : "No Req" + uint8_t DMRR_DoorCloseSw_Req : 1; // Bits= 1 + + // State of RR door internal handle: engaged or not + // 1 : "Requested" + // 0 : "No request" + uint8_t DMRR_IntDoorHandle_Req : 1; // Bits= 1 + + // Interior door lock switch command + // 2 : "Lock requested" + // 1 : "Unlock requested" + // 0 : "No requested" + uint8_t DMRR_IntDoorLockSw_Cmd : 2; // Bits= 2 + + // Indicates the Child Lock status + // 2 : "Error" + // 1 : "Locked" + // 0 : "Unlocked" + uint8_t DMRR_ChildLock_Stat : 2; // Bits= 2 + + // 3 : "Short Press (Mute Req - Volume Off)" + // 2 : "Decrease sound" + // 1 : "Increase sound" + // 0 : "No request" + // 4 : "Long Press (Voice Assist Req)" + uint8_t DMRR_VolumeLevel_Cmd : 3; // Bits= 3 + + // Completeness of window closing status + // 1 : "Window fully closed" + // 0 : "Window not fully closed" + uint8_t DMRR_WindowFullyClosed_Stat : 1; // Bits= 1 + + // Request to turn off/on the multimedia system from the RR passenger + // 2 : "MMS ON/OFF requested" + // 1 : "Mute ON/OFF requested" + // 0 : "Not requested" + uint8_t DMRR_Multimedia_Req : 2; // Bits= 2 + + // Request to wake up the car from the RR door + // 1 : "Requested" + // 0 : "Not requested" + uint8_t DMRR_Comm_Req : 1; // Bits= 1 + + // The fault status of ajar sensor in door lock + // 1 : "Fault detect" + // 0 : "No fault detect" + uint8_t DMRR_DoorAjarFault_Stat : 1; // Bits= 1 + + // RR door electric drive status + // 4 : "Fault" + // 3 : "Fully open" + // 2 : "Intermediate" + // 1 : "Fully closed" + // 0 : "Unknown" + uint8_t DMRR_DoorMovement_Stat : 3; // Bits= 3 + + // State of antipinch function of RR door + // 1 : "Pinch detected" + // 0 : "Pinch not detected" + uint8_t DMRR_Antipinch_Stat : 1; // Bits= 1 + + // Direction of movement of the RR door + // 2 : "Closing" + // 1 : "Opening" + // 0 : "Stopped" + uint8_t DMRR_DoorDirection_Stat : 2; // Bits= 2 + + // Request to control RL window from RR door + // 4 : "Auto up" + // 3 : "Auto down" + // 2 : "Manual up" + // 1 : "Manual down" + // 0 : "No action" + uint8_t DMRR_RL_Window_Cmd : 3; // Bits= 3 + + // RR door glass tinting status + // 3 : "Strong Dimmming" + // 2 : "Medium Dimming" + // 1 : "Soft Dimming" + // 0 : "Dimming switched off" + uint8_t DMRR_ElcromeBright_Stat : 2; // Bits= 2 + + // State of RR window sun shade + // 4 : "Stopped" + // 3 : "Closing" + // 2 : "Opening" + // 1 : "Closed" + // 0 : "Open" + uint8_t DMRR_SunShade_Stat : 3; // Bits= 3 + + // Rear window blind control request from RR passenger + // 1 : "Short pressed" + // 0 : "Not requested" + // 2 : "Long pressed" + uint8_t DMRR_RearCurtain_Req : 2; // Bits= 2 + +#else + + // Request from DMRR to switch warning indicator in instrument cluster + // 1 : "Warning_Active" + // 0 : "No_Warning" + uint8_t DMRR_WarningInd; // Bits= 1 + + // RR Door Lock Status + // 2 : "Fault" + // 1 : "Door_Locked" + // 0 : "Door Unlocked" + uint8_t DMRR_DoorLockState; // Bits= 2 + + // RR door opening status + // 1 : "Door_Close" + // 0 : "Door_Open" + uint8_t DMRR_DoorAjarState; // Bits= 1 + + // Request for power closing door from external switch on door panel + // 1 : "External Door Close request" + // 0 : "No Req" + uint8_t DMRR_DoorCloseSw_Req; // Bits= 1 + + // State of RR door internal handle: engaged or not + // 1 : "Requested" + // 0 : "No request" + uint8_t DMRR_IntDoorHandle_Req; // Bits= 1 + + // Interior door lock switch command + // 2 : "Lock requested" + // 1 : "Unlock requested" + // 0 : "No requested" + uint8_t DMRR_IntDoorLockSw_Cmd; // Bits= 2 + + // Indicates the Child Lock status + // 2 : "Error" + // 1 : "Locked" + // 0 : "Unlocked" + uint8_t DMRR_ChildLock_Stat; // Bits= 2 + + // 3 : "Short Press (Mute Req - Volume Off)" + // 2 : "Decrease sound" + // 1 : "Increase sound" + // 0 : "No request" + // 4 : "Long Press (Voice Assist Req)" + uint8_t DMRR_VolumeLevel_Cmd; // Bits= 3 + + // Completeness of window closing status + // 1 : "Window fully closed" + // 0 : "Window not fully closed" + uint8_t DMRR_WindowFullyClosed_Stat; // Bits= 1 + + // Request to turn off/on the multimedia system from the RR passenger + // 2 : "MMS ON/OFF requested" + // 1 : "Mute ON/OFF requested" + // 0 : "Not requested" + uint8_t DMRR_Multimedia_Req; // Bits= 2 + + // Request to wake up the car from the RR door + // 1 : "Requested" + // 0 : "Not requested" + uint8_t DMRR_Comm_Req; // Bits= 1 + + // The fault status of ajar sensor in door lock + // 1 : "Fault detect" + // 0 : "No fault detect" + uint8_t DMRR_DoorAjarFault_Stat; // Bits= 1 + + // RR door electric drive status + // 4 : "Fault" + // 3 : "Fully open" + // 2 : "Intermediate" + // 1 : "Fully closed" + // 0 : "Unknown" + uint8_t DMRR_DoorMovement_Stat; // Bits= 3 + + // State of antipinch function of RR door + // 1 : "Pinch detected" + // 0 : "Pinch not detected" + uint8_t DMRR_Antipinch_Stat; // Bits= 1 + + // Direction of movement of the RR door + // 2 : "Closing" + // 1 : "Opening" + // 0 : "Stopped" + uint8_t DMRR_DoorDirection_Stat; // Bits= 2 + + // Request to control RL window from RR door + // 4 : "Auto up" + // 3 : "Auto down" + // 2 : "Manual up" + // 1 : "Manual down" + // 0 : "No action" + uint8_t DMRR_RL_Window_Cmd; // Bits= 3 + + // RR door glass tinting status + // 3 : "Strong Dimmming" + // 2 : "Medium Dimming" + // 1 : "Soft Dimming" + // 0 : "Dimming switched off" + uint8_t DMRR_ElcromeBright_Stat; // Bits= 2 + + // State of RR window sun shade + // 4 : "Stopped" + // 3 : "Closing" + // 2 : "Opening" + // 1 : "Closed" + // 0 : "Open" + uint8_t DMRR_SunShade_Stat; // Bits= 3 + + // Rear window blind control request from RR passenger + // 1 : "Short pressed" + // 0 : "Not requested" + // 2 : "Long pressed" + uint8_t DMRR_RearCurtain_Req; // Bits= 2 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} DMRR_Msg1_t; + // The DLC and Layout must be as in UMP_1 because PTG is receive this message // def @TM_Stat CAN Message (583 0x247) #define TM_Stat_IDE (0U) @@ -484,6 +11666,203 @@ typedef struct #endif +// Value tables for @TM_TrailerConnect_Stat signal + +#ifndef TM_TrailerConnect_Stat_TM_Stat_Connected +#define TM_TrailerConnect_Stat_TM_Stat_Connected (1) +#endif + +#ifndef TM_TrailerConnect_Stat_TM_Stat_Not_Connected +#define TM_TrailerConnect_Stat_TM_Stat_Not_Connected (0) +#endif + + +// Value tables for @TM_LockAndCloseSW_Req signal + +#ifndef TM_LockAndCloseSW_Req_TM_Stat_CloseLockReq +#define TM_LockAndCloseSW_Req_TM_Stat_CloseLockReq (1) +#endif + +#ifndef TM_LockAndCloseSW_Req_TM_Stat_No_Request +#define TM_LockAndCloseSW_Req_TM_Stat_No_Request (0) +#endif + + +// Value tables for @TM_ExtTrunkSW_Req signal + +#ifndef TM_ExtTrunkSW_Req_TM_Stat_TrunkOpenReq +#define TM_ExtTrunkSW_Req_TM_Stat_TrunkOpenReq (1) +#endif + +#ifndef TM_ExtTrunkSW_Req_TM_Stat_No_Request +#define TM_ExtTrunkSW_Req_TM_Stat_No_Request (0) +#endif + + +// Value tables for @TM_WarningInd signal + +#ifndef TM_WarningInd_TM_Stat_Warning_Active +#define TM_WarningInd_TM_Stat_Warning_Active (1) +#endif + +#ifndef TM_WarningInd_TM_Stat_No_Warning +#define TM_WarningInd_TM_Stat_No_Warning (0) +#endif + + +// Value tables for @TM_FuelLid_Stat signal + +#ifndef TM_FuelLid_Stat_TM_Stat_HV_lid_opened +#define TM_FuelLid_Stat_TM_Stat_HV_lid_opened (1) +#endif + +#ifndef TM_FuelLid_Stat_TM_Stat_Lid_closed +#define TM_FuelLid_Stat_TM_Stat_Lid_closed (0) +#endif + + +// Value tables for @TM_Kick_Req signal + +#ifndef TM_Kick_Req_TM_Stat_KickReqActive +#define TM_Kick_Req_TM_Stat_KickReqActive (1) +#endif + +#ifndef TM_Kick_Req_TM_Stat_No_Request +#define TM_Kick_Req_TM_Stat_No_Request (0) +#endif + + +// Value tables for @TM_Comm_Req signal + +#ifndef TM_Comm_Req_TM_Stat_WakeUp_Request +#define TM_Comm_Req_TM_Stat_WakeUp_Request (1) +#endif + +#ifndef TM_Comm_Req_TM_Stat_No_Request +#define TM_Comm_Req_TM_Stat_No_Request (0) +#endif + + +// Value tables for @TM_IntTrunkSW_Req signal + +#ifndef TM_IntTrunkSW_Req_TM_Stat_TrunkOpenReq +#define TM_IntTrunkSW_Req_TM_Stat_TrunkOpenReq (1) +#endif + +#ifndef TM_IntTrunkSW_Req_TM_Stat_No_Request +#define TM_IntTrunkSW_Req_TM_Stat_No_Request (0) +#endif + + +// Value tables for @TM_TrunkLatch_Stat signal + +#ifndef TM_TrunkLatch_Stat_TM_Stat_Open +#define TM_TrunkLatch_Stat_TM_Stat_Open (3) +#endif + +#ifndef TM_TrunkLatch_Stat_TM_Stat_Secondary_position +#define TM_TrunkLatch_Stat_TM_Stat_Secondary_position (2) +#endif + +#ifndef TM_TrunkLatch_Stat_TM_Stat_Primary_position +#define TM_TrunkLatch_Stat_TM_Stat_Primary_position (1) +#endif + +#ifndef TM_TrunkLatch_Stat_TM_Stat_Unknown +#define TM_TrunkLatch_Stat_TM_Stat_Unknown (0) +#endif + + +// Value tables for @TM_BrakeLightHM_Status signal + +#ifndef TM_BrakeLightHM_Status_TM_Stat_HighMount_brake_light_failure +#define TM_BrakeLightHM_Status_TM_Stat_HighMount_brake_light_failure (1) +#endif + +#ifndef TM_BrakeLightHM_Status_TM_Stat_No_failure +#define TM_BrakeLightHM_Status_TM_Stat_No_failure (0) +#endif + + +// Value tables for @TM_FuelLidOpen_Req signal + +#ifndef TM_FuelLidOpen_Req_TM_Stat_Fuel_lid_open_request +#define TM_FuelLidOpen_Req_TM_Stat_Fuel_lid_open_request (1) +#endif + +#ifndef TM_FuelLidOpen_Req_TM_Stat_No__request +#define TM_FuelLidOpen_Req_TM_Stat_No__request (0) +#endif + + +// Value tables for @TM_T30spec_Stat signal + +#ifndef TM_T30spec_Stat_TM_Stat_Terminal_on +#define TM_T30spec_Stat_TM_Stat_Terminal_on (1) +#endif + +#ifndef TM_T30spec_Stat_TM_Stat_Terminal_off +#define TM_T30spec_Stat_TM_Stat_Terminal_off (0) +#endif + + +// Value tables for @TM_LicensePlateLight_State signal + +#ifndef TM_LicensePlateLight_State_TM_Stat_License_Plate_Lamp_Failure +#define TM_LicensePlateLight_State_TM_Stat_License_Plate_Lamp_Failure (2) +#endif + +#ifndef TM_LicensePlateLight_State_TM_Stat_Lamps_Active +#define TM_LicensePlateLight_State_TM_Stat_Lamps_Active (1) +#endif + +#ifndef TM_LicensePlateLight_State_TM_Stat_Lamps_inactive +#define TM_LicensePlateLight_State_TM_Stat_Lamps_inactive (0) +#endif + + +// Value tables for @TM_CoolingBox_Stat signal + +#ifndef TM_CoolingBox_Stat_TM_Stat_Normal_9C +#define TM_CoolingBox_Stat_TM_Stat_Normal_9C (3) +#endif + +#ifndef TM_CoolingBox_Stat_TM_Stat_Soft_5C +#define TM_CoolingBox_Stat_TM_Stat_Soft_5C (2) +#endif + +#ifndef TM_CoolingBox_Stat_TM_Stat_Off +#define TM_CoolingBox_Stat_TM_Stat_Off (1) +#endif + +#ifndef TM_CoolingBox_Stat_TM_Stat_Reserved +#define TM_CoolingBox_Stat_TM_Stat_Reserved (0) +#endif + + +// Value tables for @TM_RearCushion_State signal + +#ifndef TM_RearCushion_State_TM_Stat_Stopped +#define TM_RearCushion_State_TM_Stat_Stopped (4) +#endif + +#ifndef TM_RearCushion_State_TM_Stat_Closing +#define TM_RearCushion_State_TM_Stat_Closing (3) +#endif + +#ifndef TM_RearCushion_State_TM_Stat_Opening +#define TM_RearCushion_State_TM_Stat_Opening (2) +#endif + +#ifndef TM_RearCushion_State_TM_Stat_Closed +#define TM_RearCushion_State_TM_Stat_Closed (1) +#endif + +#ifndef TM_RearCushion_State_TM_Stat_Open +#define TM_RearCushion_State_TM_Stat_Open (0) +#endif + + typedef struct { #ifdef CANDB_USE_BITS_SIGNAL @@ -493,6 +11872,94 @@ typedef struct // 0 : "Heating OFF" uint8_t TM_RearWindowHeating_Stat : 1; // Bits= 1 + // Trailer connect status signal + // Indicates wether the trailer is connected or not + // 1 : "Connected" + // 0 : "Not Connected" + uint8_t TM_TrailerConnect_Stat : 1; // Bits= 1 + + // State of interior trunk lid close an lock swich + // 1 : "Close&LockReq" + // 0 : "No_Request" + uint8_t TM_LockAndCloseSW_Req : 1; // Bits= 1 + + // Exterior switch on the trunk used to open the trunk: + // 0x0 = No Request + // 0x1 = Unlock request + // 1 : "TrunkOpenReq" + // 0 : "No_Request" + uint8_t TM_ExtTrunkSW_Req : 1; // Bits= 1 + + // Request a warning message to be displayed on IC: + // $0 = No Warning + // $1 = Warning requested + // 1 : "Warning_Active" + // 0 : "No_Warning" + uint8_t TM_WarningInd : 1; // Bits= 1 + + // Fuel lid open status + // 1 : "HV lid opened" + // 0 : "Lid closed" + uint8_t TM_FuelLid_Stat : 1; // Bits= 1 + + // Request to open or close trunk lid from kick sensor + // 1 : "KickReqActive" + // 0 : "No_Request" + uint8_t TM_Kick_Req : 1; // Bits= 1 + + // Request to initiate/ maintain communication activity from TM + // 1 : "WakeUp_Request" + // 0 : "No_Request" + uint8_t TM_Comm_Req : 1; // Bits= 1 + + // State of interior trunk lid close swich + // 1 : "TrunkOpenReq" + // 0 : "No_Request" + uint8_t TM_IntTrunkSW_Req : 1; // Bits= 1 + + // Indicates the trunk latch position + // 3 : "Open" + // 2 : "Secondary position" + // 1 : "Primary position" + // 0 : "Unknown" + uint8_t TM_TrunkLatch_Stat : 2; // Bits= 2 + + // Current status of brake lights + // 1 : "HighMount brake light failure" + // 0 : "No failure" + uint8_t TM_BrakeLightHM_Status : 1; // Bits= 1 + + // Fuel lid unlock request for PHEV vehicles + // 1 : "Fuel lid open request" + // 0 : "No request" + uint8_t TM_FuelLidOpen_Req : 1; // Bits= 1 + + // Terminal T30 from additional battery + // 1 : "Terminal on" + // 0 : "Terminal off" + uint8_t TM_T30spec_Stat : 1; // Bits= 1 + + // State of license plate lights + // 2 : "License Plate Lamp Failure" + // 1 : "Lamps Active" + // 0 : "Lamps inactive" + uint8_t TM_LicensePlateLight_State : 3; // Bits= 3 + + // Cooling box temperature status + // 3 : "Normal 9�C" + // 2 : "Soft 5�C" + // 1 : "Off" + // 0 : "Reserved" + uint8_t TM_CoolingBox_Stat : 2; // Bits= 2 Unit:'2' + + // The state of rear window cushion + // 4 : "Stopped" + // 3 : "Closing" + // 2 : "Opening" + // 1 : "Closed" + // 0 : "Open" + uint8_t TM_RearCushion_State : 3; // Bits= 3 + #else // State of rear window heating @@ -500,6 +11967,94 @@ typedef struct // 0 : "Heating OFF" uint8_t TM_RearWindowHeating_Stat; // Bits= 1 + // Trailer connect status signal + // Indicates wether the trailer is connected or not + // 1 : "Connected" + // 0 : "Not Connected" + uint8_t TM_TrailerConnect_Stat; // Bits= 1 + + // State of interior trunk lid close an lock swich + // 1 : "Close&LockReq" + // 0 : "No_Request" + uint8_t TM_LockAndCloseSW_Req; // Bits= 1 + + // Exterior switch on the trunk used to open the trunk: + // 0x0 = No Request + // 0x1 = Unlock request + // 1 : "TrunkOpenReq" + // 0 : "No_Request" + uint8_t TM_ExtTrunkSW_Req; // Bits= 1 + + // Request a warning message to be displayed on IC: + // $0 = No Warning + // $1 = Warning requested + // 1 : "Warning_Active" + // 0 : "No_Warning" + uint8_t TM_WarningInd; // Bits= 1 + + // Fuel lid open status + // 1 : "HV lid opened" + // 0 : "Lid closed" + uint8_t TM_FuelLid_Stat; // Bits= 1 + + // Request to open or close trunk lid from kick sensor + // 1 : "KickReqActive" + // 0 : "No_Request" + uint8_t TM_Kick_Req; // Bits= 1 + + // Request to initiate/ maintain communication activity from TM + // 1 : "WakeUp_Request" + // 0 : "No_Request" + uint8_t TM_Comm_Req; // Bits= 1 + + // State of interior trunk lid close swich + // 1 : "TrunkOpenReq" + // 0 : "No_Request" + uint8_t TM_IntTrunkSW_Req; // Bits= 1 + + // Indicates the trunk latch position + // 3 : "Open" + // 2 : "Secondary position" + // 1 : "Primary position" + // 0 : "Unknown" + uint8_t TM_TrunkLatch_Stat; // Bits= 2 + + // Current status of brake lights + // 1 : "HighMount brake light failure" + // 0 : "No failure" + uint8_t TM_BrakeLightHM_Status; // Bits= 1 + + // Fuel lid unlock request for PHEV vehicles + // 1 : "Fuel lid open request" + // 0 : "No request" + uint8_t TM_FuelLidOpen_Req; // Bits= 1 + + // Terminal T30 from additional battery + // 1 : "Terminal on" + // 0 : "Terminal off" + uint8_t TM_T30spec_Stat; // Bits= 1 + + // State of license plate lights + // 2 : "License Plate Lamp Failure" + // 1 : "Lamps Active" + // 0 : "Lamps inactive" + uint8_t TM_LicensePlateLight_State; // Bits= 3 + + // Cooling box temperature status + // 3 : "Normal 9�C" + // 2 : "Soft 5�C" + // 1 : "Off" + // 0 : "Reserved" + uint8_t TM_CoolingBox_Stat; // Bits= 2 Unit:'2' + + // The state of rear window cushion + // 4 : "Stopped" + // 3 : "Closing" + // 2 : "Opening" + // 1 : "Closed" + // 0 : "Open" + uint8_t TM_RearCushion_State; // Bits= 3 + #endif // CANDB_USE_BITS_SIGNAL #ifdef CANDB_USE_DIAG_MONITORS @@ -510,12 +12065,292 @@ typedef struct } TM_Stat_t; +// def @PTG_Body_Stat CAN Message (585 0x249) +#define PTG_Body_Stat_IDE (0U) +#define PTG_Body_Stat_DLC (1U) +#define PTG_Body_Stat_CANID (0x249U) +#define PTG_Body_Stat_CYC (50U) + +// Value tables for @PowerTailgateAntipinchSts signal + +#ifndef PowerTailgateAntipinchSts_PTG_Body_Stat_Pinch_Occured +#define PowerTailgateAntipinchSts_PTG_Body_Stat_Pinch_Occured (1) +#endif + +#ifndef PowerTailgateAntipinchSts_PTG_Body_Stat_Normal +#define PowerTailgateAntipinchSts_PTG_Body_Stat_Normal (0) +#endif + + +// Value tables for @PowerTailgateMotionStatus signal + +#ifndef PowerTailgateMotionStatus_PTG_Body_Stat_Closing +#define PowerTailgateMotionStatus_PTG_Body_Stat_Closing (2) +#endif + +#ifndef PowerTailgateMotionStatus_PTG_Body_Stat_Openning +#define PowerTailgateMotionStatus_PTG_Body_Stat_Openning (1) +#endif + +#ifndef PowerTailgateMotionStatus_PTG_Body_Stat_Stopped +#define PowerTailgateMotionStatus_PTG_Body_Stat_Stopped (0) +#endif + + +// Value tables for @PowerTailgateMemoryStored signal + +#ifndef PowerTailgateMemoryStored_PTG_Body_Stat_TRUE +#define PowerTailgateMemoryStored_PTG_Body_Stat_TRUE (1) +#endif + +#ifndef PowerTailgateMemoryStored_PTG_Body_Stat_FALSE +#define PowerTailgateMemoryStored_PTG_Body_Stat_FALSE (0) +#endif + + +// Value tables for @PowerTailgateStatus signal + +#ifndef PowerTailgateStatus_PTG_Body_Stat_Fully_Raised +#define PowerTailgateStatus_PTG_Body_Stat_Fully_Raised (4) +#endif + +#ifndef PowerTailgateStatus_PTG_Body_Stat_Memory_Position +#define PowerTailgateStatus_PTG_Body_Stat_Memory_Position (3) +#endif + +#ifndef PowerTailgateStatus_PTG_Body_Stat_Intermediate +#define PowerTailgateStatus_PTG_Body_Stat_Intermediate (2) +#endif + +#ifndef PowerTailgateStatus_PTG_Body_Stat_Fully_Lowered +#define PowerTailgateStatus_PTG_Body_Stat_Fully_Lowered (1) +#endif + +#ifndef PowerTailgateStatus_PTG_Body_Stat_Unknown +#define PowerTailgateStatus_PTG_Body_Stat_Unknown (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Indicates the tailgate antipinch status: + // $0 = Normal + // $1 = Pinch occured + // 1 : "Pinch Occured" + // 0 : "Normal" + uint8_t PowerTailgateAntipinchSts : 1; // Bits= 1 + + // Indicates the power tailgate motion status: + // $0 = Stopped + // $1 = Openning + // $2 = Closing + // 2 : "Closing" + // 1 : "Openning" + // 0 : "Stopped" + uint8_t PowerTailgateMotionStatus : 2; // Bits= 2 + + // Indicates whether the power tailgate position is stored in memory or not: + // $0 = False + // $1 = True + // 1 : "TRUE" + // 0 : "FALSE" + uint8_t PowerTailgateMemoryStored : 1; // Bits= 1 + + // Indicates the power tailgate position: + // $0 = Unknown + // $1 = Fully lowered + // $2 = Intermediate + // $3 = Memory position + // $4 = Fully raised + // 4 : "Fully Raised" + // 3 : "Memory Position" + // 2 : "Intermediate" + // 1 : "Fully Lowered" + // 0 : "Unknown" + uint8_t PowerTailgateStatus : 3; // Bits= 3 + +#else + + // Indicates the tailgate antipinch status: + // $0 = Normal + // $1 = Pinch occured + // 1 : "Pinch Occured" + // 0 : "Normal" + uint8_t PowerTailgateAntipinchSts; // Bits= 1 + + // Indicates the power tailgate motion status: + // $0 = Stopped + // $1 = Openning + // $2 = Closing + // 2 : "Closing" + // 1 : "Openning" + // 0 : "Stopped" + uint8_t PowerTailgateMotionStatus; // Bits= 2 + + // Indicates whether the power tailgate position is stored in memory or not: + // $0 = False + // $1 = True + // 1 : "TRUE" + // 0 : "FALSE" + uint8_t PowerTailgateMemoryStored; // Bits= 1 + + // Indicates the power tailgate position: + // $0 = Unknown + // $1 = Fully lowered + // $2 = Intermediate + // $3 = Memory position + // $4 = Fully raised + // 4 : "Fully Raised" + // 3 : "Memory Position" + // 2 : "Intermediate" + // 1 : "Fully Lowered" + // 0 : "Unknown" + uint8_t PowerTailgateStatus; // Bits= 3 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} PTG_Body_Stat_t; + // def @TM_CP CAN Message (588 0x24c) #define TM_CP_IDE (0U) #define TM_CP_DLC (8U) #define TM_CP_CANID (0x24cU) #define TM_CP_CYC (100U) +// Value tables for @CCPR_TVPowerSw_Stat signal + +#ifndef CCPR_TVPowerSw_Stat_TM_CP_Pressed +#define CCPR_TVPowerSw_Stat_TM_CP_Pressed (1) +#endif + +#ifndef CCPR_TVPowerSw_Stat_TM_CP_Not_pressed +#define CCPR_TVPowerSw_Stat_TM_CP_Not_pressed (0) +#endif + + +// Value tables for @CCPF_RWindowHeatSw_Stat signal + +#ifndef CCPF_RWindowHeatSw_Stat_TM_CP_Pressed +#define CCPF_RWindowHeatSw_Stat_TM_CP_Pressed (1) +#endif + +#ifndef CCPF_RWindowHeatSw_Stat_TM_CP_Not_pressed +#define CCPF_RWindowHeatSw_Stat_TM_CP_Not_pressed (0) +#endif + + +// Value tables for @CCPF_FWindowHeatSw_Stat signal + +#ifndef CCPF_FWindowHeatSw_Stat_TM_CP_Pressed +#define CCPF_FWindowHeatSw_Stat_TM_CP_Pressed (1) +#endif + +#ifndef CCPF_FWindowHeatSw_Stat_TM_CP_Not_pressed +#define CCPF_FWindowHeatSw_Stat_TM_CP_Not_pressed (0) +#endif + + +// Value tables for @CCPR_SrcChgSw_Stat signal + +#ifndef CCPR_SrcChgSw_Stat_TM_CP_Pressed +#define CCPR_SrcChgSw_Stat_TM_CP_Pressed (1) +#endif + +#ifndef CCPR_SrcChgSw_Stat_TM_CP_Not_pressed +#define CCPR_SrcChgSw_Stat_TM_CP_Not_pressed (0) +#endif + + +// Value tables for @CCPR_DWClaritySw_Stat signal + +#ifndef CCPR_DWClaritySw_Stat_TM_CP_Pressed +#define CCPR_DWClaritySw_Stat_TM_CP_Pressed (1) +#endif + +#ifndef CCPR_DWClaritySw_Stat_TM_CP_Not_pressed +#define CCPR_DWClaritySw_Stat_TM_CP_Not_pressed (0) +#endif + + +// Value tables for @CCPR_IntercomSw_Stat signal + +#ifndef CCPR_IntercomSw_Stat_TM_CP_Pressed +#define CCPR_IntercomSw_Stat_TM_CP_Pressed (1) +#endif + +#ifndef CCPR_IntercomSw_Stat_TM_CP_Not_pressed +#define CCPR_IntercomSw_Stat_TM_CP_Not_pressed (0) +#endif + + +// Value tables for @CCPR_DWCntrlSw_Stat signal + +#ifndef CCPR_DWCntrlSw_Stat_TM_CP_Pressed_right_button_DW_up +#define CCPR_DWCntrlSw_Stat_TM_CP_Pressed_right_button_DW_up (2) +#endif + +#ifndef CCPR_DWCntrlSw_Stat_TM_CP_Pressed_left_button_DW_down +#define CCPR_DWCntrlSw_Stat_TM_CP_Pressed_left_button_DW_down (1) +#endif + +#ifndef CCPR_DWCntrlSw_Stat_TM_CP_Not_pressed +#define CCPR_DWCntrlSw_Stat_TM_CP_Not_pressed (0) +#endif + + +// Value tables for @CCPF_MuteSw_Stat signal + +#ifndef CCPF_MuteSw_Stat_TM_CP_MMS_ONOFF_requested +#define CCPF_MuteSw_Stat_TM_CP_MMS_ONOFF_requested (2) +#endif + +#ifndef CCPF_MuteSw_Stat_TM_CP_Mute_ONOFF_requested +#define CCPF_MuteSw_Stat_TM_CP_Mute_ONOFF_requested (1) +#endif + +#ifndef CCPF_MuteSw_Stat_TM_CP_Not_requested +#define CCPF_MuteSw_Stat_TM_CP_Not_requested (0) +#endif + + +// Value tables for @CCPF_VolAjustSw_Stat signal + +#ifndef CCPF_VolAjustSw_Stat_TM_CP_Volume_ +#define CCPF_VolAjustSw_Stat_TM_CP_Volume_ (2) +#endif + +#ifndef CCPF_VolAjustSw_Stat_TM_CP_Volume_ +#define CCPF_VolAjustSw_Stat_TM_CP_Volume_ (1) +#endif + +#ifndef CCPF_VolAjustSw_Stat_TM_CP_Not_pressed +#define CCPF_VolAjustSw_Stat_TM_CP_Not_pressed (0) +#endif + + +// Value tables for @CCPR_PanoramicViewSw_Stat signal + +#ifndef CCPR_PanoramicViewSw_Stat_TM_CP_Long_pressed +#define CCPR_PanoramicViewSw_Stat_TM_CP_Long_pressed (2) +#endif + +#ifndef CCPR_PanoramicViewSw_Stat_TM_CP_Pressed +#define CCPR_PanoramicViewSw_Stat_TM_CP_Pressed (1) +#endif + +#ifndef CCPR_PanoramicViewSw_Stat_TM_CP_Not_pressed +#define CCPR_PanoramicViewSw_Stat_TM_CP_Not_pressed (0) +#endif + + // Value tables for @CCPF_AutoButtonR_Stat signal #ifndef CCPF_AutoButtonR_Stat_TM_CP_Button_hold_pressed @@ -713,10 +12548,90 @@ typedef struct #endif +// Value tables for @CCPR_TabletOffSw_Stat signal + +#ifndef CCPR_TabletOffSw_Stat_TM_CP_Mute_ONOFF_requested +#define CCPR_TabletOffSw_Stat_TM_CP_Mute_ONOFF_requested (1) +#endif + +#ifndef CCPR_TabletOffSw_Stat_TM_CP_Not_requested +#define CCPR_TabletOffSw_Stat_TM_CP_Not_requested (0) +#endif + +#ifndef CCPR_TabletOffSw_Stat_TM_CP_MMS_ONOFF_requested +#define CCPR_TabletOffSw_Stat_TM_CP_MMS_ONOFF_requested (2) +#endif + + +// Value tables for @CCPR_TabletExtractSw_Stat signal + +#ifndef CCPR_TabletExtractSw_Stat_TM_CP_Pressed +#define CCPR_TabletExtractSw_Stat_TM_CP_Pressed (1) +#endif + +#ifndef CCPR_TabletExtractSw_Stat_TM_CP_Not_pressed +#define CCPR_TabletExtractSw_Stat_TM_CP_Not_pressed (0) +#endif + + typedef struct { #ifdef CANDB_USE_BITS_SIGNAL + // TV power switch status + // 1 : "Pressed" + // 0 : "Not pressed" + uint8_t CCPR_TVPowerSw_Stat : 1; // Bits= 1 + + // Rear window heating switch status + // 1 : "Pressed" + // 0 : "Not pressed" + uint8_t CCPF_RWindowHeatSw_Stat : 1; // Bits= 1 + + // Button status of the heated windshield, front door windows and side mirrors + // 1 : "Pressed" + // 0 : "Not pressed" + uint8_t CCPF_FWindowHeatSw_Stat : 1; // Bits= 1 + + // Change TV source change switch status + // 1 : "Pressed" + // 0 : "Not pressed" + uint8_t CCPR_SrcChgSw_Stat : 1; // Bits= 1 + + // Patrition transparency switch status + // 1 : "Pressed" + // 0 : "Not pressed" + uint8_t CCPR_DWClaritySw_Stat : 1; // Bits= 1 + + // Intercom switch status + // 1 : "Pressed" + // 0 : "Not pressed" + uint8_t CCPR_IntercomSw_Stat : 1; // Bits= 1 + + // Patrition control switch status + // 2 : "Pressed right button (DW up)" + // 1 : "Pressed left button (DW down)" + // 0 : "Not pressed" + uint8_t CCPR_DWCntrlSw_Stat : 2; // Bits= 2 + + // Mute button status and display FIU + // 2 : "MMS ON/OFF requested" + // 1 : "Mute ON/OFF requested" + // 0 : "Not requested" + uint8_t CCPF_MuteSw_Stat : 2; // Bits= 2 + + // Volume ajustment switch status + // 2 : "Volume -" + // 1 : "Volume +" + // 0 : "Not pressed" + uint8_t CCPF_VolAjustSw_Stat : 2; // Bits= 2 + + // Panoramic view switch status + // 2 : "Long pressed" + // 1 : "Pressed" + // 0 : "Not pressed" + uint8_t CCPR_PanoramicViewSw_Stat : 2; // Bits= 2 + // Front climate panel right AUTO button status // 2 : "Button hold pressed" // 1 : "Button Pressed" @@ -791,8 +12706,76 @@ typedef struct // 0 : "Button released" uint8_t CCPF_AcMaxButton_Stat : 2; // Bits= 2 + // Tablet On/Off switch status. + // Short Press - Screen OFF request + // Long Press - Central Tablet OFF request + // 1 : "Mute ON/OFF requested" + // 0 : "Not requested" + // 2 : "MMS ON/OFF requested" + uint8_t CCPR_TabletOffSw_Stat : 2; // Bits= 2 + + // Tablet extraction switch status + // Center rear tablet removal signal + // 1 : "Pressed" + // 0 : "Not pressed" + uint8_t CCPR_TabletExtractSw_Stat : 1; // Bits= 1 + #else + // TV power switch status + // 1 : "Pressed" + // 0 : "Not pressed" + uint8_t CCPR_TVPowerSw_Stat; // Bits= 1 + + // Rear window heating switch status + // 1 : "Pressed" + // 0 : "Not pressed" + uint8_t CCPF_RWindowHeatSw_Stat; // Bits= 1 + + // Button status of the heated windshield, front door windows and side mirrors + // 1 : "Pressed" + // 0 : "Not pressed" + uint8_t CCPF_FWindowHeatSw_Stat; // Bits= 1 + + // Change TV source change switch status + // 1 : "Pressed" + // 0 : "Not pressed" + uint8_t CCPR_SrcChgSw_Stat; // Bits= 1 + + // Patrition transparency switch status + // 1 : "Pressed" + // 0 : "Not pressed" + uint8_t CCPR_DWClaritySw_Stat; // Bits= 1 + + // Intercom switch status + // 1 : "Pressed" + // 0 : "Not pressed" + uint8_t CCPR_IntercomSw_Stat; // Bits= 1 + + // Patrition control switch status + // 2 : "Pressed right button (DW up)" + // 1 : "Pressed left button (DW down)" + // 0 : "Not pressed" + uint8_t CCPR_DWCntrlSw_Stat; // Bits= 2 + + // Mute button status and display FIU + // 2 : "MMS ON/OFF requested" + // 1 : "Mute ON/OFF requested" + // 0 : "Not requested" + uint8_t CCPF_MuteSw_Stat; // Bits= 2 + + // Volume ajustment switch status + // 2 : "Volume -" + // 1 : "Volume +" + // 0 : "Not pressed" + uint8_t CCPF_VolAjustSw_Stat; // Bits= 2 + + // Panoramic view switch status + // 2 : "Long pressed" + // 1 : "Pressed" + // 0 : "Not pressed" + uint8_t CCPR_PanoramicViewSw_Stat; // Bits= 2 + // Front climate panel right AUTO button status // 2 : "Button hold pressed" // 1 : "Button Pressed" @@ -867,6 +12850,20 @@ typedef struct // 0 : "Button released" uint8_t CCPF_AcMaxButton_Stat; // Bits= 2 + // Tablet On/Off switch status. + // Short Press - Screen OFF request + // Long Press - Central Tablet OFF request + // 1 : "Mute ON/OFF requested" + // 0 : "Not requested" + // 2 : "MMS ON/OFF requested" + uint8_t CCPR_TabletOffSw_Stat; // Bits= 2 + + // Tablet extraction switch status + // Center rear tablet removal signal + // 1 : "Pressed" + // 0 : "Not pressed" + uint8_t CCPR_TabletExtractSw_Stat; // Bits= 1 + #endif // CANDB_USE_BITS_SIGNAL #ifdef CANDB_USE_DIAG_MONITORS @@ -877,6 +12874,1151 @@ typedef struct } TM_CP_t; +// def @VAU2_Msg2 CAN Message (591 0x24f) +#define VAU2_Msg2_IDE (0U) +#define VAU2_Msg2_DLC (5U) +#define VAU2_Msg2_CANID (0x24fU) +#define VAU2_Msg2_CYC (100U) + +// Value tables for @VAU_WarningInd signal + +#ifndef VAU_WarningInd_VAU2_Msg2_VAU_SystemFailure +#define VAU_WarningInd_VAU2_Msg2_VAU_SystemFailure (1) +#endif + +#ifndef VAU_WarningInd_VAU2_Msg2_No_Warning +#define VAU_WarningInd_VAU2_Msg2_No_Warning (0) +#endif + + +// Value tables for @VAU_ExteriorKeyFobSwReq signal + +#ifndef VAU_ExteriorKeyFobSwReq_VAU2_Msg2_Remote_Start_Pressed_Long +#define VAU_ExteriorKeyFobSwReq_VAU2_Msg2_Remote_Start_Pressed_Long (8) +#endif + +#ifndef VAU_ExteriorKeyFobSwReq_VAU2_Msg2_Reserved +#define VAU_ExteriorKeyFobSwReq_VAU2_Msg2_Reserved (7) +#endif + +#ifndef VAU_ExteriorKeyFobSwReq_VAU2_Msg2_Unlock_Pressed_Long +#define VAU_ExteriorKeyFobSwReq_VAU2_Msg2_Unlock_Pressed_Long (6) +#endif + +#ifndef VAU_ExteriorKeyFobSwReq_VAU2_Msg2_Unlock_Pressed +#define VAU_ExteriorKeyFobSwReq_VAU2_Msg2_Unlock_Pressed (5) +#endif + +#ifndef VAU_ExteriorKeyFobSwReq_VAU2_Msg2_Trunk_Pressed_Long +#define VAU_ExteriorKeyFobSwReq_VAU2_Msg2_Trunk_Pressed_Long (4) +#endif + +#ifndef VAU_ExteriorKeyFobSwReq_VAU2_Msg2_Reserved +#define VAU_ExteriorKeyFobSwReq_VAU2_Msg2_Reserved (3) +#endif + +#ifndef VAU_ExteriorKeyFobSwReq_VAU2_Msg2_Lock_Pressed_Long +#define VAU_ExteriorKeyFobSwReq_VAU2_Msg2_Lock_Pressed_Long (2) +#endif + +#ifndef VAU_ExteriorKeyFobSwReq_VAU2_Msg2_Lock_Pressed +#define VAU_ExteriorKeyFobSwReq_VAU2_Msg2_Lock_Pressed (1) +#endif + +#ifndef VAU_ExteriorKeyFobSwReq_VAU2_Msg2_No_Request +#define VAU_ExteriorKeyFobSwReq_VAU2_Msg2_No_Request (0) +#endif + + +// Value tables for @VAU_DeviceAreaDetecting signal + +#ifndef VAU_DeviceAreaDetecting_VAU2_Msg2_Smartphone_in_Vehicle_area +#define VAU_DeviceAreaDetecting_VAU2_Msg2_Smartphone_in_Vehicle_area (4) +#endif + +#ifndef VAU_DeviceAreaDetecting_VAU2_Msg2_Smartphone_in_Welcome_area +#define VAU_DeviceAreaDetecting_VAU2_Msg2_Smartphone_in_Welcome_area (3) +#endif + +#ifndef VAU_DeviceAreaDetecting_VAU2_Msg2_Key_fob_in_Vehicle_area +#define VAU_DeviceAreaDetecting_VAU2_Msg2_Key_fob_in_Vehicle_area (2) +#endif + +#ifndef VAU_DeviceAreaDetecting_VAU2_Msg2_Key_fob_in_Welcome_area +#define VAU_DeviceAreaDetecting_VAU2_Msg2_Key_fob_in_Welcome_area (1) +#endif + +#ifndef VAU_DeviceAreaDetecting_VAU2_Msg2_No_Device_Detected +#define VAU_DeviceAreaDetecting_VAU2_Msg2_No_Device_Detected (0) +#endif + + +// Value tables for @VAU_KeyBattLowCharge signal + +#ifndef VAU_KeyBattLowCharge_VAU2_Msg2_LowBatteryVoltage_Primary_key_fob +#define VAU_KeyBattLowCharge_VAU2_Msg2_LowBatteryVoltage_Primary_key_fob (1) +#endif + +#ifndef VAU_KeyBattLowCharge_VAU2_Msg2_No_Warning +#define VAU_KeyBattLowCharge_VAU2_Msg2_No_Warning (0) +#endif + + +// Value tables for @VAU_WelcomeLights_Req signal + +#ifndef VAU_WelcomeLights_Req_VAU2_Msg2_WelcomeLights_Req +#define VAU_WelcomeLights_Req_VAU2_Msg2_WelcomeLights_Req (1) +#endif + +#ifndef VAU_WelcomeLights_Req_VAU2_Msg2_No_Request +#define VAU_WelcomeLights_Req_VAU2_Msg2_No_Request (0) +#endif + + +// Value tables for @VAU_ApproachLock_Req signal + +#ifndef VAU_ApproachLock_Req_VAU2_Msg2_Reserved +#define VAU_ApproachLock_Req_VAU2_Msg2_Reserved (3) +#endif + +#ifndef VAU_ApproachLock_Req_VAU2_Msg2_VehilcleApproachUnlock_Req +#define VAU_ApproachLock_Req_VAU2_Msg2_VehilcleApproachUnlock_Req (2) +#endif + +#ifndef VAU_ApproachLock_Req_VAU2_Msg2_LeavingVehilceLock_Req +#define VAU_ApproachLock_Req_VAU2_Msg2_LeavingVehilceLock_Req (1) +#endif + +#ifndef VAU_ApproachLock_Req_VAU2_Msg2_No_Request +#define VAU_ApproachLock_Req_VAU2_Msg2_No_Request (0) +#endif + + +// Value tables for @VAU_Router_DevicePairing signal + +#ifndef VAU_Router_DevicePairing_VAU2_Msg2_Deleting_Unsuccess +#define VAU_Router_DevicePairing_VAU2_Msg2_Deleting_Unsuccess (10) +#endif + +#ifndef VAU_Router_DevicePairing_VAU2_Msg2_Deleting_Success +#define VAU_Router_DevicePairing_VAU2_Msg2_Deleting_Success (9) +#endif + +#ifndef VAU_Router_DevicePairing_VAU2_Msg2_Deleting_Inprogress +#define VAU_Router_DevicePairing_VAU2_Msg2_Deleting_Inprogress (8) +#endif + +#ifndef VAU_Router_DevicePairing_VAU2_Msg2_Pairing_Unsuccess +#define VAU_Router_DevicePairing_VAU2_Msg2_Pairing_Unsuccess (7) +#endif + +#ifndef VAU_Router_DevicePairing_VAU2_Msg2_No_Device_Detected +#define VAU_Router_DevicePairing_VAU2_Msg2_No_Device_Detected (6) +#endif + +#ifndef VAU_Router_DevicePairing_VAU2_Msg2_Key_Fob_not_in_Immo_antenna +#define VAU_Router_DevicePairing_VAU2_Msg2_Key_Fob_not_in_Immo_antenna (5) +#endif + +#ifndef VAU_Router_DevicePairing_VAU2_Msg2_Pairing_Success +#define VAU_Router_DevicePairing_VAU2_Msg2_Pairing_Success (4) +#endif + +#ifndef VAU_Router_DevicePairing_VAU2_Msg2_Pairing_Inprogress +#define VAU_Router_DevicePairing_VAU2_Msg2_Pairing_Inprogress (3) +#endif + +#ifndef VAU_Router_DevicePairing_VAU2_Msg2_BLE_DeviceDetect +#define VAU_Router_DevicePairing_VAU2_Msg2_BLE_DeviceDetect (2) +#endif + +#ifndef VAU_Router_DevicePairing_VAU2_Msg2_NFC_DeviceDetect +#define VAU_Router_DevicePairing_VAU2_Msg2_NFC_DeviceDetect (1) +#endif + +#ifndef VAU_Router_DevicePairing_VAU2_Msg2_No_Request +#define VAU_Router_DevicePairing_VAU2_Msg2_No_Request (0) +#endif + + +// Value tables for @VAU_WChF_Req signal + +#ifndef VAU_WChF_Req_VAU2_Msg2_WChF_ON_Request +#define VAU_WChF_Req_VAU2_Msg2_WChF_ON_Request (1) +#endif + +#ifndef VAU_WChF_Req_VAU2_Msg2_WChF_OFF_Request +#define VAU_WChF_Req_VAU2_Msg2_WChF_OFF_Request (0) +#endif + + +// Value tables for @VAU_BLE_FL_Door_Req signal + +#ifndef VAU_BLE_FL_Door_Req_VAU2_Msg2_Close_Door_request +#define VAU_BLE_FL_Door_Req_VAU2_Msg2_Close_Door_request (2) +#endif + +#ifndef VAU_BLE_FL_Door_Req_VAU2_Msg2_Open_Door_request +#define VAU_BLE_FL_Door_Req_VAU2_Msg2_Open_Door_request (1) +#endif + +#ifndef VAU_BLE_FL_Door_Req_VAU2_Msg2_No_request +#define VAU_BLE_FL_Door_Req_VAU2_Msg2_No_request (0) +#endif + + +// Value tables for @VAU_BLE_FR_Door_Req signal + +#ifndef VAU_BLE_FR_Door_Req_VAU2_Msg2_Close_Door_request +#define VAU_BLE_FR_Door_Req_VAU2_Msg2_Close_Door_request (2) +#endif + +#ifndef VAU_BLE_FR_Door_Req_VAU2_Msg2_Open_Door_request +#define VAU_BLE_FR_Door_Req_VAU2_Msg2_Open_Door_request (1) +#endif + +#ifndef VAU_BLE_FR_Door_Req_VAU2_Msg2_No_request +#define VAU_BLE_FR_Door_Req_VAU2_Msg2_No_request (0) +#endif + + +// Value tables for @VAU_BLE_RL_Door_Req signal + +#ifndef VAU_BLE_RL_Door_Req_VAU2_Msg2_Close_Door_request +#define VAU_BLE_RL_Door_Req_VAU2_Msg2_Close_Door_request (2) +#endif + +#ifndef VAU_BLE_RL_Door_Req_VAU2_Msg2_Open_Door_request +#define VAU_BLE_RL_Door_Req_VAU2_Msg2_Open_Door_request (1) +#endif + +#ifndef VAU_BLE_RL_Door_Req_VAU2_Msg2_No_request +#define VAU_BLE_RL_Door_Req_VAU2_Msg2_No_request (0) +#endif + + +// Value tables for @VAU_RS_Req signal + +#ifndef VAU_RS_Req_VAU2_Msg2_Remote_Start_Request +#define VAU_RS_Req_VAU2_Msg2_Remote_Start_Request (1) +#endif + +#ifndef VAU_RS_Req_VAU2_Msg2_No_Request +#define VAU_RS_Req_VAU2_Msg2_No_Request (0) +#endif + + +// Value tables for @VAU_BLE_RR_Door_Req signal + +#ifndef VAU_BLE_RR_Door_Req_VAU2_Msg2_Close_Door_request +#define VAU_BLE_RR_Door_Req_VAU2_Msg2_Close_Door_request (2) +#endif + +#ifndef VAU_BLE_RR_Door_Req_VAU2_Msg2_Open_Door_request +#define VAU_BLE_RR_Door_Req_VAU2_Msg2_Open_Door_request (1) +#endif + +#ifndef VAU_BLE_RR_Door_Req_VAU2_Msg2_No_request +#define VAU_BLE_RR_Door_Req_VAU2_Msg2_No_request (0) +#endif + + +// Value tables for @VAU_BLE_CloseWndw_Req signal + +#ifndef VAU_BLE_CloseWndw_Req_VAU2_Msg2_Close_all_windows_request +#define VAU_BLE_CloseWndw_Req_VAU2_Msg2_Close_all_windows_request (2) +#endif + +#ifndef VAU_BLE_CloseWndw_Req_VAU2_Msg2_Open_all_windows_request +#define VAU_BLE_CloseWndw_Req_VAU2_Msg2_Open_all_windows_request (1) +#endif + +#ifndef VAU_BLE_CloseWndw_Req_VAU2_Msg2_No_request +#define VAU_BLE_CloseWndw_Req_VAU2_Msg2_No_request (0) +#endif + + +// Value tables for @VAU_BLE_TrunkOpn_Req signal + +#ifndef VAU_BLE_TrunkOpn_Req_VAU2_Msg2_Close_Trunk_Lid_request +#define VAU_BLE_TrunkOpn_Req_VAU2_Msg2_Close_Trunk_Lid_request (2) +#endif + +#ifndef VAU_BLE_TrunkOpn_Req_VAU2_Msg2_Open_Trunk_Lid_request +#define VAU_BLE_TrunkOpn_Req_VAU2_Msg2_Open_Trunk_Lid_request (1) +#endif + +#ifndef VAU_BLE_TrunkOpn_Req_VAU2_Msg2_No_request +#define VAU_BLE_TrunkOpn_Req_VAU2_Msg2_No_request (0) +#endif + + +// Value tables for @VAU_BLE_Lock_Req signal + +#ifndef VAU_BLE_Lock_Req_VAU2_Msg2_Lock_Request +#define VAU_BLE_Lock_Req_VAU2_Msg2_Lock_Request (2) +#endif + +#ifndef VAU_BLE_Lock_Req_VAU2_Msg2_Unlock_Request +#define VAU_BLE_Lock_Req_VAU2_Msg2_Unlock_Request (1) +#endif + +#ifndef VAU_BLE_Lock_Req_VAU2_Msg2_No_Request +#define VAU_BLE_Lock_Req_VAU2_Msg2_No_Request (0) +#endif + + +// Value tables for @VAU_BLE_RS_Req signal + +#ifndef VAU_BLE_RS_Req_VAU2_Msg2_Remote_Start_request +#define VAU_BLE_RS_Req_VAU2_Msg2_Remote_Start_request (1) +#endif + +#ifndef VAU_BLE_RS_Req_VAU2_Msg2_No_Request +#define VAU_BLE_RS_Req_VAU2_Msg2_No_Request (0) +#endif + + +// Value tables for @VAU_Device_ID signal + +#ifndef VAU_Device_ID_VAU2_Msg2_Key_fob_ID_0xF +#define VAU_Device_ID_VAU2_Msg2_Key_fob_ID_0xF (15) +#endif + +#ifndef VAU_Device_ID_VAU2_Msg2_Key_fob_ID_0xE +#define VAU_Device_ID_VAU2_Msg2_Key_fob_ID_0xE (14) +#endif + +#ifndef VAU_Device_ID_VAU2_Msg2_Key_fob_ID_0xD +#define VAU_Device_ID_VAU2_Msg2_Key_fob_ID_0xD (13) +#endif + +#ifndef VAU_Device_ID_VAU2_Msg2_Key_fob_ID_0xC +#define VAU_Device_ID_VAU2_Msg2_Key_fob_ID_0xC (12) +#endif + +#ifndef VAU_Device_ID_VAU2_Msg2_Key_fob_ID_0xB +#define VAU_Device_ID_VAU2_Msg2_Key_fob_ID_0xB (11) +#endif + +#ifndef VAU_Device_ID_VAU2_Msg2_Key_fob_ID_0xA +#define VAU_Device_ID_VAU2_Msg2_Key_fob_ID_0xA (10) +#endif + +#ifndef VAU_Device_ID_VAU2_Msg2_Key_fob_ID_0x9 +#define VAU_Device_ID_VAU2_Msg2_Key_fob_ID_0x9 (9) +#endif + +#ifndef VAU_Device_ID_VAU2_Msg2_Key_fob_ID_0x8 +#define VAU_Device_ID_VAU2_Msg2_Key_fob_ID_0x8 (8) +#endif + +#ifndef VAU_Device_ID_VAU2_Msg2_Key_fob_ID_0x7 +#define VAU_Device_ID_VAU2_Msg2_Key_fob_ID_0x7 (7) +#endif + +#ifndef VAU_Device_ID_VAU2_Msg2_Key_fob_ID_0x6 +#define VAU_Device_ID_VAU2_Msg2_Key_fob_ID_0x6 (6) +#endif + +#ifndef VAU_Device_ID_VAU2_Msg2_Key_fob_ID_0x5 +#define VAU_Device_ID_VAU2_Msg2_Key_fob_ID_0x5 (5) +#endif + +#ifndef VAU_Device_ID_VAU2_Msg2_Key_fob_ID_0x4 +#define VAU_Device_ID_VAU2_Msg2_Key_fob_ID_0x4 (4) +#endif + +#ifndef VAU_Device_ID_VAU2_Msg2_Key_fob_ID_0x3 +#define VAU_Device_ID_VAU2_Msg2_Key_fob_ID_0x3 (3) +#endif + +#ifndef VAU_Device_ID_VAU2_Msg2_Key_fob_ID_0x2 +#define VAU_Device_ID_VAU2_Msg2_Key_fob_ID_0x2 (2) +#endif + +#ifndef VAU_Device_ID_VAU2_Msg2_Key_fob_ID_0x1 +#define VAU_Device_ID_VAU2_Msg2_Key_fob_ID_0x1 (1) +#endif + +#ifndef VAU_Device_ID_VAU2_Msg2_No_key_fob_detected +#define VAU_Device_ID_VAU2_Msg2_No_key_fob_detected (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Status of presence of errors of electrical equipment of access system + // 1 : "VAU_SystemFailure" + // 0 : "No_Warning" + uint8_t VAU_WarningInd : 1; // Bits= 1 + + // Request to lock/unlock from the key fob + // 8 : "Remote_Start_Pressed_Long" + // 7 : "Reserved" + // 6 : "Unlock_Pressed_Long" + // 5 : "Unlock_Pressed" + // 4 : "Trunk_Pressed Long" + // 3 : "Reserved" + // 2 : "Lock_Pressed_Long" + // 1 : "Lock_Pressed" + // 0 : "No_Request" + uint8_t VAU_ExteriorKeyFobSwReq : 4; // Bits= 4 + + // The zone in which the key fob was detected + // 4 : "Smartphone in ''Vehicle area''" + // 3 : "Smartphone in ''Welcome area''" + // 2 : "Key fob in ''Vehicle area''" + // 1 : "Key fob in ''Welcome area''" + // 0 : "No_Device_Detected" + uint8_t VAU_DeviceAreaDetecting : 3; // Bits= 3 + + // Indicates the key Fob battery is discharged: + // $0 = Normal Battery Charge + // $1 = Low Battery Charge + // 1 : "LowBatteryVoltage_Primary key fob" + // 0 : "No_Warning" + uint8_t VAU_KeyBattLowCharge : 1; // Bits= 1 + + // Request to activate the welcoming light when approaching the car + // 1 : "WelcomeLights_Req" + // 0 : "No_Request" + uint8_t VAU_WelcomeLights_Req : 1; // Bits= 1 + + // Request to block the car when moving away from the car with the key + // 3 : "Reserved" + // 2 : "VehilcleApproachUnlock_Req" + // 1 : "LeavingVehilceLock_Req" + // 0 : "No_Request" + uint8_t VAU_ApproachLock_Req : 2; // Bits= 2 + + // Status of execution a pairig procedure Smartphone with VAU + // 10 : "Deleting_Unsuccess" + // 9 : "Deleting_Success" + // 8 : "Deleting_Inprogress" + // 7 : "Pairing_Unsuccess" + // 6 : "No_Device_Detected" + // 5 : "Key Fob not in Immo antenna" + // 4 : "Pairing_Success" + // 3 : "Pairing_Inprogress" + // 2 : "BLE_DeviceDetect" + // 1 : "NFC_DeviceDetect" + // 0 : "No_Request" + uint8_t VAU_Router_DevicePairing : 4; // Bits= 4 + + // Permission to operate wireless charging + // 1 : "WChF ON Request" + // 0 : "WChF OFF Request" + uint8_t VAU_WChF_Req : 1; // Bits= 1 + + // Request to control the movement of the FL door via the app via BLE channel. + // 2 : "Close Door request" + // 1 : "Open Door request" + // 0 : "No request" + uint8_t VAU_BLE_FL_Door_Req : 2; // Bits= 2 + + // Request to control the movement of the FR door via the app via BLE channel. + // 2 : "Close Door request" + // 1 : "Open Door request" + // 0 : "No request" + uint8_t VAU_BLE_FR_Door_Req : 2; // Bits= 2 + + // Request to control the movement of the RL door via the app via BLE channel. + // 2 : "Close Door request" + // 1 : "Open Door request" + // 0 : "No request" + uint8_t VAU_BLE_RL_Door_Req : 2; // Bits= 2 + + // The Authorizated request for Remote Start, which recieved via SDM (User request via smartphone) + // 1 : "Remote Start_Request" + // 0 : "No_Request" + uint8_t VAU_RS_Req : 1; // Bits= 1 + + // Request to control the movement of the RR door via the app via BLE channel. + // 2 : "Close Door request" + // 1 : "Open Door request" + // 0 : "No request" + uint8_t VAU_BLE_RR_Door_Req : 2; // Bits= 2 + + // Request to close all windows via the application via BLE channel. + // 2 : "Close all windows request" + // 1 : "Open all windows request" + // 0 : "No request" + uint8_t VAU_BLE_CloseWndw_Req : 2; // Bits= 2 + + // Request to control the movement of the trunk lid via the application via BLE channel. + // 2 : "Close Trunk Lid request" + // 1 : "Open Trunk Lid request" + // 0 : "No request" + uint8_t VAU_BLE_TrunkOpn_Req : 2; // Bits= 2 + + // Requests to unlock or lock te vehicle via aplication by BLE + // 2 : "Lock Request" + // 1 : "Unlock Request" + // 0 : "No Request" + uint8_t VAU_BLE_Lock_Req : 2; // Bits= 2 + + // Request for remote car start via application via BLE channel. + // 1 : "Remote Start request" + // 0 : "No Request" + uint8_t VAU_BLE_RS_Req : 1; // Bits= 1 + + // The ID of the key that was detected in the vehicle area + // 15 : "Key fob ID 0xF" + // 14 : "Key fob ID 0xE" + // 13 : "Key fob ID 0xD" + // 12 : "Key fob ID 0xC" + // 11 : "Key fob ID 0xB" + // 10 : "Key fob ID 0xA" + // 9 : "Key fob ID 0x9" + // 8 : "Key fob ID 0x8" + // 7 : "Key fob ID 0x7" + // 6 : "Key fob ID 0x6" + // 5 : "Key fob ID 0x5" + // 4 : "Key fob ID 0x4" + // 3 : "Key fob ID 0x3" + // 2 : "Key fob ID 0x2" + // 1 : "Key fob ID 0x1" + // 0 : "No key fob detected" + uint8_t VAU_Device_ID : 4; // Bits= 4 + +#else + + // Status of presence of errors of electrical equipment of access system + // 1 : "VAU_SystemFailure" + // 0 : "No_Warning" + uint8_t VAU_WarningInd; // Bits= 1 + + // Request to lock/unlock from the key fob + // 8 : "Remote_Start_Pressed_Long" + // 7 : "Reserved" + // 6 : "Unlock_Pressed_Long" + // 5 : "Unlock_Pressed" + // 4 : "Trunk_Pressed Long" + // 3 : "Reserved" + // 2 : "Lock_Pressed_Long" + // 1 : "Lock_Pressed" + // 0 : "No_Request" + uint8_t VAU_ExteriorKeyFobSwReq; // Bits= 4 + + // The zone in which the key fob was detected + // 4 : "Smartphone in ''Vehicle area''" + // 3 : "Smartphone in ''Welcome area''" + // 2 : "Key fob in ''Vehicle area''" + // 1 : "Key fob in ''Welcome area''" + // 0 : "No_Device_Detected" + uint8_t VAU_DeviceAreaDetecting; // Bits= 3 + + // Indicates the key Fob battery is discharged: + // $0 = Normal Battery Charge + // $1 = Low Battery Charge + // 1 : "LowBatteryVoltage_Primary key fob" + // 0 : "No_Warning" + uint8_t VAU_KeyBattLowCharge; // Bits= 1 + + // Request to activate the welcoming light when approaching the car + // 1 : "WelcomeLights_Req" + // 0 : "No_Request" + uint8_t VAU_WelcomeLights_Req; // Bits= 1 + + // Request to block the car when moving away from the car with the key + // 3 : "Reserved" + // 2 : "VehilcleApproachUnlock_Req" + // 1 : "LeavingVehilceLock_Req" + // 0 : "No_Request" + uint8_t VAU_ApproachLock_Req; // Bits= 2 + + // Status of execution a pairig procedure Smartphone with VAU + // 10 : "Deleting_Unsuccess" + // 9 : "Deleting_Success" + // 8 : "Deleting_Inprogress" + // 7 : "Pairing_Unsuccess" + // 6 : "No_Device_Detected" + // 5 : "Key Fob not in Immo antenna" + // 4 : "Pairing_Success" + // 3 : "Pairing_Inprogress" + // 2 : "BLE_DeviceDetect" + // 1 : "NFC_DeviceDetect" + // 0 : "No_Request" + uint8_t VAU_Router_DevicePairing; // Bits= 4 + + // Permission to operate wireless charging + // 1 : "WChF ON Request" + // 0 : "WChF OFF Request" + uint8_t VAU_WChF_Req; // Bits= 1 + + // Request to control the movement of the FL door via the app via BLE channel. + // 2 : "Close Door request" + // 1 : "Open Door request" + // 0 : "No request" + uint8_t VAU_BLE_FL_Door_Req; // Bits= 2 + + // Request to control the movement of the FR door via the app via BLE channel. + // 2 : "Close Door request" + // 1 : "Open Door request" + // 0 : "No request" + uint8_t VAU_BLE_FR_Door_Req; // Bits= 2 + + // Request to control the movement of the RL door via the app via BLE channel. + // 2 : "Close Door request" + // 1 : "Open Door request" + // 0 : "No request" + uint8_t VAU_BLE_RL_Door_Req; // Bits= 2 + + // The Authorizated request for Remote Start, which recieved via SDM (User request via smartphone) + // 1 : "Remote Start_Request" + // 0 : "No_Request" + uint8_t VAU_RS_Req; // Bits= 1 + + // Request to control the movement of the RR door via the app via BLE channel. + // 2 : "Close Door request" + // 1 : "Open Door request" + // 0 : "No request" + uint8_t VAU_BLE_RR_Door_Req; // Bits= 2 + + // Request to close all windows via the application via BLE channel. + // 2 : "Close all windows request" + // 1 : "Open all windows request" + // 0 : "No request" + uint8_t VAU_BLE_CloseWndw_Req; // Bits= 2 + + // Request to control the movement of the trunk lid via the application via BLE channel. + // 2 : "Close Trunk Lid request" + // 1 : "Open Trunk Lid request" + // 0 : "No request" + uint8_t VAU_BLE_TrunkOpn_Req; // Bits= 2 + + // Requests to unlock or lock te vehicle via aplication by BLE + // 2 : "Lock Request" + // 1 : "Unlock Request" + // 0 : "No Request" + uint8_t VAU_BLE_Lock_Req; // Bits= 2 + + // Request for remote car start via application via BLE channel. + // 1 : "Remote Start request" + // 0 : "No Request" + uint8_t VAU_BLE_RS_Req; // Bits= 1 + + // The ID of the key that was detected in the vehicle area + // 15 : "Key fob ID 0xF" + // 14 : "Key fob ID 0xE" + // 13 : "Key fob ID 0xD" + // 12 : "Key fob ID 0xC" + // 11 : "Key fob ID 0xB" + // 10 : "Key fob ID 0xA" + // 9 : "Key fob ID 0x9" + // 8 : "Key fob ID 0x8" + // 7 : "Key fob ID 0x7" + // 6 : "Key fob ID 0x6" + // 5 : "Key fob ID 0x5" + // 4 : "Key fob ID 0x4" + // 3 : "Key fob ID 0x3" + // 2 : "Key fob ID 0x2" + // 1 : "Key fob ID 0x1" + // 0 : "No key fob detected" + uint8_t VAU_Device_ID; // Bits= 4 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} VAU2_Msg2_t; + +// def @BCM_DMS_01 CAN Message (593 0x251) +#define BCM_DMS_01_IDE (0U) +#define BCM_DMS_01_DLC (3U) +#define BCM_DMS_01_CANID (0x251U) +#define BCM_DMS_01_CYC (100U) + +// Value tables for @DrivingMode_Sig signal + +#ifndef DrivingMode_Sig_BCM_DMS_01_Signal_failure +#define DrivingMode_Sig_BCM_DMS_01_Signal_failure (4) +#endif + +#ifndef DrivingMode_Sig_BCM_DMS_01_All_Road_mode +#define DrivingMode_Sig_BCM_DMS_01_All_Road_mode (3) +#endif + +#ifndef DrivingMode_Sig_BCM_DMS_01_Comfort_mode +#define DrivingMode_Sig_BCM_DMS_01_Comfort_mode (2) +#endif + +#ifndef DrivingMode_Sig_BCM_DMS_01_Sport_mode +#define DrivingMode_Sig_BCM_DMS_01_Sport_mode (1) +#endif + +#ifndef DrivingMode_Sig_BCM_DMS_01_Auto_mode +#define DrivingMode_Sig_BCM_DMS_01_Auto_mode (0) +#endif + + +// Value tables for @DMS_HDC_Req signal + +#ifndef DMS_HDC_Req_BCM_DMS_01_Request +#define DMS_HDC_Req_BCM_DMS_01_Request (1) +#endif + +#ifndef DMS_HDC_Req_BCM_DMS_01_No_Request +#define DMS_HDC_Req_BCM_DMS_01_No_Request (0) +#endif + + +// Value tables for @UpwardPosReq signal + +#ifndef UpwardPosReq_BCM_DMS_01_Upper_suspension_position_request_ +#define UpwardPosReq_BCM_DMS_01_Upper_suspension_position_request_ (1) +#endif + +#ifndef UpwardPosReq_BCM_DMS_01_No_request +#define UpwardPosReq_BCM_DMS_01_No_request (0) +#endif + + +// Value tables for @DownwardPosReq signal + +#ifndef DownwardPosReq_BCM_DMS_01_Lower_suspension_position_request +#define DownwardPosReq_BCM_DMS_01_Lower_suspension_position_request (1) +#endif + +#ifndef DownwardPosReq_BCM_DMS_01_No_request +#define DownwardPosReq_BCM_DMS_01_No_request (0) +#endif + + +// Value tables for @DMS_ServiceMode signal + +#ifndef DMS_ServiceMode_BCM_DMS_01_Request +#define DMS_ServiceMode_BCM_DMS_01_Request (1) +#endif + +#ifndef DMS_ServiceMode_BCM_DMS_01_No_Request +#define DMS_ServiceMode_BCM_DMS_01_No_Request (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // This signal provide information about selected driving mode + // 4 : "Signal failure" + // 3 : "All Road mode" + // 2 : "Comfort mode" + // 1 : "Sport mode" + // 0 : "Auto mode" + uint8_t DrivingMode_Sig : 4; // Bits= 4 + + // Hill Descent Assist function requested by the driver: + // $0 = HDC Not Requested + // $1 = HDC Requested + // 1 : "Request" + // 0 : "No Request" + uint8_t DMS_HDC_Req : 1; // Bits= 1 + + // Request heightening the position (stepwise) + // 1 : "Upper suspension position request " + // 0 : "No request" + uint8_t UpwardPosReq : 1; // Bits= 1 + + // request lowering the position (stepwise) + // 1 : "Lower suspension position request" + // 0 : "No request" + uint8_t DownwardPosReq : 1; // Bits= 1 + + // Service Mode requested by the driver: + // $0 = Service Mode Not Requested + // $1 = Service Mode Requested + // 1 : "Request" + // 0 : "No Request" + uint8_t DMS_ServiceMode : 1; // Bits= 1 + + // Rolling Counter [0 - 15] + uint8_t BCM_DMS_01_RC : 4; // Bits= 4 + + // Checksum XOR8 of the data field this message + // Checksum computed as per XOR algorithm: + // Byte 1 XOR byte 2 .... XOR byte n-1. (n = packet length.) + uint8_t BCM_DMS_01_CS; // Bits= 8 + +#else + + // This signal provide information about selected driving mode + // 4 : "Signal failure" + // 3 : "All Road mode" + // 2 : "Comfort mode" + // 1 : "Sport mode" + // 0 : "Auto mode" + uint8_t DrivingMode_Sig; // Bits= 4 + + // Hill Descent Assist function requested by the driver: + // $0 = HDC Not Requested + // $1 = HDC Requested + // 1 : "Request" + // 0 : "No Request" + uint8_t DMS_HDC_Req; // Bits= 1 + + // Request heightening the position (stepwise) + // 1 : "Upper suspension position request " + // 0 : "No request" + uint8_t UpwardPosReq; // Bits= 1 + + // request lowering the position (stepwise) + // 1 : "Lower suspension position request" + // 0 : "No request" + uint8_t DownwardPosReq; // Bits= 1 + + // Service Mode requested by the driver: + // $0 = Service Mode Not Requested + // $1 = Service Mode Requested + // 1 : "Request" + // 0 : "No Request" + uint8_t DMS_ServiceMode; // Bits= 1 + + // Rolling Counter [0 - 15] + uint8_t BCM_DMS_01_RC; // Bits= 4 + + // Checksum XOR8 of the data field this message + // Checksum computed as per XOR algorithm: + // Byte 1 XOR byte 2 .... XOR byte n-1. (n = packet length.) + uint8_t BCM_DMS_01_CS; // Bits= 8 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} BCM_DMS_01_t; + +// def @LB_pSilCU_State CAN Message (594 0x252) +#define LB_pSilCU_State_IDE (0U) +#define LB_pSilCU_State_DLC (8U) +#define LB_pSilCU_State_CANID (0x252U) + +// Value tables for @LB_pSilCU_Module_Stat signal + +#ifndef LB_pSilCU_Module_Stat_LB_pSilCU_State_Scenario_data_message_error +#define LB_pSilCU_Module_Stat_LB_pSilCU_State_Scenario_data_message_error (8) +#endif + +#ifndef LB_pSilCU_Module_Stat_LB_pSilCU_State_Temperature_error +#define LB_pSilCU_Module_Stat_LB_pSilCU_State_Temperature_error (9) +#endif + +#ifndef LB_pSilCU_Module_Stat_LB_pSilCU_State_Channels_power_error +#define LB_pSilCU_Module_Stat_LB_pSilCU_State_Channels_power_error (10) +#endif + +#ifndef LB_pSilCU_Module_Stat_LB_pSilCU_State_Scenario_play_error +#define LB_pSilCU_Module_Stat_LB_pSilCU_State_Scenario_play_error (7) +#endif + +#ifndef LB_pSilCU_Module_Stat_LB_pSilCU_State_Launch_error +#define LB_pSilCU_Module_Stat_LB_pSilCU_State_Launch_error (6) +#endif + +#ifndef LB_pSilCU_Module_Stat_LB_pSilCU_State_Scenario_Data_is_recieved +#define LB_pSilCU_Module_Stat_LB_pSilCU_State_Scenario_Data_is_recieved (5) +#endif + +#ifndef LB_pSilCU_Module_Stat_LB_pSilCU_State_Configuration_is_going +#define LB_pSilCU_Module_Stat_LB_pSilCU_State_Configuration_is_going (4) +#endif + +#ifndef LB_pSilCU_Module_Stat_LB_pSilCU_State_Special_event_done +#define LB_pSilCU_Module_Stat_LB_pSilCU_State_Special_event_done (3) +#endif + +#ifndef LB_pSilCU_Module_Stat_LB_pSilCU_State_Scenario_have_done +#define LB_pSilCU_Module_Stat_LB_pSilCU_State_Scenario_have_done (2) +#endif + +#ifndef LB_pSilCU_Module_Stat_LB_pSilCU_State_Scenario_is_going +#define LB_pSilCU_Module_Stat_LB_pSilCU_State_Scenario_is_going (1) +#endif + +#ifndef LB_pSilCU_Module_Stat_LB_pSilCU_State_Ready +#define LB_pSilCU_Module_Stat_LB_pSilCU_State_Ready (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Module state: + // 0 - Module is ready for action + // 1 - Module has done a scenario + // 2 - Module made a special event + // 3 - Data is recieved + // 4 - Module start error + // 5 - Scenario play error + // 6 - Data error + // 7 - Temperature error + // 8 : "Scenario data message error" + // 9 : "Temperature error" + // 10 : "Channels power error" + // 7 : "Scenario play error" + // 6 : "Launch error" + // 5 : "Scenario Data is recieved" + // 4 : "Configuration is going" + // 3 : "Special event done" + // 2 : "Scenario have done" + // 1 : "Scenario is going" + // 0 : "Ready" + uint8_t LB_pSilCU_Module_Stat : 4; // Bits= 4 + + // Temperature value + int8_t LB_pSilCU_ModuleTemperature_Val : 7; // [-] Bits= 7 Unit:'�C' + + // Reserved + int8_t LB_pSilCU_reserved1 : 5; // [-] Bits= 5 + + // Reserved + int8_t LB_pSilCU_reserved2; // [-] Bits= 8 + + // Reserved + int8_t LB_pSilCU_reserved3; // [-] Bits= 8 + + // Reserved + int8_t LB_pSilCU_reserved4; // [-] Bits= 8 + + // Reserved + int8_t LB_pSilCU_reserved5; // [-] Bits= 8 + + // Reserved + int8_t LB_pSilCU_reserved6; // [-] Bits= 8 + + // Reserved + int8_t LB_pSilCU_reserved7; // [-] Bits= 8 + +#else + + // Module state: + // 0 - Module is ready for action + // 1 - Module has done a scenario + // 2 - Module made a special event + // 3 - Data is recieved + // 4 - Module start error + // 5 - Scenario play error + // 6 - Data error + // 7 - Temperature error + // 8 : "Scenario data message error" + // 9 : "Temperature error" + // 10 : "Channels power error" + // 7 : "Scenario play error" + // 6 : "Launch error" + // 5 : "Scenario Data is recieved" + // 4 : "Configuration is going" + // 3 : "Special event done" + // 2 : "Scenario have done" + // 1 : "Scenario is going" + // 0 : "Ready" + uint8_t LB_pSilCU_Module_Stat; // Bits= 4 + + // Temperature value + int8_t LB_pSilCU_ModuleTemperature_Val; // [-] Bits= 7 Unit:'�C' + + // Reserved + int8_t LB_pSilCU_reserved1; // [-] Bits= 5 + + // Reserved + int8_t LB_pSilCU_reserved2; // [-] Bits= 8 + + // Reserved + int8_t LB_pSilCU_reserved3; // [-] Bits= 8 + + // Reserved + int8_t LB_pSilCU_reserved4; // [-] Bits= 8 + + // Reserved + int8_t LB_pSilCU_reserved5; // [-] Bits= 8 + + // Reserved + int8_t LB_pSilCU_reserved6; // [-] Bits= 8 + + // Reserved + int8_t LB_pSilCU_reserved7; // [-] Bits= 8 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} LB_pSilCU_State_t; + +// def @RB_pSilCU_State CAN Message (595 0x253) +#define RB_pSilCU_State_IDE (0U) +#define RB_pSilCU_State_DLC (8U) +#define RB_pSilCU_State_CANID (0x253U) + +// Value tables for @RB_pSilCU_Module_Stat signal + +#ifndef RB_pSilCU_Module_Stat_RB_pSilCU_State_Scenario_data_message_error +#define RB_pSilCU_Module_Stat_RB_pSilCU_State_Scenario_data_message_error (8) +#endif + +#ifndef RB_pSilCU_Module_Stat_RB_pSilCU_State_Temperature_error +#define RB_pSilCU_Module_Stat_RB_pSilCU_State_Temperature_error (9) +#endif + +#ifndef RB_pSilCU_Module_Stat_RB_pSilCU_State_Channels_power_error +#define RB_pSilCU_Module_Stat_RB_pSilCU_State_Channels_power_error (10) +#endif + +#ifndef RB_pSilCU_Module_Stat_RB_pSilCU_State_Scenario_play_error +#define RB_pSilCU_Module_Stat_RB_pSilCU_State_Scenario_play_error (7) +#endif + +#ifndef RB_pSilCU_Module_Stat_RB_pSilCU_State_Launch_error +#define RB_pSilCU_Module_Stat_RB_pSilCU_State_Launch_error (6) +#endif + +#ifndef RB_pSilCU_Module_Stat_RB_pSilCU_State_Scenario_Data_is_recieved +#define RB_pSilCU_Module_Stat_RB_pSilCU_State_Scenario_Data_is_recieved (5) +#endif + +#ifndef RB_pSilCU_Module_Stat_RB_pSilCU_State_Configuration_is_going +#define RB_pSilCU_Module_Stat_RB_pSilCU_State_Configuration_is_going (4) +#endif + +#ifndef RB_pSilCU_Module_Stat_RB_pSilCU_State_Special_event_done +#define RB_pSilCU_Module_Stat_RB_pSilCU_State_Special_event_done (3) +#endif + +#ifndef RB_pSilCU_Module_Stat_RB_pSilCU_State_Scenario_have_done +#define RB_pSilCU_Module_Stat_RB_pSilCU_State_Scenario_have_done (2) +#endif + +#ifndef RB_pSilCU_Module_Stat_RB_pSilCU_State_Scenario_is_going +#define RB_pSilCU_Module_Stat_RB_pSilCU_State_Scenario_is_going (1) +#endif + +#ifndef RB_pSilCU_Module_Stat_RB_pSilCU_State_Ready +#define RB_pSilCU_Module_Stat_RB_pSilCU_State_Ready (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Module state: + // 0 - Module is ready for action + // 1 - Module has done a scenario + // 2 - Module made a special event + // 3 - Data is recieved + // 4 - Module start error + // 5 - Scenario play error + // 6 - Data error + // 7 - Temperature error + // 8 : "Scenario data message error" + // 9 : "Temperature error" + // 10 : "Channels power error" + // 7 : "Scenario play error" + // 6 : "Launch error" + // 5 : "Scenario Data is recieved" + // 4 : "Configuration is going" + // 3 : "Special event done" + // 2 : "Scenario have done" + // 1 : "Scenario is going" + // 0 : "Ready" + int8_t RB_pSilCU_Module_Stat : 4; // [-] Bits= 4 + + // Temperature value + int8_t RB_pSilCU_ModuleTemperature_Val : 7; // [-] Bits= 7 Unit:'�C' + + // Reserved + int8_t RB_pSilCU_reserved1 : 5; // [-] Bits= 5 + + // Reserved + int8_t RB_pSilCU_reserved2; // [-] Bits= 8 + + // Reserved + int8_t RB_pSilCU_reserved3; // [-] Bits= 8 + + // Reserved + int8_t RB_pSilCU_reserved4; // [-] Bits= 8 + + // Reserved + int8_t RB_pSilCU_reserved5; // [-] Bits= 8 + + // Reserved + int8_t RB_pSilCU_reserved6; // [-] Bits= 8 + + // Reserved + int8_t RB_pSilCU_reserved7; // [-] Bits= 8 + +#else + + // Module state: + // 0 - Module is ready for action + // 1 - Module has done a scenario + // 2 - Module made a special event + // 3 - Data is recieved + // 4 - Module start error + // 5 - Scenario play error + // 6 - Data error + // 7 - Temperature error + // 8 : "Scenario data message error" + // 9 : "Temperature error" + // 10 : "Channels power error" + // 7 : "Scenario play error" + // 6 : "Launch error" + // 5 : "Scenario Data is recieved" + // 4 : "Configuration is going" + // 3 : "Special event done" + // 2 : "Scenario have done" + // 1 : "Scenario is going" + // 0 : "Ready" + int8_t RB_pSilCU_Module_Stat; // [-] Bits= 4 + + // Temperature value + int8_t RB_pSilCU_ModuleTemperature_Val; // [-] Bits= 7 Unit:'�C' + + // Reserved + int8_t RB_pSilCU_reserved1; // [-] Bits= 5 + + // Reserved + int8_t RB_pSilCU_reserved2; // [-] Bits= 8 + + // Reserved + int8_t RB_pSilCU_reserved3; // [-] Bits= 8 + + // Reserved + int8_t RB_pSilCU_reserved4; // [-] Bits= 8 + + // Reserved + int8_t RB_pSilCU_reserved5; // [-] Bits= 8 + + // Reserved + int8_t RB_pSilCU_reserved6; // [-] Bits= 8 + + // Reserved + int8_t RB_pSilCU_reserved7; // [-] Bits= 8 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} RB_pSilCU_State_t; + // def @HVC_CCU_Status_Msg CAN Message (602 0x25a) #define HVC_CCU_Status_Msg_IDE (0U) #define HVC_CCU_Status_Msg_DLC (3U) @@ -984,6 +14126,221 @@ typedef struct } HVC_CCU_Status_Msg_t; +// def @ATS_Status CAN Message (631 0x277) +#define ATS_Status_IDE (0U) +#define ATS_Status_DLC (3U) +#define ATS_Status_CANID (0x277U) +#define ATS_Status_CYC (100U) + +// Value tables for @ATS_Err_Stat signal + +#ifndef ATS_Err_Stat_ATS_Status_Error +#define ATS_Err_Stat_ATS_Status_Error (1) +#endif + +#ifndef ATS_Err_Stat_ATS_Status_No_error +#define ATS_Err_Stat_ATS_Status_No_error (0) +#endif + + +// Value tables for @ATS_AutoHoldBtn_Stat signal + +#ifndef ATS_AutoHoldBtn_Stat_ATS_Status_Error +#define ATS_AutoHoldBtn_Stat_ATS_Status_Error (3) +#endif + +#ifndef ATS_AutoHoldBtn_Stat_ATS_Status_Spare +#define ATS_AutoHoldBtn_Stat_ATS_Status_Spare (2) +#endif + +#ifndef ATS_AutoHoldBtn_Stat_ATS_Status_Pressed +#define ATS_AutoHoldBtn_Stat_ATS_Status_Pressed (1) +#endif + +#ifndef ATS_AutoHoldBtn_Stat_ATS_Status_Not_pressed +#define ATS_AutoHoldBtn_Stat_ATS_Status_Not_pressed (0) +#endif + + +// Value tables for @ATS_EPBBtn_Req signal + +#ifndef ATS_EPBBtn_Req_ATS_Status_Error +#define ATS_EPBBtn_Req_ATS_Status_Error (3) +#endif + +#ifndef ATS_EPBBtn_Req_ATS_Status_Parking_brake_request +#define ATS_EPBBtn_Req_ATS_Status_Parking_brake_request (2) +#endif + +#ifndef ATS_EPBBtn_Req_ATS_Status_Parking_brake_release +#define ATS_EPBBtn_Req_ATS_Status_Parking_brake_release (1) +#endif + +#ifndef ATS_EPBBtn_Req_ATS_Status_Not_pressed +#define ATS_EPBBtn_Req_ATS_Status_Not_pressed (0) +#endif + + +// Value tables for @ATS_GearModeBtn_Req signal + +#ifndef ATS_GearModeBtn_Req_ATS_Status_Error +#define ATS_GearModeBtn_Req_ATS_Status_Error (7) +#endif + +#ifndef ATS_GearModeBtn_Req_ATS_Status_Spare +#define ATS_GearModeBtn_Req_ATS_Status_Spare (6) +#endif + +#ifndef ATS_GearModeBtn_Req_ATS_Status_Spare +#define ATS_GearModeBtn_Req_ATS_Status_Spare (5) +#endif + +#ifndef ATS_GearModeBtn_Req_ATS_Status_Drive_mode_request +#define ATS_GearModeBtn_Req_ATS_Status_Drive_mode_request (4) +#endif + +#ifndef ATS_GearModeBtn_Req_ATS_Status_Neutral_mode_request +#define ATS_GearModeBtn_Req_ATS_Status_Neutral_mode_request (3) +#endif + +#ifndef ATS_GearModeBtn_Req_ATS_Status_Reverse_mode_request +#define ATS_GearModeBtn_Req_ATS_Status_Reverse_mode_request (2) +#endif + +#ifndef ATS_GearModeBtn_Req_ATS_Status_Parking_mode_request +#define ATS_GearModeBtn_Req_ATS_Status_Parking_mode_request (1) +#endif + +#ifndef ATS_GearModeBtn_Req_ATS_Status_Not_pressed +#define ATS_GearModeBtn_Req_ATS_Status_Not_pressed (0) +#endif + + +// Value tables for @ATS_DriveModeBtn_Stat signal + +#ifndef ATS_DriveModeBtn_Stat_ATS_Status_Error +#define ATS_DriveModeBtn_Stat_ATS_Status_Error (3) +#endif + +#ifndef ATS_DriveModeBtn_Stat_ATS_Status_Pressed_Right_switch +#define ATS_DriveModeBtn_Stat_ATS_Status_Pressed_Right_switch (2) +#endif + +#ifndef ATS_DriveModeBtn_Stat_ATS_Status_Pressed_Left_switch +#define ATS_DriveModeBtn_Stat_ATS_Status_Pressed_Left_switch (1) +#endif + +#ifndef ATS_DriveModeBtn_Stat_ATS_Status_Not_pressed +#define ATS_DriveModeBtn_Stat_ATS_Status_Not_pressed (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Status error signal for ATS + // 1 : "Error" + // 0 : "No error" + uint8_t ATS_Err_Stat : 1; // Bits= 1 + + // Auto hold button status + // 3 : "Error" + // 2 : "Spare" + // 1 : "Pressed" + // 0 : "Not pressed" + uint8_t ATS_AutoHoldBtn_Stat : 2; // Bits= 2 + + // EPB manipulation button request + // 3 : "Error" + // 2 : "Parking brake request" + // 1 : "Parking brake release" + // 0 : "Not pressed" + uint8_t ATS_EPBBtn_Req : 2; // Bits= 2 + + // Gear mode change button request + // 7 : "Error" + // 6 : "Spare" + // 5 : "Spare" + // 4 : "Drive mode request" + // 3 : "Neutral mode request" + // 2 : "Reverse mode request" + // 1 : "Parking mode request" + // 0 : "Not pressed" + uint8_t ATS_GearModeBtn_Req : 3; // Bits= 3 + + // Rolling Counter [0 - 15] + uint8_t ATS_Status_RC : 4; // Bits= 4 + + // Drive mode change request from button + // 3 : "Error" + // 2 : "Pressed Right switch" + // 1 : "Pressed Left switch" + // 0 : "Not pressed" + uint8_t ATS_DriveModeBtn_Stat : 2; // Bits= 2 + + // Checksum XOR8 of the data field this message + // Checksum computed as per XOR algorithm: + // Byte 1 XOR byte 2 .... XOR byte n-1. (n = packet length.) + uint8_t ATS_Status_CS; // Bits= 8 + +#else + + // Status error signal for ATS + // 1 : "Error" + // 0 : "No error" + uint8_t ATS_Err_Stat; // Bits= 1 + + // Auto hold button status + // 3 : "Error" + // 2 : "Spare" + // 1 : "Pressed" + // 0 : "Not pressed" + uint8_t ATS_AutoHoldBtn_Stat; // Bits= 2 + + // EPB manipulation button request + // 3 : "Error" + // 2 : "Parking brake request" + // 1 : "Parking brake release" + // 0 : "Not pressed" + uint8_t ATS_EPBBtn_Req; // Bits= 2 + + // Gear mode change button request + // 7 : "Error" + // 6 : "Spare" + // 5 : "Spare" + // 4 : "Drive mode request" + // 3 : "Neutral mode request" + // 2 : "Reverse mode request" + // 1 : "Parking mode request" + // 0 : "Not pressed" + uint8_t ATS_GearModeBtn_Req; // Bits= 3 + + // Rolling Counter [0 - 15] + uint8_t ATS_Status_RC; // Bits= 4 + + // Drive mode change request from button + // 3 : "Error" + // 2 : "Pressed Right switch" + // 1 : "Pressed Left switch" + // 0 : "Not pressed" + uint8_t ATS_DriveModeBtn_Stat; // Bits= 2 + + // Checksum XOR8 of the data field this message + // Checksum computed as per XOR algorithm: + // Byte 1 XOR byte 2 .... XOR byte n-1. (n = packet length.) + uint8_t ATS_Status_CS; // Bits= 8 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} ATS_Status_t; + // def @BCM_VEH_STATE CAN Message (640 0x280) #define BCM_VEH_STATE_IDE (0U) #define BCM_VEH_STATE_DLC (8U) @@ -1023,6 +14380,28 @@ typedef struct #endif +// Value tables for @BCM_T15h_Stat signal + +#ifndef BCM_T15h_Stat_BCM_VEH_STATE_Terminal_active +#define BCM_T15h_Stat_BCM_VEH_STATE_Terminal_active (1) +#endif + +#ifndef BCM_T15h_Stat_BCM_VEH_STATE_Terminal_inactive +#define BCM_T15h_Stat_BCM_VEH_STATE_Terminal_inactive (0) +#endif + + +// Value tables for @BCM_SPV_Feature_Stat signal + +#ifndef BCM_SPV_Feature_Stat_BCM_VEH_STATE_SPV_vehicle_type +#define BCM_SPV_Feature_Stat_BCM_VEH_STATE_SPV_vehicle_type (1) +#endif + +#ifndef BCM_SPV_Feature_Stat_BCM_VEH_STATE_Commercial_vehicle_type +#define BCM_SPV_Feature_Stat_BCM_VEH_STATE_Commercial_vehicle_type (0) +#endif + + // Value tables for @StealthModeEn signal #ifndef StealthModeEn_BCM_VEH_STATE_Stealth_Mode_enable @@ -1034,6 +14413,59 @@ typedef struct #endif +// Value tables for @BCM_VehicleType_Stat signal + +#ifndef BCM_VehicleType_Stat_BCM_VEH_STATE_Armored +#define BCM_VehicleType_Stat_BCM_VEH_STATE_Armored (1) +#endif + +#ifndef BCM_VehicleType_Stat_BCM_VEH_STATE_Normal +#define BCM_VehicleType_Stat_BCM_VEH_STATE_Normal (0) +#endif + + +// Value tables for @BCM_VehicleBody_Stat signal + +#ifndef BCM_VehicleBody_Stat_BCM_VEH_STATE_Sedan_long +#define BCM_VehicleBody_Stat_BCM_VEH_STATE_Sedan_long (6) +#endif + +#ifndef BCM_VehicleBody_Stat_BCM_VEH_STATE_Cabrio +#define BCM_VehicleBody_Stat_BCM_VEH_STATE_Cabrio (5) +#endif + +#ifndef BCM_VehicleBody_Stat_BCM_VEH_STATE_SUV +#define BCM_VehicleBody_Stat_BCM_VEH_STATE_SUV (4) +#endif + +#ifndef BCM_VehicleBody_Stat_BCM_VEH_STATE_MPV +#define BCM_VehicleBody_Stat_BCM_VEH_STATE_MPV (3) +#endif + +#ifndef BCM_VehicleBody_Stat_BCM_VEH_STATE_Limo +#define BCM_VehicleBody_Stat_BCM_VEH_STATE_Limo (2) +#endif + +#ifndef BCM_VehicleBody_Stat_BCM_VEH_STATE_Sedan +#define BCM_VehicleBody_Stat_BCM_VEH_STATE_Sedan (1) +#endif + +#ifndef BCM_VehicleBody_Stat_BCM_VEH_STATE_Not_set +#define BCM_VehicleBody_Stat_BCM_VEH_STATE_Not_set (0) +#endif + + +// Value tables for @BCM_ADASTerm_Stat signal + +#ifndef BCM_ADASTerm_Stat_BCM_VEH_STATE_Terminal_on +#define BCM_ADASTerm_Stat_BCM_VEH_STATE_Terminal_on (1) +#endif + +#ifndef BCM_ADASTerm_Stat_BCM_VEH_STATE_Terminal_off +#define BCM_ADASTerm_Stat_BCM_VEH_STATE_Terminal_off (0) +#endif + + // Value tables for @BCM_CCTerm_Stat signal #ifndef BCM_CCTerm_Stat_BCM_VEH_STATE_Terminal_on @@ -1056,6 +14488,24 @@ typedef struct #endif +// Value tables for @BCM_LightBCM_Stat signal + +#ifndef BCM_LightBCM_Stat_BCM_VEH_STATE_Terminal_on +#define BCM_LightBCM_Stat_BCM_VEH_STATE_Terminal_on (1) +#endif + +#ifndef BCM_LightBCM_Stat_BCM_VEH_STATE_Terminal_off +#define BCM_LightBCM_Stat_BCM_VEH_STATE_Terminal_off (0) +#endif + + +// Value tables for @HUD_IntensityRequest signal + +#ifndef HUD_IntensityRequest_BCM_VEH_STATE_Fault +#define HUD_IntensityRequest_BCM_VEH_STATE_Fault (255) +#endif + + // Value tables for @BCM_T30d_DisableWarning signal #ifndef BCM_T30d_DisableWarning_BCM_VEH_STATE_Warning_Active @@ -1066,6 +14516,17 @@ typedef struct #define BCM_T30d_DisableWarning_BCM_VEH_STATE_No_Warning (0) #endif + +// Value tables for @BCM_Light_Stat signal + +#ifndef BCM_Light_Stat_BCM_VEH_STATE_Terminal_on +#define BCM_Light_Stat_BCM_VEH_STATE_Terminal_on (1) +#endif + +#ifndef BCM_Light_Stat_BCM_VEH_STATE_Terminal_off +#define BCM_Light_Stat_BCM_VEH_STATE_Terminal_off (0) +#endif + // signal: @BCM_IndFadingTime_Req_ro #define CANDB_BCM_IndFadingTime_Req_ro_CovFactor (0.1) #define CANDB_BCM_IndFadingTime_Req_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.1)) ) @@ -1082,6 +14543,48 @@ typedef struct #endif +// Value tables for @BCM_PreheatFunction_Stat signal + +#ifndef BCM_PreheatFunction_Stat_BCM_VEH_STATE_Preheating_Fault +#define BCM_PreheatFunction_Stat_BCM_VEH_STATE_Preheating_Fault (3) +#endif + +#ifndef BCM_PreheatFunction_Stat_BCM_VEH_STATE_Preheating_Active +#define BCM_PreheatFunction_Stat_BCM_VEH_STATE_Preheating_Active (2) +#endif + +#ifndef BCM_PreheatFunction_Stat_BCM_VEH_STATE_Preheatng_In_progress_Additional_Heating +#define BCM_PreheatFunction_Stat_BCM_VEH_STATE_Preheatng_In_progress_Additional_Heating (1) +#endif + +#ifndef BCM_PreheatFunction_Stat_BCM_VEH_STATE_Preheating_Inactive +#define BCM_PreheatFunction_Stat_BCM_VEH_STATE_Preheating_Inactive (0) +#endif + + +// Value tables for @BCM_VehiclePowertrain_Stat signal + +#ifndef BCM_VehiclePowertrain_Stat_BCM_VEH_STATE_PFCV +#define BCM_VehiclePowertrain_Stat_BCM_VEH_STATE_PFCV (3) +#endif + +#ifndef BCM_VehiclePowertrain_Stat_BCM_VEH_STATE_PHEV +#define BCM_VehiclePowertrain_Stat_BCM_VEH_STATE_PHEV (2) +#endif + +#ifndef BCM_VehiclePowertrain_Stat_BCM_VEH_STATE_BEV +#define BCM_VehiclePowertrain_Stat_BCM_VEH_STATE_BEV (1) +#endif + +#ifndef BCM_VehiclePowertrain_Stat_BCM_VEH_STATE_HEV_default +#define BCM_VehiclePowertrain_Stat_BCM_VEH_STATE_HEV_default (0) +#endif + +// signal: @BCM_SwBackIntens_Val_ro +#define CANDB_BCM_SwBackIntens_Val_ro_CovFactor (0.394) +#define CANDB_BCM_SwBackIntens_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.394)) ) +#define CANDB_BCM_SwBackIntens_Val_ro_fromS(x) ( (((x) * (0.394)) + (0.0)) ) + // Value tables for @BCM_VehicleMode_Stat signal #ifndef BCM_VehicleMode_Stat_BCM_VEH_STATE_RemoteStart_Mode @@ -1126,8 +14629,8 @@ typedef struct // Value tables for @BCM_Vehicle_DrvMode signal -#ifndef BCM_Vehicle_DrvMode_BCM_VEH_STATE_Reserved -#define BCM_Vehicle_DrvMode_BCM_VEH_STATE_Reserved (6) +#ifndef BCM_Vehicle_DrvMode_BCM_VEH_STATE_Electric +#define BCM_Vehicle_DrvMode_BCM_VEH_STATE_Electric (6) #endif #ifndef BCM_Vehicle_DrvMode_BCM_VEH_STATE_Reserved @@ -1154,8 +14657,8 @@ typedef struct #define BCM_Vehicle_DrvMode_BCM_VEH_STATE_Comfort (0) #endif -#ifndef BCM_Vehicle_DrvMode_BCM_VEH_STATE_Reserved -#define BCM_Vehicle_DrvMode_BCM_VEH_STATE_Reserved (7) +#ifndef BCM_Vehicle_DrvMode_BCM_VEH_STATE_Charge +#define BCM_Vehicle_DrvMode_BCM_VEH_STATE_Charge (7) #endif // signal: @BCM_LVBatteryVoltage_ro @@ -1182,6 +14685,18 @@ typedef struct // 0 : "Terminal inactive" uint8_t BCM_T30i_Stat : 1; // Bits= 1 + // Terminal 15h status + // 1 : "Terminal active" + // 0 : "Terminal inactive" + uint8_t BCM_T15h_Stat : 1; // Bits= 1 + + // The flag, which provide an information about vehicle type. + // Default value - 0x0 uses for commercial vehilces, + // 0x1 - SPV (Special purpose vehilces) type uses for GON vehicles + // 1 : "SPV vehicle type" + // 0 : "Commercial vehicle type" + uint8_t BCM_SPV_Feature_Stat : 1; // Bits= 1 + // Indicates that the Stealth mode is required: // $0 = Stealth mode disable // $1 = Stealth mode enable @@ -1189,6 +14704,26 @@ typedef struct // 0 : "Stealth Mode disable" uint8_t StealthModeEn : 1; // Bits= 1 + // Type of vehicle: armoured or not + // 1 : "Armored" + // 0 : "Normal" + uint8_t BCM_VehicleType_Stat : 1; // Bits= 1 + + // Vehicle's body type (sedan, limousine, etc.) + // 6 : "Sedan long" + // 5 : "Cabrio" + // 4 : "SUV" + // 3 : "MPV" + // 2 : "Limo" + // 1 : "Sedan" + // 0 : "Not set" + uint8_t BCM_VehicleBody_Stat : 4; // Bits= 4 + + // Terminal to power ADASCAN + // 1 : "Terminal on" + // 0 : "Terminal off" + uint8_t BCM_ADASTerm_Stat : 1; // Bits= 1 + // Terminal to power climate system // 1 : "Terminal on" // 0 : "Terminal off" @@ -1200,12 +14735,26 @@ typedef struct // 0 : "No Warning" uint8_t BCM_T30i_DisableWarning : 1; // Bits= 1 + // Terminal to power all internal plafonds + // 1 : "Terminal on" + // 0 : "Terminal off" + uint8_t BCM_LightBCM_Stat : 1; // Bits= 1 + + // Head-up display intensity value from RLS + // 255 : "Fault" + uint8_t HUD_IntensityRequest; // Bits= 8 + // T30d terminal warning status signal // 3 sec before T30d off // 1 : "Warning Active" // 0 : "No Warning" uint8_t BCM_T30d_DisableWarning : 1; // Bits= 1 + // Terminal to power individual light sections + // 1 : "Terminal on" + // 0 : "Terminal off" + uint8_t BCM_Light_Stat : 1; // Bits= 1 + // The timer for smoothly change switches intensity, when day detected. uint8_t BCM_IndFadingTime_Req_ro : 5; // Bits= 5 Factor= 0.1 Unit:'s' @@ -1218,6 +14767,29 @@ typedef struct // 0 : "No Warning" uint8_t BCM_CCTermDisableWarning : 1; // Bits= 1 + // Status of Preheating function: + // 0x1 � If BCM_T15_Stat = 0x0 than Preheating Inprogress, ready to Preheating phase + // 0x1 - If BCM_T15_Stat = 0x1 than Additional Heating Active + // 3 : "Preheating Fault" + // 2 : "Preheating Active" + // 1 : "Preheatng In progress/ Additional Heating" + // 0 : "Preheating Inactive" + uint8_t BCM_PreheatFunction_Stat : 2; // Bits= 2 + + // Type of vehicle powertrain + // 3 : "PFCV" + // 2 : "PHEV" + // 1 : "BEV" + // 0 : "HEV (default)" + uint8_t BCM_VehiclePowertrain_Stat : 2; // Bits= 2 + + // Background illumination level of switches + uint8_t BCM_SwBackIntens_Val_ro; // Bits= 8 Factor= 0.394 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_SwBackIntens_Val_phys; +#endif // CANDB_USE_SIGFLOAT + // Current vehicle state according Terminal concept // 6 : "RemoteStart_Mode" // 5 : "Service_Mode" @@ -1234,14 +14806,14 @@ typedef struct uint8_t BCM_SwIndIntens_Stat : 1; // Bits= 1 // Vehicle drive mode, set by user - // 6 : "Reserved" + // 6 : "Electric" // 5 : "Reserved" // 4 : "Offroad" // 3 : "Reserved" // 2 : "Range" // 1 : "Dynamic" // 0 : "Comfort" - // 7 : "Reserved" + // 7 : "Charge" uint8_t BCM_Vehicle_DrvMode : 3; // Bits= 3 // Indicates the battery voltage. Measurement from the Battery sensor @@ -1268,6 +14840,18 @@ typedef struct // 0 : "Terminal inactive" uint8_t BCM_T30i_Stat; // Bits= 1 + // Terminal 15h status + // 1 : "Terminal active" + // 0 : "Terminal inactive" + uint8_t BCM_T15h_Stat; // Bits= 1 + + // The flag, which provide an information about vehicle type. + // Default value - 0x0 uses for commercial vehilces, + // 0x1 - SPV (Special purpose vehilces) type uses for GON vehicles + // 1 : "SPV vehicle type" + // 0 : "Commercial vehicle type" + uint8_t BCM_SPV_Feature_Stat; // Bits= 1 + // Indicates that the Stealth mode is required: // $0 = Stealth mode disable // $1 = Stealth mode enable @@ -1275,6 +14859,26 @@ typedef struct // 0 : "Stealth Mode disable" uint8_t StealthModeEn; // Bits= 1 + // Type of vehicle: armoured or not + // 1 : "Armored" + // 0 : "Normal" + uint8_t BCM_VehicleType_Stat; // Bits= 1 + + // Vehicle's body type (sedan, limousine, etc.) + // 6 : "Sedan long" + // 5 : "Cabrio" + // 4 : "SUV" + // 3 : "MPV" + // 2 : "Limo" + // 1 : "Sedan" + // 0 : "Not set" + uint8_t BCM_VehicleBody_Stat; // Bits= 4 + + // Terminal to power ADASCAN + // 1 : "Terminal on" + // 0 : "Terminal off" + uint8_t BCM_ADASTerm_Stat; // Bits= 1 + // Terminal to power climate system // 1 : "Terminal on" // 0 : "Terminal off" @@ -1286,12 +14890,26 @@ typedef struct // 0 : "No Warning" uint8_t BCM_T30i_DisableWarning; // Bits= 1 + // Terminal to power all internal plafonds + // 1 : "Terminal on" + // 0 : "Terminal off" + uint8_t BCM_LightBCM_Stat; // Bits= 1 + + // Head-up display intensity value from RLS + // 255 : "Fault" + uint8_t HUD_IntensityRequest; // Bits= 8 + // T30d terminal warning status signal // 3 sec before T30d off // 1 : "Warning Active" // 0 : "No Warning" uint8_t BCM_T30d_DisableWarning; // Bits= 1 + // Terminal to power individual light sections + // 1 : "Terminal on" + // 0 : "Terminal off" + uint8_t BCM_Light_Stat; // Bits= 1 + // The timer for smoothly change switches intensity, when day detected. uint8_t BCM_IndFadingTime_Req_ro; // Bits= 5 Factor= 0.1 Unit:'s' @@ -1304,6 +14922,29 @@ typedef struct // 0 : "No Warning" uint8_t BCM_CCTermDisableWarning; // Bits= 1 + // Status of Preheating function: + // 0x1 � If BCM_T15_Stat = 0x0 than Preheating Inprogress, ready to Preheating phase + // 0x1 - If BCM_T15_Stat = 0x1 than Additional Heating Active + // 3 : "Preheating Fault" + // 2 : "Preheating Active" + // 1 : "Preheatng In progress/ Additional Heating" + // 0 : "Preheating Inactive" + uint8_t BCM_PreheatFunction_Stat; // Bits= 2 + + // Type of vehicle powertrain + // 3 : "PFCV" + // 2 : "PHEV" + // 1 : "BEV" + // 0 : "HEV (default)" + uint8_t BCM_VehiclePowertrain_Stat; // Bits= 2 + + // Background illumination level of switches + uint8_t BCM_SwBackIntens_Val_ro; // Bits= 8 Factor= 0.394 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_SwBackIntens_Val_phys; +#endif // CANDB_USE_SIGFLOAT + // Current vehicle state according Terminal concept // 6 : "RemoteStart_Mode" // 5 : "Service_Mode" @@ -1320,14 +14961,14 @@ typedef struct uint8_t BCM_SwIndIntens_Stat; // Bits= 1 // Vehicle drive mode, set by user - // 6 : "Reserved" + // 6 : "Electric" // 5 : "Reserved" // 4 : "Offroad" // 3 : "Reserved" // 2 : "Range" // 1 : "Dynamic" // 0 : "Comfort" - // 7 : "Reserved" + // 7 : "Charge" uint8_t BCM_Vehicle_DrvMode; // Bits= 3 // Indicates the battery voltage. Measurement from the Battery sensor @@ -1347,12 +14988,1089 @@ typedef struct } BCM_VEH_STATE_t; +// def @BCM_Veh_State2 CAN Message (642 0x282) +#define BCM_Veh_State2_IDE (0U) +#define BCM_Veh_State2_DLC (6U) +#define BCM_Veh_State2_CANID (0x282U) +#define BCM_Veh_State2_CYC (100U) + +// Value tables for @BCM_MAS_Activation_Req signal + +#ifndef BCM_MAS_Activation_Req_BCM_Veh_State2_Switch_requested_long_press +#define BCM_MAS_Activation_Req_BCM_Veh_State2_Switch_requested_long_press (2) +#endif + +#ifndef BCM_MAS_Activation_Req_BCM_Veh_State2_Switch_requested_short_press +#define BCM_MAS_Activation_Req_BCM_Veh_State2_Switch_requested_short_press (1) +#endif + +#ifndef BCM_MAS_Activation_Req_BCM_Veh_State2_Not_requested +#define BCM_MAS_Activation_Req_BCM_Veh_State2_Not_requested (0) +#endif + + +// Value tables for @BCM_HeadUpDispSw_Stat signal + +#ifndef BCM_HeadUpDispSw_Stat_BCM_Veh_State2_Switch_requested +#define BCM_HeadUpDispSw_Stat_BCM_Veh_State2_Switch_requested (1) +#endif + +#ifndef BCM_HeadUpDispSw_Stat_BCM_Veh_State2_Not_requested +#define BCM_HeadUpDispSw_Stat_BCM_Veh_State2_Not_requested (0) +#endif + + +// Value tables for @BCM_FootrestRL_Stat signal + +#ifndef BCM_FootrestRL_Stat_BCM_Veh_State2_Error +#define BCM_FootrestRL_Stat_BCM_Veh_State2_Error (3) +#endif + +#ifndef BCM_FootrestRL_Stat_BCM_Veh_State2_Open_Unfolded +#define BCM_FootrestRL_Stat_BCM_Veh_State2_Open_Unfolded (2) +#endif + +#ifndef BCM_FootrestRL_Stat_BCM_Veh_State2_Intermediate +#define BCM_FootrestRL_Stat_BCM_Veh_State2_Intermediate (1) +#endif + +#ifndef BCM_FootrestRL_Stat_BCM_Veh_State2_Close_Folded +#define BCM_FootrestRL_Stat_BCM_Veh_State2_Close_Folded (0) +#endif + + +// Value tables for @BCM_FootrestRR_Stat signal + +#ifndef BCM_FootrestRR_Stat_BCM_Veh_State2_Error +#define BCM_FootrestRR_Stat_BCM_Veh_State2_Error (3) +#endif + +#ifndef BCM_FootrestRR_Stat_BCM_Veh_State2_Open_Unfolded +#define BCM_FootrestRR_Stat_BCM_Veh_State2_Open_Unfolded (2) +#endif + +#ifndef BCM_FootrestRR_Stat_BCM_Veh_State2_Intermediate +#define BCM_FootrestRR_Stat_BCM_Veh_State2_Intermediate (1) +#endif + +#ifndef BCM_FootrestRR_Stat_BCM_Veh_State2_Close_Folded +#define BCM_FootrestRR_Stat_BCM_Veh_State2_Close_Folded (0) +#endif + + +// Value tables for @BCM_FootrestRLWarning_Stat signal + +#ifndef BCM_FootrestRLWarning_Stat_BCM_Veh_State2_Warning +#define BCM_FootrestRLWarning_Stat_BCM_Veh_State2_Warning (1) +#endif + +#ifndef BCM_FootrestRLWarning_Stat_BCM_Veh_State2_No_warning +#define BCM_FootrestRLWarning_Stat_BCM_Veh_State2_No_warning (0) +#endif + +// signal: @BCM_AmbientTempHMI_ro +#define CANDB_BCM_AmbientTempHMI_ro_CovFactor (0.5) +#define CANDB_BCM_AmbientTempHMI_ro_toS(x) ( (uint8_t) (((x) - (-50.0)) / (0.5)) ) +#define CANDB_BCM_AmbientTempHMI_ro_fromS(x) ( (((x) * (0.5)) + (-50.0)) ) + +// Value tables for @BCM_GovernmentComSw_Stat signal + +#ifndef BCM_GovernmentComSw_Stat_BCM_Veh_State2_Government_Com_Switch_Active +#define BCM_GovernmentComSw_Stat_BCM_Veh_State2_Government_Com_Switch_Active (1) +#endif + +#ifndef BCM_GovernmentComSw_Stat_BCM_Veh_State2_Government_Com_Switch_Inactive +#define BCM_GovernmentComSw_Stat_BCM_Veh_State2_Government_Com_Switch_Inactive (0) +#endif + + +// Value tables for @BCM_RearWindowHeatingLED signal + +#ifndef BCM_RearWindowHeatingLED_BCM_Veh_State2_On +#define BCM_RearWindowHeatingLED_BCM_Veh_State2_On (1) +#endif + +#ifndef BCM_RearWindowHeatingLED_BCM_Veh_State2_Off +#define BCM_RearWindowHeatingLED_BCM_Veh_State2_Off (0) +#endif + + +// Value tables for @BCM_FootrestRRWarning_Stat signal + +#ifndef BCM_FootrestRRWarning_Stat_BCM_Veh_State2_Warning +#define BCM_FootrestRRWarning_Stat_BCM_Veh_State2_Warning (1) +#endif + +#ifndef BCM_FootrestRRWarning_Stat_BCM_Veh_State2_No_warning +#define BCM_FootrestRRWarning_Stat_BCM_Veh_State2_No_warning (0) +#endif + + +// Value tables for @BCM_GovernmentHandset_Stat signal + +#ifndef BCM_GovernmentHandset_Stat_BCM_Veh_State2_Handset_Picked_Up +#define BCM_GovernmentHandset_Stat_BCM_Veh_State2_Handset_Picked_Up (1) +#endif + +#ifndef BCM_GovernmentHandset_Stat_BCM_Veh_State2_Handset_Not_Picked_Up +#define BCM_GovernmentHandset_Stat_BCM_Veh_State2_Handset_Not_Picked_Up (0) +#endif + + +// Value tables for @BCM_EasyExitSMRL_Stat signal + +#ifndef BCM_EasyExitSMRL_Stat_BCM_Veh_State2_easy_Exit_Enable +#define BCM_EasyExitSMRL_Stat_BCM_Veh_State2_easy_Exit_Enable (1) +#endif + +#ifndef BCM_EasyExitSMRL_Stat_BCM_Veh_State2_easy_Exit_Disable +#define BCM_EasyExitSMRL_Stat_BCM_Veh_State2_easy_Exit_Disable (0) +#endif + + +// Value tables for @BCM_EasyExitSMRR_Stat signal + +#ifndef BCM_EasyExitSMRR_Stat_BCM_Veh_State2_easy_Exit_Enable +#define BCM_EasyExitSMRR_Stat_BCM_Veh_State2_easy_Exit_Enable (1) +#endif + +#ifndef BCM_EasyExitSMRR_Stat_BCM_Veh_State2_easy_Exit_Disable +#define BCM_EasyExitSMRR_Stat_BCM_Veh_State2_easy_Exit_Disable (0) +#endif + + +// Value tables for @BCM_EasyExitSMFR_Stat signal + +#ifndef BCM_EasyExitSMFR_Stat_BCM_Veh_State2_easy_Exit_Enable +#define BCM_EasyExitSMFR_Stat_BCM_Veh_State2_easy_Exit_Enable (1) +#endif + +#ifndef BCM_EasyExitSMFR_Stat_BCM_Veh_State2_easy_Exit_Disable +#define BCM_EasyExitSMFR_Stat_BCM_Veh_State2_easy_Exit_Disable (0) +#endif + + +// Value tables for @BCM_EasyExitSMFL_Stat signal + +#ifndef BCM_EasyExitSMFL_Stat_BCM_Veh_State2_easy_Exit_Enable +#define BCM_EasyExitSMFL_Stat_BCM_Veh_State2_easy_Exit_Enable (1) +#endif + +#ifndef BCM_EasyExitSMFL_Stat_BCM_Veh_State2_easy_Exit_Disable +#define BCM_EasyExitSMFL_Stat_BCM_Veh_State2_easy_Exit_Disable (0) +#endif + + +// Value tables for @BCM_LccBtn_Stat signal + +#ifndef BCM_LccBtn_Stat_BCM_Veh_State2_Button_pressed +#define BCM_LccBtn_Stat_BCM_Veh_State2_Button_pressed (1) +#endif + +#ifndef BCM_LccBtn_Stat_BCM_Veh_State2_Button_not_pressed +#define BCM_LccBtn_Stat_BCM_Veh_State2_Button_not_pressed (0) +#endif + + +// Value tables for @BCM_LdwBtn_Stat signal + +#ifndef BCM_LdwBtn_Stat_BCM_Veh_State2_Button_pressed +#define BCM_LdwBtn_Stat_BCM_Veh_State2_Button_pressed (1) +#endif + +#ifndef BCM_LdwBtn_Stat_BCM_Veh_State2_Button_not_pressed +#define BCM_LdwBtn_Stat_BCM_Veh_State2_Button_not_pressed (0) +#endif + + +// Value tables for @BCM_AdasSensClear_Stat signal + +#ifndef BCM_AdasSensClear_Stat_BCM_Veh_State2_Washing_active +#define BCM_AdasSensClear_Stat_BCM_Veh_State2_Washing_active (1) +#endif + +#ifndef BCM_AdasSensClear_Stat_BCM_Veh_State2_Washing_inactive +#define BCM_AdasSensClear_Stat_BCM_Veh_State2_Washing_inactive (0) +#endif + + +// Value tables for @BCM_T15h_Deactivation_Req signal + +#ifndef BCM_T15h_Deactivation_Req_BCM_Veh_State2_Requested +#define BCM_T15h_Deactivation_Req_BCM_Veh_State2_Requested (1) +#endif + +#ifndef BCM_T15h_Deactivation_Req_BCM_Veh_State2_Not_requested +#define BCM_T15h_Deactivation_Req_BCM_Veh_State2_Not_requested (0) +#endif + + +// Value tables for @BCM_RemoteStart_Stat signal + +#ifndef BCM_RemoteStart_Stat_BCM_Veh_State2_Failure +#define BCM_RemoteStart_Stat_BCM_Veh_State2_Failure (3) +#endif + +#ifndef BCM_RemoteStart_Stat_BCM_Veh_State2_Active_Mode +#define BCM_RemoteStart_Stat_BCM_Veh_State2_Active_Mode (2) +#endif + +#ifndef BCM_RemoteStart_Stat_BCM_Veh_State2_Initialization_Mode +#define BCM_RemoteStart_Stat_BCM_Veh_State2_Initialization_Mode (1) +#endif + +#ifndef BCM_RemoteStart_Stat_BCM_Veh_State2_Inactive +#define BCM_RemoteStart_Stat_BCM_Veh_State2_Inactive (0) +#endif + + +// Value tables for @BCM_AntiTheft_Stat signal + +#ifndef BCM_AntiTheft_Stat_BCM_Veh_State2_Anti_Theft_Active_state +#define BCM_AntiTheft_Stat_BCM_Veh_State2_Anti_Theft_Active_state (1) +#endif + +#ifndef BCM_AntiTheft_Stat_BCM_Veh_State2_Anti_Theft_Inactive_state +#define BCM_AntiTheft_Stat_BCM_Veh_State2_Anti_Theft_Inactive_state (0) +#endif + + +// Value tables for @BCM_PanoramicViewLed_Cmd signal + +#ifndef BCM_PanoramicViewLed_Cmd_BCM_Veh_State2_On +#define BCM_PanoramicViewLed_Cmd_BCM_Veh_State2_On (1) +#endif + +#ifndef BCM_PanoramicViewLed_Cmd_BCM_Veh_State2_Off +#define BCM_PanoramicViewLed_Cmd_BCM_Veh_State2_Off (0) +#endif + +// signal: @BCM_ElcromeMirror_Req_ro +#define CANDB_BCM_ElcromeMirror_Req_ro_CovFactor (0.394) +#define CANDB_BCM_ElcromeMirror_Req_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.394)) ) +#define CANDB_BCM_ElcromeMirror_Req_ro_fromS(x) ( (((x) * (0.394)) + (0.0)) ) + +// Value tables for @BCM_AdasSensWSHeat_Req signal + +#ifndef BCM_AdasSensWSHeat_Req_BCM_Veh_State2_Error +#define BCM_AdasSensWSHeat_Req_BCM_Veh_State2_Error (2) +#endif + +#ifndef BCM_AdasSensWSHeat_Req_BCM_Veh_State2_On +#define BCM_AdasSensWSHeat_Req_BCM_Veh_State2_On (1) +#endif + +#ifndef BCM_AdasSensWSHeat_Req_BCM_Veh_State2_Off +#define BCM_AdasSensWSHeat_Req_BCM_Veh_State2_Off (0) +#endif + + +// Value tables for @BCM_RearWasherVlv_Req signal + +#ifndef BCM_RearWasherVlv_Req_BCM_Veh_State2_Rear_window_washer_valve_requested +#define BCM_RearWasherVlv_Req_BCM_Veh_State2_Rear_window_washer_valve_requested (1) +#endif + +#ifndef BCM_RearWasherVlv_Req_BCM_Veh_State2_Rear_window_washer_valve_not_requested +#define BCM_RearWasherVlv_Req_BCM_Veh_State2_Rear_window_washer_valve_not_requested (0) +#endif + + +// Value tables for @BCM_RoofControl_Req signal + +#ifndef BCM_RoofControl_Req_BCM_Veh_State2_No_request +#define BCM_RoofControl_Req_BCM_Veh_State2_No_request (0) +#endif + +#ifndef BCM_RoofControl_Req_BCM_Veh_State2_Open_roof_request +#define BCM_RoofControl_Req_BCM_Veh_State2_Open_roof_request (1) +#endif + +#ifndef BCM_RoofControl_Req_BCM_Veh_State2_Close_roof_request +#define BCM_RoofControl_Req_BCM_Veh_State2_Close_roof_request (2) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Parking assistent switch state + // 2 : "Switch requested long press" + // 1 : "Switch requested short press" + // 0 : "Not requested" + uint8_t BCM_MAS_Activation_Req : 2; // Bits= 2 + + // State of head-up display switch + // 1 : "Switch requested" + // 0 : "Not requested" + uint8_t BCM_HeadUpDispSw_Stat : 1; // Bits= 1 + + // Footrest RL status + // Status position footrest from BCM + // 3 : "Error" + // 2 : "Open (Unfolded)" + // 1 : "Intermediate" + // 0 : "Close (Folded)" + uint8_t BCM_FootrestRL_Stat : 2; // Bits= 2 + + // Footrest RR status + // Status position footrest from BCM + // 3 : "Error" + // 2 : "Open (Unfolded)" + // 1 : "Intermediate" + // 0 : "Close (Folded)" + uint8_t BCM_FootrestRR_Stat : 2; // Bits= 2 + + // Footrest RL warning status + // Straponten on warning on rear tablet + // 1 : "Warning" + // 0 : "No warning" + uint8_t BCM_FootrestRLWarning_Stat : 1; // Bits= 1 + + // Ambient temperature for inform an user + uint8_t BCM_AmbientTempHMI_ro; // Bits= 8 Offset= -50.0 Factor= 0.5 Unit:'�C' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_AmbientTempHMI_phys; +#endif // CANDB_USE_SIGFLOAT + + // The status of activating Switch for government communication. The InterCom System shall be deactivated after 5s, when switch active. + // 1 : "Government Com. Switch Active" + // 0 : "Government Com. Switch Inactive" + uint8_t BCM_GovernmentComSw_Stat : 1; // Bits= 1 + + // Request to on/off rear window heating control indicator + // 1 : "On" + // 0 : "Off" + uint8_t BCM_RearWindowHeatingLED : 1; // Bits= 1 + + // Footrest RR warning status + // Straponten on warning on rear tablet + // 1 : "Warning" + // 0 : "No warning" + uint8_t BCM_FootrestRRWarning_Stat : 1; // Bits= 1 + + // The status of handset for government communication, The Intercom system shall be deactivated immediatly, when handset is picked up. + // 1 : "Handset Picked Up" + // 0 : "Handset Not Picked Up" + uint8_t BCM_GovernmentHandset_Stat : 1; // Bits= 1 + + // Easy exit request to SMRL + // 1 : "easy Exit Enable" + // 0 : "easy Exit Disable" + uint8_t BCM_EasyExitSMRL_Stat : 1; // Bits= 1 + + // Easy exit request to SMRR + // 1 : "easy Exit Enable" + // 0 : "easy Exit Disable" + uint8_t BCM_EasyExitSMRR_Stat : 1; // Bits= 1 + + // Easy exit request to SMFR + // 1 : "easy Exit Enable" + // 0 : "easy Exit Disable" + uint8_t BCM_EasyExitSMFR_Stat : 1; // Bits= 1 + + // Easy exit request to SMFL + // 1 : "easy Exit Enable" + // 0 : "easy Exit Disable" + uint8_t BCM_EasyExitSMFL_Stat : 1; // Bits= 1 + + // Lane change Control button state + // 1 : "Button pressed" + // 0 : "Button not pressed" + uint8_t BCM_LccBtn_Stat : 1; // Bits= 1 + + // Lane departure warning control button state + // 1 : "Button pressed" + // 0 : "Button not pressed" + uint8_t BCM_LdwBtn_Stat : 1; // Bits= 1 + + // State of ADAS elements washing + // 1 : "Washing active" + // 0 : "Washing inactive" + uint8_t BCM_AdasSensClear_Stat : 1; // Bits= 1 + + // T15h terminal deactivation request signal from BCM. + // 1 : "Requested" + // 0 : "Not requested" + uint8_t BCM_T15h_Deactivation_Req : 1; // Bits= 1 + + // Satet of remote start process + // 3 : "Failure" + // 2 : "Active_Mode" + // 1 : "Initialization_Mode" + // 0 : "Inactive" + uint8_t BCM_RemoteStart_Stat : 2; // Bits= 2 + + // Status of activation Ani Theft system. + // 1 : "Anti Theft Active state" + // 0 : "Anti Theft Inactive state" + uint8_t BCM_AntiTheft_Stat : 1; // Bits= 1 + + // Request frrom BCM for activation LED indicator on Panoramic View Switch (CCPR) + // 1 : "On" + // 0 : "Off" + uint8_t BCM_PanoramicViewLed_Cmd : 1; // Bits= 1 + + // Request to control electrochrome of outside mirrors + uint8_t BCM_ElcromeMirror_Req_ro; // Bits= 8 Factor= 0.394 + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_ElcromeMirror_Req_phys; +#endif // CANDB_USE_SIGFLOAT + + // ADAS is requesting heat on wind sheeld + // 2 : "Error" + // 1 : "On" + // 0 : "Off" + uint8_t BCM_AdasSensWSHeat_Req : 2; // Bits= 2 + + // Rear window washer valve request + // 1 : "Rear window washer valve requested" + // 0 : "Rear window washer valve not requested" + uint8_t BCM_RearWasherVlv_Req : 1; // Bits= 1 + + // Soft roof control request + // 0 : "No request" + // 1 : "Open roof request" + // 2 : "Close roof request" + uint8_t BCM_RoofControl_Req : 2; // Bits= 2 + +#else + + // Parking assistent switch state + // 2 : "Switch requested long press" + // 1 : "Switch requested short press" + // 0 : "Not requested" + uint8_t BCM_MAS_Activation_Req; // Bits= 2 + + // State of head-up display switch + // 1 : "Switch requested" + // 0 : "Not requested" + uint8_t BCM_HeadUpDispSw_Stat; // Bits= 1 + + // Footrest RL status + // Status position footrest from BCM + // 3 : "Error" + // 2 : "Open (Unfolded)" + // 1 : "Intermediate" + // 0 : "Close (Folded)" + uint8_t BCM_FootrestRL_Stat; // Bits= 2 + + // Footrest RR status + // Status position footrest from BCM + // 3 : "Error" + // 2 : "Open (Unfolded)" + // 1 : "Intermediate" + // 0 : "Close (Folded)" + uint8_t BCM_FootrestRR_Stat; // Bits= 2 + + // Footrest RL warning status + // Straponten on warning on rear tablet + // 1 : "Warning" + // 0 : "No warning" + uint8_t BCM_FootrestRLWarning_Stat; // Bits= 1 + + // Ambient temperature for inform an user + uint8_t BCM_AmbientTempHMI_ro; // Bits= 8 Offset= -50.0 Factor= 0.5 Unit:'�C' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_AmbientTempHMI_phys; +#endif // CANDB_USE_SIGFLOAT + + // The status of activating Switch for government communication. The InterCom System shall be deactivated after 5s, when switch active. + // 1 : "Government Com. Switch Active" + // 0 : "Government Com. Switch Inactive" + uint8_t BCM_GovernmentComSw_Stat; // Bits= 1 + + // Request to on/off rear window heating control indicator + // 1 : "On" + // 0 : "Off" + uint8_t BCM_RearWindowHeatingLED; // Bits= 1 + + // Footrest RR warning status + // Straponten on warning on rear tablet + // 1 : "Warning" + // 0 : "No warning" + uint8_t BCM_FootrestRRWarning_Stat; // Bits= 1 + + // The status of handset for government communication, The Intercom system shall be deactivated immediatly, when handset is picked up. + // 1 : "Handset Picked Up" + // 0 : "Handset Not Picked Up" + uint8_t BCM_GovernmentHandset_Stat; // Bits= 1 + + // Easy exit request to SMRL + // 1 : "easy Exit Enable" + // 0 : "easy Exit Disable" + uint8_t BCM_EasyExitSMRL_Stat; // Bits= 1 + + // Easy exit request to SMRR + // 1 : "easy Exit Enable" + // 0 : "easy Exit Disable" + uint8_t BCM_EasyExitSMRR_Stat; // Bits= 1 + + // Easy exit request to SMFR + // 1 : "easy Exit Enable" + // 0 : "easy Exit Disable" + uint8_t BCM_EasyExitSMFR_Stat; // Bits= 1 + + // Easy exit request to SMFL + // 1 : "easy Exit Enable" + // 0 : "easy Exit Disable" + uint8_t BCM_EasyExitSMFL_Stat; // Bits= 1 + + // Lane change Control button state + // 1 : "Button pressed" + // 0 : "Button not pressed" + uint8_t BCM_LccBtn_Stat; // Bits= 1 + + // Lane departure warning control button state + // 1 : "Button pressed" + // 0 : "Button not pressed" + uint8_t BCM_LdwBtn_Stat; // Bits= 1 + + // State of ADAS elements washing + // 1 : "Washing active" + // 0 : "Washing inactive" + uint8_t BCM_AdasSensClear_Stat; // Bits= 1 + + // T15h terminal deactivation request signal from BCM. + // 1 : "Requested" + // 0 : "Not requested" + uint8_t BCM_T15h_Deactivation_Req; // Bits= 1 + + // Satet of remote start process + // 3 : "Failure" + // 2 : "Active_Mode" + // 1 : "Initialization_Mode" + // 0 : "Inactive" + uint8_t BCM_RemoteStart_Stat; // Bits= 2 + + // Status of activation Ani Theft system. + // 1 : "Anti Theft Active state" + // 0 : "Anti Theft Inactive state" + uint8_t BCM_AntiTheft_Stat; // Bits= 1 + + // Request frrom BCM for activation LED indicator on Panoramic View Switch (CCPR) + // 1 : "On" + // 0 : "Off" + uint8_t BCM_PanoramicViewLed_Cmd; // Bits= 1 + + // Request to control electrochrome of outside mirrors + uint8_t BCM_ElcromeMirror_Req_ro; // Bits= 8 Factor= 0.394 + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_ElcromeMirror_Req_phys; +#endif // CANDB_USE_SIGFLOAT + + // ADAS is requesting heat on wind sheeld + // 2 : "Error" + // 1 : "On" + // 0 : "Off" + uint8_t BCM_AdasSensWSHeat_Req; // Bits= 2 + + // Rear window washer valve request + // 1 : "Rear window washer valve requested" + // 0 : "Rear window washer valve not requested" + uint8_t BCM_RearWasherVlv_Req; // Bits= 1 + + // Soft roof control request + // 0 : "No request" + // 1 : "Open roof request" + // 2 : "Close roof request" + uint8_t BCM_RoofControl_Req; // Bits= 2 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} BCM_Veh_State2_t; + +// def @BCM_ALS_Light_Front CAN Message (643 0x283) +#define BCM_ALS_Light_Front_IDE (0U) +#define BCM_ALS_Light_Front_DLC (6U) +#define BCM_ALS_Light_Front_CANID (0x283U) + +// Value tables for @BCM_ALSZoneSelectFront_Stat signal + +#ifndef BCM_ALSZoneSelectFront_Stat_BCM_ALS_Light_Front_Front_and_rear_consoles_clock_and_automatic_gearbox_selector +#define BCM_ALSZoneSelectFront_Stat_BCM_ALS_Light_Front_Front_and_rear_consoles_clock_and_automatic_gearbox_selector (5) +#endif + +#ifndef BCM_ALSZoneSelectFront_Stat_BCM_ALS_Light_Front_Front_and_rear_consoles_clock +#define BCM_ALSZoneSelectFront_Stat_BCM_ALS_Light_Front_Front_and_rear_consoles_clock (4) +#endif + +#ifndef BCM_ALSZoneSelectFront_Stat_BCM_ALS_Light_Front_Automatic_gearbox_selector +#define BCM_ALSZoneSelectFront_Stat_BCM_ALS_Light_Front_Automatic_gearbox_selector (3) +#endif + +#ifndef BCM_ALSZoneSelectFront_Stat_BCM_ALS_Light_Front_Rear_console_clock +#define BCM_ALSZoneSelectFront_Stat_BCM_ALS_Light_Front_Rear_console_clock (2) +#endif + +#ifndef BCM_ALSZoneSelectFront_Stat_BCM_ALS_Light_Front_Front_console_clock +#define BCM_ALSZoneSelectFront_Stat_BCM_ALS_Light_Front_Front_console_clock (1) +#endif + +#ifndef BCM_ALSZoneSelectFront_Stat_BCM_ALS_Light_Front_Not_selected +#define BCM_ALSZoneSelectFront_Stat_BCM_ALS_Light_Front_Not_selected (0) +#endif + +// signal: @BCM_ALSFadingTimeFront_Val_ro +#define CANDB_BCM_ALSFadingTimeFront_Val_ro_CovFactor (0.1) +#define CANDB_BCM_ALSFadingTimeFront_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_BCM_ALSFadingTimeFront_Val_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) + +// Value tables for @BCM_ALSFadingFront_Req signal + +#ifndef BCM_ALSFadingFront_Req_BCM_ALS_Light_Front_Fading_ON_request +#define BCM_ALSFadingFront_Req_BCM_ALS_Light_Front_Fading_ON_request (1) +#endif + +#ifndef BCM_ALSFadingFront_Req_BCM_ALS_Light_Front_Fading_OFF_request +#define BCM_ALSFadingFront_Req_BCM_ALS_Light_Front_Fading_OFF_request (0) +#endif + + +// Value tables for @BCM_ALSLightStateFront_Req signal + +#ifndef BCM_ALSLightStateFront_Req_BCM_ALS_Light_Front_Light_ON_request +#define BCM_ALSLightStateFront_Req_BCM_ALS_Light_Front_Light_ON_request (1) +#endif + +#ifndef BCM_ALSLightStateFront_Req_BCM_ALS_Light_Front_Light_OFF_request +#define BCM_ALSLightStateFront_Req_BCM_ALS_Light_Front_Light_OFF_request (0) +#endif + +// signal: @BCM_ALSAmbIntensFront_Val_ro +#define CANDB_BCM_ALSAmbIntensFront_Val_ro_CovFactor (0.394) +#define CANDB_BCM_ALSAmbIntensFront_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.394)) ) +#define CANDB_BCM_ALSAmbIntensFront_Val_ro_fromS(x) ( (((x) * (0.394)) + (0.0)) ) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // BCM ALS zone select status + // Selected zone for ambient light set + // 5 : "Front and rear console's clock and automatic gearbox selector" + // 4 : "Front and rear console's clock" + // 3 : "Automatic gearbox selector" + // 2 : "Rear console clock" + // 1 : "Front console clock" + // 0 : "Not selected" + uint8_t BCM_ALSZoneSelectFront_Stat : 3; // Bits= 3 + + // BCM ALS fading time value + // (0..6.3)s illuminating fading time + uint8_t BCM_ALSFadingTimeFront_Val_ro : 6; // Bits= 6 Factor= 0.1 Unit:'s' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_ALSFadingTimeFront_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Smooth on/ off style illumination option selected or not for front zone + // 1 : "Fading ON request" + // 0 : "Fading OFF request" + uint8_t BCM_ALSFadingFront_Req : 1; // Bits= 1 + + // Request to on/ off style illumination for front zone + // 1 : "Light ON request" + // 0 : "Light OFF request" + uint8_t BCM_ALSLightStateFront_Req : 1; // Bits= 1 + + // BCM ALS intensity red value + // (0..255) range of red color intensity + uint8_t BCM_ALSIntensRedFront_Val; // Bits= 8 + + // BCM ALS intensity green value + // (0..255) range of green color intensity + uint8_t BCM_ALSIntensGreenFront_Val; // Bits= 8 + + // BCM ALS intensity blue value + // (0..255) range of blue color intensity + uint8_t BCM_ALSIntensBlueFront_Val; // Bits= 8 + + // BCM ALS ambient intensity value + // Ambient light overall intensity + uint8_t BCM_ALSAmbIntensFront_Val_ro; // Bits= 8 Factor= 0.394 + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_ALSAmbIntensFront_Val_phys; +#endif // CANDB_USE_SIGFLOAT + +#else + + // BCM ALS zone select status + // Selected zone for ambient light set + // 5 : "Front and rear console's clock and automatic gearbox selector" + // 4 : "Front and rear console's clock" + // 3 : "Automatic gearbox selector" + // 2 : "Rear console clock" + // 1 : "Front console clock" + // 0 : "Not selected" + uint8_t BCM_ALSZoneSelectFront_Stat; // Bits= 3 + + // BCM ALS fading time value + // (0..6.3)s illuminating fading time + uint8_t BCM_ALSFadingTimeFront_Val_ro; // Bits= 6 Factor= 0.1 Unit:'s' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_ALSFadingTimeFront_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Smooth on/ off style illumination option selected or not for front zone + // 1 : "Fading ON request" + // 0 : "Fading OFF request" + uint8_t BCM_ALSFadingFront_Req; // Bits= 1 + + // Request to on/ off style illumination for front zone + // 1 : "Light ON request" + // 0 : "Light OFF request" + uint8_t BCM_ALSLightStateFront_Req; // Bits= 1 + + // BCM ALS intensity red value + // (0..255) range of red color intensity + uint8_t BCM_ALSIntensRedFront_Val; // Bits= 8 + + // BCM ALS intensity green value + // (0..255) range of green color intensity + uint8_t BCM_ALSIntensGreenFront_Val; // Bits= 8 + + // BCM ALS intensity blue value + // (0..255) range of blue color intensity + uint8_t BCM_ALSIntensBlueFront_Val; // Bits= 8 + + // BCM ALS ambient intensity value + // Ambient light overall intensity + uint8_t BCM_ALSAmbIntensFront_Val_ro; // Bits= 8 Factor= 0.394 + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_ALSAmbIntensFront_Val_phys; +#endif // CANDB_USE_SIGFLOAT + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} BCM_ALS_Light_Front_t; + +// def @BCM_ALS_Light_Rear CAN Message (644 0x284) +#define BCM_ALS_Light_Rear_IDE (0U) +#define BCM_ALS_Light_Rear_DLC (6U) +#define BCM_ALS_Light_Rear_CANID (0x284U) +#define BCM_ALS_Light_Rear_CYC (100U) + +// Value tables for @BCM_ALSZoneSelectRear_Stat signal + +#ifndef BCM_ALSZoneSelectRear_Stat_BCM_ALS_Light_Rear_Rear_cupholder +#define BCM_ALSZoneSelectRear_Stat_BCM_ALS_Light_Rear_Rear_cupholder (6) +#endif + +#ifndef BCM_ALSZoneSelectRear_Stat_BCM_ALS_Light_Rear_All_zones +#define BCM_ALSZoneSelectRear_Stat_BCM_ALS_Light_Rear_All_zones (5) +#endif + +#ifndef BCM_ALSZoneSelectRear_Stat_BCM_ALS_Light_Rear_Front_and_rear_consoles_clock +#define BCM_ALSZoneSelectRear_Stat_BCM_ALS_Light_Rear_Front_and_rear_consoles_clock (4) +#endif + +#ifndef BCM_ALSZoneSelectRear_Stat_BCM_ALS_Light_Rear_Automatic_gearbox_selector +#define BCM_ALSZoneSelectRear_Stat_BCM_ALS_Light_Rear_Automatic_gearbox_selector (3) +#endif + +#ifndef BCM_ALSZoneSelectRear_Stat_BCM_ALS_Light_Rear_Rear_console_clock +#define BCM_ALSZoneSelectRear_Stat_BCM_ALS_Light_Rear_Rear_console_clock (2) +#endif + +#ifndef BCM_ALSZoneSelectRear_Stat_BCM_ALS_Light_Rear_Front_console_clock +#define BCM_ALSZoneSelectRear_Stat_BCM_ALS_Light_Rear_Front_console_clock (1) +#endif + +#ifndef BCM_ALSZoneSelectRear_Stat_BCM_ALS_Light_Rear_Not_selected +#define BCM_ALSZoneSelectRear_Stat_BCM_ALS_Light_Rear_Not_selected (0) +#endif + +// signal: @BCM_ALSFadingTimeRear_Val_ro +#define CANDB_BCM_ALSFadingTimeRear_Val_ro_CovFactor (0.1) +#define CANDB_BCM_ALSFadingTimeRear_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_BCM_ALSFadingTimeRear_Val_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) + +// Value tables for @BCM_ALSFadingRear_Req signal + +#ifndef BCM_ALSFadingRear_Req_BCM_ALS_Light_Rear_Fading_ON_request +#define BCM_ALSFadingRear_Req_BCM_ALS_Light_Rear_Fading_ON_request (1) +#endif + +#ifndef BCM_ALSFadingRear_Req_BCM_ALS_Light_Rear_Fading_OFF_request +#define BCM_ALSFadingRear_Req_BCM_ALS_Light_Rear_Fading_OFF_request (0) +#endif + + +// Value tables for @BCM_ALSLightStateRear_Req signal + +#ifndef BCM_ALSLightStateRear_Req_BCM_ALS_Light_Rear_Light_ON_request +#define BCM_ALSLightStateRear_Req_BCM_ALS_Light_Rear_Light_ON_request (1) +#endif + +#ifndef BCM_ALSLightStateRear_Req_BCM_ALS_Light_Rear_Light_OFF_request +#define BCM_ALSLightStateRear_Req_BCM_ALS_Light_Rear_Light_OFF_request (0) +#endif + +// signal: @BCM_ALSAmbIntensRear_Val_ro +#define CANDB_BCM_ALSAmbIntensRear_Val_ro_CovFactor (0.394) +#define CANDB_BCM_ALSAmbIntensRear_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.394)) ) +#define CANDB_BCM_ALSAmbIntensRear_Val_ro_fromS(x) ( (((x) * (0.394)) + (0.0)) ) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // BCM ALS zone select status + // Selected zone for ambient light set + // 6 : "Rear cupholder" + // 5 : "All zones" + // 4 : "Front and rear console's clock" + // 3 : "Automatic gearbox selector" + // 2 : "Rear console clock" + // 1 : "Front console clock" + // 0 : "Not selected" + uint8_t BCM_ALSZoneSelectRear_Stat : 3; // Bits= 3 + + // BCM ALS fading time value + // (0..6.3)s illuminating fading time + uint8_t BCM_ALSFadingTimeRear_Val_ro : 6; // Bits= 6 Factor= 0.1 + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_ALSFadingTimeRear_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Smooth on/ off style illumination option selected or not for rear zone + // 1 : "Fading ON request" + // 0 : "Fading OFF request" + uint8_t BCM_ALSFadingRear_Req : 1; // Bits= 1 + + // Request to on/ off style illumination for rear zone + // 1 : "Light ON request" + // 0 : "Light OFF request" + uint8_t BCM_ALSLightStateRear_Req : 1; // Bits= 1 + + // BCM ALS intensity red value + // (0..255) range of red color intensity + uint8_t BCM_ALSIntensRedRear_Val; // Bits= 8 + + // BCM ALS intensity green value + // (0..255) range of green color intensity + uint8_t BCM_ALSIntensGreenRear_Val; // Bits= 8 + + // BCM ALS intensity blue value + // (0..255) range of blue color intensity + uint8_t BCM_ALSIntensBlueRear_Val; // Bits= 8 + + // BCM ALS ambient intensity value + // Ambient light overall intensity + uint8_t BCM_ALSAmbIntensRear_Val_ro; // Bits= 8 Factor= 0.394 + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_ALSAmbIntensRear_Val_phys; +#endif // CANDB_USE_SIGFLOAT + +#else + + // BCM ALS zone select status + // Selected zone for ambient light set + // 6 : "Rear cupholder" + // 5 : "All zones" + // 4 : "Front and rear console's clock" + // 3 : "Automatic gearbox selector" + // 2 : "Rear console clock" + // 1 : "Front console clock" + // 0 : "Not selected" + uint8_t BCM_ALSZoneSelectRear_Stat; // Bits= 3 + + // BCM ALS fading time value + // (0..6.3)s illuminating fading time + uint8_t BCM_ALSFadingTimeRear_Val_ro; // Bits= 6 Factor= 0.1 + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_ALSFadingTimeRear_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Smooth on/ off style illumination option selected or not for rear zone + // 1 : "Fading ON request" + // 0 : "Fading OFF request" + uint8_t BCM_ALSFadingRear_Req; // Bits= 1 + + // Request to on/ off style illumination for rear zone + // 1 : "Light ON request" + // 0 : "Light OFF request" + uint8_t BCM_ALSLightStateRear_Req; // Bits= 1 + + // BCM ALS intensity red value + // (0..255) range of red color intensity + uint8_t BCM_ALSIntensRedRear_Val; // Bits= 8 + + // BCM ALS intensity green value + // (0..255) range of green color intensity + uint8_t BCM_ALSIntensGreenRear_Val; // Bits= 8 + + // BCM ALS intensity blue value + // (0..255) range of blue color intensity + uint8_t BCM_ALSIntensBlueRear_Val; // Bits= 8 + + // BCM ALS ambient intensity value + // Ambient light overall intensity + uint8_t BCM_ALSAmbIntensRear_Val_ro; // Bits= 8 Factor= 0.394 + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_ALSAmbIntensRear_Val_phys; +#endif // CANDB_USE_SIGFLOAT + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} BCM_ALS_Light_Rear_t; + +// def @BCM_Rear_Plafond_Light_Data CAN Message (645 0x285) +#define BCM_Rear_Plafond_Light_Data_IDE (0U) +#define BCM_Rear_Plafond_Light_Data_DLC (5U) +#define BCM_Rear_Plafond_Light_Data_CANID (0x285U) +#define BCM_Rear_Plafond_Light_Data_CYC (50U) +// signal: @BCM_PlafondRGBIntensityRear_Val_ro +#define CANDB_BCM_PlafondRGBIntensityRear_Val_ro_CovFactor (0.393) +#define CANDB_BCM_PlafondRGBIntensityRear_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.393)) ) +#define CANDB_BCM_PlafondRGBIntensityRear_Val_ro_fromS(x) ( (((x) * (0.393)) + (0.0)) ) +// signal: @BCM_Plafond_W_IntensityRear_Val_ro +#define CANDB_BCM_Plafond_W_IntensityRear_Val_ro_CovFactor (0.788) +#define CANDB_BCM_Plafond_W_IntensityRear_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.788)) ) +#define CANDB_BCM_Plafond_W_IntensityRear_Val_ro_fromS(x) ( (((x) * (0.788)) + (0.0)) ) + +// Value tables for @BCM_PlafondRGBStateRear_Req signal + +#ifndef BCM_PlafondRGBStateRear_Req_BCM_Rear_Plafond_Light_Data_RGB_Light_ON_request +#define BCM_PlafondRGBStateRear_Req_BCM_Rear_Plafond_Light_Data_RGB_Light_ON_request (1) +#endif + +#ifndef BCM_PlafondRGBStateRear_Req_BCM_Rear_Plafond_Light_Data_RGB_Light_OFF_request +#define BCM_PlafondRGBStateRear_Req_BCM_Rear_Plafond_Light_Data_RGB_Light_OFF_request (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // 0 to 255 range of red color intensity + uint8_t BCM_PlafondRedColorSetRear_Val; // Bits= 8 + + // 0 to 255 range of green color intensity + uint8_t BCM_PlafondGreenColorSetRear_Val; // Bits= 8 + + // 0 to 255 range of blue color intensity + uint8_t BCM_PlafondBlueColorSetRear_Val; // Bits= 8 + + // 0 to 100% RGB intensity value + uint8_t BCM_PlafondRGBIntensityRear_Val_ro; // Bits= 8 Factor= 0.393 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_PlafondRGBIntensityRear_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // 0 to 100% white color intensity value + uint8_t BCM_Plafond_W_IntensityRear_Val_ro : 7; // Bits= 7 Factor= 0.788 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_Plafond_W_IntensityRear_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Light on/ off state + // 1 : "RGB Light ON request" + // 0 : "RGB Light OFF request" + uint8_t BCM_PlafondRGBStateRear_Req : 1; // Bits= 1 + +#else + + // 0 to 255 range of red color intensity + uint8_t BCM_PlafondRedColorSetRear_Val; // Bits= 8 + + // 0 to 255 range of green color intensity + uint8_t BCM_PlafondGreenColorSetRear_Val; // Bits= 8 + + // 0 to 255 range of blue color intensity + uint8_t BCM_PlafondBlueColorSetRear_Val; // Bits= 8 + + // 0 to 100% RGB intensity value + uint8_t BCM_PlafondRGBIntensityRear_Val_ro; // Bits= 8 Factor= 0.393 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_PlafondRGBIntensityRear_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // 0 to 100% white color intensity value + uint8_t BCM_Plafond_W_IntensityRear_Val_ro; // Bits= 7 Factor= 0.788 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_Plafond_W_IntensityRear_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Light on/ off state + // 1 : "RGB Light ON request" + // 0 : "RGB Light OFF request" + uint8_t BCM_PlafondRGBStateRear_Req; // Bits= 1 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} BCM_Rear_Plafond_Light_Data_t; + // def @EMS_HVC_Req_Msg CAN Message (664 0x298) #define EMS_HVC_Req_Msg_IDE (0U) #define EMS_HVC_Req_Msg_DLC (3U) #define EMS_HVC_Req_Msg_CANID (0x298U) #define EMS_HVC_Req_Msg_CYC (200U) +// Value tables for @EMS_eCompHVRequest_Stat signal + +#ifndef EMS_eCompHVRequest_Stat_EMS_HVC_Req_Msg_HVactive +#define EMS_eCompHVRequest_Stat_EMS_HVC_Req_Msg_HVactive (1) +#endif + +#ifndef EMS_eCompHVRequest_Stat_EMS_HVC_Req_Msg_Standby +#define EMS_eCompHVRequest_Stat_EMS_HVC_Req_Msg_Standby (0) +#endif + + +// Value tables for @EMS_eCompOnPerm signal + +#ifndef EMS_eCompOnPerm_EMS_HVC_Req_Msg_HVC_might_be_activated +#define EMS_eCompOnPerm_EMS_HVC_Req_Msg_HVC_might_be_activated (1) +#endif + +#ifndef EMS_eCompOnPerm_EMS_HVC_Req_Msg_HVC_should_be_stopped +#define EMS_eCompOnPerm_EMS_HVC_Req_Msg_HVC_should_be_stopped (0) +#endif + + // Value tables for @EMS_eCompChiller_Req signal #ifndef EMS_eCompChiller_Req_EMS_HVC_Req_Msg_Chiller_activation_request @@ -1363,15 +16081,35 @@ typedef struct #define EMS_eCompChiller_Req_EMS_HVC_Req_Msg_No_request (0) #endif +// signal: @EMS_eCompHVCurLimit_Val_ro +#define CANDB_EMS_eCompHVCurLimit_Val_ro_CovFactor (0.1) +#define CANDB_EMS_eCompHVCurLimit_Val_ro_toS(x) ( (uint16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_EMS_eCompHVCurLimit_Val_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) typedef struct { #ifdef CANDB_USE_BITS_SIGNAL + // 1 : "HV-active" + // 0 : "Standby" + uint8_t EMS_eCompHVRequest_Stat : 1; // Bits= 1 + + // 1 : "HVC might be activated" + // 0 : "HVC should be stopped" + uint8_t EMS_eCompOnPerm : 1; // Bits= 1 + // 1 : "Chiller activation request" // 0 : "No request" uint8_t EMS_eCompChiller_Req : 1; // Bits= 1 + // Maximum current limitation: + // 0x1FF = Fault + uint16_t EMS_eCompHVCurLimit_Val_ro; // Bits= 9 Factor= 0.1 Unit:'A' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t EMS_eCompHVCurLimit_Val_phys; +#endif // CANDB_USE_SIGFLOAT + // Rolling Counter [0 - 15] uint8_t EMS_HVC_Req_RC : 4; // Bits= 4 @@ -1382,10 +16120,26 @@ typedef struct #else + // 1 : "HV-active" + // 0 : "Standby" + uint8_t EMS_eCompHVRequest_Stat; // Bits= 1 + + // 1 : "HVC might be activated" + // 0 : "HVC should be stopped" + uint8_t EMS_eCompOnPerm; // Bits= 1 + // 1 : "Chiller activation request" // 0 : "No request" uint8_t EMS_eCompChiller_Req; // Bits= 1 + // Maximum current limitation: + // 0x1FF = Fault + uint16_t EMS_eCompHVCurLimit_Val_ro; // Bits= 9 Factor= 0.1 Unit:'A' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t EMS_eCompHVCurLimit_Val_phys; +#endif // CANDB_USE_SIGFLOAT + // Rolling Counter [0 - 15] uint8_t EMS_HVC_Req_RC; // Bits= 4 @@ -1404,6 +16158,1205 @@ typedef struct } EMS_HVC_Req_Msg_t; +// def @SAS_Standard CAN Message (688 0x2b0) +#define SAS_Standard_IDE (0U) +#define SAS_Standard_DLC (5U) +#define SAS_Standard_CANID (0x2b0U) +#define SAS_Standard_CYC (10U) +// signal: @SAS_Angle_ro +#define CANDB_SAS_Angle_ro_CovFactor (0.1) +#define CANDB_SAS_Angle_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_SAS_Angle_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @SAS_Speed_ro +#define CANDB_SAS_Speed_ro_CovFactor (4) +#define CANDB_SAS_Speed_ro_toS(x) ( (uint8_t) ((x) / (4)) ) +#define CANDB_SAS_Speed_ro_fromS(x) ( ((x) * (4)) ) + +// Value tables for @SAS_OK_Stat signal + +#ifndef SAS_OK_Stat_SAS_Standard_sensor_information_valid +#define SAS_OK_Stat_SAS_Standard_sensor_information_valid (1) +#endif + +#ifndef SAS_OK_Stat_SAS_Standard_sensor_information_invalid_internal_sensor_fault +#define SAS_OK_Stat_SAS_Standard_sensor_information_invalid_internal_sensor_fault (0) +#endif + + +// Value tables for @SAS_CAL_Stat signal + +#ifndef SAS_CAL_Stat_SAS_Standard_sensor_calibrated +#define SAS_CAL_Stat_SAS_Standard_sensor_calibrated (1) +#endif + +#ifndef SAS_CAL_Stat_SAS_Standard_Sensor_not_calibrated +#define SAS_CAL_Stat_SAS_Standard_Sensor_not_calibrated (0) +#endif + + +// Value tables for @SAS_TRIM_Stat signal + +#ifndef SAS_TRIM_Stat_SAS_Standard_sensor_trimmer +#define SAS_TRIM_Stat_SAS_Standard_sensor_trimmer (1) +#endif + +#ifndef SAS_TRIM_Stat_SAS_Standard_Sensor_not_trimmed +#define SAS_TRIM_Stat_SAS_Standard_Sensor_not_trimmed (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Steering wheel angle. Signal outputs fault value if sensor is not calibrated or sensor has detected internal failure + int16_t SAS_Angle_ro; // [-] Bits=16 Factor= 0.1 Unit:'�' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SAS_Angle_phys; +#endif // CANDB_USE_SIGFLOAT + + // Steering Wheel rotation speed. Outputs fault value if sensor has detected internal failure. + uint8_t SAS_Speed_ro; // Bits= 8 Factor= 4 Unit:'�/s' + +#ifdef CANDB_USE_SIGFLOAT + uint16_t SAS_Speed_phys; +#endif // CANDB_USE_SIGFLOAT + + // Failure status. + // 1 : "sensor information valid" + // 0 : "sensor information invalid, internal sensor fault" + uint8_t SAS_OK_Stat : 1; // Bits= 1 + + // Calibration status + // 1 : "sensor calibrated" + // 0 : "Sensor not calibrated" + uint8_t SAS_CAL_Stat : 1; // Bits= 1 + + // Indicates trimming status of sensor done at development plants. Used only for development/ internal purposes at Bosch + // 1 : "sensor trimmer" + // 0 : "Sensor not trimmed" + uint8_t SAS_TRIM_Stat : 1; // Bits= 1 + + // Internal status flags SF1 up to SF5. Only for internal use at Bosch + uint8_t SAS_SF1_5_Stat : 5; // Bits= 5 + + // Rolling Counter [0 - 15] + uint8_t SAS_Standard_RC : 4; // Bits= 4 + + // Checksum XOR4 of the data field this message + // Temp_result = [SAS_Angle(Low byte)] XOR [SAS_Angle(High byte)] + // XOR [SAS_Speed] XOR [SAS_Stat] + // Checksum = [Temp_result (High 4bit)] XOR [Temp_result(Low 4bit)] XOR [MsgCount] + uint8_t SAS_Standard_CS : 4; // Bits= 4 + +#else + + // Steering wheel angle. Signal outputs fault value if sensor is not calibrated or sensor has detected internal failure + int16_t SAS_Angle_ro; // [-] Bits=16 Factor= 0.1 Unit:'�' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SAS_Angle_phys; +#endif // CANDB_USE_SIGFLOAT + + // Steering Wheel rotation speed. Outputs fault value if sensor has detected internal failure. + uint8_t SAS_Speed_ro; // Bits= 8 Factor= 4 Unit:'�/s' + +#ifdef CANDB_USE_SIGFLOAT + uint16_t SAS_Speed_phys; +#endif // CANDB_USE_SIGFLOAT + + // Failure status. + // 1 : "sensor information valid" + // 0 : "sensor information invalid, internal sensor fault" + uint8_t SAS_OK_Stat; // Bits= 1 + + // Calibration status + // 1 : "sensor calibrated" + // 0 : "Sensor not calibrated" + uint8_t SAS_CAL_Stat; // Bits= 1 + + // Indicates trimming status of sensor done at development plants. Used only for development/ internal purposes at Bosch + // 1 : "sensor trimmer" + // 0 : "Sensor not trimmed" + uint8_t SAS_TRIM_Stat; // Bits= 1 + + // Internal status flags SF1 up to SF5. Only for internal use at Bosch + uint8_t SAS_SF1_5_Stat; // Bits= 5 + + // Rolling Counter [0 - 15] + uint8_t SAS_Standard_RC; // Bits= 4 + + // Checksum XOR4 of the data field this message + // Temp_result = [SAS_Angle(Low byte)] XOR [SAS_Angle(High byte)] + // XOR [SAS_Speed] XOR [SAS_Stat] + // Checksum = [Temp_result (High 4bit)] XOR [Temp_result(Low 4bit)] XOR [MsgCount] + uint8_t SAS_Standard_CS; // Bits= 4 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} SAS_Standard_t; + +// def @IC_ABSOLUTE_CLOCK CAN Message (743 0x2e7) +#define IC_ABSOLUTE_CLOCK_IDE (0U) +#define IC_ABSOLUTE_CLOCK_DLC (6U) +#define IC_ABSOLUTE_CLOCK_CANID (0x2e7U) +#define IC_ABSOLUTE_CLOCK_CYC (1000U) + +// Value tables for @IC_AbsoluteDateAndTime signal + +#ifndef IC_AbsoluteDateAndTime_IC_ABSOLUTE_CLOCK_Fault_value +#define IC_AbsoluteDateAndTime_IC_ABSOLUTE_CLOCK_Fault_value (-1) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Absolute time initiated at the assembly line moment. + // UNIX Clock date and time information. + // Epoch time = year zero => UNIX Clock = 0 => 1 January 1970 + // The Unix time number is zero at the Unix epoch, and increases by exactly 86400 per day since the epoch + // -1 : "Fault value" + uint32_t IC_AbsoluteDateAndTime; // Bits=32 + + // Rolling Counter [0 - 15] + uint8_t IC_ABSOLUTE_CLOCK_RC : 4; // Bits= 4 + + // Checksum CRC8 SAE J1850 of the data field this message + uint8_t IC_ABSOLUTE_CLOCK_CS; // Bits= 8 + +#else + + // Absolute time initiated at the assembly line moment. + // UNIX Clock date and time information. + // Epoch time = year zero => UNIX Clock = 0 => 1 January 1970 + // The Unix time number is zero at the Unix epoch, and increases by exactly 86400 per day since the epoch + // -1 : "Fault value" + uint32_t IC_AbsoluteDateAndTime; // Bits=32 + + // Rolling Counter [0 - 15] + uint8_t IC_ABSOLUTE_CLOCK_RC; // Bits= 4 + + // Checksum CRC8 SAE J1850 of the data field this message + uint8_t IC_ABSOLUTE_CLOCK_CS; // Bits= 8 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} IC_ABSOLUTE_CLOCK_t; + +// def @BCM_Lock_CTR CAN Message (752 0x2f0) +#define BCM_Lock_CTR_IDE (0U) +#define BCM_Lock_CTR_DLC (7U) +#define BCM_Lock_CTR_CANID (0x2f0U) +#define BCM_Lock_CTR_CYC (50U) + +// Value tables for @VehicleLockStateReason signal + +#ifndef VehicleLockStateReason_BCM_Lock_CTR_Locked_by_ReLock +#define VehicleLockStateReason_BCM_Lock_CTR_Locked_by_ReLock (11) +#endif + +#ifndef VehicleLockStateReason_BCM_Lock_CTR_Locked_drive_away +#define VehicleLockStateReason_BCM_Lock_CTR_Locked_drive_away (10) +#endif + +#ifndef VehicleLockStateReason_BCM_Lock_CTR_Locked_PreCrash +#define VehicleLockStateReason_BCM_Lock_CTR_Locked_PreCrash (9) +#endif + +#ifndef VehicleLockStateReason_BCM_Lock_CTR_Locked_Internal +#define VehicleLockStateReason_BCM_Lock_CTR_Locked_Internal (8) +#endif + +#ifndef VehicleLockStateReason_BCM_Lock_CTR_Locked_External +#define VehicleLockStateReason_BCM_Lock_CTR_Locked_External (7) +#endif + +#ifndef VehicleLockStateReason_BCM_Lock_CTR_Unlocked_by_Theft_Action +#define VehicleLockStateReason_BCM_Lock_CTR_Unlocked_by_Theft_Action (6) +#endif + +#ifndef VehicleLockStateReason_BCM_Lock_CTR_Unlocked_Post_Crash +#define VehicleLockStateReason_BCM_Lock_CTR_Unlocked_Post_Crash (5) +#endif + +#ifndef VehicleLockStateReason_BCM_Lock_CTR_Unlocked_Int_Trunk_Only +#define VehicleLockStateReason_BCM_Lock_CTR_Unlocked_Int_Trunk_Only (4) +#endif + +#ifndef VehicleLockStateReason_BCM_Lock_CTR_Unlocked_Ext_Trunk_Only +#define VehicleLockStateReason_BCM_Lock_CTR_Unlocked_Ext_Trunk_Only (3) +#endif + +#ifndef VehicleLockStateReason_BCM_Lock_CTR_Unlocked_From_Internal +#define VehicleLockStateReason_BCM_Lock_CTR_Unlocked_From_Internal (2) +#endif + +#ifndef VehicleLockStateReason_BCM_Lock_CTR_Unlocked_From_External +#define VehicleLockStateReason_BCM_Lock_CTR_Unlocked_From_External (1) +#endif + +#ifndef VehicleLockStateReason_BCM_Lock_CTR_Unknown +#define VehicleLockStateReason_BCM_Lock_CTR_Unknown (0) +#endif + + +// Value tables for @BCM_FrontLeftLockCmd signal + +#ifndef BCM_FrontLeftLockCmd_BCM_Lock_CTR_DoubleLockDisable_Req +#define BCM_FrontLeftLockCmd_BCM_Lock_CTR_DoubleLockDisable_Req (4) +#endif + +#ifndef BCM_FrontLeftLockCmd_BCM_Lock_CTR_DoubleLock_Req +#define BCM_FrontLeftLockCmd_BCM_Lock_CTR_DoubleLock_Req (3) +#endif + +#ifndef BCM_FrontLeftLockCmd_BCM_Lock_CTR_SingleLock_Req +#define BCM_FrontLeftLockCmd_BCM_Lock_CTR_SingleLock_Req (2) +#endif + +#ifndef BCM_FrontLeftLockCmd_BCM_Lock_CTR_Unlock_Req +#define BCM_FrontLeftLockCmd_BCM_Lock_CTR_Unlock_Req (1) +#endif + +#ifndef BCM_FrontLeftLockCmd_BCM_Lock_CTR_No_Request +#define BCM_FrontLeftLockCmd_BCM_Lock_CTR_No_Request (0) +#endif + + +// Value tables for @BCM_TrunkLatchRelease_Req signal + +#ifndef BCM_TrunkLatchRelease_Req_BCM_Lock_CTR_Trunk_lid_unlock_requested +#define BCM_TrunkLatchRelease_Req_BCM_Lock_CTR_Trunk_lid_unlock_requested (1) +#endif + +#ifndef BCM_TrunkLatchRelease_Req_BCM_Lock_CTR_Not_requested +#define BCM_TrunkLatchRelease_Req_BCM_Lock_CTR_Not_requested (0) +#endif + + +// Value tables for @BCM_FrontRightLockCmd signal + +#ifndef BCM_FrontRightLockCmd_BCM_Lock_CTR_DoubleLockDisable_Req +#define BCM_FrontRightLockCmd_BCM_Lock_CTR_DoubleLockDisable_Req (4) +#endif + +#ifndef BCM_FrontRightLockCmd_BCM_Lock_CTR_DoubleLock_Req +#define BCM_FrontRightLockCmd_BCM_Lock_CTR_DoubleLock_Req (3) +#endif + +#ifndef BCM_FrontRightLockCmd_BCM_Lock_CTR_SingleLock_Req +#define BCM_FrontRightLockCmd_BCM_Lock_CTR_SingleLock_Req (2) +#endif + +#ifndef BCM_FrontRightLockCmd_BCM_Lock_CTR_Unlock_Req +#define BCM_FrontRightLockCmd_BCM_Lock_CTR_Unlock_Req (1) +#endif + +#ifndef BCM_FrontRightLockCmd_BCM_Lock_CTR_No_Request +#define BCM_FrontRightLockCmd_BCM_Lock_CTR_No_Request (0) +#endif + + +// Value tables for @PTG_MovementCmd signal + +#ifndef PTG_MovementCmd_BCM_Lock_CTR_Close +#define PTG_MovementCmd_BCM_Lock_CTR_Close (2) +#endif + +#ifndef PTG_MovementCmd_BCM_Lock_CTR_Open_ +#define PTG_MovementCmd_BCM_Lock_CTR_Open_ (1) +#endif + +#ifndef PTG_MovementCmd_BCM_Lock_CTR_Stop +#define PTG_MovementCmd_BCM_Lock_CTR_Stop (0) +#endif + + +// Value tables for @BCM_RearLeftLockCmd signal + +#ifndef BCM_RearLeftLockCmd_BCM_Lock_CTR_DoubleLockDisable_Req +#define BCM_RearLeftLockCmd_BCM_Lock_CTR_DoubleLockDisable_Req (4) +#endif + +#ifndef BCM_RearLeftLockCmd_BCM_Lock_CTR_DoubleLock_Req +#define BCM_RearLeftLockCmd_BCM_Lock_CTR_DoubleLock_Req (3) +#endif + +#ifndef BCM_RearLeftLockCmd_BCM_Lock_CTR_SingleLock_Req +#define BCM_RearLeftLockCmd_BCM_Lock_CTR_SingleLock_Req (2) +#endif + +#ifndef BCM_RearLeftLockCmd_BCM_Lock_CTR_Unlock_Req +#define BCM_RearLeftLockCmd_BCM_Lock_CTR_Unlock_Req (1) +#endif + +#ifndef BCM_RearLeftLockCmd_BCM_Lock_CTR_No_Request +#define BCM_RearLeftLockCmd_BCM_Lock_CTR_No_Request (0) +#endif + + +// Value tables for @BCM_RearRightLockCmd signal + +#ifndef BCM_RearRightLockCmd_BCM_Lock_CTR_DoubleLockDisable_Req +#define BCM_RearRightLockCmd_BCM_Lock_CTR_DoubleLockDisable_Req (4) +#endif + +#ifndef BCM_RearRightLockCmd_BCM_Lock_CTR_DoubleLock_Req +#define BCM_RearRightLockCmd_BCM_Lock_CTR_DoubleLock_Req (3) +#endif + +#ifndef BCM_RearRightLockCmd_BCM_Lock_CTR_SingleLock_Req +#define BCM_RearRightLockCmd_BCM_Lock_CTR_SingleLock_Req (2) +#endif + +#ifndef BCM_RearRightLockCmd_BCM_Lock_CTR_Unlock_Req +#define BCM_RearRightLockCmd_BCM_Lock_CTR_Unlock_Req (1) +#endif + +#ifndef BCM_RearRightLockCmd_BCM_Lock_CTR_No_Request +#define BCM_RearRightLockCmd_BCM_Lock_CTR_No_Request (0) +#endif + + +// Value tables for @BCM_FLDoorClose_Req signal + +#ifndef BCM_FLDoorClose_Req_BCM_Lock_CTR_Open_door +#define BCM_FLDoorClose_Req_BCM_Lock_CTR_Open_door (2) +#endif + +#ifndef BCM_FLDoorClose_Req_BCM_Lock_CTR_Close_door +#define BCM_FLDoorClose_Req_BCM_Lock_CTR_Close_door (1) +#endif + +#ifndef BCM_FLDoorClose_Req_BCM_Lock_CTR_No_action +#define BCM_FLDoorClose_Req_BCM_Lock_CTR_No_action (0) +#endif + + +// Value tables for @PTG_MemorySetRequest signal + +#ifndef PTG_MemorySetRequest_BCM_Lock_CTR_Clear_Memory +#define PTG_MemorySetRequest_BCM_Lock_CTR_Clear_Memory (2) +#endif + +#ifndef PTG_MemorySetRequest_BCM_Lock_CTR_Store_Position_in_memory +#define PTG_MemorySetRequest_BCM_Lock_CTR_Store_Position_in_memory (1) +#endif + +#ifndef PTG_MemorySetRequest_BCM_Lock_CTR_No_Request +#define PTG_MemorySetRequest_BCM_Lock_CTR_No_Request (0) +#endif + + +// Value tables for @VehicleLockState signal + +#ifndef VehicleLockState_BCM_Lock_CTR_Vehicle_locked +#define VehicleLockState_BCM_Lock_CTR_Vehicle_locked (1) +#endif + +#ifndef VehicleLockState_BCM_Lock_CTR_Vehicle_unlocked +#define VehicleLockState_BCM_Lock_CTR_Vehicle_unlocked (0) +#endif + + +// Value tables for @BCM_DoorAjarState_FL signal + +#ifndef BCM_DoorAjarState_FL_BCM_Lock_CTR_Fault +#define BCM_DoorAjarState_FL_BCM_Lock_CTR_Fault (3) +#endif + +#ifndef BCM_DoorAjarState_FL_BCM_Lock_CTR_Door_Opened +#define BCM_DoorAjarState_FL_BCM_Lock_CTR_Door_Opened (2) +#endif + +#ifndef BCM_DoorAjarState_FL_BCM_Lock_CTR_Door_Closed +#define BCM_DoorAjarState_FL_BCM_Lock_CTR_Door_Closed (1) +#endif + +#ifndef BCM_DoorAjarState_FL_BCM_Lock_CTR_Reserved +#define BCM_DoorAjarState_FL_BCM_Lock_CTR_Reserved (0) +#endif + + +// Value tables for @BCM_DoorAjarState_FR signal + +#ifndef BCM_DoorAjarState_FR_BCM_Lock_CTR_Fault +#define BCM_DoorAjarState_FR_BCM_Lock_CTR_Fault (3) +#endif + +#ifndef BCM_DoorAjarState_FR_BCM_Lock_CTR_Door_Opened +#define BCM_DoorAjarState_FR_BCM_Lock_CTR_Door_Opened (2) +#endif + +#ifndef BCM_DoorAjarState_FR_BCM_Lock_CTR_Door_Closed +#define BCM_DoorAjarState_FR_BCM_Lock_CTR_Door_Closed (1) +#endif + +#ifndef BCM_DoorAjarState_FR_BCM_Lock_CTR_Reserved +#define BCM_DoorAjarState_FR_BCM_Lock_CTR_Reserved (0) +#endif + + +// Value tables for @BCM_DoorAjarState_RL signal + +#ifndef BCM_DoorAjarState_RL_BCM_Lock_CTR_Fault +#define BCM_DoorAjarState_RL_BCM_Lock_CTR_Fault (3) +#endif + +#ifndef BCM_DoorAjarState_RL_BCM_Lock_CTR_Door_Opened +#define BCM_DoorAjarState_RL_BCM_Lock_CTR_Door_Opened (2) +#endif + +#ifndef BCM_DoorAjarState_RL_BCM_Lock_CTR_Door_Closed +#define BCM_DoorAjarState_RL_BCM_Lock_CTR_Door_Closed (1) +#endif + +#ifndef BCM_DoorAjarState_RL_BCM_Lock_CTR_Reserved +#define BCM_DoorAjarState_RL_BCM_Lock_CTR_Reserved (0) +#endif + + +// Value tables for @BCM_DoorAjarState_RR signal + +#ifndef BCM_DoorAjarState_RR_BCM_Lock_CTR_Fault +#define BCM_DoorAjarState_RR_BCM_Lock_CTR_Fault (3) +#endif + +#ifndef BCM_DoorAjarState_RR_BCM_Lock_CTR_Door_Opened +#define BCM_DoorAjarState_RR_BCM_Lock_CTR_Door_Opened (2) +#endif + +#ifndef BCM_DoorAjarState_RR_BCM_Lock_CTR_Door_Closed +#define BCM_DoorAjarState_RR_BCM_Lock_CTR_Door_Closed (1) +#endif + +#ifndef BCM_DoorAjarState_RR_BCM_Lock_CTR_Reserved +#define BCM_DoorAjarState_RR_BCM_Lock_CTR_Reserved (0) +#endif + + +// Value tables for @BCM_VehDoubleLock_Stat signal + +#ifndef BCM_VehDoubleLock_Stat_BCM_Lock_CTR_Double_lock_active +#define BCM_VehDoubleLock_Stat_BCM_Lock_CTR_Double_lock_active (1) +#endif + +#ifndef BCM_VehDoubleLock_Stat_BCM_Lock_CTR_Double_lock_inactive +#define BCM_VehDoubleLock_Stat_BCM_Lock_CTR_Double_lock_inactive (0) +#endif + + +// Value tables for @BCM_FuelLidUnlock_Req signal + +#ifndef BCM_FuelLidUnlock_Req_BCM_Lock_CTR_Unlock_fuel_lid +#define BCM_FuelLidUnlock_Req_BCM_Lock_CTR_Unlock_fuel_lid (1) +#endif + +#ifndef BCM_FuelLidUnlock_Req_BCM_Lock_CTR_No_Action +#define BCM_FuelLidUnlock_Req_BCM_Lock_CTR_No_Action (0) +#endif + + +// Value tables for @BCM_HVlid_Stat signal + +#ifndef BCM_HVlid_Stat_BCM_Lock_CTR_HV_lid_opened +#define BCM_HVlid_Stat_BCM_Lock_CTR_HV_lid_opened (1) +#endif + +#ifndef BCM_HVlid_Stat_BCM_Lock_CTR_HV_lid_closed +#define BCM_HVlid_Stat_BCM_Lock_CTR_HV_lid_closed (0) +#endif + + +// Value tables for @BCM_RRDoorClose_Req signal + +#ifndef BCM_RRDoorClose_Req_BCM_Lock_CTR_Open_door +#define BCM_RRDoorClose_Req_BCM_Lock_CTR_Open_door (2) +#endif + +#ifndef BCM_RRDoorClose_Req_BCM_Lock_CTR_Close_door +#define BCM_RRDoorClose_Req_BCM_Lock_CTR_Close_door (1) +#endif + +#ifndef BCM_RRDoorClose_Req_BCM_Lock_CTR_No_action +#define BCM_RRDoorClose_Req_BCM_Lock_CTR_No_action (0) +#endif + + +// Value tables for @BCM_WindowsClose_Cmd signal + +#ifndef BCM_WindowsClose_Cmd_BCM_Lock_CTR_Windows_Closing_command +#define BCM_WindowsClose_Cmd_BCM_Lock_CTR_Windows_Closing_command (1) +#endif + +#ifndef BCM_WindowsClose_Cmd_BCM_Lock_CTR_No_Command +#define BCM_WindowsClose_Cmd_BCM_Lock_CTR_No_Command (0) +#endif + + +// Value tables for @BCM_FRDoorClose_Req signal + +#ifndef BCM_FRDoorClose_Req_BCM_Lock_CTR_Open_door +#define BCM_FRDoorClose_Req_BCM_Lock_CTR_Open_door (2) +#endif + +#ifndef BCM_FRDoorClose_Req_BCM_Lock_CTR_Close_door +#define BCM_FRDoorClose_Req_BCM_Lock_CTR_Close_door (1) +#endif + +#ifndef BCM_FRDoorClose_Req_BCM_Lock_CTR_No_action +#define BCM_FRDoorClose_Req_BCM_Lock_CTR_No_action (0) +#endif + + +// Value tables for @BCM_HoodOpen_Stat signal + +#ifndef BCM_HoodOpen_Stat_BCM_Lock_CTR_Sensor_error +#define BCM_HoodOpen_Stat_BCM_Lock_CTR_Sensor_error (3) +#endif + +#ifndef BCM_HoodOpen_Stat_BCM_Lock_CTR_Hood_closed +#define BCM_HoodOpen_Stat_BCM_Lock_CTR_Hood_closed (2) +#endif + +#ifndef BCM_HoodOpen_Stat_BCM_Lock_CTR_Hood_opened +#define BCM_HoodOpen_Stat_BCM_Lock_CTR_Hood_opened (1) +#endif + +#ifndef BCM_HoodOpen_Stat_BCM_Lock_CTR_Reserved +#define BCM_HoodOpen_Stat_BCM_Lock_CTR_Reserved (0) +#endif + + +// Value tables for @BCM_PanicAlertActive signal + +#ifndef BCM_PanicAlertActive_BCM_Lock_CTR_Panic_Mode_Active +#define BCM_PanicAlertActive_BCM_Lock_CTR_Panic_Mode_Active (1) +#endif + +#ifndef BCM_PanicAlertActive_BCM_Lock_CTR_Panic_Mode_Inactive +#define BCM_PanicAlertActive_BCM_Lock_CTR_Panic_Mode_Inactive (0) +#endif + + +// Value tables for @BCM_RLDoorClose_Req signal + +#ifndef BCM_RLDoorClose_Req_BCM_Lock_CTR_Open_door +#define BCM_RLDoorClose_Req_BCM_Lock_CTR_Open_door (2) +#endif + +#ifndef BCM_RLDoorClose_Req_BCM_Lock_CTR_Close_door +#define BCM_RLDoorClose_Req_BCM_Lock_CTR_Close_door (1) +#endif + +#ifndef BCM_RLDoorClose_Req_BCM_Lock_CTR_No_action +#define BCM_RLDoorClose_Req_BCM_Lock_CTR_No_action (0) +#endif + + +// Value tables for @BCM_RearWiperWipe_Req signal + +#ifndef BCM_RearWiperWipe_Req_BCM_Lock_CTR_Requested +#define BCM_RearWiperWipe_Req_BCM_Lock_CTR_Requested (1) +#endif + +#ifndef BCM_RearWiperWipe_Req_BCM_Lock_CTR_No_requested +#define BCM_RearWiperWipe_Req_BCM_Lock_CTR_No_requested (0) +#endif + + +// Value tables for @BCM_AlarmOFF_Stat signal + +#ifndef BCM_AlarmOFF_Stat_BCM_Lock_CTR_Alarm_system_disabled +#define BCM_AlarmOFF_Stat_BCM_Lock_CTR_Alarm_system_disabled (1) +#endif + +#ifndef BCM_AlarmOFF_Stat_BCM_Lock_CTR_Alarm_system_enabled +#define BCM_AlarmOFF_Stat_BCM_Lock_CTR_Alarm_system_enabled (0) +#endif + + +// Value tables for @BCM_MovementSensOFF_Stat signal + +#ifndef BCM_MovementSensOFF_Stat_BCM_Lock_CTR_Sensor_inactive +#define BCM_MovementSensOFF_Stat_BCM_Lock_CTR_Sensor_inactive (1) +#endif + +#ifndef BCM_MovementSensOFF_Stat_BCM_Lock_CTR_Sensor_active +#define BCM_MovementSensOFF_Stat_BCM_Lock_CTR_Sensor_active (0) +#endif + + +// Value tables for @BCM_DoorMovDis_Stat signal + +#ifndef BCM_DoorMovDis_Stat_BCM_Lock_CTR_Door_movement_system_disabled +#define BCM_DoorMovDis_Stat_BCM_Lock_CTR_Door_movement_system_disabled (1) +#endif + +#ifndef BCM_DoorMovDis_Stat_BCM_Lock_CTR_Door_movement_system_enabled +#define BCM_DoorMovDis_Stat_BCM_Lock_CTR_Door_movement_system_enabled (0) +#endif + + +// Value tables for @BCM_Alarm_Req signal + +#ifndef BCM_Alarm_Req_BCM_Lock_CTR_Request_Active +#define BCM_Alarm_Req_BCM_Lock_CTR_Request_Active (1) +#endif + +#ifndef BCM_Alarm_Req_BCM_Lock_CTR_No_Request +#define BCM_Alarm_Req_BCM_Lock_CTR_No_Request (0) +#endif + + +// Value tables for @BCM_Alarm_Reason signal + +#ifndef BCM_Alarm_Reason_BCM_Lock_CTR_Hit_detected +#define BCM_Alarm_Reason_BCM_Lock_CTR_Hit_detected (10) +#endif + +#ifndef BCM_Alarm_Reason_BCM_Lock_CTR_Towing_detected +#define BCM_Alarm_Reason_BCM_Lock_CTR_Towing_detected (9) +#endif + +#ifndef BCM_Alarm_Reason_BCM_Lock_CTR_Hood_open +#define BCM_Alarm_Reason_BCM_Lock_CTR_Hood_open (8) +#endif + +#ifndef BCM_Alarm_Reason_BCM_Lock_CTR_Intrusion_level_2_requested +#define BCM_Alarm_Reason_BCM_Lock_CTR_Intrusion_level_2_requested (7) +#endif + +#ifndef BCM_Alarm_Reason_BCM_Lock_CTR_Intrusion_level_1_requested +#define BCM_Alarm_Reason_BCM_Lock_CTR_Intrusion_level_1_requested (6) +#endif + +#ifndef BCM_Alarm_Reason_BCM_Lock_CTR_TrunkLid_Open +#define BCM_Alarm_Reason_BCM_Lock_CTR_TrunkLid_Open (5) +#endif + +#ifndef BCM_Alarm_Reason_BCM_Lock_CTR_RR_door_open +#define BCM_Alarm_Reason_BCM_Lock_CTR_RR_door_open (4) +#endif + +#ifndef BCM_Alarm_Reason_BCM_Lock_CTR_RL_door_open +#define BCM_Alarm_Reason_BCM_Lock_CTR_RL_door_open (3) +#endif + +#ifndef BCM_Alarm_Reason_BCM_Lock_CTR_FR_door_open +#define BCM_Alarm_Reason_BCM_Lock_CTR_FR_door_open (2) +#endif + +#ifndef BCM_Alarm_Reason_BCM_Lock_CTR_FL_door_open +#define BCM_Alarm_Reason_BCM_Lock_CTR_FL_door_open (1) +#endif + +#ifndef BCM_Alarm_Reason_BCM_Lock_CTR_No_Reasons +#define BCM_Alarm_Reason_BCM_Lock_CTR_No_Reasons (0) +#endif + + +// Value tables for @BCM_DoorHandleLight_Req signal + +#ifndef BCM_DoorHandleLight_Req_BCM_Lock_CTR_Requested +#define BCM_DoorHandleLight_Req_BCM_Lock_CTR_Requested (1) +#endif + +#ifndef BCM_DoorHandleLight_Req_BCM_Lock_CTR_No_requested +#define BCM_DoorHandleLight_Req_BCM_Lock_CTR_No_requested (0) +#endif + + +// Value tables for @BCM_WindowsOpen_Req signal + +#ifndef BCM_WindowsOpen_Req_BCM_Lock_CTR_Windows_Opening_requested +#define BCM_WindowsOpen_Req_BCM_Lock_CTR_Windows_Opening_requested (1) +#endif + +#ifndef BCM_WindowsOpen_Req_BCM_Lock_CTR_Not_requested +#define BCM_WindowsOpen_Req_BCM_Lock_CTR_Not_requested (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Reason of vehicle lock state + // 11 : "Locked by Re-Lock" + // 10 : "Locked drive away" + // 9 : "Locked Pre-Crash" + // 8 : "Locked Internal" + // 7 : "Locked External" + // 6 : "Unlocked by Theft Action" + // 5 : "Unlocked Post Crash" + // 4 : "Unlocked Int. Trunk Only" + // 3 : "Unlocked Ext. Trunk Only" + // 2 : "Unlocked From Internal" + // 1 : "Unlocked From External" + // 0 : "Unknown" + uint8_t VehicleLockStateReason : 4; // Bits= 4 + + // $0 = NO_ACTION + // $1 = UNLOCK + // $2 = LOCK + // $3 = SECURE_LOCK + // $4 = UNSECURE_LOCK + // 4 : "DoubleLockDisable_Req" + // 3 : "DoubleLock_Req" + // 2 : "SingleLock_Req" + // 1 : "Unlock_Req" + // 0 : "No_Request" + uint8_t BCM_FrontLeftLockCmd : 3; // Bits= 3 + + // Indicates whether the trunk latch is commanded to be released or not + // 1 : "Trunk lid unlock requested" + // 0 : "Not requested" + uint8_t BCM_TrunkLatchRelease_Req : 1; // Bits= 1 + + // $0 = NO_ACTION + // $1 = UNLOCK + // $2 = LOCK + // $3 = SECURE_LOCK + // $4 = UNSECURE_LOCK + // 4 : "DoubleLockDisable_Req" + // 3 : "DoubleLock_Req" + // 2 : "SingleLock_Req" + // 1 : "Unlock_Req" + // 0 : "No_Request" + uint8_t BCM_FrontRightLockCmd : 3; // Bits= 3 + + // Indicates the power tailgate movement command: + // 0x0 = Stop + // 0x1 = Open + // 0x2 = Close + // 2 : "Close" + // 1 : "Open " + // 0 : "Stop" + uint8_t PTG_MovementCmd : 2; // Bits= 2 + + // $0 = NO_ACTION + // $1 = UNLOCK + // $2 = LOCK + // $3 = SECURE_LOCK + // $4 = UNSECURE_LOCK + // 4 : "DoubleLockDisable_Req" + // 3 : "DoubleLock_Req" + // 2 : "SingleLock_Req" + // 1 : "Unlock_Req" + // 0 : "No_Request" + uint8_t BCM_RearLeftLockCmd : 3; // Bits= 3 + + // $0 = NO_ACTION + // $1 = UNLOCK + // $2 = LOCK + // $3 = SECURE_LOCK + // $4 = UNSECURE_LOCK + // 4 : "DoubleLockDisable_Req" + // 3 : "DoubleLock_Req" + // 2 : "SingleLock_Req" + // 1 : "Unlock_Req" + // 0 : "No_Request" + uint8_t BCM_RearRightLockCmd : 3; // Bits= 3 + + // Current command to control movement of FL door + // 2 : "Open door" + // 1 : "Close door" + // 0 : "No action" + uint8_t BCM_FLDoorClose_Req : 2; // Bits= 2 + + // Request of storing or clearing the power tailgate position in memory: + // $0 = No Action + // $1 = Store memory + // $2 = Clear memory + // 2 : "Clear Memory" + // 1 : "Store Position in memory" + // 0 : "No Request" + uint8_t PTG_MemorySetRequest : 2; // Bits= 2 + + // State of vehicle side doors and trunk locks: locked or unlocked + // 1 : "Vehicle locked" + // 0 : "Vehicle unlocked" + uint8_t VehicleLockState : 1; // Bits= 1 + + // State of FL door Only for ESC. + // 3 : "Fault" + // 2 : "Door Opened" + // 1 : "Door Closed" + // 0 : "Reserved" + uint8_t BCM_DoorAjarState_FL : 2; // Bits= 2 + + // The signal only for active safety system + // 3 : "Fault" + // 2 : "Door Opened" + // 1 : "Door Closed" + // 0 : "Reserved" + uint8_t BCM_DoorAjarState_FR : 2; // Bits= 2 + + // State of RL door (legacy signal) + // 3 : "Fault" + // 2 : "Door Opened" + // 1 : "Door Closed" + // 0 : "Reserved" + uint8_t BCM_DoorAjarState_RL : 2; // Bits= 2 + + // State of RR door (legacy signal + // 3 : "Fault" + // 2 : "Door Opened" + // 1 : "Door Closed" + // 0 : "Reserved" + uint8_t BCM_DoorAjarState_RR : 2; // Bits= 2 + + // Vehicle secure locking status + // 1 : "Double lock active" + // 0 : "Double lock inactive" + uint8_t BCM_VehDoubleLock_Stat : 1; // Bits= 1 + + // Fuel (gasoline or hydrogen) and high-voltage lid unlock command + // 1 : "Unlock fuel lid" + // 0 : "No Action" + uint8_t BCM_FuelLidUnlock_Req : 1; // Bits= 1 + + // HV lid open status + // 1 : "HV lid opened" + // 0 : "HV lid closed" + uint8_t BCM_HVlid_Stat : 1; // Bits= 1 + + // Command to control RR door opening/ closing + // 2 : "Open door" + // 1 : "Close door" + // 0 : "No action" + uint8_t BCM_RRDoorClose_Req : 2; // Bits= 2 + + // The BCM shall command to Close the windows, when user request is detect. + // 1 : "Windows Closing command" + // 0 : "No Command" + uint8_t BCM_WindowsClose_Cmd : 1; // Bits= 1 + + // Current command to control movement of FR door + // 2 : "Open door" + // 1 : "Close door" + // 0 : "No action" + uint8_t BCM_FRDoorClose_Req : 2; // Bits= 2 + + // Current status of hood + // 3 : "Sensor error" + // 2 : "Hood closed" + // 1 : "Hood opened" + // 0 : "Reserved" + uint8_t BCM_HoodOpen_Stat : 2; // Bits= 2 + + // State of Panic Mode activation + // 1 : "Panic Mode Active" + // 0 : "Panic Mode Inactive" + uint8_t BCM_PanicAlertActive : 1; // Bits= 1 + + // Command to control RL door opening/ closing + // 2 : "Open door" + // 1 : "Close door" + // 0 : "No action" + uint8_t BCM_RLDoorClose_Req : 2; // Bits= 2 + + // Indicate a rear wiper wipe request + // 1 : "Requested" + // 0 : "No requested" + uint8_t BCM_RearWiperWipe_Req : 1; // Bits= 1 + + // Disabling alarm system + // 1 : "Alarm system disabled" + // 0 : "Alarm system enabled" + uint8_t BCM_AlarmOFF_Stat : 1; // Bits= 1 + + // State of movement sensor actvation + // 1 : "Sensor inactive" + // 0 : "Sensor active" + uint8_t BCM_MovementSensOFF_Stat : 1; // Bits= 1 + + // Door movement system status + // 1 : "Door movement system disabled" + // 0 : "Door movement system enabled" + uint8_t BCM_DoorMovDis_Stat : 1; // Bits= 1 + + // Indicates if at least one alarm reason active or not + // 1 : "Request_Active" + // 0 : "No_Request" + uint8_t BCM_Alarm_Req : 1; // Bits= 1 + + // Reason of vehicle alarm function actuation + // 10 : "Hit detected" + // 9 : "Towing detected" + // 8 : "Hood open" + // 7 : "Intrusion level 2 requested" + // 6 : "Intrusion level 1 requested" + // 5 : "TrunkLid_Open" + // 4 : "RR door open" + // 3 : "RL door open" + // 2 : "FR door open" + // 1 : "FL door open" + // 0 : "No_Reasons" + uint8_t BCM_Alarm_Reason : 4; // Bits= 4 + + // Command to control exterior door handle lights + // 1 : "Requested" + // 0 : "No requested" + uint8_t BCM_DoorHandleLight_Req : 1; // Bits= 1 + + // The BCM shall command to Open the windows, when user request is detect. + // 1 : "Windows Opening requested" + // 0 : "Not requested" + uint8_t BCM_WindowsOpen_Req : 1; // Bits= 1 + +#else + + // Reason of vehicle lock state + // 11 : "Locked by Re-Lock" + // 10 : "Locked drive away" + // 9 : "Locked Pre-Crash" + // 8 : "Locked Internal" + // 7 : "Locked External" + // 6 : "Unlocked by Theft Action" + // 5 : "Unlocked Post Crash" + // 4 : "Unlocked Int. Trunk Only" + // 3 : "Unlocked Ext. Trunk Only" + // 2 : "Unlocked From Internal" + // 1 : "Unlocked From External" + // 0 : "Unknown" + uint8_t VehicleLockStateReason; // Bits= 4 + + // $0 = NO_ACTION + // $1 = UNLOCK + // $2 = LOCK + // $3 = SECURE_LOCK + // $4 = UNSECURE_LOCK + // 4 : "DoubleLockDisable_Req" + // 3 : "DoubleLock_Req" + // 2 : "SingleLock_Req" + // 1 : "Unlock_Req" + // 0 : "No_Request" + uint8_t BCM_FrontLeftLockCmd; // Bits= 3 + + // Indicates whether the trunk latch is commanded to be released or not + // 1 : "Trunk lid unlock requested" + // 0 : "Not requested" + uint8_t BCM_TrunkLatchRelease_Req; // Bits= 1 + + // $0 = NO_ACTION + // $1 = UNLOCK + // $2 = LOCK + // $3 = SECURE_LOCK + // $4 = UNSECURE_LOCK + // 4 : "DoubleLockDisable_Req" + // 3 : "DoubleLock_Req" + // 2 : "SingleLock_Req" + // 1 : "Unlock_Req" + // 0 : "No_Request" + uint8_t BCM_FrontRightLockCmd; // Bits= 3 + + // Indicates the power tailgate movement command: + // 0x0 = Stop + // 0x1 = Open + // 0x2 = Close + // 2 : "Close" + // 1 : "Open " + // 0 : "Stop" + uint8_t PTG_MovementCmd; // Bits= 2 + + // $0 = NO_ACTION + // $1 = UNLOCK + // $2 = LOCK + // $3 = SECURE_LOCK + // $4 = UNSECURE_LOCK + // 4 : "DoubleLockDisable_Req" + // 3 : "DoubleLock_Req" + // 2 : "SingleLock_Req" + // 1 : "Unlock_Req" + // 0 : "No_Request" + uint8_t BCM_RearLeftLockCmd; // Bits= 3 + + // $0 = NO_ACTION + // $1 = UNLOCK + // $2 = LOCK + // $3 = SECURE_LOCK + // $4 = UNSECURE_LOCK + // 4 : "DoubleLockDisable_Req" + // 3 : "DoubleLock_Req" + // 2 : "SingleLock_Req" + // 1 : "Unlock_Req" + // 0 : "No_Request" + uint8_t BCM_RearRightLockCmd; // Bits= 3 + + // Current command to control movement of FL door + // 2 : "Open door" + // 1 : "Close door" + // 0 : "No action" + uint8_t BCM_FLDoorClose_Req; // Bits= 2 + + // Request of storing or clearing the power tailgate position in memory: + // $0 = No Action + // $1 = Store memory + // $2 = Clear memory + // 2 : "Clear Memory" + // 1 : "Store Position in memory" + // 0 : "No Request" + uint8_t PTG_MemorySetRequest; // Bits= 2 + + // State of vehicle side doors and trunk locks: locked or unlocked + // 1 : "Vehicle locked" + // 0 : "Vehicle unlocked" + uint8_t VehicleLockState; // Bits= 1 + + // State of FL door Only for ESC. + // 3 : "Fault" + // 2 : "Door Opened" + // 1 : "Door Closed" + // 0 : "Reserved" + uint8_t BCM_DoorAjarState_FL; // Bits= 2 + + // The signal only for active safety system + // 3 : "Fault" + // 2 : "Door Opened" + // 1 : "Door Closed" + // 0 : "Reserved" + uint8_t BCM_DoorAjarState_FR; // Bits= 2 + + // State of RL door (legacy signal) + // 3 : "Fault" + // 2 : "Door Opened" + // 1 : "Door Closed" + // 0 : "Reserved" + uint8_t BCM_DoorAjarState_RL; // Bits= 2 + + // State of RR door (legacy signal + // 3 : "Fault" + // 2 : "Door Opened" + // 1 : "Door Closed" + // 0 : "Reserved" + uint8_t BCM_DoorAjarState_RR; // Bits= 2 + + // Vehicle secure locking status + // 1 : "Double lock active" + // 0 : "Double lock inactive" + uint8_t BCM_VehDoubleLock_Stat; // Bits= 1 + + // Fuel (gasoline or hydrogen) and high-voltage lid unlock command + // 1 : "Unlock fuel lid" + // 0 : "No Action" + uint8_t BCM_FuelLidUnlock_Req; // Bits= 1 + + // HV lid open status + // 1 : "HV lid opened" + // 0 : "HV lid closed" + uint8_t BCM_HVlid_Stat; // Bits= 1 + + // Command to control RR door opening/ closing + // 2 : "Open door" + // 1 : "Close door" + // 0 : "No action" + uint8_t BCM_RRDoorClose_Req; // Bits= 2 + + // The BCM shall command to Close the windows, when user request is detect. + // 1 : "Windows Closing command" + // 0 : "No Command" + uint8_t BCM_WindowsClose_Cmd; // Bits= 1 + + // Current command to control movement of FR door + // 2 : "Open door" + // 1 : "Close door" + // 0 : "No action" + uint8_t BCM_FRDoorClose_Req; // Bits= 2 + + // Current status of hood + // 3 : "Sensor error" + // 2 : "Hood closed" + // 1 : "Hood opened" + // 0 : "Reserved" + uint8_t BCM_HoodOpen_Stat; // Bits= 2 + + // State of Panic Mode activation + // 1 : "Panic Mode Active" + // 0 : "Panic Mode Inactive" + uint8_t BCM_PanicAlertActive; // Bits= 1 + + // Command to control RL door opening/ closing + // 2 : "Open door" + // 1 : "Close door" + // 0 : "No action" + uint8_t BCM_RLDoorClose_Req; // Bits= 2 + + // Indicate a rear wiper wipe request + // 1 : "Requested" + // 0 : "No requested" + uint8_t BCM_RearWiperWipe_Req; // Bits= 1 + + // Disabling alarm system + // 1 : "Alarm system disabled" + // 0 : "Alarm system enabled" + uint8_t BCM_AlarmOFF_Stat; // Bits= 1 + + // State of movement sensor actvation + // 1 : "Sensor inactive" + // 0 : "Sensor active" + uint8_t BCM_MovementSensOFF_Stat; // Bits= 1 + + // Door movement system status + // 1 : "Door movement system disabled" + // 0 : "Door movement system enabled" + uint8_t BCM_DoorMovDis_Stat; // Bits= 1 + + // Indicates if at least one alarm reason active or not + // 1 : "Request_Active" + // 0 : "No_Request" + uint8_t BCM_Alarm_Req; // Bits= 1 + + // Reason of vehicle alarm function actuation + // 10 : "Hit detected" + // 9 : "Towing detected" + // 8 : "Hood open" + // 7 : "Intrusion level 2 requested" + // 6 : "Intrusion level 1 requested" + // 5 : "TrunkLid_Open" + // 4 : "RR door open" + // 3 : "RL door open" + // 2 : "FR door open" + // 1 : "FL door open" + // 0 : "No_Reasons" + uint8_t BCM_Alarm_Reason; // Bits= 4 + + // Command to control exterior door handle lights + // 1 : "Requested" + // 0 : "No requested" + uint8_t BCM_DoorHandleLight_Req; // Bits= 1 + + // The BCM shall command to Open the windows, when user request is detect. + // 1 : "Windows Opening requested" + // 0 : "Not requested" + uint8_t BCM_WindowsOpen_Req; // Bits= 1 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} BCM_Lock_CTR_t; + // def @HVC_Err_Status_Msg CAN Message (773 0x305) #define HVC_Err_Status_Msg_IDE (0U) #define HVC_Err_Status_Msg_DLC (8U) @@ -1837,6 +17790,100 @@ typedef struct } HVC_Err_Status_Msg_t; +// def @BCM_DCDC12_CNTRL CAN Message (776 0x308) +#define BCM_DCDC12_CNTRL_IDE (0U) +#define BCM_DCDC12_CNTRL_DLC (8U) +#define BCM_DCDC12_CNTRL_CANID (0x308U) +#define BCM_DCDC12_CNTRL_CYC (10U) +// signal: @BCM_DCDC1248_CurrLim12_ro +#define CANDB_BCM_DCDC1248_CurrLim12_ro_CovFactor (1) +#define CANDB_BCM_DCDC1248_CurrLim12_ro_toS(x) ( (uint16_t) ((x) - (-255)) ) +#define CANDB_BCM_DCDC1248_CurrLim12_ro_fromS(x) ( ((x) + (-255)) ) +// signal: @BCM_DCDC1248_DesVolt12_ro +#define CANDB_BCM_DCDC1248_DesVolt12_ro_CovFactor (0.1) +#define CANDB_BCM_DCDC1248_DesVolt12_ro_toS(x) ( (uint16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_BCM_DCDC1248_DesVolt12_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @BCM_Volt_DCDC12_Req_ro +#define CANDB_BCM_Volt_DCDC12_Req_ro_CovFactor (0.125) +#define CANDB_BCM_Volt_DCDC12_Req_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.125)) ) +#define CANDB_BCM_Volt_DCDC12_Req_ro_fromS(x) ( (((x) * (0.125)) + (0.0)) ) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Checksum CRC8 SAE J1850 of the data field this message + uint8_t BCM_DCDC1248_01_CS; // Bits= 8 + + // Rolling Counter [0 - 15] + uint8_t BCM_DCDC1248_01_RC : 4; // Bits= 4 + + // Current limit for DCDC 12/48V (48 ->12V) convertor + uint16_t BCM_DCDC1248_CurrLim12_ro; // Bits= 9 Offset= -255 Unit:'A' + +#ifdef CANDB_USE_SIGFLOAT + int16_t BCM_DCDC1248_CurrLim12_phys; +#endif // CANDB_USE_SIGFLOAT + + // Target voltage level for DCDC 12/48V (48 ->12V) convertor + uint16_t BCM_DCDC1248_DesVolt12_ro; // Bits=10 Factor= 0.1 Unit:'V' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_DCDC1248_DesVolt12_phys; +#endif // CANDB_USE_SIGFLOAT + + // Target voltage level for DCDC12V (800 ->12V) convertor + uint8_t BCM_Volt_DCDC12_Req_ro; // Bits= 8 Factor= 0.125 Unit:'V' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_Volt_DCDC12_Req_phys; +#endif // CANDB_USE_SIGFLOAT + + // Current limit for DCDC12V (800 ->12V) convertor + uint8_t BCM_CurrLim_DCDC12; // Bits= 8 Unit:'A' + +#else + + // Checksum CRC8 SAE J1850 of the data field this message + uint8_t BCM_DCDC1248_01_CS; // Bits= 8 + + // Rolling Counter [0 - 15] + uint8_t BCM_DCDC1248_01_RC; // Bits= 4 + + // Current limit for DCDC 12/48V (48 ->12V) convertor + uint16_t BCM_DCDC1248_CurrLim12_ro; // Bits= 9 Offset= -255 Unit:'A' + +#ifdef CANDB_USE_SIGFLOAT + int16_t BCM_DCDC1248_CurrLim12_phys; +#endif // CANDB_USE_SIGFLOAT + + // Target voltage level for DCDC 12/48V (48 ->12V) convertor + uint16_t BCM_DCDC1248_DesVolt12_ro; // Bits=10 Factor= 0.1 Unit:'V' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_DCDC1248_DesVolt12_phys; +#endif // CANDB_USE_SIGFLOAT + + // Target voltage level for DCDC12V (800 ->12V) convertor + uint8_t BCM_Volt_DCDC12_Req_ro; // Bits= 8 Factor= 0.125 Unit:'V' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_Volt_DCDC12_Req_phys; +#endif // CANDB_USE_SIGFLOAT + + // Current limit for DCDC12V (800 ->12V) convertor + uint8_t BCM_CurrLim_DCDC12; // Bits= 8 Unit:'A' + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} BCM_DCDC12_CNTRL_t; + // def @CCU_HVC_Req_Msg CAN Message (784 0x310) #define CCU_HVC_Req_Msg_IDE (0U) #define CCU_HVC_Req_Msg_DLC (3U) @@ -4178,6 +20225,955 @@ typedef struct } CCU_VCU_Msg2_t; +// def @BCM_IC_Info_Msg CAN Message (866 0x362) +#define BCM_IC_Info_Msg_IDE (0U) +#define BCM_IC_Info_Msg_DLC (8U) +#define BCM_IC_Info_Msg_CANID (0x362U) +#define BCM_IC_Info_Msg_CYC (1000U) + +// Value tables for @BCM_WasherFluidLevel signal + +#ifndef BCM_WasherFluidLevel_BCM_IC_Info_Msg_Water_fluid_low_level +#define BCM_WasherFluidLevel_BCM_IC_Info_Msg_Water_fluid_low_level (1) +#endif + +#ifndef BCM_WasherFluidLevel_BCM_IC_Info_Msg_Washer_fluid_normal +#define BCM_WasherFluidLevel_BCM_IC_Info_Msg_Washer_fluid_normal (0) +#endif + + +// Value tables for @BCM_LvBatCharging_Stat signal + +#ifndef BCM_LvBatCharging_Stat_BCM_IC_Info_Msg_LV_Battery_Discharging +#define BCM_LvBatCharging_Stat_BCM_IC_Info_Msg_LV_Battery_Discharging (1) +#endif + +#ifndef BCM_LvBatCharging_Stat_BCM_IC_Info_Msg_LV_Battery_Charging +#define BCM_LvBatCharging_Stat_BCM_IC_Info_Msg_LV_Battery_Charging (0) +#endif + + +// Value tables for @BCM_EngStartNotif_Stat signal + +#ifndef BCM_EngStartNotif_Stat_BCM_IC_Info_Msg_Notification_Active +#define BCM_EngStartNotif_Stat_BCM_IC_Info_Msg_Notification_Active (1) +#endif + +#ifndef BCM_EngStartNotif_Stat_BCM_IC_Info_Msg_No_Notification_ +#define BCM_EngStartNotif_Stat_BCM_IC_Info_Msg_No_Notification_ (0) +#endif + + +// Value tables for @BCM_PowerDoorsNotif_Stat signal + +#ifndef BCM_PowerDoorsNotif_Stat_BCM_IC_Info_Msg_PowerDoorsDisable_notification_Active +#define BCM_PowerDoorsNotif_Stat_BCM_IC_Info_Msg_PowerDoorsDisable_notification_Active (1) +#endif + +#ifndef BCM_PowerDoorsNotif_Stat_BCM_IC_Info_Msg_PowerDoorsDisable_notification_Inactive +#define BCM_PowerDoorsNotif_Stat_BCM_IC_Info_Msg_PowerDoorsDisable_notification_Inactive (0) +#endif + + +// Value tables for @BCM_CalSteeringWhColumnReq signal + +#ifndef BCM_CalSteeringWhColumnReq_BCM_IC_Info_Msg_Calibration_Requested +#define BCM_CalSteeringWhColumnReq_BCM_IC_Info_Msg_Calibration_Requested (1) +#endif + +#ifndef BCM_CalSteeringWhColumnReq_BCM_IC_Info_Msg_Calbrration_Not_Requested +#define BCM_CalSteeringWhColumnReq_BCM_IC_Info_Msg_Calbrration_Not_Requested (0) +#endif + + +// Value tables for @BCM_AdaptiveLghtsFailure signal + +#ifndef BCM_AdaptiveLghtsFailure_BCM_IC_Info_Msg_Failure_Detect +#define BCM_AdaptiveLghtsFailure_BCM_IC_Info_Msg_Failure_Detect (1) +#endif + +#ifndef BCM_AdaptiveLghtsFailure_BCM_IC_Info_Msg_No_Failure +#define BCM_AdaptiveLghtsFailure_BCM_IC_Info_Msg_No_Failure (0) +#endif + + +// Value tables for @BCM_BrakeLightLeft_Status signal + +#ifndef BCM_BrakeLightLeft_Status_BCM_IC_Info_Msg_Left_brake_light_lamp_failure +#define BCM_BrakeLightLeft_Status_BCM_IC_Info_Msg_Left_brake_light_lamp_failure (1) +#endif + +#ifndef BCM_BrakeLightLeft_Status_BCM_IC_Info_Msg_No_failure +#define BCM_BrakeLightLeft_Status_BCM_IC_Info_Msg_No_failure (0) +#endif + + +// Value tables for @BCM_BrakeLightRight_Status signal + +#ifndef BCM_BrakeLightRight_Status_BCM_IC_Info_Msg_Right_brake_light_lamp_failure +#define BCM_BrakeLightRight_Status_BCM_IC_Info_Msg_Right_brake_light_lamp_failure (1) +#endif + +#ifndef BCM_BrakeLightRight_Status_BCM_IC_Info_Msg_No_failure +#define BCM_BrakeLightRight_Status_BCM_IC_Info_Msg_No_failure (0) +#endif + + +// Value tables for @BCM_AllWthrLght_Fault signal + +#ifndef BCM_AllWthrLght_Fault_BCM_IC_Info_Msg_Fault_detect +#define BCM_AllWthrLght_Fault_BCM_IC_Info_Msg_Fault_detect (1) +#endif + +#ifndef BCM_AllWthrLght_Fault_BCM_IC_Info_Msg_No_Fault +#define BCM_AllWthrLght_Fault_BCM_IC_Info_Msg_No_Fault (0) +#endif + + +// Value tables for @BCM_LowBeamLeft_Status signal + +#ifndef BCM_LowBeamLeft_Status_BCM_IC_Info_Msg_Left_lowbeam_lamp_failure +#define BCM_LowBeamLeft_Status_BCM_IC_Info_Msg_Left_lowbeam_lamp_failure (1) +#endif + +#ifndef BCM_LowBeamLeft_Status_BCM_IC_Info_Msg_No_failure +#define BCM_LowBeamLeft_Status_BCM_IC_Info_Msg_No_failure (0) +#endif + + +// Value tables for @BCM_LowBeamRight_Status signal + +#ifndef BCM_LowBeamRight_Status_BCM_IC_Info_Msg_Right_lowbeam_lamp_failure +#define BCM_LowBeamRight_Status_BCM_IC_Info_Msg_Right_lowbeam_lamp_failure (1) +#endif + +#ifndef BCM_LowBeamRight_Status_BCM_IC_Info_Msg_No_failure +#define BCM_LowBeamRight_Status_BCM_IC_Info_Msg_No_failure (0) +#endif + + +// Value tables for @BCM_ReverseLightsRight_Status signal + +#ifndef BCM_ReverseLightsRight_Status_BCM_IC_Info_Msg_Reverse_light_right_lamp_failure +#define BCM_ReverseLightsRight_Status_BCM_IC_Info_Msg_Reverse_light_right_lamp_failure (1) +#endif + +#ifndef BCM_ReverseLightsRight_Status_BCM_IC_Info_Msg_No_failure +#define BCM_ReverseLightsRight_Status_BCM_IC_Info_Msg_No_failure (0) +#endif + + +// Value tables for @BCM_RearLeft_FogLight_Status signal + +#ifndef BCM_RearLeft_FogLight_Status_BCM_IC_Info_Msg_Light_failure +#define BCM_RearLeft_FogLight_Status_BCM_IC_Info_Msg_Light_failure (1) +#endif + +#ifndef BCM_RearLeft_FogLight_Status_BCM_IC_Info_Msg_No_failure +#define BCM_RearLeft_FogLight_Status_BCM_IC_Info_Msg_No_failure (0) +#endif + + +// Value tables for @BCM_RearRight_FogLight_Status signal + +#ifndef BCM_RearRight_FogLight_Status_BCM_IC_Info_Msg_Light_failure +#define BCM_RearRight_FogLight_Status_BCM_IC_Info_Msg_Light_failure (1) +#endif + +#ifndef BCM_RearRight_FogLight_Status_BCM_IC_Info_Msg_No_failure +#define BCM_RearRight_FogLight_Status_BCM_IC_Info_Msg_No_failure (0) +#endif + + +// Value tables for @BCM_ReverseLightsLeft_Status signal + +#ifndef BCM_ReverseLightsLeft_Status_BCM_IC_Info_Msg_Reverse_light_left_lamp_failure +#define BCM_ReverseLightsLeft_Status_BCM_IC_Info_Msg_Reverse_light_left_lamp_failure (1) +#endif + +#ifndef BCM_ReverseLightsLeft_Status_BCM_IC_Info_Msg_No_failure +#define BCM_ReverseLightsLeft_Status_BCM_IC_Info_Msg_No_failure (0) +#endif + + +// Value tables for @BCM_HighBeamLeft_Status signal + +#ifndef BCM_HighBeamLeft_Status_BCM_IC_Info_Msg_Left_highbeam_lamp_failure +#define BCM_HighBeamLeft_Status_BCM_IC_Info_Msg_Left_highbeam_lamp_failure (1) +#endif + +#ifndef BCM_HighBeamLeft_Status_BCM_IC_Info_Msg_No_failure +#define BCM_HighBeamLeft_Status_BCM_IC_Info_Msg_No_failure (0) +#endif + + +// Value tables for @BCM_HighBeamRight_Status signal + +#ifndef BCM_HighBeamRight_Status_BCM_IC_Info_Msg_Right_highbeam_lamp_failure +#define BCM_HighBeamRight_Status_BCM_IC_Info_Msg_Right_highbeam_lamp_failure (1) +#endif + +#ifndef BCM_HighBeamRight_Status_BCM_IC_Info_Msg_No_failure +#define BCM_HighBeamRight_Status_BCM_IC_Info_Msg_No_failure (0) +#endif + + +// Value tables for @BCM_PositionLight_RL_Status signal + +#ifndef BCM_PositionLight_RL_Status_BCM_IC_Info_Msg_RL_position_light_lamp_failure +#define BCM_PositionLight_RL_Status_BCM_IC_Info_Msg_RL_position_light_lamp_failure (1) +#endif + +#ifndef BCM_PositionLight_RL_Status_BCM_IC_Info_Msg_No_failure +#define BCM_PositionLight_RL_Status_BCM_IC_Info_Msg_No_failure (0) +#endif + + +// Value tables for @BCM_PositionLight_RR_Status signal + +#ifndef BCM_PositionLight_RR_Status_BCM_IC_Info_Msg_RR_position_light_lamp_failure +#define BCM_PositionLight_RR_Status_BCM_IC_Info_Msg_RR_position_light_lamp_failure (1) +#endif + +#ifndef BCM_PositionLight_RR_Status_BCM_IC_Info_Msg_No_failure +#define BCM_PositionLight_RR_Status_BCM_IC_Info_Msg_No_failure (0) +#endif + + +// Value tables for @BCM_DaytimeLightRight_Status signal + +#ifndef BCM_DaytimeLightRight_Status_BCM_IC_Info_Msg_Right_daytime_running_lamp_fault +#define BCM_DaytimeLightRight_Status_BCM_IC_Info_Msg_Right_daytime_running_lamp_fault (1) +#endif + +#ifndef BCM_DaytimeLightRight_Status_BCM_IC_Info_Msg_No_failure +#define BCM_DaytimeLightRight_Status_BCM_IC_Info_Msg_No_failure (0) +#endif + + +// Value tables for @BCM_DaytimeLightLeft_Status signal + +#ifndef BCM_DaytimeLightLeft_Status_BCM_IC_Info_Msg_Left_daytime_running_lamp_failure +#define BCM_DaytimeLightLeft_Status_BCM_IC_Info_Msg_Left_daytime_running_lamp_failure (1) +#endif + +#ifndef BCM_DaytimeLightLeft_Status_BCM_IC_Info_Msg_No_failure +#define BCM_DaytimeLightLeft_Status_BCM_IC_Info_Msg_No_failure (0) +#endif + + +// Value tables for @BCM_WarningInd signal + +#ifndef BCM_WarningInd_BCM_IC_Info_Msg_Warning_requested +#define BCM_WarningInd_BCM_IC_Info_Msg_Warning_requested (1) +#endif + +#ifndef BCM_WarningInd_BCM_IC_Info_Msg_No_Warning +#define BCM_WarningInd_BCM_IC_Info_Msg_No_Warning (0) +#endif + + +// Value tables for @BCM_CorneringLightRight_Status signal + +#ifndef BCM_CorneringLightRight_Status_BCM_IC_Info_Msg_Right_cornering_light_lamp_failure +#define BCM_CorneringLightRight_Status_BCM_IC_Info_Msg_Right_cornering_light_lamp_failure (1) +#endif + +#ifndef BCM_CorneringLightRight_Status_BCM_IC_Info_Msg_No_failure +#define BCM_CorneringLightRight_Status_BCM_IC_Info_Msg_No_failure (0) +#endif + + +// Value tables for @BCM_CorneringLightLeft_Status signal + +#ifndef BCM_CorneringLightLeft_Status_BCM_IC_Info_Msg_Left_cornering_light_lamp_failure +#define BCM_CorneringLightLeft_Status_BCM_IC_Info_Msg_Left_cornering_light_lamp_failure (1) +#endif + +#ifndef BCM_CorneringLightLeft_Status_BCM_IC_Info_Msg_No_failure +#define BCM_CorneringLightLeft_Status_BCM_IC_Info_Msg_No_failure (0) +#endif + + +// Value tables for @BCM_PosLightFL_status signal + +#ifndef BCM_PosLightFL_status_BCM_IC_Info_Msg_FL_position_light_lamp_failure +#define BCM_PosLightFL_status_BCM_IC_Info_Msg_FL_position_light_lamp_failure (1) +#endif + +#ifndef BCM_PosLightFL_status_BCM_IC_Info_Msg_No_fault +#define BCM_PosLightFL_status_BCM_IC_Info_Msg_No_fault (0) +#endif + + +// Value tables for @BCM_PosLightFR_status signal + +#ifndef BCM_PosLightFR_status_BCM_IC_Info_Msg_FR_position_light_lamp_failure +#define BCM_PosLightFR_status_BCM_IC_Info_Msg_FR_position_light_lamp_failure (1) +#endif + +#ifndef BCM_PosLightFR_status_BCM_IC_Info_Msg_No_fault +#define BCM_PosLightFR_status_BCM_IC_Info_Msg_No_fault (0) +#endif + + +// Value tables for @BCM_TurnIndicatorML_Status signal + +#ifndef BCM_TurnIndicatorML_Status_BCM_IC_Info_Msg_L_mirror_turn_indicator_failure +#define BCM_TurnIndicatorML_Status_BCM_IC_Info_Msg_L_mirror_turn_indicator_failure (1) +#endif + +#ifndef BCM_TurnIndicatorML_Status_BCM_IC_Info_Msg_No_failure +#define BCM_TurnIndicatorML_Status_BCM_IC_Info_Msg_No_failure (0) +#endif + + +// Value tables for @BCM_TurnIndicatorMR_Status signal + +#ifndef BCM_TurnIndicatorMR_Status_BCM_IC_Info_Msg_R_mirror_turn_indicator_failure +#define BCM_TurnIndicatorMR_Status_BCM_IC_Info_Msg_R_mirror_turn_indicator_failure (1) +#endif + +#ifndef BCM_TurnIndicatorMR_Status_BCM_IC_Info_Msg_No_failure +#define BCM_TurnIndicatorMR_Status_BCM_IC_Info_Msg_No_failure (0) +#endif + + +// Value tables for @BCM_TurnIndicatorRL_Status signal + +#ifndef BCM_TurnIndicatorRL_Status_BCM_IC_Info_Msg_Rear_left_turn_indicator_failure +#define BCM_TurnIndicatorRL_Status_BCM_IC_Info_Msg_Rear_left_turn_indicator_failure (1) +#endif + +#ifndef BCM_TurnIndicatorRL_Status_BCM_IC_Info_Msg_No_failure +#define BCM_TurnIndicatorRL_Status_BCM_IC_Info_Msg_No_failure (0) +#endif + + +// Value tables for @BCM_TurnIndicatorRR_Status signal + +#ifndef BCM_TurnIndicatorRR_Status_BCM_IC_Info_Msg_RearRight_turn_indicator_failure +#define BCM_TurnIndicatorRR_Status_BCM_IC_Info_Msg_RearRight_turn_indicator_failure (1) +#endif + +#ifndef BCM_TurnIndicatorRR_Status_BCM_IC_Info_Msg_No_failure +#define BCM_TurnIndicatorRR_Status_BCM_IC_Info_Msg_No_failure (0) +#endif + + +// Value tables for @BCM_TurnIndicatorFL_Status signal + +#ifndef BCM_TurnIndicatorFL_Status_BCM_IC_Info_Msg_FL_turn_indicator_failure +#define BCM_TurnIndicatorFL_Status_BCM_IC_Info_Msg_FL_turn_indicator_failure (1) +#endif + +#ifndef BCM_TurnIndicatorFL_Status_BCM_IC_Info_Msg_No_failure +#define BCM_TurnIndicatorFL_Status_BCM_IC_Info_Msg_No_failure (0) +#endif + + +// Value tables for @BCM_TurnIndicatorFR_Status signal + +#ifndef BCM_TurnIndicatorFR_Status_BCM_IC_Info_Msg_FR_turn_indicator_failure +#define BCM_TurnIndicatorFR_Status_BCM_IC_Info_Msg_FR_turn_indicator_failure (1) +#endif + +#ifndef BCM_TurnIndicatorFR_Status_BCM_IC_Info_Msg_No_failure +#define BCM_TurnIndicatorFR_Status_BCM_IC_Info_Msg_No_failure (0) +#endif + + +// Value tables for @BCM_HeadLghtLevelinglFailure signal + +#ifndef BCM_HeadLghtLevelinglFailure_BCM_IC_Info_Msg_True +#define BCM_HeadLghtLevelinglFailure_BCM_IC_Info_Msg_True (1) +#endif + +#ifndef BCM_HeadLghtLevelinglFailure_BCM_IC_Info_Msg_False +#define BCM_HeadLghtLevelinglFailure_BCM_IC_Info_Msg_False (0) +#endif + + +// Value tables for @BCM_PowerSteeringCtrlFault signal + +#ifndef BCM_PowerSteeringCtrlFault_BCM_IC_Info_Msg_Steering_Fluid_Control_Fault +#define BCM_PowerSteeringCtrlFault_BCM_IC_Info_Msg_Steering_Fluid_Control_Fault (1) +#endif + +#ifndef BCM_PowerSteeringCtrlFault_BCM_IC_Info_Msg_No_Action +#define BCM_PowerSteeringCtrlFault_BCM_IC_Info_Msg_No_Action (0) +#endif + + +// Value tables for @BCM_LvBat1_SOC signal + +#ifndef BCM_LvBat1_SOC_BCM_IC_Info_Msg_Battery_Discharge +#define BCM_LvBat1_SOC_BCM_IC_Info_Msg_Battery_Discharge (3) +#endif + +#ifndef BCM_LvBat1_SOC_BCM_IC_Info_Msg_Battery_Requiered_Charging +#define BCM_LvBat1_SOC_BCM_IC_Info_Msg_Battery_Requiered_Charging (2) +#endif + +#ifndef BCM_LvBat1_SOC_BCM_IC_Info_Msg_Battery_Charge_Normal_ +#define BCM_LvBat1_SOC_BCM_IC_Info_Msg_Battery_Charge_Normal_ (1) +#endif + +#ifndef BCM_LvBat1_SOC_BCM_IC_Info_Msg_Battery_Charge_Full +#define BCM_LvBat1_SOC_BCM_IC_Info_Msg_Battery_Charge_Full (0) +#endif + + +// Value tables for @BCM_LvBat1_SOH signal + +#ifndef BCM_LvBat1_SOH_BCM_IC_Info_Msg_Extemally_Low_State_of_Health_ +#define BCM_LvBat1_SOH_BCM_IC_Info_Msg_Extemally_Low_State_of_Health_ (2) +#endif + +#ifndef BCM_LvBat1_SOH_BCM_IC_Info_Msg_Low_State_of_Health_Battery +#define BCM_LvBat1_SOH_BCM_IC_Info_Msg_Low_State_of_Health_Battery (1) +#endif + +#ifndef BCM_LvBat1_SOH_BCM_IC_Info_Msg_Normal_State_of_Health_Battery +#define BCM_LvBat1_SOH_BCM_IC_Info_Msg_Normal_State_of_Health_Battery (0) +#endif + + +// Value tables for @BCM_HighBeamAutoStatus signal + +#ifndef BCM_HighBeamAutoStatus_BCM_IC_Info_Msg_Auto_High_Beam_Unavailable +#define BCM_HighBeamAutoStatus_BCM_IC_Info_Msg_Auto_High_Beam_Unavailable (1) +#endif + +#ifndef BCM_HighBeamAutoStatus_BCM_IC_Info_Msg_Auto_High_Beam_Available +#define BCM_HighBeamAutoStatus_BCM_IC_Info_Msg_Auto_High_Beam_Available (0) +#endif + + +// Value tables for @BCM_ExteriorSystemStatus signal + +#ifndef BCM_ExteriorSystemStatus_BCM_IC_Info_Msg_Exterior_Lights_System_Failure +#define BCM_ExteriorSystemStatus_BCM_IC_Info_Msg_Exterior_Lights_System_Failure (1) +#endif + +#ifndef BCM_ExteriorSystemStatus_BCM_IC_Info_Msg_No_Failure +#define BCM_ExteriorSystemStatus_BCM_IC_Info_Msg_No_Failure (0) +#endif + + +// Value tables for @BCM_LvBat1_SOC_Pct signal + +#ifndef BCM_LvBat1_SOC_Pct_BCM_IC_Info_Msg_Error +#define BCM_LvBat1_SOC_Pct_BCM_IC_Info_Msg_Error (127) +#endif + + +// Value tables for @BCM_TrunkLidOpenWarn_Req signal + +#ifndef BCM_TrunkLidOpenWarn_Req_BCM_IC_Info_Msg_Trunk_lid_is_opened_Soft_Roof_cannot_be_manipulated +#define BCM_TrunkLidOpenWarn_Req_BCM_IC_Info_Msg_Trunk_lid_is_opened_Soft_Roof_cannot_be_manipulated (1) +#endif + +#ifndef BCM_TrunkLidOpenWarn_Req_BCM_IC_Info_Msg_No_restrictions_on_manipulating_Soft_Roof +#define BCM_TrunkLidOpenWarn_Req_BCM_IC_Info_Msg_No_restrictions_on_manipulating_Soft_Roof (0) +#endif + + +// Value tables for @BCM_FuelLvl_HMI signal + +#ifndef BCM_FuelLvl_HMI_BCM_IC_Info_Msg_Fault +#define BCM_FuelLvl_HMI_BCM_IC_Info_Msg_Fault (127) +#endif + +#ifndef BCM_FuelLvl_HMI_BCM_IC_Info_Msg___Empty_Tank +#define BCM_FuelLvl_HMI_BCM_IC_Info_Msg___Empty_Tank (0) +#endif + + +// Value tables for @BCM_SRoofManipulationWarn_Req signal + +#ifndef BCM_SRoofManipulationWarn_Req_BCM_IC_Info_Msg_Soft_Roof_is_not_in_completely_open_or_close_position_Trunk_lid_cannot_be_opened +#define BCM_SRoofManipulationWarn_Req_BCM_IC_Info_Msg_Soft_Roof_is_not_in_completely_open_or_close_position_Trunk_lid_cannot_be_opened (1) +#endif + +#ifndef BCM_SRoofManipulationWarn_Req_BCM_IC_Info_Msg_No_restrictions_on_opening_Trunk_lid +#define BCM_SRoofManipulationWarn_Req_BCM_IC_Info_Msg_No_restrictions_on_opening_Trunk_lid (0) +#endif + + +// Value tables for @BCM_DrvMdLim_Stat signal + +#ifndef BCM_DrvMdLim_Stat_BCM_IC_Info_Msg_Warning_Active +#define BCM_DrvMdLim_Stat_BCM_IC_Info_Msg_Warning_Active (1) +#endif + +#ifndef BCM_DrvMdLim_Stat_BCM_IC_Info_Msg_Warning_Inactive +#define BCM_DrvMdLim_Stat_BCM_IC_Info_Msg_Warning_Inactive (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Washer Fluid Level + // 1 : "Water fluid low level" + // 0 : "Washer fluid normal" + uint8_t BCM_WasherFluidLevel : 1; // Bits= 1 + + // State of charging a Low Voltage Battery + // 1 : "LV Battery Discharging" + // 0 : "LV Battery Charging" + uint8_t BCM_LvBatCharging_Stat : 1; // Bits= 1 + + // User notification to smoothly transit from �engine running in remote start� mode to �Drive� mode + // 1 : "Notification Active" + // 0 : "No Notification " + uint8_t BCM_EngStartNotif_Stat : 1; // Bits= 1 + + // Notice of limitation of operation of electric door drive + // 1 : "PowerDoorsDisable notification Active" + // 0 : "PowerDoorsDisable notification Inactive" + uint8_t BCM_PowerDoorsNotif_Stat : 1; // Bits= 1 + + // Request to notify user about steering whell calibration + // 1 : "Calibration Requested" + // 0 : "Calbrration Not Requested" + uint8_t BCM_CalSteeringWhColumnReq : 1; // Bits= 1 + + // The failure in exterior lights,which changes the light beam when turning. + // 1 : "Failure Detect" + // 0 : "No Failure" + uint8_t BCM_AdaptiveLghtsFailure : 1; // Bits= 1 + + // Current status of brake lights + // 1 : "Left brake light lamp failure" + // 0 : "No failure" + uint8_t BCM_BrakeLightLeft_Status : 1; // Bits= 1 + + // Current status of brake lights + // 1 : "Right brake light lamp failure" + // 0 : "No failure" + uint8_t BCM_BrakeLightRight_Status : 1; // Bits= 1 + + // Error status of all-weather function + // 1 : "Fault detect" + // 0 : "No Fault" + uint8_t BCM_AllWthrLght_Fault : 1; // Bits= 1 + + // Current status of low-beam lights + // 1 : "Left low-beam lamp failure" + // 0 : "No failure" + uint8_t BCM_LowBeamLeft_Status : 1; // Bits= 1 + + // Current status of low-beam lights + // 1 : "Right low-beam lamp failure" + // 0 : "No failure" + uint8_t BCM_LowBeamRight_Status : 1; // Bits= 1 + + // Current status of reverse lights + // 1 : "Reverse light right lamp failure" + // 0 : "No failure" + uint8_t BCM_ReverseLightsRight_Status : 1; // Bits= 1 + + // Error status of rear left fog light + // 1 : "Light failure" + // 0 : "No failure" + uint8_t BCM_RearLeft_FogLight_Status : 1; // Bits= 1 + + // Error status of rear right fog light + // 1 : "Light failure" + // 0 : "No failure" + uint8_t BCM_RearRight_FogLight_Status : 1; // Bits= 1 + + // Current status of reverse lights + // 1 : "Reverse light left lamp failure" + // 0 : "No failure" + uint8_t BCM_ReverseLightsLeft_Status : 1; // Bits= 1 + + // Current status of high-beam lights + // 1 : "Left high-beam lamp failure" + // 0 : "No failure" + uint8_t BCM_HighBeamLeft_Status : 1; // Bits= 1 + + // Current status of high-beam lights + // 1 : "Right high-beam lamp failure" + // 0 : "No failure" + uint8_t BCM_HighBeamRight_Status : 1; // Bits= 1 + + // Error status of rear left position light + // 1 : "RL position light lamp failure" + // 0 : "No failure" + uint8_t BCM_PositionLight_RL_Status : 1; // Bits= 1 + + // Error status of rear right position light + // 1 : "RR position light lamp failure" + // 0 : "No failure" + uint8_t BCM_PositionLight_RR_Status : 1; // Bits= 1 + + // Current status of daytime running lights / position lights + // 1 : "Right daytime running lamp fault" + // 0 : "No failure" + uint8_t BCM_DaytimeLightRight_Status : 1; // Bits= 1 + + // Current status of daytime running lights / position lights + // 1 : "Left daytime running lamp failure" + // 0 : "No failure" + uint8_t BCM_DaytimeLightLeft_Status : 1; // Bits= 1 + + // Request a warning message to be displayed on IC: + // $0 = No Warning + // $1 = Warning requested + // 1 : "Warning requested" + // 0 : "No Warning" + uint8_t BCM_WarningInd : 1; // Bits= 1 + + // Current status of cornering lights + // 1 : "Right cornering light lamp failure" + // 0 : "No failure" + uint8_t BCM_CorneringLightRight_Status : 1; // Bits= 1 + + // Current status of cornering lights + // 1 : "Left cornering light lamp failure" + // 0 : "No failure" + uint8_t BCM_CorneringLightLeft_Status : 1; // Bits= 1 + + // Error status of front left position light + // 1 : "FL position light lamp failure" + // 0 : "No fault" + uint8_t BCM_PosLightFL_status : 1; // Bits= 1 + + // Error status of front right position light + // 1 : "FR position light lamp failure" + // 0 : "No fault" + uint8_t BCM_PosLightFR_status : 1; // Bits= 1 + + // Error status of side left direction indicator + // 1 : "L mirror turn indicator failure" + // 0 : "No failure" + uint8_t BCM_TurnIndicatorML_Status : 1; // Bits= 1 + + // Error status of side right direction indicator + // 1 : "R mirror turn indicator failure" + // 0 : "No failure" + uint8_t BCM_TurnIndicatorMR_Status : 1; // Bits= 1 + + // Error status of rear left direction indicator + // 1 : "Rear left turn indicator failure" + // 0 : "No failure" + uint8_t BCM_TurnIndicatorRL_Status : 1; // Bits= 1 + + // Error status of rear right direction indicator + // 1 : "RearRight turn indicator failure" + // 0 : "No failure" + uint8_t BCM_TurnIndicatorRR_Status : 1; // Bits= 1 + + // Error status of front left direction indicator + // 1 : "FL turn indicator failure" + // 0 : "No failure" + uint8_t BCM_TurnIndicatorFL_Status : 1; // Bits= 1 + + // Error status of front right direction indicator + // 1 : "FR turn indicator failure" + // 0 : "No failure" + uint8_t BCM_TurnIndicatorFR_Status : 1; // Bits= 1 + + // Indicate to the driver that the leveling system has failed + // $0 = FALSE + // $1 = TRUE + // 1 : "True" + // 0 : "False" + uint8_t BCM_HeadLghtLevelinglFailure : 1; // Bits= 1 + + // Request the power steering fluid control fault indication: + // $0 = No Action + // $1 = Stering Fluid Control Fault + // 1 : "Steering Fluid Control Fault" + // 0 : "No Action" + uint8_t BCM_PowerSteeringCtrlFault : 1; // Bits= 1 + + // State of Charge main Low Battery Voltage + // 3 : "Battery Discharge" + // 2 : "Battery Requiered Charging" + // 1 : "Battery Charge Normal " + // 0 : "Battery Charge Full" + uint8_t BCM_LvBat1_SOC : 2; // Bits= 2 + + // State of Health main Low Battery Voltage + // 2 : "Extemally Low State of Health " + // 1 : "Low State of Health Battery" + // 0 : "Normal State of Health Battery" + uint8_t BCM_LvBat1_SOH : 2; // Bits= 2 + + // State of availability auto high beam function + // 1 : "Auto High Beam Unavailable" + // 0 : "Auto High Beam Available" + uint8_t BCM_HighBeamAutoStatus : 1; // Bits= 1 + + // General failure of exterior light system + // 1 : "Exterior Lights System Failure" + // 0 : "No Failure" + uint8_t BCM_ExteriorSystemStatus : 1; // Bits= 1 + + // SOC of LV battery in percents + // 127 : "Error" + uint8_t BCM_LvBat1_SOC_Pct : 7; // Bits= 7 Unit:'%' + + // Indicates to user inability of soft roof control due to trunk lid open + // 1 : "Trunk lid is opened, Soft Roof cannot be manipulated" + // 0 : "No restrictions on manipulating Soft Roof" + uint8_t BCM_TrunkLidOpenWarn_Req : 1; // Bits= 1 + + // Fuel Level in percents + // 127 : "Fault" + // 0 : "0% - Empty Tank" + uint8_t BCM_FuelLvl_HMI : 7; // Bits= 7 Unit:'%' + + // Indicates to user inability of open trunk lid due to soft roof control + // 1 : "Soft Roof is not in completely open or close position, Trunk lid cannot be opened" + // 0 : "No restrictions on opening Trunk lid" + uint8_t BCM_SRoofManipulationWarn_Req : 1; // Bits= 1 + + // Automatic mode change alert + // 1 : "Warning Active" + // 0 : "Warning Inactive" + uint8_t BCM_DrvMdLim_Stat : 1; // Bits= 1 + +#else + + // Washer Fluid Level + // 1 : "Water fluid low level" + // 0 : "Washer fluid normal" + uint8_t BCM_WasherFluidLevel; // Bits= 1 + + // State of charging a Low Voltage Battery + // 1 : "LV Battery Discharging" + // 0 : "LV Battery Charging" + uint8_t BCM_LvBatCharging_Stat; // Bits= 1 + + // User notification to smoothly transit from �engine running in remote start� mode to �Drive� mode + // 1 : "Notification Active" + // 0 : "No Notification " + uint8_t BCM_EngStartNotif_Stat; // Bits= 1 + + // Notice of limitation of operation of electric door drive + // 1 : "PowerDoorsDisable notification Active" + // 0 : "PowerDoorsDisable notification Inactive" + uint8_t BCM_PowerDoorsNotif_Stat; // Bits= 1 + + // Request to notify user about steering whell calibration + // 1 : "Calibration Requested" + // 0 : "Calbrration Not Requested" + uint8_t BCM_CalSteeringWhColumnReq; // Bits= 1 + + // The failure in exterior lights,which changes the light beam when turning. + // 1 : "Failure Detect" + // 0 : "No Failure" + uint8_t BCM_AdaptiveLghtsFailure; // Bits= 1 + + // Current status of brake lights + // 1 : "Left brake light lamp failure" + // 0 : "No failure" + uint8_t BCM_BrakeLightLeft_Status; // Bits= 1 + + // Current status of brake lights + // 1 : "Right brake light lamp failure" + // 0 : "No failure" + uint8_t BCM_BrakeLightRight_Status; // Bits= 1 + + // Error status of all-weather function + // 1 : "Fault detect" + // 0 : "No Fault" + uint8_t BCM_AllWthrLght_Fault; // Bits= 1 + + // Current status of low-beam lights + // 1 : "Left low-beam lamp failure" + // 0 : "No failure" + uint8_t BCM_LowBeamLeft_Status; // Bits= 1 + + // Current status of low-beam lights + // 1 : "Right low-beam lamp failure" + // 0 : "No failure" + uint8_t BCM_LowBeamRight_Status; // Bits= 1 + + // Current status of reverse lights + // 1 : "Reverse light right lamp failure" + // 0 : "No failure" + uint8_t BCM_ReverseLightsRight_Status; // Bits= 1 + + // Error status of rear left fog light + // 1 : "Light failure" + // 0 : "No failure" + uint8_t BCM_RearLeft_FogLight_Status; // Bits= 1 + + // Error status of rear right fog light + // 1 : "Light failure" + // 0 : "No failure" + uint8_t BCM_RearRight_FogLight_Status; // Bits= 1 + + // Current status of reverse lights + // 1 : "Reverse light left lamp failure" + // 0 : "No failure" + uint8_t BCM_ReverseLightsLeft_Status; // Bits= 1 + + // Current status of high-beam lights + // 1 : "Left high-beam lamp failure" + // 0 : "No failure" + uint8_t BCM_HighBeamLeft_Status; // Bits= 1 + + // Current status of high-beam lights + // 1 : "Right high-beam lamp failure" + // 0 : "No failure" + uint8_t BCM_HighBeamRight_Status; // Bits= 1 + + // Error status of rear left position light + // 1 : "RL position light lamp failure" + // 0 : "No failure" + uint8_t BCM_PositionLight_RL_Status; // Bits= 1 + + // Error status of rear right position light + // 1 : "RR position light lamp failure" + // 0 : "No failure" + uint8_t BCM_PositionLight_RR_Status; // Bits= 1 + + // Current status of daytime running lights / position lights + // 1 : "Right daytime running lamp fault" + // 0 : "No failure" + uint8_t BCM_DaytimeLightRight_Status; // Bits= 1 + + // Current status of daytime running lights / position lights + // 1 : "Left daytime running lamp failure" + // 0 : "No failure" + uint8_t BCM_DaytimeLightLeft_Status; // Bits= 1 + + // Request a warning message to be displayed on IC: + // $0 = No Warning + // $1 = Warning requested + // 1 : "Warning requested" + // 0 : "No Warning" + uint8_t BCM_WarningInd; // Bits= 1 + + // Current status of cornering lights + // 1 : "Right cornering light lamp failure" + // 0 : "No failure" + uint8_t BCM_CorneringLightRight_Status; // Bits= 1 + + // Current status of cornering lights + // 1 : "Left cornering light lamp failure" + // 0 : "No failure" + uint8_t BCM_CorneringLightLeft_Status; // Bits= 1 + + // Error status of front left position light + // 1 : "FL position light lamp failure" + // 0 : "No fault" + uint8_t BCM_PosLightFL_status; // Bits= 1 + + // Error status of front right position light + // 1 : "FR position light lamp failure" + // 0 : "No fault" + uint8_t BCM_PosLightFR_status; // Bits= 1 + + // Error status of side left direction indicator + // 1 : "L mirror turn indicator failure" + // 0 : "No failure" + uint8_t BCM_TurnIndicatorML_Status; // Bits= 1 + + // Error status of side right direction indicator + // 1 : "R mirror turn indicator failure" + // 0 : "No failure" + uint8_t BCM_TurnIndicatorMR_Status; // Bits= 1 + + // Error status of rear left direction indicator + // 1 : "Rear left turn indicator failure" + // 0 : "No failure" + uint8_t BCM_TurnIndicatorRL_Status; // Bits= 1 + + // Error status of rear right direction indicator + // 1 : "RearRight turn indicator failure" + // 0 : "No failure" + uint8_t BCM_TurnIndicatorRR_Status; // Bits= 1 + + // Error status of front left direction indicator + // 1 : "FL turn indicator failure" + // 0 : "No failure" + uint8_t BCM_TurnIndicatorFL_Status; // Bits= 1 + + // Error status of front right direction indicator + // 1 : "FR turn indicator failure" + // 0 : "No failure" + uint8_t BCM_TurnIndicatorFR_Status; // Bits= 1 + + // Indicate to the driver that the leveling system has failed + // $0 = FALSE + // $1 = TRUE + // 1 : "True" + // 0 : "False" + uint8_t BCM_HeadLghtLevelinglFailure; // Bits= 1 + + // Request the power steering fluid control fault indication: + // $0 = No Action + // $1 = Stering Fluid Control Fault + // 1 : "Steering Fluid Control Fault" + // 0 : "No Action" + uint8_t BCM_PowerSteeringCtrlFault; // Bits= 1 + + // State of Charge main Low Battery Voltage + // 3 : "Battery Discharge" + // 2 : "Battery Requiered Charging" + // 1 : "Battery Charge Normal " + // 0 : "Battery Charge Full" + uint8_t BCM_LvBat1_SOC; // Bits= 2 + + // State of Health main Low Battery Voltage + // 2 : "Extemally Low State of Health " + // 1 : "Low State of Health Battery" + // 0 : "Normal State of Health Battery" + uint8_t BCM_LvBat1_SOH; // Bits= 2 + + // State of availability auto high beam function + // 1 : "Auto High Beam Unavailable" + // 0 : "Auto High Beam Available" + uint8_t BCM_HighBeamAutoStatus; // Bits= 1 + + // General failure of exterior light system + // 1 : "Exterior Lights System Failure" + // 0 : "No Failure" + uint8_t BCM_ExteriorSystemStatus; // Bits= 1 + + // SOC of LV battery in percents + // 127 : "Error" + uint8_t BCM_LvBat1_SOC_Pct; // Bits= 7 Unit:'%' + + // Indicates to user inability of soft roof control due to trunk lid open + // 1 : "Trunk lid is opened, Soft Roof cannot be manipulated" + // 0 : "No restrictions on manipulating Soft Roof" + uint8_t BCM_TrunkLidOpenWarn_Req; // Bits= 1 + + // Fuel Level in percents + // 127 : "Fault" + // 0 : "0% - Empty Tank" + uint8_t BCM_FuelLvl_HMI; // Bits= 7 Unit:'%' + + // Indicates to user inability of open trunk lid due to soft roof control + // 1 : "Soft Roof is not in completely open or close position, Trunk lid cannot be opened" + // 0 : "No restrictions on opening Trunk lid" + uint8_t BCM_SRoofManipulationWarn_Req; // Bits= 1 + + // Automatic mode change alert + // 1 : "Warning Active" + // 0 : "Warning Inactive" + uint8_t BCM_DrvMdLim_Stat; // Bits= 1 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} BCM_IC_Info_Msg_t; + // def @BCM_CLIMATIC_DATA CAN Message (869 0x365) #define BCM_CLIMATIC_DATA_IDE (0U) #define BCM_CLIMATIC_DATA_DLC (6U) @@ -4188,6 +21184,17 @@ typedef struct #define CANDB_SolarSensRightVal_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (4.01575)) ) #define CANDB_SolarSensRightVal_ro_fromS(x) ( (((x) * (4.01575)) + (0.0)) ) +// Value tables for @BCM_WipeLowTempWarn_Req signal + +#ifndef BCM_WipeLowTempWarn_Req_BCM_CLIMATIC_DATA_Low_temp_warning_requested +#define BCM_WipeLowTempWarn_Req_BCM_CLIMATIC_DATA_Low_temp_warning_requested (1) +#endif + +#ifndef BCM_WipeLowTempWarn_Req_BCM_CLIMATIC_DATA_No_request +#define BCM_WipeLowTempWarn_Req_BCM_CLIMATIC_DATA_No_request (0) +#endif + + // Value tables for @FrontWindowHeating_Status signal #ifndef FrontWindowHeating_Status_BCM_CLIMATIC_DATA_Heating_ON @@ -4209,6 +21216,58 @@ typedef struct #define RearWindowHeating_Status_BCM_CLIMATIC_DATA_Heating_OFF (0) #endif + +// Value tables for @SWM_Heating_Req signal + +#ifndef SWM_Heating_Req_BCM_CLIMATIC_DATA_Fault +#define SWM_Heating_Req_BCM_CLIMATIC_DATA_Fault (3) +#endif + +#ifndef SWM_Heating_Req_BCM_CLIMATIC_DATA_Heating_OFF +#define SWM_Heating_Req_BCM_CLIMATIC_DATA_Heating_OFF (2) +#endif + +#ifndef SWM_Heating_Req_BCM_CLIMATIC_DATA_Heating_ON +#define SWM_Heating_Req_BCM_CLIMATIC_DATA_Heating_ON (1) +#endif + +#ifndef SWM_Heating_Req_BCM_CLIMATIC_DATA_Unknown +#define SWM_Heating_Req_BCM_CLIMATIC_DATA_Unknown (0) +#endif + + +// Value tables for @BCM_RearWindowHeating_Cmd signal + +#ifndef BCM_RearWindowHeating_Cmd_BCM_CLIMATIC_DATA_Heating_ON +#define BCM_RearWindowHeating_Cmd_BCM_CLIMATIC_DATA_Heating_ON (1) +#endif + +#ifndef BCM_RearWindowHeating_Cmd_BCM_CLIMATIC_DATA_Heating_OFF +#define BCM_RearWindowHeating_Cmd_BCM_CLIMATIC_DATA_Heating_OFF (0) +#endif + + +// Value tables for @BCM_SteerWheelHeating_Stat signal + +#ifndef BCM_SteerWheelHeating_Stat_BCM_CLIMATIC_DATA_Heating_ON +#define BCM_SteerWheelHeating_Stat_BCM_CLIMATIC_DATA_Heating_ON (1) +#endif + +#ifndef BCM_SteerWheelHeating_Stat_BCM_CLIMATIC_DATA_Heating_OFF +#define BCM_SteerWheelHeating_Stat_BCM_CLIMATIC_DATA_Heating_OFF (0) +#endif + + +// Value tables for @RainDetected signal + +#ifndef RainDetected_BCM_CLIMATIC_DATA_TRUE +#define RainDetected_BCM_CLIMATIC_DATA_TRUE (1) +#endif + +#ifndef RainDetected_BCM_CLIMATIC_DATA_FALSE +#define RainDetected_BCM_CLIMATIC_DATA_FALSE (0) +#endif + // signal: @SolarSensLeftVal_ro #define CANDB_SolarSensLeftVal_ro_CovFactor (4.01575) #define CANDB_SolarSensLeftVal_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (4.01575)) ) @@ -4225,6 +21284,17 @@ typedef struct #endif +// Value tables for @BCM_Wiper_Stat signal + +#ifndef BCM_Wiper_Stat_BCM_CLIMATIC_DATA_Active +#define BCM_Wiper_Stat_BCM_CLIMATIC_DATA_Active (1) +#endif + +#ifndef BCM_Wiper_Stat_BCM_CLIMATIC_DATA_Inactive +#define BCM_Wiper_Stat_BCM_CLIMATIC_DATA_Inactive (0) +#endif + + // Value tables for @BCM_SideWindowType_Stat signal #ifndef BCM_SideWindowType_Stat_BCM_CLIMATIC_DATA_Side_window_heaters_present @@ -4236,6 +21306,17 @@ typedef struct #endif +// Value tables for @BCM_MirrorHeating_Cmd signal + +#ifndef BCM_MirrorHeating_Cmd_BCM_CLIMATIC_DATA_Heating_ON +#define BCM_MirrorHeating_Cmd_BCM_CLIMATIC_DATA_Heating_ON (1) +#endif + +#ifndef BCM_MirrorHeating_Cmd_BCM_CLIMATIC_DATA_Heating_OFF +#define BCM_MirrorHeating_Cmd_BCM_CLIMATIC_DATA_Heating_OFF (0) +#endif + + // Value tables for @BCM_WindowWashingSt signal #ifndef BCM_WindowWashingSt_BCM_CLIMATIC_DATA_Window_Washing_On @@ -4257,6 +21338,17 @@ typedef struct #define BCM_GloveBox_Stat_BCM_CLIMATIC_DATA_Glove_box_closed (0) #endif + +// Value tables for @RainDensity signal + +#ifndef RainDensity_BCM_CLIMATIC_DATA_High_Density +#define RainDensity_BCM_CLIMATIC_DATA_High_Density (1) +#endif + +#ifndef RainDensity_BCM_CLIMATIC_DATA_Low_Density +#define RainDensity_BCM_CLIMATIC_DATA_Low_Density (0) +#endif + // signal: @WindshieldTemp_ro #define CANDB_WindshieldTemp_ro_CovFactor (0.5) #define CANDB_WindshieldTemp_ro_toS(x) ( (uint8_t) (((x) - (-40.0)) / (0.5)) ) @@ -4277,6 +21369,11 @@ typedef struct sigfloat_t SolarSensRightVal_phys; #endif // CANDB_USE_SIGFLOAT + // Indicates to driver: front wiper pause due to low external temperature + // 1 : "Low temp warning requested" + // 0 : "No request" + uint8_t BCM_WipeLowTempWarn_Req : 1; // Bits= 1 + // State of front window heating // 1 : "Heating ON" // 0 : "Heating OFF" @@ -4287,6 +21384,28 @@ typedef struct // 0 : "Heating OFF" uint8_t RearWindowHeating_Status : 1; // Bits= 1 + // Request to on/ off steering wheel heating + // 3 : "Fault" + // 2 : "Heating OFF" + // 1 : "Heating ON" + // 0 : "Unknown" + uint8_t SWM_Heating_Req : 2; // Bits= 2 + + // Request to on/off rear window heating + // 1 : "Heating ON" + // 0 : "Heating OFF" + uint8_t BCM_RearWindowHeating_Cmd : 1; // Bits= 1 + + // Status of a steer wheel heating + // 1 : "Heating ON" + // 0 : "Heating OFF" + uint8_t BCM_SteerWheelHeating_Stat : 1; // Bits= 1 + + // Indicates the rain detected or not + // 1 : "TRUE" + // 0 : "FALSE" + uint8_t RainDetected : 1; // Bits= 1 + // Solar radiation value from left sensor uint8_t SolarSensLeftVal_ro; // Bits= 8 Factor= 4.01575 Unit:'W/qm' @@ -4299,11 +21418,22 @@ typedef struct // 0 : "Heating OFF" uint8_t SideWindowHeating_Status : 1; // Bits= 1 + // Wiper status + // Indicates the wiper status + // 1 : "Active" + // 0 : "Inactive" + uint8_t BCM_Wiper_Stat : 1; // Bits= 1 + // Indicates side window heaters installed on vehicle or not // 1 : "Side window heaters present" // 0 : "Side window heaters not present" uint8_t BCM_SideWindowType_Stat : 1; // Bits= 1 + // Request to on/off outside miror heating + // 1 : "Heating ON" + // 0 : "Heating OFF" + uint8_t BCM_MirrorHeating_Cmd : 1; // Bits= 1 + // Indicates the window washer status // 1 : "Window Washing On" // 0 : "Window Washing Off" @@ -4314,6 +21444,13 @@ typedef struct // 0 : "Glove box closed" uint8_t BCM_GloveBox_Stat : 1; // Bits= 1 + // Indicates the density of rainstatus: + // 0x0 = Low Density + // 0x1 = High Density + // 1 : "High Density" + // 0 : "Low Density" + uint8_t RainDensity : 1; // Bits= 1 + // Temperature of front windshield zone uint8_t WindshieldTemp_ro; // Bits= 8 Offset= -40.0 Factor= 0.5 Unit:'�C' @@ -4337,6 +21474,11 @@ typedef struct sigfloat_t SolarSensRightVal_phys; #endif // CANDB_USE_SIGFLOAT + // Indicates to driver: front wiper pause due to low external temperature + // 1 : "Low temp warning requested" + // 0 : "No request" + uint8_t BCM_WipeLowTempWarn_Req; // Bits= 1 + // State of front window heating // 1 : "Heating ON" // 0 : "Heating OFF" @@ -4347,6 +21489,28 @@ typedef struct // 0 : "Heating OFF" uint8_t RearWindowHeating_Status; // Bits= 1 + // Request to on/ off steering wheel heating + // 3 : "Fault" + // 2 : "Heating OFF" + // 1 : "Heating ON" + // 0 : "Unknown" + uint8_t SWM_Heating_Req; // Bits= 2 + + // Request to on/off rear window heating + // 1 : "Heating ON" + // 0 : "Heating OFF" + uint8_t BCM_RearWindowHeating_Cmd; // Bits= 1 + + // Status of a steer wheel heating + // 1 : "Heating ON" + // 0 : "Heating OFF" + uint8_t BCM_SteerWheelHeating_Stat; // Bits= 1 + + // Indicates the rain detected or not + // 1 : "TRUE" + // 0 : "FALSE" + uint8_t RainDetected; // Bits= 1 + // Solar radiation value from left sensor uint8_t SolarSensLeftVal_ro; // Bits= 8 Factor= 4.01575 Unit:'W/qm' @@ -4359,11 +21523,22 @@ typedef struct // 0 : "Heating OFF" uint8_t SideWindowHeating_Status; // Bits= 1 + // Wiper status + // Indicates the wiper status + // 1 : "Active" + // 0 : "Inactive" + uint8_t BCM_Wiper_Stat; // Bits= 1 + // Indicates side window heaters installed on vehicle or not // 1 : "Side window heaters present" // 0 : "Side window heaters not present" uint8_t BCM_SideWindowType_Stat; // Bits= 1 + // Request to on/off outside miror heating + // 1 : "Heating ON" + // 0 : "Heating OFF" + uint8_t BCM_MirrorHeating_Cmd; // Bits= 1 + // Indicates the window washer status // 1 : "Window Washing On" // 0 : "Window Washing Off" @@ -4374,6 +21549,13 @@ typedef struct // 0 : "Glove box closed" uint8_t BCM_GloveBox_Stat; // Bits= 1 + // Indicates the density of rainstatus: + // 0x0 = Low Density + // 0x1 = High Density + // 1 : "High Density" + // 0 : "Low Density" + uint8_t RainDensity; // Bits= 1 + // Temperature of front windshield zone uint8_t WindshieldTemp_ro; // Bits= 8 Offset= -40.0 Factor= 0.5 Unit:'�C' @@ -4398,6 +21580,1724 @@ typedef struct } BCM_CLIMATIC_DATA_t; +// def @DMFL_SMFL_REQ_CTR_SEATS CAN Message (871 0x367) +#define DMFL_SMFL_REQ_CTR_SEATS_IDE (0U) +#define DMFL_SMFL_REQ_CTR_SEATS_DLC (3U) +#define DMFL_SMFL_REQ_CTR_SEATS_CANID (0x367U) +#define DMFL_SMFL_REQ_CTR_SEATS_CYC (100U) + +// Value tables for @DMFL_SeatMemReq signal + +#ifndef DMFL_SeatMemReq_DMFL_SMFL_REQ_CTR_SEATS_request_to_upload_mem_3 +#define DMFL_SeatMemReq_DMFL_SMFL_REQ_CTR_SEATS_request_to_upload_mem_3 (6) +#endif + +#ifndef DMFL_SeatMemReq_DMFL_SMFL_REQ_CTR_SEATS_request_to_upload_mem_2 +#define DMFL_SeatMemReq_DMFL_SMFL_REQ_CTR_SEATS_request_to_upload_mem_2 (5) +#endif + +#ifndef DMFL_SeatMemReq_DMFL_SMFL_REQ_CTR_SEATS_request_to_upload_mem_1 +#define DMFL_SeatMemReq_DMFL_SMFL_REQ_CTR_SEATS_request_to_upload_mem_1 (4) +#endif + +#ifndef DMFL_SeatMemReq_DMFL_SMFL_REQ_CTR_SEATS_request_to_save_mem_3 +#define DMFL_SeatMemReq_DMFL_SMFL_REQ_CTR_SEATS_request_to_save_mem_3 (3) +#endif + +#ifndef DMFL_SeatMemReq_DMFL_SMFL_REQ_CTR_SEATS_request_to_save_mem_2 +#define DMFL_SeatMemReq_DMFL_SMFL_REQ_CTR_SEATS_request_to_save_mem_2 (2) +#endif + +#ifndef DMFL_SeatMemReq_DMFL_SMFL_REQ_CTR_SEATS_request_to_save_mem_1 +#define DMFL_SeatMemReq_DMFL_SMFL_REQ_CTR_SEATS_request_to_save_mem_1 (1) +#endif + +#ifndef DMFL_SeatMemReq_DMFL_SMFL_REQ_CTR_SEATS_No_request +#define DMFL_SeatMemReq_DMFL_SMFL_REQ_CTR_SEATS_No_request (0) +#endif + + +// Value tables for @DMFL_SeatHeightReq signal + +#ifndef DMFL_SeatHeightReq_DMFL_SMFL_REQ_CTR_SEATS_Reserved +#define DMFL_SeatHeightReq_DMFL_SMFL_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef DMFL_SeatHeightReq_DMFL_SMFL_REQ_CTR_SEATS_Decrease +#define DMFL_SeatHeightReq_DMFL_SMFL_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef DMFL_SeatHeightReq_DMFL_SMFL_REQ_CTR_SEATS_Increase +#define DMFL_SeatHeightReq_DMFL_SMFL_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef DMFL_SeatHeightReq_DMFL_SMFL_REQ_CTR_SEATS_No_action +#define DMFL_SeatHeightReq_DMFL_SMFL_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @DMFL_FrontPass_Req signal + +#ifndef DMFL_FrontPass_Req_DMFL_SMFL_REQ_CTR_SEATS_Seat_control_change_requested +#define DMFL_FrontPass_Req_DMFL_SMFL_REQ_CTR_SEATS_Seat_control_change_requested (1) +#endif + +#ifndef DMFL_FrontPass_Req_DMFL_SMFL_REQ_CTR_SEATS_Not_requested +#define DMFL_FrontPass_Req_DMFL_SMFL_REQ_CTR_SEATS_Not_requested (0) +#endif + + +// Value tables for @DMFL_SeatLongitunalReq signal + +#ifndef DMFL_SeatLongitunalReq_DMFL_SMFL_REQ_CTR_SEATS_Reserved +#define DMFL_SeatLongitunalReq_DMFL_SMFL_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef DMFL_SeatLongitunalReq_DMFL_SMFL_REQ_CTR_SEATS_Decrease +#define DMFL_SeatLongitunalReq_DMFL_SMFL_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef DMFL_SeatLongitunalReq_DMFL_SMFL_REQ_CTR_SEATS_Increase +#define DMFL_SeatLongitunalReq_DMFL_SMFL_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef DMFL_SeatLongitunalReq_DMFL_SMFL_REQ_CTR_SEATS_No_action +#define DMFL_SeatLongitunalReq_DMFL_SMFL_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @DMFL_SeatBackRestInclinationReq signal + +#ifndef DMFL_SeatBackRestInclinationReq_DMFL_SMFL_REQ_CTR_SEATS_Reserved +#define DMFL_SeatBackRestInclinationReq_DMFL_SMFL_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef DMFL_SeatBackRestInclinationReq_DMFL_SMFL_REQ_CTR_SEATS_Decrease +#define DMFL_SeatBackRestInclinationReq_DMFL_SMFL_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef DMFL_SeatBackRestInclinationReq_DMFL_SMFL_REQ_CTR_SEATS_Increase +#define DMFL_SeatBackRestInclinationReq_DMFL_SMFL_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef DMFL_SeatBackRestInclinationReq_DMFL_SMFL_REQ_CTR_SEATS_No_action +#define DMFL_SeatBackRestInclinationReq_DMFL_SMFL_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @DMFL_SeatMassageRequest signal + +#ifndef DMFL_SeatMassageRequest_DMFL_SMFL_REQ_CTR_SEATS_Reserved +#define DMFL_SeatMassageRequest_DMFL_SMFL_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef DMFL_SeatMassageRequest_DMFL_SMFL_REQ_CTR_SEATS_Massage_ON +#define DMFL_SeatMassageRequest_DMFL_SMFL_REQ_CTR_SEATS_Massage_ON (2) +#endif + +#ifndef DMFL_SeatMassageRequest_DMFL_SMFL_REQ_CTR_SEATS_Massage_OFF +#define DMFL_SeatMassageRequest_DMFL_SMFL_REQ_CTR_SEATS_Massage_OFF (1) +#endif + +#ifndef DMFL_SeatMassageRequest_DMFL_SMFL_REQ_CTR_SEATS_No_action +#define DMFL_SeatMassageRequest_DMFL_SMFL_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @DMFL_SeatVentilationRequest signal + +#ifndef DMFL_SeatVentilationRequest_DMFL_SMFL_REQ_CTR_SEATS_Reserved +#define DMFL_SeatVentilationRequest_DMFL_SMFL_REQ_CTR_SEATS_Reserved (7) +#endif + +#ifndef DMFL_SeatVentilationRequest_DMFL_SMFL_REQ_CTR_SEATS_Reserved +#define DMFL_SeatVentilationRequest_DMFL_SMFL_REQ_CTR_SEATS_Reserved (6) +#endif + +#ifndef DMFL_SeatVentilationRequest_DMFL_SMFL_REQ_CTR_SEATS_Reserved +#define DMFL_SeatVentilationRequest_DMFL_SMFL_REQ_CTR_SEATS_Reserved (5) +#endif + +#ifndef DMFL_SeatVentilationRequest_DMFL_SMFL_REQ_CTR_SEATS_No_action +#define DMFL_SeatVentilationRequest_DMFL_SMFL_REQ_CTR_SEATS_No_action (4) +#endif + +#ifndef DMFL_SeatVentilationRequest_DMFL_SMFL_REQ_CTR_SEATS_High_power +#define DMFL_SeatVentilationRequest_DMFL_SMFL_REQ_CTR_SEATS_High_power (3) +#endif + +#ifndef DMFL_SeatVentilationRequest_DMFL_SMFL_REQ_CTR_SEATS_Middle_power +#define DMFL_SeatVentilationRequest_DMFL_SMFL_REQ_CTR_SEATS_Middle_power (2) +#endif + +#ifndef DMFL_SeatVentilationRequest_DMFL_SMFL_REQ_CTR_SEATS_Low_power +#define DMFL_SeatVentilationRequest_DMFL_SMFL_REQ_CTR_SEATS_Low_power (1) +#endif + +#ifndef DMFL_SeatVentilationRequest_DMFL_SMFL_REQ_CTR_SEATS_Off +#define DMFL_SeatVentilationRequest_DMFL_SMFL_REQ_CTR_SEATS_Off (0) +#endif + + +// Value tables for @DMFL_SeatMassageIntence signal + +#ifndef DMFL_SeatMassageIntence_DMFL_SMFL_REQ_CTR_SEATS_High_power +#define DMFL_SeatMassageIntence_DMFL_SMFL_REQ_CTR_SEATS_High_power (3) +#endif + +#ifndef DMFL_SeatMassageIntence_DMFL_SMFL_REQ_CTR_SEATS_Middle_power +#define DMFL_SeatMassageIntence_DMFL_SMFL_REQ_CTR_SEATS_Middle_power (2) +#endif + +#ifndef DMFL_SeatMassageIntence_DMFL_SMFL_REQ_CTR_SEATS_Low_power +#define DMFL_SeatMassageIntence_DMFL_SMFL_REQ_CTR_SEATS_Low_power (1) +#endif + +#ifndef DMFL_SeatMassageIntence_DMFL_SMFL_REQ_CTR_SEATS_No_action +#define DMFL_SeatMassageIntence_DMFL_SMFL_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @DMFL_SeatHeatingRequest signal + +#ifndef DMFL_SeatHeatingRequest_DMFL_SMFL_REQ_CTR_SEATS_Reserved +#define DMFL_SeatHeatingRequest_DMFL_SMFL_REQ_CTR_SEATS_Reserved (7) +#endif + +#ifndef DMFL_SeatHeatingRequest_DMFL_SMFL_REQ_CTR_SEATS_Reserved +#define DMFL_SeatHeatingRequest_DMFL_SMFL_REQ_CTR_SEATS_Reserved (6) +#endif + +#ifndef DMFL_SeatHeatingRequest_DMFL_SMFL_REQ_CTR_SEATS_Reserved +#define DMFL_SeatHeatingRequest_DMFL_SMFL_REQ_CTR_SEATS_Reserved (5) +#endif + +#ifndef DMFL_SeatHeatingRequest_DMFL_SMFL_REQ_CTR_SEATS_No_action +#define DMFL_SeatHeatingRequest_DMFL_SMFL_REQ_CTR_SEATS_No_action (4) +#endif + +#ifndef DMFL_SeatHeatingRequest_DMFL_SMFL_REQ_CTR_SEATS_High_power +#define DMFL_SeatHeatingRequest_DMFL_SMFL_REQ_CTR_SEATS_High_power (3) +#endif + +#ifndef DMFL_SeatHeatingRequest_DMFL_SMFL_REQ_CTR_SEATS_Middle_power +#define DMFL_SeatHeatingRequest_DMFL_SMFL_REQ_CTR_SEATS_Middle_power (2) +#endif + +#ifndef DMFL_SeatHeatingRequest_DMFL_SMFL_REQ_CTR_SEATS_Low_power +#define DMFL_SeatHeatingRequest_DMFL_SMFL_REQ_CTR_SEATS_Low_power (1) +#endif + +#ifndef DMFL_SeatHeatingRequest_DMFL_SMFL_REQ_CTR_SEATS_Off +#define DMFL_SeatHeatingRequest_DMFL_SMFL_REQ_CTR_SEATS_Off (0) +#endif + + +// Value tables for @DMFL_SeatInclination_Req signal + +#ifndef DMFL_SeatInclination_Req_DMFL_SMFL_REQ_CTR_SEATS_Reserved +#define DMFL_SeatInclination_Req_DMFL_SMFL_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef DMFL_SeatInclination_Req_DMFL_SMFL_REQ_CTR_SEATS_Decrease +#define DMFL_SeatInclination_Req_DMFL_SMFL_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef DMFL_SeatInclination_Req_DMFL_SMFL_REQ_CTR_SEATS_Increase +#define DMFL_SeatInclination_Req_DMFL_SMFL_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef DMFL_SeatInclination_Req_DMFL_SMFL_REQ_CTR_SEATS_No_action +#define DMFL_SeatInclination_Req_DMFL_SMFL_REQ_CTR_SEATS_No_action (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Request for saving the seat positions + // 0x0 = No request + // 0x1 = request to save mem 1 + // 0x2 = request to save mem 2 + // 0x3 = Reserved + // 6 : "request to upload mem 3" + // 5 : "request to upload mem 2" + // 4 : "request to upload mem 1" + // 3 : "request to save mem 3" + // 2 : "request to save mem 2" + // 1 : "request to save mem 1" + // 0 : "No request" + uint8_t DMFL_SeatMemReq : 3; // Bits= 3 + + // Signal for regulation Seat Height FL + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t DMFL_SeatHeightReq : 2; // Bits= 2 + + // Request for control of FL seat from driver's side + // 1 : "Seat control change requested" + // 0 : "Not requested" + uint8_t DMFL_FrontPass_Req : 1; // Bits= 1 + + // Signal for regulation FL seat longitunal + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t DMFL_SeatLongitunalReq : 2; // Bits= 2 + + // Signal for regulation FL seat backrest lnclination + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t DMFL_SeatBackRestInclinationReq : 2; // Bits= 2 + + // Signal for seat massage activation + // 3 : "Reserved" + // 2 : "Massage ON" + // 1 : "Massage OFF" + // 0 : "No action" + uint8_t DMFL_SeatMassageRequest : 2; // Bits= 2 + + // Signal for ventilation activation mode + // 7 : "Reserved" + // 6 : "Reserved" + // 5 : "Reserved" + // 4 : "No action" + // 3 : "High power" + // 2 : "Middle power" + // 1 : "Low power" + // 0 : "Off" + uint8_t DMFL_SeatVentilationRequest : 3; // Bits= 3 + + // Signal for seat massage intencity regulation + // 3 : "High power" + // 2 : "Middle power" + // 1 : "Low power" + // 0 : "No action" + uint8_t DMFL_SeatMassageIntence : 2; // Bits= 2 + + // Signal for seat heating activation mode + // 7 : "Reserved" + // 6 : "Reserved" + // 5 : "Reserved" + // 4 : "No action" + // 3 : "High power" + // 2 : "Middle power" + // 1 : "Low power" + // 0 : "Off" + uint8_t DMFL_SeatHeatingRequest : 3; // Bits= 3 + + // Signal for regulation FL seat inclination + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t DMFL_SeatInclination_Req : 2; // Bits= 2 + +#else + + // Request for saving the seat positions + // 0x0 = No request + // 0x1 = request to save mem 1 + // 0x2 = request to save mem 2 + // 0x3 = Reserved + // 6 : "request to upload mem 3" + // 5 : "request to upload mem 2" + // 4 : "request to upload mem 1" + // 3 : "request to save mem 3" + // 2 : "request to save mem 2" + // 1 : "request to save mem 1" + // 0 : "No request" + uint8_t DMFL_SeatMemReq; // Bits= 3 + + // Signal for regulation Seat Height FL + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t DMFL_SeatHeightReq; // Bits= 2 + + // Request for control of FL seat from driver's side + // 1 : "Seat control change requested" + // 0 : "Not requested" + uint8_t DMFL_FrontPass_Req; // Bits= 1 + + // Signal for regulation FL seat longitunal + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t DMFL_SeatLongitunalReq; // Bits= 2 + + // Signal for regulation FL seat backrest lnclination + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t DMFL_SeatBackRestInclinationReq; // Bits= 2 + + // Signal for seat massage activation + // 3 : "Reserved" + // 2 : "Massage ON" + // 1 : "Massage OFF" + // 0 : "No action" + uint8_t DMFL_SeatMassageRequest; // Bits= 2 + + // Signal for ventilation activation mode + // 7 : "Reserved" + // 6 : "Reserved" + // 5 : "Reserved" + // 4 : "No action" + // 3 : "High power" + // 2 : "Middle power" + // 1 : "Low power" + // 0 : "Off" + uint8_t DMFL_SeatVentilationRequest; // Bits= 3 + + // Signal for seat massage intencity regulation + // 3 : "High power" + // 2 : "Middle power" + // 1 : "Low power" + // 0 : "No action" + uint8_t DMFL_SeatMassageIntence; // Bits= 2 + + // Signal for seat heating activation mode + // 7 : "Reserved" + // 6 : "Reserved" + // 5 : "Reserved" + // 4 : "No action" + // 3 : "High power" + // 2 : "Middle power" + // 1 : "Low power" + // 0 : "Off" + uint8_t DMFL_SeatHeatingRequest; // Bits= 3 + + // Signal for regulation FL seat inclination + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t DMFL_SeatInclination_Req; // Bits= 2 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} DMFL_SMFL_REQ_CTR_SEATS_t; + +// def @DMFR_SMFR_REQ_CTR_SEATS CAN Message (872 0x368) +#define DMFR_SMFR_REQ_CTR_SEATS_IDE (0U) +#define DMFR_SMFR_REQ_CTR_SEATS_DLC (3U) +#define DMFR_SMFR_REQ_CTR_SEATS_CANID (0x368U) +#define DMFR_SMFR_REQ_CTR_SEATS_CYC (100U) + +// Value tables for @DMFR_SeatMemReq signal + +#ifndef DMFR_SeatMemReq_DMFR_SMFR_REQ_CTR_SEATS_request_to_upload_mem_3 +#define DMFR_SeatMemReq_DMFR_SMFR_REQ_CTR_SEATS_request_to_upload_mem_3 (6) +#endif + +#ifndef DMFR_SeatMemReq_DMFR_SMFR_REQ_CTR_SEATS_request_to_upload_mem_2 +#define DMFR_SeatMemReq_DMFR_SMFR_REQ_CTR_SEATS_request_to_upload_mem_2 (5) +#endif + +#ifndef DMFR_SeatMemReq_DMFR_SMFR_REQ_CTR_SEATS_request_to_upload_mem_1 +#define DMFR_SeatMemReq_DMFR_SMFR_REQ_CTR_SEATS_request_to_upload_mem_1 (4) +#endif + +#ifndef DMFR_SeatMemReq_DMFR_SMFR_REQ_CTR_SEATS_request_to_save_mem_3 +#define DMFR_SeatMemReq_DMFR_SMFR_REQ_CTR_SEATS_request_to_save_mem_3 (3) +#endif + +#ifndef DMFR_SeatMemReq_DMFR_SMFR_REQ_CTR_SEATS_request_to_save_mem_2 +#define DMFR_SeatMemReq_DMFR_SMFR_REQ_CTR_SEATS_request_to_save_mem_2 (2) +#endif + +#ifndef DMFR_SeatMemReq_DMFR_SMFR_REQ_CTR_SEATS_request_to_save_mem_1 +#define DMFR_SeatMemReq_DMFR_SMFR_REQ_CTR_SEATS_request_to_save_mem_1 (1) +#endif + +#ifndef DMFR_SeatMemReq_DMFR_SMFR_REQ_CTR_SEATS_No_request +#define DMFR_SeatMemReq_DMFR_SMFR_REQ_CTR_SEATS_No_request (0) +#endif + + +// Value tables for @DMFR_SeatHeightReq signal + +#ifndef DMFR_SeatHeightReq_DMFR_SMFR_REQ_CTR_SEATS_Resertved +#define DMFR_SeatHeightReq_DMFR_SMFR_REQ_CTR_SEATS_Resertved (3) +#endif + +#ifndef DMFR_SeatHeightReq_DMFR_SMFR_REQ_CTR_SEATS_Decrease +#define DMFR_SeatHeightReq_DMFR_SMFR_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef DMFR_SeatHeightReq_DMFR_SMFR_REQ_CTR_SEATS_Increase +#define DMFR_SeatHeightReq_DMFR_SMFR_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef DMFR_SeatHeightReq_DMFR_SMFR_REQ_CTR_SEATS_No_action +#define DMFR_SeatHeightReq_DMFR_SMFR_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @DMFR_SeatLongitunalReq signal + +#ifndef DMFR_SeatLongitunalReq_DMFR_SMFR_REQ_CTR_SEATS_Reserved +#define DMFR_SeatLongitunalReq_DMFR_SMFR_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef DMFR_SeatLongitunalReq_DMFR_SMFR_REQ_CTR_SEATS_Decrease +#define DMFR_SeatLongitunalReq_DMFR_SMFR_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef DMFR_SeatLongitunalReq_DMFR_SMFR_REQ_CTR_SEATS_Increase +#define DMFR_SeatLongitunalReq_DMFR_SMFR_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef DMFR_SeatLongitunalReq_DMFR_SMFR_REQ_CTR_SEATS_No_action +#define DMFR_SeatLongitunalReq_DMFR_SMFR_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @DMFR_SeatBackRestInclinationReq signal + +#ifndef DMFR_SeatBackRestInclinationReq_DMFR_SMFR_REQ_CTR_SEATS_Reserved +#define DMFR_SeatBackRestInclinationReq_DMFR_SMFR_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef DMFR_SeatBackRestInclinationReq_DMFR_SMFR_REQ_CTR_SEATS_Decrease +#define DMFR_SeatBackRestInclinationReq_DMFR_SMFR_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef DMFR_SeatBackRestInclinationReq_DMFR_SMFR_REQ_CTR_SEATS_Increase +#define DMFR_SeatBackRestInclinationReq_DMFR_SMFR_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef DMFR_SeatBackRestInclinationReq_DMFR_SMFR_REQ_CTR_SEATS_No_action +#define DMFR_SeatBackRestInclinationReq_DMFR_SMFR_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @DMFR_SeatMassageRequest signal + +#ifndef DMFR_SeatMassageRequest_DMFR_SMFR_REQ_CTR_SEATS_Reserved +#define DMFR_SeatMassageRequest_DMFR_SMFR_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef DMFR_SeatMassageRequest_DMFR_SMFR_REQ_CTR_SEATS_Massage_ON +#define DMFR_SeatMassageRequest_DMFR_SMFR_REQ_CTR_SEATS_Massage_ON (2) +#endif + +#ifndef DMFR_SeatMassageRequest_DMFR_SMFR_REQ_CTR_SEATS_Massage_OFF +#define DMFR_SeatMassageRequest_DMFR_SMFR_REQ_CTR_SEATS_Massage_OFF (1) +#endif + +#ifndef DMFR_SeatMassageRequest_DMFR_SMFR_REQ_CTR_SEATS_No_action +#define DMFR_SeatMassageRequest_DMFR_SMFR_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @DMFR_SeatVentilationRequest signal + +#ifndef DMFR_SeatVentilationRequest_DMFR_SMFR_REQ_CTR_SEATS_Reserved +#define DMFR_SeatVentilationRequest_DMFR_SMFR_REQ_CTR_SEATS_Reserved (7) +#endif + +#ifndef DMFR_SeatVentilationRequest_DMFR_SMFR_REQ_CTR_SEATS_Reserved +#define DMFR_SeatVentilationRequest_DMFR_SMFR_REQ_CTR_SEATS_Reserved (6) +#endif + +#ifndef DMFR_SeatVentilationRequest_DMFR_SMFR_REQ_CTR_SEATS_Reserved +#define DMFR_SeatVentilationRequest_DMFR_SMFR_REQ_CTR_SEATS_Reserved (5) +#endif + +#ifndef DMFR_SeatVentilationRequest_DMFR_SMFR_REQ_CTR_SEATS_No_action +#define DMFR_SeatVentilationRequest_DMFR_SMFR_REQ_CTR_SEATS_No_action (4) +#endif + +#ifndef DMFR_SeatVentilationRequest_DMFR_SMFR_REQ_CTR_SEATS_High_power +#define DMFR_SeatVentilationRequest_DMFR_SMFR_REQ_CTR_SEATS_High_power (3) +#endif + +#ifndef DMFR_SeatVentilationRequest_DMFR_SMFR_REQ_CTR_SEATS_Middle_power +#define DMFR_SeatVentilationRequest_DMFR_SMFR_REQ_CTR_SEATS_Middle_power (2) +#endif + +#ifndef DMFR_SeatVentilationRequest_DMFR_SMFR_REQ_CTR_SEATS_Low_power +#define DMFR_SeatVentilationRequest_DMFR_SMFR_REQ_CTR_SEATS_Low_power (1) +#endif + +#ifndef DMFR_SeatVentilationRequest_DMFR_SMFR_REQ_CTR_SEATS_Off +#define DMFR_SeatVentilationRequest_DMFR_SMFR_REQ_CTR_SEATS_Off (0) +#endif + + +// Value tables for @DMFR_SeatMassageIntence signal + +#ifndef DMFR_SeatMassageIntence_DMFR_SMFR_REQ_CTR_SEATS_High_power +#define DMFR_SeatMassageIntence_DMFR_SMFR_REQ_CTR_SEATS_High_power (3) +#endif + +#ifndef DMFR_SeatMassageIntence_DMFR_SMFR_REQ_CTR_SEATS_Middle_power +#define DMFR_SeatMassageIntence_DMFR_SMFR_REQ_CTR_SEATS_Middle_power (2) +#endif + +#ifndef DMFR_SeatMassageIntence_DMFR_SMFR_REQ_CTR_SEATS_Low_power +#define DMFR_SeatMassageIntence_DMFR_SMFR_REQ_CTR_SEATS_Low_power (1) +#endif + +#ifndef DMFR_SeatMassageIntence_DMFR_SMFR_REQ_CTR_SEATS_No_action +#define DMFR_SeatMassageIntence_DMFR_SMFR_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @DMFR_SeatHeatingRequest signal + +#ifndef DMFR_SeatHeatingRequest_DMFR_SMFR_REQ_CTR_SEATS_Reserved +#define DMFR_SeatHeatingRequest_DMFR_SMFR_REQ_CTR_SEATS_Reserved (7) +#endif + +#ifndef DMFR_SeatHeatingRequest_DMFR_SMFR_REQ_CTR_SEATS_Reserved +#define DMFR_SeatHeatingRequest_DMFR_SMFR_REQ_CTR_SEATS_Reserved (6) +#endif + +#ifndef DMFR_SeatHeatingRequest_DMFR_SMFR_REQ_CTR_SEATS_Reserved +#define DMFR_SeatHeatingRequest_DMFR_SMFR_REQ_CTR_SEATS_Reserved (5) +#endif + +#ifndef DMFR_SeatHeatingRequest_DMFR_SMFR_REQ_CTR_SEATS_No_action +#define DMFR_SeatHeatingRequest_DMFR_SMFR_REQ_CTR_SEATS_No_action (4) +#endif + +#ifndef DMFR_SeatHeatingRequest_DMFR_SMFR_REQ_CTR_SEATS_High_power +#define DMFR_SeatHeatingRequest_DMFR_SMFR_REQ_CTR_SEATS_High_power (3) +#endif + +#ifndef DMFR_SeatHeatingRequest_DMFR_SMFR_REQ_CTR_SEATS_Middle_power +#define DMFR_SeatHeatingRequest_DMFR_SMFR_REQ_CTR_SEATS_Middle_power (2) +#endif + +#ifndef DMFR_SeatHeatingRequest_DMFR_SMFR_REQ_CTR_SEATS_Low_power +#define DMFR_SeatHeatingRequest_DMFR_SMFR_REQ_CTR_SEATS_Low_power (1) +#endif + +#ifndef DMFR_SeatHeatingRequest_DMFR_SMFR_REQ_CTR_SEATS_Off +#define DMFR_SeatHeatingRequest_DMFR_SMFR_REQ_CTR_SEATS_Off (0) +#endif + + +// Value tables for @DMFR_SeatInclination_Req signal + +#ifndef DMFR_SeatInclination_Req_DMFR_SMFR_REQ_CTR_SEATS_Reserved +#define DMFR_SeatInclination_Req_DMFR_SMFR_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef DMFR_SeatInclination_Req_DMFR_SMFR_REQ_CTR_SEATS_Decrease +#define DMFR_SeatInclination_Req_DMFR_SMFR_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef DMFR_SeatInclination_Req_DMFR_SMFR_REQ_CTR_SEATS_Increase +#define DMFR_SeatInclination_Req_DMFR_SMFR_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef DMFR_SeatInclination_Req_DMFR_SMFR_REQ_CTR_SEATS_No_action +#define DMFR_SeatInclination_Req_DMFR_SMFR_REQ_CTR_SEATS_No_action (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Signal for configuration selection memory + // 6 : "request to upload mem 3" + // 5 : "request to upload mem 2" + // 4 : "request to upload mem 1" + // 3 : "request to save mem 3" + // 2 : "request to save mem 2" + // 1 : "request to save mem 1" + // 0 : "No request" + uint8_t DMFR_SeatMemReq : 3; // Bits= 3 + + // Signal for regulation Seat Height FR + // 3 : "Resertved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t DMFR_SeatHeightReq : 2; // Bits= 2 + + // Signal for regulation FR seat longitunal + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t DMFR_SeatLongitunalReq : 2; // Bits= 2 + + // Signal for regulation FR seat backrest lnclination + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t DMFR_SeatBackRestInclinationReq : 2; // Bits= 2 + + // Signal for seat massage activation + // 3 : "Reserved" + // 2 : "Massage ON" + // 1 : "Massage OFF" + // 0 : "No action" + uint8_t DMFR_SeatMassageRequest : 2; // Bits= 2 + + // Signal for ventilation activation mode + // 7 : "Reserved" + // 6 : "Reserved" + // 5 : "Reserved" + // 4 : "No action" + // 3 : "High power" + // 2 : "Middle power" + // 1 : "Low power" + // 0 : "Off" + uint8_t DMFR_SeatVentilationRequest : 3; // Bits= 3 + + // Signal for seat massage intencity regulation + // 3 : "High power" + // 2 : "Middle power" + // 1 : "Low power" + // 0 : "No action" + uint8_t DMFR_SeatMassageIntence : 2; // Bits= 2 + + // Signal for seat heating activation mode + // 7 : "Reserved" + // 6 : "Reserved" + // 5 : "Reserved" + // 4 : "No action" + // 3 : "High power" + // 2 : "Middle power" + // 1 : "Low power" + // 0 : "Off" + uint8_t DMFR_SeatHeatingRequest : 3; // Bits= 3 + + // Signal for regulation FR seat inclination + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t DMFR_SeatInclination_Req : 2; // Bits= 2 + +#else + + // Signal for configuration selection memory + // 6 : "request to upload mem 3" + // 5 : "request to upload mem 2" + // 4 : "request to upload mem 1" + // 3 : "request to save mem 3" + // 2 : "request to save mem 2" + // 1 : "request to save mem 1" + // 0 : "No request" + uint8_t DMFR_SeatMemReq; // Bits= 3 + + // Signal for regulation Seat Height FR + // 3 : "Resertved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t DMFR_SeatHeightReq; // Bits= 2 + + // Signal for regulation FR seat longitunal + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t DMFR_SeatLongitunalReq; // Bits= 2 + + // Signal for regulation FR seat backrest lnclination + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t DMFR_SeatBackRestInclinationReq; // Bits= 2 + + // Signal for seat massage activation + // 3 : "Reserved" + // 2 : "Massage ON" + // 1 : "Massage OFF" + // 0 : "No action" + uint8_t DMFR_SeatMassageRequest; // Bits= 2 + + // Signal for ventilation activation mode + // 7 : "Reserved" + // 6 : "Reserved" + // 5 : "Reserved" + // 4 : "No action" + // 3 : "High power" + // 2 : "Middle power" + // 1 : "Low power" + // 0 : "Off" + uint8_t DMFR_SeatVentilationRequest; // Bits= 3 + + // Signal for seat massage intencity regulation + // 3 : "High power" + // 2 : "Middle power" + // 1 : "Low power" + // 0 : "No action" + uint8_t DMFR_SeatMassageIntence; // Bits= 2 + + // Signal for seat heating activation mode + // 7 : "Reserved" + // 6 : "Reserved" + // 5 : "Reserved" + // 4 : "No action" + // 3 : "High power" + // 2 : "Middle power" + // 1 : "Low power" + // 0 : "Off" + uint8_t DMFR_SeatHeatingRequest; // Bits= 3 + + // Signal for regulation FR seat inclination + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t DMFR_SeatInclination_Req; // Bits= 2 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} DMFR_SMFR_REQ_CTR_SEATS_t; + +// def @DMRL_SMRL_REQ_CTR_SEATS CAN Message (873 0x369) +#define DMRL_SMRL_REQ_CTR_SEATS_IDE (0U) +#define DMRL_SMRL_REQ_CTR_SEATS_DLC (4U) +#define DMRL_SMRL_REQ_CTR_SEATS_CANID (0x369U) +#define DMRL_SMRL_REQ_CTR_SEATS_CYC (100U) + +// Value tables for @DMRL_SeatMemReq signal + +#ifndef DMRL_SeatMemReq_DMRL_SMRL_REQ_CTR_SEATS_Request_to_upload_MEM_3 +#define DMRL_SeatMemReq_DMRL_SMRL_REQ_CTR_SEATS_Request_to_upload_MEM_3 (6) +#endif + +#ifndef DMRL_SeatMemReq_DMRL_SMRL_REQ_CTR_SEATS_Request_to_upload_MEM_2 +#define DMRL_SeatMemReq_DMRL_SMRL_REQ_CTR_SEATS_Request_to_upload_MEM_2 (5) +#endif + +#ifndef DMRL_SeatMemReq_DMRL_SMRL_REQ_CTR_SEATS_Request_to_upload_MEM_1 +#define DMRL_SeatMemReq_DMRL_SMRL_REQ_CTR_SEATS_Request_to_upload_MEM_1 (4) +#endif + +#ifndef DMRL_SeatMemReq_DMRL_SMRL_REQ_CTR_SEATS_Request_to_save_MEM_3 +#define DMRL_SeatMemReq_DMRL_SMRL_REQ_CTR_SEATS_Request_to_save_MEM_3 (3) +#endif + +#ifndef DMRL_SeatMemReq_DMRL_SMRL_REQ_CTR_SEATS_Request_to_save_MEM_2 +#define DMRL_SeatMemReq_DMRL_SMRL_REQ_CTR_SEATS_Request_to_save_MEM_2 (2) +#endif + +#ifndef DMRL_SeatMemReq_DMRL_SMRL_REQ_CTR_SEATS_Request_to_save_MEM_1 +#define DMRL_SeatMemReq_DMRL_SMRL_REQ_CTR_SEATS_Request_to_save_MEM_1 (1) +#endif + +#ifndef DMRL_SeatMemReq_DMRL_SMRL_REQ_CTR_SEATS_Not_requested +#define DMRL_SeatMemReq_DMRL_SMRL_REQ_CTR_SEATS_Not_requested (0) +#endif + + +// Value tables for @DMRL_SeatHeightReq signal + +#ifndef DMRL_SeatHeightReq_DMRL_SMRL_REQ_CTR_SEATS_Reserved +#define DMRL_SeatHeightReq_DMRL_SMRL_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef DMRL_SeatHeightReq_DMRL_SMRL_REQ_CTR_SEATS_Decrease +#define DMRL_SeatHeightReq_DMRL_SMRL_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef DMRL_SeatHeightReq_DMRL_SMRL_REQ_CTR_SEATS_Increase +#define DMRL_SeatHeightReq_DMRL_SMRL_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef DMRL_SeatHeightReq_DMRL_SMRL_REQ_CTR_SEATS_No_action +#define DMRL_SeatHeightReq_DMRL_SMRL_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @DMRL_SeatLongitunalReq signal + +#ifndef DMRL_SeatLongitunalReq_DMRL_SMRL_REQ_CTR_SEATS_Reserved +#define DMRL_SeatLongitunalReq_DMRL_SMRL_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef DMRL_SeatLongitunalReq_DMRL_SMRL_REQ_CTR_SEATS_Decrease +#define DMRL_SeatLongitunalReq_DMRL_SMRL_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef DMRL_SeatLongitunalReq_DMRL_SMRL_REQ_CTR_SEATS_Increase +#define DMRL_SeatLongitunalReq_DMRL_SMRL_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef DMRL_SeatLongitunalReq_DMRL_SMRL_REQ_CTR_SEATS_No_action +#define DMRL_SeatLongitunalReq_DMRL_SMRL_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @DMRL_SeatBackRestInclinationReq signal + +#ifndef DMRL_SeatBackRestInclinationReq_DMRL_SMRL_REQ_CTR_SEATS_Reserved +#define DMRL_SeatBackRestInclinationReq_DMRL_SMRL_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef DMRL_SeatBackRestInclinationReq_DMRL_SMRL_REQ_CTR_SEATS_Decrease +#define DMRL_SeatBackRestInclinationReq_DMRL_SMRL_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef DMRL_SeatBackRestInclinationReq_DMRL_SMRL_REQ_CTR_SEATS_Increase +#define DMRL_SeatBackRestInclinationReq_DMRL_SMRL_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef DMRL_SeatBackRestInclinationReq_DMRL_SMRL_REQ_CTR_SEATS_No_action +#define DMRL_SeatBackRestInclinationReq_DMRL_SMRL_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @DMRL_SeatMassageRequest signal + +#ifndef DMRL_SeatMassageRequest_DMRL_SMRL_REQ_CTR_SEATS_Reserved +#define DMRL_SeatMassageRequest_DMRL_SMRL_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef DMRL_SeatMassageRequest_DMRL_SMRL_REQ_CTR_SEATS_Massage_ON +#define DMRL_SeatMassageRequest_DMRL_SMRL_REQ_CTR_SEATS_Massage_ON (2) +#endif + +#ifndef DMRL_SeatMassageRequest_DMRL_SMRL_REQ_CTR_SEATS_Massage_OFF +#define DMRL_SeatMassageRequest_DMRL_SMRL_REQ_CTR_SEATS_Massage_OFF (1) +#endif + +#ifndef DMRL_SeatMassageRequest_DMRL_SMRL_REQ_CTR_SEATS_No_action +#define DMRL_SeatMassageRequest_DMRL_SMRL_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @DMRL_SeatVentilationRequest signal + +#ifndef DMRL_SeatVentilationRequest_DMRL_SMRL_REQ_CTR_SEATS_Reserved +#define DMRL_SeatVentilationRequest_DMRL_SMRL_REQ_CTR_SEATS_Reserved (7) +#endif + +#ifndef DMRL_SeatVentilationRequest_DMRL_SMRL_REQ_CTR_SEATS_Reserved +#define DMRL_SeatVentilationRequest_DMRL_SMRL_REQ_CTR_SEATS_Reserved (6) +#endif + +#ifndef DMRL_SeatVentilationRequest_DMRL_SMRL_REQ_CTR_SEATS_Reserved +#define DMRL_SeatVentilationRequest_DMRL_SMRL_REQ_CTR_SEATS_Reserved (5) +#endif + +#ifndef DMRL_SeatVentilationRequest_DMRL_SMRL_REQ_CTR_SEATS_No_action +#define DMRL_SeatVentilationRequest_DMRL_SMRL_REQ_CTR_SEATS_No_action (4) +#endif + +#ifndef DMRL_SeatVentilationRequest_DMRL_SMRL_REQ_CTR_SEATS_High_power +#define DMRL_SeatVentilationRequest_DMRL_SMRL_REQ_CTR_SEATS_High_power (3) +#endif + +#ifndef DMRL_SeatVentilationRequest_DMRL_SMRL_REQ_CTR_SEATS_Middle_power +#define DMRL_SeatVentilationRequest_DMRL_SMRL_REQ_CTR_SEATS_Middle_power (2) +#endif + +#ifndef DMRL_SeatVentilationRequest_DMRL_SMRL_REQ_CTR_SEATS_Low_power +#define DMRL_SeatVentilationRequest_DMRL_SMRL_REQ_CTR_SEATS_Low_power (1) +#endif + +#ifndef DMRL_SeatVentilationRequest_DMRL_SMRL_REQ_CTR_SEATS_Off +#define DMRL_SeatVentilationRequest_DMRL_SMRL_REQ_CTR_SEATS_Off (0) +#endif + + +// Value tables for @DMRL_SeatMassageIntence signal + +#ifndef DMRL_SeatMassageIntence_DMRL_SMRL_REQ_CTR_SEATS_High_power +#define DMRL_SeatMassageIntence_DMRL_SMRL_REQ_CTR_SEATS_High_power (3) +#endif + +#ifndef DMRL_SeatMassageIntence_DMRL_SMRL_REQ_CTR_SEATS_Middle_power +#define DMRL_SeatMassageIntence_DMRL_SMRL_REQ_CTR_SEATS_Middle_power (2) +#endif + +#ifndef DMRL_SeatMassageIntence_DMRL_SMRL_REQ_CTR_SEATS_Low_power +#define DMRL_SeatMassageIntence_DMRL_SMRL_REQ_CTR_SEATS_Low_power (1) +#endif + +#ifndef DMRL_SeatMassageIntence_DMRL_SMRL_REQ_CTR_SEATS_No_action +#define DMRL_SeatMassageIntence_DMRL_SMRL_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @DMRL_SeatHeatingRequest signal + +#ifndef DMRL_SeatHeatingRequest_DMRL_SMRL_REQ_CTR_SEATS_Reserved +#define DMRL_SeatHeatingRequest_DMRL_SMRL_REQ_CTR_SEATS_Reserved (7) +#endif + +#ifndef DMRL_SeatHeatingRequest_DMRL_SMRL_REQ_CTR_SEATS_Reserved +#define DMRL_SeatHeatingRequest_DMRL_SMRL_REQ_CTR_SEATS_Reserved (6) +#endif + +#ifndef DMRL_SeatHeatingRequest_DMRL_SMRL_REQ_CTR_SEATS_Reserved +#define DMRL_SeatHeatingRequest_DMRL_SMRL_REQ_CTR_SEATS_Reserved (5) +#endif + +#ifndef DMRL_SeatHeatingRequest_DMRL_SMRL_REQ_CTR_SEATS_No_action +#define DMRL_SeatHeatingRequest_DMRL_SMRL_REQ_CTR_SEATS_No_action (4) +#endif + +#ifndef DMRL_SeatHeatingRequest_DMRL_SMRL_REQ_CTR_SEATS_High_power +#define DMRL_SeatHeatingRequest_DMRL_SMRL_REQ_CTR_SEATS_High_power (3) +#endif + +#ifndef DMRL_SeatHeatingRequest_DMRL_SMRL_REQ_CTR_SEATS_Middle_power +#define DMRL_SeatHeatingRequest_DMRL_SMRL_REQ_CTR_SEATS_Middle_power (2) +#endif + +#ifndef DMRL_SeatHeatingRequest_DMRL_SMRL_REQ_CTR_SEATS_Low_power +#define DMRL_SeatHeatingRequest_DMRL_SMRL_REQ_CTR_SEATS_Low_power (1) +#endif + +#ifndef DMRL_SeatHeatingRequest_DMRL_SMRL_REQ_CTR_SEATS_Off +#define DMRL_SeatHeatingRequest_DMRL_SMRL_REQ_CTR_SEATS_Off (0) +#endif + + +// Value tables for @DMRL_SeatInclination_Req signal + +#ifndef DMRL_SeatInclination_Req_DMRL_SMRL_REQ_CTR_SEATS_Reserved +#define DMRL_SeatInclination_Req_DMRL_SMRL_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef DMRL_SeatInclination_Req_DMRL_SMRL_REQ_CTR_SEATS_Decrease +#define DMRL_SeatInclination_Req_DMRL_SMRL_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef DMRL_SeatInclination_Req_DMRL_SMRL_REQ_CTR_SEATS_Increase +#define DMRL_SeatInclination_Req_DMRL_SMRL_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef DMRL_SeatInclination_Req_DMRL_SMRL_REQ_CTR_SEATS_No_action +#define DMRL_SeatInclination_Req_DMRL_SMRL_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @DMRL_SeatFootRestHeightReq signal + +#ifndef DMRL_SeatFootRestHeightReq_DMRL_SMRL_REQ_CTR_SEATS_Reserved +#define DMRL_SeatFootRestHeightReq_DMRL_SMRL_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef DMRL_SeatFootRestHeightReq_DMRL_SMRL_REQ_CTR_SEATS_Decrease +#define DMRL_SeatFootRestHeightReq_DMRL_SMRL_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef DMRL_SeatFootRestHeightReq_DMRL_SMRL_REQ_CTR_SEATS_Increase +#define DMRL_SeatFootRestHeightReq_DMRL_SMRL_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef DMRL_SeatFootRestHeightReq_DMRL_SMRL_REQ_CTR_SEATS_No_action +#define DMRL_SeatFootRestHeightReq_DMRL_SMRL_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @DMRL_MoreComfort_Req signal + +#ifndef DMRL_MoreComfort_Req_DMRL_SMRL_REQ_CTR_SEATS_Unfold_requested +#define DMRL_MoreComfort_Req_DMRL_SMRL_REQ_CTR_SEATS_Unfold_requested (2) +#endif + +#ifndef DMRL_MoreComfort_Req_DMRL_SMRL_REQ_CTR_SEATS_Fold_requested +#define DMRL_MoreComfort_Req_DMRL_SMRL_REQ_CTR_SEATS_Fold_requested (1) +#endif + +#ifndef DMRL_MoreComfort_Req_DMRL_SMRL_REQ_CTR_SEATS_Not_requested +#define DMRL_MoreComfort_Req_DMRL_SMRL_REQ_CTR_SEATS_Not_requested (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Signal for configuration selection memory + // 6 : "Request to upload MEM 3" + // 5 : "Request to upload MEM 2" + // 4 : "Request to upload MEM 1" + // 3 : "Request to save MEM 3" + // 2 : "Request to save MEM 2" + // 1 : "Request to save MEM 1" + // 0 : "Not requested" + uint8_t DMRL_SeatMemReq : 3; // Bits= 3 + + // Signal for regulation Seat Height RL + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t DMRL_SeatHeightReq : 2; // Bits= 2 + + // Signal for regulation RL seat longitunal + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t DMRL_SeatLongitunalReq : 2; // Bits= 2 + + // Signal for regulation RL seat backrest lnclination + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t DMRL_SeatBackRestInclinationReq : 2; // Bits= 2 + + // Signal for seat massage activation + // 3 : "Reserved" + // 2 : "Massage ON" + // 1 : "Massage OFF" + // 0 : "No action" + uint8_t DMRL_SeatMassageRequest : 2; // Bits= 2 + + // Signal for ventilation activation mode + // 7 : "Reserved" + // 6 : "Reserved" + // 5 : "Reserved" + // 4 : "No action" + // 3 : "High power" + // 2 : "Middle power" + // 1 : "Low power" + // 0 : "Off" + uint8_t DMRL_SeatVentilationRequest : 3; // Bits= 3 + + // Signal for seat massage intencity regulation + // 3 : "High power" + // 2 : "Middle power" + // 1 : "Low power" + // 0 : "No action" + uint8_t DMRL_SeatMassageIntence : 2; // Bits= 2 + + // Signal for seat heating activation mode + // 7 : "Reserved" + // 6 : "Reserved" + // 5 : "Reserved" + // 4 : "No action" + // 3 : "High power" + // 2 : "Middle power" + // 1 : "Low power" + // 0 : "Off" + uint8_t DMRL_SeatHeatingRequest : 3; // Bits= 3 + + // Signal for regulation RL seat inclination + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t DMRL_SeatInclination_Req : 2; // Bits= 2 + + // Signal for regulation RL seat foot rest height + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t DMRL_SeatFootRestHeightReq : 2; // Bits= 2 + + // Request for comfort mode RL seat + // 2 : "Unfold requested" + // 1 : "Fold requested" + // 0 : "Not requested" + uint8_t DMRL_MoreComfort_Req : 2; // Bits= 2 + +#else + + // Signal for configuration selection memory + // 6 : "Request to upload MEM 3" + // 5 : "Request to upload MEM 2" + // 4 : "Request to upload MEM 1" + // 3 : "Request to save MEM 3" + // 2 : "Request to save MEM 2" + // 1 : "Request to save MEM 1" + // 0 : "Not requested" + uint8_t DMRL_SeatMemReq; // Bits= 3 + + // Signal for regulation Seat Height RL + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t DMRL_SeatHeightReq; // Bits= 2 + + // Signal for regulation RL seat longitunal + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t DMRL_SeatLongitunalReq; // Bits= 2 + + // Signal for regulation RL seat backrest lnclination + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t DMRL_SeatBackRestInclinationReq; // Bits= 2 + + // Signal for seat massage activation + // 3 : "Reserved" + // 2 : "Massage ON" + // 1 : "Massage OFF" + // 0 : "No action" + uint8_t DMRL_SeatMassageRequest; // Bits= 2 + + // Signal for ventilation activation mode + // 7 : "Reserved" + // 6 : "Reserved" + // 5 : "Reserved" + // 4 : "No action" + // 3 : "High power" + // 2 : "Middle power" + // 1 : "Low power" + // 0 : "Off" + uint8_t DMRL_SeatVentilationRequest; // Bits= 3 + + // Signal for seat massage intencity regulation + // 3 : "High power" + // 2 : "Middle power" + // 1 : "Low power" + // 0 : "No action" + uint8_t DMRL_SeatMassageIntence; // Bits= 2 + + // Signal for seat heating activation mode + // 7 : "Reserved" + // 6 : "Reserved" + // 5 : "Reserved" + // 4 : "No action" + // 3 : "High power" + // 2 : "Middle power" + // 1 : "Low power" + // 0 : "Off" + uint8_t DMRL_SeatHeatingRequest; // Bits= 3 + + // Signal for regulation RL seat inclination + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t DMRL_SeatInclination_Req; // Bits= 2 + + // Signal for regulation RL seat foot rest height + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t DMRL_SeatFootRestHeightReq; // Bits= 2 + + // Request for comfort mode RL seat + // 2 : "Unfold requested" + // 1 : "Fold requested" + // 0 : "Not requested" + uint8_t DMRL_MoreComfort_Req; // Bits= 2 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} DMRL_SMRL_REQ_CTR_SEATS_t; + +// def @DMRR_SMRR_REQ_CTR_SEATS CAN Message (874 0x36a) +#define DMRR_SMRR_REQ_CTR_SEATS_IDE (0U) +#define DMRR_SMRR_REQ_CTR_SEATS_DLC (4U) +#define DMRR_SMRR_REQ_CTR_SEATS_CANID (0x36aU) +#define DMRR_SMRR_REQ_CTR_SEATS_CYC (100U) + +// Value tables for @DMRR_SeatMemReq signal + +#ifndef DMRR_SeatMemReq_DMRR_SMRR_REQ_CTR_SEATS_request_to_upload_mem_3 +#define DMRR_SeatMemReq_DMRR_SMRR_REQ_CTR_SEATS_request_to_upload_mem_3 (6) +#endif + +#ifndef DMRR_SeatMemReq_DMRR_SMRR_REQ_CTR_SEATS_request_to_upload_mem_2 +#define DMRR_SeatMemReq_DMRR_SMRR_REQ_CTR_SEATS_request_to_upload_mem_2 (5) +#endif + +#ifndef DMRR_SeatMemReq_DMRR_SMRR_REQ_CTR_SEATS_request_to_upload_mem_1 +#define DMRR_SeatMemReq_DMRR_SMRR_REQ_CTR_SEATS_request_to_upload_mem_1 (4) +#endif + +#ifndef DMRR_SeatMemReq_DMRR_SMRR_REQ_CTR_SEATS_request_to_save_mem_3 +#define DMRR_SeatMemReq_DMRR_SMRR_REQ_CTR_SEATS_request_to_save_mem_3 (3) +#endif + +#ifndef DMRR_SeatMemReq_DMRR_SMRR_REQ_CTR_SEATS_request_to_save_mem_2 +#define DMRR_SeatMemReq_DMRR_SMRR_REQ_CTR_SEATS_request_to_save_mem_2 (2) +#endif + +#ifndef DMRR_SeatMemReq_DMRR_SMRR_REQ_CTR_SEATS_request_to_save_mem_1 +#define DMRR_SeatMemReq_DMRR_SMRR_REQ_CTR_SEATS_request_to_save_mem_1 (1) +#endif + +#ifndef DMRR_SeatMemReq_DMRR_SMRR_REQ_CTR_SEATS_No_request +#define DMRR_SeatMemReq_DMRR_SMRR_REQ_CTR_SEATS_No_request (0) +#endif + + +// Value tables for @DMRR_SeatHeightReq signal + +#ifndef DMRR_SeatHeightReq_DMRR_SMRR_REQ_CTR_SEATS_Reserved +#define DMRR_SeatHeightReq_DMRR_SMRR_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef DMRR_SeatHeightReq_DMRR_SMRR_REQ_CTR_SEATS_Decrease +#define DMRR_SeatHeightReq_DMRR_SMRR_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef DMRR_SeatHeightReq_DMRR_SMRR_REQ_CTR_SEATS_Increase +#define DMRR_SeatHeightReq_DMRR_SMRR_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef DMRR_SeatHeightReq_DMRR_SMRR_REQ_CTR_SEATS_No_action +#define DMRR_SeatHeightReq_DMRR_SMRR_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @DMRR_FrontPass_Req signal + +#ifndef DMRR_FrontPass_Req_DMRR_SMRR_REQ_CTR_SEATS_Seat_control_change_requested +#define DMRR_FrontPass_Req_DMRR_SMRR_REQ_CTR_SEATS_Seat_control_change_requested (1) +#endif + +#ifndef DMRR_FrontPass_Req_DMRR_SMRR_REQ_CTR_SEATS_Not_requested +#define DMRR_FrontPass_Req_DMRR_SMRR_REQ_CTR_SEATS_Not_requested (0) +#endif + + +// Value tables for @DMRR_SeatLongitunalReq signal + +#ifndef DMRR_SeatLongitunalReq_DMRR_SMRR_REQ_CTR_SEATS_Reserved +#define DMRR_SeatLongitunalReq_DMRR_SMRR_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef DMRR_SeatLongitunalReq_DMRR_SMRR_REQ_CTR_SEATS_Decrease +#define DMRR_SeatLongitunalReq_DMRR_SMRR_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef DMRR_SeatLongitunalReq_DMRR_SMRR_REQ_CTR_SEATS_Increase +#define DMRR_SeatLongitunalReq_DMRR_SMRR_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef DMRR_SeatLongitunalReq_DMRR_SMRR_REQ_CTR_SEATS_No_action +#define DMRR_SeatLongitunalReq_DMRR_SMRR_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @DMRR_SeatBackRestInclinationReq signal + +#ifndef DMRR_SeatBackRestInclinationReq_DMRR_SMRR_REQ_CTR_SEATS_Reserved +#define DMRR_SeatBackRestInclinationReq_DMRR_SMRR_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef DMRR_SeatBackRestInclinationReq_DMRR_SMRR_REQ_CTR_SEATS_Decrease +#define DMRR_SeatBackRestInclinationReq_DMRR_SMRR_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef DMRR_SeatBackRestInclinationReq_DMRR_SMRR_REQ_CTR_SEATS_Increase +#define DMRR_SeatBackRestInclinationReq_DMRR_SMRR_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef DMRR_SeatBackRestInclinationReq_DMRR_SMRR_REQ_CTR_SEATS_No_action +#define DMRR_SeatBackRestInclinationReq_DMRR_SMRR_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @DMRR_SeatMassageRequest signal + +#ifndef DMRR_SeatMassageRequest_DMRR_SMRR_REQ_CTR_SEATS_Reserved +#define DMRR_SeatMassageRequest_DMRR_SMRR_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef DMRR_SeatMassageRequest_DMRR_SMRR_REQ_CTR_SEATS_Massage_ON +#define DMRR_SeatMassageRequest_DMRR_SMRR_REQ_CTR_SEATS_Massage_ON (2) +#endif + +#ifndef DMRR_SeatMassageRequest_DMRR_SMRR_REQ_CTR_SEATS_Massage_OFF +#define DMRR_SeatMassageRequest_DMRR_SMRR_REQ_CTR_SEATS_Massage_OFF (1) +#endif + +#ifndef DMRR_SeatMassageRequest_DMRR_SMRR_REQ_CTR_SEATS_No_action +#define DMRR_SeatMassageRequest_DMRR_SMRR_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @DMRR_SeatVentilationRequest signal + +#ifndef DMRR_SeatVentilationRequest_DMRR_SMRR_REQ_CTR_SEATS_Reserved +#define DMRR_SeatVentilationRequest_DMRR_SMRR_REQ_CTR_SEATS_Reserved (7) +#endif + +#ifndef DMRR_SeatVentilationRequest_DMRR_SMRR_REQ_CTR_SEATS_Reserved +#define DMRR_SeatVentilationRequest_DMRR_SMRR_REQ_CTR_SEATS_Reserved (6) +#endif + +#ifndef DMRR_SeatVentilationRequest_DMRR_SMRR_REQ_CTR_SEATS_Reserved +#define DMRR_SeatVentilationRequest_DMRR_SMRR_REQ_CTR_SEATS_Reserved (5) +#endif + +#ifndef DMRR_SeatVentilationRequest_DMRR_SMRR_REQ_CTR_SEATS_No_action +#define DMRR_SeatVentilationRequest_DMRR_SMRR_REQ_CTR_SEATS_No_action (4) +#endif + +#ifndef DMRR_SeatVentilationRequest_DMRR_SMRR_REQ_CTR_SEATS_High_power +#define DMRR_SeatVentilationRequest_DMRR_SMRR_REQ_CTR_SEATS_High_power (3) +#endif + +#ifndef DMRR_SeatVentilationRequest_DMRR_SMRR_REQ_CTR_SEATS_Middle_power +#define DMRR_SeatVentilationRequest_DMRR_SMRR_REQ_CTR_SEATS_Middle_power (2) +#endif + +#ifndef DMRR_SeatVentilationRequest_DMRR_SMRR_REQ_CTR_SEATS_Low_power +#define DMRR_SeatVentilationRequest_DMRR_SMRR_REQ_CTR_SEATS_Low_power (1) +#endif + +#ifndef DMRR_SeatVentilationRequest_DMRR_SMRR_REQ_CTR_SEATS_Off +#define DMRR_SeatVentilationRequest_DMRR_SMRR_REQ_CTR_SEATS_Off (0) +#endif + + +// Value tables for @DMRR_SeatMassageIntence signal + +#ifndef DMRR_SeatMassageIntence_DMRR_SMRR_REQ_CTR_SEATS_High_power +#define DMRR_SeatMassageIntence_DMRR_SMRR_REQ_CTR_SEATS_High_power (3) +#endif + +#ifndef DMRR_SeatMassageIntence_DMRR_SMRR_REQ_CTR_SEATS_Middle_power +#define DMRR_SeatMassageIntence_DMRR_SMRR_REQ_CTR_SEATS_Middle_power (2) +#endif + +#ifndef DMRR_SeatMassageIntence_DMRR_SMRR_REQ_CTR_SEATS_Low_power +#define DMRR_SeatMassageIntence_DMRR_SMRR_REQ_CTR_SEATS_Low_power (1) +#endif + +#ifndef DMRR_SeatMassageIntence_DMRR_SMRR_REQ_CTR_SEATS_No_action +#define DMRR_SeatMassageIntence_DMRR_SMRR_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @DMRR_SeatHeatingRequest signal + +#ifndef DMRR_SeatHeatingRequest_DMRR_SMRR_REQ_CTR_SEATS_Reserved +#define DMRR_SeatHeatingRequest_DMRR_SMRR_REQ_CTR_SEATS_Reserved (7) +#endif + +#ifndef DMRR_SeatHeatingRequest_DMRR_SMRR_REQ_CTR_SEATS_Reserved +#define DMRR_SeatHeatingRequest_DMRR_SMRR_REQ_CTR_SEATS_Reserved (6) +#endif + +#ifndef DMRR_SeatHeatingRequest_DMRR_SMRR_REQ_CTR_SEATS_Reserved +#define DMRR_SeatHeatingRequest_DMRR_SMRR_REQ_CTR_SEATS_Reserved (5) +#endif + +#ifndef DMRR_SeatHeatingRequest_DMRR_SMRR_REQ_CTR_SEATS_No_action +#define DMRR_SeatHeatingRequest_DMRR_SMRR_REQ_CTR_SEATS_No_action (4) +#endif + +#ifndef DMRR_SeatHeatingRequest_DMRR_SMRR_REQ_CTR_SEATS_High_power +#define DMRR_SeatHeatingRequest_DMRR_SMRR_REQ_CTR_SEATS_High_power (3) +#endif + +#ifndef DMRR_SeatHeatingRequest_DMRR_SMRR_REQ_CTR_SEATS_Middle_power +#define DMRR_SeatHeatingRequest_DMRR_SMRR_REQ_CTR_SEATS_Middle_power (2) +#endif + +#ifndef DMRR_SeatHeatingRequest_DMRR_SMRR_REQ_CTR_SEATS_Low_power +#define DMRR_SeatHeatingRequest_DMRR_SMRR_REQ_CTR_SEATS_Low_power (1) +#endif + +#ifndef DMRR_SeatHeatingRequest_DMRR_SMRR_REQ_CTR_SEATS_Off +#define DMRR_SeatHeatingRequest_DMRR_SMRR_REQ_CTR_SEATS_Off (0) +#endif + + +// Value tables for @DMRR_SeatInclination_Req signal + +#ifndef DMRR_SeatInclination_Req_DMRR_SMRR_REQ_CTR_SEATS_Reserved +#define DMRR_SeatInclination_Req_DMRR_SMRR_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef DMRR_SeatInclination_Req_DMRR_SMRR_REQ_CTR_SEATS_Decrease +#define DMRR_SeatInclination_Req_DMRR_SMRR_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef DMRR_SeatInclination_Req_DMRR_SMRR_REQ_CTR_SEATS_Increase +#define DMRR_SeatInclination_Req_DMRR_SMRR_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef DMRR_SeatInclination_Req_DMRR_SMRR_REQ_CTR_SEATS_No_action +#define DMRR_SeatInclination_Req_DMRR_SMRR_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @DMRR_SeatFootRestHeightReq signal + +#ifndef DMRR_SeatFootRestHeightReq_DMRR_SMRR_REQ_CTR_SEATS_Reserved +#define DMRR_SeatFootRestHeightReq_DMRR_SMRR_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef DMRR_SeatFootRestHeightReq_DMRR_SMRR_REQ_CTR_SEATS_Decrease +#define DMRR_SeatFootRestHeightReq_DMRR_SMRR_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef DMRR_SeatFootRestHeightReq_DMRR_SMRR_REQ_CTR_SEATS_Increase +#define DMRR_SeatFootRestHeightReq_DMRR_SMRR_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef DMRR_SeatFootRestHeightReq_DMRR_SMRR_REQ_CTR_SEATS_No_action +#define DMRR_SeatFootRestHeightReq_DMRR_SMRR_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @DMRR_MoreComfort_Req signal + +#ifndef DMRR_MoreComfort_Req_DMRR_SMRR_REQ_CTR_SEATS_Unfold_requested +#define DMRR_MoreComfort_Req_DMRR_SMRR_REQ_CTR_SEATS_Unfold_requested (2) +#endif + +#ifndef DMRR_MoreComfort_Req_DMRR_SMRR_REQ_CTR_SEATS_Fold_requested +#define DMRR_MoreComfort_Req_DMRR_SMRR_REQ_CTR_SEATS_Fold_requested (1) +#endif + +#ifndef DMRR_MoreComfort_Req_DMRR_SMRR_REQ_CTR_SEATS_Not_requested +#define DMRR_MoreComfort_Req_DMRR_SMRR_REQ_CTR_SEATS_Not_requested (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Request for saving the seat positions + // 0x0 = No request + // 0x1 = request to save mem 1 + // 0x2 = request to save mem 2 + // 0x3 = Reserved + // 6 : "request to upload mem 3" + // 5 : "request to upload mem 2" + // 4 : "request to upload mem 1" + // 3 : "request to save mem 3" + // 2 : "request to save mem 2" + // 1 : "request to save mem 1" + // 0 : "No request" + uint8_t DMRR_SeatMemReq : 3; // Bits= 3 + + // Signal for regulation Seat Height RR + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t DMRR_SeatHeightReq : 2; // Bits= 2 + + // Request to control the FR seat from the RL passenger side + // 1 : "Seat control change requested" + // 0 : "Not requested" + uint8_t DMRR_FrontPass_Req : 1; // Bits= 1 + + // Signal for regulation RR seat longitunal + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t DMRR_SeatLongitunalReq : 2; // Bits= 2 + + // Signal for regulation RR seat backrest lnclination + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t DMRR_SeatBackRestInclinationReq : 2; // Bits= 2 + + // Signal for seat massage activation + // 3 : "Reserved" + // 2 : "Massage ON" + // 1 : "Massage OFF" + // 0 : "No action" + uint8_t DMRR_SeatMassageRequest : 2; // Bits= 2 + + // Signal for ventilation activation mode + // 7 : "Reserved" + // 6 : "Reserved" + // 5 : "Reserved" + // 4 : "No action" + // 3 : "High power" + // 2 : "Middle power" + // 1 : "Low power" + // 0 : "Off" + uint8_t DMRR_SeatVentilationRequest : 3; // Bits= 3 + + // Signal for seat massage intencity regulation + // 3 : "High power" + // 2 : "Middle power" + // 1 : "Low power" + // 0 : "No action" + uint8_t DMRR_SeatMassageIntence : 2; // Bits= 2 + + // Signal for seat heating activation mode + // 7 : "Reserved" + // 6 : "Reserved" + // 5 : "Reserved" + // 4 : "No action" + // 3 : "High power" + // 2 : "Middle power" + // 1 : "Low power" + // 0 : "Off" + uint8_t DMRR_SeatHeatingRequest : 3; // Bits= 3 + + // Signal for regulation RR seat inclination + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t DMRR_SeatInclination_Req : 2; // Bits= 2 + + // Signal for regulation RR seat foot rest height + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t DMRR_SeatFootRestHeightReq : 2; // Bits= 2 + + // Request for comfort mode RR seat + // 2 : "Unfold requested" + // 1 : "Fold requested" + // 0 : "Not requested" + uint8_t DMRR_MoreComfort_Req : 2; // Bits= 2 + +#else + + // Request for saving the seat positions + // 0x0 = No request + // 0x1 = request to save mem 1 + // 0x2 = request to save mem 2 + // 0x3 = Reserved + // 6 : "request to upload mem 3" + // 5 : "request to upload mem 2" + // 4 : "request to upload mem 1" + // 3 : "request to save mem 3" + // 2 : "request to save mem 2" + // 1 : "request to save mem 1" + // 0 : "No request" + uint8_t DMRR_SeatMemReq; // Bits= 3 + + // Signal for regulation Seat Height RR + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t DMRR_SeatHeightReq; // Bits= 2 + + // Request to control the FR seat from the RL passenger side + // 1 : "Seat control change requested" + // 0 : "Not requested" + uint8_t DMRR_FrontPass_Req; // Bits= 1 + + // Signal for regulation RR seat longitunal + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t DMRR_SeatLongitunalReq; // Bits= 2 + + // Signal for regulation RR seat backrest lnclination + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t DMRR_SeatBackRestInclinationReq; // Bits= 2 + + // Signal for seat massage activation + // 3 : "Reserved" + // 2 : "Massage ON" + // 1 : "Massage OFF" + // 0 : "No action" + uint8_t DMRR_SeatMassageRequest; // Bits= 2 + + // Signal for ventilation activation mode + // 7 : "Reserved" + // 6 : "Reserved" + // 5 : "Reserved" + // 4 : "No action" + // 3 : "High power" + // 2 : "Middle power" + // 1 : "Low power" + // 0 : "Off" + uint8_t DMRR_SeatVentilationRequest; // Bits= 3 + + // Signal for seat massage intencity regulation + // 3 : "High power" + // 2 : "Middle power" + // 1 : "Low power" + // 0 : "No action" + uint8_t DMRR_SeatMassageIntence; // Bits= 2 + + // Signal for seat heating activation mode + // 7 : "Reserved" + // 6 : "Reserved" + // 5 : "Reserved" + // 4 : "No action" + // 3 : "High power" + // 2 : "Middle power" + // 1 : "Low power" + // 0 : "Off" + uint8_t DMRR_SeatHeatingRequest; // Bits= 3 + + // Signal for regulation RR seat inclination + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t DMRR_SeatInclination_Req; // Bits= 2 + + // Signal for regulation RR seat foot rest height + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t DMRR_SeatFootRestHeightReq; // Bits= 2 + + // Request for comfort mode RR seat + // 2 : "Unfold requested" + // 1 : "Fold requested" + // 0 : "Not requested" + uint8_t DMRR_MoreComfort_Req; // Bits= 2 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} DMRR_SMRR_REQ_CTR_SEATS_t; + // def @CCU_Msg1 CAN Message (896 0x380) #define CCU_Msg1_IDE (0U) #define CCU_Msg1_DLC (8U) @@ -4757,6 +23657,130 @@ typedef struct } CCU_Msg1_t; +// def @Sroof_State CAN Message (906 0x38a) +#define Sroof_State_IDE (0U) +#define Sroof_State_DLC (1U) +#define Sroof_State_CANID (0x38aU) +#define Sroof_State_CYC (100U) + +// Value tables for @Sroof_Movement_Stat signal + +#ifndef Sroof_Movement_Stat_Sroof_State_Roof_is_closing +#define Sroof_Movement_Stat_Sroof_State_Roof_is_closing (2) +#endif + +#ifndef Sroof_Movement_Stat_Sroof_State_Roof_is_stopped +#define Sroof_Movement_Stat_Sroof_State_Roof_is_stopped (0) +#endif + +#ifndef Sroof_Movement_Stat_Sroof_State_Roof_is_opening +#define Sroof_Movement_Stat_Sroof_State_Roof_is_opening (1) +#endif + + +// Value tables for @Sroof_Position_Stat signal + +#ifndef Sroof_Position_Stat_Sroof_State_Roof_in_unknown_state +#define Sroof_Position_Stat_Sroof_State_Roof_in_unknown_state (0) +#endif + +#ifndef Sroof_Position_Stat_Sroof_State_Roof_is_closed +#define Sroof_Position_Stat_Sroof_State_Roof_is_closed (1) +#endif + +#ifndef Sroof_Position_Stat_Sroof_State_Roof_in_middle_state +#define Sroof_Position_Stat_Sroof_State_Roof_in_middle_state (2) +#endif + +#ifndef Sroof_Position_Stat_Sroof_State_Roof_is_opened +#define Sroof_Position_Stat_Sroof_State_Roof_is_opened (3) +#endif + + +// Value tables for @Sroof_Antipinch_Stat signal + +#ifndef Sroof_Antipinch_Stat_Sroof_State_No_antipinch +#define Sroof_Antipinch_Stat_Sroof_State_No_antipinch (0) +#endif + +#ifndef Sroof_Antipinch_Stat_Sroof_State_Antipinch_detect +#define Sroof_Antipinch_Stat_Sroof_State_Antipinch_detect (1) +#endif + + +// Value tables for @Sroof_Error_Stat signal + +#ifndef Sroof_Error_Stat_Sroof_State_No_error +#define Sroof_Error_Stat_Sroof_State_No_error (0) +#endif + +#ifndef Sroof_Error_Stat_Sroof_State_System_error +#define Sroof_Error_Stat_Sroof_State_System_error (1) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Current roof motion status + // 2 : "Roof is closing" + // 0 : "Roof is stopped" + // 1 : "Roof is opening" + uint8_t Sroof_Movement_Stat : 2; // Bits= 2 + + // Current roof position. + // 0 : "Roof in unknown state" + // 1 : "Roof is closed" + // 2 : "Roof in middle state" + // 3 : "Roof is opened" + uint8_t Sroof_Position_Stat : 2; // Bits= 2 + + // Antipinch detection status + // 0 : "No antipinch" + // 1 : "Antipinch detect" + uint8_t Sroof_Antipinch_Stat : 1; // Bits= 1 + + // Errors in the operation of the convertible roof control system + // 0 : "No error" + // 1 : "System error" + uint8_t Sroof_Error_Stat : 1; // Bits= 1 + +#else + + // Current roof motion status + // 2 : "Roof is closing" + // 0 : "Roof is stopped" + // 1 : "Roof is opening" + uint8_t Sroof_Movement_Stat; // Bits= 2 + + // Current roof position. + // 0 : "Roof in unknown state" + // 1 : "Roof is closed" + // 2 : "Roof in middle state" + // 3 : "Roof is opened" + uint8_t Sroof_Position_Stat; // Bits= 2 + + // Antipinch detection status + // 0 : "No antipinch" + // 1 : "Antipinch detect" + uint8_t Sroof_Antipinch_Stat; // Bits= 1 + + // Errors in the operation of the convertible roof control system + // 0 : "No error" + // 1 : "System error" + uint8_t Sroof_Error_Stat; // Bits= 1 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Sroof_State_t; + // def @VCU_CCU_Req CAN Message (925 0x39d) #define VCU_CCU_Req_IDE (0U) #define VCU_CCU_Req_DLC (4U) @@ -4811,6 +23835,110 @@ typedef struct } VCU_CCU_Req_t; +// def @IC_DATA_MSG CAN Message (938 0x3aa) +#define IC_DATA_MSG_IDE (0U) +#define IC_DATA_MSG_DLC (7U) +#define IC_DATA_MSG_CANID (0x3aaU) +#define IC_DATA_MSG_CYC (100U) +// signal: @IC_EstimatedCruiseRange_ro +#define CANDB_IC_EstimatedCruiseRange_ro_CovFactor (10) +#define CANDB_IC_EstimatedCruiseRange_ro_toS(x) ( (uint8_t) ((x) / (10)) ) +#define CANDB_IC_EstimatedCruiseRange_ro_fromS(x) ( ((x) * (10)) ) + +// Value tables for @IC_BrakePadCondition_Stat signal + +#ifndef IC_BrakePadCondition_Stat_IC_DATA_MSG_Low_condition +#define IC_BrakePadCondition_Stat_IC_DATA_MSG_Low_condition (1) +#endif + +#ifndef IC_BrakePadCondition_Stat_IC_DATA_MSG_Normal +#define IC_BrakePadCondition_Stat_IC_DATA_MSG_Normal (0) +#endif + + +// Value tables for @IC_BrakeLiquidLvl_Stat signal + +#ifndef IC_BrakeLiquidLvl_Stat_IC_DATA_MSG_Low_level +#define IC_BrakeLiquidLvl_Stat_IC_DATA_MSG_Low_level (1) +#endif + +#ifndef IC_BrakeLiquidLvl_Stat_IC_DATA_MSG_Normal +#define IC_BrakeLiquidLvl_Stat_IC_DATA_MSG_Normal (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Sends to FIU the calculated brightness of the screen. + // This calculation is made by using the internal light sensor data and the SI_BCMBacklightBrightness received from BCM. + // [0% - 100%] + uint8_t DisplayBacklightBrightness : 7; // Bits= 7 Unit:'%' + + // Indicates an estimation of the autonomy. + uint8_t IC_EstimatedCruiseRange_ro; // Bits= 8 Factor= 10 + +#ifdef CANDB_USE_SIGFLOAT + uint16_t IC_EstimatedCruiseRange_phys; +#endif // CANDB_USE_SIGFLOAT + + // Indication of Days to visit service + int16_t IC_ServiceDate; // [-] Bits=16 Unit:'day' + + // Indication of mileage to visit service + int32_t IC_ServiceMileage; // [-] Bits=20 Unit:'km' + + // Status of brake pad condition + // 1 : "Low condition" + // 0 : "Normal" + uint8_t IC_BrakePadCondition_Stat : 1; // Bits= 1 + + // Status of brake liquid level + // 1 : "Low level" + // 0 : "Normal" + uint8_t IC_BrakeLiquidLvl_Stat : 1; // Bits= 1 + +#else + + // Sends to FIU the calculated brightness of the screen. + // This calculation is made by using the internal light sensor data and the SI_BCMBacklightBrightness received from BCM. + // [0% - 100%] + uint8_t DisplayBacklightBrightness; // Bits= 7 Unit:'%' + + // Indicates an estimation of the autonomy. + uint8_t IC_EstimatedCruiseRange_ro; // Bits= 8 Factor= 10 + +#ifdef CANDB_USE_SIGFLOAT + uint16_t IC_EstimatedCruiseRange_phys; +#endif // CANDB_USE_SIGFLOAT + + // Indication of Days to visit service + int16_t IC_ServiceDate; // [-] Bits=16 Unit:'day' + + // Indication of mileage to visit service + int32_t IC_ServiceMileage; // [-] Bits=20 Unit:'km' + + // Status of brake pad condition + // 1 : "Low condition" + // 0 : "Normal" + uint8_t IC_BrakePadCondition_Stat; // Bits= 1 + + // Status of brake liquid level + // 1 : "Low level" + // 0 : "Normal" + uint8_t IC_BrakeLiquidLvl_Stat; // Bits= 1 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} IC_DATA_MSG_t; + // def @ESC_08 CAN Message (961 0x3c1) #define ESC_08_IDE (0U) #define ESC_08_DLC (5U) @@ -4865,12 +23993,2315 @@ typedef struct } ESC_08_t; +// def @WChF_Status CAN Message (971 0x3cb) +#define WChF_Status_IDE (0U) +#define WChF_Status_DLC (8U) +#define WChF_Status_CANID (0x3cbU) +#define WChF_Status_CYC (500U) + +// Value tables for @WChF_Status_Stat signal + +#ifndef WChF_Status_Stat_WChF_Status_On +#define WChF_Status_Stat_WChF_Status_On (1) +#endif + +#ifndef WChF_Status_Stat_WChF_Status_Off +#define WChF_Status_Stat_WChF_Status_Off (0) +#endif + + +// Value tables for @WChF_Charge_Stat signal + +#ifndef WChF_Charge_Stat_WChF_Status_On +#define WChF_Charge_Stat_WChF_Status_On (1) +#endif + +#ifndef WChF_Charge_Stat_WChF_Status_Off +#define WChF_Charge_Stat_WChF_Status_Off (0) +#endif + + +// Value tables for @WChF_ShortCircuit5V_Stat signal + +#ifndef WChF_ShortCircuit5V_Stat_WChF_Status_Failure +#define WChF_ShortCircuit5V_Stat_WChF_Status_Failure (1) +#endif + +#ifndef WChF_ShortCircuit5V_Stat_WChF_Status_No_failure +#define WChF_ShortCircuit5V_Stat_WChF_Status_No_failure (0) +#endif + + +// Value tables for @WChF_Comm_Stat signal + +#ifndef WChF_Comm_Stat_WChF_Status_Failure +#define WChF_Comm_Stat_WChF_Status_Failure (1) +#endif + +#ifndef WChF_Comm_Stat_WChF_Status_No_failure +#define WChF_Comm_Stat_WChF_Status_No_failure (0) +#endif + + +// Value tables for @WChF_Malfunction_Stat signal + +#ifndef WChF_Malfunction_Stat_WChF_Status_Failure +#define WChF_Malfunction_Stat_WChF_Status_Failure (1) +#endif + +#ifndef WChF_Malfunction_Stat_WChF_Status_No_failure +#define WChF_Malfunction_Stat_WChF_Status_No_failure (0) +#endif + + +// Value tables for @WChF_NFCDevice_Stat signal + +#ifndef WChF_NFCDevice_Stat_WChF_Status_Reserved +#define WChF_NFCDevice_Stat_WChF_Status_Reserved (7) +#endif + +#ifndef WChF_NFCDevice_Stat_WChF_Status_Reserved +#define WChF_NFCDevice_Stat_WChF_Status_Reserved (6) +#endif + +#ifndef WChF_NFCDevice_Stat_WChF_Status_Reserved +#define WChF_NFCDevice_Stat_WChF_Status_Reserved (5) +#endif + +#ifndef WChF_NFCDevice_Stat_WChF_Status_Reserved +#define WChF_NFCDevice_Stat_WChF_Status_Reserved (4) +#endif + +#ifndef WChF_NFCDevice_Stat_WChF_Status_Reserved +#define WChF_NFCDevice_Stat_WChF_Status_Reserved (3) +#endif + +#ifndef WChF_NFCDevice_Stat_WChF_Status_NFC_Smartphone_detect +#define WChF_NFCDevice_Stat_WChF_Status_NFC_Smartphone_detect (2) +#endif + +#ifndef WChF_NFCDevice_Stat_WChF_Status_NFC_card_detect +#define WChF_NFCDevice_Stat_WChF_Status_NFC_card_detect (1) +#endif + +#ifndef WChF_NFCDevice_Stat_WChF_Status_No_devices_detect +#define WChF_NFCDevice_Stat_WChF_Status_No_devices_detect (0) +#endif + +// signal: @WChF_PowerQI_Stat_ro +#define CANDB_WChF_PowerQI_Stat_ro_CovFactor (0.1) +#define CANDB_WChF_PowerQI_Stat_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_WChF_PowerQI_Stat_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @WChF_CurrentTx_Stat_ro +#define CANDB_WChF_CurrentTx_Stat_ro_CovFactor (0.1) +#define CANDB_WChF_CurrentTx_Stat_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_WChF_CurrentTx_Stat_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) + +// Value tables for @WChF_Frequency_Stat signal + +#ifndef WChF_Frequency_Stat_WChF_Status_Signal_not_availablefailure +#define WChF_Frequency_Stat_WChF_Status_Signal_not_availablefailure (255) +#endif + +// signal: @WChF_TempCoil_Stat_ro +#define CANDB_WChF_TempCoil_Stat_ro_CovFactor (1) +#define CANDB_WChF_TempCoil_Stat_ro_toS(x) ( (uint8_t) ((x) - (-40)) ) +#define CANDB_WChF_TempCoil_Stat_ro_fromS(x) ( ((x) + (-40)) ) + +// Value tables for @WChF_BT_Stat signal + +#ifndef WChF_BT_Stat_WChF_Status_WChf_has_BT_info +#define WChF_BT_Stat_WChF_Status_WChf_has_BT_info (1) +#endif + +#ifndef WChF_BT_Stat_WChF_Status_WChF_has_no_BT_info +#define WChF_BT_Stat_WChF_Status_WChF_has_no_BT_info (0) +#endif + + +// Value tables for @WChF_WiFi_Stat signal + +#ifndef WChF_WiFi_Stat_WChF_Status_WChF_has_WiFi_info +#define WChF_WiFi_Stat_WChF_Status_WChF_has_WiFi_info (1) +#endif + +#ifndef WChF_WiFi_Stat_WChF_Status_WChF_has_no_WiFi_info +#define WChF_WiFi_Stat_WChF_Status_WChF_has_no_WiFi_info (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Work status on state on/off + // 1 : "On" + // 0 : "Off" + uint8_t WChF_Status_Stat : 1; // Bits= 1 + + // Status charge on/off + // 1 : "On" + // 0 : "Off" + uint8_t WChF_Charge_Stat : 1; // Bits= 1 + + // Supply chain short circuit + // 1 : "Failure" + // 0 : "No failure" + uint8_t WChF_ShortCircuit5V_Stat : 1; // Bits= 1 + + // Communication error + // 1 : "Failure" + // 0 : "No failure" + uint8_t WChF_Comm_Stat : 1; // Bits= 1 + + // Malfunction of the upper PCB with antenna, coil. + // 1 : "Failure" + // 0 : "No failure" + uint8_t WChF_Malfunction_Stat : 1; // Bits= 1 + + // NFC device detection status + // 7 : "Reserved" + // 6 : "Reserved" + // 5 : "Reserved" + // 4 : "Reserved" + // 3 : "Reserved" + // 2 : "NFC Smartphone detect" + // 1 : "NFC card detect" + // 0 : "No devices detect" + uint8_t WChF_NFCDevice_Stat : 3; // Bits= 3 + + // Status about the current power QI of the current charge + uint8_t WChF_PowerQI_Stat_ro; // Bits= 8 Factor= 0.1 Unit:'W' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t WChF_PowerQI_Stat_phys; +#endif // CANDB_USE_SIGFLOAT + + // Status about current charging current + uint8_t WChF_CurrentTx_Stat_ro; // Bits= 8 Factor= 0.1 Unit:'A' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t WChF_CurrentTx_Stat_phys; +#endif // CANDB_USE_SIGFLOAT + + // Status about current frequency + // 255 : "Signal not available/failure" + uint8_t WChF_Frequency_Stat; // Bits= 8 Unit:'kHz' + + // Status about coil temperature + uint8_t WChF_TempCoil_Stat_ro; // Bits= 8 Offset= -40 Unit:'�C' + +#ifdef CANDB_USE_SIGFLOAT + int16_t WChF_TempCoil_Stat_phys; +#endif // CANDB_USE_SIGFLOAT + + uint16_t WChF_FAN_RPM_Stat; // Bits=14 Unit:'rpm' + + // Availability of Bluetooth information + // 1 : "WChf has BT info" + // 0 : "WChF has no BT info" + uint8_t WChF_BT_Stat : 1; // Bits= 1 + + // Availability of WiFi information + // 1 : "WChF has WiFi info" + // 0 : "WChF has no WiFi info" + uint8_t WChF_WiFi_Stat : 1; // Bits= 1 + +#else + + // Work status on state on/off + // 1 : "On" + // 0 : "Off" + uint8_t WChF_Status_Stat; // Bits= 1 + + // Status charge on/off + // 1 : "On" + // 0 : "Off" + uint8_t WChF_Charge_Stat; // Bits= 1 + + // Supply chain short circuit + // 1 : "Failure" + // 0 : "No failure" + uint8_t WChF_ShortCircuit5V_Stat; // Bits= 1 + + // Communication error + // 1 : "Failure" + // 0 : "No failure" + uint8_t WChF_Comm_Stat; // Bits= 1 + + // Malfunction of the upper PCB with antenna, coil. + // 1 : "Failure" + // 0 : "No failure" + uint8_t WChF_Malfunction_Stat; // Bits= 1 + + // NFC device detection status + // 7 : "Reserved" + // 6 : "Reserved" + // 5 : "Reserved" + // 4 : "Reserved" + // 3 : "Reserved" + // 2 : "NFC Smartphone detect" + // 1 : "NFC card detect" + // 0 : "No devices detect" + uint8_t WChF_NFCDevice_Stat; // Bits= 3 + + // Status about the current power QI of the current charge + uint8_t WChF_PowerQI_Stat_ro; // Bits= 8 Factor= 0.1 Unit:'W' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t WChF_PowerQI_Stat_phys; +#endif // CANDB_USE_SIGFLOAT + + // Status about current charging current + uint8_t WChF_CurrentTx_Stat_ro; // Bits= 8 Factor= 0.1 Unit:'A' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t WChF_CurrentTx_Stat_phys; +#endif // CANDB_USE_SIGFLOAT + + // Status about current frequency + // 255 : "Signal not available/failure" + uint8_t WChF_Frequency_Stat; // Bits= 8 Unit:'kHz' + + // Status about coil temperature + uint8_t WChF_TempCoil_Stat_ro; // Bits= 8 Offset= -40 Unit:'�C' + +#ifdef CANDB_USE_SIGFLOAT + int16_t WChF_TempCoil_Stat_phys; +#endif // CANDB_USE_SIGFLOAT + + uint16_t WChF_FAN_RPM_Stat; // Bits=14 Unit:'rpm' + + // Availability of Bluetooth information + // 1 : "WChf has BT info" + // 0 : "WChF has no BT info" + uint8_t WChF_BT_Stat; // Bits= 1 + + // Availability of WiFi information + // 1 : "WChF has WiFi info" + // 0 : "WChF has no WiFi info" + uint8_t WChF_WiFi_Stat; // Bits= 1 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} WChF_Status_t; + +// def @MAS_Status CAN Message (976 0x3d0) +#define MAS_Status_IDE (0U) +#define MAS_Status_DLC (8U) +#define MAS_Status_CANID (0x3d0U) +#define MAS_Status_CYC (100U) + +// Value tables for @MAS_AVMNarrowMode_Stat signal + +#ifndef MAS_AVMNarrowMode_Stat_MAS_Status_Narrow +#define MAS_AVMNarrowMode_Stat_MAS_Status_Narrow (2) +#endif + +#ifndef MAS_AVMNarrowMode_Stat_MAS_Status_Wide_full +#define MAS_AVMNarrowMode_Stat_MAS_Status_Wide_full (1) +#endif + +#ifndef MAS_AVMNarrowMode_Stat_MAS_Status_Nothing +#define MAS_AVMNarrowMode_Stat_MAS_Status_Nothing (0) +#endif + + +// Value tables for @MAS_AVMUltraSonic_Stat signal + +#ifndef MAS_AVMUltraSonic_Stat_MAS_Status_Active +#define MAS_AVMUltraSonic_Stat_MAS_Status_Active (1) +#endif + +#ifndef MAS_AVMUltraSonic_Stat_MAS_Status_Inactive +#define MAS_AVMUltraSonic_Stat_MAS_Status_Inactive (0) +#endif + + +// Value tables for @MAS_AVMCameraFront_Stat signal + +#ifndef MAS_AVMCameraFront_Stat_MAS_Status_Error +#define MAS_AVMCameraFront_Stat_MAS_Status_Error (1) +#endif + +#ifndef MAS_AVMCameraFront_Stat_MAS_Status_Not_Error +#define MAS_AVMCameraFront_Stat_MAS_Status_Not_Error (0) +#endif + + +// Value tables for @MAS_AVMCameraRear_Stat signal + +#ifndef MAS_AVMCameraRear_Stat_MAS_Status_Error +#define MAS_AVMCameraRear_Stat_MAS_Status_Error (1) +#endif + +#ifndef MAS_AVMCameraRear_Stat_MAS_Status_Not_Error +#define MAS_AVMCameraRear_Stat_MAS_Status_Not_Error (0) +#endif + + +// Value tables for @MAS_AVMCameraLeftSide_Stat signal + +#ifndef MAS_AVMCameraLeftSide_Stat_MAS_Status_Error +#define MAS_AVMCameraLeftSide_Stat_MAS_Status_Error (1) +#endif + +#ifndef MAS_AVMCameraLeftSide_Stat_MAS_Status_Not_Error +#define MAS_AVMCameraLeftSide_Stat_MAS_Status_Not_Error (0) +#endif + + +// Value tables for @MAS_AVMCameraRightSide_Stat signal + +#ifndef MAS_AVMCameraRightSide_Stat_MAS_Status_Error +#define MAS_AVMCameraRightSide_Stat_MAS_Status_Error (1) +#endif + +#ifndef MAS_AVMCameraRightSide_Stat_MAS_Status_Not_Error +#define MAS_AVMCameraRightSide_Stat_MAS_Status_Not_Error (0) +#endif + + +// Value tables for @MAS_View_Stat signal + +#ifndef MAS_View_Stat_MAS_Status_Parking_View +#define MAS_View_Stat_MAS_Status_Parking_View (7) +#endif + +#ifndef MAS_View_Stat_MAS_Status_D_Free_View_Rotation +#define MAS_View_Stat_MAS_Status_D_Free_View_Rotation (6) +#endif + +#ifndef MAS_View_Stat_MAS_Status_D_Right +#define MAS_View_Stat_MAS_Status_D_Right (5) +#endif + +#ifndef MAS_View_Stat_MAS_Status_D_Left +#define MAS_View_Stat_MAS_Status_D_Left (4) +#endif + +#ifndef MAS_View_Stat_MAS_Status_D_Main_Rear_Top_View +#define MAS_View_Stat_MAS_Status_D_Main_Rear_Top_View (3) +#endif + +#ifndef MAS_View_Stat_MAS_Status_D_Rear +#define MAS_View_Stat_MAS_Status_D_Rear (2) +#endif + +#ifndef MAS_View_Stat_MAS_Status_D_Front +#define MAS_View_Stat_MAS_Status_D_Front (1) +#endif + +#ifndef MAS_View_Stat_MAS_Status_Nothing +#define MAS_View_Stat_MAS_Status_Nothing (0) +#endif + + +// Value tables for @MAS_Calibration_Stat signal + +#ifndef MAS_Calibration_Stat_MAS_Status_Calibration_started +#define MAS_Calibration_Stat_MAS_Status_Calibration_started (1) +#endif + +#ifndef MAS_Calibration_Stat_MAS_Status_Calibration_not_started +#define MAS_Calibration_Stat_MAS_Status_Calibration_not_started (0) +#endif + + +// Value tables for @MAS_AVMUltrasonicFront_Stat signal + +#ifndef MAS_AVMUltrasonicFront_Stat_MAS_Status_Sensor_error +#define MAS_AVMUltrasonicFront_Stat_MAS_Status_Sensor_error (2) +#endif + +#ifndef MAS_AVMUltrasonicFront_Stat_MAS_Status_Dirt_or_blocked +#define MAS_AVMUltrasonicFront_Stat_MAS_Status_Dirt_or_blocked (1) +#endif + +#ifndef MAS_AVMUltrasonicFront_Stat_MAS_Status_Available +#define MAS_AVMUltrasonicFront_Stat_MAS_Status_Available (0) +#endif + + +// Value tables for @MAS_AVMUltrasonicRear_Stat signal + +#ifndef MAS_AVMUltrasonicRear_Stat_MAS_Status_Sensor_error +#define MAS_AVMUltrasonicRear_Stat_MAS_Status_Sensor_error (2) +#endif + +#ifndef MAS_AVMUltrasonicRear_Stat_MAS_Status_Dirt_or_blocked +#define MAS_AVMUltrasonicRear_Stat_MAS_Status_Dirt_or_blocked (1) +#endif + +#ifndef MAS_AVMUltrasonicRear_Stat_MAS_Status_Available +#define MAS_AVMUltrasonicRear_Stat_MAS_Status_Available (0) +#endif + + +// Value tables for @MAS_AVMUltrasonicSide_Stat signal + +#ifndef MAS_AVMUltrasonicSide_Stat_MAS_Status_Sensor_error +#define MAS_AVMUltrasonicSide_Stat_MAS_Status_Sensor_error (2) +#endif + +#ifndef MAS_AVMUltrasonicSide_Stat_MAS_Status_Dirt_or_blocked +#define MAS_AVMUltrasonicSide_Stat_MAS_Status_Dirt_or_blocked (1) +#endif + +#ifndef MAS_AVMUltrasonicSide_Stat_MAS_Status_Available +#define MAS_AVMUltrasonicSide_Stat_MAS_Status_Available (0) +#endif + + +// Value tables for @MAS_MASmode_Stat signal + +#ifndef MAS_MASmode_Stat_MAS_Status_Error +#define MAS_MASmode_Stat_MAS_Status_Error (4) +#endif + +#ifndef MAS_MASmode_Stat_MAS_Status_Not_avaliable +#define MAS_MASmode_Stat_MAS_Status_Not_avaliable (3) +#endif + +#ifndef MAS_MASmode_Stat_MAS_Status_APA +#define MAS_MASmode_Stat_MAS_Status_APA (2) +#endif + +#ifndef MAS_MASmode_Stat_MAS_Status_AVM +#define MAS_MASmode_Stat_MAS_Status_AVM (1) +#endif + +#ifndef MAS_MASmode_Stat_MAS_Status_MAS_not_requested +#define MAS_MASmode_Stat_MAS_Status_MAS_not_requested (0) +#endif + + +// Value tables for @MAS_APAMode_Stat signal + +#ifndef MAS_APAMode_Stat_MAS_Status_APA_is_not_active +#define MAS_APAMode_Stat_MAS_Status_APA_is_not_active (0) +#endif + +#ifndef MAS_APAMode_Stat_MAS_Status_Init +#define MAS_APAMode_Stat_MAS_Status_Init (1) +#endif + +#ifndef MAS_APAMode_Stat_MAS_Status_Search +#define MAS_APAMode_Stat_MAS_Status_Search (2) +#endif + +#ifndef MAS_APAMode_Stat_MAS_Status_Search_paused +#define MAS_APAMode_Stat_MAS_Status_Search_paused (3) +#endif + +#ifndef MAS_APAMode_Stat_MAS_Status_Select +#define MAS_APAMode_Stat_MAS_Status_Select (4) +#endif + +#ifndef MAS_APAMode_Stat_MAS_Status_Move +#define MAS_APAMode_Stat_MAS_Status_Move (5) +#endif + +#ifndef MAS_APAMode_Stat_MAS_Status_Move_paused +#define MAS_APAMode_Stat_MAS_Status_Move_paused (6) +#endif + +#ifndef MAS_APAMode_Stat_MAS_Status_Fatal_Error +#define MAS_APAMode_Stat_MAS_Status_Fatal_Error (7) +#endif + + +// Value tables for @MAS_AVMAutoAct_Stat signal + +#ifndef MAS_AVMAutoAct_Stat_MAS_Status_Automatic_activation_OFF +#define MAS_AVMAutoAct_Stat_MAS_Status_Automatic_activation_OFF (1) +#endif + +#ifndef MAS_AVMAutoAct_Stat_MAS_Status_Automatic_activation_ON +#define MAS_AVMAutoAct_Stat_MAS_Status_Automatic_activation_ON (0) +#endif + + +// Value tables for @MAS_APAManeuverSuccess_Stat signal + +#ifndef MAS_APAManeuverSuccess_Stat_MAS_Status_Not_started_or_not_success +#define MAS_APAManeuverSuccess_Stat_MAS_Status_Not_started_or_not_success (0) +#endif + +#ifndef MAS_APAManeuverSuccess_Stat_MAS_Status_Success +#define MAS_APAManeuverSuccess_Stat_MAS_Status_Success (1) +#endif + + +// Value tables for @MAS_ParkingOutAvailable_Stat signal + +#ifndef MAS_ParkingOutAvailable_Stat_MAS_Status_AutoParkOut_not_available +#define MAS_ParkingOutAvailable_Stat_MAS_Status_AutoParkOut_not_available (0) +#endif + +#ifndef MAS_ParkingOutAvailable_Stat_MAS_Status_AutoParkOut_is_available +#define MAS_ParkingOutAvailable_Stat_MAS_Status_AutoParkOut_is_available (1) +#endif + + +// Value tables for @MAS_ParkingOutSuccess_Stat signal + +#ifndef MAS_ParkingOutSuccess_Stat_MAS_Status_Parking_Out_is_not_executed +#define MAS_ParkingOutSuccess_Stat_MAS_Status_Parking_Out_is_not_executed (0) +#endif + +#ifndef MAS_ParkingOutSuccess_Stat_MAS_Status_Parking_Out_is_Successful +#define MAS_ParkingOutSuccess_Stat_MAS_Status_Parking_Out_is_Successful (1) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // 0 - AVM is not in 2D mode + // 1 - AVM is in wide mode, i.e. shows only the image from the camera in 2D View + // 2 - AVM shows the image from the camera + Top view + // 2 : "Narrow" + // 1 : "Wide (full)" + // 0 : "Nothing" + uint8_t MAS_AVMNarrowMode_Stat : 2; // Bits= 2 + + // 0 -MAS is not activated by parking sensors, does not show the distance to objects, and does not transmit sound to the DSP. + // 1 : "Active" + // 0 : "Inactive" + uint8_t MAS_AVMUltraSonic_Stat : 1; // Bits= 1 + + // FIU should show information that the camera is not available. + // 1 : "Error" + // 0 : "Not Error" + uint8_t MAS_AVMCameraFront_Stat : 1; // Bits= 1 + + // FIU should show information that the camera is not available. + // 1 : "Error" + // 0 : "Not Error" + uint8_t MAS_AVMCameraRear_Stat : 1; // Bits= 1 + + // FIU should show information that the camera is not available. + // 1 : "Error" + // 0 : "Not Error" + uint8_t MAS_AVMCameraLeftSide_Stat : 1; // Bits= 1 + + // FIU should show information that the camera is not available. + // 1 : "Error" + // 0 : "Not Error" + uint8_t MAS_AVMCameraRightSide_Stat : 1; // Bits= 1 + + // On this signal, FIU will understand which view mode to make active + // 7 : "Parking View" + // 6 : "3D Free View (Rotation)" + // 5 : "3D Right" + // 4 : "3D Left" + // 3 : "3D Main (Rear Top View)" + // 2 : "2D Rear" + // 1 : "2D Front" + // 0 : "Nothing" + uint8_t MAS_View_Stat : 3; // Bits= 3 + + // 1 : "Calibration started" + // 0 : "Calibration not started" + uint8_t MAS_Calibration_Stat : 1; // Bits= 1 + + // The FIU must show the user that the information from the front parking sensors cannot be trusted. + // 2 : "Sensor error" + // 1 : "Dirt or blocked" + // 0 : "Available" + uint8_t MAS_AVMUltrasonicFront_Stat : 2; // Bits= 2 + + // The FIU must show the user that the information from the front parking sensors cannot be trusted. + // 2 : "Sensor error" + // 1 : "Dirt or blocked" + // 0 : "Available" + uint8_t MAS_AVMUltrasonicRear_Stat : 2; // Bits= 2 + + // The FIU must show the user that the information from the side parking sensors cannot be trusted. + // 2 : "Sensor error" + // 1 : "Dirt or blocked" + // 0 : "Available" + uint8_t MAS_AVMUltrasonicSide_Stat : 2; // Bits= 2 + + // Current mode + // 0x0 - MAS func (AVM, APA) not active + // 0x1- MAS in AVM mode (Souround view + USS) + // 0x2 - MAS in APA mode (Autopark/Remote autopark) + // 0x3 - MAS resp on req from FIU or BCM with vehspeed >15 km/h (active for 3 frames) + // 0x4 - MAS system in Error + // 4 : "Error" + // 3 : "Not avaliable" + // 2 : "APA" + // 1 : "AVM" + // 0 : "MAS not requested" + uint8_t MAS_MASmode_Stat : 3; // Bits= 3 + + // Current APA mode + // 0 : "APA is not active" + // 1 : "Init" + // 2 : "Search" + // 3 : "Search paused" + // 4 : "Select" + // 5 : "Move" + // 6 : "Move paused" + // 7 : "Fatal Error" + uint8_t MAS_APAMode_Stat : 3; // Bits= 3 + + // Automatic activation set less than 15 km/h + // 1 : "Automatic activation OFF" + // 0 : "Automatic activation ON" + uint8_t MAS_AVMAutoAct_Stat : 1; // Bits= 1 + + // 0x0 (APA did not execute a parking maneuver successfully OR the parking maneuver was not started) 0x1 (APA executed a parking maneuver successfully) + // 0 : "Not started or not success" + // 1 : "Success" + uint8_t MAS_APAManeuverSuccess_Stat : 1; // Bits= 1 + + // Avaluablity of automatic parking out + // 0 : "AutoParkOut not available" + // 1 : "AutoParkOut is available" + uint8_t MAS_ParkingOutAvailable_Stat : 1; // Bits= 1 + + // Successful execution status of Parking Out + // 0 : "Parking Out is not executed" + // 1 : "Parking Out is Successful" + uint8_t MAS_ParkingOutSuccess_Stat : 1; // Bits= 1 + + // Rolling Counter [0 - 15] + uint8_t MAS_Status_RC : 4; // Bits= 4 + + // Checksum CRC8 SAE J1850 of the data field this message + uint8_t MAS_Status_CS; // Bits= 8 + +#else + + // 0 - AVM is not in 2D mode + // 1 - AVM is in wide mode, i.e. shows only the image from the camera in 2D View + // 2 - AVM shows the image from the camera + Top view + // 2 : "Narrow" + // 1 : "Wide (full)" + // 0 : "Nothing" + uint8_t MAS_AVMNarrowMode_Stat; // Bits= 2 + + // 0 -MAS is not activated by parking sensors, does not show the distance to objects, and does not transmit sound to the DSP. + // 1 : "Active" + // 0 : "Inactive" + uint8_t MAS_AVMUltraSonic_Stat; // Bits= 1 + + // FIU should show information that the camera is not available. + // 1 : "Error" + // 0 : "Not Error" + uint8_t MAS_AVMCameraFront_Stat; // Bits= 1 + + // FIU should show information that the camera is not available. + // 1 : "Error" + // 0 : "Not Error" + uint8_t MAS_AVMCameraRear_Stat; // Bits= 1 + + // FIU should show information that the camera is not available. + // 1 : "Error" + // 0 : "Not Error" + uint8_t MAS_AVMCameraLeftSide_Stat; // Bits= 1 + + // FIU should show information that the camera is not available. + // 1 : "Error" + // 0 : "Not Error" + uint8_t MAS_AVMCameraRightSide_Stat; // Bits= 1 + + // On this signal, FIU will understand which view mode to make active + // 7 : "Parking View" + // 6 : "3D Free View (Rotation)" + // 5 : "3D Right" + // 4 : "3D Left" + // 3 : "3D Main (Rear Top View)" + // 2 : "2D Rear" + // 1 : "2D Front" + // 0 : "Nothing" + uint8_t MAS_View_Stat; // Bits= 3 + + // 1 : "Calibration started" + // 0 : "Calibration not started" + uint8_t MAS_Calibration_Stat; // Bits= 1 + + // The FIU must show the user that the information from the front parking sensors cannot be trusted. + // 2 : "Sensor error" + // 1 : "Dirt or blocked" + // 0 : "Available" + uint8_t MAS_AVMUltrasonicFront_Stat; // Bits= 2 + + // The FIU must show the user that the information from the front parking sensors cannot be trusted. + // 2 : "Sensor error" + // 1 : "Dirt or blocked" + // 0 : "Available" + uint8_t MAS_AVMUltrasonicRear_Stat; // Bits= 2 + + // The FIU must show the user that the information from the side parking sensors cannot be trusted. + // 2 : "Sensor error" + // 1 : "Dirt or blocked" + // 0 : "Available" + uint8_t MAS_AVMUltrasonicSide_Stat; // Bits= 2 + + // Current mode + // 0x0 - MAS func (AVM, APA) not active + // 0x1- MAS in AVM mode (Souround view + USS) + // 0x2 - MAS in APA mode (Autopark/Remote autopark) + // 0x3 - MAS resp on req from FIU or BCM with vehspeed >15 km/h (active for 3 frames) + // 0x4 - MAS system in Error + // 4 : "Error" + // 3 : "Not avaliable" + // 2 : "APA" + // 1 : "AVM" + // 0 : "MAS not requested" + uint8_t MAS_MASmode_Stat; // Bits= 3 + + // Current APA mode + // 0 : "APA is not active" + // 1 : "Init" + // 2 : "Search" + // 3 : "Search paused" + // 4 : "Select" + // 5 : "Move" + // 6 : "Move paused" + // 7 : "Fatal Error" + uint8_t MAS_APAMode_Stat; // Bits= 3 + + // Automatic activation set less than 15 km/h + // 1 : "Automatic activation OFF" + // 0 : "Automatic activation ON" + uint8_t MAS_AVMAutoAct_Stat; // Bits= 1 + + // 0x0 (APA did not execute a parking maneuver successfully OR the parking maneuver was not started) 0x1 (APA executed a parking maneuver successfully) + // 0 : "Not started or not success" + // 1 : "Success" + uint8_t MAS_APAManeuverSuccess_Stat; // Bits= 1 + + // Avaluablity of automatic parking out + // 0 : "AutoParkOut not available" + // 1 : "AutoParkOut is available" + uint8_t MAS_ParkingOutAvailable_Stat; // Bits= 1 + + // Successful execution status of Parking Out + // 0 : "Parking Out is not executed" + // 1 : "Parking Out is Successful" + uint8_t MAS_ParkingOutSuccess_Stat; // Bits= 1 + + // Rolling Counter [0 - 15] + uint8_t MAS_Status_RC; // Bits= 4 + + // Checksum CRC8 SAE J1850 of the data field this message + uint8_t MAS_Status_CS; // Bits= 8 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} MAS_Status_t; + +// AVH function request +// def @EPB_VM_MSG CAN Message (1059 0x423) +#define EPB_VM_MSG_IDE (0U) +#define EPB_VM_MSG_DLC (8U) +#define EPB_VM_MSG_CANID (0x423U) +#define EPB_VM_MSG_CYC (100U) + +// Value tables for @EPB_OpMode_Req signal + +#ifndef EPB_OpMode_Req_EPB_VM_MSG_Manual_mode +#define EPB_OpMode_Req_EPB_VM_MSG_Manual_mode (1) +#endif + +#ifndef EPB_OpMode_Req_EPB_VM_MSG_Full_mode +#define EPB_OpMode_Req_EPB_VM_MSG_Full_mode (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // AVH function request + // 1 : "Manual mode" + // 0 : "Full mode" + uint8_t EPB_OpMode_Req : 1; // Bits= 1 + + // Rolling Counter [0 - 15] + uint8_t EPB_VM_RC : 4; // Bits= 4 + + // Checksum XOR8 of the data field this message + // Checksum computed as per XOR algorithm: + // Byte 1 XOR byte 2 .... XOR byte n-1. (n = packet length.) + uint8_t EPB_VM_CS; // Bits= 8 + +#else + + // AVH function request + // 1 : "Manual mode" + // 0 : "Full mode" + uint8_t EPB_OpMode_Req; // Bits= 1 + + // Rolling Counter [0 - 15] + uint8_t EPB_VM_RC; // Bits= 4 + + // Checksum XOR8 of the data field this message + // Checksum computed as per XOR algorithm: + // Byte 1 XOR byte 2 .... XOR byte n-1. (n = packet length.) + uint8_t EPB_VM_CS; // Bits= 8 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} EPB_VM_MSG_t; + +// def @CGW_COMM_REQ CAN Message (1173 0x495) +#define CGW_COMM_REQ_IDE (0U) +#define CGW_COMM_REQ_DLC (1U) +#define CGW_COMM_REQ_CANID (0x495U) +#define CGW_COMM_REQ_CYC (500U) + +// Value tables for @CGW_Comm_Req signal + +#ifndef CGW_Comm_Req_CGW_COMM_REQ_True +#define CGW_Comm_Req_CGW_COMM_REQ_True (1) +#endif + +#ifndef CGW_Comm_Req_CGW_COMM_REQ_False +#define CGW_Comm_Req_CGW_COMM_REQ_False (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Request communication to EMS + // 1 : "True" + // 0 : "False" + uint8_t CGW_Comm_Req : 1; // Bits= 1 + +#else + + // Request communication to EMS + // 1 : "True" + // 0 : "False" + uint8_t CGW_Comm_Req; // Bits= 1 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} CGW_COMM_REQ_t; + +// def @DCDC1248_01 CAN Message (1199 0x4af) +#define DCDC1248_01_IDE (0U) +#define DCDC1248_01_DLC (6U) +#define DCDC1248_01_CANID (0x4afU) +#define DCDC1248_01_CYC (10U) + +// Value tables for @DCDC1248_ActMode_Stat signal + +#ifndef DCDC1248_ActMode_Stat_DCDC1248_01_DCDC1248_Warning +#define DCDC1248_ActMode_Stat_DCDC1248_01_DCDC1248_Warning (3) +#endif + +#ifndef DCDC1248_ActMode_Stat_DCDC1248_01_DCDC1248_Error +#define DCDC1248_ActMode_Stat_DCDC1248_01_DCDC1248_Error (7) +#endif + +#ifndef DCDC1248_ActMode_Stat_DCDC1248_01_ACT12_48 +#define DCDC1248_ActMode_Stat_DCDC1248_01_ACT12_48 (2) +#endif + +#ifndef DCDC1248_ActMode_Stat_DCDC1248_01_ACT48_12 +#define DCDC1248_ActMode_Stat_DCDC1248_01_ACT48_12 (1) +#endif + +#ifndef DCDC1248_ActMode_Stat_DCDC1248_01_Standby +#define DCDC1248_ActMode_Stat_DCDC1248_01_Standby (0) +#endif + + +// Value tables for @DCDC1248_Warn_Stat signal + +#ifndef DCDC1248_Warn_Stat_DCDC1248_01_On +#define DCDC1248_Warn_Stat_DCDC1248_01_On (1) +#endif + +#ifndef DCDC1248_Warn_Stat_DCDC1248_01_Off +#define DCDC1248_Warn_Stat_DCDC1248_01_Off (0) +#endif + +// signal: @DCDC1248_ActCurr12_Val_ro +#define CANDB_DCDC1248_ActCurr12_Val_ro_CovFactor (1) +#define CANDB_DCDC1248_ActCurr12_Val_ro_toS(x) ( (uint16_t) ((x) - (-255)) ) +#define CANDB_DCDC1248_ActCurr12_Val_ro_fromS(x) ( ((x) + (-255)) ) +// signal: @DCDC1248_ActVolt12_Val_ro +#define CANDB_DCDC1248_ActVolt12_Val_ro_CovFactor (0.1) +#define CANDB_DCDC1248_ActVolt12_Val_ro_toS(x) ( (uint16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DCDC1248_ActVolt12_Val_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) + +// Value tables for @DCDC1248_ErrInternal_Stat signal + +#ifndef DCDC1248_ErrInternal_Stat_DCDC1248_01_On +#define DCDC1248_ErrInternal_Stat_DCDC1248_01_On (1) +#endif + +#ifndef DCDC1248_ErrInternal_Stat_DCDC1248_01_Off +#define DCDC1248_ErrInternal_Stat_DCDC1248_01_Off (0) +#endif + + +// Value tables for @DCDC1248_DisChrg_Stat signal + +#ifndef DCDC1248_DisChrg_Stat_DCDC1248_01_Error +#define DCDC1248_DisChrg_Stat_DCDC1248_01_Error (3) +#endif + +#ifndef DCDC1248_DisChrg_Stat_DCDC1248_01_On +#define DCDC1248_DisChrg_Stat_DCDC1248_01_On (1) +#endif + +#ifndef DCDC1248_DisChrg_Stat_DCDC1248_01_Off +#define DCDC1248_DisChrg_Stat_DCDC1248_01_Off (0) +#endif + +// signal: @DCDC1248_MaxCurr12_Val_ro +#define CANDB_DCDC1248_MaxCurr12_Val_ro_CovFactor (0.4) +#define CANDB_DCDC1248_MaxCurr12_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.4)) ) +#define CANDB_DCDC1248_MaxCurr12_Val_ro_fromS(x) ( (((x) * (0.4)) + (0.0)) ) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Checksum XOR8 of the data field this message + // Checksum computed as per XOR algorithm: + // Byte 1 XOR byte 2 .... XOR byte n-1. (n = packet length.) + uint8_t DCDC1248_01_CS; // Bits= 8 + + // Rolling Counter [0 - 15] + uint8_t DCDC1248_01_RC : 4; // Bits= 4 + + // 3 : "DCDC1248_Warning" + // 7 : "DCDC1248_Error" + // 2 : "ACT12_48" + // 1 : "ACT48_12" + // 0 : "Standby" + uint8_t DCDC1248_ActMode_Stat : 3; // Bits= 3 + + // 1 : "On" + // 0 : "Off" + uint8_t DCDC1248_Warn_Stat : 1; // Bits= 1 + + uint16_t DCDC1248_ActCurr12_Val_ro; // Bits= 9 Offset= -255 Unit:'A' + +#ifdef CANDB_USE_SIGFLOAT + int16_t DCDC1248_ActCurr12_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + uint16_t DCDC1248_ActVolt12_Val_ro; // Bits=10 Factor= 0.1 Unit:'V' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t DCDC1248_ActVolt12_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // 1 : "On" + // 0 : "Off" + uint8_t DCDC1248_ErrInternal_Stat : 1; // Bits= 1 + + uint8_t DCDC1248_OvCurr12 : 1; // Bits= 1 + + // Disable charging status + // 3 : "Error" + // 1 : "On" + // 0 : "Off" + uint8_t DCDC1248_DisChrg_Stat : 2; // Bits= 2 + + int8_t DCDC1248_T15_Stat : 1; // [-] Bits= 1 + + uint8_t DCDC1248_MaxCurr12_Val_ro; // Bits= 8 Factor= 0.4 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t DCDC1248_MaxCurr12_Val_phys; +#endif // CANDB_USE_SIGFLOAT + +#else + + // Checksum XOR8 of the data field this message + // Checksum computed as per XOR algorithm: + // Byte 1 XOR byte 2 .... XOR byte n-1. (n = packet length.) + uint8_t DCDC1248_01_CS; // Bits= 8 + + // Rolling Counter [0 - 15] + uint8_t DCDC1248_01_RC; // Bits= 4 + + // 3 : "DCDC1248_Warning" + // 7 : "DCDC1248_Error" + // 2 : "ACT12_48" + // 1 : "ACT48_12" + // 0 : "Standby" + uint8_t DCDC1248_ActMode_Stat; // Bits= 3 + + // 1 : "On" + // 0 : "Off" + uint8_t DCDC1248_Warn_Stat; // Bits= 1 + + uint16_t DCDC1248_ActCurr12_Val_ro; // Bits= 9 Offset= -255 Unit:'A' + +#ifdef CANDB_USE_SIGFLOAT + int16_t DCDC1248_ActCurr12_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + uint16_t DCDC1248_ActVolt12_Val_ro; // Bits=10 Factor= 0.1 Unit:'V' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t DCDC1248_ActVolt12_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // 1 : "On" + // 0 : "Off" + uint8_t DCDC1248_ErrInternal_Stat; // Bits= 1 + + uint8_t DCDC1248_OvCurr12; // Bits= 1 + + // Disable charging status + // 3 : "Error" + // 1 : "On" + // 0 : "Off" + uint8_t DCDC1248_DisChrg_Stat; // Bits= 2 + + int8_t DCDC1248_T15_Stat; // [-] Bits= 1 + + uint8_t DCDC1248_MaxCurr12_Val_ro; // Bits= 8 Factor= 0.4 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t DCDC1248_MaxCurr12_Val_phys; +#endif // CANDB_USE_SIGFLOAT + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} DCDC1248_01_t; + +// def @FIU_REQ_CTR_01 CAN Message (1200 0x4b0) +#define FIU_REQ_CTR_01_IDE (0U) +#define FIU_REQ_CTR_01_DLC (8U) +#define FIU_REQ_CTR_01_CANID (0x4b0U) + +// Value tables for @FIU_SetLanguage signal + +#ifndef FIU_SetLanguage_FIU_REQ_CTR_01_Chinese +#define FIU_SetLanguage_FIU_REQ_CTR_01_Chinese (3) +#endif + +#ifndef FIU_SetLanguage_FIU_REQ_CTR_01_Arabic +#define FIU_SetLanguage_FIU_REQ_CTR_01_Arabic (2) +#endif + +#ifndef FIU_SetLanguage_FIU_REQ_CTR_01_Russia +#define FIU_SetLanguage_FIU_REQ_CTR_01_Russia (1) +#endif + +#ifndef FIU_SetLanguage_FIU_REQ_CTR_01_English +#define FIU_SetLanguage_FIU_REQ_CTR_01_English (0) +#endif + + +// Value tables for @FIU_VoiceControlActive_Stat signal + +#ifndef FIU_VoiceControlActive_Stat_FIU_REQ_CTR_01_Active +#define FIU_VoiceControlActive_Stat_FIU_REQ_CTR_01_Active (1) +#endif + +#ifndef FIU_VoiceControlActive_Stat_FIU_REQ_CTR_01_Inactive +#define FIU_VoiceControlActive_Stat_FIU_REQ_CTR_01_Inactive (0) +#endif + + +// Value tables for @FIU_SERVICE_State signal + +#ifndef FIU_SERVICE_State_FIU_REQ_CTR_01_Pressed +#define FIU_SERVICE_State_FIU_REQ_CTR_01_Pressed (1) +#endif + +#ifndef FIU_SERVICE_State_FIU_REQ_CTR_01_Not_Pressed +#define FIU_SERVICE_State_FIU_REQ_CTR_01_Not_Pressed (0) +#endif + + +// Value tables for @FIU_SOS_State signal + +#ifndef FIU_SOS_State_FIU_REQ_CTR_01_Pressed +#define FIU_SOS_State_FIU_REQ_CTR_01_Pressed (1) +#endif + +#ifndef FIU_SOS_State_FIU_REQ_CTR_01_Not_Pressed +#define FIU_SOS_State_FIU_REQ_CTR_01_Not_Pressed (0) +#endif + + +// Value tables for @FIU_FuelStatisticsReset_Req signal + +#ifndef FIU_FuelStatisticsReset_Req_FIU_REQ_CTR_01_Button_pressed +#define FIU_FuelStatisticsReset_Req_FIU_REQ_CTR_01_Button_pressed (1) +#endif + +#ifndef FIU_FuelStatisticsReset_Req_FIU_REQ_CTR_01_Not_Pressed +#define FIU_FuelStatisticsReset_Req_FIU_REQ_CTR_01_Not_Pressed (0) +#endif + + +// Value tables for @FIU_UserTripStatisticsReset_Req signal + +#ifndef FIU_UserTripStatisticsReset_Req_FIU_REQ_CTR_01_Button_pressed +#define FIU_UserTripStatisticsReset_Req_FIU_REQ_CTR_01_Button_pressed (1) +#endif + +#ifndef FIU_UserTripStatisticsReset_Req_FIU_REQ_CTR_01_Not_Pressed +#define FIU_UserTripStatisticsReset_Req_FIU_REQ_CTR_01_Not_Pressed (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Requesst the language to be used by IC + // $0 = Russian + // $1 = English + // 3 : "Chinese" + // 2 : "Arabic" + // 1 : "Russia" + // 0 : "English" + uint8_t FIU_SetLanguage : 3; // Bits= 3 + + // Indicates the status of the voice control: + // $0 = Inactive + // $1 = Active + // 1 : "Active" + // 0 : "Inactive +" + uint8_t FIU_VoiceControlActive_Stat : 1; // Bits= 1 + + // Indicates the SERVICE button state: + // 0x0 = Button Not Pressed + // 0x1 = Button Pressed + // 1 : "Pressed" + // 0 : "Not Pressed" + uint8_t FIU_SERVICE_State : 1; // Bits= 1 + + // Indicates the SOS button state: + // 0x0 = Button Not Pressed + // 0x1 = Button Pressed + // 1 : "Pressed" + // 0 : "Not Pressed" + uint8_t FIU_SOS_State : 1; // Bits= 1 + + // Reset Fuel statistics: + // 0x0 = Nothing shall happens + // 0x1 = Fuel statistics shall be reset + // 1 : "Button pressed" + // 0 : "Not Pressed" + uint8_t FIU_FuelStatisticsReset_Req : 1; // Bits= 1 + + // Reset User trip statistics: + // 0x0 = Nothing shall happens + // 0x1 = Uset trip statistics shall be reset + // 1 : "Button pressed" + // 0 : "Not Pressed" + uint8_t FIU_UserTripStatisticsReset_Req : 1; // Bits= 1 + +#else + + // Requesst the language to be used by IC + // $0 = Russian + // $1 = English + // 3 : "Chinese" + // 2 : "Arabic" + // 1 : "Russia" + // 0 : "English" + uint8_t FIU_SetLanguage; // Bits= 3 + + // Indicates the status of the voice control: + // $0 = Inactive + // $1 = Active + // 1 : "Active" + // 0 : "Inactive + + uint8_t FIU_VoiceControlActive_Stat; // Bits= 1 + + // Indicates the SERVICE button state: + // 0x0 = Button Not Pressed + // 0x1 = Button Pressed + // 1 : "Pressed" + // 0 : "Not Pressed" + uint8_t FIU_SERVICE_State; // Bits= 1 + + // Indicates the SOS button state: + // 0x0 = Button Not Pressed + // 0x1 = Button Pressed + // 1 : "Pressed" + // 0 : "Not Pressed" + uint8_t FIU_SOS_State; // Bits= 1 + + // Reset Fuel statistics: + // 0x0 = Nothing shall happens + // 0x1 = Fuel statistics shall be reset + // 1 : "Button pressed" + // 0 : "Not Pressed" + uint8_t FIU_FuelStatisticsReset_Req; // Bits= 1 + + // Reset User trip statistics: + // 0x0 = Nothing shall happens + // 0x1 = Uset trip statistics shall be reset + // 1 : "Button pressed" + // 0 : "Not Pressed" + uint8_t FIU_UserTripStatisticsReset_Req; // Bits= 1 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} FIU_REQ_CTR_01_t; + +// def @DCDC1248_02 CAN Message (1201 0x4b1) +#define DCDC1248_02_IDE (0U) +#define DCDC1248_02_DLC (7U) +#define DCDC1248_02_CANID (0x4b1U) +#define DCDC1248_02_CYC (10U) +// signal: @DCDC1248_ActVolt48_Val_ro +#define CANDB_DCDC1248_ActVolt48_Val_ro_CovFactor (0.1) +#define CANDB_DCDC1248_ActVolt48_Val_ro_toS(x) ( (uint16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DCDC1248_ActVolt48_Val_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @DCDC1248_ActCurr48_Val_ro +#define CANDB_DCDC1248_ActCurr48_Val_ro_CovFactor (1) +#define CANDB_DCDC1248_ActCurr48_Val_ro_toS(x) ( (uint16_t) ((x) - (-255)) ) +#define CANDB_DCDC1248_ActCurr48_Val_ro_fromS(x) ( ((x) + (-255)) ) +// signal: @DCDC1248_ActTemp_Val_ro +#define CANDB_DCDC1248_ActTemp_Val_ro_CovFactor (1) +#define CANDB_DCDC1248_ActTemp_Val_ro_toS(x) ( (uint8_t) ((x) - (-40)) ) +#define CANDB_DCDC1248_ActTemp_Val_ro_fromS(x) ( ((x) + (-40)) ) + +// Value tables for @DCDC1248_ActDisChrg_Stat signal + +#ifndef DCDC1248_ActDisChrg_Stat_DCDC1248_02_Complete_discharge +#define DCDC1248_ActDisChrg_Stat_DCDC1248_02_Complete_discharge (2) +#endif + +#ifndef DCDC1248_ActDisChrg_Stat_DCDC1248_02_Active_discharge +#define DCDC1248_ActDisChrg_Stat_DCDC1248_02_Active_discharge (1) +#endif + +#ifndef DCDC1248_ActDisChrg_Stat_DCDC1248_02_Stand_by +#define DCDC1248_ActDisChrg_Stat_DCDC1248_02_Stand_by (0) +#endif + +// signal: @DCDC1248_MaxCurr48_Val_ro +#define CANDB_DCDC1248_MaxCurr48_Val_ro_CovFactor (0.4) +#define CANDB_DCDC1248_MaxCurr48_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.4)) ) +#define CANDB_DCDC1248_MaxCurr48_Val_ro_fromS(x) ( (((x) * (0.4)) + (0.0)) ) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Checksum XOR8 of the data field this message + // Checksum computed as per XOR algorithm: + // Byte 1 XOR byte 2 .... XOR byte n-1. (n = packet length.) + uint8_t DCDC1248_02_CS; // Bits= 8 + + // Rolling Counter [0 - 15] + uint8_t DCDC1248_02_RC : 4; // Bits= 4 + + uint16_t DCDC1248_ActVolt48_Val_ro; // Bits=10 Factor= 0.1 Unit:'V' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t DCDC1248_ActVolt48_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + uint16_t DCDC1248_ActCurr48_Val_ro; // Bits=10 Offset= -255 Unit:'A' + +#ifdef CANDB_USE_SIGFLOAT + int16_t DCDC1248_ActCurr48_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + uint8_t DCDC1248_ActTemp_Val_ro; // Bits= 8 Offset= -40 Unit:'�C' + +#ifdef CANDB_USE_SIGFLOAT + int16_t DCDC1248_ActTemp_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // 2 : "Complete discharge" + // 1 : "Active discharge" + // 0 : "Stand by" + uint8_t DCDC1248_ActDisChrg_Stat : 2; // Bits= 2 + + uint8_t DCDC1248_MaxCurr48_Val_ro; // Bits= 8 Factor= 0.4 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t DCDC1248_MaxCurr48_Val_phys; +#endif // CANDB_USE_SIGFLOAT + +#else + + // Checksum XOR8 of the data field this message + // Checksum computed as per XOR algorithm: + // Byte 1 XOR byte 2 .... XOR byte n-1. (n = packet length.) + uint8_t DCDC1248_02_CS; // Bits= 8 + + // Rolling Counter [0 - 15] + uint8_t DCDC1248_02_RC; // Bits= 4 + + uint16_t DCDC1248_ActVolt48_Val_ro; // Bits=10 Factor= 0.1 Unit:'V' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t DCDC1248_ActVolt48_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + uint16_t DCDC1248_ActCurr48_Val_ro; // Bits=10 Offset= -255 Unit:'A' + +#ifdef CANDB_USE_SIGFLOAT + int16_t DCDC1248_ActCurr48_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + uint8_t DCDC1248_ActTemp_Val_ro; // Bits= 8 Offset= -40 Unit:'�C' + +#ifdef CANDB_USE_SIGFLOAT + int16_t DCDC1248_ActTemp_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // 2 : "Complete discharge" + // 1 : "Active discharge" + // 0 : "Stand by" + uint8_t DCDC1248_ActDisChrg_Stat; // Bits= 2 + + uint8_t DCDC1248_MaxCurr48_Val_ro; // Bits= 8 Factor= 0.4 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t DCDC1248_MaxCurr48_Val_phys; +#endif // CANDB_USE_SIGFLOAT + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} DCDC1248_02_t; + +// def @FIU_Access_Msg2 CAN Message (1205 0x4b5) +#define FIU_Access_Msg2_IDE (0U) +#define FIU_Access_Msg2_DLC (4U) +#define FIU_Access_Msg2_CANID (0x4b5U) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Smartphone access key + uint32_t FIU_Smartphone_Key; // Bits=32 + +#else + + // Smartphone access key + uint32_t FIU_Smartphone_Key; // Bits=32 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} FIU_Access_Msg2_t; + +// def @FIU_Profile CAN Message (1206 0x4b6) +#define FIU_Profile_IDE (0U) +#define FIU_Profile_DLC (3U) +#define FIU_Profile_CANID (0x4b6U) +#define FIU_Profile_CYC (250U) + +// Value tables for @FIU_CurrProfile_Front_Stat signal + +#ifndef FIU_CurrProfile_Front_Stat_FIU_Profile_Guest +#define FIU_CurrProfile_Front_Stat_FIU_Profile_Guest (0) +#endif + +#ifndef FIU_CurrProfile_Front_Stat_FIU_Profile_Profile_1 +#define FIU_CurrProfile_Front_Stat_FIU_Profile_Profile_1 (1) +#endif + +#ifndef FIU_CurrProfile_Front_Stat_FIU_Profile_Profile_2 +#define FIU_CurrProfile_Front_Stat_FIU_Profile_Profile_2 (2) +#endif + +#ifndef FIU_CurrProfile_Front_Stat_FIU_Profile_Profile_3 +#define FIU_CurrProfile_Front_Stat_FIU_Profile_Profile_3 (3) +#endif + +#ifndef FIU_CurrProfile_Front_Stat_FIU_Profile_Profile_4 +#define FIU_CurrProfile_Front_Stat_FIU_Profile_Profile_4 (4) +#endif + +#ifndef FIU_CurrProfile_Front_Stat_FIU_Profile_Profile_5 +#define FIU_CurrProfile_Front_Stat_FIU_Profile_Profile_5 (5) +#endif + +#ifndef FIU_CurrProfile_Front_Stat_FIU_Profile_Reserved +#define FIU_CurrProfile_Front_Stat_FIU_Profile_Reserved (6) +#endif + +#ifndef FIU_CurrProfile_Front_Stat_FIU_Profile_Reserved +#define FIU_CurrProfile_Front_Stat_FIU_Profile_Reserved (7) +#endif + + +// Value tables for @FIU_KeySearch_Req signal + +#ifndef FIU_KeySearch_Req_FIU_Profile_Not_requested +#define FIU_KeySearch_Req_FIU_Profile_Not_requested (0) +#endif + +#ifndef FIU_KeySearch_Req_FIU_Profile_Requested +#define FIU_KeySearch_Req_FIU_Profile_Requested (1) +#endif + + +// Value tables for @FIU_ProfileSeatFront_Stat signal + +#ifndef FIU_ProfileSeatFront_Stat_FIU_Profile_OFF +#define FIU_ProfileSeatFront_Stat_FIU_Profile_OFF (0) +#endif + +#ifndef FIU_ProfileSeatFront_Stat_FIU_Profile_ON +#define FIU_ProfileSeatFront_Stat_FIU_Profile_ON (1) +#endif + + +// Value tables for @FIU_ProfileCustomFront_Stat signal + +#ifndef FIU_ProfileCustomFront_Stat_FIU_Profile_OFF +#define FIU_ProfileCustomFront_Stat_FIU_Profile_OFF (0) +#endif + +#ifndef FIU_ProfileCustomFront_Stat_FIU_Profile_ON +#define FIU_ProfileCustomFront_Stat_FIU_Profile_ON (1) +#endif + + +// Value tables for @FIU_ProfileSystFront_Stat signal + +#ifndef FIU_ProfileSystFront_Stat_FIU_Profile_OFF +#define FIU_ProfileSystFront_Stat_FIU_Profile_OFF (0) +#endif + +#ifndef FIU_ProfileSystFront_Stat_FIU_Profile_ON +#define FIU_ProfileSystFront_Stat_FIU_Profile_ON (1) +#endif + + +// Value tables for @FIU_ProfileCarSettingsFront_Stat signal + +#ifndef FIU_ProfileCarSettingsFront_Stat_FIU_Profile_OFF +#define FIU_ProfileCarSettingsFront_Stat_FIU_Profile_OFF (0) +#endif + +#ifndef FIU_ProfileCarSettingsFront_Stat_FIU_Profile_ON +#define FIU_ProfileCarSettingsFront_Stat_FIU_Profile_ON (1) +#endif + + +// Value tables for @FIU_CurrProfile_Rear_Stat signal + +#ifndef FIU_CurrProfile_Rear_Stat_FIU_Profile_Guest +#define FIU_CurrProfile_Rear_Stat_FIU_Profile_Guest (0) +#endif + +#ifndef FIU_CurrProfile_Rear_Stat_FIU_Profile_Profile_1 +#define FIU_CurrProfile_Rear_Stat_FIU_Profile_Profile_1 (1) +#endif + +#ifndef FIU_CurrProfile_Rear_Stat_FIU_Profile_Profile_2 +#define FIU_CurrProfile_Rear_Stat_FIU_Profile_Profile_2 (2) +#endif + +#ifndef FIU_CurrProfile_Rear_Stat_FIU_Profile_Profile_3 +#define FIU_CurrProfile_Rear_Stat_FIU_Profile_Profile_3 (3) +#endif + +#ifndef FIU_CurrProfile_Rear_Stat_FIU_Profile_Profile_4 +#define FIU_CurrProfile_Rear_Stat_FIU_Profile_Profile_4 (4) +#endif + +#ifndef FIU_CurrProfile_Rear_Stat_FIU_Profile_Profile_5 +#define FIU_CurrProfile_Rear_Stat_FIU_Profile_Profile_5 (5) +#endif + +#ifndef FIU_CurrProfile_Rear_Stat_FIU_Profile_Reserved +#define FIU_CurrProfile_Rear_Stat_FIU_Profile_Reserved (6) +#endif + +#ifndef FIU_CurrProfile_Rear_Stat_FIU_Profile_Reserved +#define FIU_CurrProfile_Rear_Stat_FIU_Profile_Reserved (7) +#endif + + +// Value tables for @FIU_ProfileSeatRear_Req signal + +#ifndef FIU_ProfileSeatRear_Req_FIU_Profile_OFF +#define FIU_ProfileSeatRear_Req_FIU_Profile_OFF (0) +#endif + +#ifndef FIU_ProfileSeatRear_Req_FIU_Profile_ON +#define FIU_ProfileSeatRear_Req_FIU_Profile_ON (1) +#endif + + +// Value tables for @FIU_ProfileCustomRear_Req signal + +#ifndef FIU_ProfileCustomRear_Req_FIU_Profile_OFF +#define FIU_ProfileCustomRear_Req_FIU_Profile_OFF (0) +#endif + +#ifndef FIU_ProfileCustomRear_Req_FIU_Profile_ON +#define FIU_ProfileCustomRear_Req_FIU_Profile_ON (1) +#endif + + +// Value tables for @FIU_ProfileSystRear_Req signal + +#ifndef FIU_ProfileSystRear_Req_FIU_Profile_OFF +#define FIU_ProfileSystRear_Req_FIU_Profile_OFF (0) +#endif + +#ifndef FIU_ProfileSystRear_Req_FIU_Profile_ON +#define FIU_ProfileSystRear_Req_FIU_Profile_ON (1) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Indicate current profile on FIU for others units + // 0 : "Guest" + // 1 : "Profile 1" + // 2 : "Profile 2" + // 3 : "Profile 3" + // 4 : "Profile 4" + // 5 : "Profile 5" + // 6 : "Reserved" + // 7 : "Reserved" + uint8_t FIU_CurrProfile_Front_Stat : 3; // Bits= 3 + + // Request for key search + // 0 : "Not requested" + // 1 : "Requested" + uint8_t FIU_KeySearch_Req : 1; // Bits= 1 + + // ON/OFF 'Seat and Memory' setting in Profile for FIU + // 0 : "OFF" + // 1 : "ON" + uint8_t FIU_ProfileSeatFront_Stat : 1; // Bits= 1 + + // ON/OFF 'Customization' setting in Profile for FIU + // 0 : "OFF" + // 1 : "ON" + uint8_t FIU_ProfileCustomFront_Stat : 1; // Bits= 1 + + // ON/OFF 'System settings' setting in Profile for FIU + // 0 : "OFF" + // 1 : "ON" + uint8_t FIU_ProfileSystFront_Stat : 1; // Bits= 1 + + // ON/OFF 'Car settings' setting in Profile for FIU + // 0 : "OFF" + // 1 : "ON" + uint8_t FIU_ProfileCarSettingsFront_Stat : 1; // Bits= 1 + + // Indicate current profile on central tablet for others units + // 0 : "Guest" + // 1 : "Profile 1" + // 2 : "Profile 2" + // 3 : "Profile 3" + // 4 : "Profile 4" + // 5 : "Profile 5" + // 6 : "Reserved" + // 7 : "Reserved" + uint8_t FIU_CurrProfile_Rear_Stat : 3; // Bits= 3 + + // ON/OFF 'Customization' setting in Profile for central tablet + // 0 : "OFF" + // 1 : "ON" + uint8_t FIU_ProfileSeatRear_Req : 1; // Bits= 1 + + // ON/OFF 'System settings' setting in Profile for central tablet + // 0 : "OFF" + // 1 : "ON" + uint8_t FIU_ProfileCustomRear_Req : 1; // Bits= 1 + + // ON/OFF 'Car settings' setting in Profile for central tablet + // 0 : "OFF" + // 1 : "ON" + uint8_t FIU_ProfileSystRear_Req : 1; // Bits= 1 + +#else + + // Indicate current profile on FIU for others units + // 0 : "Guest" + // 1 : "Profile 1" + // 2 : "Profile 2" + // 3 : "Profile 3" + // 4 : "Profile 4" + // 5 : "Profile 5" + // 6 : "Reserved" + // 7 : "Reserved" + uint8_t FIU_CurrProfile_Front_Stat; // Bits= 3 + + // Request for key search + // 0 : "Not requested" + // 1 : "Requested" + uint8_t FIU_KeySearch_Req; // Bits= 1 + + // ON/OFF 'Seat and Memory' setting in Profile for FIU + // 0 : "OFF" + // 1 : "ON" + uint8_t FIU_ProfileSeatFront_Stat; // Bits= 1 + + // ON/OFF 'Customization' setting in Profile for FIU + // 0 : "OFF" + // 1 : "ON" + uint8_t FIU_ProfileCustomFront_Stat; // Bits= 1 + + // ON/OFF 'System settings' setting in Profile for FIU + // 0 : "OFF" + // 1 : "ON" + uint8_t FIU_ProfileSystFront_Stat; // Bits= 1 + + // ON/OFF 'Car settings' setting in Profile for FIU + // 0 : "OFF" + // 1 : "ON" + uint8_t FIU_ProfileCarSettingsFront_Stat; // Bits= 1 + + // Indicate current profile on central tablet for others units + // 0 : "Guest" + // 1 : "Profile 1" + // 2 : "Profile 2" + // 3 : "Profile 3" + // 4 : "Profile 4" + // 5 : "Profile 5" + // 6 : "Reserved" + // 7 : "Reserved" + uint8_t FIU_CurrProfile_Rear_Stat; // Bits= 3 + + // ON/OFF 'Customization' setting in Profile for central tablet + // 0 : "OFF" + // 1 : "ON" + uint8_t FIU_ProfileSeatRear_Req; // Bits= 1 + + // ON/OFF 'System settings' setting in Profile for central tablet + // 0 : "OFF" + // 1 : "ON" + uint8_t FIU_ProfileCustomRear_Req; // Bits= 1 + + // ON/OFF 'Car settings' setting in Profile for central tablet + // 0 : "OFF" + // 1 : "ON" + uint8_t FIU_ProfileSystRear_Req; // Bits= 1 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} FIU_Profile_t; + +// def @USBSw_Stat CAN Message (1216 0x4c0) +#define USBSw_Stat_IDE (0U) +#define USBSw_Stat_DLC (1U) +#define USBSw_Stat_CANID (0x4c0U) +#define USBSw_Stat_CYC (250U) + +// Value tables for @USBSw_OutputSwitch_Stat signal + +#ifndef USBSw_OutputSwitch_Stat_USBSw_Stat_USB_Switch_Error +#define USBSw_OutputSwitch_Stat_USBSw_Stat_USB_Switch_Error (3) +#endif + +#ifndef USBSw_OutputSwitch_Stat_USBSw_Stat_USB_socket_to_laptop +#define USBSw_OutputSwitch_Stat_USBSw_Stat_USB_socket_to_laptop (2) +#endif + +#ifndef USBSw_OutputSwitch_Stat_USBSw_Stat_FIU +#define USBSw_OutputSwitch_Stat_USBSw_Stat_FIU (1) +#endif + +#ifndef USBSw_OutputSwitch_Stat_USBSw_Stat_No_output_inactive +#define USBSw_OutputSwitch_Stat_USBSw_Stat_No_output_inactive (0) +#endif + + +// Value tables for @USBSw_ConfCamera_Req signal + +#ifndef USBSw_ConfCamera_Req_USBSw_Stat_Active +#define USBSw_ConfCamera_Req_USBSw_Stat_Active (1) +#endif + +#ifndef USBSw_ConfCamera_Req_USBSw_Stat_Inactive +#define USBSw_ConfCamera_Req_USBSw_Stat_Inactive (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Current output switch state + // 3 : "USB Switch Error" + // 2 : "USB socket to laptop" + // 1 : "FIU" + // 0 : "No output (inactive)" + uint8_t USBSw_OutputSwitch_Stat : 2; // Bits= 2 + + // Request to activate the camera for video conferencing + // 1 : "Active" + // 0 : "Inactive" + uint8_t USBSw_ConfCamera_Req : 1; // Bits= 1 + +#else + + // Current output switch state + // 3 : "USB Switch Error" + // 2 : "USB socket to laptop" + // 1 : "FIU" + // 0 : "No output (inactive)" + uint8_t USBSw_OutputSwitch_Stat; // Bits= 2 + + // Request to activate the camera for video conferencing + // 1 : "Active" + // 0 : "Inactive" + uint8_t USBSw_ConfCamera_Req; // Bits= 1 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} USBSw_Stat_t; + // def @SMFL_status CAN Message (1232 0x4d0) #define SMFL_status_IDE (0U) #define SMFL_status_DLC (8U) #define SMFL_status_CANID (0x4d0U) #define SMFL_status_CYC (250U) +// Value tables for @SMFL_MMmenuActivation signal + +#ifndef SMFL_MMmenuActivation_SMFL_status_MM_menu_activation_button_pressed +#define SMFL_MMmenuActivation_SMFL_status_MM_menu_activation_button_pressed (1) +#endif + +#ifndef SMFL_MMmenuActivation_SMFL_status_MM_menu_activation_button_not_pressed +#define SMFL_MMmenuActivation_SMFL_status_MM_menu_activation_button_not_pressed (0) +#endif + + +// Value tables for @SMFL_SeatHeight_Stat signal + +#ifndef SMFL_SeatHeight_Stat_SMFL_status_Reserved +#define SMFL_SeatHeight_Stat_SMFL_status_Reserved (3) +#endif + +#ifndef SMFL_SeatHeight_Stat_SMFL_status_Decrease +#define SMFL_SeatHeight_Stat_SMFL_status_Decrease (2) +#endif + +#ifndef SMFL_SeatHeight_Stat_SMFL_status_Increase +#define SMFL_SeatHeight_Stat_SMFL_status_Increase (1) +#endif + +#ifndef SMFL_SeatHeight_Stat_SMFL_status_No_action +#define SMFL_SeatHeight_Stat_SMFL_status_No_action (0) +#endif + + +// Value tables for @SMFL_HeadRestHeight_Stat signal + +#ifndef SMFL_HeadRestHeight_Stat_SMFL_status_Reserved +#define SMFL_HeadRestHeight_Stat_SMFL_status_Reserved (3) +#endif + +#ifndef SMFL_HeadRestHeight_Stat_SMFL_status_Decrease +#define SMFL_HeadRestHeight_Stat_SMFL_status_Decrease (2) +#endif + +#ifndef SMFL_HeadRestHeight_Stat_SMFL_status_Increase +#define SMFL_HeadRestHeight_Stat_SMFL_status_Increase (1) +#endif + +#ifndef SMFL_HeadRestHeight_Stat_SMFL_status_No_action +#define SMFL_HeadRestHeight_Stat_SMFL_status_No_action (0) +#endif + + +// Value tables for @SMFL_SeatLongitudinal_Stat signal + +#ifndef SMFL_SeatLongitudinal_Stat_SMFL_status_Reserved +#define SMFL_SeatLongitudinal_Stat_SMFL_status_Reserved (3) +#endif + +#ifndef SMFL_SeatLongitudinal_Stat_SMFL_status_Decrease +#define SMFL_SeatLongitudinal_Stat_SMFL_status_Decrease (2) +#endif + +#ifndef SMFL_SeatLongitudinal_Stat_SMFL_status_Increase +#define SMFL_SeatLongitudinal_Stat_SMFL_status_Increase (1) +#endif + +#ifndef SMFL_SeatLongitudinal_Stat_SMFL_status_No_action +#define SMFL_SeatLongitudinal_Stat_SMFL_status_No_action (0) +#endif + + +// Value tables for @SMFL_HeadRestHeightInclin_Stat signal + +#ifndef SMFL_HeadRestHeightInclin_Stat_SMFL_status_Reserved +#define SMFL_HeadRestHeightInclin_Stat_SMFL_status_Reserved (3) +#endif + +#ifndef SMFL_HeadRestHeightInclin_Stat_SMFL_status_Decrease +#define SMFL_HeadRestHeightInclin_Stat_SMFL_status_Decrease (2) +#endif + +#ifndef SMFL_HeadRestHeightInclin_Stat_SMFL_status_Increase +#define SMFL_HeadRestHeightInclin_Stat_SMFL_status_Increase (1) +#endif + +#ifndef SMFL_HeadRestHeightInclin_Stat_SMFL_status_No_action +#define SMFL_HeadRestHeightInclin_Stat_SMFL_status_No_action (0) +#endif + + +// Value tables for @SMFL_SurfaceLongitudinal_Stat signal + +#ifndef SMFL_SurfaceLongitudinal_Stat_SMFL_status_Reserved +#define SMFL_SurfaceLongitudinal_Stat_SMFL_status_Reserved (3) +#endif + +#ifndef SMFL_SurfaceLongitudinal_Stat_SMFL_status_Decrease +#define SMFL_SurfaceLongitudinal_Stat_SMFL_status_Decrease (2) +#endif + +#ifndef SMFL_SurfaceLongitudinal_Stat_SMFL_status_Increase +#define SMFL_SurfaceLongitudinal_Stat_SMFL_status_Increase (1) +#endif + +#ifndef SMFL_SurfaceLongitudinal_Stat_SMFL_status_No_action +#define SMFL_SurfaceLongitudinal_Stat_SMFL_status_No_action (0) +#endif + + +// Value tables for @SMFL_SeatLegSupportH_Stat signal + +#ifndef SMFL_SeatLegSupportH_Stat_SMFL_status_Reserved +#define SMFL_SeatLegSupportH_Stat_SMFL_status_Reserved (3) +#endif + +#ifndef SMFL_SeatLegSupportH_Stat_SMFL_status_Decrease +#define SMFL_SeatLegSupportH_Stat_SMFL_status_Decrease (2) +#endif + +#ifndef SMFL_SeatLegSupportH_Stat_SMFL_status_Increase +#define SMFL_SeatLegSupportH_Stat_SMFL_status_Increase (1) +#endif + +#ifndef SMFL_SeatLegSupportH_Stat_SMFL_status_No_action +#define SMFL_SeatLegSupportH_Stat_SMFL_status_No_action (0) +#endif + + +// Value tables for @SMFL_SeatInclination_Stat signal + +#ifndef SMFL_SeatInclination_Stat_SMFL_status_Reserved +#define SMFL_SeatInclination_Stat_SMFL_status_Reserved (3) +#endif + +#ifndef SMFL_SeatInclination_Stat_SMFL_status_Decrease +#define SMFL_SeatInclination_Stat_SMFL_status_Decrease (2) +#endif + +#ifndef SMFL_SeatInclination_Stat_SMFL_status_Increase +#define SMFL_SeatInclination_Stat_SMFL_status_Increase (1) +#endif + +#ifndef SMFL_SeatInclination_Stat_SMFL_status_No_action +#define SMFL_SeatInclination_Stat_SMFL_status_No_action (0) +#endif + + +// Value tables for @SMFL_SeatLegSupportL_Stat signal + +#ifndef SMFL_SeatLegSupportL_Stat_SMFL_status_Reserved +#define SMFL_SeatLegSupportL_Stat_SMFL_status_Reserved (3) +#endif + +#ifndef SMFL_SeatLegSupportL_Stat_SMFL_status_Decrease +#define SMFL_SeatLegSupportL_Stat_SMFL_status_Decrease (2) +#endif + +#ifndef SMFL_SeatLegSupportL_Stat_SMFL_status_Increase +#define SMFL_SeatLegSupportL_Stat_SMFL_status_Increase (1) +#endif + +#ifndef SMFL_SeatLegSupportL_Stat_SMFL_status_No_action +#define SMFL_SeatLegSupportL_Stat_SMFL_status_No_action (0) +#endif + + +// Value tables for @SMFL_BackRestInclin_Stat signal + +#ifndef SMFL_BackRestInclin_Stat_SMFL_status_Reserved +#define SMFL_BackRestInclin_Stat_SMFL_status_Reserved (3) +#endif + +#ifndef SMFL_BackRestInclin_Stat_SMFL_status_Decrease +#define SMFL_BackRestInclin_Stat_SMFL_status_Decrease (2) +#endif + +#ifndef SMFL_BackRestInclin_Stat_SMFL_status_Increase +#define SMFL_BackRestInclin_Stat_SMFL_status_Increase (1) +#endif + +#ifndef SMFL_BackRestInclin_Stat_SMFL_status_No_action +#define SMFL_BackRestInclin_Stat_SMFL_status_No_action (0) +#endif + + +// Value tables for @SMFL_LumbarSupportHeight_Stat signal + +#ifndef SMFL_LumbarSupportHeight_Stat_SMFL_status_Reserved +#define SMFL_LumbarSupportHeight_Stat_SMFL_status_Reserved (3) +#endif + +#ifndef SMFL_LumbarSupportHeight_Stat_SMFL_status_Decrease +#define SMFL_LumbarSupportHeight_Stat_SMFL_status_Decrease (2) +#endif + +#ifndef SMFL_LumbarSupportHeight_Stat_SMFL_status_Increase +#define SMFL_LumbarSupportHeight_Stat_SMFL_status_Increase (1) +#endif + +#ifndef SMFL_LumbarSupportHeight_Stat_SMFL_status_No_action +#define SMFL_LumbarSupportHeight_Stat_SMFL_status_No_action (0) +#endif + + +// Value tables for @SMFL_BackRestHeadInclin_Stat signal + +#ifndef SMFL_BackRestHeadInclin_Stat_SMFL_status_Reserved +#define SMFL_BackRestHeadInclin_Stat_SMFL_status_Reserved (3) +#endif + +#ifndef SMFL_BackRestHeadInclin_Stat_SMFL_status_Decrease +#define SMFL_BackRestHeadInclin_Stat_SMFL_status_Decrease (2) +#endif + +#ifndef SMFL_BackRestHeadInclin_Stat_SMFL_status_Increase +#define SMFL_BackRestHeadInclin_Stat_SMFL_status_Increase (1) +#endif + +#ifndef SMFL_BackRestHeadInclin_Stat_SMFL_status_No_action +#define SMFL_BackRestHeadInclin_Stat_SMFL_status_No_action (0) +#endif + + +// Value tables for @SMFL_LumbarSupportDepth_Stat signal + +#ifndef SMFL_LumbarSupportDepth_Stat_SMFL_status_Reserved +#define SMFL_LumbarSupportDepth_Stat_SMFL_status_Reserved (3) +#endif + +#ifndef SMFL_LumbarSupportDepth_Stat_SMFL_status_Decrease +#define SMFL_LumbarSupportDepth_Stat_SMFL_status_Decrease (2) +#endif + +#ifndef SMFL_LumbarSupportDepth_Stat_SMFL_status_Increase +#define SMFL_LumbarSupportDepth_Stat_SMFL_status_Increase (1) +#endif + +#ifndef SMFL_LumbarSupportDepth_Stat_SMFL_status_No_action +#define SMFL_LumbarSupportDepth_Stat_SMFL_status_No_action (0) +#endif + + +// Value tables for @SMFL_BackRestWidth_Stat signal + +#ifndef SMFL_BackRestWidth_Stat_SMFL_status_Reserved +#define SMFL_BackRestWidth_Stat_SMFL_status_Reserved (3) +#endif + +#ifndef SMFL_BackRestWidth_Stat_SMFL_status_Decrease +#define SMFL_BackRestWidth_Stat_SMFL_status_Decrease (2) +#endif + +#ifndef SMFL_BackRestWidth_Stat_SMFL_status_Increase +#define SMFL_BackRestWidth_Stat_SMFL_status_Increase (1) +#endif + +#ifndef SMFL_BackRestWidth_Stat_SMFL_status_No_action +#define SMFL_BackRestWidth_Stat_SMFL_status_No_action (0) +#endif + + +// Value tables for @SMFL_CushionSupport_Stat signal + +#ifndef SMFL_CushionSupport_Stat_SMFL_status_Reserved +#define SMFL_CushionSupport_Stat_SMFL_status_Reserved (3) +#endif + +#ifndef SMFL_CushionSupport_Stat_SMFL_status_Decrease +#define SMFL_CushionSupport_Stat_SMFL_status_Decrease (2) +#endif + +#ifndef SMFL_CushionSupport_Stat_SMFL_status_Increase +#define SMFL_CushionSupport_Stat_SMFL_status_Increase (1) +#endif + +#ifndef SMFL_CushionSupport_Stat_SMFL_status_No_action +#define SMFL_CushionSupport_Stat_SMFL_status_No_action (0) +#endif + + +// Value tables for @SMFL_SeatVentilation_Stat signal + +#ifndef SMFL_SeatVentilation_Stat_SMFL_status_High_Power +#define SMFL_SeatVentilation_Stat_SMFL_status_High_Power (3) +#endif + +#ifndef SMFL_SeatVentilation_Stat_SMFL_status_Middle_Power +#define SMFL_SeatVentilation_Stat_SMFL_status_Middle_Power (2) +#endif + +#ifndef SMFL_SeatVentilation_Stat_SMFL_status_Low_Power +#define SMFL_SeatVentilation_Stat_SMFL_status_Low_Power (1) +#endif + +#ifndef SMFL_SeatVentilation_Stat_SMFL_status_No_action +#define SMFL_SeatVentilation_Stat_SMFL_status_No_action (0) +#endif + + +// Value tables for @SMFL_SeatVentBalance_Stat signal + +#ifndef SMFL_SeatVentBalance_Stat_SMFL_status_Backrest_100_Cushion_00_3 +#define SMFL_SeatVentBalance_Stat_SMFL_status_Backrest_100_Cushion_00_3 (7) +#endif + +#ifndef SMFL_SeatVentBalance_Stat_SMFL_status_Backrest_100_Cushion_33_2 +#define SMFL_SeatVentBalance_Stat_SMFL_status_Backrest_100_Cushion_33_2 (6) +#endif + +#ifndef SMFL_SeatVentBalance_Stat_SMFL_status_Backrest_100_Cushion_67_1 +#define SMFL_SeatVentBalance_Stat_SMFL_status_Backrest_100_Cushion_67_1 (5) +#endif + +#ifndef SMFL_SeatVentBalance_Stat_SMFL_status_Backrest_100_Cushion_100_0 +#define SMFL_SeatVentBalance_Stat_SMFL_status_Backrest_100_Cushion_100_0 (4) +#endif + +#ifndef SMFL_SeatVentBalance_Stat_SMFL_status_Backrest_67_Cushion_100_1 +#define SMFL_SeatVentBalance_Stat_SMFL_status_Backrest_67_Cushion_100_1 (3) +#endif + +#ifndef SMFL_SeatVentBalance_Stat_SMFL_status_Backrest_33_Cushion_100_2 +#define SMFL_SeatVentBalance_Stat_SMFL_status_Backrest_33_Cushion_100_2 (2) +#endif + +#ifndef SMFL_SeatVentBalance_Stat_SMFL_status_Backrest_00_Cushion_100_3 +#define SMFL_SeatVentBalance_Stat_SMFL_status_Backrest_00_Cushion_100_3 (1) +#endif + +#ifndef SMFL_SeatVentBalance_Stat_SMFL_status_No_action +#define SMFL_SeatVentBalance_Stat_SMFL_status_No_action (0) +#endif + + +// Value tables for @SMFL_Heating_Stat signal + +#ifndef SMFL_Heating_Stat_SMFL_status_High_Power +#define SMFL_Heating_Stat_SMFL_status_High_Power (3) +#endif + +#ifndef SMFL_Heating_Stat_SMFL_status_Middle_Power +#define SMFL_Heating_Stat_SMFL_status_Middle_Power (2) +#endif + +#ifndef SMFL_Heating_Stat_SMFL_status_Low_Power +#define SMFL_Heating_Stat_SMFL_status_Low_Power (1) +#endif + +#ifndef SMFL_Heating_Stat_SMFL_status_No_action +#define SMFL_Heating_Stat_SMFL_status_No_action (0) +#endif + + +// Value tables for @SMFL_HeatBalance_Stat signal + +#ifndef SMFL_HeatBalance_Stat_SMFL_status_Backrest_100_Cushion_00_3 +#define SMFL_HeatBalance_Stat_SMFL_status_Backrest_100_Cushion_00_3 (7) +#endif + +#ifndef SMFL_HeatBalance_Stat_SMFL_status_Backrest_100_Cushion_33_2 +#define SMFL_HeatBalance_Stat_SMFL_status_Backrest_100_Cushion_33_2 (6) +#endif + +#ifndef SMFL_HeatBalance_Stat_SMFL_status_Backrest_100_Cushion_67_1 +#define SMFL_HeatBalance_Stat_SMFL_status_Backrest_100_Cushion_67_1 (5) +#endif + +#ifndef SMFL_HeatBalance_Stat_SMFL_status_Backrest_100_Cushion_100_0 +#define SMFL_HeatBalance_Stat_SMFL_status_Backrest_100_Cushion_100_0 (4) +#endif + +#ifndef SMFL_HeatBalance_Stat_SMFL_status_Backrest_67_Cushion_100_1 +#define SMFL_HeatBalance_Stat_SMFL_status_Backrest_67_Cushion_100_1 (3) +#endif + +#ifndef SMFL_HeatBalance_Stat_SMFL_status_Backrest_33_Cushion_100_2 +#define SMFL_HeatBalance_Stat_SMFL_status_Backrest_33_Cushion_100_2 (2) +#endif + +#ifndef SMFL_HeatBalance_Stat_SMFL_status_Backrest_00_Cushion_100_3 +#define SMFL_HeatBalance_Stat_SMFL_status_Backrest_00_Cushion_100_3 (1) +#endif + +#ifndef SMFL_HeatBalance_Stat_SMFL_status_No_action +#define SMFL_HeatBalance_Stat_SMFL_status_No_action (0) +#endif + + +// Value tables for @SMFL_SeatMassage_Stat signal + +#ifndef SMFL_SeatMassage_Stat_SMFL_status_Reserved +#define SMFL_SeatMassage_Stat_SMFL_status_Reserved (3) +#endif + +#ifndef SMFL_SeatMassage_Stat_SMFL_status_Massage_ON +#define SMFL_SeatMassage_Stat_SMFL_status_Massage_ON (2) +#endif + +#ifndef SMFL_SeatMassage_Stat_SMFL_status_Massage_OFF +#define SMFL_SeatMassage_Stat_SMFL_status_Massage_OFF (1) +#endif + +#ifndef SMFL_SeatMassage_Stat_SMFL_status_No_action +#define SMFL_SeatMassage_Stat_SMFL_status_No_action (0) +#endif + + +// Value tables for @SMFL_MassageIntens_Stat signal + +#ifndef SMFL_MassageIntens_Stat_SMFL_status_High_power +#define SMFL_MassageIntens_Stat_SMFL_status_High_power (3) +#endif + +#ifndef SMFL_MassageIntens_Stat_SMFL_status_Middle_power +#define SMFL_MassageIntens_Stat_SMFL_status_Middle_power (2) +#endif + +#ifndef SMFL_MassageIntens_Stat_SMFL_status_Low_power +#define SMFL_MassageIntens_Stat_SMFL_status_Low_power (1) +#endif + +#ifndef SMFL_MassageIntens_Stat_SMFL_status_No_action +#define SMFL_MassageIntens_Stat_SMFL_status_No_action (0) +#endif + + +// Value tables for @SMFL_SeatMassageType_Stat signal + +#ifndef SMFL_SeatMassageType_Stat_SMFL_status_Type_7_Velvet +#define SMFL_SeatMassageType_Stat_SMFL_status_Type_7_Velvet (7) +#endif + +#ifndef SMFL_SeatMassageType_Stat_SMFL_status_Type_6_Sonnet +#define SMFL_SeatMassageType_Stat_SMFL_status_Type_6_Sonnet (6) +#endif + +#ifndef SMFL_SeatMassageType_Stat_SMFL_status_Type_5_Quantum +#define SMFL_SeatMassageType_Stat_SMFL_status_Type_5_Quantum (5) +#endif + +#ifndef SMFL_SeatMassageType_Stat_SMFL_status_Type_4_Cashmere +#define SMFL_SeatMassageType_Stat_SMFL_status_Type_4_Cashmere (4) +#endif + +#ifndef SMFL_SeatMassageType_Stat_SMFL_status_Type_3_Harmony +#define SMFL_SeatMassageType_Stat_SMFL_status_Type_3_Harmony (3) +#endif + +#ifndef SMFL_SeatMassageType_Stat_SMFL_status_Type_2_Orbital +#define SMFL_SeatMassageType_Stat_SMFL_status_Type_2_Orbital (2) +#endif + +#ifndef SMFL_SeatMassageType_Stat_SMFL_status_Type_1_Insight +#define SMFL_SeatMassageType_Stat_SMFL_status_Type_1_Insight (1) +#endif + +#ifndef SMFL_SeatMassageType_Stat_SMFL_status_No_action +#define SMFL_SeatMassageType_Stat_SMFL_status_No_action (0) +#endif + + +// Value tables for @SMFL_TabletPWR_Stat signal + +#ifndef SMFL_TabletPWR_Stat_SMFL_status_On +#define SMFL_TabletPWR_Stat_SMFL_status_On (1) +#endif + +#ifndef SMFL_TabletPWR_Stat_SMFL_status_Off +#define SMFL_TabletPWR_Stat_SMFL_status_Off (0) +#endif + + // Value tables for @SMFL_CarpetHeat_Stat signal #ifndef SMFL_CarpetHeat_Stat_SMFL_status_Carpet_heating_is_active @@ -4882,21 +26313,496 @@ typedef struct #endif +// Value tables for @SMFL_ActiveSupport_Stat signal + +#ifndef SMFL_ActiveSupport_Stat_SMFL_status_Active +#define SMFL_ActiveSupport_Stat_SMFL_status_Active (1) +#endif + +#ifndef SMFL_ActiveSupport_Stat_SMFL_status_Inactive +#define SMFL_ActiveSupport_Stat_SMFL_status_Inactive (0) +#endif + + +// Value tables for @SMFL_BackrestMassageType_Stat signal + +#ifndef SMFL_BackrestMassageType_Stat_SMFL_status_Reserved +#define SMFL_BackrestMassageType_Stat_SMFL_status_Reserved (7) +#endif + +#ifndef SMFL_BackrestMassageType_Stat_SMFL_status_Reserved +#define SMFL_BackrestMassageType_Stat_SMFL_status_Reserved (6) +#endif + +#ifndef SMFL_BackrestMassageType_Stat_SMFL_status_Type_5_Elegy +#define SMFL_BackrestMassageType_Stat_SMFL_status_Type_5_Elegy (5) +#endif + +#ifndef SMFL_BackrestMassageType_Stat_SMFL_status_Type_4_Caprice +#define SMFL_BackrestMassageType_Stat_SMFL_status_Type_4_Caprice (4) +#endif + +#ifndef SMFL_BackrestMassageType_Stat_SMFL_status_Type_3_Pulse +#define SMFL_BackrestMassageType_Stat_SMFL_status_Type_3_Pulse (3) +#endif + +#ifndef SMFL_BackrestMassageType_Stat_SMFL_status_Type_2_Energy +#define SMFL_BackrestMassageType_Stat_SMFL_status_Type_2_Energy (2) +#endif + +#ifndef SMFL_BackrestMassageType_Stat_SMFL_status_Type_1_Synchrony +#define SMFL_BackrestMassageType_Stat_SMFL_status_Type_1_Synchrony (1) +#endif + +#ifndef SMFL_BackrestMassageType_Stat_SMFL_status_No_action +#define SMFL_BackrestMassageType_Stat_SMFL_status_No_action (0) +#endif + + +// Value tables for @SMFL_TimerMassage_Stat signal + +#ifndef SMFL_TimerMassage_Stat_SMFL_status_Reserved +#define SMFL_TimerMassage_Stat_SMFL_status_Reserved (7) +#endif + +#ifndef SMFL_TimerMassage_Stat_SMFL_status_Reserved +#define SMFL_TimerMassage_Stat_SMFL_status_Reserved (6) +#endif + +#ifndef SMFL_TimerMassage_Stat_SMFL_status__min +#define SMFL_TimerMassage_Stat_SMFL_status__min (5) +#endif + +#ifndef SMFL_TimerMassage_Stat_SMFL_status__min +#define SMFL_TimerMassage_Stat_SMFL_status__min (4) +#endif + +#ifndef SMFL_TimerMassage_Stat_SMFL_status__min +#define SMFL_TimerMassage_Stat_SMFL_status__min (3) +#endif + +#ifndef SMFL_TimerMassage_Stat_SMFL_status__min +#define SMFL_TimerMassage_Stat_SMFL_status__min (2) +#endif + +#ifndef SMFL_TimerMassage_Stat_SMFL_status__min +#define SMFL_TimerMassage_Stat_SMFL_status__min (1) +#endif + +#ifndef SMFL_TimerMassage_Stat_SMFL_status__min +#define SMFL_TimerMassage_Stat_SMFL_status__min (0) +#endif + + typedef struct { #ifdef CANDB_USE_BITS_SIGNAL + // Signal of pressing MM menu button on SMFL + // 1 : "MM menu activation button pressed" + // 0 : "MM menu activation button not pressed" + uint8_t SMFL_MMmenuActivation : 1; // Bits= 1 + + // FL seat height changing status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMFL_SeatHeight_Stat : 2; // Bits= 2 + + // FL seat headrest height changing status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMFL_HeadRestHeight_Stat : 2; // Bits= 2 + + // FL seat longitudinal changing status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMFL_SeatLongitudinal_Stat : 2; // Bits= 2 + + // FL seat headrest height inclination changing status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMFL_HeadRestHeightInclin_Stat : 2; // Bits= 2 + + // FL seat surface longitudinal changing status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMFL_SurfaceLongitudinal_Stat : 2; // Bits= 2 + + // FL seat footrest changing status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMFL_SeatLegSupportH_Stat : 2; // Bits= 2 + + // FL seat inclination status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMFL_SeatInclination_Stat : 2; // Bits= 2 + + // FL seat footrest longitudinal changing status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMFL_SeatLegSupportL_Stat : 2; // Bits= 2 + + // FL seat backrest inclination status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMFL_BackRestInclin_Stat : 2; // Bits= 2 + + // FL seat lumbar support height status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMFL_LumbarSupportHeight_Stat : 2; // Bits= 2 + + // FL seat backrest head inclination status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMFL_BackRestHeadInclin_Stat : 2; // Bits= 2 + + // FL seat lumbar support depth status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMFL_LumbarSupportDepth_Stat : 2; // Bits= 2 + + // FL seat backrest width status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMFL_BackRestWidth_Stat : 2; // Bits= 2 + + // FL seat cushion support inclination status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMFL_CushionSupport_Stat : 2; // Bits= 2 + + // FL seat ventilation status + // 3 : "High Power" + // 2 : "Middle Power" + // 1 : "Low Power" + // 0 : "No action" + uint8_t SMFL_SeatVentilation_Stat : 2; // Bits= 2 + + // FL seat ventilation balance status + // 7 : "Backrest 100%, Cushion 00%: 3" + // 6 : "Backrest 100%, Cushion 33%: 2" + // 5 : "Backrest 100%, Cushion 67%: 1" + // 4 : "Backrest 100%, Cushion 100%: 0" + // 3 : "Backrest 67%, Cushion 100%: -1" + // 2 : "Backrest 33%, Cushion 100%: -2" + // 1 : "Backrest 00%, Cushion 100%: -3" + // 0 : "No action" + uint8_t SMFL_SeatVentBalance_Stat : 3; // Bits= 3 + + // FL seat heating status + // 3 : "High Power" + // 2 : "Middle Power" + // 1 : "Low Power" + // 0 : "No action" + uint8_t SMFL_Heating_Stat : 2; // Bits= 2 + + // FL seat heating balance status + // 7 : "Backrest 100%, Cushion 00%: 3" + // 6 : "Backrest 100%, Cushion 33%: 2" + // 5 : "Backrest 100%, Cushion 67%: 1" + // 4 : "Backrest 100%, Cushion 100%: 0" + // 3 : "Backrest 67%, Cushion 100%: -1" + // 2 : "Backrest 33%, Cushion 100%: -2" + // 1 : "Backrest 00%, Cushion 100%: -3" + // 0 : "No action" + uint8_t SMFL_HeatBalance_Stat : 3; // Bits= 3 + + // FL seat massage status + // 3 : "Reserved" + // 2 : "Massage ON" + // 1 : "Massage OFF" + // 0 : "No action" + uint8_t SMFL_SeatMassage_Stat : 2; // Bits= 2 + + // FL seat massage intencivity status + // 3 : "High power" + // 2 : "Middle power" + // 1 : "Low power" + // 0 : "No action" + uint8_t SMFL_MassageIntens_Stat : 2; // Bits= 2 + + // FL seat massage type status + // 7 : "Type 7 (Velvet)" + // 6 : "Type 6 (Sonnet)" + // 5 : "Type 5 (Quantum)" + // 4 : "Type 4 (Cashmere)" + // 3 : "Type 3 (Harmony)" + // 2 : "Type 2 (Orbital)" + // 1 : "Type 1 (Insight)" + // 0 : "No action" + uint8_t SMFL_SeatMassageType_Stat : 3; // Bits= 3 + + // Of DocSL+T Tablet power on/off status + // 1 : "On" + // 0 : "Off" + uint8_t SMFL_TabletPWR_Stat : 1; // Bits= 1 + // Carpet heating status for front left zone // 1 : "Carpet heating is active" // 0 : "Carpet heating is inactive" - uint8_t SMFL_CarpetHeat_Stat : 1; // Bits= 1 + uint8_t SMFL_CarpetHeat_Stat : 1; // Bits= 1 + + // Active lateral status + // 1 : "Active" + // 0 : "Inactive" + uint8_t SMFL_ActiveSupport_Stat : 1; // Bits= 1 + + // Signal for backrest massage type (mode) + // (RL backrest massage type request) + // 7 : "Reserved" + // 6 : "Reserved" + // 5 : "Type 5 (Elegy)" + // 4 : "Type 4 (Caprice)" + // 3 : "Type 3 (Pulse)" + // 2 : "Type 2 (Energy)" + // 1 : "Type 1 (Synchrony)" + // 0 : "No action" + uint8_t SMFL_BackrestMassageType_Stat : 3; // Bits= 3 + + // FL seat massage timer status + // 7 : "Reserved" + // 6 : "Reserved" + // 5 : "5 min" + // 4 : "10 min" + // 3 : "15 min" + // 2 : "20 min" + // 1 : "25 min" + // 0 : "30 min" + uint8_t SMFL_TimerMassage_Stat : 3; // Bits= 3 #else + // Signal of pressing MM menu button on SMFL + // 1 : "MM menu activation button pressed" + // 0 : "MM menu activation button not pressed" + uint8_t SMFL_MMmenuActivation; // Bits= 1 + + // FL seat height changing status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMFL_SeatHeight_Stat; // Bits= 2 + + // FL seat headrest height changing status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMFL_HeadRestHeight_Stat; // Bits= 2 + + // FL seat longitudinal changing status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMFL_SeatLongitudinal_Stat; // Bits= 2 + + // FL seat headrest height inclination changing status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMFL_HeadRestHeightInclin_Stat; // Bits= 2 + + // FL seat surface longitudinal changing status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMFL_SurfaceLongitudinal_Stat; // Bits= 2 + + // FL seat footrest changing status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMFL_SeatLegSupportH_Stat; // Bits= 2 + + // FL seat inclination status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMFL_SeatInclination_Stat; // Bits= 2 + + // FL seat footrest longitudinal changing status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMFL_SeatLegSupportL_Stat; // Bits= 2 + + // FL seat backrest inclination status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMFL_BackRestInclin_Stat; // Bits= 2 + + // FL seat lumbar support height status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMFL_LumbarSupportHeight_Stat; // Bits= 2 + + // FL seat backrest head inclination status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMFL_BackRestHeadInclin_Stat; // Bits= 2 + + // FL seat lumbar support depth status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMFL_LumbarSupportDepth_Stat; // Bits= 2 + + // FL seat backrest width status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMFL_BackRestWidth_Stat; // Bits= 2 + + // FL seat cushion support inclination status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMFL_CushionSupport_Stat; // Bits= 2 + + // FL seat ventilation status + // 3 : "High Power" + // 2 : "Middle Power" + // 1 : "Low Power" + // 0 : "No action" + uint8_t SMFL_SeatVentilation_Stat; // Bits= 2 + + // FL seat ventilation balance status + // 7 : "Backrest 100%, Cushion 00%: 3" + // 6 : "Backrest 100%, Cushion 33%: 2" + // 5 : "Backrest 100%, Cushion 67%: 1" + // 4 : "Backrest 100%, Cushion 100%: 0" + // 3 : "Backrest 67%, Cushion 100%: -1" + // 2 : "Backrest 33%, Cushion 100%: -2" + // 1 : "Backrest 00%, Cushion 100%: -3" + // 0 : "No action" + uint8_t SMFL_SeatVentBalance_Stat; // Bits= 3 + + // FL seat heating status + // 3 : "High Power" + // 2 : "Middle Power" + // 1 : "Low Power" + // 0 : "No action" + uint8_t SMFL_Heating_Stat; // Bits= 2 + + // FL seat heating balance status + // 7 : "Backrest 100%, Cushion 00%: 3" + // 6 : "Backrest 100%, Cushion 33%: 2" + // 5 : "Backrest 100%, Cushion 67%: 1" + // 4 : "Backrest 100%, Cushion 100%: 0" + // 3 : "Backrest 67%, Cushion 100%: -1" + // 2 : "Backrest 33%, Cushion 100%: -2" + // 1 : "Backrest 00%, Cushion 100%: -3" + // 0 : "No action" + uint8_t SMFL_HeatBalance_Stat; // Bits= 3 + + // FL seat massage status + // 3 : "Reserved" + // 2 : "Massage ON" + // 1 : "Massage OFF" + // 0 : "No action" + uint8_t SMFL_SeatMassage_Stat; // Bits= 2 + + // FL seat massage intencivity status + // 3 : "High power" + // 2 : "Middle power" + // 1 : "Low power" + // 0 : "No action" + uint8_t SMFL_MassageIntens_Stat; // Bits= 2 + + // FL seat massage type status + // 7 : "Type 7 (Velvet)" + // 6 : "Type 6 (Sonnet)" + // 5 : "Type 5 (Quantum)" + // 4 : "Type 4 (Cashmere)" + // 3 : "Type 3 (Harmony)" + // 2 : "Type 2 (Orbital)" + // 1 : "Type 1 (Insight)" + // 0 : "No action" + uint8_t SMFL_SeatMassageType_Stat; // Bits= 3 + + // Of DocSL+T Tablet power on/off status + // 1 : "On" + // 0 : "Off" + uint8_t SMFL_TabletPWR_Stat; // Bits= 1 + // Carpet heating status for front left zone // 1 : "Carpet heating is active" // 0 : "Carpet heating is inactive" - uint8_t SMFL_CarpetHeat_Stat; // Bits= 1 + uint8_t SMFL_CarpetHeat_Stat; // Bits= 1 + + // Active lateral status + // 1 : "Active" + // 0 : "Inactive" + uint8_t SMFL_ActiveSupport_Stat; // Bits= 1 + + // Signal for backrest massage type (mode) + // (RL backrest massage type request) + // 7 : "Reserved" + // 6 : "Reserved" + // 5 : "Type 5 (Elegy)" + // 4 : "Type 4 (Caprice)" + // 3 : "Type 3 (Pulse)" + // 2 : "Type 2 (Energy)" + // 1 : "Type 1 (Synchrony)" + // 0 : "No action" + uint8_t SMFL_BackrestMassageType_Stat; // Bits= 3 + + // FL seat massage timer status + // 7 : "Reserved" + // 6 : "Reserved" + // 5 : "5 min" + // 4 : "10 min" + // 3 : "15 min" + // 2 : "20 min" + // 1 : "25 min" + // 0 : "30 min" + uint8_t SMFL_TimerMassage_Stat; // Bits= 3 #endif // CANDB_USE_BITS_SIGNAL @@ -4914,6 +26820,475 @@ typedef struct #define SMFR_status_CANID (0x4d1U) #define SMFR_status_CYC (250U) +// Value tables for @SMFR_MMmenuActivBtn_Stat signal + +#ifndef SMFR_MMmenuActivBtn_Stat_SMFR_status_MM_menu_activation_button_pressed +#define SMFR_MMmenuActivBtn_Stat_SMFR_status_MM_menu_activation_button_pressed (1) +#endif + +#ifndef SMFR_MMmenuActivBtn_Stat_SMFR_status_MM_menu_activation_button_not_pressed +#define SMFR_MMmenuActivBtn_Stat_SMFR_status_MM_menu_activation_button_not_pressed (0) +#endif + + +// Value tables for @SMFR_SeatHeight_Stat signal + +#ifndef SMFR_SeatHeight_Stat_SMFR_status_Reserved +#define SMFR_SeatHeight_Stat_SMFR_status_Reserved (3) +#endif + +#ifndef SMFR_SeatHeight_Stat_SMFR_status_Decrease +#define SMFR_SeatHeight_Stat_SMFR_status_Decrease (2) +#endif + +#ifndef SMFR_SeatHeight_Stat_SMFR_status_Increase +#define SMFR_SeatHeight_Stat_SMFR_status_Increase (1) +#endif + +#ifndef SMFR_SeatHeight_Stat_SMFR_status_No_action +#define SMFR_SeatHeight_Stat_SMFR_status_No_action (0) +#endif + + +// Value tables for @SMFR_HeadRestHeight_Stat signal + +#ifndef SMFR_HeadRestHeight_Stat_SMFR_status_Reserved +#define SMFR_HeadRestHeight_Stat_SMFR_status_Reserved (3) +#endif + +#ifndef SMFR_HeadRestHeight_Stat_SMFR_status_Decrease +#define SMFR_HeadRestHeight_Stat_SMFR_status_Decrease (2) +#endif + +#ifndef SMFR_HeadRestHeight_Stat_SMFR_status_Increase +#define SMFR_HeadRestHeight_Stat_SMFR_status_Increase (1) +#endif + +#ifndef SMFR_HeadRestHeight_Stat_SMFR_status_No_action +#define SMFR_HeadRestHeight_Stat_SMFR_status_No_action (0) +#endif + + +// Value tables for @SMFR_SeatLongitudinal_Stat signal + +#ifndef SMFR_SeatLongitudinal_Stat_SMFR_status_Reserved +#define SMFR_SeatLongitudinal_Stat_SMFR_status_Reserved (3) +#endif + +#ifndef SMFR_SeatLongitudinal_Stat_SMFR_status_Decrease +#define SMFR_SeatLongitudinal_Stat_SMFR_status_Decrease (2) +#endif + +#ifndef SMFR_SeatLongitudinal_Stat_SMFR_status_Increase +#define SMFR_SeatLongitudinal_Stat_SMFR_status_Increase (1) +#endif + +#ifndef SMFR_SeatLongitudinal_Stat_SMFR_status_No_action +#define SMFR_SeatLongitudinal_Stat_SMFR_status_No_action (0) +#endif + + +// Value tables for @SMFR_HeadRestHeightInclin_Stat signal + +#ifndef SMFR_HeadRestHeightInclin_Stat_SMFR_status_Reserved +#define SMFR_HeadRestHeightInclin_Stat_SMFR_status_Reserved (3) +#endif + +#ifndef SMFR_HeadRestHeightInclin_Stat_SMFR_status_Decrease +#define SMFR_HeadRestHeightInclin_Stat_SMFR_status_Decrease (2) +#endif + +#ifndef SMFR_HeadRestHeightInclin_Stat_SMFR_status_Increase +#define SMFR_HeadRestHeightInclin_Stat_SMFR_status_Increase (1) +#endif + +#ifndef SMFR_HeadRestHeightInclin_Stat_SMFR_status_No_action +#define SMFR_HeadRestHeightInclin_Stat_SMFR_status_No_action (0) +#endif + + +// Value tables for @SMFR_SurfaceLongitudinal_Stat signal + +#ifndef SMFR_SurfaceLongitudinal_Stat_SMFR_status_Reserved +#define SMFR_SurfaceLongitudinal_Stat_SMFR_status_Reserved (3) +#endif + +#ifndef SMFR_SurfaceLongitudinal_Stat_SMFR_status_Decrease +#define SMFR_SurfaceLongitudinal_Stat_SMFR_status_Decrease (2) +#endif + +#ifndef SMFR_SurfaceLongitudinal_Stat_SMFR_status_Increase +#define SMFR_SurfaceLongitudinal_Stat_SMFR_status_Increase (1) +#endif + +#ifndef SMFR_SurfaceLongitudinal_Stat_SMFR_status_No_action +#define SMFR_SurfaceLongitudinal_Stat_SMFR_status_No_action (0) +#endif + + +// Value tables for @SMFR_FootRestHeight_Stat signal + +#ifndef SMFR_FootRestHeight_Stat_SMFR_status_Reserved +#define SMFR_FootRestHeight_Stat_SMFR_status_Reserved (3) +#endif + +#ifndef SMFR_FootRestHeight_Stat_SMFR_status_Decrease +#define SMFR_FootRestHeight_Stat_SMFR_status_Decrease (2) +#endif + +#ifndef SMFR_FootRestHeight_Stat_SMFR_status_Increase +#define SMFR_FootRestHeight_Stat_SMFR_status_Increase (1) +#endif + +#ifndef SMFR_FootRestHeight_Stat_SMFR_status_No_action +#define SMFR_FootRestHeight_Stat_SMFR_status_No_action (0) +#endif + + +// Value tables for @SMFR_SeatInclination_Stat signal + +#ifndef SMFR_SeatInclination_Stat_SMFR_status_Reserved +#define SMFR_SeatInclination_Stat_SMFR_status_Reserved (3) +#endif + +#ifndef SMFR_SeatInclination_Stat_SMFR_status_Decrease +#define SMFR_SeatInclination_Stat_SMFR_status_Decrease (2) +#endif + +#ifndef SMFR_SeatInclination_Stat_SMFR_status_Increase +#define SMFR_SeatInclination_Stat_SMFR_status_Increase (1) +#endif + +#ifndef SMFR_SeatInclination_Stat_SMFR_status_No_action +#define SMFR_SeatInclination_Stat_SMFR_status_No_action (0) +#endif + + +// Value tables for @SMFR_SeatLegSupportL_Stat signal + +#ifndef SMFR_SeatLegSupportL_Stat_SMFR_status_Reserved +#define SMFR_SeatLegSupportL_Stat_SMFR_status_Reserved (3) +#endif + +#ifndef SMFR_SeatLegSupportL_Stat_SMFR_status_Decrease +#define SMFR_SeatLegSupportL_Stat_SMFR_status_Decrease (2) +#endif + +#ifndef SMFR_SeatLegSupportL_Stat_SMFR_status_Increase +#define SMFR_SeatLegSupportL_Stat_SMFR_status_Increase (1) +#endif + +#ifndef SMFR_SeatLegSupportL_Stat_SMFR_status_No_action +#define SMFR_SeatLegSupportL_Stat_SMFR_status_No_action (0) +#endif + + +// Value tables for @SMFR_BackRestInclin_Stat signal + +#ifndef SMFR_BackRestInclin_Stat_SMFR_status_Reserved +#define SMFR_BackRestInclin_Stat_SMFR_status_Reserved (3) +#endif + +#ifndef SMFR_BackRestInclin_Stat_SMFR_status_Decrease +#define SMFR_BackRestInclin_Stat_SMFR_status_Decrease (2) +#endif + +#ifndef SMFR_BackRestInclin_Stat_SMFR_status_Increase +#define SMFR_BackRestInclin_Stat_SMFR_status_Increase (1) +#endif + +#ifndef SMFR_BackRestInclin_Stat_SMFR_status_No_action +#define SMFR_BackRestInclin_Stat_SMFR_status_No_action (0) +#endif + + +// Value tables for @SMFR_LumbarSupportHeight_Stat signal + +#ifndef SMFR_LumbarSupportHeight_Stat_SMFR_status_Reserved +#define SMFR_LumbarSupportHeight_Stat_SMFR_status_Reserved (3) +#endif + +#ifndef SMFR_LumbarSupportHeight_Stat_SMFR_status_Decrease +#define SMFR_LumbarSupportHeight_Stat_SMFR_status_Decrease (2) +#endif + +#ifndef SMFR_LumbarSupportHeight_Stat_SMFR_status_Increase +#define SMFR_LumbarSupportHeight_Stat_SMFR_status_Increase (1) +#endif + +#ifndef SMFR_LumbarSupportHeight_Stat_SMFR_status_No_action +#define SMFR_LumbarSupportHeight_Stat_SMFR_status_No_action (0) +#endif + + +// Value tables for @SMFR_BackRestHeadInclin_Stat signal + +#ifndef SMFR_BackRestHeadInclin_Stat_SMFR_status_Reserved +#define SMFR_BackRestHeadInclin_Stat_SMFR_status_Reserved (3) +#endif + +#ifndef SMFR_BackRestHeadInclin_Stat_SMFR_status_Decrease +#define SMFR_BackRestHeadInclin_Stat_SMFR_status_Decrease (2) +#endif + +#ifndef SMFR_BackRestHeadInclin_Stat_SMFR_status_Increase +#define SMFR_BackRestHeadInclin_Stat_SMFR_status_Increase (1) +#endif + +#ifndef SMFR_BackRestHeadInclin_Stat_SMFR_status_No_action +#define SMFR_BackRestHeadInclin_Stat_SMFR_status_No_action (0) +#endif + + +// Value tables for @SMFR_LumbarSupportDepth_Stat signal + +#ifndef SMFR_LumbarSupportDepth_Stat_SMFR_status_Reserved +#define SMFR_LumbarSupportDepth_Stat_SMFR_status_Reserved (3) +#endif + +#ifndef SMFR_LumbarSupportDepth_Stat_SMFR_status_Decrease +#define SMFR_LumbarSupportDepth_Stat_SMFR_status_Decrease (2) +#endif + +#ifndef SMFR_LumbarSupportDepth_Stat_SMFR_status_Increase +#define SMFR_LumbarSupportDepth_Stat_SMFR_status_Increase (1) +#endif + +#ifndef SMFR_LumbarSupportDepth_Stat_SMFR_status_No_action +#define SMFR_LumbarSupportDepth_Stat_SMFR_status_No_action (0) +#endif + + +// Value tables for @SMFR_BackRestWidth_Stat signal + +#ifndef SMFR_BackRestWidth_Stat_SMFR_status_Reserved +#define SMFR_BackRestWidth_Stat_SMFR_status_Reserved (3) +#endif + +#ifndef SMFR_BackRestWidth_Stat_SMFR_status_Decrease +#define SMFR_BackRestWidth_Stat_SMFR_status_Decrease (2) +#endif + +#ifndef SMFR_BackRestWidth_Stat_SMFR_status_Increase +#define SMFR_BackRestWidth_Stat_SMFR_status_Increase (1) +#endif + +#ifndef SMFR_BackRestWidth_Stat_SMFR_status_No_action +#define SMFR_BackRestWidth_Stat_SMFR_status_No_action (0) +#endif + + +// Value tables for @SMFR_CushionSupport_Stat signal + +#ifndef SMFR_CushionSupport_Stat_SMFR_status_Reserved +#define SMFR_CushionSupport_Stat_SMFR_status_Reserved (3) +#endif + +#ifndef SMFR_CushionSupport_Stat_SMFR_status_Decrease +#define SMFR_CushionSupport_Stat_SMFR_status_Decrease (2) +#endif + +#ifndef SMFR_CushionSupport_Stat_SMFR_status_Increase +#define SMFR_CushionSupport_Stat_SMFR_status_Increase (1) +#endif + +#ifndef SMFR_CushionSupport_Stat_SMFR_status_No_action +#define SMFR_CushionSupport_Stat_SMFR_status_No_action (0) +#endif + + +// Value tables for @SMFR_SeatVentilation_Stat signal + +#ifndef SMFR_SeatVentilation_Stat_SMFR_status_High_Power +#define SMFR_SeatVentilation_Stat_SMFR_status_High_Power (3) +#endif + +#ifndef SMFR_SeatVentilation_Stat_SMFR_status_Middle_Power +#define SMFR_SeatVentilation_Stat_SMFR_status_Middle_Power (2) +#endif + +#ifndef SMFR_SeatVentilation_Stat_SMFR_status_Low_Power +#define SMFR_SeatVentilation_Stat_SMFR_status_Low_Power (1) +#endif + +#ifndef SMFR_SeatVentilation_Stat_SMFR_status_No_action +#define SMFR_SeatVentilation_Stat_SMFR_status_No_action (0) +#endif + + +// Value tables for @SMFR_SeatVentBalance_Stat signal + +#ifndef SMFR_SeatVentBalance_Stat_SMFR_status_Backrest_100_Cushion_00_3 +#define SMFR_SeatVentBalance_Stat_SMFR_status_Backrest_100_Cushion_00_3 (7) +#endif + +#ifndef SMFR_SeatVentBalance_Stat_SMFR_status_Backrest_100_Cushion_33_2 +#define SMFR_SeatVentBalance_Stat_SMFR_status_Backrest_100_Cushion_33_2 (6) +#endif + +#ifndef SMFR_SeatVentBalance_Stat_SMFR_status_Backrest_100_Cushion_67_1 +#define SMFR_SeatVentBalance_Stat_SMFR_status_Backrest_100_Cushion_67_1 (5) +#endif + +#ifndef SMFR_SeatVentBalance_Stat_SMFR_status_Backrest_100_Cushion_100_0 +#define SMFR_SeatVentBalance_Stat_SMFR_status_Backrest_100_Cushion_100_0 (4) +#endif + +#ifndef SMFR_SeatVentBalance_Stat_SMFR_status_Backrest_67_Cushion_100_1 +#define SMFR_SeatVentBalance_Stat_SMFR_status_Backrest_67_Cushion_100_1 (3) +#endif + +#ifndef SMFR_SeatVentBalance_Stat_SMFR_status_Backrest_33_Cushion_100_2 +#define SMFR_SeatVentBalance_Stat_SMFR_status_Backrest_33_Cushion_100_2 (2) +#endif + +#ifndef SMFR_SeatVentBalance_Stat_SMFR_status_Backrest_00_Cushion_100_3 +#define SMFR_SeatVentBalance_Stat_SMFR_status_Backrest_00_Cushion_100_3 (1) +#endif + +#ifndef SMFR_SeatVentBalance_Stat_SMFR_status_No_action +#define SMFR_SeatVentBalance_Stat_SMFR_status_No_action (0) +#endif + + +// Value tables for @SMFR_Heating_Stat signal + +#ifndef SMFR_Heating_Stat_SMFR_status_High_Power +#define SMFR_Heating_Stat_SMFR_status_High_Power (3) +#endif + +#ifndef SMFR_Heating_Stat_SMFR_status_Middle_Power +#define SMFR_Heating_Stat_SMFR_status_Middle_Power (2) +#endif + +#ifndef SMFR_Heating_Stat_SMFR_status_Low_Power +#define SMFR_Heating_Stat_SMFR_status_Low_Power (1) +#endif + +#ifndef SMFR_Heating_Stat_SMFR_status_No_action +#define SMFR_Heating_Stat_SMFR_status_No_action (0) +#endif + + +// Value tables for @SMFR_HeatBalance_Stat signal + +#ifndef SMFR_HeatBalance_Stat_SMFR_status_Backrest_100_Cushion_00_3 +#define SMFR_HeatBalance_Stat_SMFR_status_Backrest_100_Cushion_00_3 (7) +#endif + +#ifndef SMFR_HeatBalance_Stat_SMFR_status_Backrest_100_Cushion_33_2 +#define SMFR_HeatBalance_Stat_SMFR_status_Backrest_100_Cushion_33_2 (6) +#endif + +#ifndef SMFR_HeatBalance_Stat_SMFR_status_Backrest_100_Cushion_67_1 +#define SMFR_HeatBalance_Stat_SMFR_status_Backrest_100_Cushion_67_1 (5) +#endif + +#ifndef SMFR_HeatBalance_Stat_SMFR_status_Backrest_100_Cushion_100_0 +#define SMFR_HeatBalance_Stat_SMFR_status_Backrest_100_Cushion_100_0 (4) +#endif + +#ifndef SMFR_HeatBalance_Stat_SMFR_status_Backrest_67_Cushion_100_1 +#define SMFR_HeatBalance_Stat_SMFR_status_Backrest_67_Cushion_100_1 (3) +#endif + +#ifndef SMFR_HeatBalance_Stat_SMFR_status_Backrest_33_Cushion_100_2 +#define SMFR_HeatBalance_Stat_SMFR_status_Backrest_33_Cushion_100_2 (2) +#endif + +#ifndef SMFR_HeatBalance_Stat_SMFR_status_Backrest_00_Cushion_100_3 +#define SMFR_HeatBalance_Stat_SMFR_status_Backrest_00_Cushion_100_3 (1) +#endif + +#ifndef SMFR_HeatBalance_Stat_SMFR_status_No_action +#define SMFR_HeatBalance_Stat_SMFR_status_No_action (0) +#endif + + +// Value tables for @SMFR_SeatMassage_Stat signal + +#ifndef SMFR_SeatMassage_Stat_SMFR_status_Reserved +#define SMFR_SeatMassage_Stat_SMFR_status_Reserved (3) +#endif + +#ifndef SMFR_SeatMassage_Stat_SMFR_status_Massage_ON +#define SMFR_SeatMassage_Stat_SMFR_status_Massage_ON (2) +#endif + +#ifndef SMFR_SeatMassage_Stat_SMFR_status_Massage_OFF +#define SMFR_SeatMassage_Stat_SMFR_status_Massage_OFF (1) +#endif + +#ifndef SMFR_SeatMassage_Stat_SMFR_status_No_Request +#define SMFR_SeatMassage_Stat_SMFR_status_No_Request (0) +#endif + + +// Value tables for @SMFR_MassageIntens_Stat signal + +#ifndef SMFR_MassageIntens_Stat_SMFR_status_High_power +#define SMFR_MassageIntens_Stat_SMFR_status_High_power (3) +#endif + +#ifndef SMFR_MassageIntens_Stat_SMFR_status_Middle_power +#define SMFR_MassageIntens_Stat_SMFR_status_Middle_power (2) +#endif + +#ifndef SMFR_MassageIntens_Stat_SMFR_status_Low_power +#define SMFR_MassageIntens_Stat_SMFR_status_Low_power (1) +#endif + +#ifndef SMFR_MassageIntens_Stat_SMFR_status_No_Request +#define SMFR_MassageIntens_Stat_SMFR_status_No_Request (0) +#endif + + +// Value tables for @SMFR_SeatMassageType_Stat signal + +#ifndef SMFR_SeatMassageType_Stat_SMFR_status_Type_7_Velvet +#define SMFR_SeatMassageType_Stat_SMFR_status_Type_7_Velvet (7) +#endif + +#ifndef SMFR_SeatMassageType_Stat_SMFR_status_Type_6_Sonnet +#define SMFR_SeatMassageType_Stat_SMFR_status_Type_6_Sonnet (6) +#endif + +#ifndef SMFR_SeatMassageType_Stat_SMFR_status_Type_5_Quantum +#define SMFR_SeatMassageType_Stat_SMFR_status_Type_5_Quantum (5) +#endif + +#ifndef SMFR_SeatMassageType_Stat_SMFR_status_Type_4_Cashmere +#define SMFR_SeatMassageType_Stat_SMFR_status_Type_4_Cashmere (4) +#endif + +#ifndef SMFR_SeatMassageType_Stat_SMFR_status_Type_3_Harmony +#define SMFR_SeatMassageType_Stat_SMFR_status_Type_3_Harmony (3) +#endif + +#ifndef SMFR_SeatMassageType_Stat_SMFR_status_Type_2_Orbital +#define SMFR_SeatMassageType_Stat_SMFR_status_Type_2_Orbital (2) +#endif + +#ifndef SMFR_SeatMassageType_Stat_SMFR_status_Type_1_Insight +#define SMFR_SeatMassageType_Stat_SMFR_status_Type_1_Insight (1) +#endif + +#ifndef SMFR_SeatMassageType_Stat_SMFR_status_No_action +#define SMFR_SeatMassageType_Stat_SMFR_status_No_action (0) +#endif + + +// Value tables for @SMFR_TabletPWR_Stat signal + +#ifndef SMFR_TabletPWR_Stat_SMFR_status_On +#define SMFR_TabletPWR_Stat_SMFR_status_On (1) +#endif + +#ifndef SMFR_TabletPWR_Stat_SMFR_status_Off +#define SMFR_TabletPWR_Stat_SMFR_status_Off (0) +#endif + + // Value tables for @SMFR_CarpetHeat_Stat signal #ifndef SMFR_CarpetHeat_Stat_SMFR_status_Carpet_heating_is_active @@ -4925,21 +27300,529 @@ typedef struct #endif +// Value tables for @SMFR_ActiveSupport_Stat signal + +#ifndef SMFR_ActiveSupport_Stat_SMFR_status_Active +#define SMFR_ActiveSupport_Stat_SMFR_status_Active (1) +#endif + +#ifndef SMFR_ActiveSupport_Stat_SMFR_status_Inactive +#define SMFR_ActiveSupport_Stat_SMFR_status_Inactive (0) +#endif + + +// Value tables for @SMFR_BackrestMassageType_Stat signal + +#ifndef SMFR_BackrestMassageType_Stat_SMFR_status_Reserved +#define SMFR_BackrestMassageType_Stat_SMFR_status_Reserved (7) +#endif + +#ifndef SMFR_BackrestMassageType_Stat_SMFR_status_Reserved +#define SMFR_BackrestMassageType_Stat_SMFR_status_Reserved (6) +#endif + +#ifndef SMFR_BackrestMassageType_Stat_SMFR_status_Type_5_Elegy +#define SMFR_BackrestMassageType_Stat_SMFR_status_Type_5_Elegy (5) +#endif + +#ifndef SMFR_BackrestMassageType_Stat_SMFR_status_Type_4_Caprice +#define SMFR_BackrestMassageType_Stat_SMFR_status_Type_4_Caprice (4) +#endif + +#ifndef SMFR_BackrestMassageType_Stat_SMFR_status_Type_3_Pulse +#define SMFR_BackrestMassageType_Stat_SMFR_status_Type_3_Pulse (3) +#endif + +#ifndef SMFR_BackrestMassageType_Stat_SMFR_status_Type_2_Energy +#define SMFR_BackrestMassageType_Stat_SMFR_status_Type_2_Energy (2) +#endif + +#ifndef SMFR_BackrestMassageType_Stat_SMFR_status_Type_1_Synchrony +#define SMFR_BackrestMassageType_Stat_SMFR_status_Type_1_Synchrony (1) +#endif + +#ifndef SMFR_BackrestMassageType_Stat_SMFR_status_No_action +#define SMFR_BackrestMassageType_Stat_SMFR_status_No_action (0) +#endif + + +// Value tables for @SMFR_SeatControl_Stat signal + +#ifndef SMFR_SeatControl_Stat_SMFR_status_Seat_is_controlled_by_RR_user +#define SMFR_SeatControl_Stat_SMFR_status_Seat_is_controlled_by_RR_user (3) +#endif + +#ifndef SMFR_SeatControl_Stat_SMFR_status_Seat_is_controlled_by_FL_user +#define SMFR_SeatControl_Stat_SMFR_status_Seat_is_controlled_by_FL_user (2) +#endif + +#ifndef SMFR_SeatControl_Stat_SMFR_status_Seat_is_controlled_by_FR_user +#define SMFR_SeatControl_Stat_SMFR_status_Seat_is_controlled_by_FR_user (1) +#endif + +#ifndef SMFR_SeatControl_Stat_SMFR_status_Seat_is_not_controlled +#define SMFR_SeatControl_Stat_SMFR_status_Seat_is_not_controlled (0) +#endif + + +// Value tables for @SMFR_TimerMassage_Stat signal + +#ifndef SMFR_TimerMassage_Stat_SMFR_status_Reserved +#define SMFR_TimerMassage_Stat_SMFR_status_Reserved (7) +#endif + +#ifndef SMFR_TimerMassage_Stat_SMFR_status_Reserved +#define SMFR_TimerMassage_Stat_SMFR_status_Reserved (6) +#endif + +#ifndef SMFR_TimerMassage_Stat_SMFR_status__min +#define SMFR_TimerMassage_Stat_SMFR_status__min (5) +#endif + +#ifndef SMFR_TimerMassage_Stat_SMFR_status__min +#define SMFR_TimerMassage_Stat_SMFR_status__min (4) +#endif + +#ifndef SMFR_TimerMassage_Stat_SMFR_status__min +#define SMFR_TimerMassage_Stat_SMFR_status__min (3) +#endif + +#ifndef SMFR_TimerMassage_Stat_SMFR_status__min +#define SMFR_TimerMassage_Stat_SMFR_status__min (2) +#endif + +#ifndef SMFR_TimerMassage_Stat_SMFR_status__min +#define SMFR_TimerMassage_Stat_SMFR_status__min (1) +#endif + +#ifndef SMFR_TimerMassage_Stat_SMFR_status__min +#define SMFR_TimerMassage_Stat_SMFR_status__min (0) +#endif + + typedef struct { #ifdef CANDB_USE_BITS_SIGNAL + // Signal of pressing MM menu button on SMFR + // 1 : "MM menu activation button pressed" + // 0 : "MM menu activation button not pressed" + uint8_t SMFR_MMmenuActivBtn_Stat : 1; // Bits= 1 + + // FR seat height changing status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMFR_SeatHeight_Stat : 2; // Bits= 2 + + // FR seat headrest height changing status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMFR_HeadRestHeight_Stat : 2; // Bits= 2 + + // FR seat longitudinal changing status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMFR_SeatLongitudinal_Stat : 2; // Bits= 2 + + // FR seat headrest height inclination changing status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMFR_HeadRestHeightInclin_Stat : 2; // Bits= 2 + + // FR seat surface longitudinal changing status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMFR_SurfaceLongitudinal_Stat : 2; // Bits= 2 + + // FR seat footrest changing status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMFR_FootRestHeight_Stat : 2; // Bits= 2 + + // FR seat inclination status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMFR_SeatInclination_Stat : 2; // Bits= 2 + + // FR seat footrest longitudinal changing status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMFR_SeatLegSupportL_Stat : 2; // Bits= 2 + + // FR seat backrest inclination status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMFR_BackRestInclin_Stat : 2; // Bits= 2 + + // FR seat lumbar support height status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMFR_LumbarSupportHeight_Stat : 2; // Bits= 2 + + // FR seat backrest head inclination status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMFR_BackRestHeadInclin_Stat : 2; // Bits= 2 + + // FR seat lumbar support depth status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMFR_LumbarSupportDepth_Stat : 2; // Bits= 2 + + // FR seat backrest width status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMFR_BackRestWidth_Stat : 2; // Bits= 2 + + // FR seat cushion support inclination status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMFR_CushionSupport_Stat : 2; // Bits= 2 + + // FR seat ventilation status + // 3 : "High Power" + // 2 : "Middle Power" + // 1 : "Low Power" + // 0 : "No action" + uint8_t SMFR_SeatVentilation_Stat : 2; // Bits= 2 + + // FR seat ventilation balance status + // 7 : "Backrest 100%, Cushion 00%: 3" + // 6 : "Backrest 100%, Cushion 33%: 2" + // 5 : "Backrest 100%, Cushion 67%: 1" + // 4 : "Backrest 100%, Cushion 100%: 0" + // 3 : "Backrest 67%, Cushion 100%: -1" + // 2 : "Backrest 33%, Cushion 100%: -2" + // 1 : "Backrest 00%, Cushion 100%: -3" + // 0 : "No action" + uint8_t SMFR_SeatVentBalance_Stat : 3; // Bits= 3 + + // FR seat heating status + // 3 : "High Power" + // 2 : "Middle Power" + // 1 : "Low Power" + // 0 : "No action" + uint8_t SMFR_Heating_Stat : 2; // Bits= 2 + + // FR seat heating balance status + // 7 : "Backrest 100%, Cushion 00%: 3" + // 6 : "Backrest 100%, Cushion 33%: 2" + // 5 : "Backrest 100%, Cushion 67%: 1" + // 4 : "Backrest 100%, Cushion 100%: 0" + // 3 : "Backrest 67%, Cushion 100%: -1" + // 2 : "Backrest 33%, Cushion 100%: -2" + // 1 : "Backrest 00%, Cushion 100%: -3" + // 0 : "No action" + uint8_t SMFR_HeatBalance_Stat : 3; // Bits= 3 + + // FR seat massage status + // 3 : "Reserved" + // 2 : "Massage ON" + // 1 : "Massage OFF" + // 0 : "No Request" + uint8_t SMFR_SeatMassage_Stat : 2; // Bits= 2 + + // FR seat massage intencivity status + // 3 : "High power" + // 2 : "Middle power" + // 1 : "Low power" + // 0 : "No Request" + uint8_t SMFR_MassageIntens_Stat : 2; // Bits= 2 + + // FR seat massage type status + // 7 : "Type 7 (Velvet)" + // 6 : "Type 6 (Sonnet)" + // 5 : "Type 5 (Quantum)" + // 4 : "Type 4 (Cashmere)" + // 3 : "Type 3 (Harmony)" + // 2 : "Type 2 (Orbital)" + // 1 : "Type 1 (Insight)" + // 0 : "No action" + uint8_t SMFR_SeatMassageType_Stat : 3; // Bits= 3 + + // Of DocSR+T Tablet power on/off status + // 1 : "On" + // 0 : "Off" + uint8_t SMFR_TabletPWR_Stat : 1; // Bits= 1 + // Carpet heating status for front right zone // 1 : "Carpet heating is active" // 0 : "Carpet heating is inactive" - uint8_t SMFR_CarpetHeat_Stat : 1; // Bits= 1 + uint8_t SMFR_CarpetHeat_Stat : 1; // Bits= 1 + + // Active lateral status + // 1 : "Active" + // 0 : "Inactive" + uint8_t SMFR_ActiveSupport_Stat : 1; // Bits= 1 + + // Signal for backrest massage type (mode) + // (RL backrest massage type request) + // 7 : "Reserved" + // 6 : "Reserved" + // 5 : "Type 5 (Elegy)" + // 4 : "Type 4 (Caprice)" + // 3 : "Type 3 (Pulse)" + // 2 : "Type 2 (Energy)" + // 1 : "Type 1 (Synchrony)" + // 0 : "No action" + uint8_t SMFR_BackrestMassageType_Stat : 3; // Bits= 3 + + // Signal, which inform about current master of seat travel function. + // 3 : "Seat is controlled by RR user" + // 2 : "Seat is controlled by FL user" + // 1 : "Seat is controlled by FR user" + // 0 : "Seat is not controlled" + uint8_t SMFR_SeatControl_Stat : 2; // Bits= 2 + + // FR seat massage timer status + // 7 : "Reserved" + // 6 : "Reserved" + // 5 : "5 min" + // 4 : "10 min" + // 3 : "15 min" + // 2 : "20 min" + // 1 : "25 min" + // 0 : "30 min" + uint8_t SMFR_TimerMassage_Stat : 3; // Bits= 3 #else + // Signal of pressing MM menu button on SMFR + // 1 : "MM menu activation button pressed" + // 0 : "MM menu activation button not pressed" + uint8_t SMFR_MMmenuActivBtn_Stat; // Bits= 1 + + // FR seat height changing status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMFR_SeatHeight_Stat; // Bits= 2 + + // FR seat headrest height changing status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMFR_HeadRestHeight_Stat; // Bits= 2 + + // FR seat longitudinal changing status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMFR_SeatLongitudinal_Stat; // Bits= 2 + + // FR seat headrest height inclination changing status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMFR_HeadRestHeightInclin_Stat; // Bits= 2 + + // FR seat surface longitudinal changing status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMFR_SurfaceLongitudinal_Stat; // Bits= 2 + + // FR seat footrest changing status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMFR_FootRestHeight_Stat; // Bits= 2 + + // FR seat inclination status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMFR_SeatInclination_Stat; // Bits= 2 + + // FR seat footrest longitudinal changing status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMFR_SeatLegSupportL_Stat; // Bits= 2 + + // FR seat backrest inclination status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMFR_BackRestInclin_Stat; // Bits= 2 + + // FR seat lumbar support height status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMFR_LumbarSupportHeight_Stat; // Bits= 2 + + // FR seat backrest head inclination status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMFR_BackRestHeadInclin_Stat; // Bits= 2 + + // FR seat lumbar support depth status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMFR_LumbarSupportDepth_Stat; // Bits= 2 + + // FR seat backrest width status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMFR_BackRestWidth_Stat; // Bits= 2 + + // FR seat cushion support inclination status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMFR_CushionSupport_Stat; // Bits= 2 + + // FR seat ventilation status + // 3 : "High Power" + // 2 : "Middle Power" + // 1 : "Low Power" + // 0 : "No action" + uint8_t SMFR_SeatVentilation_Stat; // Bits= 2 + + // FR seat ventilation balance status + // 7 : "Backrest 100%, Cushion 00%: 3" + // 6 : "Backrest 100%, Cushion 33%: 2" + // 5 : "Backrest 100%, Cushion 67%: 1" + // 4 : "Backrest 100%, Cushion 100%: 0" + // 3 : "Backrest 67%, Cushion 100%: -1" + // 2 : "Backrest 33%, Cushion 100%: -2" + // 1 : "Backrest 00%, Cushion 100%: -3" + // 0 : "No action" + uint8_t SMFR_SeatVentBalance_Stat; // Bits= 3 + + // FR seat heating status + // 3 : "High Power" + // 2 : "Middle Power" + // 1 : "Low Power" + // 0 : "No action" + uint8_t SMFR_Heating_Stat; // Bits= 2 + + // FR seat heating balance status + // 7 : "Backrest 100%, Cushion 00%: 3" + // 6 : "Backrest 100%, Cushion 33%: 2" + // 5 : "Backrest 100%, Cushion 67%: 1" + // 4 : "Backrest 100%, Cushion 100%: 0" + // 3 : "Backrest 67%, Cushion 100%: -1" + // 2 : "Backrest 33%, Cushion 100%: -2" + // 1 : "Backrest 00%, Cushion 100%: -3" + // 0 : "No action" + uint8_t SMFR_HeatBalance_Stat; // Bits= 3 + + // FR seat massage status + // 3 : "Reserved" + // 2 : "Massage ON" + // 1 : "Massage OFF" + // 0 : "No Request" + uint8_t SMFR_SeatMassage_Stat; // Bits= 2 + + // FR seat massage intencivity status + // 3 : "High power" + // 2 : "Middle power" + // 1 : "Low power" + // 0 : "No Request" + uint8_t SMFR_MassageIntens_Stat; // Bits= 2 + + // FR seat massage type status + // 7 : "Type 7 (Velvet)" + // 6 : "Type 6 (Sonnet)" + // 5 : "Type 5 (Quantum)" + // 4 : "Type 4 (Cashmere)" + // 3 : "Type 3 (Harmony)" + // 2 : "Type 2 (Orbital)" + // 1 : "Type 1 (Insight)" + // 0 : "No action" + uint8_t SMFR_SeatMassageType_Stat; // Bits= 3 + + // Of DocSR+T Tablet power on/off status + // 1 : "On" + // 0 : "Off" + uint8_t SMFR_TabletPWR_Stat; // Bits= 1 + // Carpet heating status for front right zone // 1 : "Carpet heating is active" // 0 : "Carpet heating is inactive" - uint8_t SMFR_CarpetHeat_Stat; // Bits= 1 + uint8_t SMFR_CarpetHeat_Stat; // Bits= 1 + + // Active lateral status + // 1 : "Active" + // 0 : "Inactive" + uint8_t SMFR_ActiveSupport_Stat; // Bits= 1 + + // Signal for backrest massage type (mode) + // (RL backrest massage type request) + // 7 : "Reserved" + // 6 : "Reserved" + // 5 : "Type 5 (Elegy)" + // 4 : "Type 4 (Caprice)" + // 3 : "Type 3 (Pulse)" + // 2 : "Type 2 (Energy)" + // 1 : "Type 1 (Synchrony)" + // 0 : "No action" + uint8_t SMFR_BackrestMassageType_Stat; // Bits= 3 + + // Signal, which inform about current master of seat travel function. + // 3 : "Seat is controlled by RR user" + // 2 : "Seat is controlled by FL user" + // 1 : "Seat is controlled by FR user" + // 0 : "Seat is not controlled" + uint8_t SMFR_SeatControl_Stat; // Bits= 2 + + // FR seat massage timer status + // 7 : "Reserved" + // 6 : "Reserved" + // 5 : "5 min" + // 4 : "10 min" + // 3 : "15 min" + // 2 : "20 min" + // 1 : "25 min" + // 0 : "30 min" + uint8_t SMFR_TimerMassage_Stat; // Bits= 3 #endif // CANDB_USE_BITS_SIGNAL @@ -4957,6 +27840,475 @@ typedef struct #define SMRL_status_CANID (0x4d2U) #define SMRL_status_CYC (250U) +// Value tables for @SMRL_MMmenuActivBtn_Stat signal + +#ifndef SMRL_MMmenuActivBtn_Stat_SMRL_status_MM_menu_activation_button_pressed +#define SMRL_MMmenuActivBtn_Stat_SMRL_status_MM_menu_activation_button_pressed (1) +#endif + +#ifndef SMRL_MMmenuActivBtn_Stat_SMRL_status_MM_menu_activation_button_not_pressed +#define SMRL_MMmenuActivBtn_Stat_SMRL_status_MM_menu_activation_button_not_pressed (0) +#endif + + +// Value tables for @SMRL_SeatHeight_Stat signal + +#ifndef SMRL_SeatHeight_Stat_SMRL_status_Reserved +#define SMRL_SeatHeight_Stat_SMRL_status_Reserved (3) +#endif + +#ifndef SMRL_SeatHeight_Stat_SMRL_status_Decrease +#define SMRL_SeatHeight_Stat_SMRL_status_Decrease (2) +#endif + +#ifndef SMRL_SeatHeight_Stat_SMRL_status_Increase +#define SMRL_SeatHeight_Stat_SMRL_status_Increase (1) +#endif + +#ifndef SMRL_SeatHeight_Stat_SMRL_status_No_action +#define SMRL_SeatHeight_Stat_SMRL_status_No_action (0) +#endif + + +// Value tables for @SMRL_HeadRestHeight_Stat signal + +#ifndef SMRL_HeadRestHeight_Stat_SMRL_status_Reserved +#define SMRL_HeadRestHeight_Stat_SMRL_status_Reserved (3) +#endif + +#ifndef SMRL_HeadRestHeight_Stat_SMRL_status_Decrease +#define SMRL_HeadRestHeight_Stat_SMRL_status_Decrease (2) +#endif + +#ifndef SMRL_HeadRestHeight_Stat_SMRL_status_Increase +#define SMRL_HeadRestHeight_Stat_SMRL_status_Increase (1) +#endif + +#ifndef SMRL_HeadRestHeight_Stat_SMRL_status_No_action +#define SMRL_HeadRestHeight_Stat_SMRL_status_No_action (0) +#endif + + +// Value tables for @SMRL_SeatLongitudinal_Stat signal + +#ifndef SMRL_SeatLongitudinal_Stat_SMRL_status_Reserved +#define SMRL_SeatLongitudinal_Stat_SMRL_status_Reserved (3) +#endif + +#ifndef SMRL_SeatLongitudinal_Stat_SMRL_status_Decrease +#define SMRL_SeatLongitudinal_Stat_SMRL_status_Decrease (2) +#endif + +#ifndef SMRL_SeatLongitudinal_Stat_SMRL_status_Increase +#define SMRL_SeatLongitudinal_Stat_SMRL_status_Increase (1) +#endif + +#ifndef SMRL_SeatLongitudinal_Stat_SMRL_status_No_action +#define SMRL_SeatLongitudinal_Stat_SMRL_status_No_action (0) +#endif + + +// Value tables for @SMRL_HeadRestHeightInclin_Stat signal + +#ifndef SMRL_HeadRestHeightInclin_Stat_SMRL_status_Reserved +#define SMRL_HeadRestHeightInclin_Stat_SMRL_status_Reserved (3) +#endif + +#ifndef SMRL_HeadRestHeightInclin_Stat_SMRL_status_Decrease +#define SMRL_HeadRestHeightInclin_Stat_SMRL_status_Decrease (2) +#endif + +#ifndef SMRL_HeadRestHeightInclin_Stat_SMRL_status_Increase +#define SMRL_HeadRestHeightInclin_Stat_SMRL_status_Increase (1) +#endif + +#ifndef SMRL_HeadRestHeightInclin_Stat_SMRL_status_No_action +#define SMRL_HeadRestHeightInclin_Stat_SMRL_status_No_action (0) +#endif + + +// Value tables for @SMRL_SurfaceLongitudinal_Stat signal + +#ifndef SMRL_SurfaceLongitudinal_Stat_SMRL_status_Reserved +#define SMRL_SurfaceLongitudinal_Stat_SMRL_status_Reserved (3) +#endif + +#ifndef SMRL_SurfaceLongitudinal_Stat_SMRL_status_Decrease +#define SMRL_SurfaceLongitudinal_Stat_SMRL_status_Decrease (2) +#endif + +#ifndef SMRL_SurfaceLongitudinal_Stat_SMRL_status_Increase +#define SMRL_SurfaceLongitudinal_Stat_SMRL_status_Increase (1) +#endif + +#ifndef SMRL_SurfaceLongitudinal_Stat_SMRL_status_No_action +#define SMRL_SurfaceLongitudinal_Stat_SMRL_status_No_action (0) +#endif + + +// Value tables for @SMRL_SeatLegSupportH_Stat signal + +#ifndef SMRL_SeatLegSupportH_Stat_SMRL_status_Reserved +#define SMRL_SeatLegSupportH_Stat_SMRL_status_Reserved (3) +#endif + +#ifndef SMRL_SeatLegSupportH_Stat_SMRL_status_Decrease +#define SMRL_SeatLegSupportH_Stat_SMRL_status_Decrease (2) +#endif + +#ifndef SMRL_SeatLegSupportH_Stat_SMRL_status_Increase +#define SMRL_SeatLegSupportH_Stat_SMRL_status_Increase (1) +#endif + +#ifndef SMRL_SeatLegSupportH_Stat_SMRL_status_No_action +#define SMRL_SeatLegSupportH_Stat_SMRL_status_No_action (0) +#endif + + +// Value tables for @SMRL_SeatInclination_Stat signal + +#ifndef SMRL_SeatInclination_Stat_SMRL_status_Reserved +#define SMRL_SeatInclination_Stat_SMRL_status_Reserved (3) +#endif + +#ifndef SMRL_SeatInclination_Stat_SMRL_status_Decrease +#define SMRL_SeatInclination_Stat_SMRL_status_Decrease (2) +#endif + +#ifndef SMRL_SeatInclination_Stat_SMRL_status_Increase +#define SMRL_SeatInclination_Stat_SMRL_status_Increase (1) +#endif + +#ifndef SMRL_SeatInclination_Stat_SMRL_status_No_action +#define SMRL_SeatInclination_Stat_SMRL_status_No_action (0) +#endif + + +// Value tables for @SMRL_SeatLegSupportL_Stat signal + +#ifndef SMRL_SeatLegSupportL_Stat_SMRL_status_Reserved +#define SMRL_SeatLegSupportL_Stat_SMRL_status_Reserved (3) +#endif + +#ifndef SMRL_SeatLegSupportL_Stat_SMRL_status_Decrease +#define SMRL_SeatLegSupportL_Stat_SMRL_status_Decrease (2) +#endif + +#ifndef SMRL_SeatLegSupportL_Stat_SMRL_status_Increase +#define SMRL_SeatLegSupportL_Stat_SMRL_status_Increase (1) +#endif + +#ifndef SMRL_SeatLegSupportL_Stat_SMRL_status_No_action +#define SMRL_SeatLegSupportL_Stat_SMRL_status_No_action (0) +#endif + + +// Value tables for @SMRL_BackRestInclin_Stat signal + +#ifndef SMRL_BackRestInclin_Stat_SMRL_status_Reserved +#define SMRL_BackRestInclin_Stat_SMRL_status_Reserved (3) +#endif + +#ifndef SMRL_BackRestInclin_Stat_SMRL_status_Decrease +#define SMRL_BackRestInclin_Stat_SMRL_status_Decrease (2) +#endif + +#ifndef SMRL_BackRestInclin_Stat_SMRL_status_Increase +#define SMRL_BackRestInclin_Stat_SMRL_status_Increase (1) +#endif + +#ifndef SMRL_BackRestInclin_Stat_SMRL_status_No_action +#define SMRL_BackRestInclin_Stat_SMRL_status_No_action (0) +#endif + + +// Value tables for @SMRL_LumbarSupportHeight_Stat signal + +#ifndef SMRL_LumbarSupportHeight_Stat_SMRL_status_Reserved +#define SMRL_LumbarSupportHeight_Stat_SMRL_status_Reserved (3) +#endif + +#ifndef SMRL_LumbarSupportHeight_Stat_SMRL_status_Decrease +#define SMRL_LumbarSupportHeight_Stat_SMRL_status_Decrease (2) +#endif + +#ifndef SMRL_LumbarSupportHeight_Stat_SMRL_status_Increase +#define SMRL_LumbarSupportHeight_Stat_SMRL_status_Increase (1) +#endif + +#ifndef SMRL_LumbarSupportHeight_Stat_SMRL_status_No_action +#define SMRL_LumbarSupportHeight_Stat_SMRL_status_No_action (0) +#endif + + +// Value tables for @SMRL_BackRestHeadInclin_Stat signal + +#ifndef SMRL_BackRestHeadInclin_Stat_SMRL_status_Reserved +#define SMRL_BackRestHeadInclin_Stat_SMRL_status_Reserved (3) +#endif + +#ifndef SMRL_BackRestHeadInclin_Stat_SMRL_status_Decrease +#define SMRL_BackRestHeadInclin_Stat_SMRL_status_Decrease (2) +#endif + +#ifndef SMRL_BackRestHeadInclin_Stat_SMRL_status_Increase +#define SMRL_BackRestHeadInclin_Stat_SMRL_status_Increase (1) +#endif + +#ifndef SMRL_BackRestHeadInclin_Stat_SMRL_status_No_action +#define SMRL_BackRestHeadInclin_Stat_SMRL_status_No_action (0) +#endif + + +// Value tables for @SMRL_LumbarSupportDepth_Stat signal + +#ifndef SMRL_LumbarSupportDepth_Stat_SMRL_status_Reserved +#define SMRL_LumbarSupportDepth_Stat_SMRL_status_Reserved (3) +#endif + +#ifndef SMRL_LumbarSupportDepth_Stat_SMRL_status_Decrease +#define SMRL_LumbarSupportDepth_Stat_SMRL_status_Decrease (2) +#endif + +#ifndef SMRL_LumbarSupportDepth_Stat_SMRL_status_Increase +#define SMRL_LumbarSupportDepth_Stat_SMRL_status_Increase (1) +#endif + +#ifndef SMRL_LumbarSupportDepth_Stat_SMRL_status_No_action +#define SMRL_LumbarSupportDepth_Stat_SMRL_status_No_action (0) +#endif + + +// Value tables for @SMRL_BackRestWidth_Stat signal + +#ifndef SMRL_BackRestWidth_Stat_SMRL_status_Reserved +#define SMRL_BackRestWidth_Stat_SMRL_status_Reserved (3) +#endif + +#ifndef SMRL_BackRestWidth_Stat_SMRL_status_Decrease +#define SMRL_BackRestWidth_Stat_SMRL_status_Decrease (2) +#endif + +#ifndef SMRL_BackRestWidth_Stat_SMRL_status_Increase +#define SMRL_BackRestWidth_Stat_SMRL_status_Increase (1) +#endif + +#ifndef SMRL_BackRestWidth_Stat_SMRL_status_No_action +#define SMRL_BackRestWidth_Stat_SMRL_status_No_action (0) +#endif + + +// Value tables for @SMRL_CushionSuppor_Stat signal + +#ifndef SMRL_CushionSuppor_Stat_SMRL_status_Reserved +#define SMRL_CushionSuppor_Stat_SMRL_status_Reserved (3) +#endif + +#ifndef SMRL_CushionSuppor_Stat_SMRL_status_Decrease +#define SMRL_CushionSuppor_Stat_SMRL_status_Decrease (2) +#endif + +#ifndef SMRL_CushionSuppor_Stat_SMRL_status_Increase +#define SMRL_CushionSuppor_Stat_SMRL_status_Increase (1) +#endif + +#ifndef SMRL_CushionSuppor_Stat_SMRL_status_No_action +#define SMRL_CushionSuppor_Stat_SMRL_status_No_action (0) +#endif + + +// Value tables for @SMRL_SeatVentilation_Stat signal + +#ifndef SMRL_SeatVentilation_Stat_SMRL_status_High_Power +#define SMRL_SeatVentilation_Stat_SMRL_status_High_Power (3) +#endif + +#ifndef SMRL_SeatVentilation_Stat_SMRL_status_Middle_Power +#define SMRL_SeatVentilation_Stat_SMRL_status_Middle_Power (2) +#endif + +#ifndef SMRL_SeatVentilation_Stat_SMRL_status_Low_Power +#define SMRL_SeatVentilation_Stat_SMRL_status_Low_Power (1) +#endif + +#ifndef SMRL_SeatVentilation_Stat_SMRL_status_Off +#define SMRL_SeatVentilation_Stat_SMRL_status_Off (0) +#endif + + +// Value tables for @SMRL_SeatVentBalance_Stat signal + +#ifndef SMRL_SeatVentBalance_Stat_SMRL_status_Backrest_100_Cushion_00_3 +#define SMRL_SeatVentBalance_Stat_SMRL_status_Backrest_100_Cushion_00_3 (7) +#endif + +#ifndef SMRL_SeatVentBalance_Stat_SMRL_status_Backrest_100_Cushion_33_2 +#define SMRL_SeatVentBalance_Stat_SMRL_status_Backrest_100_Cushion_33_2 (6) +#endif + +#ifndef SMRL_SeatVentBalance_Stat_SMRL_status_Backrest_100_Cushion_67_1 +#define SMRL_SeatVentBalance_Stat_SMRL_status_Backrest_100_Cushion_67_1 (5) +#endif + +#ifndef SMRL_SeatVentBalance_Stat_SMRL_status_Backrest_100_Cushion_100_0 +#define SMRL_SeatVentBalance_Stat_SMRL_status_Backrest_100_Cushion_100_0 (4) +#endif + +#ifndef SMRL_SeatVentBalance_Stat_SMRL_status_Backrest_67_Cushion_100_1 +#define SMRL_SeatVentBalance_Stat_SMRL_status_Backrest_67_Cushion_100_1 (3) +#endif + +#ifndef SMRL_SeatVentBalance_Stat_SMRL_status_Backrest_33_Cushion_100_2 +#define SMRL_SeatVentBalance_Stat_SMRL_status_Backrest_33_Cushion_100_2 (2) +#endif + +#ifndef SMRL_SeatVentBalance_Stat_SMRL_status_Backrest_00_Cushion_100_3 +#define SMRL_SeatVentBalance_Stat_SMRL_status_Backrest_00_Cushion_100_3 (1) +#endif + +#ifndef SMRL_SeatVentBalance_Stat_SMRL_status_No_action +#define SMRL_SeatVentBalance_Stat_SMRL_status_No_action (0) +#endif + + +// Value tables for @SMRL_Heating_Stat signal + +#ifndef SMRL_Heating_Stat_SMRL_status_High_Power +#define SMRL_Heating_Stat_SMRL_status_High_Power (3) +#endif + +#ifndef SMRL_Heating_Stat_SMRL_status_Middle_Power +#define SMRL_Heating_Stat_SMRL_status_Middle_Power (2) +#endif + +#ifndef SMRL_Heating_Stat_SMRL_status_Low_Power +#define SMRL_Heating_Stat_SMRL_status_Low_Power (1) +#endif + +#ifndef SMRL_Heating_Stat_SMRL_status_Off +#define SMRL_Heating_Stat_SMRL_status_Off (0) +#endif + + +// Value tables for @SMRL_HeatBalance_Stat signal + +#ifndef SMRL_HeatBalance_Stat_SMRL_status_Backrest_100_Cushion_00_3 +#define SMRL_HeatBalance_Stat_SMRL_status_Backrest_100_Cushion_00_3 (7) +#endif + +#ifndef SMRL_HeatBalance_Stat_SMRL_status_Backrest_100_Cushion_33_2 +#define SMRL_HeatBalance_Stat_SMRL_status_Backrest_100_Cushion_33_2 (6) +#endif + +#ifndef SMRL_HeatBalance_Stat_SMRL_status_Backrest_100_Cushion_67_1 +#define SMRL_HeatBalance_Stat_SMRL_status_Backrest_100_Cushion_67_1 (5) +#endif + +#ifndef SMRL_HeatBalance_Stat_SMRL_status_Backrest_100_Cushion_100_0 +#define SMRL_HeatBalance_Stat_SMRL_status_Backrest_100_Cushion_100_0 (4) +#endif + +#ifndef SMRL_HeatBalance_Stat_SMRL_status_Backrest_67_Cushion_100_1 +#define SMRL_HeatBalance_Stat_SMRL_status_Backrest_67_Cushion_100_1 (3) +#endif + +#ifndef SMRL_HeatBalance_Stat_SMRL_status_Backrest_33_Cushion_100_2 +#define SMRL_HeatBalance_Stat_SMRL_status_Backrest_33_Cushion_100_2 (2) +#endif + +#ifndef SMRL_HeatBalance_Stat_SMRL_status_Backrest_00_Cushion_100_3 +#define SMRL_HeatBalance_Stat_SMRL_status_Backrest_00_Cushion_100_3 (1) +#endif + +#ifndef SMRL_HeatBalance_Stat_SMRL_status_No_action +#define SMRL_HeatBalance_Stat_SMRL_status_No_action (0) +#endif + + +// Value tables for @SMRL_SeatMassage_Stat signal + +#ifndef SMRL_SeatMassage_Stat_SMRL_status_Reserved +#define SMRL_SeatMassage_Stat_SMRL_status_Reserved (3) +#endif + +#ifndef SMRL_SeatMassage_Stat_SMRL_status_Massage_ON +#define SMRL_SeatMassage_Stat_SMRL_status_Massage_ON (2) +#endif + +#ifndef SMRL_SeatMassage_Stat_SMRL_status_Massage_OFF +#define SMRL_SeatMassage_Stat_SMRL_status_Massage_OFF (1) +#endif + +#ifndef SMRL_SeatMassage_Stat_SMRL_status_No_Request +#define SMRL_SeatMassage_Stat_SMRL_status_No_Request (0) +#endif + + +// Value tables for @SMRL_MassageIntens_Stat signal + +#ifndef SMRL_MassageIntens_Stat_SMRL_status_High_power +#define SMRL_MassageIntens_Stat_SMRL_status_High_power (3) +#endif + +#ifndef SMRL_MassageIntens_Stat_SMRL_status_Middle_power +#define SMRL_MassageIntens_Stat_SMRL_status_Middle_power (2) +#endif + +#ifndef SMRL_MassageIntens_Stat_SMRL_status_Low_power +#define SMRL_MassageIntens_Stat_SMRL_status_Low_power (1) +#endif + +#ifndef SMRL_MassageIntens_Stat_SMRL_status_Off +#define SMRL_MassageIntens_Stat_SMRL_status_Off (0) +#endif + + +// Value tables for @SMRL_SeatMassageType_Stat signal + +#ifndef SMRL_SeatMassageType_Stat_SMRL_status_Type_7_Velvet +#define SMRL_SeatMassageType_Stat_SMRL_status_Type_7_Velvet (7) +#endif + +#ifndef SMRL_SeatMassageType_Stat_SMRL_status_Type_6_Sonnet +#define SMRL_SeatMassageType_Stat_SMRL_status_Type_6_Sonnet (6) +#endif + +#ifndef SMRL_SeatMassageType_Stat_SMRL_status_Type_5_Quantum +#define SMRL_SeatMassageType_Stat_SMRL_status_Type_5_Quantum (5) +#endif + +#ifndef SMRL_SeatMassageType_Stat_SMRL_status_Type_4_Cashmere +#define SMRL_SeatMassageType_Stat_SMRL_status_Type_4_Cashmere (4) +#endif + +#ifndef SMRL_SeatMassageType_Stat_SMRL_status_Type_3_Harmony +#define SMRL_SeatMassageType_Stat_SMRL_status_Type_3_Harmony (3) +#endif + +#ifndef SMRL_SeatMassageType_Stat_SMRL_status_Type_2_Orbital +#define SMRL_SeatMassageType_Stat_SMRL_status_Type_2_Orbital (2) +#endif + +#ifndef SMRL_SeatMassageType_Stat_SMRL_status_Type_1_Insight +#define SMRL_SeatMassageType_Stat_SMRL_status_Type_1_Insight (1) +#endif + +#ifndef SMRL_SeatMassageType_Stat_SMRL_status_No_action +#define SMRL_SeatMassageType_Stat_SMRL_status_No_action (0) +#endif + + +// Value tables for @SMRL_MoreComfort_Stat signal + +#ifndef SMRL_MoreComfort_Stat_SMRL_status_Active +#define SMRL_MoreComfort_Stat_SMRL_status_Active (1) +#endif + +#ifndef SMRL_MoreComfort_Stat_SMRL_status_Inactive +#define SMRL_MoreComfort_Stat_SMRL_status_Inactive (0) +#endif + + // Value tables for @SMRL_CarpetHeat_Stat signal #ifndef SMRL_CarpetHeat_Stat_SMRL_status_Carpet_heating_is_active @@ -4968,21 +28320,496 @@ typedef struct #endif +// Value tables for @SMRL_ActiveSupport_Stat signal + +#ifndef SMRL_ActiveSupport_Stat_SMRL_status_Active +#define SMRL_ActiveSupport_Stat_SMRL_status_Active (1) +#endif + +#ifndef SMRL_ActiveSupport_Stat_SMRL_status_Inactive +#define SMRL_ActiveSupport_Stat_SMRL_status_Inactive (0) +#endif + + +// Value tables for @SMRL_BackrestMassageType_Stat signal + +#ifndef SMRL_BackrestMassageType_Stat_SMRL_status_Reserved +#define SMRL_BackrestMassageType_Stat_SMRL_status_Reserved (7) +#endif + +#ifndef SMRL_BackrestMassageType_Stat_SMRL_status_Reserved +#define SMRL_BackrestMassageType_Stat_SMRL_status_Reserved (6) +#endif + +#ifndef SMRL_BackrestMassageType_Stat_SMRL_status_Type_5_Elegy +#define SMRL_BackrestMassageType_Stat_SMRL_status_Type_5_Elegy (5) +#endif + +#ifndef SMRL_BackrestMassageType_Stat_SMRL_status_Type_4_Caprice +#define SMRL_BackrestMassageType_Stat_SMRL_status_Type_4_Caprice (4) +#endif + +#ifndef SMRL_BackrestMassageType_Stat_SMRL_status_Type_3_Pulse +#define SMRL_BackrestMassageType_Stat_SMRL_status_Type_3_Pulse (3) +#endif + +#ifndef SMRL_BackrestMassageType_Stat_SMRL_status_Type_2_Energy +#define SMRL_BackrestMassageType_Stat_SMRL_status_Type_2_Energy (2) +#endif + +#ifndef SMRL_BackrestMassageType_Stat_SMRL_status_Type_1_Synchrony +#define SMRL_BackrestMassageType_Stat_SMRL_status_Type_1_Synchrony (1) +#endif + +#ifndef SMRL_BackrestMassageType_Stat_SMRL_status_No_action +#define SMRL_BackrestMassageType_Stat_SMRL_status_No_action (0) +#endif + + +// Value tables for @SMRL_TimerMassage_Stat signal + +#ifndef SMRL_TimerMassage_Stat_SMRL_status_Reserved +#define SMRL_TimerMassage_Stat_SMRL_status_Reserved (7) +#endif + +#ifndef SMRL_TimerMassage_Stat_SMRL_status_Reserved +#define SMRL_TimerMassage_Stat_SMRL_status_Reserved (6) +#endif + +#ifndef SMRL_TimerMassage_Stat_SMRL_status__min +#define SMRL_TimerMassage_Stat_SMRL_status__min (5) +#endif + +#ifndef SMRL_TimerMassage_Stat_SMRL_status__min +#define SMRL_TimerMassage_Stat_SMRL_status__min (4) +#endif + +#ifndef SMRL_TimerMassage_Stat_SMRL_status__min +#define SMRL_TimerMassage_Stat_SMRL_status__min (3) +#endif + +#ifndef SMRL_TimerMassage_Stat_SMRL_status__min +#define SMRL_TimerMassage_Stat_SMRL_status__min (2) +#endif + +#ifndef SMRL_TimerMassage_Stat_SMRL_status__min +#define SMRL_TimerMassage_Stat_SMRL_status__min (1) +#endif + +#ifndef SMRL_TimerMassage_Stat_SMRL_status__min +#define SMRL_TimerMassage_Stat_SMRL_status__min (0) +#endif + + typedef struct { #ifdef CANDB_USE_BITS_SIGNAL + // Signal of pressing MM menu button on SMRL + // 1 : "MM menu activation button pressed" + // 0 : "MM menu activation button not pressed" + uint8_t SMRL_MMmenuActivBtn_Stat : 1; // Bits= 1 + + // RL seat height changing status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMRL_SeatHeight_Stat : 2; // Bits= 2 + + // RL seat headrest height changing status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMRL_HeadRestHeight_Stat : 2; // Bits= 2 + + // RL seat longitudinal changing status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMRL_SeatLongitudinal_Stat : 2; // Bits= 2 + + // RL seat headrest height inclination changing status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMRL_HeadRestHeightInclin_Stat : 2; // Bits= 2 + + // RL seat surface longitudinal changing status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMRL_SurfaceLongitudinal_Stat : 2; // Bits= 2 + + // RL seat footrest changing status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMRL_SeatLegSupportH_Stat : 2; // Bits= 2 + + // RL seat inclination status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMRL_SeatInclination_Stat : 2; // Bits= 2 + + // RL seat footrest longitudinal changing status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMRL_SeatLegSupportL_Stat : 2; // Bits= 2 + + // RL seat backrest inclination status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMRL_BackRestInclin_Stat : 2; // Bits= 2 + + // RL seat lumbar support height status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMRL_LumbarSupportHeight_Stat : 2; // Bits= 2 + + // RL seat backrest head inclination status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMRL_BackRestHeadInclin_Stat : 2; // Bits= 2 + + // RL seat lumbar support depth status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMRL_LumbarSupportDepth_Stat : 2; // Bits= 2 + + // RL seat backrest width status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMRL_BackRestWidth_Stat : 2; // Bits= 2 + + // RL seat cushion support inclination status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMRL_CushionSuppor_Stat : 2; // Bits= 2 + + // RL seat ventilation status + // 3 : "High Power" + // 2 : "Middle Power" + // 1 : "Low Power" + // 0 : "Off" + uint8_t SMRL_SeatVentilation_Stat : 2; // Bits= 2 + + // RL seat ventilation balance status + // 7 : "Backrest 100%, Cushion 00%: 3" + // 6 : "Backrest 100%, Cushion 33%: 2" + // 5 : "Backrest 100%, Cushion 67%: 1" + // 4 : "Backrest 100%, Cushion 100%: 0" + // 3 : "Backrest 67%, Cushion 100%: -1" + // 2 : "Backrest 33%, Cushion 100%: -2" + // 1 : "Backrest 00%, Cushion 100%: -3" + // 0 : "No action" + uint8_t SMRL_SeatVentBalance_Stat : 3; // Bits= 3 + + // RL seat heating status + // 3 : "High Power" + // 2 : "Middle Power" + // 1 : "Low Power" + // 0 : "Off" + uint8_t SMRL_Heating_Stat : 2; // Bits= 2 + + // RL seat heating balance status + // 7 : "Backrest 100%, Cushion 00%: 3" + // 6 : "Backrest 100%, Cushion 33%: 2" + // 5 : "Backrest 100%, Cushion 67%: 1" + // 4 : "Backrest 100%, Cushion 100%: 0" + // 3 : "Backrest 67%, Cushion 100%: -1" + // 2 : "Backrest 33%, Cushion 100%: -2" + // 1 : "Backrest 00%, Cushion 100%: -3" + // 0 : "No action" + uint8_t SMRL_HeatBalance_Stat : 3; // Bits= 3 + + // RL seat massage status + // 3 : "Reserved" + // 2 : "Massage ON" + // 1 : "Massage OFF" + // 0 : "No Request" + uint8_t SMRL_SeatMassage_Stat : 2; // Bits= 2 + + // RL seat massage intencivity status + // 3 : "High power" + // 2 : "Middle power" + // 1 : "Low power" + // 0 : "Off" + uint8_t SMRL_MassageIntens_Stat : 2; // Bits= 2 + + // RL seat massage type status + // 7 : "Type 7 (Velvet)" + // 6 : "Type 6 (Sonnet)" + // 5 : "Type 5 (Quantum)" + // 4 : "Type 4 (Cashmere)" + // 3 : "Type 3 (Harmony)" + // 2 : "Type 2 (Orbital)" + // 1 : "Type 1 (Insight)" + // 0 : "No action" + uint8_t SMRL_SeatMassageType_Stat : 3; // Bits= 3 + + // RL seat comfort mode status + // 1 : "Active" + // 0 : "Inactive" + uint8_t SMRL_MoreComfort_Stat : 1; // Bits= 1 + // Carpet heating status for rear left zone // 1 : "Carpet heating is active" // 0 : "Carpet heating is inactive" - uint8_t SMRL_CarpetHeat_Stat : 1; // Bits= 1 + uint8_t SMRL_CarpetHeat_Stat : 1; // Bits= 1 + + // Active lateral status + // 1 : "Active" + // 0 : "Inactive" + uint8_t SMRL_ActiveSupport_Stat : 1; // Bits= 1 + + // Signal for backrest massage type (mode) + // (RL backrest massage type request) + // 7 : "Reserved" + // 6 : "Reserved" + // 5 : "Type 5 (Elegy)" + // 4 : "Type 4 (Caprice)" + // 3 : "Type 3 (Pulse)" + // 2 : "Type 2 (Energy)" + // 1 : "Type 1 (Synchrony)" + // 0 : "No action" + uint8_t SMRL_BackrestMassageType_Stat : 3; // Bits= 3 + + // RL seat massage timer status + // 7 : "Reserved" + // 6 : "Reserved" + // 5 : "5 min" + // 4 : "10 min" + // 3 : "15 min" + // 2 : "20 min" + // 1 : "25 min" + // 0 : "30 min" + uint8_t SMRL_TimerMassage_Stat : 3; // Bits= 3 #else + // Signal of pressing MM menu button on SMRL + // 1 : "MM menu activation button pressed" + // 0 : "MM menu activation button not pressed" + uint8_t SMRL_MMmenuActivBtn_Stat; // Bits= 1 + + // RL seat height changing status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMRL_SeatHeight_Stat; // Bits= 2 + + // RL seat headrest height changing status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMRL_HeadRestHeight_Stat; // Bits= 2 + + // RL seat longitudinal changing status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMRL_SeatLongitudinal_Stat; // Bits= 2 + + // RL seat headrest height inclination changing status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMRL_HeadRestHeightInclin_Stat; // Bits= 2 + + // RL seat surface longitudinal changing status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMRL_SurfaceLongitudinal_Stat; // Bits= 2 + + // RL seat footrest changing status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMRL_SeatLegSupportH_Stat; // Bits= 2 + + // RL seat inclination status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMRL_SeatInclination_Stat; // Bits= 2 + + // RL seat footrest longitudinal changing status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMRL_SeatLegSupportL_Stat; // Bits= 2 + + // RL seat backrest inclination status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMRL_BackRestInclin_Stat; // Bits= 2 + + // RL seat lumbar support height status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMRL_LumbarSupportHeight_Stat; // Bits= 2 + + // RL seat backrest head inclination status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMRL_BackRestHeadInclin_Stat; // Bits= 2 + + // RL seat lumbar support depth status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMRL_LumbarSupportDepth_Stat; // Bits= 2 + + // RL seat backrest width status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMRL_BackRestWidth_Stat; // Bits= 2 + + // RL seat cushion support inclination status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMRL_CushionSuppor_Stat; // Bits= 2 + + // RL seat ventilation status + // 3 : "High Power" + // 2 : "Middle Power" + // 1 : "Low Power" + // 0 : "Off" + uint8_t SMRL_SeatVentilation_Stat; // Bits= 2 + + // RL seat ventilation balance status + // 7 : "Backrest 100%, Cushion 00%: 3" + // 6 : "Backrest 100%, Cushion 33%: 2" + // 5 : "Backrest 100%, Cushion 67%: 1" + // 4 : "Backrest 100%, Cushion 100%: 0" + // 3 : "Backrest 67%, Cushion 100%: -1" + // 2 : "Backrest 33%, Cushion 100%: -2" + // 1 : "Backrest 00%, Cushion 100%: -3" + // 0 : "No action" + uint8_t SMRL_SeatVentBalance_Stat; // Bits= 3 + + // RL seat heating status + // 3 : "High Power" + // 2 : "Middle Power" + // 1 : "Low Power" + // 0 : "Off" + uint8_t SMRL_Heating_Stat; // Bits= 2 + + // RL seat heating balance status + // 7 : "Backrest 100%, Cushion 00%: 3" + // 6 : "Backrest 100%, Cushion 33%: 2" + // 5 : "Backrest 100%, Cushion 67%: 1" + // 4 : "Backrest 100%, Cushion 100%: 0" + // 3 : "Backrest 67%, Cushion 100%: -1" + // 2 : "Backrest 33%, Cushion 100%: -2" + // 1 : "Backrest 00%, Cushion 100%: -3" + // 0 : "No action" + uint8_t SMRL_HeatBalance_Stat; // Bits= 3 + + // RL seat massage status + // 3 : "Reserved" + // 2 : "Massage ON" + // 1 : "Massage OFF" + // 0 : "No Request" + uint8_t SMRL_SeatMassage_Stat; // Bits= 2 + + // RL seat massage intencivity status + // 3 : "High power" + // 2 : "Middle power" + // 1 : "Low power" + // 0 : "Off" + uint8_t SMRL_MassageIntens_Stat; // Bits= 2 + + // RL seat massage type status + // 7 : "Type 7 (Velvet)" + // 6 : "Type 6 (Sonnet)" + // 5 : "Type 5 (Quantum)" + // 4 : "Type 4 (Cashmere)" + // 3 : "Type 3 (Harmony)" + // 2 : "Type 2 (Orbital)" + // 1 : "Type 1 (Insight)" + // 0 : "No action" + uint8_t SMRL_SeatMassageType_Stat; // Bits= 3 + + // RL seat comfort mode status + // 1 : "Active" + // 0 : "Inactive" + uint8_t SMRL_MoreComfort_Stat; // Bits= 1 + // Carpet heating status for rear left zone // 1 : "Carpet heating is active" // 0 : "Carpet heating is inactive" - uint8_t SMRL_CarpetHeat_Stat; // Bits= 1 + uint8_t SMRL_CarpetHeat_Stat; // Bits= 1 + + // Active lateral status + // 1 : "Active" + // 0 : "Inactive" + uint8_t SMRL_ActiveSupport_Stat; // Bits= 1 + + // Signal for backrest massage type (mode) + // (RL backrest massage type request) + // 7 : "Reserved" + // 6 : "Reserved" + // 5 : "Type 5 (Elegy)" + // 4 : "Type 4 (Caprice)" + // 3 : "Type 3 (Pulse)" + // 2 : "Type 2 (Energy)" + // 1 : "Type 1 (Synchrony)" + // 0 : "No action" + uint8_t SMRL_BackrestMassageType_Stat; // Bits= 3 + + // RL seat massage timer status + // 7 : "Reserved" + // 6 : "Reserved" + // 5 : "5 min" + // 4 : "10 min" + // 3 : "15 min" + // 2 : "20 min" + // 1 : "25 min" + // 0 : "30 min" + uint8_t SMRL_TimerMassage_Stat; // Bits= 3 #endif // CANDB_USE_BITS_SIGNAL @@ -5000,6 +28827,475 @@ typedef struct #define SMRR_status_CANID (0x4d3U) #define SMRR_status_CYC (250U) +// Value tables for @SMRR_MMmenuActivBtn_Stat signal + +#ifndef SMRR_MMmenuActivBtn_Stat_SMRR_status_MM_menu_activation_button_pressed +#define SMRR_MMmenuActivBtn_Stat_SMRR_status_MM_menu_activation_button_pressed (1) +#endif + +#ifndef SMRR_MMmenuActivBtn_Stat_SMRR_status_MM_menu_activation_button_not_pressed +#define SMRR_MMmenuActivBtn_Stat_SMRR_status_MM_menu_activation_button_not_pressed (0) +#endif + + +// Value tables for @SMRR_SeatHeight_Stat signal + +#ifndef SMRR_SeatHeight_Stat_SMRR_status_Reserved +#define SMRR_SeatHeight_Stat_SMRR_status_Reserved (3) +#endif + +#ifndef SMRR_SeatHeight_Stat_SMRR_status_Decrease +#define SMRR_SeatHeight_Stat_SMRR_status_Decrease (2) +#endif + +#ifndef SMRR_SeatHeight_Stat_SMRR_status_Increase +#define SMRR_SeatHeight_Stat_SMRR_status_Increase (1) +#endif + +#ifndef SMRR_SeatHeight_Stat_SMRR_status_No_action +#define SMRR_SeatHeight_Stat_SMRR_status_No_action (0) +#endif + + +// Value tables for @SMRR_HeadRestHeight_Stat signal + +#ifndef SMRR_HeadRestHeight_Stat_SMRR_status_Reserved +#define SMRR_HeadRestHeight_Stat_SMRR_status_Reserved (3) +#endif + +#ifndef SMRR_HeadRestHeight_Stat_SMRR_status_Decrease +#define SMRR_HeadRestHeight_Stat_SMRR_status_Decrease (2) +#endif + +#ifndef SMRR_HeadRestHeight_Stat_SMRR_status_Increase +#define SMRR_HeadRestHeight_Stat_SMRR_status_Increase (1) +#endif + +#ifndef SMRR_HeadRestHeight_Stat_SMRR_status_No_action +#define SMRR_HeadRestHeight_Stat_SMRR_status_No_action (0) +#endif + + +// Value tables for @SMRR_SeatLongitudinal_Stat signal + +#ifndef SMRR_SeatLongitudinal_Stat_SMRR_status_Reserved +#define SMRR_SeatLongitudinal_Stat_SMRR_status_Reserved (3) +#endif + +#ifndef SMRR_SeatLongitudinal_Stat_SMRR_status_Decrease +#define SMRR_SeatLongitudinal_Stat_SMRR_status_Decrease (2) +#endif + +#ifndef SMRR_SeatLongitudinal_Stat_SMRR_status_Increase +#define SMRR_SeatLongitudinal_Stat_SMRR_status_Increase (1) +#endif + +#ifndef SMRR_SeatLongitudinal_Stat_SMRR_status_No_action +#define SMRR_SeatLongitudinal_Stat_SMRR_status_No_action (0) +#endif + + +// Value tables for @SMRR_HeadRestHeightInclin_Stat signal + +#ifndef SMRR_HeadRestHeightInclin_Stat_SMRR_status_Reserved +#define SMRR_HeadRestHeightInclin_Stat_SMRR_status_Reserved (3) +#endif + +#ifndef SMRR_HeadRestHeightInclin_Stat_SMRR_status_Decrease +#define SMRR_HeadRestHeightInclin_Stat_SMRR_status_Decrease (2) +#endif + +#ifndef SMRR_HeadRestHeightInclin_Stat_SMRR_status_Increase +#define SMRR_HeadRestHeightInclin_Stat_SMRR_status_Increase (1) +#endif + +#ifndef SMRR_HeadRestHeightInclin_Stat_SMRR_status_No_action +#define SMRR_HeadRestHeightInclin_Stat_SMRR_status_No_action (0) +#endif + + +// Value tables for @SMRR_SurfaceLongitudinal_Stat signal + +#ifndef SMRR_SurfaceLongitudinal_Stat_SMRR_status_Reserved +#define SMRR_SurfaceLongitudinal_Stat_SMRR_status_Reserved (3) +#endif + +#ifndef SMRR_SurfaceLongitudinal_Stat_SMRR_status_Decrease +#define SMRR_SurfaceLongitudinal_Stat_SMRR_status_Decrease (2) +#endif + +#ifndef SMRR_SurfaceLongitudinal_Stat_SMRR_status_Increase +#define SMRR_SurfaceLongitudinal_Stat_SMRR_status_Increase (1) +#endif + +#ifndef SMRR_SurfaceLongitudinal_Stat_SMRR_status_No_action +#define SMRR_SurfaceLongitudinal_Stat_SMRR_status_No_action (0) +#endif + + +// Value tables for @SMRR_SeatLegSupportH_Stat signal + +#ifndef SMRR_SeatLegSupportH_Stat_SMRR_status_Reserved +#define SMRR_SeatLegSupportH_Stat_SMRR_status_Reserved (3) +#endif + +#ifndef SMRR_SeatLegSupportH_Stat_SMRR_status_Decrease +#define SMRR_SeatLegSupportH_Stat_SMRR_status_Decrease (2) +#endif + +#ifndef SMRR_SeatLegSupportH_Stat_SMRR_status_Increase +#define SMRR_SeatLegSupportH_Stat_SMRR_status_Increase (1) +#endif + +#ifndef SMRR_SeatLegSupportH_Stat_SMRR_status_No_action +#define SMRR_SeatLegSupportH_Stat_SMRR_status_No_action (0) +#endif + + +// Value tables for @SMRR_SeatInclination_Stat signal + +#ifndef SMRR_SeatInclination_Stat_SMRR_status_Reserved +#define SMRR_SeatInclination_Stat_SMRR_status_Reserved (3) +#endif + +#ifndef SMRR_SeatInclination_Stat_SMRR_status_Decrease +#define SMRR_SeatInclination_Stat_SMRR_status_Decrease (2) +#endif + +#ifndef SMRR_SeatInclination_Stat_SMRR_status_Increase +#define SMRR_SeatInclination_Stat_SMRR_status_Increase (1) +#endif + +#ifndef SMRR_SeatInclination_Stat_SMRR_status_No_action +#define SMRR_SeatInclination_Stat_SMRR_status_No_action (0) +#endif + + +// Value tables for @SMRR_SeatLegSupportL_Stat signal + +#ifndef SMRR_SeatLegSupportL_Stat_SMRR_status_Reserved +#define SMRR_SeatLegSupportL_Stat_SMRR_status_Reserved (3) +#endif + +#ifndef SMRR_SeatLegSupportL_Stat_SMRR_status_Decrease +#define SMRR_SeatLegSupportL_Stat_SMRR_status_Decrease (2) +#endif + +#ifndef SMRR_SeatLegSupportL_Stat_SMRR_status_Increase +#define SMRR_SeatLegSupportL_Stat_SMRR_status_Increase (1) +#endif + +#ifndef SMRR_SeatLegSupportL_Stat_SMRR_status_No_action +#define SMRR_SeatLegSupportL_Stat_SMRR_status_No_action (0) +#endif + + +// Value tables for @SMRR_BackRestInclin_Stat signal + +#ifndef SMRR_BackRestInclin_Stat_SMRR_status_Reserved +#define SMRR_BackRestInclin_Stat_SMRR_status_Reserved (3) +#endif + +#ifndef SMRR_BackRestInclin_Stat_SMRR_status_Decrease +#define SMRR_BackRestInclin_Stat_SMRR_status_Decrease (2) +#endif + +#ifndef SMRR_BackRestInclin_Stat_SMRR_status_Increase +#define SMRR_BackRestInclin_Stat_SMRR_status_Increase (1) +#endif + +#ifndef SMRR_BackRestInclin_Stat_SMRR_status_No_action +#define SMRR_BackRestInclin_Stat_SMRR_status_No_action (0) +#endif + + +// Value tables for @SMRR_LumbarSupportHeigh_Stat signal + +#ifndef SMRR_LumbarSupportHeigh_Stat_SMRR_status_Reserved +#define SMRR_LumbarSupportHeigh_Stat_SMRR_status_Reserved (3) +#endif + +#ifndef SMRR_LumbarSupportHeigh_Stat_SMRR_status_Decrease +#define SMRR_LumbarSupportHeigh_Stat_SMRR_status_Decrease (2) +#endif + +#ifndef SMRR_LumbarSupportHeigh_Stat_SMRR_status_Increase +#define SMRR_LumbarSupportHeigh_Stat_SMRR_status_Increase (1) +#endif + +#ifndef SMRR_LumbarSupportHeigh_Stat_SMRR_status_No_action +#define SMRR_LumbarSupportHeigh_Stat_SMRR_status_No_action (0) +#endif + + +// Value tables for @SMRR_BackRestHeadInclin_Stat signal + +#ifndef SMRR_BackRestHeadInclin_Stat_SMRR_status_Reserved +#define SMRR_BackRestHeadInclin_Stat_SMRR_status_Reserved (3) +#endif + +#ifndef SMRR_BackRestHeadInclin_Stat_SMRR_status_Decrease +#define SMRR_BackRestHeadInclin_Stat_SMRR_status_Decrease (2) +#endif + +#ifndef SMRR_BackRestHeadInclin_Stat_SMRR_status_Increase +#define SMRR_BackRestHeadInclin_Stat_SMRR_status_Increase (1) +#endif + +#ifndef SMRR_BackRestHeadInclin_Stat_SMRR_status_No_action +#define SMRR_BackRestHeadInclin_Stat_SMRR_status_No_action (0) +#endif + + +// Value tables for @SMRR_LumbarSupportDepth_Stat signal + +#ifndef SMRR_LumbarSupportDepth_Stat_SMRR_status_Reserved +#define SMRR_LumbarSupportDepth_Stat_SMRR_status_Reserved (3) +#endif + +#ifndef SMRR_LumbarSupportDepth_Stat_SMRR_status_Decrease +#define SMRR_LumbarSupportDepth_Stat_SMRR_status_Decrease (2) +#endif + +#ifndef SMRR_LumbarSupportDepth_Stat_SMRR_status_Increase +#define SMRR_LumbarSupportDepth_Stat_SMRR_status_Increase (1) +#endif + +#ifndef SMRR_LumbarSupportDepth_Stat_SMRR_status_No_action +#define SMRR_LumbarSupportDepth_Stat_SMRR_status_No_action (0) +#endif + + +// Value tables for @SMRR_BackRestWidth_Stat signal + +#ifndef SMRR_BackRestWidth_Stat_SMRR_status_Reserved +#define SMRR_BackRestWidth_Stat_SMRR_status_Reserved (3) +#endif + +#ifndef SMRR_BackRestWidth_Stat_SMRR_status_Decrease +#define SMRR_BackRestWidth_Stat_SMRR_status_Decrease (2) +#endif + +#ifndef SMRR_BackRestWidth_Stat_SMRR_status_Increase +#define SMRR_BackRestWidth_Stat_SMRR_status_Increase (1) +#endif + +#ifndef SMRR_BackRestWidth_Stat_SMRR_status_No_action +#define SMRR_BackRestWidth_Stat_SMRR_status_No_action (0) +#endif + + +// Value tables for @SMRR_CushionSupport_Stat signal + +#ifndef SMRR_CushionSupport_Stat_SMRR_status_Reserved +#define SMRR_CushionSupport_Stat_SMRR_status_Reserved (3) +#endif + +#ifndef SMRR_CushionSupport_Stat_SMRR_status_Decrease +#define SMRR_CushionSupport_Stat_SMRR_status_Decrease (2) +#endif + +#ifndef SMRR_CushionSupport_Stat_SMRR_status_Increase +#define SMRR_CushionSupport_Stat_SMRR_status_Increase (1) +#endif + +#ifndef SMRR_CushionSupport_Stat_SMRR_status_No_action +#define SMRR_CushionSupport_Stat_SMRR_status_No_action (0) +#endif + + +// Value tables for @SMRR_SeatVentilation_Stat signal + +#ifndef SMRR_SeatVentilation_Stat_SMRR_status_High_Power +#define SMRR_SeatVentilation_Stat_SMRR_status_High_Power (3) +#endif + +#ifndef SMRR_SeatVentilation_Stat_SMRR_status_Middle_Power +#define SMRR_SeatVentilation_Stat_SMRR_status_Middle_Power (2) +#endif + +#ifndef SMRR_SeatVentilation_Stat_SMRR_status_Low_Power +#define SMRR_SeatVentilation_Stat_SMRR_status_Low_Power (1) +#endif + +#ifndef SMRR_SeatVentilation_Stat_SMRR_status_Off +#define SMRR_SeatVentilation_Stat_SMRR_status_Off (0) +#endif + + +// Value tables for @SMRR_SeatVentBalance_Stat signal + +#ifndef SMRR_SeatVentBalance_Stat_SMRR_status_Backrest_100_Cushion_00_3 +#define SMRR_SeatVentBalance_Stat_SMRR_status_Backrest_100_Cushion_00_3 (7) +#endif + +#ifndef SMRR_SeatVentBalance_Stat_SMRR_status_Backrest_100_Cushion_33_2 +#define SMRR_SeatVentBalance_Stat_SMRR_status_Backrest_100_Cushion_33_2 (6) +#endif + +#ifndef SMRR_SeatVentBalance_Stat_SMRR_status_Backrest_100_Cushion_67_1 +#define SMRR_SeatVentBalance_Stat_SMRR_status_Backrest_100_Cushion_67_1 (5) +#endif + +#ifndef SMRR_SeatVentBalance_Stat_SMRR_status_Backrest_100_Cushion_100_0 +#define SMRR_SeatVentBalance_Stat_SMRR_status_Backrest_100_Cushion_100_0 (4) +#endif + +#ifndef SMRR_SeatVentBalance_Stat_SMRR_status_Backrest_67_Cushion_100_1 +#define SMRR_SeatVentBalance_Stat_SMRR_status_Backrest_67_Cushion_100_1 (3) +#endif + +#ifndef SMRR_SeatVentBalance_Stat_SMRR_status_Backrest_33_Cushion_100_2 +#define SMRR_SeatVentBalance_Stat_SMRR_status_Backrest_33_Cushion_100_2 (2) +#endif + +#ifndef SMRR_SeatVentBalance_Stat_SMRR_status_Backrest_00_Cushion_100_3 +#define SMRR_SeatVentBalance_Stat_SMRR_status_Backrest_00_Cushion_100_3 (1) +#endif + +#ifndef SMRR_SeatVentBalance_Stat_SMRR_status_No_action +#define SMRR_SeatVentBalance_Stat_SMRR_status_No_action (0) +#endif + + +// Value tables for @SMRR_Heating_Stat signal + +#ifndef SMRR_Heating_Stat_SMRR_status_High_Power +#define SMRR_Heating_Stat_SMRR_status_High_Power (3) +#endif + +#ifndef SMRR_Heating_Stat_SMRR_status_Middle_Power +#define SMRR_Heating_Stat_SMRR_status_Middle_Power (2) +#endif + +#ifndef SMRR_Heating_Stat_SMRR_status_Low_Power +#define SMRR_Heating_Stat_SMRR_status_Low_Power (1) +#endif + +#ifndef SMRR_Heating_Stat_SMRR_status_Off +#define SMRR_Heating_Stat_SMRR_status_Off (0) +#endif + + +// Value tables for @SMRR_HeatBalance_Stat signal + +#ifndef SMRR_HeatBalance_Stat_SMRR_status_Backrest_100_Cushion_00_3 +#define SMRR_HeatBalance_Stat_SMRR_status_Backrest_100_Cushion_00_3 (7) +#endif + +#ifndef SMRR_HeatBalance_Stat_SMRR_status_Backrest_100_Cushion_33_2 +#define SMRR_HeatBalance_Stat_SMRR_status_Backrest_100_Cushion_33_2 (6) +#endif + +#ifndef SMRR_HeatBalance_Stat_SMRR_status_Backrest_100_Cushion_67_1 +#define SMRR_HeatBalance_Stat_SMRR_status_Backrest_100_Cushion_67_1 (5) +#endif + +#ifndef SMRR_HeatBalance_Stat_SMRR_status_Backrest_100_Cushion_100_0 +#define SMRR_HeatBalance_Stat_SMRR_status_Backrest_100_Cushion_100_0 (4) +#endif + +#ifndef SMRR_HeatBalance_Stat_SMRR_status_Backrest_67_Cushion_100_1 +#define SMRR_HeatBalance_Stat_SMRR_status_Backrest_67_Cushion_100_1 (3) +#endif + +#ifndef SMRR_HeatBalance_Stat_SMRR_status_Backrest_33_Cushion_100_2 +#define SMRR_HeatBalance_Stat_SMRR_status_Backrest_33_Cushion_100_2 (2) +#endif + +#ifndef SMRR_HeatBalance_Stat_SMRR_status_Backrest_00_Cushion_100_3 +#define SMRR_HeatBalance_Stat_SMRR_status_Backrest_00_Cushion_100_3 (1) +#endif + +#ifndef SMRR_HeatBalance_Stat_SMRR_status_No_action +#define SMRR_HeatBalance_Stat_SMRR_status_No_action (0) +#endif + + +// Value tables for @SMRR_SeatMassage_Stat signal + +#ifndef SMRR_SeatMassage_Stat_SMRR_status_Reserved +#define SMRR_SeatMassage_Stat_SMRR_status_Reserved (3) +#endif + +#ifndef SMRR_SeatMassage_Stat_SMRR_status_Massage_ON +#define SMRR_SeatMassage_Stat_SMRR_status_Massage_ON (2) +#endif + +#ifndef SMRR_SeatMassage_Stat_SMRR_status_Massage_OFF +#define SMRR_SeatMassage_Stat_SMRR_status_Massage_OFF (1) +#endif + +#ifndef SMRR_SeatMassage_Stat_SMRR_status_No_Request +#define SMRR_SeatMassage_Stat_SMRR_status_No_Request (0) +#endif + + +// Value tables for @SMRR_MassageIntens_Stat signal + +#ifndef SMRR_MassageIntens_Stat_SMRR_status_High_power +#define SMRR_MassageIntens_Stat_SMRR_status_High_power (3) +#endif + +#ifndef SMRR_MassageIntens_Stat_SMRR_status_Middle_power +#define SMRR_MassageIntens_Stat_SMRR_status_Middle_power (2) +#endif + +#ifndef SMRR_MassageIntens_Stat_SMRR_status_Low_power +#define SMRR_MassageIntens_Stat_SMRR_status_Low_power (1) +#endif + +#ifndef SMRR_MassageIntens_Stat_SMRR_status_Off +#define SMRR_MassageIntens_Stat_SMRR_status_Off (0) +#endif + + +// Value tables for @SMRR_SeatMassageType_Stat signal + +#ifndef SMRR_SeatMassageType_Stat_SMRR_status_Type_7_Velvet +#define SMRR_SeatMassageType_Stat_SMRR_status_Type_7_Velvet (7) +#endif + +#ifndef SMRR_SeatMassageType_Stat_SMRR_status_Type_6_Sonnet +#define SMRR_SeatMassageType_Stat_SMRR_status_Type_6_Sonnet (6) +#endif + +#ifndef SMRR_SeatMassageType_Stat_SMRR_status_Type_5_Quantum +#define SMRR_SeatMassageType_Stat_SMRR_status_Type_5_Quantum (5) +#endif + +#ifndef SMRR_SeatMassageType_Stat_SMRR_status_Type_4_Cashmere +#define SMRR_SeatMassageType_Stat_SMRR_status_Type_4_Cashmere (4) +#endif + +#ifndef SMRR_SeatMassageType_Stat_SMRR_status_Type_3_Harmony +#define SMRR_SeatMassageType_Stat_SMRR_status_Type_3_Harmony (3) +#endif + +#ifndef SMRR_SeatMassageType_Stat_SMRR_status_Type_2_Orbital +#define SMRR_SeatMassageType_Stat_SMRR_status_Type_2_Orbital (2) +#endif + +#ifndef SMRR_SeatMassageType_Stat_SMRR_status_Type_1_Insight +#define SMRR_SeatMassageType_Stat_SMRR_status_Type_1_Insight (1) +#endif + +#ifndef SMRR_SeatMassageType_Stat_SMRR_status_No_action +#define SMRR_SeatMassageType_Stat_SMRR_status_No_action (0) +#endif + + +// Value tables for @SMRR_MoreComfort_Req signal + +#ifndef SMRR_MoreComfort_Req_SMRR_status_Requested +#define SMRR_MoreComfort_Req_SMRR_status_Requested (1) +#endif + +#ifndef SMRR_MoreComfort_Req_SMRR_status_Not_requested +#define SMRR_MoreComfort_Req_SMRR_status_Not_requested (0) +#endif + + // Value tables for @SMRR_CarpetHeat_Stat signal #ifndef SMRR_CarpetHeat_Stat_SMRR_status_Carpet_heating_is_active @@ -5011,21 +29307,496 @@ typedef struct #endif +// Value tables for @SMRR_ActiveSupport_Stat signal + +#ifndef SMRR_ActiveSupport_Stat_SMRR_status_Active +#define SMRR_ActiveSupport_Stat_SMRR_status_Active (1) +#endif + +#ifndef SMRR_ActiveSupport_Stat_SMRR_status_Inactive +#define SMRR_ActiveSupport_Stat_SMRR_status_Inactive (0) +#endif + + +// Value tables for @SMRR_BackrestMassageType_Stat signal + +#ifndef SMRR_BackrestMassageType_Stat_SMRR_status_Reserved +#define SMRR_BackrestMassageType_Stat_SMRR_status_Reserved (7) +#endif + +#ifndef SMRR_BackrestMassageType_Stat_SMRR_status_Reserved +#define SMRR_BackrestMassageType_Stat_SMRR_status_Reserved (6) +#endif + +#ifndef SMRR_BackrestMassageType_Stat_SMRR_status_Type_5_Elegy +#define SMRR_BackrestMassageType_Stat_SMRR_status_Type_5_Elegy (5) +#endif + +#ifndef SMRR_BackrestMassageType_Stat_SMRR_status_Type_4_Caprice +#define SMRR_BackrestMassageType_Stat_SMRR_status_Type_4_Caprice (4) +#endif + +#ifndef SMRR_BackrestMassageType_Stat_SMRR_status_Type_3_Pulse +#define SMRR_BackrestMassageType_Stat_SMRR_status_Type_3_Pulse (3) +#endif + +#ifndef SMRR_BackrestMassageType_Stat_SMRR_status_Type_2_Energy +#define SMRR_BackrestMassageType_Stat_SMRR_status_Type_2_Energy (2) +#endif + +#ifndef SMRR_BackrestMassageType_Stat_SMRR_status_Type_1_Synchrony +#define SMRR_BackrestMassageType_Stat_SMRR_status_Type_1_Synchrony (1) +#endif + +#ifndef SMRR_BackrestMassageType_Stat_SMRR_status_No_action +#define SMRR_BackrestMassageType_Stat_SMRR_status_No_action (0) +#endif + + +// Value tables for @SMRR_TimerMassage_Stat signal + +#ifndef SMRR_TimerMassage_Stat_SMRR_status_Reserved +#define SMRR_TimerMassage_Stat_SMRR_status_Reserved (7) +#endif + +#ifndef SMRR_TimerMassage_Stat_SMRR_status_Reserved +#define SMRR_TimerMassage_Stat_SMRR_status_Reserved (6) +#endif + +#ifndef SMRR_TimerMassage_Stat_SMRR_status__min +#define SMRR_TimerMassage_Stat_SMRR_status__min (5) +#endif + +#ifndef SMRR_TimerMassage_Stat_SMRR_status__min +#define SMRR_TimerMassage_Stat_SMRR_status__min (4) +#endif + +#ifndef SMRR_TimerMassage_Stat_SMRR_status__min +#define SMRR_TimerMassage_Stat_SMRR_status__min (3) +#endif + +#ifndef SMRR_TimerMassage_Stat_SMRR_status__min +#define SMRR_TimerMassage_Stat_SMRR_status__min (2) +#endif + +#ifndef SMRR_TimerMassage_Stat_SMRR_status__min +#define SMRR_TimerMassage_Stat_SMRR_status__min (1) +#endif + +#ifndef SMRR_TimerMassage_Stat_SMRR_status__min +#define SMRR_TimerMassage_Stat_SMRR_status__min (0) +#endif + + typedef struct { #ifdef CANDB_USE_BITS_SIGNAL + // Signal of pressing MM menu button on SMRR + // 1 : "MM menu activation button pressed" + // 0 : "MM menu activation button not pressed" + uint8_t SMRR_MMmenuActivBtn_Stat : 1; // Bits= 1 + + // RR seat height changing status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMRR_SeatHeight_Stat : 2; // Bits= 2 + + // RR seat headrest height changing status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMRR_HeadRestHeight_Stat : 2; // Bits= 2 + + // RR seat longitudinal changing status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMRR_SeatLongitudinal_Stat : 2; // Bits= 2 + + // RR seat headrest height inclination changing status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMRR_HeadRestHeightInclin_Stat : 2; // Bits= 2 + + // RR seat surface longitudinal changing status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMRR_SurfaceLongitudinal_Stat : 2; // Bits= 2 + + // RR seat footrest changing status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMRR_SeatLegSupportH_Stat : 2; // Bits= 2 + + // RR seat inclination status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMRR_SeatInclination_Stat : 2; // Bits= 2 + + // RR seat footrest longitudinal changing status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMRR_SeatLegSupportL_Stat : 2; // Bits= 2 + + // RR seat backrest inclination status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMRR_BackRestInclin_Stat : 2; // Bits= 2 + + // RR seat lumbar support height status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMRR_LumbarSupportHeigh_Stat : 2; // Bits= 2 + + // RR seat backrest head inclination status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMRR_BackRestHeadInclin_Stat : 2; // Bits= 2 + + // RR seat lumbar support depth status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMRR_LumbarSupportDepth_Stat : 2; // Bits= 2 + + // Signal for regulation RR seat backrest width + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMRR_BackRestWidth_Stat : 2; // Bits= 2 + + // RR seat cushion support inclination status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMRR_CushionSupport_Stat : 2; // Bits= 2 + + // RR seat ventilation status + // 3 : "High Power" + // 2 : "Middle Power" + // 1 : "Low Power" + // 0 : "Off" + uint8_t SMRR_SeatVentilation_Stat : 2; // Bits= 2 + + // RR seat ventilation balance status + // 7 : "Backrest 100%, Cushion 00%: 3" + // 6 : "Backrest 100%, Cushion 33%: 2" + // 5 : "Backrest 100%, Cushion 67%: 1" + // 4 : "Backrest 100%, Cushion 100%: 0" + // 3 : "Backrest 67%, Cushion 100%: -1" + // 2 : "Backrest 33%, Cushion 100%: -2" + // 1 : "Backrest 00%, Cushion 100%: -3" + // 0 : "No action" + uint8_t SMRR_SeatVentBalance_Stat : 3; // Bits= 3 + + // RR seat heating status + // 3 : "High Power" + // 2 : "Middle Power" + // 1 : "Low Power" + // 0 : "Off" + uint8_t SMRR_Heating_Stat : 2; // Bits= 2 + + // RR seat heating balance status + // 7 : "Backrest 100%, Cushion 00%: 3" + // 6 : "Backrest 100%, Cushion 33%: 2" + // 5 : "Backrest 100%, Cushion 67%: 1" + // 4 : "Backrest 100%, Cushion 100%: 0" + // 3 : "Backrest 67%, Cushion 100%: -1" + // 2 : "Backrest 33%, Cushion 100%: -2" + // 1 : "Backrest 00%, Cushion 100%: -3" + // 0 : "No action" + uint8_t SMRR_HeatBalance_Stat : 3; // Bits= 3 + + // RR seat massage status + // 3 : "Reserved" + // 2 : "Massage ON" + // 1 : "Massage OFF" + // 0 : "No Request" + uint8_t SMRR_SeatMassage_Stat : 2; // Bits= 2 + + // RR seat massage intencivity status + // 3 : "High power" + // 2 : "Middle power" + // 1 : "Low power" + // 0 : "Off" + uint8_t SMRR_MassageIntens_Stat : 2; // Bits= 2 + + // RR seat massage type status + // 7 : "Type 7 (Velvet)" + // 6 : "Type 6 (Sonnet)" + // 5 : "Type 5 (Quantum)" + // 4 : "Type 4 (Cashmere)" + // 3 : "Type 3 (Harmony)" + // 2 : "Type 2 (Orbital)" + // 1 : "Type 1 (Insight)" + // 0 : "No action" + uint8_t SMRR_SeatMassageType_Stat : 3; // Bits= 3 + + // Indicates a request to SMFR for more comfort + // 1 : "Requested" + // 0 : "Not requested" + uint8_t SMRR_MoreComfort_Req : 1; // Bits= 1 + // Carpet heating status for rear right zone // 1 : "Carpet heating is active" // 0 : "Carpet heating is inactive" - uint8_t SMRR_CarpetHeat_Stat : 1; // Bits= 1 + uint8_t SMRR_CarpetHeat_Stat : 1; // Bits= 1 + + // Active lateral status + // 1 : "Active" + // 0 : "Inactive" + uint8_t SMRR_ActiveSupport_Stat : 1; // Bits= 1 + + // Signal for backrest massage type (mode) + // (RL backrest massage type request) + // 7 : "Reserved" + // 6 : "Reserved" + // 5 : "Type 5 (Elegy)" + // 4 : "Type 4 (Caprice)" + // 3 : "Type 3 (Pulse)" + // 2 : "Type 2 (Energy)" + // 1 : "Type 1 (Synchrony)" + // 0 : "No action" + uint8_t SMRR_BackrestMassageType_Stat : 3; // Bits= 3 + + // RR seat massage timer status + // 7 : "Reserved" + // 6 : "Reserved" + // 5 : "5 min" + // 4 : "10 min" + // 3 : "15 min" + // 2 : "20 min" + // 1 : "25 min" + // 0 : "30 min" + uint8_t SMRR_TimerMassage_Stat : 3; // Bits= 3 #else + // Signal of pressing MM menu button on SMRR + // 1 : "MM menu activation button pressed" + // 0 : "MM menu activation button not pressed" + uint8_t SMRR_MMmenuActivBtn_Stat; // Bits= 1 + + // RR seat height changing status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMRR_SeatHeight_Stat; // Bits= 2 + + // RR seat headrest height changing status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMRR_HeadRestHeight_Stat; // Bits= 2 + + // RR seat longitudinal changing status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMRR_SeatLongitudinal_Stat; // Bits= 2 + + // RR seat headrest height inclination changing status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMRR_HeadRestHeightInclin_Stat; // Bits= 2 + + // RR seat surface longitudinal changing status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMRR_SurfaceLongitudinal_Stat; // Bits= 2 + + // RR seat footrest changing status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMRR_SeatLegSupportH_Stat; // Bits= 2 + + // RR seat inclination status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMRR_SeatInclination_Stat; // Bits= 2 + + // RR seat footrest longitudinal changing status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMRR_SeatLegSupportL_Stat; // Bits= 2 + + // RR seat backrest inclination status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMRR_BackRestInclin_Stat; // Bits= 2 + + // RR seat lumbar support height status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMRR_LumbarSupportHeigh_Stat; // Bits= 2 + + // RR seat backrest head inclination status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMRR_BackRestHeadInclin_Stat; // Bits= 2 + + // RR seat lumbar support depth status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMRR_LumbarSupportDepth_Stat; // Bits= 2 + + // Signal for regulation RR seat backrest width + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMRR_BackRestWidth_Stat; // Bits= 2 + + // RR seat cushion support inclination status + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t SMRR_CushionSupport_Stat; // Bits= 2 + + // RR seat ventilation status + // 3 : "High Power" + // 2 : "Middle Power" + // 1 : "Low Power" + // 0 : "Off" + uint8_t SMRR_SeatVentilation_Stat; // Bits= 2 + + // RR seat ventilation balance status + // 7 : "Backrest 100%, Cushion 00%: 3" + // 6 : "Backrest 100%, Cushion 33%: 2" + // 5 : "Backrest 100%, Cushion 67%: 1" + // 4 : "Backrest 100%, Cushion 100%: 0" + // 3 : "Backrest 67%, Cushion 100%: -1" + // 2 : "Backrest 33%, Cushion 100%: -2" + // 1 : "Backrest 00%, Cushion 100%: -3" + // 0 : "No action" + uint8_t SMRR_SeatVentBalance_Stat; // Bits= 3 + + // RR seat heating status + // 3 : "High Power" + // 2 : "Middle Power" + // 1 : "Low Power" + // 0 : "Off" + uint8_t SMRR_Heating_Stat; // Bits= 2 + + // RR seat heating balance status + // 7 : "Backrest 100%, Cushion 00%: 3" + // 6 : "Backrest 100%, Cushion 33%: 2" + // 5 : "Backrest 100%, Cushion 67%: 1" + // 4 : "Backrest 100%, Cushion 100%: 0" + // 3 : "Backrest 67%, Cushion 100%: -1" + // 2 : "Backrest 33%, Cushion 100%: -2" + // 1 : "Backrest 00%, Cushion 100%: -3" + // 0 : "No action" + uint8_t SMRR_HeatBalance_Stat; // Bits= 3 + + // RR seat massage status + // 3 : "Reserved" + // 2 : "Massage ON" + // 1 : "Massage OFF" + // 0 : "No Request" + uint8_t SMRR_SeatMassage_Stat; // Bits= 2 + + // RR seat massage intencivity status + // 3 : "High power" + // 2 : "Middle power" + // 1 : "Low power" + // 0 : "Off" + uint8_t SMRR_MassageIntens_Stat; // Bits= 2 + + // RR seat massage type status + // 7 : "Type 7 (Velvet)" + // 6 : "Type 6 (Sonnet)" + // 5 : "Type 5 (Quantum)" + // 4 : "Type 4 (Cashmere)" + // 3 : "Type 3 (Harmony)" + // 2 : "Type 2 (Orbital)" + // 1 : "Type 1 (Insight)" + // 0 : "No action" + uint8_t SMRR_SeatMassageType_Stat; // Bits= 3 + + // Indicates a request to SMFR for more comfort + // 1 : "Requested" + // 0 : "Not requested" + uint8_t SMRR_MoreComfort_Req; // Bits= 1 + // Carpet heating status for rear right zone // 1 : "Carpet heating is active" // 0 : "Carpet heating is inactive" - uint8_t SMRR_CarpetHeat_Stat; // Bits= 1 + uint8_t SMRR_CarpetHeat_Stat; // Bits= 1 + + // Active lateral status + // 1 : "Active" + // 0 : "Inactive" + uint8_t SMRR_ActiveSupport_Stat; // Bits= 1 + + // Signal for backrest massage type (mode) + // (RL backrest massage type request) + // 7 : "Reserved" + // 6 : "Reserved" + // 5 : "Type 5 (Elegy)" + // 4 : "Type 4 (Caprice)" + // 3 : "Type 3 (Pulse)" + // 2 : "Type 2 (Energy)" + // 1 : "Type 1 (Synchrony)" + // 0 : "No action" + uint8_t SMRR_BackrestMassageType_Stat; // Bits= 3 + + // RR seat massage timer status + // 7 : "Reserved" + // 6 : "Reserved" + // 5 : "5 min" + // 4 : "10 min" + // 3 : "15 min" + // 2 : "20 min" + // 1 : "25 min" + // 0 : "30 min" + uint8_t SMRR_TimerMassage_Stat; // Bits= 3 #endif // CANDB_USE_BITS_SIGNAL @@ -5037,6 +29808,1811 @@ typedef struct } SMRR_status_t; +// def @DocSL_T_FL CAN Message (1236 0x4d4) +#define DocSL_T_FL_IDE (0U) +#define DocSL_T_FL_DLC (3U) +#define DocSL_T_FL_CANID (0x4d4U) + +// Value tables for @DocSL_EjectButtons_Stat signal + +#ifndef DocSL_EjectButtons_Stat_DocSL_T_FL_Ejection_buttons_not_pressed +#define DocSL_EjectButtons_Stat_DocSL_T_FL_Ejection_buttons_not_pressed (0) +#endif + +#ifndef DocSL_EjectButtons_Stat_DocSL_T_FL_Ejection_button_pressed +#define DocSL_EjectButtons_Stat_DocSL_T_FL_Ejection_button_pressed (1) +#endif + + +// Value tables for @DocSL_TiltLimitUpper_Stat signal + +#ifndef DocSL_TiltLimitUpper_Stat_DocSL_T_FL_Upper_limit_not_reached +#define DocSL_TiltLimitUpper_Stat_DocSL_T_FL_Upper_limit_not_reached (0) +#endif + +#ifndef DocSL_TiltLimitUpper_Stat_DocSL_T_FL_Upper_limit_reached +#define DocSL_TiltLimitUpper_Stat_DocSL_T_FL_Upper_limit_reached (1) +#endif + + +// Value tables for @DocSL_TiltLimitLower_Stat signal + +#ifndef DocSL_TiltLimitLower_Stat_DocSL_T_FL_Lower_limit_not_reached +#define DocSL_TiltLimitLower_Stat_DocSL_T_FL_Lower_limit_not_reached (0) +#endif + +#ifndef DocSL_TiltLimitLower_Stat_DocSL_T_FL_Lower_limit_reached +#define DocSL_TiltLimitLower_Stat_DocSL_T_FL_Lower_limit_reached (1) +#endif + + +// Value tables for @DocSL_T_Availability_Stat signal + +#ifndef DocSL_T_Availability_Stat_DocSL_T_FL_Present +#define DocSL_T_Availability_Stat_DocSL_T_FL_Present (1) +#endif + +#ifndef DocSL_T_Availability_Stat_DocSL_T_FL_Missing +#define DocSL_T_Availability_Stat_DocSL_T_FL_Missing (0) +#endif + + +// Value tables for @DocSL_MechLock_Stat signal + +#ifndef DocSL_MechLock_Stat_DocSL_T_FL_Unlocked +#define DocSL_MechLock_Stat_DocSL_T_FL_Unlocked (0) +#endif + +#ifndef DocSL_MechLock_Stat_DocSL_T_FL_Transition +#define DocSL_MechLock_Stat_DocSL_T_FL_Transition (1) +#endif + +#ifndef DocSL_MechLock_Stat_DocSL_T_FL_Locked +#define DocSL_MechLock_Stat_DocSL_T_FL_Locked (2) +#endif + + +// Value tables for @DocSL_Error_Stat signal + +#ifndef DocSL_Error_Stat_DocSL_T_FL_No_error +#define DocSL_Error_Stat_DocSL_T_FL_No_error (0) +#endif + +#ifndef DocSL_Error_Stat_DocSL_T_FL_Barrier_or_pinch_detected +#define DocSL_Error_Stat_DocSL_T_FL_Barrier_or_pinch_detected (1) +#endif + +#ifndef DocSL_Error_Stat_DocSL_T_FL_Mechanical_lock_error +#define DocSL_Error_Stat_DocSL_T_FL_Mechanical_lock_error (2) +#endif + +#ifndef DocSL_Error_Stat_DocSL_T_FL_Full_failure +#define DocSL_Error_Stat_DocSL_T_FL_Full_failure (3) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Ejection buttons pressing status + // 0 : "Ejection buttons not pressed" + // 1 : "Ejection button pressed" + uint8_t DocSL_EjectButtons_Stat : 1; // Bits= 1 + + // Upper tilt limit reaching status + // 0 : "Upper limit not reached" + // 1 : "Upper limit reached" + uint8_t DocSL_TiltLimitUpper_Stat : 1; // Bits= 1 + + // Lower tilt limit reaching status + // 0 : "Lower limit not reached" + // 1 : "Lower limit reached" + uint8_t DocSL_TiltLimitLower_Stat : 1; // Bits= 1 + + // Status DocSR_T_FL missing or present LIN communications + // 1 : "Present" + // 0 : "Missing" + uint8_t DocSL_T_Availability_Stat : 1; // Bits= 1 + + // Mechanical lock status + // 0 : "Unlocked" + // 1 : "Transition" + // 2 : "Locked" + uint8_t DocSL_MechLock_Stat : 2; // Bits= 2 + + // System error status 0 - No error 1 - Electrical current limit reached 2 - Mechanical lock error 3 - More than 1 failures + // 0 : "No error" + // 1 : "Barrier or pinch detected" + // 2 : "Mechanical lock error" + // 3 : "Full failure" + uint8_t DocSL_Error_Stat : 2; // Bits= 2 + + // Current doc station absolute tilt angle 0 - 255 (0x0-0xFF) + uint8_t DocSL_TabletTilt_Val; // Bits= 8 + +#else + + // Ejection buttons pressing status + // 0 : "Ejection buttons not pressed" + // 1 : "Ejection button pressed" + uint8_t DocSL_EjectButtons_Stat; // Bits= 1 + + // Upper tilt limit reaching status + // 0 : "Upper limit not reached" + // 1 : "Upper limit reached" + uint8_t DocSL_TiltLimitUpper_Stat; // Bits= 1 + + // Lower tilt limit reaching status + // 0 : "Lower limit not reached" + // 1 : "Lower limit reached" + uint8_t DocSL_TiltLimitLower_Stat; // Bits= 1 + + // Status DocSR_T_FL missing or present LIN communications + // 1 : "Present" + // 0 : "Missing" + uint8_t DocSL_T_Availability_Stat; // Bits= 1 + + // Mechanical lock status + // 0 : "Unlocked" + // 1 : "Transition" + // 2 : "Locked" + uint8_t DocSL_MechLock_Stat; // Bits= 2 + + // System error status 0 - No error 1 - Electrical current limit reached 2 - Mechanical lock error 3 - More than 1 failures + // 0 : "No error" + // 1 : "Barrier or pinch detected" + // 2 : "Mechanical lock error" + // 3 : "Full failure" + uint8_t DocSL_Error_Stat; // Bits= 2 + + // Current doc station absolute tilt angle 0 - 255 (0x0-0xFF) + uint8_t DocSL_TabletTilt_Val; // Bits= 8 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} DocSL_T_FL_t; + +// def @DocSR_T_FR CAN Message (1237 0x4d5) +#define DocSR_T_FR_IDE (0U) +#define DocSR_T_FR_DLC (3U) +#define DocSR_T_FR_CANID (0x4d5U) + +// Value tables for @DocSR_EjectButtons_Stat signal + +#ifndef DocSR_EjectButtons_Stat_DocSR_T_FR_Ejection_buttons_not_pressed +#define DocSR_EjectButtons_Stat_DocSR_T_FR_Ejection_buttons_not_pressed (0) +#endif + +#ifndef DocSR_EjectButtons_Stat_DocSR_T_FR_Ejection_button_pressed +#define DocSR_EjectButtons_Stat_DocSR_T_FR_Ejection_button_pressed (1) +#endif + + +// Value tables for @DocSR_TiltLimitUpper_Stat signal + +#ifndef DocSR_TiltLimitUpper_Stat_DocSR_T_FR_Upper_limit_not_reached +#define DocSR_TiltLimitUpper_Stat_DocSR_T_FR_Upper_limit_not_reached (0) +#endif + +#ifndef DocSR_TiltLimitUpper_Stat_DocSR_T_FR_Upper_limit_reached +#define DocSR_TiltLimitUpper_Stat_DocSR_T_FR_Upper_limit_reached (1) +#endif + + +// Value tables for @DocSR_TiltLimitLower_Stat signal + +#ifndef DocSR_TiltLimitLower_Stat_DocSR_T_FR_Lower_limit_not_reached +#define DocSR_TiltLimitLower_Stat_DocSR_T_FR_Lower_limit_not_reached (0) +#endif + +#ifndef DocSR_TiltLimitLower_Stat_DocSR_T_FR_Lower_limit_reached +#define DocSR_TiltLimitLower_Stat_DocSR_T_FR_Lower_limit_reached (1) +#endif + + +// Value tables for @DocSR_T_Availability_Stat signal + +#ifndef DocSR_T_Availability_Stat_DocSR_T_FR_Missing +#define DocSR_T_Availability_Stat_DocSR_T_FR_Missing (0) +#endif + +#ifndef DocSR_T_Availability_Stat_DocSR_T_FR_Present +#define DocSR_T_Availability_Stat_DocSR_T_FR_Present (1) +#endif + + +// Value tables for @DocSR_MechLock_Stat signal + +#ifndef DocSR_MechLock_Stat_DocSR_T_FR_Unlocked +#define DocSR_MechLock_Stat_DocSR_T_FR_Unlocked (0) +#endif + +#ifndef DocSR_MechLock_Stat_DocSR_T_FR_Transition +#define DocSR_MechLock_Stat_DocSR_T_FR_Transition (1) +#endif + +#ifndef DocSR_MechLock_Stat_DocSR_T_FR_Locked +#define DocSR_MechLock_Stat_DocSR_T_FR_Locked (2) +#endif + + +// Value tables for @DocSR_Error_Stat signal + +#ifndef DocSR_Error_Stat_DocSR_T_FR_No_error +#define DocSR_Error_Stat_DocSR_T_FR_No_error (0) +#endif + +#ifndef DocSR_Error_Stat_DocSR_T_FR_Barrier_or_pinch_detected +#define DocSR_Error_Stat_DocSR_T_FR_Barrier_or_pinch_detected (1) +#endif + +#ifndef DocSR_Error_Stat_DocSR_T_FR_Mechanical_lock_error +#define DocSR_Error_Stat_DocSR_T_FR_Mechanical_lock_error (2) +#endif + +#ifndef DocSR_Error_Stat_DocSR_T_FR_Full_failure +#define DocSR_Error_Stat_DocSR_T_FR_Full_failure (3) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Ejection buttons pressing status + // 0 : "Ejection buttons not pressed" + // 1 : "Ejection button pressed" + uint8_t DocSR_EjectButtons_Stat : 1; // Bits= 1 + + // Upper tilt limit reaching status + // 0 : "Upper limit not reached" + // 1 : "Upper limit reached" + uint8_t DocSR_TiltLimitUpper_Stat : 1; // Bits= 1 + + // Lower tilt limit reaching status + // 0 : "Lower limit not reached" + // 1 : "Lower limit reached" + uint8_t DocSR_TiltLimitLower_Stat : 1; // Bits= 1 + + // Status DocSL_T_FL missing or present LIN communications + // 0 : "Missing" + // 1 : "Present" + uint8_t DocSR_T_Availability_Stat : 1; // Bits= 1 + + // Mechanical lock status + // 0 : "Unlocked" + // 1 : "Transition" + // 2 : "Locked" + uint8_t DocSR_MechLock_Stat : 2; // Bits= 2 + + // System error status 0 - No error 1 - Electrical current limit reached 2 - Mechanical lock error 3 - More than 1 failures + // 0 : "No error" + // 1 : "Barrier or pinch detected" + // 2 : "Mechanical lock error" + // 3 : "Full failure" + uint8_t DocSR_Error_Stat : 2; // Bits= 2 + + // Current doc station absolute tilt angle 0 - 255 (0x0-0xFF) + uint8_t DocSR_TabletTilt_Val; // Bits= 8 + +#else + + // Ejection buttons pressing status + // 0 : "Ejection buttons not pressed" + // 1 : "Ejection button pressed" + uint8_t DocSR_EjectButtons_Stat; // Bits= 1 + + // Upper tilt limit reaching status + // 0 : "Upper limit not reached" + // 1 : "Upper limit reached" + uint8_t DocSR_TiltLimitUpper_Stat; // Bits= 1 + + // Lower tilt limit reaching status + // 0 : "Lower limit not reached" + // 1 : "Lower limit reached" + uint8_t DocSR_TiltLimitLower_Stat; // Bits= 1 + + // Status DocSL_T_FL missing or present LIN communications + // 0 : "Missing" + // 1 : "Present" + uint8_t DocSR_T_Availability_Stat; // Bits= 1 + + // Mechanical lock status + // 0 : "Unlocked" + // 1 : "Transition" + // 2 : "Locked" + uint8_t DocSR_MechLock_Stat; // Bits= 2 + + // System error status 0 - No error 1 - Electrical current limit reached 2 - Mechanical lock error 3 - More than 1 failures + // 0 : "No error" + // 1 : "Barrier or pinch detected" + // 2 : "Mechanical lock error" + // 3 : "Full failure" + uint8_t DocSR_Error_Stat; // Bits= 2 + + // Current doc station absolute tilt angle 0 - 255 (0x0-0xFF) + uint8_t DocSR_TabletTilt_Val; // Bits= 8 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} DocSR_T_FR_t; + +// def @VAU_TPMS_Msg CAN Message (1264 0x4f0) +#define VAU_TPMS_Msg_IDE (0U) +#define VAU_TPMS_Msg_DLC (8U) +#define VAU_TPMS_Msg_CANID (0x4f0U) +#define VAU_TPMS_Msg_CYC (1000U) + +// Value tables for @VAU_TPMS_TireLocation signal + +#ifndef VAU_TPMS_TireLocation_VAU_TPMS_Msg_Rear_Right_tyre +#define VAU_TPMS_TireLocation_VAU_TPMS_Msg_Rear_Right_tyre (19) +#endif + +#ifndef VAU_TPMS_TireLocation_VAU_TPMS_Msg_Rear_Left_tyre +#define VAU_TPMS_TireLocation_VAU_TPMS_Msg_Rear_Left_tyre (16) +#endif + +#ifndef VAU_TPMS_TireLocation_VAU_TPMS_Msg_Front_Right_tyre +#define VAU_TPMS_TireLocation_VAU_TPMS_Msg_Front_Right_tyre (3) +#endif + +#ifndef VAU_TPMS_TireLocation_VAU_TPMS_Msg_Front_Left_tyre +#define VAU_TPMS_TireLocation_VAU_TPMS_Msg_Front_Left_tyre (0) +#endif + +// signal: @VAU_TPMS_TirePressureRR_ro +#define CANDB_VAU_TPMS_TirePressureRR_ro_CovFactor (5) +#define CANDB_VAU_TPMS_TirePressureRR_ro_toS(x) ( (uint8_t) ((x) / (5)) ) +#define CANDB_VAU_TPMS_TirePressureRR_ro_fromS(x) ( ((x) * (5)) ) +// signal: @VAU_TPMS_TirePressureRL_ro +#define CANDB_VAU_TPMS_TirePressureRL_ro_CovFactor (5) +#define CANDB_VAU_TPMS_TirePressureRL_ro_toS(x) ( (uint8_t) ((x) / (5)) ) +#define CANDB_VAU_TPMS_TirePressureRL_ro_fromS(x) ( ((x) * (5)) ) +// signal: @VAU_TPMS_TirePressureFR_ro +#define CANDB_VAU_TPMS_TirePressureFR_ro_CovFactor (5) +#define CANDB_VAU_TPMS_TirePressureFR_ro_toS(x) ( (uint8_t) ((x) / (5)) ) +#define CANDB_VAU_TPMS_TirePressureFR_ro_fromS(x) ( ((x) * (5)) ) +// signal: @VAU_TPMS_TirePressureFL_ro +#define CANDB_VAU_TPMS_TirePressureFL_ro_CovFactor (5) +#define CANDB_VAU_TPMS_TirePressureFL_ro_toS(x) ( (uint8_t) ((x) / (5)) ) +#define CANDB_VAU_TPMS_TirePressureFL_ro_fromS(x) ( ((x) * (5)) ) +// signal: @VAU_TPMS_SensorTemperatureRR_ro +#define CANDB_VAU_TPMS_SensorTemperatureRR_ro_CovFactor (1) +#define CANDB_VAU_TPMS_SensorTemperatureRR_ro_toS(x) ( (uint8_t) ((x) - (-50)) ) +#define CANDB_VAU_TPMS_SensorTemperatureRR_ro_fromS(x) ( ((x) + (-50)) ) +// signal: @VAU_TPMS_SensorTemperatureRL_ro +#define CANDB_VAU_TPMS_SensorTemperatureRL_ro_CovFactor (1) +#define CANDB_VAU_TPMS_SensorTemperatureRL_ro_toS(x) ( (uint8_t) ((x) - (-50)) ) +#define CANDB_VAU_TPMS_SensorTemperatureRL_ro_fromS(x) ( ((x) + (-50)) ) +// signal: @VAU_TPMS_SensorTemperatureFR_ro +#define CANDB_VAU_TPMS_SensorTemperatureFR_ro_CovFactor (1) +#define CANDB_VAU_TPMS_SensorTemperatureFR_ro_toS(x) ( (uint8_t) ((x) - (-50)) ) +#define CANDB_VAU_TPMS_SensorTemperatureFR_ro_fromS(x) ( ((x) + (-50)) ) +// signal: @VAU_TPMS_SensorTemperatureFL_ro +#define CANDB_VAU_TPMS_SensorTemperatureFL_ro_CovFactor (1) +#define CANDB_VAU_TPMS_SensorTemperatureFL_ro_toS(x) ( (uint8_t) ((x) - (-50)) ) +#define CANDB_VAU_TPMS_SensorTemperatureFL_ro_fromS(x) ( ((x) + (-50)) ) + +// Value tables for @VAU_TPMS_PressureSetSuccessRL signal + +#ifndef VAU_TPMS_PressureSetSuccessRL_VAU_TPMS_Msg_Pressure_set +#define VAU_TPMS_PressureSetSuccessRL_VAU_TPMS_Msg_Pressure_set (1) +#endif + +#ifndef VAU_TPMS_PressureSetSuccessRL_VAU_TPMS_Msg_No_change +#define VAU_TPMS_PressureSetSuccessRL_VAU_TPMS_Msg_No_change (0) +#endif + + +// Value tables for @VAU_TPMS_PressureSetSuccessFL signal + +#ifndef VAU_TPMS_PressureSetSuccessFL_VAU_TPMS_Msg_Pressure_set +#define VAU_TPMS_PressureSetSuccessFL_VAU_TPMS_Msg_Pressure_set (1) +#endif + +#ifndef VAU_TPMS_PressureSetSuccessFL_VAU_TPMS_Msg_No_change +#define VAU_TPMS_PressureSetSuccessFL_VAU_TPMS_Msg_No_change (0) +#endif + + +// Value tables for @VAU_TPMS_PressureSetSuccessRR signal + +#ifndef VAU_TPMS_PressureSetSuccessRR_VAU_TPMS_Msg_Pressure_set +#define VAU_TPMS_PressureSetSuccessRR_VAU_TPMS_Msg_Pressure_set (1) +#endif + +#ifndef VAU_TPMS_PressureSetSuccessRR_VAU_TPMS_Msg_No_change +#define VAU_TPMS_PressureSetSuccessRR_VAU_TPMS_Msg_No_change (0) +#endif + + +// Value tables for @VAU_TPMS_PressureSetSuccessFR signal + +#ifndef VAU_TPMS_PressureSetSuccessFR_VAU_TPMS_Msg_Pressure_set +#define VAU_TPMS_PressureSetSuccessFR_VAU_TPMS_Msg_Pressure_set (1) +#endif + +#ifndef VAU_TPMS_PressureSetSuccessFR_VAU_TPMS_Msg_No_change +#define VAU_TPMS_PressureSetSuccessFR_VAU_TPMS_Msg_No_change (0) +#endif + + +// Value tables for @VAU_TPMS_PressureSetSensorErrFR signal + +#ifndef VAU_TPMS_PressureSetSensorErrFR_VAU_TPMS_Msg_Pressure_not_set +#define VAU_TPMS_PressureSetSensorErrFR_VAU_TPMS_Msg_Pressure_not_set (1) +#endif + +#ifndef VAU_TPMS_PressureSetSensorErrFR_VAU_TPMS_Msg_No_change +#define VAU_TPMS_PressureSetSensorErrFR_VAU_TPMS_Msg_No_change (0) +#endif + + +// Value tables for @VAU_TPMS_PressureSetSensorErrFL signal + +#ifndef VAU_TPMS_PressureSetSensorErrFL_VAU_TPMS_Msg_Pressure_not_set +#define VAU_TPMS_PressureSetSensorErrFL_VAU_TPMS_Msg_Pressure_not_set (1) +#endif + +#ifndef VAU_TPMS_PressureSetSensorErrFL_VAU_TPMS_Msg_No_change +#define VAU_TPMS_PressureSetSensorErrFL_VAU_TPMS_Msg_No_change (0) +#endif + + +// Value tables for @VAU_TPMS_PressureSetSensorErrRL signal + +#ifndef VAU_TPMS_PressureSetSensorErrRL_VAU_TPMS_Msg_Pressure_not_set +#define VAU_TPMS_PressureSetSensorErrRL_VAU_TPMS_Msg_Pressure_not_set (1) +#endif + +#ifndef VAU_TPMS_PressureSetSensorErrRL_VAU_TPMS_Msg_No_change +#define VAU_TPMS_PressureSetSensorErrRL_VAU_TPMS_Msg_No_change (0) +#endif + + +// Value tables for @VAU_TPMS_PressureSetSensorErrRR signal + +#ifndef VAU_TPMS_PressureSetSensorErrRR_VAU_TPMS_Msg_Pressure_not_set +#define VAU_TPMS_PressureSetSensorErrRR_VAU_TPMS_Msg_Pressure_not_set (1) +#endif + +#ifndef VAU_TPMS_PressureSetSensorErrRR_VAU_TPMS_Msg_No_change +#define VAU_TPMS_PressureSetSensorErrRR_VAU_TPMS_Msg_No_change (0) +#endif + + +// Value tables for @VAU_TPMS_PressureSetErrFR signal + +#ifndef VAU_TPMS_PressureSetErrFR_VAU_TPMS_Msg_Pressure_not_set +#define VAU_TPMS_PressureSetErrFR_VAU_TPMS_Msg_Pressure_not_set (1) +#endif + +#ifndef VAU_TPMS_PressureSetErrFR_VAU_TPMS_Msg_No_change +#define VAU_TPMS_PressureSetErrFR_VAU_TPMS_Msg_No_change (0) +#endif + + +// Value tables for @VAU_TPMS_PressureSetErrRL signal + +#ifndef VAU_TPMS_PressureSetErrRL_VAU_TPMS_Msg_Pressure_not_set +#define VAU_TPMS_PressureSetErrRL_VAU_TPMS_Msg_Pressure_not_set (1) +#endif + +#ifndef VAU_TPMS_PressureSetErrRL_VAU_TPMS_Msg_No_change +#define VAU_TPMS_PressureSetErrRL_VAU_TPMS_Msg_No_change (0) +#endif + + +// Value tables for @VAU_TPMS_PressureSetErrFL signal + +#ifndef VAU_TPMS_PressureSetErrFL_VAU_TPMS_Msg_Pressure_not_set +#define VAU_TPMS_PressureSetErrFL_VAU_TPMS_Msg_Pressure_not_set (1) +#endif + +#ifndef VAU_TPMS_PressureSetErrFL_VAU_TPMS_Msg_No_change +#define VAU_TPMS_PressureSetErrFL_VAU_TPMS_Msg_No_change (0) +#endif + + +// Value tables for @VAU_TPMS_PressureSetErrRR signal + +#ifndef VAU_TPMS_PressureSetErrRR_VAU_TPMS_Msg_Pressure_not_set +#define VAU_TPMS_PressureSetErrRR_VAU_TPMS_Msg_Pressure_not_set (1) +#endif + +#ifndef VAU_TPMS_PressureSetErrRR_VAU_TPMS_Msg_No_change +#define VAU_TPMS_PressureSetErrRR_VAU_TPMS_Msg_No_change (0) +#endif + + +// Value tables for @VAU_TPMS_BatteryStatusRL signal + +#ifndef VAU_TPMS_BatteryStatusRL_VAU_TPMS_Msg_Low_Battery_Level +#define VAU_TPMS_BatteryStatusRL_VAU_TPMS_Msg_Low_Battery_Level (1) +#endif + +#ifndef VAU_TPMS_BatteryStatusRL_VAU_TPMS_Msg_Normal_Battery_Level +#define VAU_TPMS_BatteryStatusRL_VAU_TPMS_Msg_Normal_Battery_Level (0) +#endif + + +// Value tables for @VAU_TPMS_BatteryStatusRR signal + +#ifndef VAU_TPMS_BatteryStatusRR_VAU_TPMS_Msg_Low_Battery_Level +#define VAU_TPMS_BatteryStatusRR_VAU_TPMS_Msg_Low_Battery_Level (1) +#endif + +#ifndef VAU_TPMS_BatteryStatusRR_VAU_TPMS_Msg_Normal_Battery_Level +#define VAU_TPMS_BatteryStatusRR_VAU_TPMS_Msg_Normal_Battery_Level (0) +#endif + + +// Value tables for @VAU_TPMS_BatteryStatusFL signal + +#ifndef VAU_TPMS_BatteryStatusFL_VAU_TPMS_Msg_Low_Battery_Level +#define VAU_TPMS_BatteryStatusFL_VAU_TPMS_Msg_Low_Battery_Level (1) +#endif + +#ifndef VAU_TPMS_BatteryStatusFL_VAU_TPMS_Msg_Normal_Battery_Level +#define VAU_TPMS_BatteryStatusFL_VAU_TPMS_Msg_Normal_Battery_Level (0) +#endif + + +// Value tables for @VAU_TPMS_BatteryStatusFR signal + +#ifndef VAU_TPMS_BatteryStatusFR_VAU_TPMS_Msg_Low_Battery_Level +#define VAU_TPMS_BatteryStatusFR_VAU_TPMS_Msg_Low_Battery_Level (1) +#endif + +#ifndef VAU_TPMS_BatteryStatusFR_VAU_TPMS_Msg_Normal_Battery_Level +#define VAU_TPMS_BatteryStatusFR_VAU_TPMS_Msg_Normal_Battery_Level (0) +#endif + + +// Value tables for @VAU_TPMS_SensorEmissionCauseFL signal + +#ifndef VAU_TPMS_SensorEmissionCauseFL_VAU_TPMS_Msg_Mode_Entry +#define VAU_TPMS_SensorEmissionCauseFL_VAU_TPMS_Msg_Mode_Entry (3) +#endif + +#ifndef VAU_TPMS_SensorEmissionCauseFL_VAU_TPMS_Msg_Data_Pressure +#define VAU_TPMS_SensorEmissionCauseFL_VAU_TPMS_Msg_Data_Pressure (2) +#endif + +#ifndef VAU_TPMS_SensorEmissionCauseFL_VAU_TPMS_Msg_LF_Command +#define VAU_TPMS_SensorEmissionCauseFL_VAU_TPMS_Msg_LF_Command (1) +#endif + +#ifndef VAU_TPMS_SensorEmissionCauseFL_VAU_TPMS_Msg_Regular_Emission +#define VAU_TPMS_SensorEmissionCauseFL_VAU_TPMS_Msg_Regular_Emission (0) +#endif + + +// Value tables for @VAU_TPMS_SensorEmissionCauseRR signal + +#ifndef VAU_TPMS_SensorEmissionCauseRR_VAU_TPMS_Msg_Mode_Entry +#define VAU_TPMS_SensorEmissionCauseRR_VAU_TPMS_Msg_Mode_Entry (3) +#endif + +#ifndef VAU_TPMS_SensorEmissionCauseRR_VAU_TPMS_Msg_Data_Pressure +#define VAU_TPMS_SensorEmissionCauseRR_VAU_TPMS_Msg_Data_Pressure (2) +#endif + +#ifndef VAU_TPMS_SensorEmissionCauseRR_VAU_TPMS_Msg_LF_Command +#define VAU_TPMS_SensorEmissionCauseRR_VAU_TPMS_Msg_LF_Command (1) +#endif + +#ifndef VAU_TPMS_SensorEmissionCauseRR_VAU_TPMS_Msg_Regular_Emission +#define VAU_TPMS_SensorEmissionCauseRR_VAU_TPMS_Msg_Regular_Emission (0) +#endif + + +// Value tables for @VAU_TPMS_SensorEmissionCauseRL signal + +#ifndef VAU_TPMS_SensorEmissionCauseRL_VAU_TPMS_Msg_Mode_Entry +#define VAU_TPMS_SensorEmissionCauseRL_VAU_TPMS_Msg_Mode_Entry (3) +#endif + +#ifndef VAU_TPMS_SensorEmissionCauseRL_VAU_TPMS_Msg_Data_Pressure +#define VAU_TPMS_SensorEmissionCauseRL_VAU_TPMS_Msg_Data_Pressure (2) +#endif + +#ifndef VAU_TPMS_SensorEmissionCauseRL_VAU_TPMS_Msg_LF_Command +#define VAU_TPMS_SensorEmissionCauseRL_VAU_TPMS_Msg_LF_Command (1) +#endif + +#ifndef VAU_TPMS_SensorEmissionCauseRL_VAU_TPMS_Msg_Regular_Emission +#define VAU_TPMS_SensorEmissionCauseRL_VAU_TPMS_Msg_Regular_Emission (0) +#endif + + +// Value tables for @VAU_TPMS_SensorEmissionCauseFR signal + +#ifndef VAU_TPMS_SensorEmissionCauseFR_VAU_TPMS_Msg_Mode_Entry +#define VAU_TPMS_SensorEmissionCauseFR_VAU_TPMS_Msg_Mode_Entry (3) +#endif + +#ifndef VAU_TPMS_SensorEmissionCauseFR_VAU_TPMS_Msg_Data_Pressure +#define VAU_TPMS_SensorEmissionCauseFR_VAU_TPMS_Msg_Data_Pressure (2) +#endif + +#ifndef VAU_TPMS_SensorEmissionCauseFR_VAU_TPMS_Msg_LF_Command +#define VAU_TPMS_SensorEmissionCauseFR_VAU_TPMS_Msg_LF_Command (1) +#endif + +#ifndef VAU_TPMS_SensorEmissionCauseFR_VAU_TPMS_Msg_Regular_Emission +#define VAU_TPMS_SensorEmissionCauseFR_VAU_TPMS_Msg_Regular_Emission (0) +#endif + + +// Value tables for @VAU_TPMS_SensorOperationModeRR signal + +#ifndef VAU_TPMS_SensorOperationModeRR_VAU_TPMS_Msg_Ship +#define VAU_TPMS_SensorOperationModeRR_VAU_TPMS_Msg_Ship (3) +#endif + +#ifndef VAU_TPMS_SensorOperationModeRR_VAU_TPMS_Msg_Test +#define VAU_TPMS_SensorOperationModeRR_VAU_TPMS_Msg_Test (2) +#endif + +#ifndef VAU_TPMS_SensorOperationModeRR_VAU_TPMS_Msg_Park +#define VAU_TPMS_SensorOperationModeRR_VAU_TPMS_Msg_Park (1) +#endif + +#ifndef VAU_TPMS_SensorOperationModeRR_VAU_TPMS_Msg_Drive +#define VAU_TPMS_SensorOperationModeRR_VAU_TPMS_Msg_Drive (0) +#endif + + +// Value tables for @VAU_TPMS_SensorOperationModeRL signal + +#ifndef VAU_TPMS_SensorOperationModeRL_VAU_TPMS_Msg_Ship +#define VAU_TPMS_SensorOperationModeRL_VAU_TPMS_Msg_Ship (3) +#endif + +#ifndef VAU_TPMS_SensorOperationModeRL_VAU_TPMS_Msg_Test +#define VAU_TPMS_SensorOperationModeRL_VAU_TPMS_Msg_Test (2) +#endif + +#ifndef VAU_TPMS_SensorOperationModeRL_VAU_TPMS_Msg_Park +#define VAU_TPMS_SensorOperationModeRL_VAU_TPMS_Msg_Park (1) +#endif + +#ifndef VAU_TPMS_SensorOperationModeRL_VAU_TPMS_Msg_Drive +#define VAU_TPMS_SensorOperationModeRL_VAU_TPMS_Msg_Drive (0) +#endif + + +// Value tables for @VAU_TPMS_SensorOperationModeFR signal + +#ifndef VAU_TPMS_SensorOperationModeFR_VAU_TPMS_Msg_Ship +#define VAU_TPMS_SensorOperationModeFR_VAU_TPMS_Msg_Ship (3) +#endif + +#ifndef VAU_TPMS_SensorOperationModeFR_VAU_TPMS_Msg_Test +#define VAU_TPMS_SensorOperationModeFR_VAU_TPMS_Msg_Test (2) +#endif + +#ifndef VAU_TPMS_SensorOperationModeFR_VAU_TPMS_Msg_Park +#define VAU_TPMS_SensorOperationModeFR_VAU_TPMS_Msg_Park (1) +#endif + +#ifndef VAU_TPMS_SensorOperationModeFR_VAU_TPMS_Msg_Drive +#define VAU_TPMS_SensorOperationModeFR_VAU_TPMS_Msg_Drive (0) +#endif + + +// Value tables for @VAU_TPMS_SensorOperationModeFL signal + +#ifndef VAU_TPMS_SensorOperationModeFL_VAU_TPMS_Msg_Ship +#define VAU_TPMS_SensorOperationModeFL_VAU_TPMS_Msg_Ship (3) +#endif + +#ifndef VAU_TPMS_SensorOperationModeFL_VAU_TPMS_Msg_Test +#define VAU_TPMS_SensorOperationModeFL_VAU_TPMS_Msg_Test (2) +#endif + +#ifndef VAU_TPMS_SensorOperationModeFL_VAU_TPMS_Msg_Park +#define VAU_TPMS_SensorOperationModeFL_VAU_TPMS_Msg_Park (1) +#endif + +#ifndef VAU_TPMS_SensorOperationModeFL_VAU_TPMS_Msg_Drive +#define VAU_TPMS_SensorOperationModeFL_VAU_TPMS_Msg_Drive (0) +#endif + + +// Value tables for @VAU_TPMS_TirePressureFaultRL signal + +#ifndef VAU_TPMS_TirePressureFaultRL_VAU_TPMS_Msg_No_fault +#define VAU_TPMS_TirePressureFaultRL_VAU_TPMS_Msg_No_fault (7) +#endif + +#ifndef VAU_TPMS_TirePressureFaultRL_VAU_TPMS_Msg_Pressure_acquistion_error +#define VAU_TPMS_TirePressureFaultRL_VAU_TPMS_Msg_Pressure_acquistion_error (6) +#endif + +#ifndef VAU_TPMS_TirePressureFaultRL_VAU_TPMS_Msg_No_fault +#define VAU_TPMS_TirePressureFaultRL_VAU_TPMS_Msg_No_fault (5) +#endif + +#ifndef VAU_TPMS_TirePressureFaultRL_VAU_TPMS_Msg_Low_Pressure_Alert +#define VAU_TPMS_TirePressureFaultRL_VAU_TPMS_Msg_Low_Pressure_Alert (4) +#endif + +#ifndef VAU_TPMS_TirePressureFaultRL_VAU_TPMS_Msg_Low_Pressure_Warning +#define VAU_TPMS_TirePressureFaultRL_VAU_TPMS_Msg_Low_Pressure_Warning (3) +#endif + +#ifndef VAU_TPMS_TirePressureFaultRL_VAU_TPMS_Msg_No_Pressure_warning +#define VAU_TPMS_TirePressureFaultRL_VAU_TPMS_Msg_No_Pressure_warning (2) +#endif + +#ifndef VAU_TPMS_TirePressureFaultRL_VAU_TPMS_Msg_High_Pressure_Warning +#define VAU_TPMS_TirePressureFaultRL_VAU_TPMS_Msg_High_Pressure_Warning (1) +#endif + +#ifndef VAU_TPMS_TirePressureFaultRL_VAU_TPMS_Msg_No_fault +#define VAU_TPMS_TirePressureFaultRL_VAU_TPMS_Msg_No_fault (0) +#endif + + +// Value tables for @VAU_TPMS_TirePressureFaultFR signal + +#ifndef VAU_TPMS_TirePressureFaultFR_VAU_TPMS_Msg_No_fault +#define VAU_TPMS_TirePressureFaultFR_VAU_TPMS_Msg_No_fault (7) +#endif + +#ifndef VAU_TPMS_TirePressureFaultFR_VAU_TPMS_Msg_Pressure_acquistion_error +#define VAU_TPMS_TirePressureFaultFR_VAU_TPMS_Msg_Pressure_acquistion_error (6) +#endif + +#ifndef VAU_TPMS_TirePressureFaultFR_VAU_TPMS_Msg_No_fault +#define VAU_TPMS_TirePressureFaultFR_VAU_TPMS_Msg_No_fault (5) +#endif + +#ifndef VAU_TPMS_TirePressureFaultFR_VAU_TPMS_Msg_Low_Pressure_Alert +#define VAU_TPMS_TirePressureFaultFR_VAU_TPMS_Msg_Low_Pressure_Alert (4) +#endif + +#ifndef VAU_TPMS_TirePressureFaultFR_VAU_TPMS_Msg_Low_Pressure_Warning +#define VAU_TPMS_TirePressureFaultFR_VAU_TPMS_Msg_Low_Pressure_Warning (3) +#endif + +#ifndef VAU_TPMS_TirePressureFaultFR_VAU_TPMS_Msg_No_Pressure_warning +#define VAU_TPMS_TirePressureFaultFR_VAU_TPMS_Msg_No_Pressure_warning (2) +#endif + +#ifndef VAU_TPMS_TirePressureFaultFR_VAU_TPMS_Msg_High_Pressure_Warning +#define VAU_TPMS_TirePressureFaultFR_VAU_TPMS_Msg_High_Pressure_Warning (1) +#endif + +#ifndef VAU_TPMS_TirePressureFaultFR_VAU_TPMS_Msg_No_fault +#define VAU_TPMS_TirePressureFaultFR_VAU_TPMS_Msg_No_fault (0) +#endif + + +// Value tables for @VAU_TPMS_TirePressureFaultFL signal + +#ifndef VAU_TPMS_TirePressureFaultFL_VAU_TPMS_Msg_No_fault +#define VAU_TPMS_TirePressureFaultFL_VAU_TPMS_Msg_No_fault (7) +#endif + +#ifndef VAU_TPMS_TirePressureFaultFL_VAU_TPMS_Msg_Pressure_acquistion_error +#define VAU_TPMS_TirePressureFaultFL_VAU_TPMS_Msg_Pressure_acquistion_error (6) +#endif + +#ifndef VAU_TPMS_TirePressureFaultFL_VAU_TPMS_Msg_No_fault +#define VAU_TPMS_TirePressureFaultFL_VAU_TPMS_Msg_No_fault (5) +#endif + +#ifndef VAU_TPMS_TirePressureFaultFL_VAU_TPMS_Msg_Low_Pressure_Alert +#define VAU_TPMS_TirePressureFaultFL_VAU_TPMS_Msg_Low_Pressure_Alert (4) +#endif + +#ifndef VAU_TPMS_TirePressureFaultFL_VAU_TPMS_Msg_Low_Pressure_Warning +#define VAU_TPMS_TirePressureFaultFL_VAU_TPMS_Msg_Low_Pressure_Warning (3) +#endif + +#ifndef VAU_TPMS_TirePressureFaultFL_VAU_TPMS_Msg_No_Pressure_warning +#define VAU_TPMS_TirePressureFaultFL_VAU_TPMS_Msg_No_Pressure_warning (2) +#endif + +#ifndef VAU_TPMS_TirePressureFaultFL_VAU_TPMS_Msg_High_Pressure_Warning +#define VAU_TPMS_TirePressureFaultFL_VAU_TPMS_Msg_High_Pressure_Warning (1) +#endif + +#ifndef VAU_TPMS_TirePressureFaultFL_VAU_TPMS_Msg_No_fault +#define VAU_TPMS_TirePressureFaultFL_VAU_TPMS_Msg_No_fault (0) +#endif + + +// Value tables for @VAU_TPMS_TirePressureFaultRR signal + +#ifndef VAU_TPMS_TirePressureFaultRR_VAU_TPMS_Msg_No_fault +#define VAU_TPMS_TirePressureFaultRR_VAU_TPMS_Msg_No_fault (7) +#endif + +#ifndef VAU_TPMS_TirePressureFaultRR_VAU_TPMS_Msg_Pressure_acquistion_error +#define VAU_TPMS_TirePressureFaultRR_VAU_TPMS_Msg_Pressure_acquistion_error (6) +#endif + +#ifndef VAU_TPMS_TirePressureFaultRR_VAU_TPMS_Msg_No_fault +#define VAU_TPMS_TirePressureFaultRR_VAU_TPMS_Msg_No_fault (5) +#endif + +#ifndef VAU_TPMS_TirePressureFaultRR_VAU_TPMS_Msg_Low_Pressure_Alert +#define VAU_TPMS_TirePressureFaultRR_VAU_TPMS_Msg_Low_Pressure_Alert (4) +#endif + +#ifndef VAU_TPMS_TirePressureFaultRR_VAU_TPMS_Msg_Low_Pressure_Warning +#define VAU_TPMS_TirePressureFaultRR_VAU_TPMS_Msg_Low_Pressure_Warning (3) +#endif + +#ifndef VAU_TPMS_TirePressureFaultRR_VAU_TPMS_Msg_No_Pressure_warning +#define VAU_TPMS_TirePressureFaultRR_VAU_TPMS_Msg_No_Pressure_warning (2) +#endif + +#ifndef VAU_TPMS_TirePressureFaultRR_VAU_TPMS_Msg_High_Pressure_Warning +#define VAU_TPMS_TirePressureFaultRR_VAU_TPMS_Msg_High_Pressure_Warning (1) +#endif + +#ifndef VAU_TPMS_TirePressureFaultRR_VAU_TPMS_Msg_No_fault +#define VAU_TPMS_TirePressureFaultRR_VAU_TPMS_Msg_No_fault (0) +#endif + + +// Value tables for @TPMS_SensorTempFaultFR signal + +#ifndef TPMS_SensorTempFaultFR_VAU_TPMS_Msg_Description_for_the_value_0x3 +#define TPMS_SensorTempFaultFR_VAU_TPMS_Msg_Description_for_the_value_0x3 (3) +#endif + +#ifndef TPMS_SensorTempFaultFR_VAU_TPMS_Msg_Description_for_the_value_0x2 +#define TPMS_SensorTempFaultFR_VAU_TPMS_Msg_Description_for_the_value_0x2 (2) +#endif + +#ifndef TPMS_SensorTempFaultFR_VAU_TPMS_Msg_No_Warning +#define TPMS_SensorTempFaultFR_VAU_TPMS_Msg_No_Warning (1) +#endif + +#ifndef TPMS_SensorTempFaultFR_VAU_TPMS_Msg_High_Temp +#define TPMS_SensorTempFaultFR_VAU_TPMS_Msg_High_Temp (0) +#endif + + +// Value tables for @TPMS_SensorTempFaultRR signal + +#ifndef TPMS_SensorTempFaultRR_VAU_TPMS_Msg_Description_for_the_value_0x3 +#define TPMS_SensorTempFaultRR_VAU_TPMS_Msg_Description_for_the_value_0x3 (3) +#endif + +#ifndef TPMS_SensorTempFaultRR_VAU_TPMS_Msg_Description_for_the_value_0x2 +#define TPMS_SensorTempFaultRR_VAU_TPMS_Msg_Description_for_the_value_0x2 (2) +#endif + +#ifndef TPMS_SensorTempFaultRR_VAU_TPMS_Msg_No_Warning +#define TPMS_SensorTempFaultRR_VAU_TPMS_Msg_No_Warning (1) +#endif + +#ifndef TPMS_SensorTempFaultRR_VAU_TPMS_Msg_High_Temp +#define TPMS_SensorTempFaultRR_VAU_TPMS_Msg_High_Temp (0) +#endif + + +// Value tables for @TPMS_SensorTempFaultFL signal + +#ifndef TPMS_SensorTempFaultFL_VAU_TPMS_Msg_Description_for_the_value_0x3 +#define TPMS_SensorTempFaultFL_VAU_TPMS_Msg_Description_for_the_value_0x3 (3) +#endif + +#ifndef TPMS_SensorTempFaultFL_VAU_TPMS_Msg_Description_for_the_value_0x2 +#define TPMS_SensorTempFaultFL_VAU_TPMS_Msg_Description_for_the_value_0x2 (2) +#endif + +#ifndef TPMS_SensorTempFaultFL_VAU_TPMS_Msg_No_Warning +#define TPMS_SensorTempFaultFL_VAU_TPMS_Msg_No_Warning (1) +#endif + +#ifndef TPMS_SensorTempFaultFL_VAU_TPMS_Msg_High_Temp +#define TPMS_SensorTempFaultFL_VAU_TPMS_Msg_High_Temp (0) +#endif + + +// Value tables for @TPMS_SensorTempFaultRL signal + +#ifndef TPMS_SensorTempFaultRL_VAU_TPMS_Msg_Description_for_the_value_0x3 +#define TPMS_SensorTempFaultRL_VAU_TPMS_Msg_Description_for_the_value_0x3 (3) +#endif + +#ifndef TPMS_SensorTempFaultRL_VAU_TPMS_Msg_Description_for_the_value_0x2 +#define TPMS_SensorTempFaultRL_VAU_TPMS_Msg_Description_for_the_value_0x2 (2) +#endif + +#ifndef TPMS_SensorTempFaultRL_VAU_TPMS_Msg_No_Warning +#define TPMS_SensorTempFaultRL_VAU_TPMS_Msg_No_Warning (1) +#endif + +#ifndef TPMS_SensorTempFaultRL_VAU_TPMS_Msg_High_Temp +#define TPMS_SensorTempFaultRL_VAU_TPMS_Msg_High_Temp (0) +#endif + + +// Value tables for @VAU_TPMS_SensorFaultFR signal + +#ifndef VAU_TPMS_SensorFaultFR_VAU_TPMS_Msg_An_acquision_failure_has_occured +#define VAU_TPMS_SensorFaultFR_VAU_TPMS_Msg_An_acquision_failure_has_occured (1) +#endif + +#ifndef VAU_TPMS_SensorFaultFR_VAU_TPMS_Msg_No_failure +#define VAU_TPMS_SensorFaultFR_VAU_TPMS_Msg_No_failure (0) +#endif + + +// Value tables for @VAU_TPMS_SensorFaultRR signal + +#ifndef VAU_TPMS_SensorFaultRR_VAU_TPMS_Msg_An_acquision_failure_has_occured +#define VAU_TPMS_SensorFaultRR_VAU_TPMS_Msg_An_acquision_failure_has_occured (1) +#endif + +#ifndef VAU_TPMS_SensorFaultRR_VAU_TPMS_Msg_No_failure +#define VAU_TPMS_SensorFaultRR_VAU_TPMS_Msg_No_failure (0) +#endif + + +// Value tables for @VAU_TPMS_SensorFaultRL signal + +#ifndef VAU_TPMS_SensorFaultRL_VAU_TPMS_Msg_An_acquision_failure_has_occured +#define VAU_TPMS_SensorFaultRL_VAU_TPMS_Msg_An_acquision_failure_has_occured (1) +#endif + +#ifndef VAU_TPMS_SensorFaultRL_VAU_TPMS_Msg_No_failure +#define VAU_TPMS_SensorFaultRL_VAU_TPMS_Msg_No_failure (0) +#endif + + +// Value tables for @VAU_TPMS_SensorFaultFL signal + +#ifndef VAU_TPMS_SensorFaultFL_VAU_TPMS_Msg_An_acquision_failure_has_occured +#define VAU_TPMS_SensorFaultFL_VAU_TPMS_Msg_An_acquision_failure_has_occured (1) +#endif + +#ifndef VAU_TPMS_SensorFaultFL_VAU_TPMS_Msg_No_failure +#define VAU_TPMS_SensorFaultFL_VAU_TPMS_Msg_No_failure (0) +#endif + + +// Value tables for @VAU_TPMS_SensorPresenceFR signal + +#ifndef VAU_TPMS_SensorPresenceFR_VAU_TPMS_Msg_Sensor_Absent +#define VAU_TPMS_SensorPresenceFR_VAU_TPMS_Msg_Sensor_Absent (1) +#endif + +#ifndef VAU_TPMS_SensorPresenceFR_VAU_TPMS_Msg_Sensor_Detect +#define VAU_TPMS_SensorPresenceFR_VAU_TPMS_Msg_Sensor_Detect (0) +#endif + + +// Value tables for @VAU_TPMS_SensorPresenceRL signal + +#ifndef VAU_TPMS_SensorPresenceRL_VAU_TPMS_Msg_Sensor_Absent +#define VAU_TPMS_SensorPresenceRL_VAU_TPMS_Msg_Sensor_Absent (1) +#endif + +#ifndef VAU_TPMS_SensorPresenceRL_VAU_TPMS_Msg_Sensor_Detect +#define VAU_TPMS_SensorPresenceRL_VAU_TPMS_Msg_Sensor_Detect (0) +#endif + + +// Value tables for @VAU_TPMS_SensorPresenceFL signal + +#ifndef VAU_TPMS_SensorPresenceFL_VAU_TPMS_Msg_Sensor_Absent +#define VAU_TPMS_SensorPresenceFL_VAU_TPMS_Msg_Sensor_Absent (1) +#endif + +#ifndef VAU_TPMS_SensorPresenceFL_VAU_TPMS_Msg_Sensor_Detect +#define VAU_TPMS_SensorPresenceFL_VAU_TPMS_Msg_Sensor_Detect (0) +#endif + + +// Value tables for @VAU_TPMS_SensorPresenceRR signal + +#ifndef VAU_TPMS_SensorPresenceRR_VAU_TPMS_Msg_Sensor_Absent +#define VAU_TPMS_SensorPresenceRR_VAU_TPMS_Msg_Sensor_Absent (1) +#endif + +#ifndef VAU_TPMS_SensorPresenceRR_VAU_TPMS_Msg_Sensor_Detect +#define VAU_TPMS_SensorPresenceRR_VAU_TPMS_Msg_Sensor_Detect (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // 19 : "Rear Right tyre" + // 16 : "Rear Left tyre" + // 3 : "Front Right tyre" + // 0 : "Front Left tyre" + // MULTIPLEX master signal + uint8_t VAU_TPMS_TireLocation; // Bits= 8 + + // Indicate the measured pressure in the tyre + // multiplex variable + uint8_t VAU_TPMS_TirePressureRR_ro; // Bits= 8 Factor= 5 Unit:'kPa' + +#ifdef CANDB_USE_SIGFLOAT + uint16_t VAU_TPMS_TirePressureRR_phys; +#endif // CANDB_USE_SIGFLOAT + + // Indicate the measured pressure in the tyre + // multiplex variable + uint8_t VAU_TPMS_TirePressureRL_ro; // Bits= 8 Factor= 5 Unit:'kPa' + +#ifdef CANDB_USE_SIGFLOAT + uint16_t VAU_TPMS_TirePressureRL_phys; +#endif // CANDB_USE_SIGFLOAT + + // Indicate the measured pressure in the tyre + // multiplex variable + uint8_t VAU_TPMS_TirePressureFR_ro; // Bits= 8 Factor= 5 Unit:'kPa' + +#ifdef CANDB_USE_SIGFLOAT + uint16_t VAU_TPMS_TirePressureFR_phys; +#endif // CANDB_USE_SIGFLOAT + + // Indicate the measured pressure in the tyre + // multiplex variable + uint8_t VAU_TPMS_TirePressureFL_ro; // Bits= 8 Factor= 5 Unit:'kPa' + +#ifdef CANDB_USE_SIGFLOAT + uint16_t VAU_TPMS_TirePressureFL_phys; +#endif // CANDB_USE_SIGFLOAT + + // RR wheel temperature + // multiplex variable + uint8_t VAU_TPMS_SensorTemperatureRR_ro; // Bits= 8 Offset= -50 Unit:'�C' + +#ifdef CANDB_USE_SIGFLOAT + int16_t VAU_TPMS_SensorTemperatureRR_phys; +#endif // CANDB_USE_SIGFLOAT + + // RL wheel temperature + // multiplex variable + uint8_t VAU_TPMS_SensorTemperatureRL_ro; // Bits= 8 Offset= -50 Unit:'�C' + +#ifdef CANDB_USE_SIGFLOAT + int16_t VAU_TPMS_SensorTemperatureRL_phys; +#endif // CANDB_USE_SIGFLOAT + + // FR wheel temperature + // multiplex variable + uint8_t VAU_TPMS_SensorTemperatureFR_ro; // Bits= 8 Offset= -50 Unit:'�C' + +#ifdef CANDB_USE_SIGFLOAT + int16_t VAU_TPMS_SensorTemperatureFR_phys; +#endif // CANDB_USE_SIGFLOAT + + // FL wheel temperature + // multiplex variable + uint8_t VAU_TPMS_SensorTemperatureFL_ro; // Bits= 8 Offset= -50 Unit:'�C' + +#ifdef CANDB_USE_SIGFLOAT + int16_t VAU_TPMS_SensorTemperatureFL_phys; +#endif // CANDB_USE_SIGFLOAT + + // New nominal pressure value has been set + // 1 : "Pressure set" + // 0 : "No change" + // multiplex variable + uint8_t VAU_TPMS_PressureSetSuccessRL : 1; // Bits= 1 + + // New nominal pressure value has been set + // 1 : "Pressure set" + // 0 : "No change" + // multiplex variable + uint8_t VAU_TPMS_PressureSetSuccessFL : 1; // Bits= 1 + + // New nominal pressure value has been set + // 1 : "Pressure set" + // 0 : "No change" + // multiplex variable + uint8_t VAU_TPMS_PressureSetSuccessRR : 1; // Bits= 1 + + // New nominal pressure value has been set + // 1 : "Pressure set" + // 0 : "No change" + // multiplex variable + uint8_t VAU_TPMS_PressureSetSuccessFR : 1; // Bits= 1 + + // New nominal pressure value has not been set, check the pressure sensors + // 1 : "Pressure not set" + // 0 : "No change" + // multiplex variable + uint8_t VAU_TPMS_PressureSetSensorErrFR : 1; // Bits= 1 + + // New nominal pressure value has not been set, check the pressure sensors + // 1 : "Pressure not set" + // 0 : "No change" + // multiplex variable + uint8_t VAU_TPMS_PressureSetSensorErrFL : 1; // Bits= 1 + + // New nominal pressure value has not been set, check the pressure sensors + // 1 : "Pressure not set" + // 0 : "No change" + // multiplex variable + uint8_t VAU_TPMS_PressureSetSensorErrRL : 1; // Bits= 1 + + // New nominal pressure value has not been set, check the pressure sensors + // 1 : "Pressure not set" + // 0 : "No change" + // multiplex variable + uint8_t VAU_TPMS_PressureSetSensorErrRR : 1; // Bits= 1 + + // New nominal pressure value has not been set, check the pressure + // 1 : "Pressure not set" + // 0 : "No change" + // multiplex variable + uint8_t VAU_TPMS_PressureSetErrFR : 1; // Bits= 1 + + // New nominal pressure value has not been set, check the pressure + // 1 : "Pressure not set" + // 0 : "No change" + // multiplex variable + uint8_t VAU_TPMS_PressureSetErrRL : 1; // Bits= 1 + + // New nominal pressure value has not been set, check the pressure + // 1 : "Pressure not set" + // 0 : "No change" + // multiplex variable + uint8_t VAU_TPMS_PressureSetErrFL : 1; // Bits= 1 + + // New nominal pressure value has not been set, check the pressure + // 1 : "Pressure not set" + // 0 : "No change" + // multiplex variable + uint8_t VAU_TPMS_PressureSetErrRR : 1; // Bits= 1 + + // RL Wheel Sensor Battery Status + // 1 : "Low Battery Level" + // 0 : "Normal Battery Level" + // multiplex variable + uint8_t VAU_TPMS_BatteryStatusRL : 1; // Bits= 1 + + // RR Wheel Sensor Battery Status + // 1 : "Low Battery Level" + // 0 : "Normal Battery Level" + // multiplex variable + uint8_t VAU_TPMS_BatteryStatusRR : 1; // Bits= 1 + + // FL Wheel Sensor Battery Status + // 1 : "Low Battery Level" + // 0 : "Normal Battery Level" + // multiplex variable + uint8_t VAU_TPMS_BatteryStatusFL : 1; // Bits= 1 + + // FR Wheel Sensor Battery Status + // 1 : "Low Battery Level" + // 0 : "Normal Battery Level" + // multiplex variable + uint8_t VAU_TPMS_BatteryStatusFR : 1; // Bits= 1 + + // FL Wheel Pressure Sensor Response Status + // 3 : "Mode Entry" + // 2 : "Data Pressure" + // 1 : "LF Command" + // 0 : "Regular Emission" + // multiplex variable + uint8_t VAU_TPMS_SensorEmissionCauseFL : 2; // Bits= 2 + + // RR Wheel Pressure Sensor Response Status + // 3 : "Mode Entry" + // 2 : "Data Pressure" + // 1 : "LF Command" + // 0 : "Regular Emission" + // multiplex variable + uint8_t VAU_TPMS_SensorEmissionCauseRR : 2; // Bits= 2 + + // RL Wheel Pressure Sensor Response Status + // 3 : "Mode Entry" + // 2 : "Data Pressure" + // 1 : "LF Command" + // 0 : "Regular Emission" + // multiplex variable + uint8_t VAU_TPMS_SensorEmissionCauseRL : 2; // Bits= 2 + + // FR Wheel Pressure Sensor Response Status + // 3 : "Mode Entry" + // 2 : "Data Pressure" + // 1 : "LF Command" + // 0 : "Regular Emission" + // multiplex variable + uint8_t VAU_TPMS_SensorEmissionCauseFR : 2; // Bits= 2 + + // RR wheel pressure sensor operating mode + // 3 : "Ship" + // 2 : "Test" + // 1 : "Park" + // 0 : "Drive" + // multiplex variable + uint8_t VAU_TPMS_SensorOperationModeRR : 2; // Bits= 2 + + // RL wheel pressure sensor operating mode + // 3 : "Ship" + // 2 : "Test" + // 1 : "Park" + // 0 : "Drive" + // multiplex variable + uint8_t VAU_TPMS_SensorOperationModeRL : 2; // Bits= 2 + + // FR wheel pressure sensor operating mode + // 3 : "Ship" + // 2 : "Test" + // 1 : "Park" + // 0 : "Drive" + // multiplex variable + uint8_t VAU_TPMS_SensorOperationModeFR : 2; // Bits= 2 + + // FL wheel pressure sensor operating mode + // 3 : "Ship" + // 2 : "Test" + // 1 : "Park" + // 0 : "Drive" + // multiplex variable + uint8_t VAU_TPMS_SensorOperationModeFL : 2; // Bits= 2 + + // 0x0000 - 0x0870 Time elapsed in second since the last reception of the sensor + // 0x0871 � 0xFFFF Time > 2268s + // multiplex variable + uint16_t VAU_TPMS_DataTimestampRR; // Bits=16 + + // 0x0000 - 0x0870 Time elapsed in second since the last reception of the sensor + // 0x0871 � 0xFFFF Time > 2268s + // multiplex variable + uint16_t VAU_TPMS_DataTimestampRL; // Bits=16 + + // 0x0000 - 0x0870 Time elapsed in second since the last reception of the sensor + // 0x0871 � 0xFFFF Time > 2268s + // multiplex variable + uint16_t VAU_TPMS_DataTimestampFR; // Bits=16 + + // 0x0000 - 0x0870 Time elapsed in second since the last reception of the sensor + // 0x0871 � 0xFFFF Time > 2268s + // multiplex variable + uint16_t VAU_TPMS_DataTimestampFL; // Bits=16 + + // RL Wheel Pressure Sensor Error + // 7 : "No fault" + // 6 : "Pressure acquistion error" + // 5 : "No fault" + // 4 : "Low Pressure Alert" + // 3 : "Low Pressure Warning" + // 2 : "No Pressure warning" + // 1 : "High Pressure Warning" + // 0 : "No fault" + // multiplex variable + uint8_t VAU_TPMS_TirePressureFaultRL : 3; // Bits= 3 + + // FR Wheel Pressure Sensor Error + // 7 : "No fault" + // 6 : "Pressure acquistion error" + // 5 : "No fault" + // 4 : "Low Pressure Alert" + // 3 : "Low Pressure Warning" + // 2 : "No Pressure warning" + // 1 : "High Pressure Warning" + // 0 : "No fault" + // multiplex variable + uint8_t VAU_TPMS_TirePressureFaultFR : 3; // Bits= 3 + + // FL Wheel Pressure Sensor Error + // 7 : "No fault" + // 6 : "Pressure acquistion error" + // 5 : "No fault" + // 4 : "Low Pressure Alert" + // 3 : "Low Pressure Warning" + // 2 : "No Pressure warning" + // 1 : "High Pressure Warning" + // 0 : "No fault" + // multiplex variable + uint8_t VAU_TPMS_TirePressureFaultFL : 3; // Bits= 3 + + // RR Wheel Pressure Sensor Error + // 7 : "No fault" + // 6 : "Pressure acquistion error" + // 5 : "No fault" + // 4 : "Low Pressure Alert" + // 3 : "Low Pressure Warning" + // 2 : "No Pressure warning" + // 1 : "High Pressure Warning" + // 0 : "No fault" + // multiplex variable + uint8_t VAU_TPMS_TirePressureFaultRR : 3; // Bits= 3 + + // FR Wheel Pressure Sensor Temperature Error + // 3 : "Description for the value '0x3'" + // 2 : "Description for the value '0x2'" + // 1 : "No Warning" + // 0 : "High Temp" + // multiplex variable + uint8_t TPMS_SensorTempFaultFR : 2; // Bits= 2 + + // RR Wheel Pressure Sensor Temperature Error + // 3 : "Description for the value '0x3'" + // 2 : "Description for the value '0x2'" + // 1 : "No Warning" + // 0 : "High Temp" + // multiplex variable + uint8_t TPMS_SensorTempFaultRR : 2; // Bits= 2 + + // FL Wheel Pressure Sensor Temperature Error + // 3 : "Description for the value '0x3'" + // 2 : "Description for the value '0x2'" + // 1 : "No Warning" + // 0 : "High Temp" + // multiplex variable + uint8_t TPMS_SensorTempFaultFL : 2; // Bits= 2 + + // RL Wheel Pressure Sensor Temperature Error + // 3 : "Description for the value '0x3'" + // 2 : "Description for the value '0x2'" + // 1 : "No Warning" + // 0 : "High Temp" + // multiplex variable + uint8_t TPMS_SensorTempFaultRL : 2; // Bits= 2 + + // FR Wheel Pressure Sensor Error + // 1 : "An acquision failure has occured" + // 0 : "No failure" + // multiplex variable + uint8_t VAU_TPMS_SensorFaultFR : 1; // Bits= 1 + + // RR Wheel Pressure Sensor Error + // 1 : "An acquision failure has occured" + // 0 : "No failure" + // multiplex variable + uint8_t VAU_TPMS_SensorFaultRR : 1; // Bits= 1 + + // RL Wheel Pressure Sensor Error + // 1 : "An acquision failure has occured" + // 0 : "No failure" + // multiplex variable + uint8_t VAU_TPMS_SensorFaultRL : 1; // Bits= 1 + + // FL Wheel Pressure Sensor Error + // 1 : "An acquision failure has occured" + // 0 : "No failure" + // multiplex variable + uint8_t VAU_TPMS_SensorFaultFL : 1; // Bits= 1 + + // FR Wheel Pressure Sensor Detection Status + // 1 : "Sensor Absent" + // 0 : "Sensor Detect" + // multiplex variable + uint8_t VAU_TPMS_SensorPresenceFR : 1; // Bits= 1 + + // RL Wheel Pressure Sensor Detection Status + // 1 : "Sensor Absent" + // 0 : "Sensor Detect" + // multiplex variable + uint8_t VAU_TPMS_SensorPresenceRL : 1; // Bits= 1 + + // FL Wheel Pressure Sensor Detection Status + // 1 : "Sensor Absent" + // 0 : "Sensor Detect" + // multiplex variable + uint8_t VAU_TPMS_SensorPresenceFL : 1; // Bits= 1 + + // RR Wheel Pressure Sensor Detection Status + // 1 : "Sensor Absent" + // 0 : "Sensor Detect" + // multiplex variable + uint8_t VAU_TPMS_SensorPresenceRR : 1; // Bits= 1 + +#else + + // 19 : "Rear Right tyre" + // 16 : "Rear Left tyre" + // 3 : "Front Right tyre" + // 0 : "Front Left tyre" + // MULTIPLEX master signal + uint8_t VAU_TPMS_TireLocation; // Bits= 8 + + // Indicate the measured pressure in the tyre + // multiplex variable + uint8_t VAU_TPMS_TirePressureRR_ro; // Bits= 8 Factor= 5 Unit:'kPa' + +#ifdef CANDB_USE_SIGFLOAT + uint16_t VAU_TPMS_TirePressureRR_phys; +#endif // CANDB_USE_SIGFLOAT + + // Indicate the measured pressure in the tyre + // multiplex variable + uint8_t VAU_TPMS_TirePressureRL_ro; // Bits= 8 Factor= 5 Unit:'kPa' + +#ifdef CANDB_USE_SIGFLOAT + uint16_t VAU_TPMS_TirePressureRL_phys; +#endif // CANDB_USE_SIGFLOAT + + // Indicate the measured pressure in the tyre + // multiplex variable + uint8_t VAU_TPMS_TirePressureFR_ro; // Bits= 8 Factor= 5 Unit:'kPa' + +#ifdef CANDB_USE_SIGFLOAT + uint16_t VAU_TPMS_TirePressureFR_phys; +#endif // CANDB_USE_SIGFLOAT + + // Indicate the measured pressure in the tyre + // multiplex variable + uint8_t VAU_TPMS_TirePressureFL_ro; // Bits= 8 Factor= 5 Unit:'kPa' + +#ifdef CANDB_USE_SIGFLOAT + uint16_t VAU_TPMS_TirePressureFL_phys; +#endif // CANDB_USE_SIGFLOAT + + // RR wheel temperature + // multiplex variable + uint8_t VAU_TPMS_SensorTemperatureRR_ro; // Bits= 8 Offset= -50 Unit:'�C' + +#ifdef CANDB_USE_SIGFLOAT + int16_t VAU_TPMS_SensorTemperatureRR_phys; +#endif // CANDB_USE_SIGFLOAT + + // RL wheel temperature + // multiplex variable + uint8_t VAU_TPMS_SensorTemperatureRL_ro; // Bits= 8 Offset= -50 Unit:'�C' + +#ifdef CANDB_USE_SIGFLOAT + int16_t VAU_TPMS_SensorTemperatureRL_phys; +#endif // CANDB_USE_SIGFLOAT + + // FR wheel temperature + // multiplex variable + uint8_t VAU_TPMS_SensorTemperatureFR_ro; // Bits= 8 Offset= -50 Unit:'�C' + +#ifdef CANDB_USE_SIGFLOAT + int16_t VAU_TPMS_SensorTemperatureFR_phys; +#endif // CANDB_USE_SIGFLOAT + + // FL wheel temperature + // multiplex variable + uint8_t VAU_TPMS_SensorTemperatureFL_ro; // Bits= 8 Offset= -50 Unit:'�C' + +#ifdef CANDB_USE_SIGFLOAT + int16_t VAU_TPMS_SensorTemperatureFL_phys; +#endif // CANDB_USE_SIGFLOAT + + // New nominal pressure value has been set + // 1 : "Pressure set" + // 0 : "No change" + // multiplex variable + uint8_t VAU_TPMS_PressureSetSuccessRL; // Bits= 1 + + // New nominal pressure value has been set + // 1 : "Pressure set" + // 0 : "No change" + // multiplex variable + uint8_t VAU_TPMS_PressureSetSuccessFL; // Bits= 1 + + // New nominal pressure value has been set + // 1 : "Pressure set" + // 0 : "No change" + // multiplex variable + uint8_t VAU_TPMS_PressureSetSuccessRR; // Bits= 1 + + // New nominal pressure value has been set + // 1 : "Pressure set" + // 0 : "No change" + // multiplex variable + uint8_t VAU_TPMS_PressureSetSuccessFR; // Bits= 1 + + // New nominal pressure value has not been set, check the pressure sensors + // 1 : "Pressure not set" + // 0 : "No change" + // multiplex variable + uint8_t VAU_TPMS_PressureSetSensorErrFR; // Bits= 1 + + // New nominal pressure value has not been set, check the pressure sensors + // 1 : "Pressure not set" + // 0 : "No change" + // multiplex variable + uint8_t VAU_TPMS_PressureSetSensorErrFL; // Bits= 1 + + // New nominal pressure value has not been set, check the pressure sensors + // 1 : "Pressure not set" + // 0 : "No change" + // multiplex variable + uint8_t VAU_TPMS_PressureSetSensorErrRL; // Bits= 1 + + // New nominal pressure value has not been set, check the pressure sensors + // 1 : "Pressure not set" + // 0 : "No change" + // multiplex variable + uint8_t VAU_TPMS_PressureSetSensorErrRR; // Bits= 1 + + // New nominal pressure value has not been set, check the pressure + // 1 : "Pressure not set" + // 0 : "No change" + // multiplex variable + uint8_t VAU_TPMS_PressureSetErrFR; // Bits= 1 + + // New nominal pressure value has not been set, check the pressure + // 1 : "Pressure not set" + // 0 : "No change" + // multiplex variable + uint8_t VAU_TPMS_PressureSetErrRL; // Bits= 1 + + // New nominal pressure value has not been set, check the pressure + // 1 : "Pressure not set" + // 0 : "No change" + // multiplex variable + uint8_t VAU_TPMS_PressureSetErrFL; // Bits= 1 + + // New nominal pressure value has not been set, check the pressure + // 1 : "Pressure not set" + // 0 : "No change" + // multiplex variable + uint8_t VAU_TPMS_PressureSetErrRR; // Bits= 1 + + // RL Wheel Sensor Battery Status + // 1 : "Low Battery Level" + // 0 : "Normal Battery Level" + // multiplex variable + uint8_t VAU_TPMS_BatteryStatusRL; // Bits= 1 + + // RR Wheel Sensor Battery Status + // 1 : "Low Battery Level" + // 0 : "Normal Battery Level" + // multiplex variable + uint8_t VAU_TPMS_BatteryStatusRR; // Bits= 1 + + // FL Wheel Sensor Battery Status + // 1 : "Low Battery Level" + // 0 : "Normal Battery Level" + // multiplex variable + uint8_t VAU_TPMS_BatteryStatusFL; // Bits= 1 + + // FR Wheel Sensor Battery Status + // 1 : "Low Battery Level" + // 0 : "Normal Battery Level" + // multiplex variable + uint8_t VAU_TPMS_BatteryStatusFR; // Bits= 1 + + // FL Wheel Pressure Sensor Response Status + // 3 : "Mode Entry" + // 2 : "Data Pressure" + // 1 : "LF Command" + // 0 : "Regular Emission" + // multiplex variable + uint8_t VAU_TPMS_SensorEmissionCauseFL; // Bits= 2 + + // RR Wheel Pressure Sensor Response Status + // 3 : "Mode Entry" + // 2 : "Data Pressure" + // 1 : "LF Command" + // 0 : "Regular Emission" + // multiplex variable + uint8_t VAU_TPMS_SensorEmissionCauseRR; // Bits= 2 + + // RL Wheel Pressure Sensor Response Status + // 3 : "Mode Entry" + // 2 : "Data Pressure" + // 1 : "LF Command" + // 0 : "Regular Emission" + // multiplex variable + uint8_t VAU_TPMS_SensorEmissionCauseRL; // Bits= 2 + + // FR Wheel Pressure Sensor Response Status + // 3 : "Mode Entry" + // 2 : "Data Pressure" + // 1 : "LF Command" + // 0 : "Regular Emission" + // multiplex variable + uint8_t VAU_TPMS_SensorEmissionCauseFR; // Bits= 2 + + // RR wheel pressure sensor operating mode + // 3 : "Ship" + // 2 : "Test" + // 1 : "Park" + // 0 : "Drive" + // multiplex variable + uint8_t VAU_TPMS_SensorOperationModeRR; // Bits= 2 + + // RL wheel pressure sensor operating mode + // 3 : "Ship" + // 2 : "Test" + // 1 : "Park" + // 0 : "Drive" + // multiplex variable + uint8_t VAU_TPMS_SensorOperationModeRL; // Bits= 2 + + // FR wheel pressure sensor operating mode + // 3 : "Ship" + // 2 : "Test" + // 1 : "Park" + // 0 : "Drive" + // multiplex variable + uint8_t VAU_TPMS_SensorOperationModeFR; // Bits= 2 + + // FL wheel pressure sensor operating mode + // 3 : "Ship" + // 2 : "Test" + // 1 : "Park" + // 0 : "Drive" + // multiplex variable + uint8_t VAU_TPMS_SensorOperationModeFL; // Bits= 2 + + // 0x0000 - 0x0870 Time elapsed in second since the last reception of the sensor + // 0x0871 � 0xFFFF Time > 2268s + // multiplex variable + uint16_t VAU_TPMS_DataTimestampRR; // Bits=16 + + // 0x0000 - 0x0870 Time elapsed in second since the last reception of the sensor + // 0x0871 � 0xFFFF Time > 2268s + // multiplex variable + uint16_t VAU_TPMS_DataTimestampRL; // Bits=16 + + // 0x0000 - 0x0870 Time elapsed in second since the last reception of the sensor + // 0x0871 � 0xFFFF Time > 2268s + // multiplex variable + uint16_t VAU_TPMS_DataTimestampFR; // Bits=16 + + // 0x0000 - 0x0870 Time elapsed in second since the last reception of the sensor + // 0x0871 � 0xFFFF Time > 2268s + // multiplex variable + uint16_t VAU_TPMS_DataTimestampFL; // Bits=16 + + // RL Wheel Pressure Sensor Error + // 7 : "No fault" + // 6 : "Pressure acquistion error" + // 5 : "No fault" + // 4 : "Low Pressure Alert" + // 3 : "Low Pressure Warning" + // 2 : "No Pressure warning" + // 1 : "High Pressure Warning" + // 0 : "No fault" + // multiplex variable + uint8_t VAU_TPMS_TirePressureFaultRL; // Bits= 3 + + // FR Wheel Pressure Sensor Error + // 7 : "No fault" + // 6 : "Pressure acquistion error" + // 5 : "No fault" + // 4 : "Low Pressure Alert" + // 3 : "Low Pressure Warning" + // 2 : "No Pressure warning" + // 1 : "High Pressure Warning" + // 0 : "No fault" + // multiplex variable + uint8_t VAU_TPMS_TirePressureFaultFR; // Bits= 3 + + // FL Wheel Pressure Sensor Error + // 7 : "No fault" + // 6 : "Pressure acquistion error" + // 5 : "No fault" + // 4 : "Low Pressure Alert" + // 3 : "Low Pressure Warning" + // 2 : "No Pressure warning" + // 1 : "High Pressure Warning" + // 0 : "No fault" + // multiplex variable + uint8_t VAU_TPMS_TirePressureFaultFL; // Bits= 3 + + // RR Wheel Pressure Sensor Error + // 7 : "No fault" + // 6 : "Pressure acquistion error" + // 5 : "No fault" + // 4 : "Low Pressure Alert" + // 3 : "Low Pressure Warning" + // 2 : "No Pressure warning" + // 1 : "High Pressure Warning" + // 0 : "No fault" + // multiplex variable + uint8_t VAU_TPMS_TirePressureFaultRR; // Bits= 3 + + // FR Wheel Pressure Sensor Temperature Error + // 3 : "Description for the value '0x3'" + // 2 : "Description for the value '0x2'" + // 1 : "No Warning" + // 0 : "High Temp" + // multiplex variable + uint8_t TPMS_SensorTempFaultFR; // Bits= 2 + + // RR Wheel Pressure Sensor Temperature Error + // 3 : "Description for the value '0x3'" + // 2 : "Description for the value '0x2'" + // 1 : "No Warning" + // 0 : "High Temp" + // multiplex variable + uint8_t TPMS_SensorTempFaultRR; // Bits= 2 + + // FL Wheel Pressure Sensor Temperature Error + // 3 : "Description for the value '0x3'" + // 2 : "Description for the value '0x2'" + // 1 : "No Warning" + // 0 : "High Temp" + // multiplex variable + uint8_t TPMS_SensorTempFaultFL; // Bits= 2 + + // RL Wheel Pressure Sensor Temperature Error + // 3 : "Description for the value '0x3'" + // 2 : "Description for the value '0x2'" + // 1 : "No Warning" + // 0 : "High Temp" + // multiplex variable + uint8_t TPMS_SensorTempFaultRL; // Bits= 2 + + // FR Wheel Pressure Sensor Error + // 1 : "An acquision failure has occured" + // 0 : "No failure" + // multiplex variable + uint8_t VAU_TPMS_SensorFaultFR; // Bits= 1 + + // RR Wheel Pressure Sensor Error + // 1 : "An acquision failure has occured" + // 0 : "No failure" + // multiplex variable + uint8_t VAU_TPMS_SensorFaultRR; // Bits= 1 + + // RL Wheel Pressure Sensor Error + // 1 : "An acquision failure has occured" + // 0 : "No failure" + // multiplex variable + uint8_t VAU_TPMS_SensorFaultRL; // Bits= 1 + + // FL Wheel Pressure Sensor Error + // 1 : "An acquision failure has occured" + // 0 : "No failure" + // multiplex variable + uint8_t VAU_TPMS_SensorFaultFL; // Bits= 1 + + // FR Wheel Pressure Sensor Detection Status + // 1 : "Sensor Absent" + // 0 : "Sensor Detect" + // multiplex variable + uint8_t VAU_TPMS_SensorPresenceFR; // Bits= 1 + + // RL Wheel Pressure Sensor Detection Status + // 1 : "Sensor Absent" + // 0 : "Sensor Detect" + // multiplex variable + uint8_t VAU_TPMS_SensorPresenceRL; // Bits= 1 + + // FL Wheel Pressure Sensor Detection Status + // 1 : "Sensor Absent" + // 0 : "Sensor Detect" + // multiplex variable + uint8_t VAU_TPMS_SensorPresenceFL; // Bits= 1 + + // RR Wheel Pressure Sensor Detection Status + // 1 : "Sensor Absent" + // 0 : "Sensor Detect" + // multiplex variable + uint8_t VAU_TPMS_SensorPresenceRR; // Bits= 1 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} VAU_TPMS_Msg_t; + // def @CCU_Errors CAN Message (1278 0x4fe) #define CCU_Errors_IDE (0U) #define CCU_Errors_DLC (4U) @@ -5427,9 +32003,9 @@ typedef struct // Ultraviolet system error status // 3 : "Component malfunction" // 2 : "Supply chain short circuit - +" // 1 : "Supply chain break - +" // 0 : "No error" uint8_t CCU_UltravioletErr_Stat : 2; // Bits= 2 @@ -5459,22 +32035,22 @@ typedef struct // Ionization system error status // 4 : "Component malfunction" // 3 : "Communication error - +" // 2 : "Supply chain short circuit - +" // 1 : "Supply chain break - +" // 0 : "No error" uint8_t CCU_IonizationErr_Stat : 3; // Bits= 3 // Aromatization system error status // 4 : "Component malfunction" // 3 : "Communication error - +" // 2 : "Supply chain short circuit - +" // 1 : "Supply chain break - +" // 0 : "No error" uint8_t CCU_AromaErr_Stat : 3; // Bits= 3 @@ -5728,11 +32304,740 @@ typedef struct } CCU_Msg3_t; +// def @FIU_Cmd CAN Message (1291 0x50b) +#define FIU_Cmd_IDE (0U) +#define FIU_Cmd_DLC (4U) +#define FIU_Cmd_CANID (0x50bU) + +// Value tables for @FIU_RunningBoards_Stat signal + +#ifndef FIU_RunningBoards_Stat_FIU_Cmd_Unfolded +#define FIU_RunningBoards_Stat_FIU_Cmd_Unfolded (2) +#endif + +#ifndef FIU_RunningBoards_Stat_FIU_Cmd_Folded +#define FIU_RunningBoards_Stat_FIU_Cmd_Folded (1) +#endif + +#ifndef FIU_RunningBoards_Stat_FIU_Cmd_Auto +#define FIU_RunningBoards_Stat_FIU_Cmd_Auto (0) +#endif + + +// Value tables for @FIU_Vehicle_DrvMode_Req signal + +#ifndef FIU_Vehicle_DrvMode_Req_FIU_Cmd_Charge +#define FIU_Vehicle_DrvMode_Req_FIU_Cmd_Charge (7) +#endif + +#ifndef FIU_Vehicle_DrvMode_Req_FIU_Cmd_Electric +#define FIU_Vehicle_DrvMode_Req_FIU_Cmd_Electric (6) +#endif + +#ifndef FIU_Vehicle_DrvMode_Req_FIU_Cmd_Reserved +#define FIU_Vehicle_DrvMode_Req_FIU_Cmd_Reserved (5) +#endif + +#ifndef FIU_Vehicle_DrvMode_Req_FIU_Cmd_Offroad +#define FIU_Vehicle_DrvMode_Req_FIU_Cmd_Offroad (4) +#endif + +#ifndef FIU_Vehicle_DrvMode_Req_FIU_Cmd_Reserved +#define FIU_Vehicle_DrvMode_Req_FIU_Cmd_Reserved (3) +#endif + +#ifndef FIU_Vehicle_DrvMode_Req_FIU_Cmd_Range +#define FIU_Vehicle_DrvMode_Req_FIU_Cmd_Range (2) +#endif + +#ifndef FIU_Vehicle_DrvMode_Req_FIU_Cmd_Dynamic +#define FIU_Vehicle_DrvMode_Req_FIU_Cmd_Dynamic (1) +#endif + +#ifndef FIU_Vehicle_DrvMode_Req_FIU_Cmd_Comfort +#define FIU_Vehicle_DrvMode_Req_FIU_Cmd_Comfort (0) +#endif + + +// Value tables for @FIU_RStrapCntrl_Req signal + +#ifndef FIU_RStrapCntrl_Req_FIU_Cmd_Active +#define FIU_RStrapCntrl_Req_FIU_Cmd_Active (1) +#endif + +#ifndef FIU_RStrapCntrl_Req_FIU_Cmd_Inactive +#define FIU_RStrapCntrl_Req_FIU_Cmd_Inactive (0) +#endif + + +// Value tables for @FIU_RStrapCushCntrl_Req signal + +#ifndef FIU_RStrapCushCntrl_Req_FIU_Cmd_Active +#define FIU_RStrapCushCntrl_Req_FIU_Cmd_Active (1) +#endif + +#ifndef FIU_RStrapCushCntrl_Req_FIU_Cmd_Inactive +#define FIU_RStrapCushCntrl_Req_FIU_Cmd_Inactive (0) +#endif + + +// Value tables for @FIU_LStrapCntrl_Req signal + +#ifndef FIU_LStrapCntrl_Req_FIU_Cmd_Active +#define FIU_LStrapCntrl_Req_FIU_Cmd_Active (1) +#endif + +#ifndef FIU_LStrapCntrl_Req_FIU_Cmd_Inactive +#define FIU_LStrapCntrl_Req_FIU_Cmd_Inactive (0) +#endif + + +// Value tables for @FIU_LStrapCushCntrl_Req signal + +#ifndef FIU_LStrapCushCntrl_Req_FIU_Cmd_Active +#define FIU_LStrapCushCntrl_Req_FIU_Cmd_Active (1) +#endif + +#ifndef FIU_LStrapCushCntrl_Req_FIU_Cmd_Inactive +#define FIU_LStrapCushCntrl_Req_FIU_Cmd_Inactive (0) +#endif + + +// Value tables for @FIU_Lift_Req signal + +#ifndef FIU_Lift_Req_FIU_Cmd_Active +#define FIU_Lift_Req_FIU_Cmd_Active (1) +#endif + +#ifndef FIU_Lift_Req_FIU_Cmd_Inactive +#define FIU_Lift_Req_FIU_Cmd_Inactive (0) +#endif + + +// Value tables for @FIU_HDC_Req signal + +#ifndef FIU_HDC_Req_FIU_Cmd_Active +#define FIU_HDC_Req_FIU_Cmd_Active (1) +#endif + +#ifndef FIU_HDC_Req_FIU_Cmd_Inactive +#define FIU_HDC_Req_FIU_Cmd_Inactive (0) +#endif + + +// Value tables for @FIU_Prolongation_Req signal + +#ifndef FIU_Prolongation_Req_FIU_Cmd_Active +#define FIU_Prolongation_Req_FIU_Cmd_Active (1) +#endif + +#ifndef FIU_Prolongation_Req_FIU_Cmd_Inactive +#define FIU_Prolongation_Req_FIU_Cmd_Inactive (0) +#endif + + +// Value tables for @FIU_ServiceMode_Req signal + +#ifndef FIU_ServiceMode_Req_FIU_Cmd_Active +#define FIU_ServiceMode_Req_FIU_Cmd_Active (1) +#endif + +#ifndef FIU_ServiceMode_Req_FIU_Cmd_Inactive +#define FIU_ServiceMode_Req_FIU_Cmd_Inactive (0) +#endif + + +// Value tables for @FIU_PressureSet_Req signal + +#ifndef FIU_PressureSet_Req_FIU_Cmd_Button_pressed +#define FIU_PressureSet_Req_FIU_Cmd_Button_pressed (1) +#endif + +#ifndef FIU_PressureSet_Req_FIU_Cmd_Not_pressed +#define FIU_PressureSet_Req_FIU_Cmd_Not_pressed (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Thresholds status: + // 0x0 - thresholds shall be automatic + // 0x1 - threshholds shall be alwasys fold + // 0x2 - thresholds shall be always unfold + // 2 : "Unfolded" + // 1 : "Folded" + // 0 : "Auto" + uint8_t FIU_RunningBoards_Stat : 2; // Bits= 2 + + // Vehicle drive mode request + // 7 : "Charge" + // 6 : "Electric" + // 5 : "Reserved" + // 4 : "Offroad" + // 3 : "Reserved" + // 2 : "Range" + // 1 : "Dynamic" + // 0 : "Comfort" + uint8_t FIU_Vehicle_DrvMode_Req : 3; // Bits= 3 + + // Right straponten control request + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_RStrapCntrl_Req : 1; // Bits= 1 + + // Right cushion straponten control request + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_RStrapCushCntrl_Req : 1; // Bits= 1 + + // Left straponten control request + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_LStrapCntrl_Req : 1; // Bits= 1 + + // Left cushion straponten control request + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_LStrapCushCntrl_Req : 1; // Bits= 1 + + // Suspension lift request. When button is pressed, send a impulse signal. + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_Lift_Req : 1; // Bits= 1 + + // Hill descent control activation request + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_HDC_Req : 1; // Bits= 1 + + // When Vehicle Mode State is Standby and user interacts with FIU the request is set to Active + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_Prolongation_Req : 1; // Bits= 1 + + // Suspension service mod request + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_ServiceMode_Req : 1; // Bits= 1 + + // Set new target pressure. + // 0x0 = nothing shall happens. + // 0x1 = then new target pressure shall be set. + // 1 : "Button pressed" + // 0 : "Not pressed" + uint8_t FIU_PressureSet_Req : 1; // Bits= 1 + +#else + + // Thresholds status: + // 0x0 - thresholds shall be automatic + // 0x1 - threshholds shall be alwasys fold + // 0x2 - thresholds shall be always unfold + // 2 : "Unfolded" + // 1 : "Folded" + // 0 : "Auto" + uint8_t FIU_RunningBoards_Stat; // Bits= 2 + + // Vehicle drive mode request + // 7 : "Charge" + // 6 : "Electric" + // 5 : "Reserved" + // 4 : "Offroad" + // 3 : "Reserved" + // 2 : "Range" + // 1 : "Dynamic" + // 0 : "Comfort" + uint8_t FIU_Vehicle_DrvMode_Req; // Bits= 3 + + // Right straponten control request + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_RStrapCntrl_Req; // Bits= 1 + + // Right cushion straponten control request + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_RStrapCushCntrl_Req; // Bits= 1 + + // Left straponten control request + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_LStrapCntrl_Req; // Bits= 1 + + // Left cushion straponten control request + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_LStrapCushCntrl_Req; // Bits= 1 + + // Suspension lift request. When button is pressed, send a impulse signal. + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_Lift_Req; // Bits= 1 + + // Hill descent control activation request + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_HDC_Req; // Bits= 1 + + // When Vehicle Mode State is Standby and user interacts with FIU the request is set to Active + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_Prolongation_Req; // Bits= 1 + + // Suspension service mod request + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_ServiceMode_Req; // Bits= 1 + + // Set new target pressure. + // 0x0 = nothing shall happens. + // 0x1 = then new target pressure shall be set. + // 1 : "Button pressed" + // 0 : "Not pressed" + uint8_t FIU_PressureSet_Req; // Bits= 1 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} FIU_Cmd_t; + +// def @IC_SDM_Info CAN Message (1294 0x50e) +#define IC_SDM_Info_IDE (0U) +#define IC_SDM_Info_DLC (8U) +#define IC_SDM_Info_CANID (0x50eU) +#define IC_SDM_Info_CYC (500U) +// signal: @IC_AverageConsumpUser_ro +#define CANDB_IC_AverageConsumpUser_ro_CovFactor (0.1) +#define CANDB_IC_AverageConsumpUser_ro_toS(x) ( (uint16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_IC_AverageConsumpUser_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @IC_AverageConsumpTrip_ro +#define CANDB_IC_AverageConsumpTrip_ro_CovFactor (0.1) +#define CANDB_IC_AverageConsumpTrip_ro_toS(x) ( (uint16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_IC_AverageConsumpTrip_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @IC_UserRange_ro +#define CANDB_IC_UserRange_ro_CovFactor (0.1) +#define CANDB_IC_UserRange_ro_toS(x) ( (uint32_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_IC_UserRange_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @IC_TripRange_ro +#define CANDB_IC_TripRange_ro_CovFactor (0.1) +#define CANDB_IC_TripRange_ro_toS(x) ( (uint32_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_IC_TripRange_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @IC_UserAverageSpeed_ro +#define CANDB_IC_UserAverageSpeed_ro_CovFactor (0.1) +#define CANDB_IC_UserAverageSpeed_ro_toS(x) ( (uint16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_IC_UserAverageSpeed_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @IC_TripAverageSpeed_ro +#define CANDB_IC_TripAverageSpeed_ro_CovFactor (0.1) +#define CANDB_IC_TripAverageSpeed_ro_toS(x) ( (uint16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_IC_TripAverageSpeed_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) + +// Value tables for @IC_TCCU_Mult signal + +#ifndef IC_TCCU_Mult_IC_SDM_Info_IC_TCCU_User +#define IC_TCCU_Mult_IC_SDM_Info_IC_TCCU_User (1) +#endif + +#ifndef IC_TCCU_Mult_IC_SDM_Info_IC_TCCU_Trip +#define IC_TCCU_Mult_IC_SDM_Info_IC_TCCU_Trip (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // User average consamption in l/100Km, step 0.1 liter/100 Km + // multiplex variable + uint16_t IC_AverageConsumpUser_ro; // Bits=10 Factor= 0.1 Unit:'l/km' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t IC_AverageConsumpUser_phys; +#endif // CANDB_USE_SIGFLOAT + + // Trip average consamption in l/100Km, step 0.1 liter/100 Km + // multiplex variable + uint16_t IC_AverageConsumpTrip_ro; // Bits=10 Factor= 0.1 Unit:'l/km' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t IC_AverageConsumpTrip_phys; +#endif // CANDB_USE_SIGFLOAT + + // User Range in Km + // multiplex variable + uint32_t IC_UserRange_ro; // Bits=17 Factor= 0.1 Unit:'km' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t IC_UserRange_phys; +#endif // CANDB_USE_SIGFLOAT + + // Trip Range in Km + // multiplex variable + uint32_t IC_TripRange_ro; // Bits=17 Factor= 0.1 Unit:'km' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t IC_TripRange_phys; +#endif // CANDB_USE_SIGFLOAT + + // User Average Speed + // multiplex variable + uint16_t IC_UserAverageSpeed_ro; // Bits=14 Factor= 0.1 Unit:'km/h' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t IC_UserAverageSpeed_phys; +#endif // CANDB_USE_SIGFLOAT + + // Trip Average Speed + // multiplex variable + uint16_t IC_TripAverageSpeed_ro; // Bits=14 Factor= 0.1 Unit:'km/h' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t IC_TripAverageSpeed_phys; +#endif // CANDB_USE_SIGFLOAT + + // User minutes + // multiplex variable + uint8_t IC_UserMinute : 6; // Bits= 6 Unit:'min' + + // Trip minutes + // multiplex variable + uint8_t IC_TripMinute : 6; // Bits= 6 Unit:'min' + + // Hours of User + // multiplex variable + uint8_t IC_UserHour : 5; // Bits= 5 Unit:'h' + + // Hours of trip + // multiplex variable + uint8_t IC_TripHour : 5; // Bits= 5 Unit:'h' + + // User days + // multiplex variable + uint16_t IC_UserDay; // Bits=10 + + // Trip days + // multiplex variable + uint16_t IC_TripDay; // Bits=10 + + // Trip/User multiplexor + // 1 : "IC_TCCU_User" + // 0 : "IC_TCCU_Trip" + // MULTIPLEX master signal + uint8_t IC_TCCU_Mult : 1; // Bits= 1 + +#else + + // User average consamption in l/100Km, step 0.1 liter/100 Km + // multiplex variable + uint16_t IC_AverageConsumpUser_ro; // Bits=10 Factor= 0.1 Unit:'l/km' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t IC_AverageConsumpUser_phys; +#endif // CANDB_USE_SIGFLOAT + + // Trip average consamption in l/100Km, step 0.1 liter/100 Km + // multiplex variable + uint16_t IC_AverageConsumpTrip_ro; // Bits=10 Factor= 0.1 Unit:'l/km' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t IC_AverageConsumpTrip_phys; +#endif // CANDB_USE_SIGFLOAT + + // User Range in Km + // multiplex variable + uint32_t IC_UserRange_ro; // Bits=17 Factor= 0.1 Unit:'km' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t IC_UserRange_phys; +#endif // CANDB_USE_SIGFLOAT + + // Trip Range in Km + // multiplex variable + uint32_t IC_TripRange_ro; // Bits=17 Factor= 0.1 Unit:'km' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t IC_TripRange_phys; +#endif // CANDB_USE_SIGFLOAT + + // User Average Speed + // multiplex variable + uint16_t IC_UserAverageSpeed_ro; // Bits=14 Factor= 0.1 Unit:'km/h' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t IC_UserAverageSpeed_phys; +#endif // CANDB_USE_SIGFLOAT + + // Trip Average Speed + // multiplex variable + uint16_t IC_TripAverageSpeed_ro; // Bits=14 Factor= 0.1 Unit:'km/h' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t IC_TripAverageSpeed_phys; +#endif // CANDB_USE_SIGFLOAT + + // User minutes + // multiplex variable + uint8_t IC_UserMinute; // Bits= 6 Unit:'min' + + // Trip minutes + // multiplex variable + uint8_t IC_TripMinute; // Bits= 6 Unit:'min' + + // Hours of User + // multiplex variable + uint8_t IC_UserHour; // Bits= 5 Unit:'h' + + // Hours of trip + // multiplex variable + uint8_t IC_TripHour; // Bits= 5 Unit:'h' + + // User days + // multiplex variable + uint16_t IC_UserDay; // Bits=10 + + // Trip days + // multiplex variable + uint16_t IC_TripDay; // Bits=10 + + // Trip/User multiplexor + // 1 : "IC_TCCU_User" + // 0 : "IC_TCCU_Trip" + // MULTIPLEX master signal + uint8_t IC_TCCU_Mult; // Bits= 1 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} IC_SDM_Info_t; + // def @SDM_Cmd CAN Message (1295 0x50f) #define SDM_Cmd_IDE (0U) -#define SDM_Cmd_DLC (5U) +#define SDM_Cmd_DLC (6U) #define SDM_Cmd_CANID (0x50fU) +// Value tables for @SDM_ExteriorKeyFobSw_Req signal + +#ifndef SDM_ExteriorKeyFobSw_Req_SDM_Cmd_REMOTE_START_PRESSED_LONG +#define SDM_ExteriorKeyFobSw_Req_SDM_Cmd_REMOTE_START_PRESSED_LONG (8) +#endif + +#ifndef SDM_ExteriorKeyFobSw_Req_SDM_Cmd_REMOTE_START_PRESSED +#define SDM_ExteriorKeyFobSw_Req_SDM_Cmd_REMOTE_START_PRESSED (7) +#endif + +#ifndef SDM_ExteriorKeyFobSw_Req_SDM_Cmd_UNLOCK_PRESSED_LONG +#define SDM_ExteriorKeyFobSw_Req_SDM_Cmd_UNLOCK_PRESSED_LONG (6) +#endif + +#ifndef SDM_ExteriorKeyFobSw_Req_SDM_Cmd_UNLOCK_PRESSED +#define SDM_ExteriorKeyFobSw_Req_SDM_Cmd_UNLOCK_PRESSED (5) +#endif + +#ifndef SDM_ExteriorKeyFobSw_Req_SDM_Cmd_TRUNK_PRESSED_LONG +#define SDM_ExteriorKeyFobSw_Req_SDM_Cmd_TRUNK_PRESSED_LONG (4) +#endif + +#ifndef SDM_ExteriorKeyFobSw_Req_SDM_Cmd_TRUNK_PRESSED +#define SDM_ExteriorKeyFobSw_Req_SDM_Cmd_TRUNK_PRESSED (3) +#endif + +#ifndef SDM_ExteriorKeyFobSw_Req_SDM_Cmd_LOCK_PRESSED_LONG +#define SDM_ExteriorKeyFobSw_Req_SDM_Cmd_LOCK_PRESSED_LONG (2) +#endif + +#ifndef SDM_ExteriorKeyFobSw_Req_SDM_Cmd_LOCK_PRESSED +#define SDM_ExteriorKeyFobSw_Req_SDM_Cmd_LOCK_PRESSED (1) +#endif + +#ifndef SDM_ExteriorKeyFobSw_Req_SDM_Cmd_NO_ACTION +#define SDM_ExteriorKeyFobSw_Req_SDM_Cmd_NO_ACTION (0) +#endif + + +// Value tables for @SDM_DMRL_Req signal + +#ifndef SDM_DMRL_Req_SDM_Cmd_Fault +#define SDM_DMRL_Req_SDM_Cmd_Fault (7) +#endif + +#ifndef SDM_DMRL_Req_SDM_Cmd_Recerve +#define SDM_DMRL_Req_SDM_Cmd_Recerve (6) +#endif + +#ifndef SDM_DMRL_Req_SDM_Cmd_Window_auto_up +#define SDM_DMRL_Req_SDM_Cmd_Window_auto_up (5) +#endif + +#ifndef SDM_DMRL_Req_SDM_Cmd_Sun_blind_up +#define SDM_DMRL_Req_SDM_Cmd_Sun_blind_up (4) +#endif + +#ifndef SDM_DMRL_Req_SDM_Cmd_Sun_blind_down_ +#define SDM_DMRL_Req_SDM_Cmd_Sun_blind_down_ (3) +#endif + +#ifndef SDM_DMRL_Req_SDM_Cmd_Window_short_down +#define SDM_DMRL_Req_SDM_Cmd_Window_short_down (2) +#endif + +#ifndef SDM_DMRL_Req_SDM_Cmd_Window_down +#define SDM_DMRL_Req_SDM_Cmd_Window_down (1) +#endif + +#ifndef SDM_DMRL_Req_SDM_Cmd_No_action +#define SDM_DMRL_Req_SDM_Cmd_No_action (0) +#endif + + +// Value tables for @SDM_Comm_Req signal + +#ifndef SDM_Comm_Req_SDM_Cmd_TRUE +#define SDM_Comm_Req_SDM_Cmd_TRUE (1) +#endif + +#ifndef SDM_Comm_Req_SDM_Cmd_FALSE +#define SDM_Comm_Req_SDM_Cmd_FALSE (0) +#endif + + +// Value tables for @SDM_DMRR_Req signal + +#ifndef SDM_DMRR_Req_SDM_Cmd_Fault +#define SDM_DMRR_Req_SDM_Cmd_Fault (7) +#endif + +#ifndef SDM_DMRR_Req_SDM_Cmd_Recerve +#define SDM_DMRR_Req_SDM_Cmd_Recerve (6) +#endif + +#ifndef SDM_DMRR_Req_SDM_Cmd_Window_auto_up +#define SDM_DMRR_Req_SDM_Cmd_Window_auto_up (5) +#endif + +#ifndef SDM_DMRR_Req_SDM_Cmd_Sun_blind_up +#define SDM_DMRR_Req_SDM_Cmd_Sun_blind_up (4) +#endif + +#ifndef SDM_DMRR_Req_SDM_Cmd_Sun_blind_down_ +#define SDM_DMRR_Req_SDM_Cmd_Sun_blind_down_ (3) +#endif + +#ifndef SDM_DMRR_Req_SDM_Cmd_Window_short_down +#define SDM_DMRR_Req_SDM_Cmd_Window_short_down (2) +#endif + +#ifndef SDM_DMRR_Req_SDM_Cmd_Window_down +#define SDM_DMRR_Req_SDM_Cmd_Window_down (1) +#endif + +#ifndef SDM_DMRR_Req_SDM_Cmd_No_action +#define SDM_DMRR_Req_SDM_Cmd_No_action (0) +#endif + + +// Value tables for @SDM_VisualFeedback_Req signal + +#ifndef SDM_VisualFeedback_Req_SDM_Cmd_True +#define SDM_VisualFeedback_Req_SDM_Cmd_True (1) +#endif + +#ifndef SDM_VisualFeedback_Req_SDM_Cmd_False +#define SDM_VisualFeedback_Req_SDM_Cmd_False (0) +#endif + + +// Value tables for @SDM_AudibleFeedback_Req signal + +#ifndef SDM_AudibleFeedback_Req_SDM_Cmd_TRUE +#define SDM_AudibleFeedback_Req_SDM_Cmd_TRUE (1) +#endif + +#ifndef SDM_AudibleFeedback_Req_SDM_Cmd_FALSE +#define SDM_AudibleFeedback_Req_SDM_Cmd_FALSE (0) +#endif + + +// Value tables for @SDM_DMFL_Req signal + +#ifndef SDM_DMFL_Req_SDM_Cmd_Fault +#define SDM_DMFL_Req_SDM_Cmd_Fault (7) +#endif + +#ifndef SDM_DMFL_Req_SDM_Cmd_Recerve +#define SDM_DMFL_Req_SDM_Cmd_Recerve (6) +#endif + +#ifndef SDM_DMFL_Req_SDM_Cmd_Window_auto_up +#define SDM_DMFL_Req_SDM_Cmd_Window_auto_up (5) +#endif + +#ifndef SDM_DMFL_Req_SDM_Cmd_Sun_blind_up +#define SDM_DMFL_Req_SDM_Cmd_Sun_blind_up (4) +#endif + +#ifndef SDM_DMFL_Req_SDM_Cmd_Sun_blind_down_ +#define SDM_DMFL_Req_SDM_Cmd_Sun_blind_down_ (3) +#endif + +#ifndef SDM_DMFL_Req_SDM_Cmd_Window_short_down +#define SDM_DMFL_Req_SDM_Cmd_Window_short_down (2) +#endif + +#ifndef SDM_DMFL_Req_SDM_Cmd_Window_down +#define SDM_DMFL_Req_SDM_Cmd_Window_down (1) +#endif + +#ifndef SDM_DMFL_Req_SDM_Cmd_No_action +#define SDM_DMFL_Req_SDM_Cmd_No_action (0) +#endif + + +// Value tables for @SDM_DMFR_Req signal + +#ifndef SDM_DMFR_Req_SDM_Cmd_Fault +#define SDM_DMFR_Req_SDM_Cmd_Fault (7) +#endif + +#ifndef SDM_DMFR_Req_SDM_Cmd_Recerve +#define SDM_DMFR_Req_SDM_Cmd_Recerve (6) +#endif + +#ifndef SDM_DMFR_Req_SDM_Cmd_Window_auto_up +#define SDM_DMFR_Req_SDM_Cmd_Window_auto_up (5) +#endif + +#ifndef SDM_DMFR_Req_SDM_Cmd_Sun_blind_up +#define SDM_DMFR_Req_SDM_Cmd_Sun_blind_up (4) +#endif + +#ifndef SDM_DMFR_Req_SDM_Cmd_Sun_blind_down_ +#define SDM_DMFR_Req_SDM_Cmd_Sun_blind_down_ (3) +#endif + +#ifndef SDM_DMFR_Req_SDM_Cmd_Window_short_down +#define SDM_DMFR_Req_SDM_Cmd_Window_short_down (2) +#endif + +#ifndef SDM_DMFR_Req_SDM_Cmd_Window_down +#define SDM_DMFR_Req_SDM_Cmd_Window_down (1) +#endif + +#ifndef SDM_DMFR_Req_SDM_Cmd_No_action +#define SDM_DMFR_Req_SDM_Cmd_No_action (0) +#endif + + // Value tables for @SDM_Aroma_Req signal #ifndef SDM_Aroma_Req_SDM_Cmd_No_change @@ -5767,16 +33072,183 @@ typedef struct #endif +// Value tables for @SDM_StyleIllGlobal_Req signal + +#ifndef SDM_StyleIllGlobal_Req_SDM_Cmd_Function_active +#define SDM_StyleIllGlobal_Req_SDM_Cmd_Function_active (2) +#endif + +#ifndef SDM_StyleIllGlobal_Req_SDM_Cmd_Function_inactive +#define SDM_StyleIllGlobal_Req_SDM_Cmd_Function_inactive (1) +#endif + +#ifndef SDM_StyleIllGlobal_Req_SDM_Cmd_No_change +#define SDM_StyleIllGlobal_Req_SDM_Cmd_No_change (0) +#endif + + +// Value tables for @SDM_StyleIllTheme_Req signal + +#ifndef SDM_StyleIllTheme_Req_SDM_Cmd_No_change +#define SDM_StyleIllTheme_Req_SDM_Cmd_No_change (31) +#endif + +#ifndef SDM_StyleIllTheme_Req_SDM_Cmd_Color_theme_16 +#define SDM_StyleIllTheme_Req_SDM_Cmd_Color_theme_16 (15) +#endif + +#ifndef SDM_StyleIllTheme_Req_SDM_Cmd_Color_theme_15 +#define SDM_StyleIllTheme_Req_SDM_Cmd_Color_theme_15 (14) +#endif + +#ifndef SDM_StyleIllTheme_Req_SDM_Cmd_Color_theme_14 +#define SDM_StyleIllTheme_Req_SDM_Cmd_Color_theme_14 (13) +#endif + +#ifndef SDM_StyleIllTheme_Req_SDM_Cmd_Color_theme_13 +#define SDM_StyleIllTheme_Req_SDM_Cmd_Color_theme_13 (12) +#endif + +#ifndef SDM_StyleIllTheme_Req_SDM_Cmd_Color_theme_12 +#define SDM_StyleIllTheme_Req_SDM_Cmd_Color_theme_12 (11) +#endif + +#ifndef SDM_StyleIllTheme_Req_SDM_Cmd_Color_theme_11 +#define SDM_StyleIllTheme_Req_SDM_Cmd_Color_theme_11 (10) +#endif + +#ifndef SDM_StyleIllTheme_Req_SDM_Cmd_Color_theme_10 +#define SDM_StyleIllTheme_Req_SDM_Cmd_Color_theme_10 (9) +#endif + +#ifndef SDM_StyleIllTheme_Req_SDM_Cmd_Color_theme_9 +#define SDM_StyleIllTheme_Req_SDM_Cmd_Color_theme_9 (8) +#endif + +#ifndef SDM_StyleIllTheme_Req_SDM_Cmd_Reserved +#define SDM_StyleIllTheme_Req_SDM_Cmd_Reserved (7) +#endif + +#ifndef SDM_StyleIllTheme_Req_SDM_Cmd_Color_theme_7 +#define SDM_StyleIllTheme_Req_SDM_Cmd_Color_theme_7 (6) +#endif + +#ifndef SDM_StyleIllTheme_Req_SDM_Cmd_Color_theme_6 +#define SDM_StyleIllTheme_Req_SDM_Cmd_Color_theme_6 (5) +#endif + +#ifndef SDM_StyleIllTheme_Req_SDM_Cmd_Color_theme_5 +#define SDM_StyleIllTheme_Req_SDM_Cmd_Color_theme_5 (4) +#endif + +#ifndef SDM_StyleIllTheme_Req_SDM_Cmd_Color_theme_4 +#define SDM_StyleIllTheme_Req_SDM_Cmd_Color_theme_4 (3) +#endif + +#ifndef SDM_StyleIllTheme_Req_SDM_Cmd_Color_theme_3 +#define SDM_StyleIllTheme_Req_SDM_Cmd_Color_theme_3 (2) +#endif + +#ifndef SDM_StyleIllTheme_Req_SDM_Cmd_Color_theme_2 +#define SDM_StyleIllTheme_Req_SDM_Cmd_Color_theme_2 (1) +#endif + +#ifndef SDM_StyleIllTheme_Req_SDM_Cmd_Color_theme_1 +#define SDM_StyleIllTheme_Req_SDM_Cmd_Color_theme_1 (0) +#endif + + +// Value tables for @SDM_StyleIllBright_Val signal + +#ifndef SDM_StyleIllBright_Val_SDM_Cmd_No_change +#define SDM_StyleIllBright_Val_SDM_Cmd_No_change (127) +#endif + + typedef struct { #ifdef CANDB_USE_BITS_SIGNAL + // Commands for controlling locks from the SDM unit + // 8 : "REMOTE_START_PRESSED_LONG" + // 7 : "REMOTE_START_PRESSED" + // 6 : "UNLOCK_PRESSED_LONG" + // 5 : "UNLOCK_PRESSED" + // 4 : "TRUNK_PRESSED_LONG" + // 3 : "TRUNK_PRESSED" + // 2 : "LOCK_PRESSED_LONG" + // 1 : "LOCK_PRESSED" + // 0 : "NO_ACTION" + uint8_t SDM_ExteriorKeyFobSw_Req : 4; // Bits= 4 + + // Control of rear left door components from SDM unit + // 7 : "Fault" + // 6 : "Recerve" + // 5 : "Window auto up" + // 4 : "Sun blind up" + // 3 : "Sun blind down " + // 2 : "Window short down" + // 1 : "Window down" + // 0 : "No action" + uint8_t SDM_DMRL_Req : 3; // Bits= 3 + + // Request to wake up the vehicle from the SDM unit + // 1 : "TRUE" + // 0 : "FALSE" + uint8_t SDM_Comm_Req : 1; // Bits= 1 + + // Control of rear right door components from SDM unit + // 7 : "Fault" + // 6 : "Recerve" + // 5 : "Window auto up" + // 4 : "Sun blind up" + // 3 : "Sun blind down " + // 2 : "Window short down" + // 1 : "Window down" + // 0 : "No action" + uint8_t SDM_DMRR_Req : 3; // Bits= 3 + + // Request to activate the alarm from the SDM unit + // 1 : "True" + // 0 : "False" + uint8_t SDM_VisualFeedback_Req : 1; // Bits= 1 + + // Request to activate the sound signal from the SDM unit + // 1 : "TRUE" + // 0 : "FALSE" + uint8_t SDM_AudibleFeedback_Req : 1; // Bits= 1 + + // Control of front left door components from SDM unit + // 7 : "Fault" + // 6 : "Recerve" + // 5 : "Window auto up" + // 4 : "Sun blind up" + // 3 : "Sun blind down " + // 2 : "Window short down" + // 1 : "Window down" + // 0 : "No action" + uint8_t SDM_DMFL_Req : 3; // Bits= 3 + + // Control of front right door components from SDM unit + // 7 : "Fault" + // 6 : "Recerve" + // 5 : "Window auto up" + // 4 : "Sun blind up" + // 3 : "Sun blind down " + // 2 : "Window short down" + // 1 : "Window down" + // 0 : "No action" + uint8_t SDM_DMFR_Req : 3; // Bits= 3 + // Aromatization activation request // 0 : "No change" // 1 : "Aromatization on" // 2 : "Aromatization off" uint8_t SDM_Aroma_Req : 2; // Bits= 2 + // Telematics request for the preparation of the salon climate + uint8_t SDM_PrepSalon_Req : 1; // Bits= 1 + // Aromatization intensity set request // 3 : "Aromatization mode 3 step" // 2 : "Aromatization mode 2 step" @@ -5784,14 +33256,143 @@ typedef struct // 0 : "No change" uint8_t SDM_AromaIntens_Req : 2; // Bits= 2 + // Style illumination global ON/OFF + // 2 : "Function active" + // 1 : "Function inactive" + // 0 : "No change" + uint8_t SDM_StyleIllGlobal_Req : 2; // Bits= 2 + + // Color theme presets for style ill + // 1 - AMETHYST + // 2 - LAPIS LAZU + // 3 - SAPPHIRE + // 4 - EMERALD + // 5 - AURUS + // 6 - RUBY + // 7 - PEARL + // 8 - Reserved + // 9 - MAJORELLE_TANZ + // 10 - AQUAMARINE + // 11 - CHRYSOLITE + // 12 - CRYSTAL + // 13 - AMBER + // 14 - PYROPE + // 15 - OPAL + // 16 - DIAMOND + // 31 : "No change" + // 15 : "Color theme 16" + // 14 : "Color theme 15" + // 13 : "Color theme 14" + // 12 : "Color theme 13" + // 11 : "Color theme 12" + // 10 : "Color theme 11" + // 9 : "Color theme 10" + // 8 : "Color theme 9" + // 7 : "Reserved" + // 6 : "Color theme 7" + // 5 : "Color theme 6" + // 4 : "Color theme 5" + // 3 : "Color theme 4" + // 2 : "Color theme 3" + // 1 : "Color theme 2" + // 0 : "Color theme 1" + uint8_t SDM_StyleIllTheme_Req : 5; // Bits= 5 + + // �Telematics request for stop the preparation of the salon climate + uint8_t SDM_StopPrep_Req : 1; // Bits= 1 + + // Style illumination brightness % + // 127 : "No change" + uint8_t SDM_StyleIllBright_Val : 7; // Bits= 7 Unit:'%' + + // Over-the-Air update session state + uint8_t SDM_OverAirUpd_Stat : 1; // Bits= 1 + + // Tel_ultraviolet request + uint8_t SDM_UV_Req : 1; // Bits= 1 + #else + // Commands for controlling locks from the SDM unit + // 8 : "REMOTE_START_PRESSED_LONG" + // 7 : "REMOTE_START_PRESSED" + // 6 : "UNLOCK_PRESSED_LONG" + // 5 : "UNLOCK_PRESSED" + // 4 : "TRUNK_PRESSED_LONG" + // 3 : "TRUNK_PRESSED" + // 2 : "LOCK_PRESSED_LONG" + // 1 : "LOCK_PRESSED" + // 0 : "NO_ACTION" + uint8_t SDM_ExteriorKeyFobSw_Req; // Bits= 4 + + // Control of rear left door components from SDM unit + // 7 : "Fault" + // 6 : "Recerve" + // 5 : "Window auto up" + // 4 : "Sun blind up" + // 3 : "Sun blind down " + // 2 : "Window short down" + // 1 : "Window down" + // 0 : "No action" + uint8_t SDM_DMRL_Req; // Bits= 3 + + // Request to wake up the vehicle from the SDM unit + // 1 : "TRUE" + // 0 : "FALSE" + uint8_t SDM_Comm_Req; // Bits= 1 + + // Control of rear right door components from SDM unit + // 7 : "Fault" + // 6 : "Recerve" + // 5 : "Window auto up" + // 4 : "Sun blind up" + // 3 : "Sun blind down " + // 2 : "Window short down" + // 1 : "Window down" + // 0 : "No action" + uint8_t SDM_DMRR_Req; // Bits= 3 + + // Request to activate the alarm from the SDM unit + // 1 : "True" + // 0 : "False" + uint8_t SDM_VisualFeedback_Req; // Bits= 1 + + // Request to activate the sound signal from the SDM unit + // 1 : "TRUE" + // 0 : "FALSE" + uint8_t SDM_AudibleFeedback_Req; // Bits= 1 + + // Control of front left door components from SDM unit + // 7 : "Fault" + // 6 : "Recerve" + // 5 : "Window auto up" + // 4 : "Sun blind up" + // 3 : "Sun blind down " + // 2 : "Window short down" + // 1 : "Window down" + // 0 : "No action" + uint8_t SDM_DMFL_Req; // Bits= 3 + + // Control of front right door components from SDM unit + // 7 : "Fault" + // 6 : "Recerve" + // 5 : "Window auto up" + // 4 : "Sun blind up" + // 3 : "Sun blind down " + // 2 : "Window short down" + // 1 : "Window down" + // 0 : "No action" + uint8_t SDM_DMFR_Req; // Bits= 3 + // Aromatization activation request // 0 : "No change" // 1 : "Aromatization on" // 2 : "Aromatization off" uint8_t SDM_Aroma_Req; // Bits= 2 + // Telematics request for the preparation of the salon climate + uint8_t SDM_PrepSalon_Req; // Bits= 1 + // Aromatization intensity set request // 3 : "Aromatization mode 3 step" // 2 : "Aromatization mode 2 step" @@ -5799,6 +33400,61 @@ typedef struct // 0 : "No change" uint8_t SDM_AromaIntens_Req; // Bits= 2 + // Style illumination global ON/OFF + // 2 : "Function active" + // 1 : "Function inactive" + // 0 : "No change" + uint8_t SDM_StyleIllGlobal_Req; // Bits= 2 + + // Color theme presets for style ill + // 1 - AMETHYST + // 2 - LAPIS LAZU + // 3 - SAPPHIRE + // 4 - EMERALD + // 5 - AURUS + // 6 - RUBY + // 7 - PEARL + // 8 - Reserved + // 9 - MAJORELLE_TANZ + // 10 - AQUAMARINE + // 11 - CHRYSOLITE + // 12 - CRYSTAL + // 13 - AMBER + // 14 - PYROPE + // 15 - OPAL + // 16 - DIAMOND + // 31 : "No change" + // 15 : "Color theme 16" + // 14 : "Color theme 15" + // 13 : "Color theme 14" + // 12 : "Color theme 13" + // 11 : "Color theme 12" + // 10 : "Color theme 11" + // 9 : "Color theme 10" + // 8 : "Color theme 9" + // 7 : "Reserved" + // 6 : "Color theme 7" + // 5 : "Color theme 6" + // 4 : "Color theme 5" + // 3 : "Color theme 4" + // 2 : "Color theme 3" + // 1 : "Color theme 2" + // 0 : "Color theme 1" + uint8_t SDM_StyleIllTheme_Req; // Bits= 5 + + // �Telematics request for stop the preparation of the salon climate + uint8_t SDM_StopPrep_Req; // Bits= 1 + + // Style illumination brightness % + // 127 : "No change" + uint8_t SDM_StyleIllBright_Val; // Bits= 7 Unit:'%' + + // Over-the-Air update session state + uint8_t SDM_OverAirUpd_Stat; // Bits= 1 + + // Tel_ultraviolet request + uint8_t SDM_UV_Req; // Bits= 1 + #endif // CANDB_USE_BITS_SIGNAL #ifdef CANDB_USE_DIAG_MONITORS @@ -5809,6 +33465,263 @@ typedef struct } SDM_Cmd_t; +// def @HUD_MSG_STATUS CAN Message (1297 0x511) +#define HUD_MSG_STATUS_IDE (0U) +#define HUD_MSG_STATUS_DLC (1U) +#define HUD_MSG_STATUS_CANID (0x511U) +#define HUD_MSG_STATUS_CYC (200U) + +// Value tables for @HUD_Activation_Stat signal + +#ifndef HUD_Activation_Stat_HUD_MSG_STATUS_Active +#define HUD_Activation_Stat_HUD_MSG_STATUS_Active (1) +#endif + +#ifndef HUD_Activation_Stat_HUD_MSG_STATUS_Inactive +#define HUD_Activation_Stat_HUD_MSG_STATUS_Inactive (0) +#endif + + +// Value tables for @HUD_ReadyFlag_Stat signal + +#ifndef HUD_ReadyFlag_Stat_HUD_MSG_STATUS_HUD_Ready +#define HUD_ReadyFlag_Stat_HUD_MSG_STATUS_HUD_Ready (1) +#endif + +#ifndef HUD_ReadyFlag_Stat_HUD_MSG_STATUS_HUD_not_Ready +#define HUD_ReadyFlag_Stat_HUD_MSG_STATUS_HUD_not_Ready (0) +#endif + + +// Value tables for @HUD_NAVI_Active_Stat signal + +#ifndef HUD_NAVI_Active_Stat_HUD_MSG_STATUS_Navigation_map_is_active +#define HUD_NAVI_Active_Stat_HUD_MSG_STATUS_Navigation_map_is_active (1) +#endif + +#ifndef HUD_NAVI_Active_Stat_HUD_MSG_STATUS_Navigation_map_is_not_active +#define HUD_NAVI_Active_Stat_HUD_MSG_STATUS_Navigation_map_is_not_active (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // HUD activation status + // 1 : "Active" + // 0 : "Inactive" + uint8_t HUD_Activation_Stat : 1; // Bits= 1 + + // indicates the HUD state for requesting memorized info in FIU: + // 0x0 = HUD not ready + // 0x1 = HUD Ready to receive memorized configuration. + // 1 : "HUD Ready" + // 0 : "HUD not Ready" + uint8_t HUD_ReadyFlag_Stat : 1; // Bits= 1 + + // 0x00 Navigation map is not active + // 0x01 Navigation map is active + // 1 : "Navigation map is active" + // 0 : "Navigation map is not active" + uint8_t HUD_NAVI_Active_Stat : 1; // Bits= 1 + +#else + + // HUD activation status + // 1 : "Active" + // 0 : "Inactive" + uint8_t HUD_Activation_Stat; // Bits= 1 + + // indicates the HUD state for requesting memorized info in FIU: + // 0x0 = HUD not ready + // 0x1 = HUD Ready to receive memorized configuration. + // 1 : "HUD Ready" + // 0 : "HUD not Ready" + uint8_t HUD_ReadyFlag_Stat; // Bits= 1 + + // 0x00 Navigation map is not active + // 0x01 Navigation map is active + // 1 : "Navigation map is active" + // 0 : "Navigation map is not active" + uint8_t HUD_NAVI_Active_Stat; // Bits= 1 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} HUD_MSG_STATUS_t; + +// def @IC_SDM_Info_02 CAN Message (1298 0x512) +#define IC_SDM_Info_02_IDE (0U) +#define IC_SDM_Info_02_DLC (6U) +#define IC_SDM_Info_02_CANID (0x512U) +#define IC_SDM_Info_02_CYC (500U) +// signal: @IC_AverageConsump_ro +#define CANDB_IC_AverageConsump_ro_CovFactor (0.1) +#define CANDB_IC_AverageConsump_ro_toS(x) ( (uint16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_IC_AverageConsump_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) + +// Value tables for @IC_CurrentConsumptionUnit signal + +#ifndef IC_CurrentConsumptionUnit_IC_SDM_Info_02_L_or_kWh_or_kg_H +#define IC_CurrentConsumptionUnit_IC_SDM_Info_02_L_or_kWh_or_kg_H (1) +#endif + +#ifndef IC_CurrentConsumptionUnit_IC_SDM_Info_02__L_or_kWh_or_kg_100_Km +#define IC_CurrentConsumptionUnit_IC_SDM_Info_02__L_or_kWh_or_kg_100_Km (0) +#endif + +// signal: @IC_CurrentConsump_ro +#define CANDB_IC_CurrentConsump_ro_CovFactor (0.1) +#define CANDB_IC_CurrentConsump_ro_toS(x) ( (uint16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_IC_CurrentConsump_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) + +// Value tables for @IC_CruisingRange signal + +#ifndef IC_CruisingRange_IC_SDM_Info_02_Value_error +#define IC_CruisingRange_IC_SDM_Info_02_Value_error (1023) +#endif + +#ifndef IC_CruisingRange_IC_SDM_Info_02__Km +#define IC_CruisingRange_IC_SDM_Info_02__Km (2) +#endif + +#ifndef IC_CruisingRange_IC_SDM_Info_02__Km +#define IC_CruisingRange_IC_SDM_Info_02__Km (1) +#endif + +#ifndef IC_CruisingRange_IC_SDM_Info_02__Km +#define IC_CruisingRange_IC_SDM_Info_02__Km (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Average consamption in l/100Km, step 0.1 liter/100 Km + uint16_t IC_AverageConsump_ro; // Bits=10 Factor= 0.1 Unit:'l/km' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t IC_AverageConsump_phys; +#endif // CANDB_USE_SIGFLOAT + + // Current consumption Unit (liters, power, kilograms) + // 1 : "L or kWh or kg /H" + // 0 : " L or kWh or kg /100 Km" + uint8_t IC_CurrentConsumptionUnit : 1; // Bits= 1 + + // Current consamption in l/100Km(H), step 0.1 liter/100 Km(H). Unit according CurrentConsumptionUnit + uint16_t IC_CurrentConsump_ro; // Bits=10 Factor= 0.1 Unit:'l/km' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t IC_CurrentConsump_phys; +#endif // CANDB_USE_SIGFLOAT + + // Estimated Cruising range + // 1023 : "Value error" + // 2 : "2 Km" + // 1 : "1 Km" + // 0 : "0 Km" + uint16_t IC_CruisingRange; // Bits=10 Unit:'km' + +#else + + // Average consamption in l/100Km, step 0.1 liter/100 Km + uint16_t IC_AverageConsump_ro; // Bits=10 Factor= 0.1 Unit:'l/km' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t IC_AverageConsump_phys; +#endif // CANDB_USE_SIGFLOAT + + // Current consumption Unit (liters, power, kilograms) + // 1 : "L or kWh or kg /H" + // 0 : " L or kWh or kg /100 Km" + uint8_t IC_CurrentConsumptionUnit; // Bits= 1 + + // Current consamption in l/100Km(H), step 0.1 liter/100 Km(H). Unit according CurrentConsumptionUnit + uint16_t IC_CurrentConsump_ro; // Bits=10 Factor= 0.1 Unit:'l/km' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t IC_CurrentConsump_phys; +#endif // CANDB_USE_SIGFLOAT + + // Estimated Cruising range + // 1023 : "Value error" + // 2 : "2 Km" + // 1 : "1 Km" + // 0 : "0 Km" + uint16_t IC_CruisingRange; // Bits=10 Unit:'km' + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} IC_SDM_Info_02_t; + +// def @IC_Milleage CAN Message (1300 0x514) +#define IC_Milleage_IDE (0U) +#define IC_Milleage_DLC (5U) +#define IC_Milleage_CANID (0x514U) +#define IC_Milleage_CYC (500U) +// signal: @IC_Mileage_Val_ro +#define CANDB_IC_Mileage_Val_ro_CovFactor (0.1) +#define CANDB_IC_Mileage_Val_ro_toS(x) ( (uint32_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_IC_Mileage_Val_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Mileage/ odometer signal to provide vehicle mileage information. + // 0x7FFFFFF = Error + uint32_t IC_Mileage_Val_ro; // Bits=27 Factor= 0.1 Unit:'km' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t IC_Mileage_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Rolling Counter [0 - 15] + uint8_t IC_Mileage_RC : 4; // Bits= 4 + + // Checksum CRC8 SAE J1850 of the data field this message + uint8_t IC_Mileage_CS; // Bits= 8 + +#else + + // Mileage/ odometer signal to provide vehicle mileage information. + // 0x7FFFFFF = Error + uint32_t IC_Mileage_Val_ro; // Bits=27 Factor= 0.1 Unit:'km' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t IC_Mileage_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Rolling Counter [0 - 15] + uint8_t IC_Mileage_RC; // Bits= 4 + + // Checksum CRC8 SAE J1850 of the data field this message + uint8_t IC_Mileage_CS; // Bits= 8 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} IC_Milleage_t; + // VIN Code structure: // e.g: XKN412300H1000027 // XKN: code WMI @@ -6078,6 +33991,115 @@ typedef struct } VEH_VIN_t; +// def @BCM_RunningBoards CAN Message (1310 0x51e) +#define BCM_RunningBoards_IDE (0U) +#define BCM_RunningBoards_DLC (1U) +#define BCM_RunningBoards_CANID (0x51eU) +#define BCM_RunningBoards_CYC (250U) + +// Value tables for @BCM_LeftMotion_Cmd signal + +#ifndef BCM_LeftMotion_Cmd_BCM_RunningBoards_Calibration_Request +#define BCM_LeftMotion_Cmd_BCM_RunningBoards_Calibration_Request (3) +#endif + +#ifndef BCM_LeftMotion_Cmd_BCM_RunningBoards_Open_Request +#define BCM_LeftMotion_Cmd_BCM_RunningBoards_Open_Request (2) +#endif + +#ifndef BCM_LeftMotion_Cmd_BCM_RunningBoards_Close_Request +#define BCM_LeftMotion_Cmd_BCM_RunningBoards_Close_Request (1) +#endif + +#ifndef BCM_LeftMotion_Cmd_BCM_RunningBoards_No_Action +#define BCM_LeftMotion_Cmd_BCM_RunningBoards_No_Action (0) +#endif + + +// Value tables for @BCM_RightMotion_Cmd signal + +#ifndef BCM_RightMotion_Cmd_BCM_RunningBoards_Calibration_Request +#define BCM_RightMotion_Cmd_BCM_RunningBoards_Calibration_Request (3) +#endif + +#ifndef BCM_RightMotion_Cmd_BCM_RunningBoards_Open_Request +#define BCM_RightMotion_Cmd_BCM_RunningBoards_Open_Request (2) +#endif + +#ifndef BCM_RightMotion_Cmd_BCM_RunningBoards_Close_Request +#define BCM_RightMotion_Cmd_BCM_RunningBoards_Close_Request (1) +#endif + +#ifndef BCM_RightMotion_Cmd_BCM_RunningBoards_No_Action +#define BCM_RightMotion_Cmd_BCM_RunningBoards_No_Action (0) +#endif + + +// Value tables for @BCM_Buzzer_Cmd signal + +#ifndef BCM_Buzzer_Cmd_BCM_RunningBoards_Request +#define BCM_Buzzer_Cmd_BCM_RunningBoards_Request (1) +#endif + +#ifndef BCM_Buzzer_Cmd_BCM_RunningBoards_No_Request +#define BCM_Buzzer_Cmd_BCM_RunningBoards_No_Request (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Left Running board commands + // 3 : "Calibration Request" + // 2 : "Open Request" + // 1 : "Close Request" + // 0 : "No Action" + uint8_t BCM_LeftMotion_Cmd : 2; // Bits= 2 + + // Right Running board commands + // 3 : "Calibration Request" + // 2 : "Open Request" + // 1 : "Close Request" + // 0 : "No Action" + uint8_t BCM_RightMotion_Cmd : 2; // Bits= 2 + + // Buzzer action request signal. While 0x1 - buzzer active + // 1 : "Request" + // 0 : "No Request" + uint8_t BCM_Buzzer_Cmd : 1; // Bits= 1 + +#else + + // Left Running board commands + // 3 : "Calibration Request" + // 2 : "Open Request" + // 1 : "Close Request" + // 0 : "No Action" + uint8_t BCM_LeftMotion_Cmd; // Bits= 2 + + // Right Running board commands + // 3 : "Calibration Request" + // 2 : "Open Request" + // 1 : "Close Request" + // 0 : "No Action" + uint8_t BCM_RightMotion_Cmd; // Bits= 2 + + // Buzzer action request signal. While 0x1 - buzzer active + // 1 : "Request" + // 0 : "No Request" + uint8_t BCM_Buzzer_Cmd; // Bits= 1 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} BCM_RunningBoards_t; + // def @OCUFL_MSG CAN Message (1313 0x521) #define OCUFL_MSG_IDE (0U) #define OCUFL_MSG_DLC (2U) @@ -6610,6 +34632,7925 @@ typedef struct } OCURR_MSG_t; +// RBCU Errors to FIU +// def @RBCU_BODY_Stat CAN Message (1317 0x525) +#define RBCU_BODY_Stat_IDE (0U) +#define RBCU_BODY_Stat_DLC (2U) +#define RBCU_BODY_Stat_CANID (0x525U) +#define RBCU_BODY_Stat_CYC (250U) + +// Value tables for @RBCU_LeftErr_Stat signal + +#ifndef RBCU_LeftErr_Stat_RBCU_BODY_Stat_Error +#define RBCU_LeftErr_Stat_RBCU_BODY_Stat_Error (1) +#endif + +#ifndef RBCU_LeftErr_Stat_RBCU_BODY_Stat_No_error +#define RBCU_LeftErr_Stat_RBCU_BODY_Stat_No_error (0) +#endif + + +// Value tables for @RBCU_LeftAntipinch_Stat signal + +#ifndef RBCU_LeftAntipinch_Stat_RBCU_BODY_Stat_Antipinch_Occurred +#define RBCU_LeftAntipinch_Stat_RBCU_BODY_Stat_Antipinch_Occurred (1) +#endif + +#ifndef RBCU_LeftAntipinch_Stat_RBCU_BODY_Stat_No_Antipinch_Occured +#define RBCU_LeftAntipinch_Stat_RBCU_BODY_Stat_No_Antipinch_Occured (0) +#endif + + +// Value tables for @RBCU_LeftMotion_Stat signal + +#ifndef RBCU_LeftMotion_Stat_RBCU_BODY_Stat_Opening +#define RBCU_LeftMotion_Stat_RBCU_BODY_Stat_Opening (2) +#endif + +#ifndef RBCU_LeftMotion_Stat_RBCU_BODY_Stat_Closing +#define RBCU_LeftMotion_Stat_RBCU_BODY_Stat_Closing (1) +#endif + +#ifndef RBCU_LeftMotion_Stat_RBCU_BODY_Stat_Stopped +#define RBCU_LeftMotion_Stat_RBCU_BODY_Stat_Stopped (0) +#endif + + +// Value tables for @RBCU_LeftPosition_Stat signal + +#ifndef RBCU_LeftPosition_Stat_RBCU_BODY_Stat_Opened +#define RBCU_LeftPosition_Stat_RBCU_BODY_Stat_Opened (3) +#endif + +#ifndef RBCU_LeftPosition_Stat_RBCU_BODY_Stat_Intermediate +#define RBCU_LeftPosition_Stat_RBCU_BODY_Stat_Intermediate (2) +#endif + +#ifndef RBCU_LeftPosition_Stat_RBCU_BODY_Stat_Closed +#define RBCU_LeftPosition_Stat_RBCU_BODY_Stat_Closed (1) +#endif + +#ifndef RBCU_LeftPosition_Stat_RBCU_BODY_Stat_Unknown +#define RBCU_LeftPosition_Stat_RBCU_BODY_Stat_Unknown (0) +#endif + + +// Value tables for @RBCU_LeftCalibration_Stat signal + +#ifndef RBCU_LeftCalibration_Stat_RBCU_BODY_Stat_Calibrated +#define RBCU_LeftCalibration_Stat_RBCU_BODY_Stat_Calibrated (1) +#endif + +#ifndef RBCU_LeftCalibration_Stat_RBCU_BODY_Stat_Not_calibrated +#define RBCU_LeftCalibration_Stat_RBCU_BODY_Stat_Not_calibrated (0) +#endif + + +// Value tables for @RBCU_RightErr_Stat signal + +#ifndef RBCU_RightErr_Stat_RBCU_BODY_Stat_Error +#define RBCU_RightErr_Stat_RBCU_BODY_Stat_Error (1) +#endif + +#ifndef RBCU_RightErr_Stat_RBCU_BODY_Stat_No_error +#define RBCU_RightErr_Stat_RBCU_BODY_Stat_No_error (0) +#endif + + +// Value tables for @RBCU_RightAntipinch_Stat signal + +#ifndef RBCU_RightAntipinch_Stat_RBCU_BODY_Stat_Antipinch_Occurred +#define RBCU_RightAntipinch_Stat_RBCU_BODY_Stat_Antipinch_Occurred (1) +#endif + +#ifndef RBCU_RightAntipinch_Stat_RBCU_BODY_Stat_No_Antipinch_Occured +#define RBCU_RightAntipinch_Stat_RBCU_BODY_Stat_No_Antipinch_Occured (0) +#endif + + +// Value tables for @RBCU_RightMotion_Stat signal + +#ifndef RBCU_RightMotion_Stat_RBCU_BODY_Stat_Opening +#define RBCU_RightMotion_Stat_RBCU_BODY_Stat_Opening (2) +#endif + +#ifndef RBCU_RightMotion_Stat_RBCU_BODY_Stat_Closing +#define RBCU_RightMotion_Stat_RBCU_BODY_Stat_Closing (1) +#endif + +#ifndef RBCU_RightMotion_Stat_RBCU_BODY_Stat_Stopped +#define RBCU_RightMotion_Stat_RBCU_BODY_Stat_Stopped (0) +#endif + + +// Value tables for @RBCU_RightPosition_Stat signal + +#ifndef RBCU_RightPosition_Stat_RBCU_BODY_Stat_Opened +#define RBCU_RightPosition_Stat_RBCU_BODY_Stat_Opened (3) +#endif + +#ifndef RBCU_RightPosition_Stat_RBCU_BODY_Stat_Intermediate +#define RBCU_RightPosition_Stat_RBCU_BODY_Stat_Intermediate (2) +#endif + +#ifndef RBCU_RightPosition_Stat_RBCU_BODY_Stat_Closed +#define RBCU_RightPosition_Stat_RBCU_BODY_Stat_Closed (1) +#endif + +#ifndef RBCU_RightPosition_Stat_RBCU_BODY_Stat_Unknown +#define RBCU_RightPosition_Stat_RBCU_BODY_Stat_Unknown (0) +#endif + + +// Value tables for @RBCU_RightCalibration_Stat signal + +#ifndef RBCU_RightCalibration_Stat_RBCU_BODY_Stat_Calibrated +#define RBCU_RightCalibration_Stat_RBCU_BODY_Stat_Calibrated (1) +#endif + +#ifndef RBCU_RightCalibration_Stat_RBCU_BODY_Stat_Not_calibrated +#define RBCU_RightCalibration_Stat_RBCU_BODY_Stat_Not_calibrated (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Left running board error case signal + // 1 : "Error" + // 0 : "No error" + uint8_t RBCU_LeftErr_Stat : 1; // Bits= 1 + + // Left running board antipinch detect status + // 1 : "Antipinch Occurred" + // 0 : "No Antipinch Occured" + uint8_t RBCU_LeftAntipinch_Stat : 1; // Bits= 1 + + // Left runing board motion status + // 2 : "Opening" + // 1 : "Closing" + // 0 : "Stopped" + uint8_t RBCU_LeftMotion_Stat : 2; // Bits= 2 + + // Left running board position status + // 3 : "Opened" + // 2 : "Intermediate" + // 1 : "Closed" + // 0 : "Unknown" + uint8_t RBCU_LeftPosition_Stat : 2; // Bits= 2 + + // Left running board calibration status + // 1 : "Calibrated" + // 0 : "Not calibrated" + uint8_t RBCU_LeftCalibration_Stat : 1; // Bits= 1 + + // Right running board error case signal + // 1 : "Error" + // 0 : "No error" + uint8_t RBCU_RightErr_Stat : 1; // Bits= 1 + + // Right running board antipinch detect status + // 1 : "Antipinch Occurred" + // 0 : "No Antipinch Occured" + uint8_t RBCU_RightAntipinch_Stat : 1; // Bits= 1 + + // Right runing board motion status + // 2 : "Opening" + // 1 : "Closing" + // 0 : "Stopped" + uint8_t RBCU_RightMotion_Stat : 2; // Bits= 2 + + // Right running board position status + // 3 : "Opened" + // 2 : "Intermediate" + // 1 : "Closed" + // 0 : "Unknown" + uint8_t RBCU_RightPosition_Stat : 2; // Bits= 2 + + // Right running board calibration status + // 1 : "Calibrated" + // 0 : "Not calibrated" + uint8_t RBCU_RightCalibration_Stat : 1; // Bits= 1 + +#else + + // Left running board error case signal + // 1 : "Error" + // 0 : "No error" + uint8_t RBCU_LeftErr_Stat; // Bits= 1 + + // Left running board antipinch detect status + // 1 : "Antipinch Occurred" + // 0 : "No Antipinch Occured" + uint8_t RBCU_LeftAntipinch_Stat; // Bits= 1 + + // Left runing board motion status + // 2 : "Opening" + // 1 : "Closing" + // 0 : "Stopped" + uint8_t RBCU_LeftMotion_Stat; // Bits= 2 + + // Left running board position status + // 3 : "Opened" + // 2 : "Intermediate" + // 1 : "Closed" + // 0 : "Unknown" + uint8_t RBCU_LeftPosition_Stat; // Bits= 2 + + // Left running board calibration status + // 1 : "Calibrated" + // 0 : "Not calibrated" + uint8_t RBCU_LeftCalibration_Stat; // Bits= 1 + + // Right running board error case signal + // 1 : "Error" + // 0 : "No error" + uint8_t RBCU_RightErr_Stat; // Bits= 1 + + // Right running board antipinch detect status + // 1 : "Antipinch Occurred" + // 0 : "No Antipinch Occured" + uint8_t RBCU_RightAntipinch_Stat; // Bits= 1 + + // Right runing board motion status + // 2 : "Opening" + // 1 : "Closing" + // 0 : "Stopped" + uint8_t RBCU_RightMotion_Stat; // Bits= 2 + + // Right running board position status + // 3 : "Opened" + // 2 : "Intermediate" + // 1 : "Closed" + // 0 : "Unknown" + uint8_t RBCU_RightPosition_Stat; // Bits= 2 + + // Right running board calibration status + // 1 : "Calibrated" + // 0 : "Not calibrated" + uint8_t RBCU_RightCalibration_Stat; // Bits= 1 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} RBCU_BODY_Stat_t; + +// def @FIU_SMRL_REQ_CTR_SEATS CAN Message (1324 0x52c) +#define FIU_SMRL_REQ_CTR_SEATS_IDE (0U) +#define FIU_SMRL_REQ_CTR_SEATS_DLC (7U) +#define FIU_SMRL_REQ_CTR_SEATS_CANID (0x52cU) + +// Value tables for @FIU_SMRL_SeatHeight_Req signal + +#ifndef FIU_SMRL_SeatHeight_Req_FIU_SMRL_REQ_CTR_SEATS_Reserved +#define FIU_SMRL_SeatHeight_Req_FIU_SMRL_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef FIU_SMRL_SeatHeight_Req_FIU_SMRL_REQ_CTR_SEATS_Decrease +#define FIU_SMRL_SeatHeight_Req_FIU_SMRL_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef FIU_SMRL_SeatHeight_Req_FIU_SMRL_REQ_CTR_SEATS_Increase +#define FIU_SMRL_SeatHeight_Req_FIU_SMRL_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef FIU_SMRL_SeatHeight_Req_FIU_SMRL_REQ_CTR_SEATS_No_action +#define FIU_SMRL_SeatHeight_Req_FIU_SMRL_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMRL_HeadRestHeight_Req signal + +#ifndef FIU_SMRL_HeadRestHeight_Req_FIU_SMRL_REQ_CTR_SEATS_Reserved +#define FIU_SMRL_HeadRestHeight_Req_FIU_SMRL_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef FIU_SMRL_HeadRestHeight_Req_FIU_SMRL_REQ_CTR_SEATS_Decrease +#define FIU_SMRL_HeadRestHeight_Req_FIU_SMRL_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef FIU_SMRL_HeadRestHeight_Req_FIU_SMRL_REQ_CTR_SEATS_Increase +#define FIU_SMRL_HeadRestHeight_Req_FIU_SMRL_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef FIU_SMRL_HeadRestHeight_Req_FIU_SMRL_REQ_CTR_SEATS_No_action +#define FIU_SMRL_HeadRestHeight_Req_FIU_SMRL_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMRL_SeatLongitudinal_Req signal + +#ifndef FIU_SMRL_SeatLongitudinal_Req_FIU_SMRL_REQ_CTR_SEATS_Reserved +#define FIU_SMRL_SeatLongitudinal_Req_FIU_SMRL_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef FIU_SMRL_SeatLongitudinal_Req_FIU_SMRL_REQ_CTR_SEATS_Decrease +#define FIU_SMRL_SeatLongitudinal_Req_FIU_SMRL_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef FIU_SMRL_SeatLongitudinal_Req_FIU_SMRL_REQ_CTR_SEATS_Increase +#define FIU_SMRL_SeatLongitudinal_Req_FIU_SMRL_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef FIU_SMRL_SeatLongitudinal_Req_FIU_SMRL_REQ_CTR_SEATS_No_action +#define FIU_SMRL_SeatLongitudinal_Req_FIU_SMRL_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMRL_SeatHeadRestInclin_Req signal + +#ifndef FIU_SMRL_SeatHeadRestInclin_Req_FIU_SMRL_REQ_CTR_SEATS_Reserved +#define FIU_SMRL_SeatHeadRestInclin_Req_FIU_SMRL_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef FIU_SMRL_SeatHeadRestInclin_Req_FIU_SMRL_REQ_CTR_SEATS_Decrease +#define FIU_SMRL_SeatHeadRestInclin_Req_FIU_SMRL_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef FIU_SMRL_SeatHeadRestInclin_Req_FIU_SMRL_REQ_CTR_SEATS_Increase +#define FIU_SMRL_SeatHeadRestInclin_Req_FIU_SMRL_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef FIU_SMRL_SeatHeadRestInclin_Req_FIU_SMRL_REQ_CTR_SEATS_No_action +#define FIU_SMRL_SeatHeadRestInclin_Req_FIU_SMRL_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMRL_SeatSurfaceLong_Req signal + +#ifndef FIU_SMRL_SeatSurfaceLong_Req_FIU_SMRL_REQ_CTR_SEATS_Reserved +#define FIU_SMRL_SeatSurfaceLong_Req_FIU_SMRL_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef FIU_SMRL_SeatSurfaceLong_Req_FIU_SMRL_REQ_CTR_SEATS_Decrease +#define FIU_SMRL_SeatSurfaceLong_Req_FIU_SMRL_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef FIU_SMRL_SeatSurfaceLong_Req_FIU_SMRL_REQ_CTR_SEATS_Increase +#define FIU_SMRL_SeatSurfaceLong_Req_FIU_SMRL_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef FIU_SMRL_SeatSurfaceLong_Req_FIU_SMRL_REQ_CTR_SEATS_No_action +#define FIU_SMRL_SeatSurfaceLong_Req_FIU_SMRL_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMRL_SeatLegSupportH_Req signal + +#ifndef FIU_SMRL_SeatLegSupportH_Req_FIU_SMRL_REQ_CTR_SEATS_Reserved +#define FIU_SMRL_SeatLegSupportH_Req_FIU_SMRL_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef FIU_SMRL_SeatLegSupportH_Req_FIU_SMRL_REQ_CTR_SEATS_Decrease +#define FIU_SMRL_SeatLegSupportH_Req_FIU_SMRL_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef FIU_SMRL_SeatLegSupportH_Req_FIU_SMRL_REQ_CTR_SEATS_Increase +#define FIU_SMRL_SeatLegSupportH_Req_FIU_SMRL_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef FIU_SMRL_SeatLegSupportH_Req_FIU_SMRL_REQ_CTR_SEATS_No_action +#define FIU_SMRL_SeatLegSupportH_Req_FIU_SMRL_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMRL_SeatLegSupportLong_Req signal + +#ifndef FIU_SMRL_SeatLegSupportLong_Req_FIU_SMRL_REQ_CTR_SEATS_Resertved +#define FIU_SMRL_SeatLegSupportLong_Req_FIU_SMRL_REQ_CTR_SEATS_Resertved (3) +#endif + +#ifndef FIU_SMRL_SeatLegSupportLong_Req_FIU_SMRL_REQ_CTR_SEATS_Decrease +#define FIU_SMRL_SeatLegSupportLong_Req_FIU_SMRL_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef FIU_SMRL_SeatLegSupportLong_Req_FIU_SMRL_REQ_CTR_SEATS_Increase +#define FIU_SMRL_SeatLegSupportLong_Req_FIU_SMRL_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef FIU_SMRL_SeatLegSupportLong_Req_FIU_SMRL_REQ_CTR_SEATS_No_action +#define FIU_SMRL_SeatLegSupportLong_Req_FIU_SMRL_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMRL_SeatInclination_Req signal + +#ifndef FIU_SMRL_SeatInclination_Req_FIU_SMRL_REQ_CTR_SEATS_Reserved +#define FIU_SMRL_SeatInclination_Req_FIU_SMRL_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef FIU_SMRL_SeatInclination_Req_FIU_SMRL_REQ_CTR_SEATS_Decrease +#define FIU_SMRL_SeatInclination_Req_FIU_SMRL_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef FIU_SMRL_SeatInclination_Req_FIU_SMRL_REQ_CTR_SEATS_Increase +#define FIU_SMRL_SeatInclination_Req_FIU_SMRL_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef FIU_SMRL_SeatInclination_Req_FIU_SMRL_REQ_CTR_SEATS_No_action +#define FIU_SMRL_SeatInclination_Req_FIU_SMRL_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMRL_SeatBackRestInc_Req signal + +#ifndef FIU_SMRL_SeatBackRestInc_Req_FIU_SMRL_REQ_CTR_SEATS_Reserved +#define FIU_SMRL_SeatBackRestInc_Req_FIU_SMRL_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef FIU_SMRL_SeatBackRestInc_Req_FIU_SMRL_REQ_CTR_SEATS_Decrease +#define FIU_SMRL_SeatBackRestInc_Req_FIU_SMRL_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef FIU_SMRL_SeatBackRestInc_Req_FIU_SMRL_REQ_CTR_SEATS_Increase +#define FIU_SMRL_SeatBackRestInc_Req_FIU_SMRL_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef FIU_SMRL_SeatBackRestInc_Req_FIU_SMRL_REQ_CTR_SEATS_No_action +#define FIU_SMRL_SeatBackRestInc_Req_FIU_SMRL_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMRL_SeatLumbarSupportH_Req signal + +#ifndef FIU_SMRL_SeatLumbarSupportH_Req_FIU_SMRL_REQ_CTR_SEATS_Reserved +#define FIU_SMRL_SeatLumbarSupportH_Req_FIU_SMRL_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef FIU_SMRL_SeatLumbarSupportH_Req_FIU_SMRL_REQ_CTR_SEATS_Decrease +#define FIU_SMRL_SeatLumbarSupportH_Req_FIU_SMRL_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef FIU_SMRL_SeatLumbarSupportH_Req_FIU_SMRL_REQ_CTR_SEATS_Increase +#define FIU_SMRL_SeatLumbarSupportH_Req_FIU_SMRL_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef FIU_SMRL_SeatLumbarSupportH_Req_FIU_SMRL_REQ_CTR_SEATS_No_action +#define FIU_SMRL_SeatLumbarSupportH_Req_FIU_SMRL_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMRL_SeatBackRestHeadInc_Req signal + +#ifndef FIU_SMRL_SeatBackRestHeadInc_Req_FIU_SMRL_REQ_CTR_SEATS_Reserved +#define FIU_SMRL_SeatBackRestHeadInc_Req_FIU_SMRL_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef FIU_SMRL_SeatBackRestHeadInc_Req_FIU_SMRL_REQ_CTR_SEATS_Decrease +#define FIU_SMRL_SeatBackRestHeadInc_Req_FIU_SMRL_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef FIU_SMRL_SeatBackRestHeadInc_Req_FIU_SMRL_REQ_CTR_SEATS_Increase +#define FIU_SMRL_SeatBackRestHeadInc_Req_FIU_SMRL_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef FIU_SMRL_SeatBackRestHeadInc_Req_FIU_SMRL_REQ_CTR_SEATS_No_action +#define FIU_SMRL_SeatBackRestHeadInc_Req_FIU_SMRL_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMRL_SeatLumbarSupDepth_Req signal + +#ifndef FIU_SMRL_SeatLumbarSupDepth_Req_FIU_SMRL_REQ_CTR_SEATS_Reserved +#define FIU_SMRL_SeatLumbarSupDepth_Req_FIU_SMRL_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef FIU_SMRL_SeatLumbarSupDepth_Req_FIU_SMRL_REQ_CTR_SEATS_Decrease +#define FIU_SMRL_SeatLumbarSupDepth_Req_FIU_SMRL_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef FIU_SMRL_SeatLumbarSupDepth_Req_FIU_SMRL_REQ_CTR_SEATS_Increase +#define FIU_SMRL_SeatLumbarSupDepth_Req_FIU_SMRL_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef FIU_SMRL_SeatLumbarSupDepth_Req_FIU_SMRL_REQ_CTR_SEATS_No_action +#define FIU_SMRL_SeatLumbarSupDepth_Req_FIU_SMRL_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMRL_BackRestWidth_Req signal + +#ifndef FIU_SMRL_BackRestWidth_Req_FIU_SMRL_REQ_CTR_SEATS_Reserved +#define FIU_SMRL_BackRestWidth_Req_FIU_SMRL_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef FIU_SMRL_BackRestWidth_Req_FIU_SMRL_REQ_CTR_SEATS_Decrease +#define FIU_SMRL_BackRestWidth_Req_FIU_SMRL_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef FIU_SMRL_BackRestWidth_Req_FIU_SMRL_REQ_CTR_SEATS_Increase +#define FIU_SMRL_BackRestWidth_Req_FIU_SMRL_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef FIU_SMRL_BackRestWidth_Req_FIU_SMRL_REQ_CTR_SEATS_No_action +#define FIU_SMRL_BackRestWidth_Req_FIU_SMRL_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMRL_SeatCushionSupport_Req signal + +#ifndef FIU_SMRL_SeatCushionSupport_Req_FIU_SMRL_REQ_CTR_SEATS_Reserved +#define FIU_SMRL_SeatCushionSupport_Req_FIU_SMRL_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef FIU_SMRL_SeatCushionSupport_Req_FIU_SMRL_REQ_CTR_SEATS_Decrease +#define FIU_SMRL_SeatCushionSupport_Req_FIU_SMRL_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef FIU_SMRL_SeatCushionSupport_Req_FIU_SMRL_REQ_CTR_SEATS_Increase +#define FIU_SMRL_SeatCushionSupport_Req_FIU_SMRL_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef FIU_SMRL_SeatCushionSupport_Req_FIU_SMRL_REQ_CTR_SEATS_No_action +#define FIU_SMRL_SeatCushionSupport_Req_FIU_SMRL_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMRL_SeatMassage_Req signal + +#ifndef FIU_SMRL_SeatMassage_Req_FIU_SMRL_REQ_CTR_SEATS_Reserved +#define FIU_SMRL_SeatMassage_Req_FIU_SMRL_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef FIU_SMRL_SeatMassage_Req_FIU_SMRL_REQ_CTR_SEATS_Massage_ON +#define FIU_SMRL_SeatMassage_Req_FIU_SMRL_REQ_CTR_SEATS_Massage_ON (2) +#endif + +#ifndef FIU_SMRL_SeatMassage_Req_FIU_SMRL_REQ_CTR_SEATS_Massage_OFF +#define FIU_SMRL_SeatMassage_Req_FIU_SMRL_REQ_CTR_SEATS_Massage_OFF (1) +#endif + +#ifndef FIU_SMRL_SeatMassage_Req_FIU_SMRL_REQ_CTR_SEATS_No_action +#define FIU_SMRL_SeatMassage_Req_FIU_SMRL_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMRL_SeatVentilation_Req signal + +#ifndef FIU_SMRL_SeatVentilation_Req_FIU_SMRL_REQ_CTR_SEATS_High_power +#define FIU_SMRL_SeatVentilation_Req_FIU_SMRL_REQ_CTR_SEATS_High_power (3) +#endif + +#ifndef FIU_SMRL_SeatVentilation_Req_FIU_SMRL_REQ_CTR_SEATS_Middle_power +#define FIU_SMRL_SeatVentilation_Req_FIU_SMRL_REQ_CTR_SEATS_Middle_power (2) +#endif + +#ifndef FIU_SMRL_SeatVentilation_Req_FIU_SMRL_REQ_CTR_SEATS_Low_power +#define FIU_SMRL_SeatVentilation_Req_FIU_SMRL_REQ_CTR_SEATS_Low_power (1) +#endif + +#ifndef FIU_SMRL_SeatVentilation_Req_FIU_SMRL_REQ_CTR_SEATS_Off +#define FIU_SMRL_SeatVentilation_Req_FIU_SMRL_REQ_CTR_SEATS_Off (0) +#endif + + +// Value tables for @FIU_SMRL_SeatVentBalance_Req signal + +#ifndef FIU_SMRL_SeatVentBalance_Req_FIU_SMRL_REQ_CTR_SEATS_Backrest_100_Cushion_00_3 +#define FIU_SMRL_SeatVentBalance_Req_FIU_SMRL_REQ_CTR_SEATS_Backrest_100_Cushion_00_3 (7) +#endif + +#ifndef FIU_SMRL_SeatVentBalance_Req_FIU_SMRL_REQ_CTR_SEATS_Backrest_100_Cushion_33_2 +#define FIU_SMRL_SeatVentBalance_Req_FIU_SMRL_REQ_CTR_SEATS_Backrest_100_Cushion_33_2 (6) +#endif + +#ifndef FIU_SMRL_SeatVentBalance_Req_FIU_SMRL_REQ_CTR_SEATS_Backrest_100_Cushion_67_1 +#define FIU_SMRL_SeatVentBalance_Req_FIU_SMRL_REQ_CTR_SEATS_Backrest_100_Cushion_67_1 (5) +#endif + +#ifndef FIU_SMRL_SeatVentBalance_Req_FIU_SMRL_REQ_CTR_SEATS_Backrest_100_Cushion_100_0 +#define FIU_SMRL_SeatVentBalance_Req_FIU_SMRL_REQ_CTR_SEATS_Backrest_100_Cushion_100_0 (4) +#endif + +#ifndef FIU_SMRL_SeatVentBalance_Req_FIU_SMRL_REQ_CTR_SEATS_Backrest_67_Cushion_100_1 +#define FIU_SMRL_SeatVentBalance_Req_FIU_SMRL_REQ_CTR_SEATS_Backrest_67_Cushion_100_1 (3) +#endif + +#ifndef FIU_SMRL_SeatVentBalance_Req_FIU_SMRL_REQ_CTR_SEATS_Backrest_33_Cushion_100_2 +#define FIU_SMRL_SeatVentBalance_Req_FIU_SMRL_REQ_CTR_SEATS_Backrest_33_Cushion_100_2 (2) +#endif + +#ifndef FIU_SMRL_SeatVentBalance_Req_FIU_SMRL_REQ_CTR_SEATS_Backrest_00_Cushion_100_3 +#define FIU_SMRL_SeatVentBalance_Req_FIU_SMRL_REQ_CTR_SEATS_Backrest_00_Cushion_100_3 (1) +#endif + +#ifndef FIU_SMRL_SeatVentBalance_Req_FIU_SMRL_REQ_CTR_SEATS_No_action +#define FIU_SMRL_SeatVentBalance_Req_FIU_SMRL_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMRL_SeatMassageIntence_Req signal + +#ifndef FIU_SMRL_SeatMassageIntence_Req_FIU_SMRL_REQ_CTR_SEATS_High_power +#define FIU_SMRL_SeatMassageIntence_Req_FIU_SMRL_REQ_CTR_SEATS_High_power (3) +#endif + +#ifndef FIU_SMRL_SeatMassageIntence_Req_FIU_SMRL_REQ_CTR_SEATS_Middle_power +#define FIU_SMRL_SeatMassageIntence_Req_FIU_SMRL_REQ_CTR_SEATS_Middle_power (2) +#endif + +#ifndef FIU_SMRL_SeatMassageIntence_Req_FIU_SMRL_REQ_CTR_SEATS_Low_power +#define FIU_SMRL_SeatMassageIntence_Req_FIU_SMRL_REQ_CTR_SEATS_Low_power (1) +#endif + +#ifndef FIU_SMRL_SeatMassageIntence_Req_FIU_SMRL_REQ_CTR_SEATS_No_action +#define FIU_SMRL_SeatMassageIntence_Req_FIU_SMRL_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMRL_SeatHeating_Req signal + +#ifndef FIU_SMRL_SeatHeating_Req_FIU_SMRL_REQ_CTR_SEATS_High_power +#define FIU_SMRL_SeatHeating_Req_FIU_SMRL_REQ_CTR_SEATS_High_power (3) +#endif + +#ifndef FIU_SMRL_SeatHeating_Req_FIU_SMRL_REQ_CTR_SEATS_Middle_power +#define FIU_SMRL_SeatHeating_Req_FIU_SMRL_REQ_CTR_SEATS_Middle_power (2) +#endif + +#ifndef FIU_SMRL_SeatHeating_Req_FIU_SMRL_REQ_CTR_SEATS_Low_power +#define FIU_SMRL_SeatHeating_Req_FIU_SMRL_REQ_CTR_SEATS_Low_power (1) +#endif + +#ifndef FIU_SMRL_SeatHeating_Req_FIU_SMRL_REQ_CTR_SEATS_Off +#define FIU_SMRL_SeatHeating_Req_FIU_SMRL_REQ_CTR_SEATS_Off (0) +#endif + + +// Value tables for @FIU_SMRL_ActiveSupport_Req signal + +#ifndef FIU_SMRL_ActiveSupport_Req_FIU_SMRL_REQ_CTR_SEATS_Active +#define FIU_SMRL_ActiveSupport_Req_FIU_SMRL_REQ_CTR_SEATS_Active (1) +#endif + +#ifndef FIU_SMRL_ActiveSupport_Req_FIU_SMRL_REQ_CTR_SEATS_Inactive +#define FIU_SMRL_ActiveSupport_Req_FIU_SMRL_REQ_CTR_SEATS_Inactive (0) +#endif + + +// Value tables for @FIU_SMRL_SeatHeatBalance_Req signal + +#ifndef FIU_SMRL_SeatHeatBalance_Req_FIU_SMRL_REQ_CTR_SEATS_Backrest_100_Cushion_00_3 +#define FIU_SMRL_SeatHeatBalance_Req_FIU_SMRL_REQ_CTR_SEATS_Backrest_100_Cushion_00_3 (7) +#endif + +#ifndef FIU_SMRL_SeatHeatBalance_Req_FIU_SMRL_REQ_CTR_SEATS_Backrest_100_Cushion_33_2 +#define FIU_SMRL_SeatHeatBalance_Req_FIU_SMRL_REQ_CTR_SEATS_Backrest_100_Cushion_33_2 (6) +#endif + +#ifndef FIU_SMRL_SeatHeatBalance_Req_FIU_SMRL_REQ_CTR_SEATS_Backrest_100_Cushion_67_1 +#define FIU_SMRL_SeatHeatBalance_Req_FIU_SMRL_REQ_CTR_SEATS_Backrest_100_Cushion_67_1 (5) +#endif + +#ifndef FIU_SMRL_SeatHeatBalance_Req_FIU_SMRL_REQ_CTR_SEATS_Backrest_100_Cushion_100_0 +#define FIU_SMRL_SeatHeatBalance_Req_FIU_SMRL_REQ_CTR_SEATS_Backrest_100_Cushion_100_0 (4) +#endif + +#ifndef FIU_SMRL_SeatHeatBalance_Req_FIU_SMRL_REQ_CTR_SEATS_Backrest_67_Cushion_100_1 +#define FIU_SMRL_SeatHeatBalance_Req_FIU_SMRL_REQ_CTR_SEATS_Backrest_67_Cushion_100_1 (3) +#endif + +#ifndef FIU_SMRL_SeatHeatBalance_Req_FIU_SMRL_REQ_CTR_SEATS_Backrest_33_Cushion_100_2 +#define FIU_SMRL_SeatHeatBalance_Req_FIU_SMRL_REQ_CTR_SEATS_Backrest_33_Cushion_100_2 (2) +#endif + +#ifndef FIU_SMRL_SeatHeatBalance_Req_FIU_SMRL_REQ_CTR_SEATS_Backrest_00_Cushion_100_3 +#define FIU_SMRL_SeatHeatBalance_Req_FIU_SMRL_REQ_CTR_SEATS_Backrest_00_Cushion_100_3 (1) +#endif + +#ifndef FIU_SMRL_SeatHeatBalance_Req_FIU_SMRL_REQ_CTR_SEATS_No_action +#define FIU_SMRL_SeatHeatBalance_Req_FIU_SMRL_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMRL_SeatMassageType_Req signal + +#ifndef FIU_SMRL_SeatMassageType_Req_FIU_SMRL_REQ_CTR_SEATS_Type_7_Velvet +#define FIU_SMRL_SeatMassageType_Req_FIU_SMRL_REQ_CTR_SEATS_Type_7_Velvet (7) +#endif + +#ifndef FIU_SMRL_SeatMassageType_Req_FIU_SMRL_REQ_CTR_SEATS_Type_6_Sonnet +#define FIU_SMRL_SeatMassageType_Req_FIU_SMRL_REQ_CTR_SEATS_Type_6_Sonnet (6) +#endif + +#ifndef FIU_SMRL_SeatMassageType_Req_FIU_SMRL_REQ_CTR_SEATS_Type_5_Quantum +#define FIU_SMRL_SeatMassageType_Req_FIU_SMRL_REQ_CTR_SEATS_Type_5_Quantum (5) +#endif + +#ifndef FIU_SMRL_SeatMassageType_Req_FIU_SMRL_REQ_CTR_SEATS_Type_4_Cashmere +#define FIU_SMRL_SeatMassageType_Req_FIU_SMRL_REQ_CTR_SEATS_Type_4_Cashmere (4) +#endif + +#ifndef FIU_SMRL_SeatMassageType_Req_FIU_SMRL_REQ_CTR_SEATS_Type_3_Harmony +#define FIU_SMRL_SeatMassageType_Req_FIU_SMRL_REQ_CTR_SEATS_Type_3_Harmony (3) +#endif + +#ifndef FIU_SMRL_SeatMassageType_Req_FIU_SMRL_REQ_CTR_SEATS_Type_2_Orbital +#define FIU_SMRL_SeatMassageType_Req_FIU_SMRL_REQ_CTR_SEATS_Type_2_Orbital (2) +#endif + +#ifndef FIU_SMRL_SeatMassageType_Req_FIU_SMRL_REQ_CTR_SEATS_Type_1_Insight +#define FIU_SMRL_SeatMassageType_Req_FIU_SMRL_REQ_CTR_SEATS_Type_1_Insight (1) +#endif + +#ifndef FIU_SMRL_SeatMassageType_Req_FIU_SMRL_REQ_CTR_SEATS_No_action +#define FIU_SMRL_SeatMassageType_Req_FIU_SMRL_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMRL_BackrestMassageType_Req signal + +#ifndef FIU_SMRL_BackrestMassageType_Req_FIU_SMRL_REQ_CTR_SEATS_Reserved +#define FIU_SMRL_BackrestMassageType_Req_FIU_SMRL_REQ_CTR_SEATS_Reserved (7) +#endif + +#ifndef FIU_SMRL_BackrestMassageType_Req_FIU_SMRL_REQ_CTR_SEATS_Reserved +#define FIU_SMRL_BackrestMassageType_Req_FIU_SMRL_REQ_CTR_SEATS_Reserved (6) +#endif + +#ifndef FIU_SMRL_BackrestMassageType_Req_FIU_SMRL_REQ_CTR_SEATS_Type_5_Elegy +#define FIU_SMRL_BackrestMassageType_Req_FIU_SMRL_REQ_CTR_SEATS_Type_5_Elegy (5) +#endif + +#ifndef FIU_SMRL_BackrestMassageType_Req_FIU_SMRL_REQ_CTR_SEATS_Type_4_Caprice +#define FIU_SMRL_BackrestMassageType_Req_FIU_SMRL_REQ_CTR_SEATS_Type_4_Caprice (4) +#endif + +#ifndef FIU_SMRL_BackrestMassageType_Req_FIU_SMRL_REQ_CTR_SEATS_Type_3_Pulse +#define FIU_SMRL_BackrestMassageType_Req_FIU_SMRL_REQ_CTR_SEATS_Type_3_Pulse (3) +#endif + +#ifndef FIU_SMRL_BackrestMassageType_Req_FIU_SMRL_REQ_CTR_SEATS_Type_2_Energy +#define FIU_SMRL_BackrestMassageType_Req_FIU_SMRL_REQ_CTR_SEATS_Type_2_Energy (2) +#endif + +#ifndef FIU_SMRL_BackrestMassageType_Req_FIU_SMRL_REQ_CTR_SEATS_Type_1_Synchrony +#define FIU_SMRL_BackrestMassageType_Req_FIU_SMRL_REQ_CTR_SEATS_Type_1_Synchrony (1) +#endif + +#ifndef FIU_SMRL_BackrestMassageType_Req_FIU_SMRL_REQ_CTR_SEATS_No_action +#define FIU_SMRL_BackrestMassageType_Req_FIU_SMRL_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMRL_ComfortMode_Req signal + +#ifndef FIU_SMRL_ComfortMode_Req_FIU_SMRL_REQ_CTR_SEATS_Active +#define FIU_SMRL_ComfortMode_Req_FIU_SMRL_REQ_CTR_SEATS_Active (1) +#endif + +#ifndef FIU_SMRL_ComfortMode_Req_FIU_SMRL_REQ_CTR_SEATS_Inactive +#define FIU_SMRL_ComfortMode_Req_FIU_SMRL_REQ_CTR_SEATS_Inactive (0) +#endif + + +// Value tables for @FIU_SMRL_ComfortScenario_Req signal + +#ifndef FIU_SMRL_ComfortScenario_Req_FIU_SMRL_REQ_CTR_SEATS_Type_3 +#define FIU_SMRL_ComfortScenario_Req_FIU_SMRL_REQ_CTR_SEATS_Type_3 (3) +#endif + +#ifndef FIU_SMRL_ComfortScenario_Req_FIU_SMRL_REQ_CTR_SEATS_Type_2 +#define FIU_SMRL_ComfortScenario_Req_FIU_SMRL_REQ_CTR_SEATS_Type_2 (2) +#endif + +#ifndef FIU_SMRL_ComfortScenario_Req_FIU_SMRL_REQ_CTR_SEATS_Type_1 +#define FIU_SMRL_ComfortScenario_Req_FIU_SMRL_REQ_CTR_SEATS_Type_1 (1) +#endif + +#ifndef FIU_SMRL_ComfortScenario_Req_FIU_SMRL_REQ_CTR_SEATS_No_action +#define FIU_SMRL_ComfortScenario_Req_FIU_SMRL_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMRL_CarpetHeat_Req signal + +#ifndef FIU_SMRL_CarpetHeat_Req_FIU_SMRL_REQ_CTR_SEATS_Active +#define FIU_SMRL_CarpetHeat_Req_FIU_SMRL_REQ_CTR_SEATS_Active (1) +#endif + +#ifndef FIU_SMRL_CarpetHeat_Req_FIU_SMRL_REQ_CTR_SEATS_Inactive +#define FIU_SMRL_CarpetHeat_Req_FIU_SMRL_REQ_CTR_SEATS_Inactive (0) +#endif + + +// Value tables for @FIU_SMRL_TimerMassage_Req signal + +#ifndef FIU_SMRL_TimerMassage_Req_FIU_SMRL_REQ_CTR_SEATS_Reserved +#define FIU_SMRL_TimerMassage_Req_FIU_SMRL_REQ_CTR_SEATS_Reserved (7) +#endif + +#ifndef FIU_SMRL_TimerMassage_Req_FIU_SMRL_REQ_CTR_SEATS__min +#define FIU_SMRL_TimerMassage_Req_FIU_SMRL_REQ_CTR_SEATS__min (6) +#endif + +#ifndef FIU_SMRL_TimerMassage_Req_FIU_SMRL_REQ_CTR_SEATS__min +#define FIU_SMRL_TimerMassage_Req_FIU_SMRL_REQ_CTR_SEATS__min (5) +#endif + +#ifndef FIU_SMRL_TimerMassage_Req_FIU_SMRL_REQ_CTR_SEATS__min +#define FIU_SMRL_TimerMassage_Req_FIU_SMRL_REQ_CTR_SEATS__min (4) +#endif + +#ifndef FIU_SMRL_TimerMassage_Req_FIU_SMRL_REQ_CTR_SEATS__min +#define FIU_SMRL_TimerMassage_Req_FIU_SMRL_REQ_CTR_SEATS__min (3) +#endif + +#ifndef FIU_SMRL_TimerMassage_Req_FIU_SMRL_REQ_CTR_SEATS__min +#define FIU_SMRL_TimerMassage_Req_FIU_SMRL_REQ_CTR_SEATS__min (2) +#endif + +#ifndef FIU_SMRL_TimerMassage_Req_FIU_SMRL_REQ_CTR_SEATS__min +#define FIU_SMRL_TimerMassage_Req_FIU_SMRL_REQ_CTR_SEATS__min (1) +#endif + +#ifndef FIU_SMRL_TimerMassage_Req_FIU_SMRL_REQ_CTR_SEATS_No_action +#define FIU_SMRL_TimerMassage_Req_FIU_SMRL_REQ_CTR_SEATS_No_action (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Signal for regulation Seat Height RL + // (RL seat base height regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMRL_SeatHeight_Req : 2; // Bits= 2 + + // Signal for regulation RL head rest height + // (RL headrest height regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMRL_HeadRestHeight_Req : 2; // Bits= 2 + + // Signal for regulation RL seat longitudinal + // (RL seat base longitudinal regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMRL_SeatLongitudinal_Req : 2; // Bits= 2 + + // Signal for regulation RL seat inclination + // (RL headrest depth regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMRL_SeatHeadRestInclin_Req : 2; // Bits= 2 + + // Signal for regulation RL seat surface longitudinal + // (RL seat pillow longitudinal regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMRL_SeatSurfaceLong_Req : 2; // Bits= 2 + + // Signal for regulation RL seat leg support height + // (RL seat leg support height regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMRL_SeatLegSupportH_Req : 2; // Bits= 2 + + // Signal for regulation RL seat leg support longitudinal + // (RL seat leg support longitudinal regulation request, RESERVE) + // 3 : "Resertved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMRL_SeatLegSupportLong_Req : 2; // Bits= 2 + + // Signal for regulation RL seat inclination + // (RL seat pillow inclination regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMRL_SeatInclination_Req : 2; // Bits= 2 + + // Signal for regulation RL seat backrest lnclination + // (RL backrest angle regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMRL_SeatBackRestInc_Req : 2; // Bits= 2 + + // Signal for regulation RL seat lumbar support height + // (RL backrest lumbar support height regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMRL_SeatLumbarSupportH_Req : 2; // Bits= 2 + + // Signal for regulation RL seat backrest head inclination + // (RL backrest should support regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMRL_SeatBackRestHeadInc_Req : 2; // Bits= 2 + + // Signal for regulation RL seat lumbar support depth + // (RL backrest lumbar support depth regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMRL_SeatLumbarSupDepth_Req : 2; // Bits= 2 + + // Signal for regulation RL seat backrest width + // (RL backrest lateral support regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMRL_BackRestWidth_Req : 2; // Bits= 2 + + // Signal for regulation RL seat cushion support + // (RL seat cushion side lateral support regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMRL_SeatCushionSupport_Req : 2; // Bits= 2 + + // Signal for seat massage activation + // (RL seat massage request) + // 3 : "Reserved" + // 2 : "Massage ON" + // 1 : "Massage OFF" + // 0 : "No action" + uint8_t FIU_SMRL_SeatMassage_Req : 2; // Bits= 2 + + // Signal for ventilation activation mode + // (RL seat ventilation request) + // 3 : "High power" + // 2 : "Middle power" + // 1 : "Low power" + // 0 : "Off" + uint8_t FIU_SMRL_SeatVentilation_Req : 2; // Bits= 2 + + // Signal for ventilation balance mode + // (RL seat ventilation balance request) + // 7 : "Backrest 100%, Cushion 00%: 3" + // 6 : "Backrest 100%, Cushion 33%: 2" + // 5 : "Backrest 100%, Cushion 67%: 1" + // 4 : "Backrest 100%, Cushion 100%: 0" + // 3 : "Backrest 67%, Cushion 100%: -1" + // 2 : "Backrest 33%, Cushion 100%: -2" + // 1 : "Backrest 00%, Cushion 100%: -3" + // 0 : "No action" + uint8_t FIU_SMRL_SeatVentBalance_Req : 3; // Bits= 3 + + // Signal for seat massage intencity regulation + // (RL seat massage intencity request) + // 3 : "High power" + // 2 : "Middle power" + // 1 : "Low power" + // 0 : "No action" + uint8_t FIU_SMRL_SeatMassageIntence_Req : 2; // Bits= 2 + + // Signal for seat heating activation mode + // (RL seat heating request) + // 3 : "High power" + // 2 : "Middle power" + // 1 : "Low power" + // 0 : "Off" + uint8_t FIU_SMRL_SeatHeating_Req : 2; // Bits= 2 + + // RR active lateral support request + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_SMRL_ActiveSupport_Req : 1; // Bits= 1 + + // Signal for seat heating balance + // (RL seat heating balance request) + // 7 : "Backrest 100%, Cushion 00%: 3" + // 6 : "Backrest 100%, Cushion 33%: 2" + // 5 : "Backrest 100%, Cushion 67%: 1" + // 4 : "Backrest 100%, Cushion 100%: 0" + // 3 : "Backrest 67%, Cushion 100%: -1" + // 2 : "Backrest 33%, Cushion 100%: -2" + // 1 : "Backrest 00%, Cushion 100%: -3" + // 0 : "No action" + uint8_t FIU_SMRL_SeatHeatBalance_Req : 3; // Bits= 3 + + // Signal for seat massage type (mode) + // (RL seat massage type request) + // 7 : "Type 7 (Velvet)" + // 6 : "Type 6 (Sonnet)" + // 5 : "Type 5 (Quantum)" + // 4 : "Type 4 (Cashmere)" + // 3 : "Type 3 (Harmony)" + // 2 : "Type 2 (Orbital)" + // 1 : "Type 1 (Insight)" + // 0 : "No action" + uint8_t FIU_SMRL_SeatMassageType_Req : 3; // Bits= 3 + + // Signal for backrest massage type (mode) + // (RL backrest massage type request) + // 7 : "Reserved" + // 6 : "Reserved" + // 5 : "Type 5 (Elegy)" + // 4 : "Type 4 (Caprice)" + // 3 : "Type 3 (Pulse)" + // 2 : "Type 2 (Energy)" + // 1 : "Type 1 (Synchrony)" + // 0 : "No action" + uint8_t FIU_SMRL_BackrestMassageType_Req : 3; // Bits= 3 + + // RL comfort mode command + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_SMRL_ComfortMode_Req : 1; // Bits= 1 + + // RL comfort mode scenario command + // 3 : "Type 3" + // 2 : "Type 2" + // 1 : "Type 1" + // 0 : "No action" + uint8_t FIU_SMRL_ComfortScenario_Req : 2; // Bits= 2 + + // RR carpet heating command + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_SMRL_CarpetHeat_Req : 1; // Bits= 1 + + // Signal for setting the massage timer + // 7 : "Reserved" + // 6 : "30 min" + // 5 : "25 min" + // 4 : "20 min" + // 3 : "15 min" + // 2 : "10 min" + // 1 : "5 min" + // 0 : "No action" + uint8_t FIU_SMRL_TimerMassage_Req : 3; // Bits= 3 + +#else + + // Signal for regulation Seat Height RL + // (RL seat base height regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMRL_SeatHeight_Req; // Bits= 2 + + // Signal for regulation RL head rest height + // (RL headrest height regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMRL_HeadRestHeight_Req; // Bits= 2 + + // Signal for regulation RL seat longitudinal + // (RL seat base longitudinal regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMRL_SeatLongitudinal_Req; // Bits= 2 + + // Signal for regulation RL seat inclination + // (RL headrest depth regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMRL_SeatHeadRestInclin_Req; // Bits= 2 + + // Signal for regulation RL seat surface longitudinal + // (RL seat pillow longitudinal regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMRL_SeatSurfaceLong_Req; // Bits= 2 + + // Signal for regulation RL seat leg support height + // (RL seat leg support height regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMRL_SeatLegSupportH_Req; // Bits= 2 + + // Signal for regulation RL seat leg support longitudinal + // (RL seat leg support longitudinal regulation request, RESERVE) + // 3 : "Resertved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMRL_SeatLegSupportLong_Req; // Bits= 2 + + // Signal for regulation RL seat inclination + // (RL seat pillow inclination regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMRL_SeatInclination_Req; // Bits= 2 + + // Signal for regulation RL seat backrest lnclination + // (RL backrest angle regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMRL_SeatBackRestInc_Req; // Bits= 2 + + // Signal for regulation RL seat lumbar support height + // (RL backrest lumbar support height regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMRL_SeatLumbarSupportH_Req; // Bits= 2 + + // Signal for regulation RL seat backrest head inclination + // (RL backrest should support regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMRL_SeatBackRestHeadInc_Req; // Bits= 2 + + // Signal for regulation RL seat lumbar support depth + // (RL backrest lumbar support depth regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMRL_SeatLumbarSupDepth_Req; // Bits= 2 + + // Signal for regulation RL seat backrest width + // (RL backrest lateral support regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMRL_BackRestWidth_Req; // Bits= 2 + + // Signal for regulation RL seat cushion support + // (RL seat cushion side lateral support regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMRL_SeatCushionSupport_Req; // Bits= 2 + + // Signal for seat massage activation + // (RL seat massage request) + // 3 : "Reserved" + // 2 : "Massage ON" + // 1 : "Massage OFF" + // 0 : "No action" + uint8_t FIU_SMRL_SeatMassage_Req; // Bits= 2 + + // Signal for ventilation activation mode + // (RL seat ventilation request) + // 3 : "High power" + // 2 : "Middle power" + // 1 : "Low power" + // 0 : "Off" + uint8_t FIU_SMRL_SeatVentilation_Req; // Bits= 2 + + // Signal for ventilation balance mode + // (RL seat ventilation balance request) + // 7 : "Backrest 100%, Cushion 00%: 3" + // 6 : "Backrest 100%, Cushion 33%: 2" + // 5 : "Backrest 100%, Cushion 67%: 1" + // 4 : "Backrest 100%, Cushion 100%: 0" + // 3 : "Backrest 67%, Cushion 100%: -1" + // 2 : "Backrest 33%, Cushion 100%: -2" + // 1 : "Backrest 00%, Cushion 100%: -3" + // 0 : "No action" + uint8_t FIU_SMRL_SeatVentBalance_Req; // Bits= 3 + + // Signal for seat massage intencity regulation + // (RL seat massage intencity request) + // 3 : "High power" + // 2 : "Middle power" + // 1 : "Low power" + // 0 : "No action" + uint8_t FIU_SMRL_SeatMassageIntence_Req; // Bits= 2 + + // Signal for seat heating activation mode + // (RL seat heating request) + // 3 : "High power" + // 2 : "Middle power" + // 1 : "Low power" + // 0 : "Off" + uint8_t FIU_SMRL_SeatHeating_Req; // Bits= 2 + + // RR active lateral support request + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_SMRL_ActiveSupport_Req; // Bits= 1 + + // Signal for seat heating balance + // (RL seat heating balance request) + // 7 : "Backrest 100%, Cushion 00%: 3" + // 6 : "Backrest 100%, Cushion 33%: 2" + // 5 : "Backrest 100%, Cushion 67%: 1" + // 4 : "Backrest 100%, Cushion 100%: 0" + // 3 : "Backrest 67%, Cushion 100%: -1" + // 2 : "Backrest 33%, Cushion 100%: -2" + // 1 : "Backrest 00%, Cushion 100%: -3" + // 0 : "No action" + uint8_t FIU_SMRL_SeatHeatBalance_Req; // Bits= 3 + + // Signal for seat massage type (mode) + // (RL seat massage type request) + // 7 : "Type 7 (Velvet)" + // 6 : "Type 6 (Sonnet)" + // 5 : "Type 5 (Quantum)" + // 4 : "Type 4 (Cashmere)" + // 3 : "Type 3 (Harmony)" + // 2 : "Type 2 (Orbital)" + // 1 : "Type 1 (Insight)" + // 0 : "No action" + uint8_t FIU_SMRL_SeatMassageType_Req; // Bits= 3 + + // Signal for backrest massage type (mode) + // (RL backrest massage type request) + // 7 : "Reserved" + // 6 : "Reserved" + // 5 : "Type 5 (Elegy)" + // 4 : "Type 4 (Caprice)" + // 3 : "Type 3 (Pulse)" + // 2 : "Type 2 (Energy)" + // 1 : "Type 1 (Synchrony)" + // 0 : "No action" + uint8_t FIU_SMRL_BackrestMassageType_Req; // Bits= 3 + + // RL comfort mode command + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_SMRL_ComfortMode_Req; // Bits= 1 + + // RL comfort mode scenario command + // 3 : "Type 3" + // 2 : "Type 2" + // 1 : "Type 1" + // 0 : "No action" + uint8_t FIU_SMRL_ComfortScenario_Req; // Bits= 2 + + // RR carpet heating command + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_SMRL_CarpetHeat_Req; // Bits= 1 + + // Signal for setting the massage timer + // 7 : "Reserved" + // 6 : "30 min" + // 5 : "25 min" + // 4 : "20 min" + // 3 : "15 min" + // 2 : "10 min" + // 1 : "5 min" + // 0 : "No action" + uint8_t FIU_SMRL_TimerMassage_Req; // Bits= 3 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} FIU_SMRL_REQ_CTR_SEATS_t; + +// def @FIU_SMFR_REQ_CTR_SEATS CAN Message (1325 0x52d) +#define FIU_SMFR_REQ_CTR_SEATS_IDE (0U) +#define FIU_SMFR_REQ_CTR_SEATS_DLC (7U) +#define FIU_SMFR_REQ_CTR_SEATS_CANID (0x52dU) + +// Value tables for @FIU_SMFR_SeatHeight_Req signal + +#ifndef FIU_SMFR_SeatHeight_Req_FIU_SMFR_REQ_CTR_SEATS_Reserved +#define FIU_SMFR_SeatHeight_Req_FIU_SMFR_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef FIU_SMFR_SeatHeight_Req_FIU_SMFR_REQ_CTR_SEATS_Decrease +#define FIU_SMFR_SeatHeight_Req_FIU_SMFR_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef FIU_SMFR_SeatHeight_Req_FIU_SMFR_REQ_CTR_SEATS_Increase +#define FIU_SMFR_SeatHeight_Req_FIU_SMFR_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef FIU_SMFR_SeatHeight_Req_FIU_SMFR_REQ_CTR_SEATS_No_action +#define FIU_SMFR_SeatHeight_Req_FIU_SMFR_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMFR_HeadRest_Height_Req signal + +#ifndef FIU_SMFR_HeadRest_Height_Req_FIU_SMFR_REQ_CTR_SEATS_Reserved +#define FIU_SMFR_HeadRest_Height_Req_FIU_SMFR_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef FIU_SMFR_HeadRest_Height_Req_FIU_SMFR_REQ_CTR_SEATS_Decrease +#define FIU_SMFR_HeadRest_Height_Req_FIU_SMFR_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef FIU_SMFR_HeadRest_Height_Req_FIU_SMFR_REQ_CTR_SEATS_Increase +#define FIU_SMFR_HeadRest_Height_Req_FIU_SMFR_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef FIU_SMFR_HeadRest_Height_Req_FIU_SMFR_REQ_CTR_SEATS_No_action +#define FIU_SMFR_HeadRest_Height_Req_FIU_SMFR_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMFR_SeatLongitunalReq signal + +#ifndef FIU_SMFR_SeatLongitunalReq_FIU_SMFR_REQ_CTR_SEATS_Reserved +#define FIU_SMFR_SeatLongitunalReq_FIU_SMFR_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef FIU_SMFR_SeatLongitunalReq_FIU_SMFR_REQ_CTR_SEATS_Decrease +#define FIU_SMFR_SeatLongitunalReq_FIU_SMFR_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef FIU_SMFR_SeatLongitunalReq_FIU_SMFR_REQ_CTR_SEATS_Increase +#define FIU_SMFR_SeatLongitunalReq_FIU_SMFR_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef FIU_SMFR_SeatLongitunalReq_FIU_SMFR_REQ_CTR_SEATS_No_action +#define FIU_SMFR_SeatLongitunalReq_FIU_SMFR_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMFR_SeatHeadRestInclin_Req signal + +#ifndef FIU_SMFR_SeatHeadRestInclin_Req_FIU_SMFR_REQ_CTR_SEATS_Reserved +#define FIU_SMFR_SeatHeadRestInclin_Req_FIU_SMFR_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef FIU_SMFR_SeatHeadRestInclin_Req_FIU_SMFR_REQ_CTR_SEATS_Decrease +#define FIU_SMFR_SeatHeadRestInclin_Req_FIU_SMFR_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef FIU_SMFR_SeatHeadRestInclin_Req_FIU_SMFR_REQ_CTR_SEATS_Increase +#define FIU_SMFR_SeatHeadRestInclin_Req_FIU_SMFR_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef FIU_SMFR_SeatHeadRestInclin_Req_FIU_SMFR_REQ_CTR_SEATS_No_action +#define FIU_SMFR_SeatHeadRestInclin_Req_FIU_SMFR_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMFR_SeatSurfaceLong_Req signal + +#ifndef FIU_SMFR_SeatSurfaceLong_Req_FIU_SMFR_REQ_CTR_SEATS_Reserved +#define FIU_SMFR_SeatSurfaceLong_Req_FIU_SMFR_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef FIU_SMFR_SeatSurfaceLong_Req_FIU_SMFR_REQ_CTR_SEATS_Decrease +#define FIU_SMFR_SeatSurfaceLong_Req_FIU_SMFR_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef FIU_SMFR_SeatSurfaceLong_Req_FIU_SMFR_REQ_CTR_SEATS_Increase +#define FIU_SMFR_SeatSurfaceLong_Req_FIU_SMFR_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef FIU_SMFR_SeatSurfaceLong_Req_FIU_SMFR_REQ_CTR_SEATS_No_action +#define FIU_SMFR_SeatSurfaceLong_Req_FIU_SMFR_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMFR_SeatLegSupportH_Req signal + +#ifndef FIU_SMFR_SeatLegSupportH_Req_FIU_SMFR_REQ_CTR_SEATS_Reserved +#define FIU_SMFR_SeatLegSupportH_Req_FIU_SMFR_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef FIU_SMFR_SeatLegSupportH_Req_FIU_SMFR_REQ_CTR_SEATS_Decrease +#define FIU_SMFR_SeatLegSupportH_Req_FIU_SMFR_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef FIU_SMFR_SeatLegSupportH_Req_FIU_SMFR_REQ_CTR_SEATS_Increase +#define FIU_SMFR_SeatLegSupportH_Req_FIU_SMFR_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef FIU_SMFR_SeatLegSupportH_Req_FIU_SMFR_REQ_CTR_SEATS_No_action +#define FIU_SMFR_SeatLegSupportH_Req_FIU_SMFR_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMFR_SeatLegSupportLong_Req signal + +#ifndef FIU_SMFR_SeatLegSupportLong_Req_FIU_SMFR_REQ_CTR_SEATS_Resertved +#define FIU_SMFR_SeatLegSupportLong_Req_FIU_SMFR_REQ_CTR_SEATS_Resertved (3) +#endif + +#ifndef FIU_SMFR_SeatLegSupportLong_Req_FIU_SMFR_REQ_CTR_SEATS_Decrease +#define FIU_SMFR_SeatLegSupportLong_Req_FIU_SMFR_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef FIU_SMFR_SeatLegSupportLong_Req_FIU_SMFR_REQ_CTR_SEATS_Increase +#define FIU_SMFR_SeatLegSupportLong_Req_FIU_SMFR_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef FIU_SMFR_SeatLegSupportLong_Req_FIU_SMFR_REQ_CTR_SEATS_No_action +#define FIU_SMFR_SeatLegSupportLong_Req_FIU_SMFR_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMFR_SeatInclination_Req signal + +#ifndef FIU_SMFR_SeatInclination_Req_FIU_SMFR_REQ_CTR_SEATS_Reserved +#define FIU_SMFR_SeatInclination_Req_FIU_SMFR_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef FIU_SMFR_SeatInclination_Req_FIU_SMFR_REQ_CTR_SEATS_Decrease +#define FIU_SMFR_SeatInclination_Req_FIU_SMFR_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef FIU_SMFR_SeatInclination_Req_FIU_SMFR_REQ_CTR_SEATS_Increase +#define FIU_SMFR_SeatInclination_Req_FIU_SMFR_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef FIU_SMFR_SeatInclination_Req_FIU_SMFR_REQ_CTR_SEATS_No_action +#define FIU_SMFR_SeatInclination_Req_FIU_SMFR_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMFR_SeatBackRestInc_Req signal + +#ifndef FIU_SMFR_SeatBackRestInc_Req_FIU_SMFR_REQ_CTR_SEATS_Reserved +#define FIU_SMFR_SeatBackRestInc_Req_FIU_SMFR_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef FIU_SMFR_SeatBackRestInc_Req_FIU_SMFR_REQ_CTR_SEATS_Decrease +#define FIU_SMFR_SeatBackRestInc_Req_FIU_SMFR_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef FIU_SMFR_SeatBackRestInc_Req_FIU_SMFR_REQ_CTR_SEATS_Increase +#define FIU_SMFR_SeatBackRestInc_Req_FIU_SMFR_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef FIU_SMFR_SeatBackRestInc_Req_FIU_SMFR_REQ_CTR_SEATS_No_action +#define FIU_SMFR_SeatBackRestInc_Req_FIU_SMFR_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMFR_SeatLumbarSupHeight_Req signal + +#ifndef FIU_SMFR_SeatLumbarSupHeight_Req_FIU_SMFR_REQ_CTR_SEATS_Reserved +#define FIU_SMFR_SeatLumbarSupHeight_Req_FIU_SMFR_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef FIU_SMFR_SeatLumbarSupHeight_Req_FIU_SMFR_REQ_CTR_SEATS_Decrease +#define FIU_SMFR_SeatLumbarSupHeight_Req_FIU_SMFR_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef FIU_SMFR_SeatLumbarSupHeight_Req_FIU_SMFR_REQ_CTR_SEATS_Increase +#define FIU_SMFR_SeatLumbarSupHeight_Req_FIU_SMFR_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef FIU_SMFR_SeatLumbarSupHeight_Req_FIU_SMFR_REQ_CTR_SEATS_No_action +#define FIU_SMFR_SeatLumbarSupHeight_Req_FIU_SMFR_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMFR_SeatBackRestHeadInc_Req signal + +#ifndef FIU_SMFR_SeatBackRestHeadInc_Req_FIU_SMFR_REQ_CTR_SEATS_Reserved +#define FIU_SMFR_SeatBackRestHeadInc_Req_FIU_SMFR_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef FIU_SMFR_SeatBackRestHeadInc_Req_FIU_SMFR_REQ_CTR_SEATS_Decrease +#define FIU_SMFR_SeatBackRestHeadInc_Req_FIU_SMFR_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef FIU_SMFR_SeatBackRestHeadInc_Req_FIU_SMFR_REQ_CTR_SEATS_Increase +#define FIU_SMFR_SeatBackRestHeadInc_Req_FIU_SMFR_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef FIU_SMFR_SeatBackRestHeadInc_Req_FIU_SMFR_REQ_CTR_SEATS_No_action +#define FIU_SMFR_SeatBackRestHeadInc_Req_FIU_SMFR_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMFR_SeatLumbarSupDepth_Req signal + +#ifndef FIU_SMFR_SeatLumbarSupDepth_Req_FIU_SMFR_REQ_CTR_SEATS_Reserved +#define FIU_SMFR_SeatLumbarSupDepth_Req_FIU_SMFR_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef FIU_SMFR_SeatLumbarSupDepth_Req_FIU_SMFR_REQ_CTR_SEATS_Decrease +#define FIU_SMFR_SeatLumbarSupDepth_Req_FIU_SMFR_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef FIU_SMFR_SeatLumbarSupDepth_Req_FIU_SMFR_REQ_CTR_SEATS_Increase +#define FIU_SMFR_SeatLumbarSupDepth_Req_FIU_SMFR_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef FIU_SMFR_SeatLumbarSupDepth_Req_FIU_SMFR_REQ_CTR_SEATS_No_action +#define FIU_SMFR_SeatLumbarSupDepth_Req_FIU_SMFR_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMFR_BackRestWidth_Req signal + +#ifndef FIU_SMFR_BackRestWidth_Req_FIU_SMFR_REQ_CTR_SEATS_Reserved +#define FIU_SMFR_BackRestWidth_Req_FIU_SMFR_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef FIU_SMFR_BackRestWidth_Req_FIU_SMFR_REQ_CTR_SEATS_Decrease +#define FIU_SMFR_BackRestWidth_Req_FIU_SMFR_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef FIU_SMFR_BackRestWidth_Req_FIU_SMFR_REQ_CTR_SEATS_Increase +#define FIU_SMFR_BackRestWidth_Req_FIU_SMFR_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef FIU_SMFR_BackRestWidth_Req_FIU_SMFR_REQ_CTR_SEATS_No_action +#define FIU_SMFR_BackRestWidth_Req_FIU_SMFR_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMFR_SeatCushionSupport_Req signal + +#ifndef FIU_SMFR_SeatCushionSupport_Req_FIU_SMFR_REQ_CTR_SEATS_Reserved +#define FIU_SMFR_SeatCushionSupport_Req_FIU_SMFR_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef FIU_SMFR_SeatCushionSupport_Req_FIU_SMFR_REQ_CTR_SEATS_Decrease +#define FIU_SMFR_SeatCushionSupport_Req_FIU_SMFR_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef FIU_SMFR_SeatCushionSupport_Req_FIU_SMFR_REQ_CTR_SEATS_Increase +#define FIU_SMFR_SeatCushionSupport_Req_FIU_SMFR_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef FIU_SMFR_SeatCushionSupport_Req_FIU_SMFR_REQ_CTR_SEATS_No_action +#define FIU_SMFR_SeatCushionSupport_Req_FIU_SMFR_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMFR_SeatMassage_Req signal + +#ifndef FIU_SMFR_SeatMassage_Req_FIU_SMFR_REQ_CTR_SEATS_Reserved +#define FIU_SMFR_SeatMassage_Req_FIU_SMFR_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef FIU_SMFR_SeatMassage_Req_FIU_SMFR_REQ_CTR_SEATS_Massage_ON +#define FIU_SMFR_SeatMassage_Req_FIU_SMFR_REQ_CTR_SEATS_Massage_ON (2) +#endif + +#ifndef FIU_SMFR_SeatMassage_Req_FIU_SMFR_REQ_CTR_SEATS_Massage_OFF +#define FIU_SMFR_SeatMassage_Req_FIU_SMFR_REQ_CTR_SEATS_Massage_OFF (1) +#endif + +#ifndef FIU_SMFR_SeatMassage_Req_FIU_SMFR_REQ_CTR_SEATS_No_action +#define FIU_SMFR_SeatMassage_Req_FIU_SMFR_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMFR_SeatVentilation_Req signal + +#ifndef FIU_SMFR_SeatVentilation_Req_FIU_SMFR_REQ_CTR_SEATS_High_power +#define FIU_SMFR_SeatVentilation_Req_FIU_SMFR_REQ_CTR_SEATS_High_power (3) +#endif + +#ifndef FIU_SMFR_SeatVentilation_Req_FIU_SMFR_REQ_CTR_SEATS_Middle_power +#define FIU_SMFR_SeatVentilation_Req_FIU_SMFR_REQ_CTR_SEATS_Middle_power (2) +#endif + +#ifndef FIU_SMFR_SeatVentilation_Req_FIU_SMFR_REQ_CTR_SEATS_Low_power +#define FIU_SMFR_SeatVentilation_Req_FIU_SMFR_REQ_CTR_SEATS_Low_power (1) +#endif + +#ifndef FIU_SMFR_SeatVentilation_Req_FIU_SMFR_REQ_CTR_SEATS_Off +#define FIU_SMFR_SeatVentilation_Req_FIU_SMFR_REQ_CTR_SEATS_Off (0) +#endif + + +// Value tables for @FIU_SMFR_SeatVentBalance_Req signal + +#ifndef FIU_SMFR_SeatVentBalance_Req_FIU_SMFR_REQ_CTR_SEATS_Backrest_100_Cushion_00_3 +#define FIU_SMFR_SeatVentBalance_Req_FIU_SMFR_REQ_CTR_SEATS_Backrest_100_Cushion_00_3 (7) +#endif + +#ifndef FIU_SMFR_SeatVentBalance_Req_FIU_SMFR_REQ_CTR_SEATS_Backrest_100_Cushion_33_2 +#define FIU_SMFR_SeatVentBalance_Req_FIU_SMFR_REQ_CTR_SEATS_Backrest_100_Cushion_33_2 (6) +#endif + +#ifndef FIU_SMFR_SeatVentBalance_Req_FIU_SMFR_REQ_CTR_SEATS_Backrest_100_Cushion_67_1 +#define FIU_SMFR_SeatVentBalance_Req_FIU_SMFR_REQ_CTR_SEATS_Backrest_100_Cushion_67_1 (5) +#endif + +#ifndef FIU_SMFR_SeatVentBalance_Req_FIU_SMFR_REQ_CTR_SEATS_Backrest_100_Cushion_100_0 +#define FIU_SMFR_SeatVentBalance_Req_FIU_SMFR_REQ_CTR_SEATS_Backrest_100_Cushion_100_0 (4) +#endif + +#ifndef FIU_SMFR_SeatVentBalance_Req_FIU_SMFR_REQ_CTR_SEATS_Backrest_67_Cushion_100_1 +#define FIU_SMFR_SeatVentBalance_Req_FIU_SMFR_REQ_CTR_SEATS_Backrest_67_Cushion_100_1 (3) +#endif + +#ifndef FIU_SMFR_SeatVentBalance_Req_FIU_SMFR_REQ_CTR_SEATS_Backrest_33_Cushion_100_2 +#define FIU_SMFR_SeatVentBalance_Req_FIU_SMFR_REQ_CTR_SEATS_Backrest_33_Cushion_100_2 (2) +#endif + +#ifndef FIU_SMFR_SeatVentBalance_Req_FIU_SMFR_REQ_CTR_SEATS_Backrest_00_Cushion_100_3 +#define FIU_SMFR_SeatVentBalance_Req_FIU_SMFR_REQ_CTR_SEATS_Backrest_00_Cushion_100_3 (1) +#endif + +#ifndef FIU_SMFR_SeatVentBalance_Req_FIU_SMFR_REQ_CTR_SEATS_No_action +#define FIU_SMFR_SeatVentBalance_Req_FIU_SMFR_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMFR_SeatMassageIntence_Req signal + +#ifndef FIU_SMFR_SeatMassageIntence_Req_FIU_SMFR_REQ_CTR_SEATS_High_power +#define FIU_SMFR_SeatMassageIntence_Req_FIU_SMFR_REQ_CTR_SEATS_High_power (3) +#endif + +#ifndef FIU_SMFR_SeatMassageIntence_Req_FIU_SMFR_REQ_CTR_SEATS_Middle_power +#define FIU_SMFR_SeatMassageIntence_Req_FIU_SMFR_REQ_CTR_SEATS_Middle_power (2) +#endif + +#ifndef FIU_SMFR_SeatMassageIntence_Req_FIU_SMFR_REQ_CTR_SEATS_Low_power +#define FIU_SMFR_SeatMassageIntence_Req_FIU_SMFR_REQ_CTR_SEATS_Low_power (1) +#endif + +#ifndef FIU_SMFR_SeatMassageIntence_Req_FIU_SMFR_REQ_CTR_SEATS_No_action +#define FIU_SMFR_SeatMassageIntence_Req_FIU_SMFR_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMFR_SeatHeating_Req signal + +#ifndef FIU_SMFR_SeatHeating_Req_FIU_SMFR_REQ_CTR_SEATS_High_power +#define FIU_SMFR_SeatHeating_Req_FIU_SMFR_REQ_CTR_SEATS_High_power (3) +#endif + +#ifndef FIU_SMFR_SeatHeating_Req_FIU_SMFR_REQ_CTR_SEATS_Normal_power +#define FIU_SMFR_SeatHeating_Req_FIU_SMFR_REQ_CTR_SEATS_Normal_power (2) +#endif + +#ifndef FIU_SMFR_SeatHeating_Req_FIU_SMFR_REQ_CTR_SEATS_Low_power +#define FIU_SMFR_SeatHeating_Req_FIU_SMFR_REQ_CTR_SEATS_Low_power (1) +#endif + +#ifndef FIU_SMFR_SeatHeating_Req_FIU_SMFR_REQ_CTR_SEATS_Off +#define FIU_SMFR_SeatHeating_Req_FIU_SMFR_REQ_CTR_SEATS_Off (0) +#endif + + +// Value tables for @FIU_SMFR_ActiveSupport_Req signal + +#ifndef FIU_SMFR_ActiveSupport_Req_FIU_SMFR_REQ_CTR_SEATS_Active +#define FIU_SMFR_ActiveSupport_Req_FIU_SMFR_REQ_CTR_SEATS_Active (1) +#endif + +#ifndef FIU_SMFR_ActiveSupport_Req_FIU_SMFR_REQ_CTR_SEATS_Inactive +#define FIU_SMFR_ActiveSupport_Req_FIU_SMFR_REQ_CTR_SEATS_Inactive (0) +#endif + + +// Value tables for @FIU_SMFR_SeatHeatBalance_Req signal + +#ifndef FIU_SMFR_SeatHeatBalance_Req_FIU_SMFR_REQ_CTR_SEATS_Backrest_100_Cushion_00_3 +#define FIU_SMFR_SeatHeatBalance_Req_FIU_SMFR_REQ_CTR_SEATS_Backrest_100_Cushion_00_3 (7) +#endif + +#ifndef FIU_SMFR_SeatHeatBalance_Req_FIU_SMFR_REQ_CTR_SEATS_Backrest_100_Cushion_33_2 +#define FIU_SMFR_SeatHeatBalance_Req_FIU_SMFR_REQ_CTR_SEATS_Backrest_100_Cushion_33_2 (6) +#endif + +#ifndef FIU_SMFR_SeatHeatBalance_Req_FIU_SMFR_REQ_CTR_SEATS_Backrest_100_Cushion_67_1 +#define FIU_SMFR_SeatHeatBalance_Req_FIU_SMFR_REQ_CTR_SEATS_Backrest_100_Cushion_67_1 (5) +#endif + +#ifndef FIU_SMFR_SeatHeatBalance_Req_FIU_SMFR_REQ_CTR_SEATS_Backrest_100_Cushion_100_0 +#define FIU_SMFR_SeatHeatBalance_Req_FIU_SMFR_REQ_CTR_SEATS_Backrest_100_Cushion_100_0 (4) +#endif + +#ifndef FIU_SMFR_SeatHeatBalance_Req_FIU_SMFR_REQ_CTR_SEATS_Backrest_67_Cushion_100_1 +#define FIU_SMFR_SeatHeatBalance_Req_FIU_SMFR_REQ_CTR_SEATS_Backrest_67_Cushion_100_1 (3) +#endif + +#ifndef FIU_SMFR_SeatHeatBalance_Req_FIU_SMFR_REQ_CTR_SEATS_Backrest_33_Cushion_100_2 +#define FIU_SMFR_SeatHeatBalance_Req_FIU_SMFR_REQ_CTR_SEATS_Backrest_33_Cushion_100_2 (2) +#endif + +#ifndef FIU_SMFR_SeatHeatBalance_Req_FIU_SMFR_REQ_CTR_SEATS_Backrest_00_Cushion_100_3 +#define FIU_SMFR_SeatHeatBalance_Req_FIU_SMFR_REQ_CTR_SEATS_Backrest_00_Cushion_100_3 (1) +#endif + +#ifndef FIU_SMFR_SeatHeatBalance_Req_FIU_SMFR_REQ_CTR_SEATS_No_action +#define FIU_SMFR_SeatHeatBalance_Req_FIU_SMFR_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMFR_SeatMassageType_Req signal + +#ifndef FIU_SMFR_SeatMassageType_Req_FIU_SMFR_REQ_CTR_SEATS_Type_7_Velvet +#define FIU_SMFR_SeatMassageType_Req_FIU_SMFR_REQ_CTR_SEATS_Type_7_Velvet (7) +#endif + +#ifndef FIU_SMFR_SeatMassageType_Req_FIU_SMFR_REQ_CTR_SEATS_Type_6_Sonnet +#define FIU_SMFR_SeatMassageType_Req_FIU_SMFR_REQ_CTR_SEATS_Type_6_Sonnet (6) +#endif + +#ifndef FIU_SMFR_SeatMassageType_Req_FIU_SMFR_REQ_CTR_SEATS_Type_5_Quantum +#define FIU_SMFR_SeatMassageType_Req_FIU_SMFR_REQ_CTR_SEATS_Type_5_Quantum (5) +#endif + +#ifndef FIU_SMFR_SeatMassageType_Req_FIU_SMFR_REQ_CTR_SEATS_Type_4_Cashmere +#define FIU_SMFR_SeatMassageType_Req_FIU_SMFR_REQ_CTR_SEATS_Type_4_Cashmere (4) +#endif + +#ifndef FIU_SMFR_SeatMassageType_Req_FIU_SMFR_REQ_CTR_SEATS_Type_3_Harmony +#define FIU_SMFR_SeatMassageType_Req_FIU_SMFR_REQ_CTR_SEATS_Type_3_Harmony (3) +#endif + +#ifndef FIU_SMFR_SeatMassageType_Req_FIU_SMFR_REQ_CTR_SEATS_Type_2_Orbital +#define FIU_SMFR_SeatMassageType_Req_FIU_SMFR_REQ_CTR_SEATS_Type_2_Orbital (2) +#endif + +#ifndef FIU_SMFR_SeatMassageType_Req_FIU_SMFR_REQ_CTR_SEATS_Type_1_Insight +#define FIU_SMFR_SeatMassageType_Req_FIU_SMFR_REQ_CTR_SEATS_Type_1_Insight (1) +#endif + +#ifndef FIU_SMFR_SeatMassageType_Req_FIU_SMFR_REQ_CTR_SEATS_No_action +#define FIU_SMFR_SeatMassageType_Req_FIU_SMFR_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMFR_BackrestMassageType_Req signal + +#ifndef FIU_SMFR_BackrestMassageType_Req_FIU_SMFR_REQ_CTR_SEATS_Reserved +#define FIU_SMFR_BackrestMassageType_Req_FIU_SMFR_REQ_CTR_SEATS_Reserved (7) +#endif + +#ifndef FIU_SMFR_BackrestMassageType_Req_FIU_SMFR_REQ_CTR_SEATS_Reserved +#define FIU_SMFR_BackrestMassageType_Req_FIU_SMFR_REQ_CTR_SEATS_Reserved (6) +#endif + +#ifndef FIU_SMFR_BackrestMassageType_Req_FIU_SMFR_REQ_CTR_SEATS_Type_5_Elegy +#define FIU_SMFR_BackrestMassageType_Req_FIU_SMFR_REQ_CTR_SEATS_Type_5_Elegy (5) +#endif + +#ifndef FIU_SMFR_BackrestMassageType_Req_FIU_SMFR_REQ_CTR_SEATS_Type_4_Caprice +#define FIU_SMFR_BackrestMassageType_Req_FIU_SMFR_REQ_CTR_SEATS_Type_4_Caprice (4) +#endif + +#ifndef FIU_SMFR_BackrestMassageType_Req_FIU_SMFR_REQ_CTR_SEATS_Type_3_Pulse +#define FIU_SMFR_BackrestMassageType_Req_FIU_SMFR_REQ_CTR_SEATS_Type_3_Pulse (3) +#endif + +#ifndef FIU_SMFR_BackrestMassageType_Req_FIU_SMFR_REQ_CTR_SEATS_Type_2_Energy +#define FIU_SMFR_BackrestMassageType_Req_FIU_SMFR_REQ_CTR_SEATS_Type_2_Energy (2) +#endif + +#ifndef FIU_SMFR_BackrestMassageType_Req_FIU_SMFR_REQ_CTR_SEATS_Type_1_Synchrony +#define FIU_SMFR_BackrestMassageType_Req_FIU_SMFR_REQ_CTR_SEATS_Type_1_Synchrony (1) +#endif + +#ifndef FIU_SMFR_BackrestMassageType_Req_FIU_SMFR_REQ_CTR_SEATS_No_action +#define FIU_SMFR_BackrestMassageType_Req_FIU_SMFR_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMFR_ComfortMode_Req signal + +#ifndef FIU_SMFR_ComfortMode_Req_FIU_SMFR_REQ_CTR_SEATS_Active +#define FIU_SMFR_ComfortMode_Req_FIU_SMFR_REQ_CTR_SEATS_Active (1) +#endif + +#ifndef FIU_SMFR_ComfortMode_Req_FIU_SMFR_REQ_CTR_SEATS_Inactive +#define FIU_SMFR_ComfortMode_Req_FIU_SMFR_REQ_CTR_SEATS_Inactive (0) +#endif + + +// Value tables for @FIU_SMFR_ComfortScenario_Req signal + +#ifndef FIU_SMFR_ComfortScenario_Req_FIU_SMFR_REQ_CTR_SEATS_Type_3 +#define FIU_SMFR_ComfortScenario_Req_FIU_SMFR_REQ_CTR_SEATS_Type_3 (3) +#endif + +#ifndef FIU_SMFR_ComfortScenario_Req_FIU_SMFR_REQ_CTR_SEATS_Type_2 +#define FIU_SMFR_ComfortScenario_Req_FIU_SMFR_REQ_CTR_SEATS_Type_2 (2) +#endif + +#ifndef FIU_SMFR_ComfortScenario_Req_FIU_SMFR_REQ_CTR_SEATS_Type_1 +#define FIU_SMFR_ComfortScenario_Req_FIU_SMFR_REQ_CTR_SEATS_Type_1 (1) +#endif + +#ifndef FIU_SMFR_ComfortScenario_Req_FIU_SMFR_REQ_CTR_SEATS_No_action +#define FIU_SMFR_ComfortScenario_Req_FIU_SMFR_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMFR_CarpetHeat_Req signal + +#ifndef FIU_SMFR_CarpetHeat_Req_FIU_SMFR_REQ_CTR_SEATS_Active +#define FIU_SMFR_CarpetHeat_Req_FIU_SMFR_REQ_CTR_SEATS_Active (1) +#endif + +#ifndef FIU_SMFR_CarpetHeat_Req_FIU_SMFR_REQ_CTR_SEATS_Inactive +#define FIU_SMFR_CarpetHeat_Req_FIU_SMFR_REQ_CTR_SEATS_Inactive (0) +#endif + + +// Value tables for @FIU_SMFR_TimerMassage_Req signal + +#ifndef FIU_SMFR_TimerMassage_Req_FIU_SMFR_REQ_CTR_SEATS_Reserved +#define FIU_SMFR_TimerMassage_Req_FIU_SMFR_REQ_CTR_SEATS_Reserved (7) +#endif + +#ifndef FIU_SMFR_TimerMassage_Req_FIU_SMFR_REQ_CTR_SEATS__min +#define FIU_SMFR_TimerMassage_Req_FIU_SMFR_REQ_CTR_SEATS__min (6) +#endif + +#ifndef FIU_SMFR_TimerMassage_Req_FIU_SMFR_REQ_CTR_SEATS__min +#define FIU_SMFR_TimerMassage_Req_FIU_SMFR_REQ_CTR_SEATS__min (5) +#endif + +#ifndef FIU_SMFR_TimerMassage_Req_FIU_SMFR_REQ_CTR_SEATS__min +#define FIU_SMFR_TimerMassage_Req_FIU_SMFR_REQ_CTR_SEATS__min (4) +#endif + +#ifndef FIU_SMFR_TimerMassage_Req_FIU_SMFR_REQ_CTR_SEATS__min +#define FIU_SMFR_TimerMassage_Req_FIU_SMFR_REQ_CTR_SEATS__min (3) +#endif + +#ifndef FIU_SMFR_TimerMassage_Req_FIU_SMFR_REQ_CTR_SEATS__min +#define FIU_SMFR_TimerMassage_Req_FIU_SMFR_REQ_CTR_SEATS__min (2) +#endif + +#ifndef FIU_SMFR_TimerMassage_Req_FIU_SMFR_REQ_CTR_SEATS__min +#define FIU_SMFR_TimerMassage_Req_FIU_SMFR_REQ_CTR_SEATS__min (1) +#endif + +#ifndef FIU_SMFR_TimerMassage_Req_FIU_SMFR_REQ_CTR_SEATS_No_action +#define FIU_SMFR_TimerMassage_Req_FIU_SMFR_REQ_CTR_SEATS_No_action (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Signal for regulation Seat Height FR + // (FR seat base height regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMFR_SeatHeight_Req : 2; // Bits= 2 + + // Signal for regulation FR head rest height + // (FR headrest height regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMFR_HeadRest_Height_Req : 2; // Bits= 2 + + // Signal for regulation FR seat longitudinal + // (FR seat base longitudinal regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMFR_SeatLongitunalReq : 2; // Bits= 2 + + // Signal for regulation FR seat inclination + // (FR headrest depth regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMFR_SeatHeadRestInclin_Req : 2; // Bits= 2 + + // Signal for regulation FR seat surface longitudinal + // (FR seat pillow longitudinal regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMFR_SeatSurfaceLong_Req : 2; // Bits= 2 + + // Signal for regulation FR seat leg support height + // (FR seat leg support height regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMFR_SeatLegSupportH_Req : 2; // Bits= 2 + + // Signal for regulation FR seat leg support longitudinal + // (FR seat leg support longitudinal regulation request, RESERVE) + // 3 : "Resertved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMFR_SeatLegSupportLong_Req : 2; // Bits= 2 + + // Signal for regulation FR seat inclination + // (FR seat pillow inclination regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMFR_SeatInclination_Req : 2; // Bits= 2 + + // Signal for regulation FR seat backrest lnclination + // (FR backrest angle regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMFR_SeatBackRestInc_Req : 2; // Bits= 2 + + // Signal for regulation FR seat lumbar support height + // (FR backrest lumbar support height regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMFR_SeatLumbarSupHeight_Req : 2; // Bits= 2 + + // Signal for regulation FR seat backrest head inclination + // (FR backrest should support regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMFR_SeatBackRestHeadInc_Req : 2; // Bits= 2 + + // Signal for regulation FR seat lumbar support depth + // (FR backrest lumbar support depth regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMFR_SeatLumbarSupDepth_Req : 2; // Bits= 2 + + // Signal for regulation FR seat backrest width + // (FR backrest lateral support regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMFR_BackRestWidth_Req : 2; // Bits= 2 + + // Signal for regulation FR seat cushion support + // (FR seat cushion side lateral support regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMFR_SeatCushionSupport_Req : 2; // Bits= 2 + + // Signal for seat massage activation + // (FR seat massage request) + // 3 : "Reserved" + // 2 : "Massage ON" + // 1 : "Massage OFF" + // 0 : "No action" + uint8_t FIU_SMFR_SeatMassage_Req : 2; // Bits= 2 + + // Signal for ventilation activation mode + // (FR seat ventilation request) + // 3 : "High power" + // 2 : "Middle power" + // 1 : "Low power" + // 0 : "Off" + uint8_t FIU_SMFR_SeatVentilation_Req : 2; // Bits= 2 + + // Signal for ventilation balance mode + // (FR seat ventilation balance request) + // 7 : "Backrest 100%, Cushion 00%: 3" + // 6 : "Backrest 100%, Cushion 33%: 2" + // 5 : "Backrest 100%, Cushion 67%: 1" + // 4 : "Backrest 100%, Cushion 100%: 0" + // 3 : "Backrest 67%, Cushion 100%: -1" + // 2 : "Backrest 33%, Cushion 100%: -2" + // 1 : "Backrest 00%, Cushion 100%: -3" + // 0 : "No action" + uint8_t FIU_SMFR_SeatVentBalance_Req : 3; // Bits= 3 + + // Signal for seat massage intencity regulation + // (FR seat massage intencity request) + // 3 : "High power" + // 2 : "Middle power" + // 1 : "Low power" + // 0 : "No action" + uint8_t FIU_SMFR_SeatMassageIntence_Req : 2; // Bits= 2 + + // Signal for seat heating activation mode + // (FR seat heating request) + // 3 : "High power" + // 2 : "Normal power" + // 1 : "Low power" + // 0 : "Off" + uint8_t FIU_SMFR_SeatHeating_Req : 2; // Bits= 2 + + // FR active lateral support request + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_SMFR_ActiveSupport_Req : 1; // Bits= 1 + + // Signal for seat heating balance + // (FR seat heating balance request) + // 7 : "Backrest 100%, Cushion 00%: 3" + // 6 : "Backrest 100%, Cushion 33%: 2" + // 5 : "Backrest 100%, Cushion 67%: 1" + // 4 : "Backrest 100%, Cushion 100%: 0" + // 3 : "Backrest 67%, Cushion 100%: -1" + // 2 : "Backrest 33%, Cushion 100%: -2" + // 1 : "Backrest 00%, Cushion 100%: -3" + // 0 : "No action" + uint8_t FIU_SMFR_SeatHeatBalance_Req : 3; // Bits= 3 + + // Signal for seat massage type (mode) + // (FR seat massage type request) + // 7 : "Type 7 (Velvet)" + // 6 : "Type 6 (Sonnet)" + // 5 : "Type 5 (Quantum)" + // 4 : "Type 4 (Cashmere)" + // 3 : "Type 3 (Harmony)" + // 2 : "Type 2 (Orbital)" + // 1 : "Type 1 (Insight)" + // 0 : "No action" + uint8_t FIU_SMFR_SeatMassageType_Req : 3; // Bits= 3 + + // Signal for backrest massage type (mode) + // (FL backrest massage type command) + // 7 : "Reserved" + // 6 : "Reserved" + // 5 : "Type 5 (Elegy)" + // 4 : "Type 4 (Caprice)" + // 3 : "Type 3 (Pulse)" + // 2 : "Type 2 (Energy)" + // 1 : "Type 1 (Synchrony)" + // 0 : "No action" + uint8_t FIU_SMFR_BackrestMassageType_Req : 3; // Bits= 3 + + // FR comfort mode command + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_SMFR_ComfortMode_Req : 1; // Bits= 1 + + // FR comfort mode scenario command + // 3 : "Type 3" + // 2 : "Type 2" + // 1 : "Type 1" + // 0 : "No action" + uint8_t FIU_SMFR_ComfortScenario_Req : 2; // Bits= 2 + + // FR carpet heating command + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_SMFR_CarpetHeat_Req : 1; // Bits= 1 + + // Signal for setting the massage timer + // 7 : "Reserved" + // 6 : "30 min" + // 5 : "25 min" + // 4 : "20 min" + // 3 : "15 min" + // 2 : "10 min" + // 1 : "5 min" + // 0 : "No action" + uint8_t FIU_SMFR_TimerMassage_Req : 3; // Bits= 3 + +#else + + // Signal for regulation Seat Height FR + // (FR seat base height regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMFR_SeatHeight_Req; // Bits= 2 + + // Signal for regulation FR head rest height + // (FR headrest height regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMFR_HeadRest_Height_Req; // Bits= 2 + + // Signal for regulation FR seat longitudinal + // (FR seat base longitudinal regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMFR_SeatLongitunalReq; // Bits= 2 + + // Signal for regulation FR seat inclination + // (FR headrest depth regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMFR_SeatHeadRestInclin_Req; // Bits= 2 + + // Signal for regulation FR seat surface longitudinal + // (FR seat pillow longitudinal regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMFR_SeatSurfaceLong_Req; // Bits= 2 + + // Signal for regulation FR seat leg support height + // (FR seat leg support height regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMFR_SeatLegSupportH_Req; // Bits= 2 + + // Signal for regulation FR seat leg support longitudinal + // (FR seat leg support longitudinal regulation request, RESERVE) + // 3 : "Resertved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMFR_SeatLegSupportLong_Req; // Bits= 2 + + // Signal for regulation FR seat inclination + // (FR seat pillow inclination regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMFR_SeatInclination_Req; // Bits= 2 + + // Signal for regulation FR seat backrest lnclination + // (FR backrest angle regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMFR_SeatBackRestInc_Req; // Bits= 2 + + // Signal for regulation FR seat lumbar support height + // (FR backrest lumbar support height regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMFR_SeatLumbarSupHeight_Req; // Bits= 2 + + // Signal for regulation FR seat backrest head inclination + // (FR backrest should support regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMFR_SeatBackRestHeadInc_Req; // Bits= 2 + + // Signal for regulation FR seat lumbar support depth + // (FR backrest lumbar support depth regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMFR_SeatLumbarSupDepth_Req; // Bits= 2 + + // Signal for regulation FR seat backrest width + // (FR backrest lateral support regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMFR_BackRestWidth_Req; // Bits= 2 + + // Signal for regulation FR seat cushion support + // (FR seat cushion side lateral support regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMFR_SeatCushionSupport_Req; // Bits= 2 + + // Signal for seat massage activation + // (FR seat massage request) + // 3 : "Reserved" + // 2 : "Massage ON" + // 1 : "Massage OFF" + // 0 : "No action" + uint8_t FIU_SMFR_SeatMassage_Req; // Bits= 2 + + // Signal for ventilation activation mode + // (FR seat ventilation request) + // 3 : "High power" + // 2 : "Middle power" + // 1 : "Low power" + // 0 : "Off" + uint8_t FIU_SMFR_SeatVentilation_Req; // Bits= 2 + + // Signal for ventilation balance mode + // (FR seat ventilation balance request) + // 7 : "Backrest 100%, Cushion 00%: 3" + // 6 : "Backrest 100%, Cushion 33%: 2" + // 5 : "Backrest 100%, Cushion 67%: 1" + // 4 : "Backrest 100%, Cushion 100%: 0" + // 3 : "Backrest 67%, Cushion 100%: -1" + // 2 : "Backrest 33%, Cushion 100%: -2" + // 1 : "Backrest 00%, Cushion 100%: -3" + // 0 : "No action" + uint8_t FIU_SMFR_SeatVentBalance_Req; // Bits= 3 + + // Signal for seat massage intencity regulation + // (FR seat massage intencity request) + // 3 : "High power" + // 2 : "Middle power" + // 1 : "Low power" + // 0 : "No action" + uint8_t FIU_SMFR_SeatMassageIntence_Req; // Bits= 2 + + // Signal for seat heating activation mode + // (FR seat heating request) + // 3 : "High power" + // 2 : "Normal power" + // 1 : "Low power" + // 0 : "Off" + uint8_t FIU_SMFR_SeatHeating_Req; // Bits= 2 + + // FR active lateral support request + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_SMFR_ActiveSupport_Req; // Bits= 1 + + // Signal for seat heating balance + // (FR seat heating balance request) + // 7 : "Backrest 100%, Cushion 00%: 3" + // 6 : "Backrest 100%, Cushion 33%: 2" + // 5 : "Backrest 100%, Cushion 67%: 1" + // 4 : "Backrest 100%, Cushion 100%: 0" + // 3 : "Backrest 67%, Cushion 100%: -1" + // 2 : "Backrest 33%, Cushion 100%: -2" + // 1 : "Backrest 00%, Cushion 100%: -3" + // 0 : "No action" + uint8_t FIU_SMFR_SeatHeatBalance_Req; // Bits= 3 + + // Signal for seat massage type (mode) + // (FR seat massage type request) + // 7 : "Type 7 (Velvet)" + // 6 : "Type 6 (Sonnet)" + // 5 : "Type 5 (Quantum)" + // 4 : "Type 4 (Cashmere)" + // 3 : "Type 3 (Harmony)" + // 2 : "Type 2 (Orbital)" + // 1 : "Type 1 (Insight)" + // 0 : "No action" + uint8_t FIU_SMFR_SeatMassageType_Req; // Bits= 3 + + // Signal for backrest massage type (mode) + // (FL backrest massage type command) + // 7 : "Reserved" + // 6 : "Reserved" + // 5 : "Type 5 (Elegy)" + // 4 : "Type 4 (Caprice)" + // 3 : "Type 3 (Pulse)" + // 2 : "Type 2 (Energy)" + // 1 : "Type 1 (Synchrony)" + // 0 : "No action" + uint8_t FIU_SMFR_BackrestMassageType_Req; // Bits= 3 + + // FR comfort mode command + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_SMFR_ComfortMode_Req; // Bits= 1 + + // FR comfort mode scenario command + // 3 : "Type 3" + // 2 : "Type 2" + // 1 : "Type 1" + // 0 : "No action" + uint8_t FIU_SMFR_ComfortScenario_Req; // Bits= 2 + + // FR carpet heating command + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_SMFR_CarpetHeat_Req; // Bits= 1 + + // Signal for setting the massage timer + // 7 : "Reserved" + // 6 : "30 min" + // 5 : "25 min" + // 4 : "20 min" + // 3 : "15 min" + // 2 : "10 min" + // 1 : "5 min" + // 0 : "No action" + uint8_t FIU_SMFR_TimerMassage_Req; // Bits= 3 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} FIU_SMFR_REQ_CTR_SEATS_t; + +// def @SMFL_MEM1 CAN Message (1331 0x533) +#define SMFL_MEM1_IDE (0U) +#define SMFL_MEM1_DLC (8U) +#define SMFL_MEM1_CANID (0x533U) +// signal: @SMFL_PosnActSeatI_Val_ro +#define CANDB_SMFL_PosnActSeatI_Val_ro_CovFactor (0.125) +#define CANDB_SMFL_PosnActSeatI_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.125)) ) +#define CANDB_SMFL_PosnActSeatI_Val_ro_fromS(x) ( (((x) * (0.125)) + (0.0)) ) +// signal: @SMFL_PosnActSeatBRW_Val_ro +#define CANDB_SMFL_PosnActSeatBRW_Val_ro_CovFactor (1) +#define CANDB_SMFL_PosnActSeatBRW_Val_ro_toS(x) ( (uint8_t) ((x) - (300)) ) +#define CANDB_SMFL_PosnActSeatBRW_Val_ro_fromS(x) ( ((x) + (300)) ) +// signal: @SMFL_PosnActSeatFRH_Val_ro +#define CANDB_SMFL_PosnActSeatFRH_Val_ro_CovFactor (0.8) +#define CANDB_SMFL_PosnActSeatFRH_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.8)) ) +#define CANDB_SMFL_PosnActSeatFRH_Val_ro_fromS(x) ( (((x) * (0.8)) + (0.0)) ) +// signal: @SMFL_PosnActSeatFRL_Val_ro +#define CANDB_SMFL_PosnActSeatFRL_Val_ro_CovFactor (0.25) +#define CANDB_SMFL_PosnActSeatFRL_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.25)) ) +#define CANDB_SMFL_PosnActSeatFRL_Val_ro_fromS(x) ( (((x) * (0.25)) + (0.0)) ) +// signal: @SMFL_PosnActSeatH_Val_ro +#define CANDB_SMFL_PosnActSeatH_Val_ro_CovFactor (0.8) +#define CANDB_SMFL_PosnActSeatH_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.8)) ) +#define CANDB_SMFL_PosnActSeatH_Val_ro_fromS(x) ( (((x) * (0.8)) + (0.0)) ) +// signal: @SMFL_PosnActSeatHRH_Val_ro +#define CANDB_SMFL_PosnActSeatHRH_Val_ro_CovFactor (0.5) +#define CANDB_SMFL_PosnActSeatHRH_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.5)) ) +#define CANDB_SMFL_PosnActSeatHRH_Val_ro_fromS(x) ( (((x) * (0.5)) + (0.0)) ) +// signal: @SMFL_PosnActSeatL_Val_ro +#define CANDB_SMFL_PosnActSeatL_Val_ro_CovFactor (0.8) +#define CANDB_SMFL_PosnActSeatL_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.8)) ) +#define CANDB_SMFL_PosnActSeatL_Val_ro_fromS(x) ( (((x) * (0.8)) + (0.0)) ) +// signal: @SMFL_PosnActSeatSL_Val_ro +#define CANDB_SMFL_PosnActSeatSL_Val_ro_CovFactor (0.8) +#define CANDB_SMFL_PosnActSeatSL_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.8)) ) +#define CANDB_SMFL_PosnActSeatSL_Val_ro_fromS(x) ( (((x) * (0.8)) + (0.0)) ) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // SMFL current seat inclination position. + uint8_t SMFL_PosnActSeatI_Val_ro; // Bits= 8 Factor= 0.125 Unit:'�' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMFL_PosnActSeatI_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMFL current seat back rest width position. + uint8_t SMFL_PosnActSeatBRW_Val_ro; // Bits= 8 Offset= 300 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + uint16_t SMFL_PosnActSeatBRW_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMFL current seat foot rest height position. + uint8_t SMFL_PosnActSeatFRH_Val_ro; // Bits= 8 Factor= 0.8 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMFL_PosnActSeatFRH_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMFL current seat foot rest longitudinal position. + uint8_t SMFL_PosnActSeatFRL_Val_ro; // Bits= 8 Factor= 0.25 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMFL_PosnActSeatFRL_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMFL current seat height position. + uint8_t SMFL_PosnActSeatH_Val_ro; // Bits= 8 Factor= 0.8 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMFL_PosnActSeatH_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMFL current seat head rest height position. + uint8_t SMFL_PosnActSeatHRH_Val_ro; // Bits= 8 Factor= 0.5 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMFL_PosnActSeatHRH_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMFL current seat longitudinal position. + uint8_t SMFL_PosnActSeatL_Val_ro; // Bits= 8 Factor= 0.8 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMFL_PosnActSeatL_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMFL current seat surface longitudinal position. + uint8_t SMFL_PosnActSeatSL_Val_ro; // Bits= 8 Factor= 0.8 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMFL_PosnActSeatSL_Val_phys; +#endif // CANDB_USE_SIGFLOAT + +#else + + // SMFL current seat inclination position. + uint8_t SMFL_PosnActSeatI_Val_ro; // Bits= 8 Factor= 0.125 Unit:'�' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMFL_PosnActSeatI_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMFL current seat back rest width position. + uint8_t SMFL_PosnActSeatBRW_Val_ro; // Bits= 8 Offset= 300 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + uint16_t SMFL_PosnActSeatBRW_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMFL current seat foot rest height position. + uint8_t SMFL_PosnActSeatFRH_Val_ro; // Bits= 8 Factor= 0.8 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMFL_PosnActSeatFRH_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMFL current seat foot rest longitudinal position. + uint8_t SMFL_PosnActSeatFRL_Val_ro; // Bits= 8 Factor= 0.25 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMFL_PosnActSeatFRL_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMFL current seat height position. + uint8_t SMFL_PosnActSeatH_Val_ro; // Bits= 8 Factor= 0.8 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMFL_PosnActSeatH_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMFL current seat head rest height position. + uint8_t SMFL_PosnActSeatHRH_Val_ro; // Bits= 8 Factor= 0.5 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMFL_PosnActSeatHRH_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMFL current seat longitudinal position. + uint8_t SMFL_PosnActSeatL_Val_ro; // Bits= 8 Factor= 0.8 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMFL_PosnActSeatL_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMFL current seat surface longitudinal position. + uint8_t SMFL_PosnActSeatSL_Val_ro; // Bits= 8 Factor= 0.8 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMFL_PosnActSeatSL_Val_phys; +#endif // CANDB_USE_SIGFLOAT + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} SMFL_MEM1_t; + +// def @BCM_MEM_SMFL1 CAN Message (1332 0x534) +#define BCM_MEM_SMFL1_IDE (0U) +#define BCM_MEM_SMFL1_DLC (8U) +#define BCM_MEM_SMFL1_CANID (0x534U) +// signal: @BCM_FLMemPosnActSeatI_Val_ro +#define CANDB_BCM_FLMemPosnActSeatI_Val_ro_CovFactor (0.125) +#define CANDB_BCM_FLMemPosnActSeatI_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.125)) ) +#define CANDB_BCM_FLMemPosnActSeatI_Val_ro_fromS(x) ( (((x) * (0.125)) + (0.0)) ) +// signal: @BCM_FLMemPosnActSeatBRW_Val_ro +#define CANDB_BCM_FLMemPosnActSeatBRW_Val_ro_CovFactor (1) +#define CANDB_BCM_FLMemPosnActSeatBRW_Val_ro_toS(x) ( (uint8_t) ((x) - (300)) ) +#define CANDB_BCM_FLMemPosnActSeatBRW_Val_ro_fromS(x) ( ((x) + (300)) ) +// signal: @BCM_FLMemPosnActSeatFRH_Val_ro +#define CANDB_BCM_FLMemPosnActSeatFRH_Val_ro_CovFactor (0.8) +#define CANDB_BCM_FLMemPosnActSeatFRH_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.8)) ) +#define CANDB_BCM_FLMemPosnActSeatFRH_Val_ro_fromS(x) ( (((x) * (0.8)) + (0.0)) ) +// signal: @BCM_FLMemPosnActSeatFRL_Val_ro +#define CANDB_BCM_FLMemPosnActSeatFRL_Val_ro_CovFactor (0.25) +#define CANDB_BCM_FLMemPosnActSeatFRL_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.25)) ) +#define CANDB_BCM_FLMemPosnActSeatFRL_Val_ro_fromS(x) ( (((x) * (0.25)) + (0.0)) ) +// signal: @BCM_FLMemPosnActSeatH_Val_ro +#define CANDB_BCM_FLMemPosnActSeatH_Val_ro_CovFactor (0.8) +#define CANDB_BCM_FLMemPosnActSeatH_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.8)) ) +#define CANDB_BCM_FLMemPosnActSeatH_Val_ro_fromS(x) ( (((x) * (0.8)) + (0.0)) ) +// signal: @BCM_FLMemPosnActSeatHRH_Val_ro +#define CANDB_BCM_FLMemPosnActSeatHRH_Val_ro_CovFactor (0.5) +#define CANDB_BCM_FLMemPosnActSeatHRH_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.5)) ) +#define CANDB_BCM_FLMemPosnActSeatHRH_Val_ro_fromS(x) ( (((x) * (0.5)) + (0.0)) ) +// signal: @BCM_FLMemPosnActSeatL_Val_ro +#define CANDB_BCM_FLMemPosnActSeatL_Val_ro_CovFactor (0.8) +#define CANDB_BCM_FLMemPosnActSeatL_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.8)) ) +#define CANDB_BCM_FLMemPosnActSeatL_Val_ro_fromS(x) ( (((x) * (0.8)) + (0.0)) ) +// signal: @BCM_FLMemPosnActSeatSL_Val_ro +#define CANDB_BCM_FLMemPosnActSeatSL_Val_ro_CovFactor (0.8) +#define CANDB_BCM_FLMemPosnActSeatSL_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.8)) ) +#define CANDB_BCM_FLMemPosnActSeatSL_Val_ro_fromS(x) ( (((x) * (0.8)) + (0.0)) ) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Stored SMFL seat inclination position. + uint8_t BCM_FLMemPosnActSeatI_Val_ro; // Bits= 8 Factor= 0.125 Unit:'�' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_FLMemPosnActSeatI_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored SMFL seat back rest width position. + uint8_t BCM_FLMemPosnActSeatBRW_Val_ro; // Bits= 8 Offset= 300 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + uint16_t BCM_FLMemPosnActSeatBRW_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored SMFL seat foot rest height position. + uint8_t BCM_FLMemPosnActSeatFRH_Val_ro; // Bits= 8 Factor= 0.8 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_FLMemPosnActSeatFRH_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored SMFL seat foot rest longitudinal position. + uint8_t BCM_FLMemPosnActSeatFRL_Val_ro; // Bits= 8 Factor= 0.25 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_FLMemPosnActSeatFRL_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored SMFL seat height position. + uint8_t BCM_FLMemPosnActSeatH_Val_ro; // Bits= 8 Factor= 0.8 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_FLMemPosnActSeatH_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored SMFL seat head rest height position. + uint8_t BCM_FLMemPosnActSeatHRH_Val_ro; // Bits= 8 Factor= 0.5 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_FLMemPosnActSeatHRH_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored SMFL seat longitudinal position. + uint8_t BCM_FLMemPosnActSeatL_Val_ro; // Bits= 8 Factor= 0.8 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_FLMemPosnActSeatL_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored SMFL seat surface longitudinal position. + uint8_t BCM_FLMemPosnActSeatSL_Val_ro; // Bits= 8 Factor= 0.8 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_FLMemPosnActSeatSL_Val_phys; +#endif // CANDB_USE_SIGFLOAT + +#else + + // Stored SMFL seat inclination position. + uint8_t BCM_FLMemPosnActSeatI_Val_ro; // Bits= 8 Factor= 0.125 Unit:'�' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_FLMemPosnActSeatI_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored SMFL seat back rest width position. + uint8_t BCM_FLMemPosnActSeatBRW_Val_ro; // Bits= 8 Offset= 300 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + uint16_t BCM_FLMemPosnActSeatBRW_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored SMFL seat foot rest height position. + uint8_t BCM_FLMemPosnActSeatFRH_Val_ro; // Bits= 8 Factor= 0.8 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_FLMemPosnActSeatFRH_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored SMFL seat foot rest longitudinal position. + uint8_t BCM_FLMemPosnActSeatFRL_Val_ro; // Bits= 8 Factor= 0.25 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_FLMemPosnActSeatFRL_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored SMFL seat height position. + uint8_t BCM_FLMemPosnActSeatH_Val_ro; // Bits= 8 Factor= 0.8 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_FLMemPosnActSeatH_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored SMFL seat head rest height position. + uint8_t BCM_FLMemPosnActSeatHRH_Val_ro; // Bits= 8 Factor= 0.5 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_FLMemPosnActSeatHRH_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored SMFL seat longitudinal position. + uint8_t BCM_FLMemPosnActSeatL_Val_ro; // Bits= 8 Factor= 0.8 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_FLMemPosnActSeatL_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored SMFL seat surface longitudinal position. + uint8_t BCM_FLMemPosnActSeatSL_Val_ro; // Bits= 8 Factor= 0.8 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_FLMemPosnActSeatSL_Val_phys; +#endif // CANDB_USE_SIGFLOAT + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} BCM_MEM_SMFL1_t; + +// def @SMFL_MEM2 CAN Message (1333 0x535) +#define SMFL_MEM2_IDE (0U) +#define SMFL_MEM2_DLC (8U) +#define SMFL_MEM2_CANID (0x535U) +// signal: @SMFL_PosnActSeatBRHI_Val_ro +#define CANDB_SMFL_PosnActSeatBRHI_Val_ro_CovFactor (0.1) +#define CANDB_SMFL_PosnActSeatBRHI_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_SMFL_PosnActSeatBRHI_Val_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @SMFL_PosnActSeatHRHI_Val_ro +#define CANDB_SMFL_PosnActSeatHRHI_Val_ro_CovFactor (0.71) +#define CANDB_SMFL_PosnActSeatHRHI_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.71)) ) +#define CANDB_SMFL_PosnActSeatHRHI_Val_ro_fromS(x) ( (((x) * (0.71)) + (0.0)) ) +// signal: @SMFL_PosnActSeatBRI_Val_ro +#define CANDB_SMFL_PosnActSeatBRI_Val_ro_CovFactor (0.1) +#define CANDB_SMFL_PosnActSeatBRI_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_SMFL_PosnActSeatBRI_Val_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) + +// Value tables for @SMFL_ActHeatBalance_Val signal + +#ifndef SMFL_ActHeatBalance_Val_SMFL_MEM2_Backrest_100_Cushion_00_3 +#define SMFL_ActHeatBalance_Val_SMFL_MEM2_Backrest_100_Cushion_00_3 (7) +#endif + +#ifndef SMFL_ActHeatBalance_Val_SMFL_MEM2_Backrest_100_Cushion_33_2 +#define SMFL_ActHeatBalance_Val_SMFL_MEM2_Backrest_100_Cushion_33_2 (6) +#endif + +#ifndef SMFL_ActHeatBalance_Val_SMFL_MEM2_Backrest_100_Cushion_67_1 +#define SMFL_ActHeatBalance_Val_SMFL_MEM2_Backrest_100_Cushion_67_1 (5) +#endif + +#ifndef SMFL_ActHeatBalance_Val_SMFL_MEM2_Backrest_100_Cushion_100_0 +#define SMFL_ActHeatBalance_Val_SMFL_MEM2_Backrest_100_Cushion_100_0 (4) +#endif + +#ifndef SMFL_ActHeatBalance_Val_SMFL_MEM2_Backrest_67_Cushion_100_1 +#define SMFL_ActHeatBalance_Val_SMFL_MEM2_Backrest_67_Cushion_100_1 (3) +#endif + +#ifndef SMFL_ActHeatBalance_Val_SMFL_MEM2_Backrest_33_Cushion_100_2 +#define SMFL_ActHeatBalance_Val_SMFL_MEM2_Backrest_33_Cushion_100_2 (2) +#endif + +#ifndef SMFL_ActHeatBalance_Val_SMFL_MEM2_Backrest_00_Cushion_100_3 +#define SMFL_ActHeatBalance_Val_SMFL_MEM2_Backrest_00_Cushion_100_3 (1) +#endif + +#ifndef SMFL_ActHeatBalance_Val_SMFL_MEM2_No_action +#define SMFL_ActHeatBalance_Val_SMFL_MEM2_No_action (0) +#endif + +// signal: @SMFL_PosnPrsnSeatCS_Val_ro +#define CANDB_SMFL_PosnPrsnSeatCS_Val_ro_CovFactor (0.394) +#define CANDB_SMFL_PosnPrsnSeatCS_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.394)) ) +#define CANDB_SMFL_PosnPrsnSeatCS_Val_ro_fromS(x) ( (((x) * (0.394)) + (0.0)) ) +// signal: @SMFL_PosnPrsnSeatLSH_Val_ro +#define CANDB_SMFL_PosnPrsnSeatLSH_Val_ro_CovFactor (0.394) +#define CANDB_SMFL_PosnPrsnSeatLSH_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.394)) ) +#define CANDB_SMFL_PosnPrsnSeatLSH_Val_ro_fromS(x) ( (((x) * (0.394)) + (0.0)) ) +// signal: @SMFL_PosnPrsnSeatLSD_Val_ro +#define CANDB_SMFL_PosnPrsnSeatLSD_Val_ro_CovFactor (0.394) +#define CANDB_SMFL_PosnPrsnSeatLSD_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.394)) ) +#define CANDB_SMFL_PosnPrsnSeatLSD_Val_ro_fromS(x) ( (((x) * (0.394)) + (0.0)) ) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // SMFL current seat back rest head inclination position. + uint8_t SMFL_PosnActSeatBRHI_Val_ro; // Bits= 8 Factor= 0.1 Unit:'�' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMFL_PosnActSeatBRHI_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMFL current seat head rest height inclination position. + uint8_t SMFL_PosnActSeatHRHI_Val_ro; // Bits= 8 Factor= 0.71 Unit:'�' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMFL_PosnActSeatHRHI_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMFL current seat back rest inclination position. + uint8_t SMFL_PosnActSeatBRI_Val_ro; // Bits= 8 Factor= 0.1 Unit:'�' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMFL_PosnActSeatBRI_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMFL current seat heat balance + // 7 : "Backrest 100%, Cushion 00%: 3" + // 6 : "Backrest 100%, Cushion 33%: 2" + // 5 : "Backrest 100%, Cushion 67%: 1" + // 4 : "Backrest 100%, Cushion 100%: 0" + // 3 : "Backrest 67%, Cushion 100%: -1" + // 2 : "Backrest 33%, Cushion 100%: -2" + // 1 : "Backrest 00%, Cushion 100%: -3" + // 0 : "No action" + uint8_t SMFL_ActHeatBalance_Val : 3; // Bits= 3 + + // SMFL current seat ventilation balance + uint8_t SMFL_ActVentBalance_Val : 3; // Bits= 3 + + // SMFL current seat cushion support position + uint8_t SMFL_PosnPrsnSeatCS_Val_ro; // Bits= 8 Factor= 0.394 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMFL_PosnPrsnSeatCS_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMFL current seat Longitudinal Surface Height + uint8_t SMFL_PosnPrsnSeatLSH_Val_ro; // Bits= 8 Factor= 0.394 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMFL_PosnPrsnSeatLSH_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMFL current seat Longitudinal Surface Depth + uint8_t SMFL_PosnPrsnSeatLSD_Val_ro; // Bits= 8 Factor= 0.394 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMFL_PosnPrsnSeatLSD_Val_phys; +#endif // CANDB_USE_SIGFLOAT + +#else + + // SMFL current seat back rest head inclination position. + uint8_t SMFL_PosnActSeatBRHI_Val_ro; // Bits= 8 Factor= 0.1 Unit:'�' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMFL_PosnActSeatBRHI_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMFL current seat head rest height inclination position. + uint8_t SMFL_PosnActSeatHRHI_Val_ro; // Bits= 8 Factor= 0.71 Unit:'�' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMFL_PosnActSeatHRHI_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMFL current seat back rest inclination position. + uint8_t SMFL_PosnActSeatBRI_Val_ro; // Bits= 8 Factor= 0.1 Unit:'�' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMFL_PosnActSeatBRI_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMFL current seat heat balance + // 7 : "Backrest 100%, Cushion 00%: 3" + // 6 : "Backrest 100%, Cushion 33%: 2" + // 5 : "Backrest 100%, Cushion 67%: 1" + // 4 : "Backrest 100%, Cushion 100%: 0" + // 3 : "Backrest 67%, Cushion 100%: -1" + // 2 : "Backrest 33%, Cushion 100%: -2" + // 1 : "Backrest 00%, Cushion 100%: -3" + // 0 : "No action" + uint8_t SMFL_ActHeatBalance_Val; // Bits= 3 + + // SMFL current seat ventilation balance + uint8_t SMFL_ActVentBalance_Val; // Bits= 3 + + // SMFL current seat cushion support position + uint8_t SMFL_PosnPrsnSeatCS_Val_ro; // Bits= 8 Factor= 0.394 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMFL_PosnPrsnSeatCS_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMFL current seat Longitudinal Surface Height + uint8_t SMFL_PosnPrsnSeatLSH_Val_ro; // Bits= 8 Factor= 0.394 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMFL_PosnPrsnSeatLSH_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMFL current seat Longitudinal Surface Depth + uint8_t SMFL_PosnPrsnSeatLSD_Val_ro; // Bits= 8 Factor= 0.394 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMFL_PosnPrsnSeatLSD_Val_phys; +#endif // CANDB_USE_SIGFLOAT + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} SMFL_MEM2_t; + +// def @BCM_MEM_SMFL2 CAN Message (1334 0x536) +#define BCM_MEM_SMFL2_IDE (0U) +#define BCM_MEM_SMFL2_DLC (8U) +#define BCM_MEM_SMFL2_CANID (0x536U) +// signal: @BCM_FLMemPosnActSeatBRHI_Val_ro +#define CANDB_BCM_FLMemPosnActSeatBRHI_Val_ro_CovFactor (0.1) +#define CANDB_BCM_FLMemPosnActSeatBRHI_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_BCM_FLMemPosnActSeatBRHI_Val_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @BCM_FLMemPosnActSeatHRHI_Val_ro +#define CANDB_BCM_FLMemPosnActSeatHRHI_Val_ro_CovFactor (0.71) +#define CANDB_BCM_FLMemPosnActSeatHRHI_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.71)) ) +#define CANDB_BCM_FLMemPosnActSeatHRHI_Val_ro_fromS(x) ( (((x) * (0.71)) + (0.0)) ) +// signal: @BCM_FLMemPosnActSeatBRI_Val_ro +#define CANDB_BCM_FLMemPosnActSeatBRI_Val_ro_CovFactor (0.1) +#define CANDB_BCM_FLMemPosnActSeatBRI_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_BCM_FLMemPosnActSeatBRI_Val_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) + +// Value tables for @BCM_FLMemActHeatBalance_Val signal + +#ifndef BCM_FLMemActHeatBalance_Val_BCM_MEM_SMFL2_Backrest_100_Cushion_0_3 +#define BCM_FLMemActHeatBalance_Val_BCM_MEM_SMFL2_Backrest_100_Cushion_0_3 (7) +#endif + +#ifndef BCM_FLMemActHeatBalance_Val_BCM_MEM_SMFL2_Backrest_100_Cushion_33_2 +#define BCM_FLMemActHeatBalance_Val_BCM_MEM_SMFL2_Backrest_100_Cushion_33_2 (6) +#endif + +#ifndef BCM_FLMemActHeatBalance_Val_BCM_MEM_SMFL2_Backrest_100_Cushion_67_1 +#define BCM_FLMemActHeatBalance_Val_BCM_MEM_SMFL2_Backrest_100_Cushion_67_1 (5) +#endif + +#ifndef BCM_FLMemActHeatBalance_Val_BCM_MEM_SMFL2_Backrest_100_Cushion_100_0 +#define BCM_FLMemActHeatBalance_Val_BCM_MEM_SMFL2_Backrest_100_Cushion_100_0 (4) +#endif + +#ifndef BCM_FLMemActHeatBalance_Val_BCM_MEM_SMFL2_Backrest_67_Cushion_100_1 +#define BCM_FLMemActHeatBalance_Val_BCM_MEM_SMFL2_Backrest_67_Cushion_100_1 (3) +#endif + +#ifndef BCM_FLMemActHeatBalance_Val_BCM_MEM_SMFL2_Backrest_33_Cushion_100_2 +#define BCM_FLMemActHeatBalance_Val_BCM_MEM_SMFL2_Backrest_33_Cushion_100_2 (2) +#endif + +#ifndef BCM_FLMemActHeatBalance_Val_BCM_MEM_SMFL2_Backrest_0_Cushion_100_3 +#define BCM_FLMemActHeatBalance_Val_BCM_MEM_SMFL2_Backrest_0_Cushion_100_3 (1) +#endif + +#ifndef BCM_FLMemActHeatBalance_Val_BCM_MEM_SMFL2_No_action +#define BCM_FLMemActHeatBalance_Val_BCM_MEM_SMFL2_No_action (0) +#endif + + +// Value tables for @BCM_FLMemActVentBalance_Val signal + +#ifndef BCM_FLMemActVentBalance_Val_BCM_MEM_SMFL2_Backrest_100_Cushion_0_3 +#define BCM_FLMemActVentBalance_Val_BCM_MEM_SMFL2_Backrest_100_Cushion_0_3 (7) +#endif + +#ifndef BCM_FLMemActVentBalance_Val_BCM_MEM_SMFL2_Backrest_100_Cushion_33_2 +#define BCM_FLMemActVentBalance_Val_BCM_MEM_SMFL2_Backrest_100_Cushion_33_2 (6) +#endif + +#ifndef BCM_FLMemActVentBalance_Val_BCM_MEM_SMFL2_Backrest_100_Cushion_67_1 +#define BCM_FLMemActVentBalance_Val_BCM_MEM_SMFL2_Backrest_100_Cushion_67_1 (5) +#endif + +#ifndef BCM_FLMemActVentBalance_Val_BCM_MEM_SMFL2_Backrest_100_Cushion_100_0 +#define BCM_FLMemActVentBalance_Val_BCM_MEM_SMFL2_Backrest_100_Cushion_100_0 (4) +#endif + +#ifndef BCM_FLMemActVentBalance_Val_BCM_MEM_SMFL2_Backrest_67_Cushion_100_1 +#define BCM_FLMemActVentBalance_Val_BCM_MEM_SMFL2_Backrest_67_Cushion_100_1 (3) +#endif + +#ifndef BCM_FLMemActVentBalance_Val_BCM_MEM_SMFL2_Backrest_33_Cushion_100_2 +#define BCM_FLMemActVentBalance_Val_BCM_MEM_SMFL2_Backrest_33_Cushion_100_2 (2) +#endif + +#ifndef BCM_FLMemActVentBalance_Val_BCM_MEM_SMFL2_Backrest_0_Cushion_100_3 +#define BCM_FLMemActVentBalance_Val_BCM_MEM_SMFL2_Backrest_0_Cushion_100_3 (1) +#endif + +#ifndef BCM_FLMemActVentBalance_Val_BCM_MEM_SMFL2_No_action +#define BCM_FLMemActVentBalance_Val_BCM_MEM_SMFL2_No_action (0) +#endif + +// signal: @BCM_FLMemPosnPrsnSeatCS_Val_ro +#define CANDB_BCM_FLMemPosnPrsnSeatCS_Val_ro_CovFactor (0.394) +#define CANDB_BCM_FLMemPosnPrsnSeatCS_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.394)) ) +#define CANDB_BCM_FLMemPosnPrsnSeatCS_Val_ro_fromS(x) ( (((x) * (0.394)) + (0.0)) ) +// signal: @BCM_FLMemPosnPrsnSeatLSH_Val_ro +#define CANDB_BCM_FLMemPosnPrsnSeatLSH_Val_ro_CovFactor (0.394) +#define CANDB_BCM_FLMemPosnPrsnSeatLSH_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.394)) ) +#define CANDB_BCM_FLMemPosnPrsnSeatLSH_Val_ro_fromS(x) ( (((x) * (0.394)) + (0.0)) ) +// signal: @BCM_FLMemPosnPrsnSeatLSD_Val_ro +#define CANDB_BCM_FLMemPosnPrsnSeatLSD_Val_ro_CovFactor (0.394) +#define CANDB_BCM_FLMemPosnPrsnSeatLSD_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.394)) ) +#define CANDB_BCM_FLMemPosnPrsnSeatLSD_Val_ro_fromS(x) ( (((x) * (0.394)) + (0.0)) ) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Stored for SMFL seat back rest head inclination position. + uint8_t BCM_FLMemPosnActSeatBRHI_Val_ro; // Bits= 8 Factor= 0.1 Unit:'�' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_FLMemPosnActSeatBRHI_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored for SMFL seat head rest height inclination position. + uint8_t BCM_FLMemPosnActSeatHRHI_Val_ro; // Bits= 8 Factor= 0.71 Unit:'�' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_FLMemPosnActSeatHRHI_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored for SMFL seat back rest inclination position. + uint8_t BCM_FLMemPosnActSeatBRI_Val_ro; // Bits= 8 Factor= 0.1 Unit:'�' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_FLMemPosnActSeatBRI_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored for SMFL seat heat balance + // 7 : "Backrest 100%, Cushion 0%: 3" + // 6 : "Backrest 100%, Cushion 33%: 2" + // 5 : "Backrest 100%, Cushion 67%: 1" + // 4 : "Backrest 100%, Cushion 100%: 0" + // 3 : "Backrest 67%, Cushion 100%: -1" + // 2 : "Backrest 33%, Cushion 100%: -2" + // 1 : "Backrest 0%, Cushion 100%: -3" + // 0 : "No action" + uint8_t BCM_FLMemActHeatBalance_Val : 3; // Bits= 3 + + // Stored for SMFL seat ventilation balance + // 7 : "Backrest 100%, Cushion 0%: 3" + // 6 : "Backrest 100%, Cushion 33%: 2" + // 5 : "Backrest 100%, Cushion 67%: 1" + // 4 : "Backrest 100%, Cushion 100%: 0" + // 3 : "Backrest 67%, Cushion 100%: -1" + // 2 : "Backrest 33%, Cushion 100%: -2" + // 1 : "Backrest 0%, Cushion 100%: -3" + // 0 : "No action" + uint8_t BCM_FLMemActVentBalance_Val : 3; // Bits= 3 + + // Stored for SMFL seat cushion support position + uint8_t BCM_FLMemPosnPrsnSeatCS_Val_ro; // Bits= 8 Factor= 0.394 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_FLMemPosnPrsnSeatCS_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Srored for SMFL seat Longitudinal Surface Height + uint8_t BCM_FLMemPosnPrsnSeatLSH_Val_ro; // Bits= 8 Factor= 0.394 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_FLMemPosnPrsnSeatLSH_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Srored for SMFL seat Longitudinal Surface Depth + uint8_t BCM_FLMemPosnPrsnSeatLSD_Val_ro; // Bits= 8 Factor= 0.394 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_FLMemPosnPrsnSeatLSD_Val_phys; +#endif // CANDB_USE_SIGFLOAT + +#else + + // Stored for SMFL seat back rest head inclination position. + uint8_t BCM_FLMemPosnActSeatBRHI_Val_ro; // Bits= 8 Factor= 0.1 Unit:'�' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_FLMemPosnActSeatBRHI_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored for SMFL seat head rest height inclination position. + uint8_t BCM_FLMemPosnActSeatHRHI_Val_ro; // Bits= 8 Factor= 0.71 Unit:'�' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_FLMemPosnActSeatHRHI_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored for SMFL seat back rest inclination position. + uint8_t BCM_FLMemPosnActSeatBRI_Val_ro; // Bits= 8 Factor= 0.1 Unit:'�' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_FLMemPosnActSeatBRI_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored for SMFL seat heat balance + // 7 : "Backrest 100%, Cushion 0%: 3" + // 6 : "Backrest 100%, Cushion 33%: 2" + // 5 : "Backrest 100%, Cushion 67%: 1" + // 4 : "Backrest 100%, Cushion 100%: 0" + // 3 : "Backrest 67%, Cushion 100%: -1" + // 2 : "Backrest 33%, Cushion 100%: -2" + // 1 : "Backrest 0%, Cushion 100%: -3" + // 0 : "No action" + uint8_t BCM_FLMemActHeatBalance_Val; // Bits= 3 + + // Stored for SMFL seat ventilation balance + // 7 : "Backrest 100%, Cushion 0%: 3" + // 6 : "Backrest 100%, Cushion 33%: 2" + // 5 : "Backrest 100%, Cushion 67%: 1" + // 4 : "Backrest 100%, Cushion 100%: 0" + // 3 : "Backrest 67%, Cushion 100%: -1" + // 2 : "Backrest 33%, Cushion 100%: -2" + // 1 : "Backrest 0%, Cushion 100%: -3" + // 0 : "No action" + uint8_t BCM_FLMemActVentBalance_Val; // Bits= 3 + + // Stored for SMFL seat cushion support position + uint8_t BCM_FLMemPosnPrsnSeatCS_Val_ro; // Bits= 8 Factor= 0.394 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_FLMemPosnPrsnSeatCS_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Srored for SMFL seat Longitudinal Surface Height + uint8_t BCM_FLMemPosnPrsnSeatLSH_Val_ro; // Bits= 8 Factor= 0.394 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_FLMemPosnPrsnSeatLSH_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Srored for SMFL seat Longitudinal Surface Depth + uint8_t BCM_FLMemPosnPrsnSeatLSD_Val_ro; // Bits= 8 Factor= 0.394 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_FLMemPosnPrsnSeatLSD_Val_phys; +#endif // CANDB_USE_SIGFLOAT + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} BCM_MEM_SMFL2_t; + +// def @SMFR_MEM1 CAN Message (1335 0x537) +#define SMFR_MEM1_IDE (0U) +#define SMFR_MEM1_DLC (8U) +#define SMFR_MEM1_CANID (0x537U) +// signal: @SMFR_PosnActSeatI_Val_ro +#define CANDB_SMFR_PosnActSeatI_Val_ro_CovFactor (0.125) +#define CANDB_SMFR_PosnActSeatI_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.125)) ) +#define CANDB_SMFR_PosnActSeatI_Val_ro_fromS(x) ( (((x) * (0.125)) + (0.0)) ) +// signal: @SMFR_PosnActSeatBRW_Val_ro +#define CANDB_SMFR_PosnActSeatBRW_Val_ro_CovFactor (1) +#define CANDB_SMFR_PosnActSeatBRW_Val_ro_toS(x) ( (uint8_t) ((x) - (300)) ) +#define CANDB_SMFR_PosnActSeatBRW_Val_ro_fromS(x) ( ((x) + (300)) ) +// signal: @SMFR_PosnActSeatFRH_Val_ro +#define CANDB_SMFR_PosnActSeatFRH_Val_ro_CovFactor (0.8) +#define CANDB_SMFR_PosnActSeatFRH_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.8)) ) +#define CANDB_SMFR_PosnActSeatFRH_Val_ro_fromS(x) ( (((x) * (0.8)) + (0.0)) ) +// signal: @SMFR_PosnActSeatFRL_Val_ro +#define CANDB_SMFR_PosnActSeatFRL_Val_ro_CovFactor (0.25) +#define CANDB_SMFR_PosnActSeatFRL_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.25)) ) +#define CANDB_SMFR_PosnActSeatFRL_Val_ro_fromS(x) ( (((x) * (0.25)) + (0.0)) ) +// signal: @SMFR_PosnActSeatH_Val_ro +#define CANDB_SMFR_PosnActSeatH_Val_ro_CovFactor (0.8) +#define CANDB_SMFR_PosnActSeatH_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.8)) ) +#define CANDB_SMFR_PosnActSeatH_Val_ro_fromS(x) ( (((x) * (0.8)) + (0.0)) ) +// signal: @SMFR_PosnActSeatHRH_Val_ro +#define CANDB_SMFR_PosnActSeatHRH_Val_ro_CovFactor (0.5) +#define CANDB_SMFR_PosnActSeatHRH_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.5)) ) +#define CANDB_SMFR_PosnActSeatHRH_Val_ro_fromS(x) ( (((x) * (0.5)) + (0.0)) ) +// signal: @SMFR_PosnActSeatL_Val_ro +#define CANDB_SMFR_PosnActSeatL_Val_ro_CovFactor (0.8) +#define CANDB_SMFR_PosnActSeatL_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.8)) ) +#define CANDB_SMFR_PosnActSeatL_Val_ro_fromS(x) ( (((x) * (0.8)) + (0.0)) ) +// signal: @SMFR_PosnActSeatSL_Val_ro +#define CANDB_SMFR_PosnActSeatSL_Val_ro_CovFactor (0.8) +#define CANDB_SMFR_PosnActSeatSL_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.8)) ) +#define CANDB_SMFR_PosnActSeatSL_Val_ro_fromS(x) ( (((x) * (0.8)) + (0.0)) ) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // SMFR current seat inclination position. + uint8_t SMFR_PosnActSeatI_Val_ro; // Bits= 8 Factor= 0.125 Unit:'�' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMFR_PosnActSeatI_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMFR current seat back rest width position. + uint8_t SMFR_PosnActSeatBRW_Val_ro; // Bits= 8 Offset= 300 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + uint16_t SMFR_PosnActSeatBRW_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMFR current seat foot rest height position. + uint8_t SMFR_PosnActSeatFRH_Val_ro; // Bits= 8 Factor= 0.8 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMFR_PosnActSeatFRH_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMFR current seat foot rest longitudinal position. + uint8_t SMFR_PosnActSeatFRL_Val_ro; // Bits= 8 Factor= 0.25 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMFR_PosnActSeatFRL_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMFR current seat height position. + uint8_t SMFR_PosnActSeatH_Val_ro; // Bits= 8 Factor= 0.8 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMFR_PosnActSeatH_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMFR current seat head rest height position. + uint8_t SMFR_PosnActSeatHRH_Val_ro; // Bits= 8 Factor= 0.5 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMFR_PosnActSeatHRH_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMFR current seat longitudinal position. + uint8_t SMFR_PosnActSeatL_Val_ro; // Bits= 8 Factor= 0.8 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMFR_PosnActSeatL_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMFR current seat surface longitudinal position. + uint8_t SMFR_PosnActSeatSL_Val_ro; // Bits= 8 Factor= 0.8 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMFR_PosnActSeatSL_Val_phys; +#endif // CANDB_USE_SIGFLOAT + +#else + + // SMFR current seat inclination position. + uint8_t SMFR_PosnActSeatI_Val_ro; // Bits= 8 Factor= 0.125 Unit:'�' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMFR_PosnActSeatI_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMFR current seat back rest width position. + uint8_t SMFR_PosnActSeatBRW_Val_ro; // Bits= 8 Offset= 300 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + uint16_t SMFR_PosnActSeatBRW_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMFR current seat foot rest height position. + uint8_t SMFR_PosnActSeatFRH_Val_ro; // Bits= 8 Factor= 0.8 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMFR_PosnActSeatFRH_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMFR current seat foot rest longitudinal position. + uint8_t SMFR_PosnActSeatFRL_Val_ro; // Bits= 8 Factor= 0.25 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMFR_PosnActSeatFRL_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMFR current seat height position. + uint8_t SMFR_PosnActSeatH_Val_ro; // Bits= 8 Factor= 0.8 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMFR_PosnActSeatH_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMFR current seat head rest height position. + uint8_t SMFR_PosnActSeatHRH_Val_ro; // Bits= 8 Factor= 0.5 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMFR_PosnActSeatHRH_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMFR current seat longitudinal position. + uint8_t SMFR_PosnActSeatL_Val_ro; // Bits= 8 Factor= 0.8 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMFR_PosnActSeatL_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMFR current seat surface longitudinal position. + uint8_t SMFR_PosnActSeatSL_Val_ro; // Bits= 8 Factor= 0.8 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMFR_PosnActSeatSL_Val_phys; +#endif // CANDB_USE_SIGFLOAT + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} SMFR_MEM1_t; + +// def @BCM_MEM_SMFR1 CAN Message (1336 0x538) +#define BCM_MEM_SMFR1_IDE (0U) +#define BCM_MEM_SMFR1_DLC (8U) +#define BCM_MEM_SMFR1_CANID (0x538U) +// signal: @BCM_FRMemPosnActSeatI_Val_ro +#define CANDB_BCM_FRMemPosnActSeatI_Val_ro_CovFactor (0.125) +#define CANDB_BCM_FRMemPosnActSeatI_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.125)) ) +#define CANDB_BCM_FRMemPosnActSeatI_Val_ro_fromS(x) ( (((x) * (0.125)) + (0.0)) ) +// signal: @BCM_FRMemPosnActSeatBRW_Val_ro +#define CANDB_BCM_FRMemPosnActSeatBRW_Val_ro_CovFactor (1) +#define CANDB_BCM_FRMemPosnActSeatBRW_Val_ro_toS(x) ( (uint8_t) ((x) - (300)) ) +#define CANDB_BCM_FRMemPosnActSeatBRW_Val_ro_fromS(x) ( ((x) + (300)) ) +// signal: @BCM_FRMemPosnActSeatFRH_Val_ro +#define CANDB_BCM_FRMemPosnActSeatFRH_Val_ro_CovFactor (0.8) +#define CANDB_BCM_FRMemPosnActSeatFRH_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.8)) ) +#define CANDB_BCM_FRMemPosnActSeatFRH_Val_ro_fromS(x) ( (((x) * (0.8)) + (0.0)) ) +// signal: @BCM_FRMemPosnActSeatFRL_Val_ro +#define CANDB_BCM_FRMemPosnActSeatFRL_Val_ro_CovFactor (0.25) +#define CANDB_BCM_FRMemPosnActSeatFRL_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.25)) ) +#define CANDB_BCM_FRMemPosnActSeatFRL_Val_ro_fromS(x) ( (((x) * (0.25)) + (0.0)) ) +// signal: @BCM_FRMemPosnActSeatH_Val_ro +#define CANDB_BCM_FRMemPosnActSeatH_Val_ro_CovFactor (0.8) +#define CANDB_BCM_FRMemPosnActSeatH_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.8)) ) +#define CANDB_BCM_FRMemPosnActSeatH_Val_ro_fromS(x) ( (((x) * (0.8)) + (0.0)) ) +// signal: @BCM_FRMemPosnActSeatHRH_Val_ro +#define CANDB_BCM_FRMemPosnActSeatHRH_Val_ro_CovFactor (0.5) +#define CANDB_BCM_FRMemPosnActSeatHRH_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.5)) ) +#define CANDB_BCM_FRMemPosnActSeatHRH_Val_ro_fromS(x) ( (((x) * (0.5)) + (0.0)) ) +// signal: @BCM_FRMemPosnActSeatL_Val_ro +#define CANDB_BCM_FRMemPosnActSeatL_Val_ro_CovFactor (0.8) +#define CANDB_BCM_FRMemPosnActSeatL_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.8)) ) +#define CANDB_BCM_FRMemPosnActSeatL_Val_ro_fromS(x) ( (((x) * (0.8)) + (0.0)) ) +// signal: @BCM_FRMemPosnActSeatSL_Val_ro +#define CANDB_BCM_FRMemPosnActSeatSL_Val_ro_CovFactor (0.8) +#define CANDB_BCM_FRMemPosnActSeatSL_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.8)) ) +#define CANDB_BCM_FRMemPosnActSeatSL_Val_ro_fromS(x) ( (((x) * (0.8)) + (0.0)) ) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Stored SMFR seat inclination position. + uint8_t BCM_FRMemPosnActSeatI_Val_ro; // Bits= 8 Factor= 0.125 Unit:'�' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_FRMemPosnActSeatI_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored SMFR seat back rest width position. + uint8_t BCM_FRMemPosnActSeatBRW_Val_ro; // Bits= 8 Offset= 300 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + uint16_t BCM_FRMemPosnActSeatBRW_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored SMFR seat foot rest height position. + uint8_t BCM_FRMemPosnActSeatFRH_Val_ro; // Bits= 8 Factor= 0.8 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_FRMemPosnActSeatFRH_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored SMFR seat foot rest longitudinal position. + uint8_t BCM_FRMemPosnActSeatFRL_Val_ro; // Bits= 8 Factor= 0.25 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_FRMemPosnActSeatFRL_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored SMFR seat height position. + uint8_t BCM_FRMemPosnActSeatH_Val_ro; // Bits= 8 Factor= 0.8 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_FRMemPosnActSeatH_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored SMFR seat head rest height position. + uint8_t BCM_FRMemPosnActSeatHRH_Val_ro; // Bits= 8 Factor= 0.5 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_FRMemPosnActSeatHRH_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored SMFR seat longitudinal position. + uint8_t BCM_FRMemPosnActSeatL_Val_ro; // Bits= 8 Factor= 0.8 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_FRMemPosnActSeatL_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored SMFR seat surface longitudinal position. + uint8_t BCM_FRMemPosnActSeatSL_Val_ro; // Bits= 8 Factor= 0.8 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_FRMemPosnActSeatSL_Val_phys; +#endif // CANDB_USE_SIGFLOAT + +#else + + // Stored SMFR seat inclination position. + uint8_t BCM_FRMemPosnActSeatI_Val_ro; // Bits= 8 Factor= 0.125 Unit:'�' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_FRMemPosnActSeatI_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored SMFR seat back rest width position. + uint8_t BCM_FRMemPosnActSeatBRW_Val_ro; // Bits= 8 Offset= 300 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + uint16_t BCM_FRMemPosnActSeatBRW_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored SMFR seat foot rest height position. + uint8_t BCM_FRMemPosnActSeatFRH_Val_ro; // Bits= 8 Factor= 0.8 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_FRMemPosnActSeatFRH_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored SMFR seat foot rest longitudinal position. + uint8_t BCM_FRMemPosnActSeatFRL_Val_ro; // Bits= 8 Factor= 0.25 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_FRMemPosnActSeatFRL_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored SMFR seat height position. + uint8_t BCM_FRMemPosnActSeatH_Val_ro; // Bits= 8 Factor= 0.8 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_FRMemPosnActSeatH_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored SMFR seat head rest height position. + uint8_t BCM_FRMemPosnActSeatHRH_Val_ro; // Bits= 8 Factor= 0.5 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_FRMemPosnActSeatHRH_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored SMFR seat longitudinal position. + uint8_t BCM_FRMemPosnActSeatL_Val_ro; // Bits= 8 Factor= 0.8 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_FRMemPosnActSeatL_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored SMFR seat surface longitudinal position. + uint8_t BCM_FRMemPosnActSeatSL_Val_ro; // Bits= 8 Factor= 0.8 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_FRMemPosnActSeatSL_Val_phys; +#endif // CANDB_USE_SIGFLOAT + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} BCM_MEM_SMFR1_t; + +// def @SMFR_MEM2 CAN Message (1337 0x539) +#define SMFR_MEM2_IDE (0U) +#define SMFR_MEM2_DLC (8U) +#define SMFR_MEM2_CANID (0x539U) +// signal: @SMFR_PosnActSeatBRHI_Val_ro +#define CANDB_SMFR_PosnActSeatBRHI_Val_ro_CovFactor (0.1) +#define CANDB_SMFR_PosnActSeatBRHI_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_SMFR_PosnActSeatBRHI_Val_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @SMFR_PosnActSeatHRHI_Val_ro +#define CANDB_SMFR_PosnActSeatHRHI_Val_ro_CovFactor (0.71) +#define CANDB_SMFR_PosnActSeatHRHI_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.71)) ) +#define CANDB_SMFR_PosnActSeatHRHI_Val_ro_fromS(x) ( (((x) * (0.71)) + (0.0)) ) +// signal: @SMFR_PosnActSeatBRI_Val_ro +#define CANDB_SMFR_PosnActSeatBRI_Val_ro_CovFactor (0.1) +#define CANDB_SMFR_PosnActSeatBRI_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_SMFR_PosnActSeatBRI_Val_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) + +// Value tables for @SMFR_ActHeatBalance_Val signal + +#ifndef SMFR_ActHeatBalance_Val_SMFR_MEM2_Backrest_100_Cushion_00_3 +#define SMFR_ActHeatBalance_Val_SMFR_MEM2_Backrest_100_Cushion_00_3 (7) +#endif + +#ifndef SMFR_ActHeatBalance_Val_SMFR_MEM2_Backrest_100_Cushion_33_2 +#define SMFR_ActHeatBalance_Val_SMFR_MEM2_Backrest_100_Cushion_33_2 (6) +#endif + +#ifndef SMFR_ActHeatBalance_Val_SMFR_MEM2_Backrest_100_Cushion_67_1 +#define SMFR_ActHeatBalance_Val_SMFR_MEM2_Backrest_100_Cushion_67_1 (5) +#endif + +#ifndef SMFR_ActHeatBalance_Val_SMFR_MEM2_Backrest_100_Cushion_100_0 +#define SMFR_ActHeatBalance_Val_SMFR_MEM2_Backrest_100_Cushion_100_0 (4) +#endif + +#ifndef SMFR_ActHeatBalance_Val_SMFR_MEM2_Backrest_67_Cushion_100_1 +#define SMFR_ActHeatBalance_Val_SMFR_MEM2_Backrest_67_Cushion_100_1 (3) +#endif + +#ifndef SMFR_ActHeatBalance_Val_SMFR_MEM2_Backrest_33_Cushion_100_2 +#define SMFR_ActHeatBalance_Val_SMFR_MEM2_Backrest_33_Cushion_100_2 (2) +#endif + +#ifndef SMFR_ActHeatBalance_Val_SMFR_MEM2_No_action +#define SMFR_ActHeatBalance_Val_SMFR_MEM2_No_action (0) +#endif + +#ifndef SMFR_ActHeatBalance_Val_SMFR_MEM2_Backrest_00_Cushion_100_3 +#define SMFR_ActHeatBalance_Val_SMFR_MEM2_Backrest_00_Cushion_100_3 (1) +#endif + + +// Value tables for @SMFR_ActVentBalance_Stat signal + +#ifndef SMFR_ActVentBalance_Stat_SMFR_MEM2_Backrest_100_Cushion_00_3 +#define SMFR_ActVentBalance_Stat_SMFR_MEM2_Backrest_100_Cushion_00_3 (7) +#endif + +#ifndef SMFR_ActVentBalance_Stat_SMFR_MEM2_Backrest_100_Cushion_33_2 +#define SMFR_ActVentBalance_Stat_SMFR_MEM2_Backrest_100_Cushion_33_2 (6) +#endif + +#ifndef SMFR_ActVentBalance_Stat_SMFR_MEM2_Backrest_100_Cushion_67_1 +#define SMFR_ActVentBalance_Stat_SMFR_MEM2_Backrest_100_Cushion_67_1 (5) +#endif + +#ifndef SMFR_ActVentBalance_Stat_SMFR_MEM2_Backrest_100_Cushion_100_0 +#define SMFR_ActVentBalance_Stat_SMFR_MEM2_Backrest_100_Cushion_100_0 (4) +#endif + +#ifndef SMFR_ActVentBalance_Stat_SMFR_MEM2_Backrest_67_Cushion_100_1 +#define SMFR_ActVentBalance_Stat_SMFR_MEM2_Backrest_67_Cushion_100_1 (3) +#endif + +#ifndef SMFR_ActVentBalance_Stat_SMFR_MEM2_Backrest_33_Cushion_100_2 +#define SMFR_ActVentBalance_Stat_SMFR_MEM2_Backrest_33_Cushion_100_2 (2) +#endif + +#ifndef SMFR_ActVentBalance_Stat_SMFR_MEM2_No_action +#define SMFR_ActVentBalance_Stat_SMFR_MEM2_No_action (0) +#endif + +#ifndef SMFR_ActVentBalance_Stat_SMFR_MEM2_Backrest_00_Cushion_100_3 +#define SMFR_ActVentBalance_Stat_SMFR_MEM2_Backrest_00_Cushion_100_3 (1) +#endif + +// signal: @SMFR_PosnPrsnSeatCS_Val_ro +#define CANDB_SMFR_PosnPrsnSeatCS_Val_ro_CovFactor (0.394) +#define CANDB_SMFR_PosnPrsnSeatCS_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.394)) ) +#define CANDB_SMFR_PosnPrsnSeatCS_Val_ro_fromS(x) ( (((x) * (0.394)) + (0.0)) ) +// signal: @SMFR_PosnPrsnSeatLSH_Val_ro +#define CANDB_SMFR_PosnPrsnSeatLSH_Val_ro_CovFactor (0.394) +#define CANDB_SMFR_PosnPrsnSeatLSH_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.394)) ) +#define CANDB_SMFR_PosnPrsnSeatLSH_Val_ro_fromS(x) ( (((x) * (0.394)) + (0.0)) ) +// signal: @SMFR_PosnPrsnSeatLSD_Val_ro +#define CANDB_SMFR_PosnPrsnSeatLSD_Val_ro_CovFactor (0.394) +#define CANDB_SMFR_PosnPrsnSeatLSD_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.394)) ) +#define CANDB_SMFR_PosnPrsnSeatLSD_Val_ro_fromS(x) ( (((x) * (0.394)) + (0.0)) ) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // SMFR current seat back rest head inclination position. + uint8_t SMFR_PosnActSeatBRHI_Val_ro; // Bits= 8 Factor= 0.1 Unit:'�' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMFR_PosnActSeatBRHI_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMFR current seat head rest height inclination position. + uint8_t SMFR_PosnActSeatHRHI_Val_ro; // Bits= 8 Factor= 0.71 Unit:'�' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMFR_PosnActSeatHRHI_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMFR current seat back rest inclination position. + uint8_t SMFR_PosnActSeatBRI_Val_ro; // Bits= 8 Factor= 0.1 Unit:'�' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMFR_PosnActSeatBRI_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMFR current seat heat balance + // 7 : "Backrest 100%, Cushion 00%: 3" + // 6 : "Backrest 100%, Cushion 33%: 2" + // 5 : "Backrest 100%, Cushion 67%: 1" + // 4 : "Backrest 100%, Cushion 100%: 0" + // 3 : "Backrest 67%, Cushion 100%: -1" + // 2 : "Backrest 33%, Cushion 100%: -2" + // 0 : "No action" + // 1 : "Backrest 00%, Cushion 100%: -3" + uint8_t SMFR_ActHeatBalance_Val : 3; // Bits= 3 + + // SMFR current seat ventilation balance + // 7 : "Backrest 100%, Cushion 00%: 3" + // 6 : "Backrest 100%, Cushion 33%: 2" + // 5 : "Backrest 100%, Cushion 67%: 1" + // 4 : "Backrest 100%, Cushion 100%: 0" + // 3 : "Backrest 67%, Cushion 100%: -1" + // 2 : "Backrest 33%, Cushion 100%: -2" + // 0 : "No action" + // 1 : "Backrest 00%, Cushion 100%: -3" + uint8_t SMFR_ActVentBalance_Stat : 3; // Bits= 3 + + // SMFR current seat cushion support position + uint8_t SMFR_PosnPrsnSeatCS_Val_ro; // Bits= 8 Factor= 0.394 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMFR_PosnPrsnSeatCS_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMFR current seat Longitudinal Surface Height + uint8_t SMFR_PosnPrsnSeatLSH_Val_ro; // Bits= 8 Factor= 0.394 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMFR_PosnPrsnSeatLSH_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMFR current seat Longitudinal Surface Depth + uint8_t SMFR_PosnPrsnSeatLSD_Val_ro; // Bits= 8 Factor= 0.394 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMFR_PosnPrsnSeatLSD_Val_phys; +#endif // CANDB_USE_SIGFLOAT + +#else + + // SMFR current seat back rest head inclination position. + uint8_t SMFR_PosnActSeatBRHI_Val_ro; // Bits= 8 Factor= 0.1 Unit:'�' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMFR_PosnActSeatBRHI_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMFR current seat head rest height inclination position. + uint8_t SMFR_PosnActSeatHRHI_Val_ro; // Bits= 8 Factor= 0.71 Unit:'�' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMFR_PosnActSeatHRHI_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMFR current seat back rest inclination position. + uint8_t SMFR_PosnActSeatBRI_Val_ro; // Bits= 8 Factor= 0.1 Unit:'�' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMFR_PosnActSeatBRI_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMFR current seat heat balance + // 7 : "Backrest 100%, Cushion 00%: 3" + // 6 : "Backrest 100%, Cushion 33%: 2" + // 5 : "Backrest 100%, Cushion 67%: 1" + // 4 : "Backrest 100%, Cushion 100%: 0" + // 3 : "Backrest 67%, Cushion 100%: -1" + // 2 : "Backrest 33%, Cushion 100%: -2" + // 0 : "No action" + // 1 : "Backrest 00%, Cushion 100%: -3" + uint8_t SMFR_ActHeatBalance_Val; // Bits= 3 + + // SMFR current seat ventilation balance + // 7 : "Backrest 100%, Cushion 00%: 3" + // 6 : "Backrest 100%, Cushion 33%: 2" + // 5 : "Backrest 100%, Cushion 67%: 1" + // 4 : "Backrest 100%, Cushion 100%: 0" + // 3 : "Backrest 67%, Cushion 100%: -1" + // 2 : "Backrest 33%, Cushion 100%: -2" + // 0 : "No action" + // 1 : "Backrest 00%, Cushion 100%: -3" + uint8_t SMFR_ActVentBalance_Stat; // Bits= 3 + + // SMFR current seat cushion support position + uint8_t SMFR_PosnPrsnSeatCS_Val_ro; // Bits= 8 Factor= 0.394 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMFR_PosnPrsnSeatCS_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMFR current seat Longitudinal Surface Height + uint8_t SMFR_PosnPrsnSeatLSH_Val_ro; // Bits= 8 Factor= 0.394 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMFR_PosnPrsnSeatLSH_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMFR current seat Longitudinal Surface Depth + uint8_t SMFR_PosnPrsnSeatLSD_Val_ro; // Bits= 8 Factor= 0.394 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMFR_PosnPrsnSeatLSD_Val_phys; +#endif // CANDB_USE_SIGFLOAT + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} SMFR_MEM2_t; + +// def @BCM_MEM_SMFR2 CAN Message (1338 0x53a) +#define BCM_MEM_SMFR2_IDE (0U) +#define BCM_MEM_SMFR2_DLC (8U) +#define BCM_MEM_SMFR2_CANID (0x53aU) +// signal: @BCM_FRMemPosnActSeatBRHI_Val_ro +#define CANDB_BCM_FRMemPosnActSeatBRHI_Val_ro_CovFactor (0.1) +#define CANDB_BCM_FRMemPosnActSeatBRHI_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_BCM_FRMemPosnActSeatBRHI_Val_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @BCM_FRMemPosnActSeatHRHI_Val_ro +#define CANDB_BCM_FRMemPosnActSeatHRHI_Val_ro_CovFactor (0.71) +#define CANDB_BCM_FRMemPosnActSeatHRHI_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.71)) ) +#define CANDB_BCM_FRMemPosnActSeatHRHI_Val_ro_fromS(x) ( (((x) * (0.71)) + (0.0)) ) +// signal: @BCM_FRMemPosnActSeatBRI_Val_ro +#define CANDB_BCM_FRMemPosnActSeatBRI_Val_ro_CovFactor (0.1) +#define CANDB_BCM_FRMemPosnActSeatBRI_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_BCM_FRMemPosnActSeatBRI_Val_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) + +// Value tables for @BCM_FRMemActHeatBalance_Val signal + +#ifndef BCM_FRMemActHeatBalance_Val_BCM_MEM_SMFR2_Backrest_100_Cushion_0_3 +#define BCM_FRMemActHeatBalance_Val_BCM_MEM_SMFR2_Backrest_100_Cushion_0_3 (7) +#endif + +#ifndef BCM_FRMemActHeatBalance_Val_BCM_MEM_SMFR2_Backrest_100_Cushion_33_2 +#define BCM_FRMemActHeatBalance_Val_BCM_MEM_SMFR2_Backrest_100_Cushion_33_2 (6) +#endif + +#ifndef BCM_FRMemActHeatBalance_Val_BCM_MEM_SMFR2_Backrest_100_Cushion_67_1 +#define BCM_FRMemActHeatBalance_Val_BCM_MEM_SMFR2_Backrest_100_Cushion_67_1 (5) +#endif + +#ifndef BCM_FRMemActHeatBalance_Val_BCM_MEM_SMFR2_Backrest_100_Cushion_100_0 +#define BCM_FRMemActHeatBalance_Val_BCM_MEM_SMFR2_Backrest_100_Cushion_100_0 (4) +#endif + +#ifndef BCM_FRMemActHeatBalance_Val_BCM_MEM_SMFR2_Backrest_67_Cushion_100_1 +#define BCM_FRMemActHeatBalance_Val_BCM_MEM_SMFR2_Backrest_67_Cushion_100_1 (3) +#endif + +#ifndef BCM_FRMemActHeatBalance_Val_BCM_MEM_SMFR2_Backrest_33_Cushion_100_2 +#define BCM_FRMemActHeatBalance_Val_BCM_MEM_SMFR2_Backrest_33_Cushion_100_2 (2) +#endif + +#ifndef BCM_FRMemActHeatBalance_Val_BCM_MEM_SMFR2_Backrest_0_Cushion_100_3 +#define BCM_FRMemActHeatBalance_Val_BCM_MEM_SMFR2_Backrest_0_Cushion_100_3 (1) +#endif + +#ifndef BCM_FRMemActHeatBalance_Val_BCM_MEM_SMFR2_No_action +#define BCM_FRMemActHeatBalance_Val_BCM_MEM_SMFR2_No_action (0) +#endif + + +// Value tables for @BCM_FRMemActVentBalance_Val signal + +#ifndef BCM_FRMemActVentBalance_Val_BCM_MEM_SMFR2_Backrest_100_Cushion_0_3 +#define BCM_FRMemActVentBalance_Val_BCM_MEM_SMFR2_Backrest_100_Cushion_0_3 (7) +#endif + +#ifndef BCM_FRMemActVentBalance_Val_BCM_MEM_SMFR2_Backrest_100_Cushion_33_2 +#define BCM_FRMemActVentBalance_Val_BCM_MEM_SMFR2_Backrest_100_Cushion_33_2 (6) +#endif + +#ifndef BCM_FRMemActVentBalance_Val_BCM_MEM_SMFR2_Backrest_100_Cushion_67_1 +#define BCM_FRMemActVentBalance_Val_BCM_MEM_SMFR2_Backrest_100_Cushion_67_1 (5) +#endif + +#ifndef BCM_FRMemActVentBalance_Val_BCM_MEM_SMFR2_Backrest_100_Cushion_100_0 +#define BCM_FRMemActVentBalance_Val_BCM_MEM_SMFR2_Backrest_100_Cushion_100_0 (4) +#endif + +#ifndef BCM_FRMemActVentBalance_Val_BCM_MEM_SMFR2_Backrest_67_Cushion_100_1 +#define BCM_FRMemActVentBalance_Val_BCM_MEM_SMFR2_Backrest_67_Cushion_100_1 (3) +#endif + +#ifndef BCM_FRMemActVentBalance_Val_BCM_MEM_SMFR2_Backrest_33_Cushion_100_2 +#define BCM_FRMemActVentBalance_Val_BCM_MEM_SMFR2_Backrest_33_Cushion_100_2 (2) +#endif + +#ifndef BCM_FRMemActVentBalance_Val_BCM_MEM_SMFR2_Backrest_0_Cushion_100_3 +#define BCM_FRMemActVentBalance_Val_BCM_MEM_SMFR2_Backrest_0_Cushion_100_3 (1) +#endif + +#ifndef BCM_FRMemActVentBalance_Val_BCM_MEM_SMFR2_No_action +#define BCM_FRMemActVentBalance_Val_BCM_MEM_SMFR2_No_action (0) +#endif + +// signal: @BCM_FRMemPosnPrsnSeatCS_Val_ro +#define CANDB_BCM_FRMemPosnPrsnSeatCS_Val_ro_CovFactor (0.394) +#define CANDB_BCM_FRMemPosnPrsnSeatCS_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.394)) ) +#define CANDB_BCM_FRMemPosnPrsnSeatCS_Val_ro_fromS(x) ( (((x) * (0.394)) + (0.0)) ) +// signal: @BCM_FRMemPosnPrsnSeatLSH_Val_ro +#define CANDB_BCM_FRMemPosnPrsnSeatLSH_Val_ro_CovFactor (0.394) +#define CANDB_BCM_FRMemPosnPrsnSeatLSH_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.394)) ) +#define CANDB_BCM_FRMemPosnPrsnSeatLSH_Val_ro_fromS(x) ( (((x) * (0.394)) + (0.0)) ) +// signal: @BCM_FRMemPosnPrsnSeatLSD_Val_ro +#define CANDB_BCM_FRMemPosnPrsnSeatLSD_Val_ro_CovFactor (0.394) +#define CANDB_BCM_FRMemPosnPrsnSeatLSD_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.394)) ) +#define CANDB_BCM_FRMemPosnPrsnSeatLSD_Val_ro_fromS(x) ( (((x) * (0.394)) + (0.0)) ) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Stored for SMFR seat back rest head inclination position. + uint8_t BCM_FRMemPosnActSeatBRHI_Val_ro; // Bits= 8 Factor= 0.1 Unit:'�' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_FRMemPosnActSeatBRHI_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored for SMFR seat head rest height inclination position. + uint8_t BCM_FRMemPosnActSeatHRHI_Val_ro; // Bits= 8 Factor= 0.71 Unit:'�' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_FRMemPosnActSeatHRHI_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored for SMFR seat back rest inclination position. + uint8_t BCM_FRMemPosnActSeatBRI_Val_ro; // Bits= 8 Factor= 0.1 Unit:'�' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_FRMemPosnActSeatBRI_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored for SMFR seat heat balance + // 7 : "Backrest 100%, Cushion 0%: 3" + // 6 : "Backrest 100%, Cushion 33%: 2" + // 5 : "Backrest 100%, Cushion 67%: 1" + // 4 : "Backrest 100%, Cushion 100%: 0" + // 3 : "Backrest 67%, Cushion 100%: -1" + // 2 : "Backrest 33%, Cushion 100%: -2" + // 1 : "Backrest 0%, Cushion 100%: -3" + // 0 : "No action" + uint8_t BCM_FRMemActHeatBalance_Val : 3; // Bits= 3 + + // Stored for SMFR seat ventilation balance + // 7 : "Backrest 100%, Cushion 0%: 3" + // 6 : "Backrest 100%, Cushion 33%: 2" + // 5 : "Backrest 100%, Cushion 67%: 1" + // 4 : "Backrest 100%, Cushion 100%: 0" + // 3 : "Backrest 67%, Cushion 100%: -1" + // 2 : "Backrest 33%, Cushion 100%: -2" + // 1 : "Backrest 0%, Cushion 100%: -3" + // 0 : "No action" + uint8_t BCM_FRMemActVentBalance_Val : 3; // Bits= 3 + + // Stored for SMFR seat cushion support position + uint8_t BCM_FRMemPosnPrsnSeatCS_Val_ro; // Bits= 8 Factor= 0.394 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_FRMemPosnPrsnSeatCS_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Srored for SMFR seat Longitudinal Surface Height + uint8_t BCM_FRMemPosnPrsnSeatLSH_Val_ro; // Bits= 8 Factor= 0.394 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_FRMemPosnPrsnSeatLSH_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Srored for SMFR seat Longitudinal Surface Depth + uint8_t BCM_FRMemPosnPrsnSeatLSD_Val_ro; // Bits= 8 Factor= 0.394 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_FRMemPosnPrsnSeatLSD_Val_phys; +#endif // CANDB_USE_SIGFLOAT + +#else + + // Stored for SMFR seat back rest head inclination position. + uint8_t BCM_FRMemPosnActSeatBRHI_Val_ro; // Bits= 8 Factor= 0.1 Unit:'�' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_FRMemPosnActSeatBRHI_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored for SMFR seat head rest height inclination position. + uint8_t BCM_FRMemPosnActSeatHRHI_Val_ro; // Bits= 8 Factor= 0.71 Unit:'�' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_FRMemPosnActSeatHRHI_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored for SMFR seat back rest inclination position. + uint8_t BCM_FRMemPosnActSeatBRI_Val_ro; // Bits= 8 Factor= 0.1 Unit:'�' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_FRMemPosnActSeatBRI_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored for SMFR seat heat balance + // 7 : "Backrest 100%, Cushion 0%: 3" + // 6 : "Backrest 100%, Cushion 33%: 2" + // 5 : "Backrest 100%, Cushion 67%: 1" + // 4 : "Backrest 100%, Cushion 100%: 0" + // 3 : "Backrest 67%, Cushion 100%: -1" + // 2 : "Backrest 33%, Cushion 100%: -2" + // 1 : "Backrest 0%, Cushion 100%: -3" + // 0 : "No action" + uint8_t BCM_FRMemActHeatBalance_Val; // Bits= 3 + + // Stored for SMFR seat ventilation balance + // 7 : "Backrest 100%, Cushion 0%: 3" + // 6 : "Backrest 100%, Cushion 33%: 2" + // 5 : "Backrest 100%, Cushion 67%: 1" + // 4 : "Backrest 100%, Cushion 100%: 0" + // 3 : "Backrest 67%, Cushion 100%: -1" + // 2 : "Backrest 33%, Cushion 100%: -2" + // 1 : "Backrest 0%, Cushion 100%: -3" + // 0 : "No action" + uint8_t BCM_FRMemActVentBalance_Val; // Bits= 3 + + // Stored for SMFR seat cushion support position + uint8_t BCM_FRMemPosnPrsnSeatCS_Val_ro; // Bits= 8 Factor= 0.394 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_FRMemPosnPrsnSeatCS_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Srored for SMFR seat Longitudinal Surface Height + uint8_t BCM_FRMemPosnPrsnSeatLSH_Val_ro; // Bits= 8 Factor= 0.394 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_FRMemPosnPrsnSeatLSH_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Srored for SMFR seat Longitudinal Surface Depth + uint8_t BCM_FRMemPosnPrsnSeatLSD_Val_ro; // Bits= 8 Factor= 0.394 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_FRMemPosnPrsnSeatLSD_Val_phys; +#endif // CANDB_USE_SIGFLOAT + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} BCM_MEM_SMFR2_t; + +// def @SMRL_MEM1 CAN Message (1339 0x53b) +#define SMRL_MEM1_IDE (0U) +#define SMRL_MEM1_DLC (8U) +#define SMRL_MEM1_CANID (0x53bU) +// signal: @SMRL_PosnActSeatI_Val_ro +#define CANDB_SMRL_PosnActSeatI_Val_ro_CovFactor (0.125) +#define CANDB_SMRL_PosnActSeatI_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.125)) ) +#define CANDB_SMRL_PosnActSeatI_Val_ro_fromS(x) ( (((x) * (0.125)) + (0.0)) ) +// signal: @SMRL_PosnActSeatBRW_Val_ro +#define CANDB_SMRL_PosnActSeatBRW_Val_ro_CovFactor (1) +#define CANDB_SMRL_PosnActSeatBRW_Val_ro_toS(x) ( (uint8_t) ((x) - (300)) ) +#define CANDB_SMRL_PosnActSeatBRW_Val_ro_fromS(x) ( ((x) + (300)) ) +// signal: @SMRL_PosnActSeatFRH_Val_ro +#define CANDB_SMRL_PosnActSeatFRH_Val_ro_CovFactor (0.8) +#define CANDB_SMRL_PosnActSeatFRH_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.8)) ) +#define CANDB_SMRL_PosnActSeatFRH_Val_ro_fromS(x) ( (((x) * (0.8)) + (0.0)) ) +// signal: @SMRL_PosnActSeatFRL_Val_ro +#define CANDB_SMRL_PosnActSeatFRL_Val_ro_CovFactor (0.25) +#define CANDB_SMRL_PosnActSeatFRL_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.25)) ) +#define CANDB_SMRL_PosnActSeatFRL_Val_ro_fromS(x) ( (((x) * (0.25)) + (0.0)) ) +// signal: @SMRL_PosnActSeatH_Val_ro +#define CANDB_SMRL_PosnActSeatH_Val_ro_CovFactor (0.8) +#define CANDB_SMRL_PosnActSeatH_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.8)) ) +#define CANDB_SMRL_PosnActSeatH_Val_ro_fromS(x) ( (((x) * (0.8)) + (0.0)) ) +// signal: @SMRL_PosnActSeatHRH_Val_ro +#define CANDB_SMRL_PosnActSeatHRH_Val_ro_CovFactor (0.5) +#define CANDB_SMRL_PosnActSeatHRH_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.5)) ) +#define CANDB_SMRL_PosnActSeatHRH_Val_ro_fromS(x) ( (((x) * (0.5)) + (0.0)) ) +// signal: @SMRL_PosnActSeatL_Val_ro +#define CANDB_SMRL_PosnActSeatL_Val_ro_CovFactor (0.8) +#define CANDB_SMRL_PosnActSeatL_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.8)) ) +#define CANDB_SMRL_PosnActSeatL_Val_ro_fromS(x) ( (((x) * (0.8)) + (0.0)) ) +// signal: @SMRL_PosnActSeatSL_Val_ro +#define CANDB_SMRL_PosnActSeatSL_Val_ro_CovFactor (0.8) +#define CANDB_SMRL_PosnActSeatSL_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.8)) ) +#define CANDB_SMRL_PosnActSeatSL_Val_ro_fromS(x) ( (((x) * (0.8)) + (0.0)) ) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // SMRL current seat inclination position. + uint8_t SMRL_PosnActSeatI_Val_ro; // Bits= 8 Factor= 0.125 Unit:'�' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMRL_PosnActSeatI_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMRL current seat back rest width position. + uint8_t SMRL_PosnActSeatBRW_Val_ro; // Bits= 8 Offset= 300 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + uint16_t SMRL_PosnActSeatBRW_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMRL current seat foot rest height position. + uint8_t SMRL_PosnActSeatFRH_Val_ro; // Bits= 8 Factor= 0.8 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMRL_PosnActSeatFRH_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMRL current seat foot rest longitudinal position. + uint8_t SMRL_PosnActSeatFRL_Val_ro; // Bits= 8 Factor= 0.25 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMRL_PosnActSeatFRL_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMRL current seat height position. + uint8_t SMRL_PosnActSeatH_Val_ro; // Bits= 8 Factor= 0.8 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMRL_PosnActSeatH_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMRL current seat head rest height position. + uint8_t SMRL_PosnActSeatHRH_Val_ro; // Bits= 8 Factor= 0.5 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMRL_PosnActSeatHRH_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMRL current seat longitudinal position. + uint8_t SMRL_PosnActSeatL_Val_ro; // Bits= 8 Factor= 0.8 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMRL_PosnActSeatL_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMRL current seat surface longitudinal position. + uint8_t SMRL_PosnActSeatSL_Val_ro; // Bits= 8 Factor= 0.8 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMRL_PosnActSeatSL_Val_phys; +#endif // CANDB_USE_SIGFLOAT + +#else + + // SMRL current seat inclination position. + uint8_t SMRL_PosnActSeatI_Val_ro; // Bits= 8 Factor= 0.125 Unit:'�' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMRL_PosnActSeatI_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMRL current seat back rest width position. + uint8_t SMRL_PosnActSeatBRW_Val_ro; // Bits= 8 Offset= 300 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + uint16_t SMRL_PosnActSeatBRW_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMRL current seat foot rest height position. + uint8_t SMRL_PosnActSeatFRH_Val_ro; // Bits= 8 Factor= 0.8 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMRL_PosnActSeatFRH_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMRL current seat foot rest longitudinal position. + uint8_t SMRL_PosnActSeatFRL_Val_ro; // Bits= 8 Factor= 0.25 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMRL_PosnActSeatFRL_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMRL current seat height position. + uint8_t SMRL_PosnActSeatH_Val_ro; // Bits= 8 Factor= 0.8 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMRL_PosnActSeatH_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMRL current seat head rest height position. + uint8_t SMRL_PosnActSeatHRH_Val_ro; // Bits= 8 Factor= 0.5 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMRL_PosnActSeatHRH_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMRL current seat longitudinal position. + uint8_t SMRL_PosnActSeatL_Val_ro; // Bits= 8 Factor= 0.8 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMRL_PosnActSeatL_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMRL current seat surface longitudinal position. + uint8_t SMRL_PosnActSeatSL_Val_ro; // Bits= 8 Factor= 0.8 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMRL_PosnActSeatSL_Val_phys; +#endif // CANDB_USE_SIGFLOAT + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} SMRL_MEM1_t; + +// def @BCM_MEM_SMRL1 CAN Message (1340 0x53c) +#define BCM_MEM_SMRL1_IDE (0U) +#define BCM_MEM_SMRL1_DLC (8U) +#define BCM_MEM_SMRL1_CANID (0x53cU) +// signal: @BCM_RLMemPosnActSeatI_Val_ro +#define CANDB_BCM_RLMemPosnActSeatI_Val_ro_CovFactor (0.125) +#define CANDB_BCM_RLMemPosnActSeatI_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.125)) ) +#define CANDB_BCM_RLMemPosnActSeatI_Val_ro_fromS(x) ( (((x) * (0.125)) + (0.0)) ) +// signal: @BCM_RLMemPosnActSeatBRW_Val_ro +#define CANDB_BCM_RLMemPosnActSeatBRW_Val_ro_CovFactor (1) +#define CANDB_BCM_RLMemPosnActSeatBRW_Val_ro_toS(x) ( (uint8_t) ((x) - (300)) ) +#define CANDB_BCM_RLMemPosnActSeatBRW_Val_ro_fromS(x) ( ((x) + (300)) ) +// signal: @BCM_RLMemPosnActSeatFRH_Val_ro +#define CANDB_BCM_RLMemPosnActSeatFRH_Val_ro_CovFactor (0.8) +#define CANDB_BCM_RLMemPosnActSeatFRH_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.8)) ) +#define CANDB_BCM_RLMemPosnActSeatFRH_Val_ro_fromS(x) ( (((x) * (0.8)) + (0.0)) ) +// signal: @BCM_RLMemPosnActSeatFRL_Val_ro +#define CANDB_BCM_RLMemPosnActSeatFRL_Val_ro_CovFactor (0.25) +#define CANDB_BCM_RLMemPosnActSeatFRL_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.25)) ) +#define CANDB_BCM_RLMemPosnActSeatFRL_Val_ro_fromS(x) ( (((x) * (0.25)) + (0.0)) ) +// signal: @BCM_RLMemPosnActSeatH_Val_ro +#define CANDB_BCM_RLMemPosnActSeatH_Val_ro_CovFactor (0.8) +#define CANDB_BCM_RLMemPosnActSeatH_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.8)) ) +#define CANDB_BCM_RLMemPosnActSeatH_Val_ro_fromS(x) ( (((x) * (0.8)) + (0.0)) ) +// signal: @BCM_RLMemPosnActSeatHRH_Val_ro +#define CANDB_BCM_RLMemPosnActSeatHRH_Val_ro_CovFactor (0.5) +#define CANDB_BCM_RLMemPosnActSeatHRH_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.5)) ) +#define CANDB_BCM_RLMemPosnActSeatHRH_Val_ro_fromS(x) ( (((x) * (0.5)) + (0.0)) ) +// signal: @BCM_RLMemPosnActSeatL_Val_ro +#define CANDB_BCM_RLMemPosnActSeatL_Val_ro_CovFactor (0.8) +#define CANDB_BCM_RLMemPosnActSeatL_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.8)) ) +#define CANDB_BCM_RLMemPosnActSeatL_Val_ro_fromS(x) ( (((x) * (0.8)) + (0.0)) ) +// signal: @BCM_RLMemPosnActSeatSL_Val_ro +#define CANDB_BCM_RLMemPosnActSeatSL_Val_ro_CovFactor (0.8) +#define CANDB_BCM_RLMemPosnActSeatSL_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.8)) ) +#define CANDB_BCM_RLMemPosnActSeatSL_Val_ro_fromS(x) ( (((x) * (0.8)) + (0.0)) ) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Stored for SMRL seat inclination position + uint8_t BCM_RLMemPosnActSeatI_Val_ro; // Bits= 8 Factor= 0.125 Unit:'�' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_RLMemPosnActSeatI_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored SMRL seat back rest width position + uint8_t BCM_RLMemPosnActSeatBRW_Val_ro; // Bits= 8 Offset= 300 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + uint16_t BCM_RLMemPosnActSeatBRW_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored for SMRL seat foot rest height position + uint8_t BCM_RLMemPosnActSeatFRH_Val_ro; // Bits= 8 Factor= 0.8 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_RLMemPosnActSeatFRH_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored SMRL seat foot rest longitudinal position + uint8_t BCM_RLMemPosnActSeatFRL_Val_ro; // Bits= 8 Factor= 0.25 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_RLMemPosnActSeatFRL_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored for SMRL seat height position + uint8_t BCM_RLMemPosnActSeatH_Val_ro; // Bits= 8 Factor= 0.8 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_RLMemPosnActSeatH_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored for SMRL seat head rest height position + uint8_t BCM_RLMemPosnActSeatHRH_Val_ro; // Bits= 8 Factor= 0.5 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_RLMemPosnActSeatHRH_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored for SMRL seat longitudinal position + uint8_t BCM_RLMemPosnActSeatL_Val_ro; // Bits= 8 Factor= 0.8 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_RLMemPosnActSeatL_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored SMRL seat surface longitudinal position. + uint8_t BCM_RLMemPosnActSeatSL_Val_ro; // Bits= 8 Factor= 0.8 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_RLMemPosnActSeatSL_Val_phys; +#endif // CANDB_USE_SIGFLOAT + +#else + + // Stored for SMRL seat inclination position + uint8_t BCM_RLMemPosnActSeatI_Val_ro; // Bits= 8 Factor= 0.125 Unit:'�' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_RLMemPosnActSeatI_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored SMRL seat back rest width position + uint8_t BCM_RLMemPosnActSeatBRW_Val_ro; // Bits= 8 Offset= 300 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + uint16_t BCM_RLMemPosnActSeatBRW_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored for SMRL seat foot rest height position + uint8_t BCM_RLMemPosnActSeatFRH_Val_ro; // Bits= 8 Factor= 0.8 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_RLMemPosnActSeatFRH_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored SMRL seat foot rest longitudinal position + uint8_t BCM_RLMemPosnActSeatFRL_Val_ro; // Bits= 8 Factor= 0.25 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_RLMemPosnActSeatFRL_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored for SMRL seat height position + uint8_t BCM_RLMemPosnActSeatH_Val_ro; // Bits= 8 Factor= 0.8 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_RLMemPosnActSeatH_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored for SMRL seat head rest height position + uint8_t BCM_RLMemPosnActSeatHRH_Val_ro; // Bits= 8 Factor= 0.5 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_RLMemPosnActSeatHRH_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored for SMRL seat longitudinal position + uint8_t BCM_RLMemPosnActSeatL_Val_ro; // Bits= 8 Factor= 0.8 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_RLMemPosnActSeatL_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored SMRL seat surface longitudinal position. + uint8_t BCM_RLMemPosnActSeatSL_Val_ro; // Bits= 8 Factor= 0.8 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_RLMemPosnActSeatSL_Val_phys; +#endif // CANDB_USE_SIGFLOAT + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} BCM_MEM_SMRL1_t; + +// def @SMRL_MEM2 CAN Message (1341 0x53d) +#define SMRL_MEM2_IDE (0U) +#define SMRL_MEM2_DLC (8U) +#define SMRL_MEM2_CANID (0x53dU) +// signal: @SMRL_PosnActSeatBRHI_Val_ro +#define CANDB_SMRL_PosnActSeatBRHI_Val_ro_CovFactor (0.1) +#define CANDB_SMRL_PosnActSeatBRHI_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_SMRL_PosnActSeatBRHI_Val_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @SMRL_PosnActSeatHRHI_Val_ro +#define CANDB_SMRL_PosnActSeatHRHI_Val_ro_CovFactor (0.71) +#define CANDB_SMRL_PosnActSeatHRHI_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.71)) ) +#define CANDB_SMRL_PosnActSeatHRHI_Val_ro_fromS(x) ( (((x) * (0.71)) + (0.0)) ) +// signal: @SMRL_PosnActSeatBRI_Val_ro +#define CANDB_SMRL_PosnActSeatBRI_Val_ro_CovFactor (0.1) +#define CANDB_SMRL_PosnActSeatBRI_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_SMRL_PosnActSeatBRI_Val_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) + +// Value tables for @SMRL_ActHeatBalance_Stat signal + +#ifndef SMRL_ActHeatBalance_Stat_SMRL_MEM2_Backrest_100_Cushion_00_3 +#define SMRL_ActHeatBalance_Stat_SMRL_MEM2_Backrest_100_Cushion_00_3 (7) +#endif + +#ifndef SMRL_ActHeatBalance_Stat_SMRL_MEM2_Backrest_100_Cushion_33_2 +#define SMRL_ActHeatBalance_Stat_SMRL_MEM2_Backrest_100_Cushion_33_2 (6) +#endif + +#ifndef SMRL_ActHeatBalance_Stat_SMRL_MEM2_Backrest_100_Cushion_67_1 +#define SMRL_ActHeatBalance_Stat_SMRL_MEM2_Backrest_100_Cushion_67_1 (5) +#endif + +#ifndef SMRL_ActHeatBalance_Stat_SMRL_MEM2_Backrest_100_Cushion_100_0 +#define SMRL_ActHeatBalance_Stat_SMRL_MEM2_Backrest_100_Cushion_100_0 (4) +#endif + +#ifndef SMRL_ActHeatBalance_Stat_SMRL_MEM2_Backrest_67_Cushion_100_1 +#define SMRL_ActHeatBalance_Stat_SMRL_MEM2_Backrest_67_Cushion_100_1 (3) +#endif + +#ifndef SMRL_ActHeatBalance_Stat_SMRL_MEM2_Backrest_33_Cushion_100_2 +#define SMRL_ActHeatBalance_Stat_SMRL_MEM2_Backrest_33_Cushion_100_2 (2) +#endif + +#ifndef SMRL_ActHeatBalance_Stat_SMRL_MEM2_No_action +#define SMRL_ActHeatBalance_Stat_SMRL_MEM2_No_action (0) +#endif + +#ifndef SMRL_ActHeatBalance_Stat_SMRL_MEM2_Backrest_00_Cushion_100_3 +#define SMRL_ActHeatBalance_Stat_SMRL_MEM2_Backrest_00_Cushion_100_3 (1) +#endif + + +// Value tables for @SMRL_ActVentBalance_Stat signal + +#ifndef SMRL_ActVentBalance_Stat_SMRL_MEM2_Backrest_100_Cushion_00_3 +#define SMRL_ActVentBalance_Stat_SMRL_MEM2_Backrest_100_Cushion_00_3 (7) +#endif + +#ifndef SMRL_ActVentBalance_Stat_SMRL_MEM2_Backrest_100_Cushion_33_2 +#define SMRL_ActVentBalance_Stat_SMRL_MEM2_Backrest_100_Cushion_33_2 (6) +#endif + +#ifndef SMRL_ActVentBalance_Stat_SMRL_MEM2_Backrest_100_Cushion_67_1 +#define SMRL_ActVentBalance_Stat_SMRL_MEM2_Backrest_100_Cushion_67_1 (5) +#endif + +#ifndef SMRL_ActVentBalance_Stat_SMRL_MEM2_Backrest_100_Cushion_100_0 +#define SMRL_ActVentBalance_Stat_SMRL_MEM2_Backrest_100_Cushion_100_0 (4) +#endif + +#ifndef SMRL_ActVentBalance_Stat_SMRL_MEM2_Backrest_67_Cushion_100_1 +#define SMRL_ActVentBalance_Stat_SMRL_MEM2_Backrest_67_Cushion_100_1 (3) +#endif + +#ifndef SMRL_ActVentBalance_Stat_SMRL_MEM2_Backrest_33_Cushion_100_2 +#define SMRL_ActVentBalance_Stat_SMRL_MEM2_Backrest_33_Cushion_100_2 (2) +#endif + +#ifndef SMRL_ActVentBalance_Stat_SMRL_MEM2_No_action +#define SMRL_ActVentBalance_Stat_SMRL_MEM2_No_action (0) +#endif + +#ifndef SMRL_ActVentBalance_Stat_SMRL_MEM2_Backrest_00_Cushion_100_3 +#define SMRL_ActVentBalance_Stat_SMRL_MEM2_Backrest_00_Cushion_100_3 (1) +#endif + +// signal: @SMRL_PosnPrsnSeatCS_Val_ro +#define CANDB_SMRL_PosnPrsnSeatCS_Val_ro_CovFactor (0.394) +#define CANDB_SMRL_PosnPrsnSeatCS_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.394)) ) +#define CANDB_SMRL_PosnPrsnSeatCS_Val_ro_fromS(x) ( (((x) * (0.394)) + (0.0)) ) +// signal: @SMRL_PosnPrsnSeatLSH_Val_ro +#define CANDB_SMRL_PosnPrsnSeatLSH_Val_ro_CovFactor (0.394) +#define CANDB_SMRL_PosnPrsnSeatLSH_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.394)) ) +#define CANDB_SMRL_PosnPrsnSeatLSH_Val_ro_fromS(x) ( (((x) * (0.394)) + (0.0)) ) +// signal: @SMRL_PosnPrsnSeatLSD_Val_ro +#define CANDB_SMRL_PosnPrsnSeatLSD_Val_ro_CovFactor (0.394) +#define CANDB_SMRL_PosnPrsnSeatLSD_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.394)) ) +#define CANDB_SMRL_PosnPrsnSeatLSD_Val_ro_fromS(x) ( (((x) * (0.394)) + (0.0)) ) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // SMRL current seat back rest head inclination position. + uint8_t SMRL_PosnActSeatBRHI_Val_ro; // Bits= 8 Factor= 0.1 Unit:'�' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMRL_PosnActSeatBRHI_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMRL current seat head rest height inclination position. + uint8_t SMRL_PosnActSeatHRHI_Val_ro; // Bits= 8 Factor= 0.71 Unit:'�' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMRL_PosnActSeatHRHI_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMRL current seat back rest inclination position. + uint8_t SMRL_PosnActSeatBRI_Val_ro; // Bits= 8 Factor= 0.1 Unit:'�' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMRL_PosnActSeatBRI_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMRL current seat heat balance + // 7 : "Backrest 100%, Cushion 00%: 3" + // 6 : "Backrest 100%, Cushion 33%: 2" + // 5 : "Backrest 100%, Cushion 67%: 1" + // 4 : "Backrest 100%, Cushion 100%: 0" + // 3 : "Backrest 67%, Cushion 100%: -1" + // 2 : "Backrest 33%, Cushion 100%: -2" + // 0 : "No action" + // 1 : "Backrest 00%, Cushion 100%: -3" + uint8_t SMRL_ActHeatBalance_Stat : 3; // Bits= 3 + + // SMRL current seat ventilation balance + // 7 : "Backrest 100%, Cushion 00%: 3" + // 6 : "Backrest 100%, Cushion 33%: 2" + // 5 : "Backrest 100%, Cushion 67%: 1" + // 4 : "Backrest 100%, Cushion 100%: 0" + // 3 : "Backrest 67%, Cushion 100%: -1" + // 2 : "Backrest 33%, Cushion 100%: -2" + // 0 : "No action" + // 1 : "Backrest 00%, Cushion 100%: -3" + uint8_t SMRL_ActVentBalance_Stat : 3; // Bits= 3 + + // SMRL current seat cushion support position + uint8_t SMRL_PosnPrsnSeatCS_Val_ro; // Bits= 8 Factor= 0.394 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMRL_PosnPrsnSeatCS_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMRL current seat Longitudinal Surface Height + uint8_t SMRL_PosnPrsnSeatLSH_Val_ro; // Bits= 8 Factor= 0.394 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMRL_PosnPrsnSeatLSH_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMRL current seat Longitudinal Surface Depth + uint8_t SMRL_PosnPrsnSeatLSD_Val_ro; // Bits= 8 Factor= 0.394 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMRL_PosnPrsnSeatLSD_Val_phys; +#endif // CANDB_USE_SIGFLOAT + +#else + + // SMRL current seat back rest head inclination position. + uint8_t SMRL_PosnActSeatBRHI_Val_ro; // Bits= 8 Factor= 0.1 Unit:'�' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMRL_PosnActSeatBRHI_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMRL current seat head rest height inclination position. + uint8_t SMRL_PosnActSeatHRHI_Val_ro; // Bits= 8 Factor= 0.71 Unit:'�' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMRL_PosnActSeatHRHI_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMRL current seat back rest inclination position. + uint8_t SMRL_PosnActSeatBRI_Val_ro; // Bits= 8 Factor= 0.1 Unit:'�' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMRL_PosnActSeatBRI_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMRL current seat heat balance + // 7 : "Backrest 100%, Cushion 00%: 3" + // 6 : "Backrest 100%, Cushion 33%: 2" + // 5 : "Backrest 100%, Cushion 67%: 1" + // 4 : "Backrest 100%, Cushion 100%: 0" + // 3 : "Backrest 67%, Cushion 100%: -1" + // 2 : "Backrest 33%, Cushion 100%: -2" + // 0 : "No action" + // 1 : "Backrest 00%, Cushion 100%: -3" + uint8_t SMRL_ActHeatBalance_Stat; // Bits= 3 + + // SMRL current seat ventilation balance + // 7 : "Backrest 100%, Cushion 00%: 3" + // 6 : "Backrest 100%, Cushion 33%: 2" + // 5 : "Backrest 100%, Cushion 67%: 1" + // 4 : "Backrest 100%, Cushion 100%: 0" + // 3 : "Backrest 67%, Cushion 100%: -1" + // 2 : "Backrest 33%, Cushion 100%: -2" + // 0 : "No action" + // 1 : "Backrest 00%, Cushion 100%: -3" + uint8_t SMRL_ActVentBalance_Stat; // Bits= 3 + + // SMRL current seat cushion support position + uint8_t SMRL_PosnPrsnSeatCS_Val_ro; // Bits= 8 Factor= 0.394 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMRL_PosnPrsnSeatCS_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMRL current seat Longitudinal Surface Height + uint8_t SMRL_PosnPrsnSeatLSH_Val_ro; // Bits= 8 Factor= 0.394 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMRL_PosnPrsnSeatLSH_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMRL current seat Longitudinal Surface Depth + uint8_t SMRL_PosnPrsnSeatLSD_Val_ro; // Bits= 8 Factor= 0.394 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMRL_PosnPrsnSeatLSD_Val_phys; +#endif // CANDB_USE_SIGFLOAT + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} SMRL_MEM2_t; + +// def @BCM_MEM_SMRL2 CAN Message (1342 0x53e) +#define BCM_MEM_SMRL2_IDE (0U) +#define BCM_MEM_SMRL2_DLC (8U) +#define BCM_MEM_SMRL2_CANID (0x53eU) +// signal: @BCM_RLMemPosnActSeatBRHI_Val_ro +#define CANDB_BCM_RLMemPosnActSeatBRHI_Val_ro_CovFactor (0.1) +#define CANDB_BCM_RLMemPosnActSeatBRHI_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_BCM_RLMemPosnActSeatBRHI_Val_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @BCM_RLMemPosnActSeatHRHI_Val_ro +#define CANDB_BCM_RLMemPosnActSeatHRHI_Val_ro_CovFactor (0.71) +#define CANDB_BCM_RLMemPosnActSeatHRHI_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.71)) ) +#define CANDB_BCM_RLMemPosnActSeatHRHI_Val_ro_fromS(x) ( (((x) * (0.71)) + (0.0)) ) +// signal: @BCM_RLMemPosnActSeatBRI_Val_ro +#define CANDB_BCM_RLMemPosnActSeatBRI_Val_ro_CovFactor (0.1) +#define CANDB_BCM_RLMemPosnActSeatBRI_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_BCM_RLMemPosnActSeatBRI_Val_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) + +// Value tables for @BCM_RLMemActHeatBalance_Val signal + +#ifndef BCM_RLMemActHeatBalance_Val_BCM_MEM_SMRL2_Backrest_100_Cushion_0_3 +#define BCM_RLMemActHeatBalance_Val_BCM_MEM_SMRL2_Backrest_100_Cushion_0_3 (7) +#endif + +#ifndef BCM_RLMemActHeatBalance_Val_BCM_MEM_SMRL2_Backrest_100_Cushion_33_2 +#define BCM_RLMemActHeatBalance_Val_BCM_MEM_SMRL2_Backrest_100_Cushion_33_2 (6) +#endif + +#ifndef BCM_RLMemActHeatBalance_Val_BCM_MEM_SMRL2_Backrest_100_Cushion_67_1 +#define BCM_RLMemActHeatBalance_Val_BCM_MEM_SMRL2_Backrest_100_Cushion_67_1 (5) +#endif + +#ifndef BCM_RLMemActHeatBalance_Val_BCM_MEM_SMRL2_Backrest_100_Cushion_100_0 +#define BCM_RLMemActHeatBalance_Val_BCM_MEM_SMRL2_Backrest_100_Cushion_100_0 (4) +#endif + +#ifndef BCM_RLMemActHeatBalance_Val_BCM_MEM_SMRL2_Backrest_67_Cushion_100_1 +#define BCM_RLMemActHeatBalance_Val_BCM_MEM_SMRL2_Backrest_67_Cushion_100_1 (3) +#endif + +#ifndef BCM_RLMemActHeatBalance_Val_BCM_MEM_SMRL2_Backrest_33_Cushion_100_2 +#define BCM_RLMemActHeatBalance_Val_BCM_MEM_SMRL2_Backrest_33_Cushion_100_2 (2) +#endif + +#ifndef BCM_RLMemActHeatBalance_Val_BCM_MEM_SMRL2_Backrest_0_Cushion_100_3 +#define BCM_RLMemActHeatBalance_Val_BCM_MEM_SMRL2_Backrest_0_Cushion_100_3 (1) +#endif + +#ifndef BCM_RLMemActHeatBalance_Val_BCM_MEM_SMRL2_No_action +#define BCM_RLMemActHeatBalance_Val_BCM_MEM_SMRL2_No_action (0) +#endif + + +// Value tables for @BCM_RLMemActVentBalance_Val signal + +#ifndef BCM_RLMemActVentBalance_Val_BCM_MEM_SMRL2_Backrest_100_Cushion_0_3 +#define BCM_RLMemActVentBalance_Val_BCM_MEM_SMRL2_Backrest_100_Cushion_0_3 (7) +#endif + +#ifndef BCM_RLMemActVentBalance_Val_BCM_MEM_SMRL2_Backrest_100_Cushion_33_2 +#define BCM_RLMemActVentBalance_Val_BCM_MEM_SMRL2_Backrest_100_Cushion_33_2 (6) +#endif + +#ifndef BCM_RLMemActVentBalance_Val_BCM_MEM_SMRL2_Backrest_100_Cushion_67_1 +#define BCM_RLMemActVentBalance_Val_BCM_MEM_SMRL2_Backrest_100_Cushion_67_1 (5) +#endif + +#ifndef BCM_RLMemActVentBalance_Val_BCM_MEM_SMRL2_Backrest_100_Cushion_100_0 +#define BCM_RLMemActVentBalance_Val_BCM_MEM_SMRL2_Backrest_100_Cushion_100_0 (4) +#endif + +#ifndef BCM_RLMemActVentBalance_Val_BCM_MEM_SMRL2_Backrest_67_Cushion_100_1 +#define BCM_RLMemActVentBalance_Val_BCM_MEM_SMRL2_Backrest_67_Cushion_100_1 (3) +#endif + +#ifndef BCM_RLMemActVentBalance_Val_BCM_MEM_SMRL2_Backrest_33_Cushion_100_2 +#define BCM_RLMemActVentBalance_Val_BCM_MEM_SMRL2_Backrest_33_Cushion_100_2 (2) +#endif + +#ifndef BCM_RLMemActVentBalance_Val_BCM_MEM_SMRL2_Backrest_0_Cushion_100_3 +#define BCM_RLMemActVentBalance_Val_BCM_MEM_SMRL2_Backrest_0_Cushion_100_3 (1) +#endif + +#ifndef BCM_RLMemActVentBalance_Val_BCM_MEM_SMRL2_No_action +#define BCM_RLMemActVentBalance_Val_BCM_MEM_SMRL2_No_action (0) +#endif + +// signal: @BCM_RLMemPosnPrsnSeatCS_Val_ro +#define CANDB_BCM_RLMemPosnPrsnSeatCS_Val_ro_CovFactor (0.394) +#define CANDB_BCM_RLMemPosnPrsnSeatCS_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.394)) ) +#define CANDB_BCM_RLMemPosnPrsnSeatCS_Val_ro_fromS(x) ( (((x) * (0.394)) + (0.0)) ) +// signal: @BCM_RLMemPosnPrsnSeatLSH_Val_ro +#define CANDB_BCM_RLMemPosnPrsnSeatLSH_Val_ro_CovFactor (0.394) +#define CANDB_BCM_RLMemPosnPrsnSeatLSH_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.394)) ) +#define CANDB_BCM_RLMemPosnPrsnSeatLSH_Val_ro_fromS(x) ( (((x) * (0.394)) + (0.0)) ) +// signal: @BCM_RLMemPosnPrsnSeatLSD_Val_ro +#define CANDB_BCM_RLMemPosnPrsnSeatLSD_Val_ro_CovFactor (0.394) +#define CANDB_BCM_RLMemPosnPrsnSeatLSD_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.394)) ) +#define CANDB_BCM_RLMemPosnPrsnSeatLSD_Val_ro_fromS(x) ( (((x) * (0.394)) + (0.0)) ) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Stored for SMRL seat back rest head inclination position. + uint8_t BCM_RLMemPosnActSeatBRHI_Val_ro; // Bits= 8 Factor= 0.1 Unit:'�' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_RLMemPosnActSeatBRHI_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored for SMRL seat head rest height inclination position. + uint8_t BCM_RLMemPosnActSeatHRHI_Val_ro; // Bits= 8 Factor= 0.71 Unit:'�' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_RLMemPosnActSeatHRHI_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored for SMRL seat back rest inclination position. + uint8_t BCM_RLMemPosnActSeatBRI_Val_ro; // Bits= 8 Factor= 0.1 Unit:'�' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_RLMemPosnActSeatBRI_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored for SMRL seat heat balance + // 7 : "Backrest 100%, Cushion 0%: 3" + // 6 : "Backrest 100%, Cushion 33%: 2" + // 5 : "Backrest 100%, Cushion 67%: 1" + // 4 : "Backrest 100%, Cushion 100%: 0" + // 3 : "Backrest 67%, Cushion 100%: -1" + // 2 : "Backrest 33%, Cushion 100%: -2" + // 1 : "Backrest 0%, Cushion 100%: -3" + // 0 : "No action" + uint8_t BCM_RLMemActHeatBalance_Val : 3; // Bits= 3 + + // Stored for SMRL seat ventilation balance + // 7 : "Backrest 100%, Cushion 0%: 3" + // 6 : "Backrest 100%, Cushion 33%: 2" + // 5 : "Backrest 100%, Cushion 67%: 1" + // 4 : "Backrest 100%, Cushion 100%: 0" + // 3 : "Backrest 67%, Cushion 100%: -1" + // 2 : "Backrest 33%, Cushion 100%: -2" + // 1 : "Backrest 0%, Cushion 100%: -3" + // 0 : "No action" + uint8_t BCM_RLMemActVentBalance_Val : 3; // Bits= 3 + + // Stored for SMRL seat cushion support position + uint8_t BCM_RLMemPosnPrsnSeatCS_Val_ro; // Bits= 8 Factor= 0.394 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_RLMemPosnPrsnSeatCS_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored for SMRL seat Longitudinal Surface Height + uint8_t BCM_RLMemPosnPrsnSeatLSH_Val_ro; // Bits= 8 Factor= 0.394 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_RLMemPosnPrsnSeatLSH_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored for SMRL seat Longitudinal Surface Depth + uint8_t BCM_RLMemPosnPrsnSeatLSD_Val_ro; // Bits= 8 Factor= 0.394 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_RLMemPosnPrsnSeatLSD_Val_phys; +#endif // CANDB_USE_SIGFLOAT + +#else + + // Stored for SMRL seat back rest head inclination position. + uint8_t BCM_RLMemPosnActSeatBRHI_Val_ro; // Bits= 8 Factor= 0.1 Unit:'�' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_RLMemPosnActSeatBRHI_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored for SMRL seat head rest height inclination position. + uint8_t BCM_RLMemPosnActSeatHRHI_Val_ro; // Bits= 8 Factor= 0.71 Unit:'�' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_RLMemPosnActSeatHRHI_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored for SMRL seat back rest inclination position. + uint8_t BCM_RLMemPosnActSeatBRI_Val_ro; // Bits= 8 Factor= 0.1 Unit:'�' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_RLMemPosnActSeatBRI_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored for SMRL seat heat balance + // 7 : "Backrest 100%, Cushion 0%: 3" + // 6 : "Backrest 100%, Cushion 33%: 2" + // 5 : "Backrest 100%, Cushion 67%: 1" + // 4 : "Backrest 100%, Cushion 100%: 0" + // 3 : "Backrest 67%, Cushion 100%: -1" + // 2 : "Backrest 33%, Cushion 100%: -2" + // 1 : "Backrest 0%, Cushion 100%: -3" + // 0 : "No action" + uint8_t BCM_RLMemActHeatBalance_Val; // Bits= 3 + + // Stored for SMRL seat ventilation balance + // 7 : "Backrest 100%, Cushion 0%: 3" + // 6 : "Backrest 100%, Cushion 33%: 2" + // 5 : "Backrest 100%, Cushion 67%: 1" + // 4 : "Backrest 100%, Cushion 100%: 0" + // 3 : "Backrest 67%, Cushion 100%: -1" + // 2 : "Backrest 33%, Cushion 100%: -2" + // 1 : "Backrest 0%, Cushion 100%: -3" + // 0 : "No action" + uint8_t BCM_RLMemActVentBalance_Val; // Bits= 3 + + // Stored for SMRL seat cushion support position + uint8_t BCM_RLMemPosnPrsnSeatCS_Val_ro; // Bits= 8 Factor= 0.394 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_RLMemPosnPrsnSeatCS_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored for SMRL seat Longitudinal Surface Height + uint8_t BCM_RLMemPosnPrsnSeatLSH_Val_ro; // Bits= 8 Factor= 0.394 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_RLMemPosnPrsnSeatLSH_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored for SMRL seat Longitudinal Surface Depth + uint8_t BCM_RLMemPosnPrsnSeatLSD_Val_ro; // Bits= 8 Factor= 0.394 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_RLMemPosnPrsnSeatLSD_Val_phys; +#endif // CANDB_USE_SIGFLOAT + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} BCM_MEM_SMRL2_t; + +// def @SMRR_MEM1 CAN Message (1343 0x53f) +#define SMRR_MEM1_IDE (0U) +#define SMRR_MEM1_DLC (8U) +#define SMRR_MEM1_CANID (0x53fU) +// signal: @SMRR_PosnActSeatI_Val_ro +#define CANDB_SMRR_PosnActSeatI_Val_ro_CovFactor (0.125) +#define CANDB_SMRR_PosnActSeatI_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.125)) ) +#define CANDB_SMRR_PosnActSeatI_Val_ro_fromS(x) ( (((x) * (0.125)) + (0.0)) ) +// signal: @SMRR_PosnActSeatBRW_Val_ro +#define CANDB_SMRR_PosnActSeatBRW_Val_ro_CovFactor (1) +#define CANDB_SMRR_PosnActSeatBRW_Val_ro_toS(x) ( (uint8_t) ((x) - (300)) ) +#define CANDB_SMRR_PosnActSeatBRW_Val_ro_fromS(x) ( ((x) + (300)) ) +// signal: @SMRR_PosnActSeatFRH_Val_ro +#define CANDB_SMRR_PosnActSeatFRH_Val_ro_CovFactor (0.8) +#define CANDB_SMRR_PosnActSeatFRH_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.8)) ) +#define CANDB_SMRR_PosnActSeatFRH_Val_ro_fromS(x) ( (((x) * (0.8)) + (0.0)) ) +// signal: @SMRR_PosnActSeatFRL_Val_ro +#define CANDB_SMRR_PosnActSeatFRL_Val_ro_CovFactor (0.25) +#define CANDB_SMRR_PosnActSeatFRL_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.25)) ) +#define CANDB_SMRR_PosnActSeatFRL_Val_ro_fromS(x) ( (((x) * (0.25)) + (0.0)) ) +// signal: @SMRR_PosnActSeatH_Val_ro +#define CANDB_SMRR_PosnActSeatH_Val_ro_CovFactor (0.8) +#define CANDB_SMRR_PosnActSeatH_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.8)) ) +#define CANDB_SMRR_PosnActSeatH_Val_ro_fromS(x) ( (((x) * (0.8)) + (0.0)) ) +// signal: @SMRR_PosnActSeatHRH_Val_ro +#define CANDB_SMRR_PosnActSeatHRH_Val_ro_CovFactor (0.5) +#define CANDB_SMRR_PosnActSeatHRH_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.5)) ) +#define CANDB_SMRR_PosnActSeatHRH_Val_ro_fromS(x) ( (((x) * (0.5)) + (0.0)) ) +// signal: @SMRR_PosnActSeatL_Val_ro +#define CANDB_SMRR_PosnActSeatL_Val_ro_CovFactor (0.8) +#define CANDB_SMRR_PosnActSeatL_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.8)) ) +#define CANDB_SMRR_PosnActSeatL_Val_ro_fromS(x) ( (((x) * (0.8)) + (0.0)) ) +// signal: @SMRR_PosnActSeatSL_Val_ro +#define CANDB_SMRR_PosnActSeatSL_Val_ro_CovFactor (0.8) +#define CANDB_SMRR_PosnActSeatSL_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.8)) ) +#define CANDB_SMRR_PosnActSeatSL_Val_ro_fromS(x) ( (((x) * (0.8)) + (0.0)) ) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // SMRR current seat inclination position. + uint8_t SMRR_PosnActSeatI_Val_ro; // Bits= 8 Factor= 0.125 Unit:'�' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMRR_PosnActSeatI_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMRR current seat back rest width position. + uint8_t SMRR_PosnActSeatBRW_Val_ro; // Bits= 8 Offset= 300 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + uint16_t SMRR_PosnActSeatBRW_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMRR current seat foot rest height position. + uint8_t SMRR_PosnActSeatFRH_Val_ro; // Bits= 8 Factor= 0.8 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMRR_PosnActSeatFRH_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMRR current seat foot rest longitudinal position. + uint8_t SMRR_PosnActSeatFRL_Val_ro; // Bits= 8 Factor= 0.25 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMRR_PosnActSeatFRL_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMRR current seat height position. + uint8_t SMRR_PosnActSeatH_Val_ro; // Bits= 8 Factor= 0.8 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMRR_PosnActSeatH_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMRR current seat head rest height position. + uint8_t SMRR_PosnActSeatHRH_Val_ro; // Bits= 8 Factor= 0.5 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMRR_PosnActSeatHRH_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMRR current seat longitudinal position. + uint8_t SMRR_PosnActSeatL_Val_ro; // Bits= 8 Factor= 0.8 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMRR_PosnActSeatL_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMRR current seat surface longitudinal position. + uint8_t SMRR_PosnActSeatSL_Val_ro; // Bits= 8 Factor= 0.8 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMRR_PosnActSeatSL_Val_phys; +#endif // CANDB_USE_SIGFLOAT + +#else + + // SMRR current seat inclination position. + uint8_t SMRR_PosnActSeatI_Val_ro; // Bits= 8 Factor= 0.125 Unit:'�' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMRR_PosnActSeatI_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMRR current seat back rest width position. + uint8_t SMRR_PosnActSeatBRW_Val_ro; // Bits= 8 Offset= 300 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + uint16_t SMRR_PosnActSeatBRW_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMRR current seat foot rest height position. + uint8_t SMRR_PosnActSeatFRH_Val_ro; // Bits= 8 Factor= 0.8 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMRR_PosnActSeatFRH_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMRR current seat foot rest longitudinal position. + uint8_t SMRR_PosnActSeatFRL_Val_ro; // Bits= 8 Factor= 0.25 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMRR_PosnActSeatFRL_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMRR current seat height position. + uint8_t SMRR_PosnActSeatH_Val_ro; // Bits= 8 Factor= 0.8 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMRR_PosnActSeatH_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMRR current seat head rest height position. + uint8_t SMRR_PosnActSeatHRH_Val_ro; // Bits= 8 Factor= 0.5 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMRR_PosnActSeatHRH_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMRR current seat longitudinal position. + uint8_t SMRR_PosnActSeatL_Val_ro; // Bits= 8 Factor= 0.8 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMRR_PosnActSeatL_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMRR current seat surface longitudinal position. + uint8_t SMRR_PosnActSeatSL_Val_ro; // Bits= 8 Factor= 0.8 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMRR_PosnActSeatSL_Val_phys; +#endif // CANDB_USE_SIGFLOAT + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} SMRR_MEM1_t; + +// def @BCM_MEM_SMRR1 CAN Message (1344 0x540) +#define BCM_MEM_SMRR1_IDE (0U) +#define BCM_MEM_SMRR1_DLC (8U) +#define BCM_MEM_SMRR1_CANID (0x540U) +// signal: @BCM_RRMemPosnActSeatI_Val_ro +#define CANDB_BCM_RRMemPosnActSeatI_Val_ro_CovFactor (0.125) +#define CANDB_BCM_RRMemPosnActSeatI_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.125)) ) +#define CANDB_BCM_RRMemPosnActSeatI_Val_ro_fromS(x) ( (((x) * (0.125)) + (0.0)) ) +// signal: @BCM_RRMemPosnActSeatBRW_Val_ro +#define CANDB_BCM_RRMemPosnActSeatBRW_Val_ro_CovFactor (1) +#define CANDB_BCM_RRMemPosnActSeatBRW_Val_ro_toS(x) ( (uint8_t) ((x) - (300)) ) +#define CANDB_BCM_RRMemPosnActSeatBRW_Val_ro_fromS(x) ( ((x) + (300)) ) +// signal: @BCM_RRMemPosnActSeatFRH_Val_ro +#define CANDB_BCM_RRMemPosnActSeatFRH_Val_ro_CovFactor (0.8) +#define CANDB_BCM_RRMemPosnActSeatFRH_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.8)) ) +#define CANDB_BCM_RRMemPosnActSeatFRH_Val_ro_fromS(x) ( (((x) * (0.8)) + (0.0)) ) +// signal: @BCM_RRMemPosnActSeatFRL_Val_ro +#define CANDB_BCM_RRMemPosnActSeatFRL_Val_ro_CovFactor (0.25) +#define CANDB_BCM_RRMemPosnActSeatFRL_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.25)) ) +#define CANDB_BCM_RRMemPosnActSeatFRL_Val_ro_fromS(x) ( (((x) * (0.25)) + (0.0)) ) +// signal: @BCM_RRMemPosnActSeatH_Val_ro +#define CANDB_BCM_RRMemPosnActSeatH_Val_ro_CovFactor (0.8) +#define CANDB_BCM_RRMemPosnActSeatH_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.8)) ) +#define CANDB_BCM_RRMemPosnActSeatH_Val_ro_fromS(x) ( (((x) * (0.8)) + (0.0)) ) +// signal: @BCM_RRMemPosnActSeatHRH_Val_ro +#define CANDB_BCM_RRMemPosnActSeatHRH_Val_ro_CovFactor (0.5) +#define CANDB_BCM_RRMemPosnActSeatHRH_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.5)) ) +#define CANDB_BCM_RRMemPosnActSeatHRH_Val_ro_fromS(x) ( (((x) * (0.5)) + (0.0)) ) +// signal: @BCM_RRMemPosnActSeatL_Val_ro +#define CANDB_BCM_RRMemPosnActSeatL_Val_ro_CovFactor (0.8) +#define CANDB_BCM_RRMemPosnActSeatL_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.8)) ) +#define CANDB_BCM_RRMemPosnActSeatL_Val_ro_fromS(x) ( (((x) * (0.8)) + (0.0)) ) +// signal: @BCM_RRMemPosnActSeatSL_Val_ro +#define CANDB_BCM_RRMemPosnActSeatSL_Val_ro_CovFactor (0.8) +#define CANDB_BCM_RRMemPosnActSeatSL_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.8)) ) +#define CANDB_BCM_RRMemPosnActSeatSL_Val_ro_fromS(x) ( (((x) * (0.8)) + (0.0)) ) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Stored SMRR seat inclination position. + uint8_t BCM_RRMemPosnActSeatI_Val_ro; // Bits= 8 Factor= 0.125 Unit:'�' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_RRMemPosnActSeatI_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored SMRR seat back rest width position. + uint8_t BCM_RRMemPosnActSeatBRW_Val_ro; // Bits= 8 Offset= 300 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + uint16_t BCM_RRMemPosnActSeatBRW_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored SMRR seat foot rest height position. + uint8_t BCM_RRMemPosnActSeatFRH_Val_ro; // Bits= 8 Factor= 0.8 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_RRMemPosnActSeatFRH_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored SMRR seat foot rest longitudinal position. + uint8_t BCM_RRMemPosnActSeatFRL_Val_ro; // Bits= 8 Factor= 0.25 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_RRMemPosnActSeatFRL_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored SMRR seat height position. + uint8_t BCM_RRMemPosnActSeatH_Val_ro; // Bits= 8 Factor= 0.8 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_RRMemPosnActSeatH_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored SMRR seat head rest height position. + uint8_t BCM_RRMemPosnActSeatHRH_Val_ro; // Bits= 8 Factor= 0.5 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_RRMemPosnActSeatHRH_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored SMRR seat longitudinal position. + uint8_t BCM_RRMemPosnActSeatL_Val_ro; // Bits= 8 Factor= 0.8 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_RRMemPosnActSeatL_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored SMRR seat surface longitudinal position. + uint8_t BCM_RRMemPosnActSeatSL_Val_ro; // Bits= 8 Factor= 0.8 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_RRMemPosnActSeatSL_Val_phys; +#endif // CANDB_USE_SIGFLOAT + +#else + + // Stored SMRR seat inclination position. + uint8_t BCM_RRMemPosnActSeatI_Val_ro; // Bits= 8 Factor= 0.125 Unit:'�' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_RRMemPosnActSeatI_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored SMRR seat back rest width position. + uint8_t BCM_RRMemPosnActSeatBRW_Val_ro; // Bits= 8 Offset= 300 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + uint16_t BCM_RRMemPosnActSeatBRW_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored SMRR seat foot rest height position. + uint8_t BCM_RRMemPosnActSeatFRH_Val_ro; // Bits= 8 Factor= 0.8 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_RRMemPosnActSeatFRH_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored SMRR seat foot rest longitudinal position. + uint8_t BCM_RRMemPosnActSeatFRL_Val_ro; // Bits= 8 Factor= 0.25 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_RRMemPosnActSeatFRL_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored SMRR seat height position. + uint8_t BCM_RRMemPosnActSeatH_Val_ro; // Bits= 8 Factor= 0.8 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_RRMemPosnActSeatH_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored SMRR seat head rest height position. + uint8_t BCM_RRMemPosnActSeatHRH_Val_ro; // Bits= 8 Factor= 0.5 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_RRMemPosnActSeatHRH_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored SMRR seat longitudinal position. + uint8_t BCM_RRMemPosnActSeatL_Val_ro; // Bits= 8 Factor= 0.8 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_RRMemPosnActSeatL_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored SMRR seat surface longitudinal position. + uint8_t BCM_RRMemPosnActSeatSL_Val_ro; // Bits= 8 Factor= 0.8 Unit:'mm' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_RRMemPosnActSeatSL_Val_phys; +#endif // CANDB_USE_SIGFLOAT + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} BCM_MEM_SMRR1_t; + +// def @SMRR_MEM2 CAN Message (1345 0x541) +#define SMRR_MEM2_IDE (0U) +#define SMRR_MEM2_DLC (8U) +#define SMRR_MEM2_CANID (0x541U) +// signal: @SMRR_PosnActSeatBRHI_Val_ro +#define CANDB_SMRR_PosnActSeatBRHI_Val_ro_CovFactor (0.1) +#define CANDB_SMRR_PosnActSeatBRHI_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_SMRR_PosnActSeatBRHI_Val_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @SMRR_PosnActSeatHRHI_Val_ro +#define CANDB_SMRR_PosnActSeatHRHI_Val_ro_CovFactor (0.71) +#define CANDB_SMRR_PosnActSeatHRHI_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.71)) ) +#define CANDB_SMRR_PosnActSeatHRHI_Val_ro_fromS(x) ( (((x) * (0.71)) + (0.0)) ) +// signal: @SMRR_PosnActSeatBRI_Val_ro +#define CANDB_SMRR_PosnActSeatBRI_Val_ro_CovFactor (0.1) +#define CANDB_SMRR_PosnActSeatBRI_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_SMRR_PosnActSeatBRI_Val_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) + +// Value tables for @SMRR_ActHeatBalance_Stat signal + +#ifndef SMRR_ActHeatBalance_Stat_SMRR_MEM2_Backrest_100_Cushion_00_3 +#define SMRR_ActHeatBalance_Stat_SMRR_MEM2_Backrest_100_Cushion_00_3 (7) +#endif + +#ifndef SMRR_ActHeatBalance_Stat_SMRR_MEM2_Backrest_100_Cushion_33_2 +#define SMRR_ActHeatBalance_Stat_SMRR_MEM2_Backrest_100_Cushion_33_2 (6) +#endif + +#ifndef SMRR_ActHeatBalance_Stat_SMRR_MEM2_Backrest_100_Cushion_67_1 +#define SMRR_ActHeatBalance_Stat_SMRR_MEM2_Backrest_100_Cushion_67_1 (5) +#endif + +#ifndef SMRR_ActHeatBalance_Stat_SMRR_MEM2_Backrest_100_Cushion_100_0 +#define SMRR_ActHeatBalance_Stat_SMRR_MEM2_Backrest_100_Cushion_100_0 (4) +#endif + +#ifndef SMRR_ActHeatBalance_Stat_SMRR_MEM2_Backrest_67_Cushion_100_1 +#define SMRR_ActHeatBalance_Stat_SMRR_MEM2_Backrest_67_Cushion_100_1 (3) +#endif + +#ifndef SMRR_ActHeatBalance_Stat_SMRR_MEM2_Backrest_33_Cushion_100_2 +#define SMRR_ActHeatBalance_Stat_SMRR_MEM2_Backrest_33_Cushion_100_2 (2) +#endif + +#ifndef SMRR_ActHeatBalance_Stat_SMRR_MEM2_No_action +#define SMRR_ActHeatBalance_Stat_SMRR_MEM2_No_action (0) +#endif + +#ifndef SMRR_ActHeatBalance_Stat_SMRR_MEM2_Backrest_00_Cushion_100_3 +#define SMRR_ActHeatBalance_Stat_SMRR_MEM2_Backrest_00_Cushion_100_3 (1) +#endif + + +// Value tables for @SMRR_ActVentBalance_Stat signal + +#ifndef SMRR_ActVentBalance_Stat_SMRR_MEM2_Backrest_100_Cushion_00_3 +#define SMRR_ActVentBalance_Stat_SMRR_MEM2_Backrest_100_Cushion_00_3 (7) +#endif + +#ifndef SMRR_ActVentBalance_Stat_SMRR_MEM2_Backrest_100_Cushion_33_2 +#define SMRR_ActVentBalance_Stat_SMRR_MEM2_Backrest_100_Cushion_33_2 (6) +#endif + +#ifndef SMRR_ActVentBalance_Stat_SMRR_MEM2_Backrest_100_Cushion_67_1 +#define SMRR_ActVentBalance_Stat_SMRR_MEM2_Backrest_100_Cushion_67_1 (5) +#endif + +#ifndef SMRR_ActVentBalance_Stat_SMRR_MEM2_Backrest_100_Cushion_100_0 +#define SMRR_ActVentBalance_Stat_SMRR_MEM2_Backrest_100_Cushion_100_0 (4) +#endif + +#ifndef SMRR_ActVentBalance_Stat_SMRR_MEM2_Backrest_67_Cushion_100_1 +#define SMRR_ActVentBalance_Stat_SMRR_MEM2_Backrest_67_Cushion_100_1 (3) +#endif + +#ifndef SMRR_ActVentBalance_Stat_SMRR_MEM2_Backrest_33_Cushion_100_2 +#define SMRR_ActVentBalance_Stat_SMRR_MEM2_Backrest_33_Cushion_100_2 (2) +#endif + +#ifndef SMRR_ActVentBalance_Stat_SMRR_MEM2_No_action +#define SMRR_ActVentBalance_Stat_SMRR_MEM2_No_action (0) +#endif + +#ifndef SMRR_ActVentBalance_Stat_SMRR_MEM2_Backrest_00_Cushion_100_3 +#define SMRR_ActVentBalance_Stat_SMRR_MEM2_Backrest_00_Cushion_100_3 (1) +#endif + +// signal: @SMRR_PosnPrsnSeatCS_Val_ro +#define CANDB_SMRR_PosnPrsnSeatCS_Val_ro_CovFactor (0.394) +#define CANDB_SMRR_PosnPrsnSeatCS_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.394)) ) +#define CANDB_SMRR_PosnPrsnSeatCS_Val_ro_fromS(x) ( (((x) * (0.394)) + (0.0)) ) +// signal: @SMRR_PosnPrsnSeatLSH_Val_ro +#define CANDB_SMRR_PosnPrsnSeatLSH_Val_ro_CovFactor (0.394) +#define CANDB_SMRR_PosnPrsnSeatLSH_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.394)) ) +#define CANDB_SMRR_PosnPrsnSeatLSH_Val_ro_fromS(x) ( (((x) * (0.394)) + (0.0)) ) +// signal: @SMRR_PosnPrsnSeatLSD_Val_ro +#define CANDB_SMRR_PosnPrsnSeatLSD_Val_ro_CovFactor (0.394) +#define CANDB_SMRR_PosnPrsnSeatLSD_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.394)) ) +#define CANDB_SMRR_PosnPrsnSeatLSD_Val_ro_fromS(x) ( (((x) * (0.394)) + (0.0)) ) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // SMRR current seat back rest head inclination position. + uint8_t SMRR_PosnActSeatBRHI_Val_ro; // Bits= 8 Factor= 0.1 Unit:'�' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMRR_PosnActSeatBRHI_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMRR current seat head rest height inclination position. + uint8_t SMRR_PosnActSeatHRHI_Val_ro; // Bits= 8 Factor= 0.71 Unit:'�' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMRR_PosnActSeatHRHI_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMRR current seat back rest inclination position. + uint8_t SMRR_PosnActSeatBRI_Val_ro; // Bits= 8 Factor= 0.1 Unit:'�' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMRR_PosnActSeatBRI_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMRR current seat heat balance + // 7 : "Backrest 100%, Cushion 00%: 3" + // 6 : "Backrest 100%, Cushion 33%: 2" + // 5 : "Backrest 100%, Cushion 67%: 1" + // 4 : "Backrest 100%, Cushion 100%: 0" + // 3 : "Backrest 67%, Cushion 100%: -1" + // 2 : "Backrest 33%, Cushion 100%: -2" + // 0 : "No action" + // 1 : "Backrest 00%, Cushion 100%: -3" + uint8_t SMRR_ActHeatBalance_Stat : 3; // Bits= 3 + + // SMRR current seat ventilation balance + // 7 : "Backrest 100%, Cushion 00%: 3" + // 6 : "Backrest 100%, Cushion 33%: 2" + // 5 : "Backrest 100%, Cushion 67%: 1" + // 4 : "Backrest 100%, Cushion 100%: 0" + // 3 : "Backrest 67%, Cushion 100%: -1" + // 2 : "Backrest 33%, Cushion 100%: -2" + // 0 : "No action" + // 1 : "Backrest 00%, Cushion 100%: -3" + uint8_t SMRR_ActVentBalance_Stat : 3; // Bits= 3 + + // SMRR current seat cushion support position + uint8_t SMRR_PosnPrsnSeatCS_Val_ro; // Bits= 8 Factor= 0.394 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMRR_PosnPrsnSeatCS_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMRR current seat longitudinal position + uint8_t SMRR_PosnPrsnSeatLSH_Val_ro; // Bits= 8 Factor= 0.394 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMRR_PosnPrsnSeatLSH_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMRR current seat surface longitudinal position + uint8_t SMRR_PosnPrsnSeatLSD_Val_ro; // Bits= 8 Factor= 0.394 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMRR_PosnPrsnSeatLSD_Val_phys; +#endif // CANDB_USE_SIGFLOAT + +#else + + // SMRR current seat back rest head inclination position. + uint8_t SMRR_PosnActSeatBRHI_Val_ro; // Bits= 8 Factor= 0.1 Unit:'�' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMRR_PosnActSeatBRHI_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMRR current seat head rest height inclination position. + uint8_t SMRR_PosnActSeatHRHI_Val_ro; // Bits= 8 Factor= 0.71 Unit:'�' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMRR_PosnActSeatHRHI_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMRR current seat back rest inclination position. + uint8_t SMRR_PosnActSeatBRI_Val_ro; // Bits= 8 Factor= 0.1 Unit:'�' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMRR_PosnActSeatBRI_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMRR current seat heat balance + // 7 : "Backrest 100%, Cushion 00%: 3" + // 6 : "Backrest 100%, Cushion 33%: 2" + // 5 : "Backrest 100%, Cushion 67%: 1" + // 4 : "Backrest 100%, Cushion 100%: 0" + // 3 : "Backrest 67%, Cushion 100%: -1" + // 2 : "Backrest 33%, Cushion 100%: -2" + // 0 : "No action" + // 1 : "Backrest 00%, Cushion 100%: -3" + uint8_t SMRR_ActHeatBalance_Stat; // Bits= 3 + + // SMRR current seat ventilation balance + // 7 : "Backrest 100%, Cushion 00%: 3" + // 6 : "Backrest 100%, Cushion 33%: 2" + // 5 : "Backrest 100%, Cushion 67%: 1" + // 4 : "Backrest 100%, Cushion 100%: 0" + // 3 : "Backrest 67%, Cushion 100%: -1" + // 2 : "Backrest 33%, Cushion 100%: -2" + // 0 : "No action" + // 1 : "Backrest 00%, Cushion 100%: -3" + uint8_t SMRR_ActVentBalance_Stat; // Bits= 3 + + // SMRR current seat cushion support position + uint8_t SMRR_PosnPrsnSeatCS_Val_ro; // Bits= 8 Factor= 0.394 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMRR_PosnPrsnSeatCS_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMRR current seat longitudinal position + uint8_t SMRR_PosnPrsnSeatLSH_Val_ro; // Bits= 8 Factor= 0.394 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMRR_PosnPrsnSeatLSH_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // SMRR current seat surface longitudinal position + uint8_t SMRR_PosnPrsnSeatLSD_Val_ro; // Bits= 8 Factor= 0.394 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t SMRR_PosnPrsnSeatLSD_Val_phys; +#endif // CANDB_USE_SIGFLOAT + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} SMRR_MEM2_t; + +// def @BCM_MEM_SMRR2 CAN Message (1346 0x542) +#define BCM_MEM_SMRR2_IDE (0U) +#define BCM_MEM_SMRR2_DLC (8U) +#define BCM_MEM_SMRR2_CANID (0x542U) +// signal: @BCM_RRMemPosnActSeatBRHI_Val_ro +#define CANDB_BCM_RRMemPosnActSeatBRHI_Val_ro_CovFactor (0.1) +#define CANDB_BCM_RRMemPosnActSeatBRHI_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_BCM_RRMemPosnActSeatBRHI_Val_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @BCM_RRMemPosnActSeatHRHI_Val_ro +#define CANDB_BCM_RRMemPosnActSeatHRHI_Val_ro_CovFactor (0.71) +#define CANDB_BCM_RRMemPosnActSeatHRHI_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.71)) ) +#define CANDB_BCM_RRMemPosnActSeatHRHI_Val_ro_fromS(x) ( (((x) * (0.71)) + (0.0)) ) +// signal: @BCM_RRMemPosnActSeatBRI_Val_ro +#define CANDB_BCM_RRMemPosnActSeatBRI_Val_ro_CovFactor (0.1) +#define CANDB_BCM_RRMemPosnActSeatBRI_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_BCM_RRMemPosnActSeatBRI_Val_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) + +// Value tables for @BCM_RRMemActHeatBalance_Val signal + +#ifndef BCM_RRMemActHeatBalance_Val_BCM_MEM_SMRR2_Backrest_100_Cushion_0_3 +#define BCM_RRMemActHeatBalance_Val_BCM_MEM_SMRR2_Backrest_100_Cushion_0_3 (7) +#endif + +#ifndef BCM_RRMemActHeatBalance_Val_BCM_MEM_SMRR2_Backrest_100_Cushion_33_2 +#define BCM_RRMemActHeatBalance_Val_BCM_MEM_SMRR2_Backrest_100_Cushion_33_2 (6) +#endif + +#ifndef BCM_RRMemActHeatBalance_Val_BCM_MEM_SMRR2_Backrest_100_Cushion_67_1 +#define BCM_RRMemActHeatBalance_Val_BCM_MEM_SMRR2_Backrest_100_Cushion_67_1 (5) +#endif + +#ifndef BCM_RRMemActHeatBalance_Val_BCM_MEM_SMRR2_Backrest_100_Cushion_100_0 +#define BCM_RRMemActHeatBalance_Val_BCM_MEM_SMRR2_Backrest_100_Cushion_100_0 (4) +#endif + +#ifndef BCM_RRMemActHeatBalance_Val_BCM_MEM_SMRR2_Backrest_67_Cushion_100_1 +#define BCM_RRMemActHeatBalance_Val_BCM_MEM_SMRR2_Backrest_67_Cushion_100_1 (3) +#endif + +#ifndef BCM_RRMemActHeatBalance_Val_BCM_MEM_SMRR2_Backrest_33_Cushion_100_2 +#define BCM_RRMemActHeatBalance_Val_BCM_MEM_SMRR2_Backrest_33_Cushion_100_2 (2) +#endif + +#ifndef BCM_RRMemActHeatBalance_Val_BCM_MEM_SMRR2_Backrest_0_Cushion_100_3 +#define BCM_RRMemActHeatBalance_Val_BCM_MEM_SMRR2_Backrest_0_Cushion_100_3 (1) +#endif + +#ifndef BCM_RRMemActHeatBalance_Val_BCM_MEM_SMRR2_No_action +#define BCM_RRMemActHeatBalance_Val_BCM_MEM_SMRR2_No_action (0) +#endif + + +// Value tables for @BCM_RRMemActVentBalance_Val signal + +#ifndef BCM_RRMemActVentBalance_Val_BCM_MEM_SMRR2_Backrest_100_Cushion_0_3 +#define BCM_RRMemActVentBalance_Val_BCM_MEM_SMRR2_Backrest_100_Cushion_0_3 (7) +#endif + +#ifndef BCM_RRMemActVentBalance_Val_BCM_MEM_SMRR2_Backrest_100_Cushion_33_2 +#define BCM_RRMemActVentBalance_Val_BCM_MEM_SMRR2_Backrest_100_Cushion_33_2 (6) +#endif + +#ifndef BCM_RRMemActVentBalance_Val_BCM_MEM_SMRR2_Backrest_100_Cushion_67_1 +#define BCM_RRMemActVentBalance_Val_BCM_MEM_SMRR2_Backrest_100_Cushion_67_1 (5) +#endif + +#ifndef BCM_RRMemActVentBalance_Val_BCM_MEM_SMRR2_Backrest_100_Cushion_100_0 +#define BCM_RRMemActVentBalance_Val_BCM_MEM_SMRR2_Backrest_100_Cushion_100_0 (4) +#endif + +#ifndef BCM_RRMemActVentBalance_Val_BCM_MEM_SMRR2_Backrest_67_Cushion_100_1 +#define BCM_RRMemActVentBalance_Val_BCM_MEM_SMRR2_Backrest_67_Cushion_100_1 (3) +#endif + +#ifndef BCM_RRMemActVentBalance_Val_BCM_MEM_SMRR2_Backrest_33_Cushion_100_2 +#define BCM_RRMemActVentBalance_Val_BCM_MEM_SMRR2_Backrest_33_Cushion_100_2 (2) +#endif + +#ifndef BCM_RRMemActVentBalance_Val_BCM_MEM_SMRR2_Backrest_0_Cushion_100_3 +#define BCM_RRMemActVentBalance_Val_BCM_MEM_SMRR2_Backrest_0_Cushion_100_3 (1) +#endif + +#ifndef BCM_RRMemActVentBalance_Val_BCM_MEM_SMRR2_No_action +#define BCM_RRMemActVentBalance_Val_BCM_MEM_SMRR2_No_action (0) +#endif + +// signal: @BCM_RRMemPosnPrsnSeatCS_Val_ro +#define CANDB_BCM_RRMemPosnPrsnSeatCS_Val_ro_CovFactor (0.394) +#define CANDB_BCM_RRMemPosnPrsnSeatCS_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.394)) ) +#define CANDB_BCM_RRMemPosnPrsnSeatCS_Val_ro_fromS(x) ( (((x) * (0.394)) + (0.0)) ) +// signal: @BCM_RRMemPosnPrsnSeatLSH_Val_ro +#define CANDB_BCM_RRMemPosnPrsnSeatLSH_Val_ro_CovFactor (0.394) +#define CANDB_BCM_RRMemPosnPrsnSeatLSH_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.394)) ) +#define CANDB_BCM_RRMemPosnPrsnSeatLSH_Val_ro_fromS(x) ( (((x) * (0.394)) + (0.0)) ) +// signal: @BCM_RRMemPosnPrsnSeatLSD_Val_ro +#define CANDB_BCM_RRMemPosnPrsnSeatLSD_Val_ro_CovFactor (0.394) +#define CANDB_BCM_RRMemPosnPrsnSeatLSD_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.394)) ) +#define CANDB_BCM_RRMemPosnPrsnSeatLSD_Val_ro_fromS(x) ( (((x) * (0.394)) + (0.0)) ) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Stored for SMRR seat back rest head inclination position. + uint8_t BCM_RRMemPosnActSeatBRHI_Val_ro; // Bits= 8 Factor= 0.1 Unit:'�' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_RRMemPosnActSeatBRHI_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored for SMRR seat head rest height inclination position. + uint8_t BCM_RRMemPosnActSeatHRHI_Val_ro; // Bits= 8 Factor= 0.71 Unit:'�' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_RRMemPosnActSeatHRHI_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored for SMRR seat back rest inclination position. + uint8_t BCM_RRMemPosnActSeatBRI_Val_ro; // Bits= 8 Factor= 0.1 Unit:'�' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_RRMemPosnActSeatBRI_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored for SMRR seat heat balance + // 7 : "Backrest 100%, Cushion 0%: 3" + // 6 : "Backrest 100%, Cushion 33%: 2" + // 5 : "Backrest 100%, Cushion 67%: 1" + // 4 : "Backrest 100%, Cushion 100%: 0" + // 3 : "Backrest 67%, Cushion 100%: -1" + // 2 : "Backrest 33%, Cushion 100%: -2" + // 1 : "Backrest 0%, Cushion 100%: -3" + // 0 : "No action" + uint8_t BCM_RRMemActHeatBalance_Val : 3; // Bits= 3 + + // Stored for SMRR seat ventilation balance + // 7 : "Backrest 100%, Cushion 0%: 3" + // 6 : "Backrest 100%, Cushion 33%: 2" + // 5 : "Backrest 100%, Cushion 67%: 1" + // 4 : "Backrest 100%, Cushion 100%: 0" + // 3 : "Backrest 67%, Cushion 100%: -1" + // 2 : "Backrest 33%, Cushion 100%: -2" + // 1 : "Backrest 0%, Cushion 100%: -3" + // 0 : "No action" + uint8_t BCM_RRMemActVentBalance_Val : 3; // Bits= 3 + + // Stored for SMRR seat cushion support position + uint8_t BCM_RRMemPosnPrsnSeatCS_Val_ro; // Bits= 8 Factor= 0.394 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_RRMemPosnPrsnSeatCS_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored for SMRR seat Longitudinal Surface Height + uint8_t BCM_RRMemPosnPrsnSeatLSH_Val_ro; // Bits= 8 Factor= 0.394 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_RRMemPosnPrsnSeatLSH_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Srored for SMRR seat Longitudinal Surface Depth + uint8_t BCM_RRMemPosnPrsnSeatLSD_Val_ro; // Bits= 8 Factor= 0.394 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_RRMemPosnPrsnSeatLSD_Val_phys; +#endif // CANDB_USE_SIGFLOAT + +#else + + // Stored for SMRR seat back rest head inclination position. + uint8_t BCM_RRMemPosnActSeatBRHI_Val_ro; // Bits= 8 Factor= 0.1 Unit:'�' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_RRMemPosnActSeatBRHI_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored for SMRR seat head rest height inclination position. + uint8_t BCM_RRMemPosnActSeatHRHI_Val_ro; // Bits= 8 Factor= 0.71 Unit:'�' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_RRMemPosnActSeatHRHI_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored for SMRR seat back rest inclination position. + uint8_t BCM_RRMemPosnActSeatBRI_Val_ro; // Bits= 8 Factor= 0.1 Unit:'�' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_RRMemPosnActSeatBRI_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored for SMRR seat heat balance + // 7 : "Backrest 100%, Cushion 0%: 3" + // 6 : "Backrest 100%, Cushion 33%: 2" + // 5 : "Backrest 100%, Cushion 67%: 1" + // 4 : "Backrest 100%, Cushion 100%: 0" + // 3 : "Backrest 67%, Cushion 100%: -1" + // 2 : "Backrest 33%, Cushion 100%: -2" + // 1 : "Backrest 0%, Cushion 100%: -3" + // 0 : "No action" + uint8_t BCM_RRMemActHeatBalance_Val; // Bits= 3 + + // Stored for SMRR seat ventilation balance + // 7 : "Backrest 100%, Cushion 0%: 3" + // 6 : "Backrest 100%, Cushion 33%: 2" + // 5 : "Backrest 100%, Cushion 67%: 1" + // 4 : "Backrest 100%, Cushion 100%: 0" + // 3 : "Backrest 67%, Cushion 100%: -1" + // 2 : "Backrest 33%, Cushion 100%: -2" + // 1 : "Backrest 0%, Cushion 100%: -3" + // 0 : "No action" + uint8_t BCM_RRMemActVentBalance_Val; // Bits= 3 + + // Stored for SMRR seat cushion support position + uint8_t BCM_RRMemPosnPrsnSeatCS_Val_ro; // Bits= 8 Factor= 0.394 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_RRMemPosnPrsnSeatCS_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Stored for SMRR seat Longitudinal Surface Height + uint8_t BCM_RRMemPosnPrsnSeatLSH_Val_ro; // Bits= 8 Factor= 0.394 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_RRMemPosnPrsnSeatLSH_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Srored for SMRR seat Longitudinal Surface Depth + uint8_t BCM_RRMemPosnPrsnSeatLSD_Val_ro; // Bits= 8 Factor= 0.394 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_RRMemPosnPrsnSeatLSD_Val_phys; +#endif // CANDB_USE_SIGFLOAT + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} BCM_MEM_SMRR2_t; + +// def @FIU_SMFL_REQ_CTR_SEATS CAN Message (1363 0x553) +#define FIU_SMFL_REQ_CTR_SEATS_IDE (0U) +#define FIU_SMFL_REQ_CTR_SEATS_DLC (7U) +#define FIU_SMFL_REQ_CTR_SEATS_CANID (0x553U) + +// Value tables for @FIU_SMFL_SeatHeight_Req signal + +#ifndef FIU_SMFL_SeatHeight_Req_FIU_SMFL_REQ_CTR_SEATS_Reserved +#define FIU_SMFL_SeatHeight_Req_FIU_SMFL_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef FIU_SMFL_SeatHeight_Req_FIU_SMFL_REQ_CTR_SEATS_Decrease +#define FIU_SMFL_SeatHeight_Req_FIU_SMFL_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef FIU_SMFL_SeatHeight_Req_FIU_SMFL_REQ_CTR_SEATS_Increase +#define FIU_SMFL_SeatHeight_Req_FIU_SMFL_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef FIU_SMFL_SeatHeight_Req_FIU_SMFL_REQ_CTR_SEATS_No_action +#define FIU_SMFL_SeatHeight_Req_FIU_SMFL_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMFL_HeadRestHeight_Req signal + +#ifndef FIU_SMFL_HeadRestHeight_Req_FIU_SMFL_REQ_CTR_SEATS_Reserved +#define FIU_SMFL_HeadRestHeight_Req_FIU_SMFL_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef FIU_SMFL_HeadRestHeight_Req_FIU_SMFL_REQ_CTR_SEATS_Decrease +#define FIU_SMFL_HeadRestHeight_Req_FIU_SMFL_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef FIU_SMFL_HeadRestHeight_Req_FIU_SMFL_REQ_CTR_SEATS_Increase +#define FIU_SMFL_HeadRestHeight_Req_FIU_SMFL_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef FIU_SMFL_HeadRestHeight_Req_FIU_SMFL_REQ_CTR_SEATS_No_action +#define FIU_SMFL_HeadRestHeight_Req_FIU_SMFL_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMFL_SeatLongitunalReq signal + +#ifndef FIU_SMFL_SeatLongitunalReq_FIU_SMFL_REQ_CTR_SEATS_Reserved +#define FIU_SMFL_SeatLongitunalReq_FIU_SMFL_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef FIU_SMFL_SeatLongitunalReq_FIU_SMFL_REQ_CTR_SEATS_Decrease +#define FIU_SMFL_SeatLongitunalReq_FIU_SMFL_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef FIU_SMFL_SeatLongitunalReq_FIU_SMFL_REQ_CTR_SEATS_Increase +#define FIU_SMFL_SeatLongitunalReq_FIU_SMFL_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef FIU_SMFL_SeatLongitunalReq_FIU_SMFL_REQ_CTR_SEATS_No_action +#define FIU_SMFL_SeatLongitunalReq_FIU_SMFL_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMFL_SeatHeadRestInclin_Req signal + +#ifndef FIU_SMFL_SeatHeadRestInclin_Req_FIU_SMFL_REQ_CTR_SEATS_Reserved +#define FIU_SMFL_SeatHeadRestInclin_Req_FIU_SMFL_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef FIU_SMFL_SeatHeadRestInclin_Req_FIU_SMFL_REQ_CTR_SEATS_Decrease +#define FIU_SMFL_SeatHeadRestInclin_Req_FIU_SMFL_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef FIU_SMFL_SeatHeadRestInclin_Req_FIU_SMFL_REQ_CTR_SEATS_Increase +#define FIU_SMFL_SeatHeadRestInclin_Req_FIU_SMFL_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef FIU_SMFL_SeatHeadRestInclin_Req_FIU_SMFL_REQ_CTR_SEATS_No_action +#define FIU_SMFL_SeatHeadRestInclin_Req_FIU_SMFL_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMFL_SeatSurfaceLong_Req signal + +#ifndef FIU_SMFL_SeatSurfaceLong_Req_FIU_SMFL_REQ_CTR_SEATS_Reserved +#define FIU_SMFL_SeatSurfaceLong_Req_FIU_SMFL_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef FIU_SMFL_SeatSurfaceLong_Req_FIU_SMFL_REQ_CTR_SEATS_Decrease +#define FIU_SMFL_SeatSurfaceLong_Req_FIU_SMFL_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef FIU_SMFL_SeatSurfaceLong_Req_FIU_SMFL_REQ_CTR_SEATS_Increase +#define FIU_SMFL_SeatSurfaceLong_Req_FIU_SMFL_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef FIU_SMFL_SeatSurfaceLong_Req_FIU_SMFL_REQ_CTR_SEATS_No_action +#define FIU_SMFL_SeatSurfaceLong_Req_FIU_SMFL_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMFL_SeatLegSupportH_Req signal + +#ifndef FIU_SMFL_SeatLegSupportH_Req_FIU_SMFL_REQ_CTR_SEATS_Reserved +#define FIU_SMFL_SeatLegSupportH_Req_FIU_SMFL_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef FIU_SMFL_SeatLegSupportH_Req_FIU_SMFL_REQ_CTR_SEATS_Decrease +#define FIU_SMFL_SeatLegSupportH_Req_FIU_SMFL_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef FIU_SMFL_SeatLegSupportH_Req_FIU_SMFL_REQ_CTR_SEATS_Increase +#define FIU_SMFL_SeatLegSupportH_Req_FIU_SMFL_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef FIU_SMFL_SeatLegSupportH_Req_FIU_SMFL_REQ_CTR_SEATS_No_action +#define FIU_SMFL_SeatLegSupportH_Req_FIU_SMFL_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMFL_SeatLegSupportLong_Req signal + +#ifndef FIU_SMFL_SeatLegSupportLong_Req_FIU_SMFL_REQ_CTR_SEATS_Resertved +#define FIU_SMFL_SeatLegSupportLong_Req_FIU_SMFL_REQ_CTR_SEATS_Resertved (3) +#endif + +#ifndef FIU_SMFL_SeatLegSupportLong_Req_FIU_SMFL_REQ_CTR_SEATS_Decrease +#define FIU_SMFL_SeatLegSupportLong_Req_FIU_SMFL_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef FIU_SMFL_SeatLegSupportLong_Req_FIU_SMFL_REQ_CTR_SEATS_Increase +#define FIU_SMFL_SeatLegSupportLong_Req_FIU_SMFL_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef FIU_SMFL_SeatLegSupportLong_Req_FIU_SMFL_REQ_CTR_SEATS_No_action +#define FIU_SMFL_SeatLegSupportLong_Req_FIU_SMFL_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMFL_SeatInclination_Req signal + +#ifndef FIU_SMFL_SeatInclination_Req_FIU_SMFL_REQ_CTR_SEATS_Reserved +#define FIU_SMFL_SeatInclination_Req_FIU_SMFL_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef FIU_SMFL_SeatInclination_Req_FIU_SMFL_REQ_CTR_SEATS_Decrease +#define FIU_SMFL_SeatInclination_Req_FIU_SMFL_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef FIU_SMFL_SeatInclination_Req_FIU_SMFL_REQ_CTR_SEATS_Increase +#define FIU_SMFL_SeatInclination_Req_FIU_SMFL_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef FIU_SMFL_SeatInclination_Req_FIU_SMFL_REQ_CTR_SEATS_No_action +#define FIU_SMFL_SeatInclination_Req_FIU_SMFL_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMFL_SeatBackRestInc_Req signal + +#ifndef FIU_SMFL_SeatBackRestInc_Req_FIU_SMFL_REQ_CTR_SEATS_Reserved +#define FIU_SMFL_SeatBackRestInc_Req_FIU_SMFL_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef FIU_SMFL_SeatBackRestInc_Req_FIU_SMFL_REQ_CTR_SEATS_Decrease +#define FIU_SMFL_SeatBackRestInc_Req_FIU_SMFL_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef FIU_SMFL_SeatBackRestInc_Req_FIU_SMFL_REQ_CTR_SEATS_Increase +#define FIU_SMFL_SeatBackRestInc_Req_FIU_SMFL_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef FIU_SMFL_SeatBackRestInc_Req_FIU_SMFL_REQ_CTR_SEATS_No_action +#define FIU_SMFL_SeatBackRestInc_Req_FIU_SMFL_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMFL_SeatLumbarSupHeight_Req signal + +#ifndef FIU_SMFL_SeatLumbarSupHeight_Req_FIU_SMFL_REQ_CTR_SEATS_Reserved +#define FIU_SMFL_SeatLumbarSupHeight_Req_FIU_SMFL_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef FIU_SMFL_SeatLumbarSupHeight_Req_FIU_SMFL_REQ_CTR_SEATS_Decrease +#define FIU_SMFL_SeatLumbarSupHeight_Req_FIU_SMFL_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef FIU_SMFL_SeatLumbarSupHeight_Req_FIU_SMFL_REQ_CTR_SEATS_Increase +#define FIU_SMFL_SeatLumbarSupHeight_Req_FIU_SMFL_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef FIU_SMFL_SeatLumbarSupHeight_Req_FIU_SMFL_REQ_CTR_SEATS_No_action +#define FIU_SMFL_SeatLumbarSupHeight_Req_FIU_SMFL_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMFL_SeatBackRestHeadInc_Req signal + +#ifndef FIU_SMFL_SeatBackRestHeadInc_Req_FIU_SMFL_REQ_CTR_SEATS_Reserved +#define FIU_SMFL_SeatBackRestHeadInc_Req_FIU_SMFL_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef FIU_SMFL_SeatBackRestHeadInc_Req_FIU_SMFL_REQ_CTR_SEATS_Decrease +#define FIU_SMFL_SeatBackRestHeadInc_Req_FIU_SMFL_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef FIU_SMFL_SeatBackRestHeadInc_Req_FIU_SMFL_REQ_CTR_SEATS_Increase +#define FIU_SMFL_SeatBackRestHeadInc_Req_FIU_SMFL_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef FIU_SMFL_SeatBackRestHeadInc_Req_FIU_SMFL_REQ_CTR_SEATS_No_action +#define FIU_SMFL_SeatBackRestHeadInc_Req_FIU_SMFL_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMFL_SeatLumbarSupDepth_Req signal + +#ifndef FIU_SMFL_SeatLumbarSupDepth_Req_FIU_SMFL_REQ_CTR_SEATS_Reserved +#define FIU_SMFL_SeatLumbarSupDepth_Req_FIU_SMFL_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef FIU_SMFL_SeatLumbarSupDepth_Req_FIU_SMFL_REQ_CTR_SEATS_Decrease +#define FIU_SMFL_SeatLumbarSupDepth_Req_FIU_SMFL_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef FIU_SMFL_SeatLumbarSupDepth_Req_FIU_SMFL_REQ_CTR_SEATS_Increase +#define FIU_SMFL_SeatLumbarSupDepth_Req_FIU_SMFL_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef FIU_SMFL_SeatLumbarSupDepth_Req_FIU_SMFL_REQ_CTR_SEATS_No_action +#define FIU_SMFL_SeatLumbarSupDepth_Req_FIU_SMFL_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMFL_BackRestWidth_Req signal + +#ifndef FIU_SMFL_BackRestWidth_Req_FIU_SMFL_REQ_CTR_SEATS_Reserved +#define FIU_SMFL_BackRestWidth_Req_FIU_SMFL_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef FIU_SMFL_BackRestWidth_Req_FIU_SMFL_REQ_CTR_SEATS_Decrease +#define FIU_SMFL_BackRestWidth_Req_FIU_SMFL_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef FIU_SMFL_BackRestWidth_Req_FIU_SMFL_REQ_CTR_SEATS_Increase +#define FIU_SMFL_BackRestWidth_Req_FIU_SMFL_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef FIU_SMFL_BackRestWidth_Req_FIU_SMFL_REQ_CTR_SEATS_No_action +#define FIU_SMFL_BackRestWidth_Req_FIU_SMFL_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMFL_SeatCushionSupport_Req signal + +#ifndef FIU_SMFL_SeatCushionSupport_Req_FIU_SMFL_REQ_CTR_SEATS_Reserved +#define FIU_SMFL_SeatCushionSupport_Req_FIU_SMFL_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef FIU_SMFL_SeatCushionSupport_Req_FIU_SMFL_REQ_CTR_SEATS_Decrease +#define FIU_SMFL_SeatCushionSupport_Req_FIU_SMFL_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef FIU_SMFL_SeatCushionSupport_Req_FIU_SMFL_REQ_CTR_SEATS_Increase +#define FIU_SMFL_SeatCushionSupport_Req_FIU_SMFL_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef FIU_SMFL_SeatCushionSupport_Req_FIU_SMFL_REQ_CTR_SEATS_No_action +#define FIU_SMFL_SeatCushionSupport_Req_FIU_SMFL_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMFL_SeatMassage_Req signal + +#ifndef FIU_SMFL_SeatMassage_Req_FIU_SMFL_REQ_CTR_SEATS_Reserved +#define FIU_SMFL_SeatMassage_Req_FIU_SMFL_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef FIU_SMFL_SeatMassage_Req_FIU_SMFL_REQ_CTR_SEATS_Massage_ON +#define FIU_SMFL_SeatMassage_Req_FIU_SMFL_REQ_CTR_SEATS_Massage_ON (2) +#endif + +#ifndef FIU_SMFL_SeatMassage_Req_FIU_SMFL_REQ_CTR_SEATS_Massage_OFF +#define FIU_SMFL_SeatMassage_Req_FIU_SMFL_REQ_CTR_SEATS_Massage_OFF (1) +#endif + +#ifndef FIU_SMFL_SeatMassage_Req_FIU_SMFL_REQ_CTR_SEATS_No_action +#define FIU_SMFL_SeatMassage_Req_FIU_SMFL_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMFL_SeatVentilation_Req signal + +#ifndef FIU_SMFL_SeatVentilation_Req_FIU_SMFL_REQ_CTR_SEATS_High_power +#define FIU_SMFL_SeatVentilation_Req_FIU_SMFL_REQ_CTR_SEATS_High_power (3) +#endif + +#ifndef FIU_SMFL_SeatVentilation_Req_FIU_SMFL_REQ_CTR_SEATS_Middle_power +#define FIU_SMFL_SeatVentilation_Req_FIU_SMFL_REQ_CTR_SEATS_Middle_power (2) +#endif + +#ifndef FIU_SMFL_SeatVentilation_Req_FIU_SMFL_REQ_CTR_SEATS_Low_power +#define FIU_SMFL_SeatVentilation_Req_FIU_SMFL_REQ_CTR_SEATS_Low_power (1) +#endif + +#ifndef FIU_SMFL_SeatVentilation_Req_FIU_SMFL_REQ_CTR_SEATS_Off +#define FIU_SMFL_SeatVentilation_Req_FIU_SMFL_REQ_CTR_SEATS_Off (0) +#endif + + +// Value tables for @FIU_SMFL_SeatVentBalance_Req signal + +#ifndef FIU_SMFL_SeatVentBalance_Req_FIU_SMFL_REQ_CTR_SEATS_Backrest_100_Cushion_00_3 +#define FIU_SMFL_SeatVentBalance_Req_FIU_SMFL_REQ_CTR_SEATS_Backrest_100_Cushion_00_3 (7) +#endif + +#ifndef FIU_SMFL_SeatVentBalance_Req_FIU_SMFL_REQ_CTR_SEATS_Backrest_100_Cushion_33_2 +#define FIU_SMFL_SeatVentBalance_Req_FIU_SMFL_REQ_CTR_SEATS_Backrest_100_Cushion_33_2 (6) +#endif + +#ifndef FIU_SMFL_SeatVentBalance_Req_FIU_SMFL_REQ_CTR_SEATS_Backrest_100_Cushion_67_1 +#define FIU_SMFL_SeatVentBalance_Req_FIU_SMFL_REQ_CTR_SEATS_Backrest_100_Cushion_67_1 (5) +#endif + +#ifndef FIU_SMFL_SeatVentBalance_Req_FIU_SMFL_REQ_CTR_SEATS_Backrest_100_Cushion_100_0 +#define FIU_SMFL_SeatVentBalance_Req_FIU_SMFL_REQ_CTR_SEATS_Backrest_100_Cushion_100_0 (4) +#endif + +#ifndef FIU_SMFL_SeatVentBalance_Req_FIU_SMFL_REQ_CTR_SEATS_Backrest_67_Cushion_100_1 +#define FIU_SMFL_SeatVentBalance_Req_FIU_SMFL_REQ_CTR_SEATS_Backrest_67_Cushion_100_1 (3) +#endif + +#ifndef FIU_SMFL_SeatVentBalance_Req_FIU_SMFL_REQ_CTR_SEATS_Backrest_33_Cushion_100_2 +#define FIU_SMFL_SeatVentBalance_Req_FIU_SMFL_REQ_CTR_SEATS_Backrest_33_Cushion_100_2 (2) +#endif + +#ifndef FIU_SMFL_SeatVentBalance_Req_FIU_SMFL_REQ_CTR_SEATS_Backrest_00_Cushion_100_3 +#define FIU_SMFL_SeatVentBalance_Req_FIU_SMFL_REQ_CTR_SEATS_Backrest_00_Cushion_100_3 (1) +#endif + +#ifndef FIU_SMFL_SeatVentBalance_Req_FIU_SMFL_REQ_CTR_SEATS_No_action +#define FIU_SMFL_SeatVentBalance_Req_FIU_SMFL_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMFL_SeatMassageIntence_Req signal + +#ifndef FIU_SMFL_SeatMassageIntence_Req_FIU_SMFL_REQ_CTR_SEATS_High_power +#define FIU_SMFL_SeatMassageIntence_Req_FIU_SMFL_REQ_CTR_SEATS_High_power (3) +#endif + +#ifndef FIU_SMFL_SeatMassageIntence_Req_FIU_SMFL_REQ_CTR_SEATS_Middle_power +#define FIU_SMFL_SeatMassageIntence_Req_FIU_SMFL_REQ_CTR_SEATS_Middle_power (2) +#endif + +#ifndef FIU_SMFL_SeatMassageIntence_Req_FIU_SMFL_REQ_CTR_SEATS_Low_power +#define FIU_SMFL_SeatMassageIntence_Req_FIU_SMFL_REQ_CTR_SEATS_Low_power (1) +#endif + +#ifndef FIU_SMFL_SeatMassageIntence_Req_FIU_SMFL_REQ_CTR_SEATS_No_action +#define FIU_SMFL_SeatMassageIntence_Req_FIU_SMFL_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMFL_SeatHeating_Req signal + +#ifndef FIU_SMFL_SeatHeating_Req_FIU_SMFL_REQ_CTR_SEATS_High_power +#define FIU_SMFL_SeatHeating_Req_FIU_SMFL_REQ_CTR_SEATS_High_power (3) +#endif + +#ifndef FIU_SMFL_SeatHeating_Req_FIU_SMFL_REQ_CTR_SEATS_Normal_power +#define FIU_SMFL_SeatHeating_Req_FIU_SMFL_REQ_CTR_SEATS_Normal_power (2) +#endif + +#ifndef FIU_SMFL_SeatHeating_Req_FIU_SMFL_REQ_CTR_SEATS_Low_power +#define FIU_SMFL_SeatHeating_Req_FIU_SMFL_REQ_CTR_SEATS_Low_power (1) +#endif + +#ifndef FIU_SMFL_SeatHeating_Req_FIU_SMFL_REQ_CTR_SEATS_Off +#define FIU_SMFL_SeatHeating_Req_FIU_SMFL_REQ_CTR_SEATS_Off (0) +#endif + + +// Value tables for @FIU_SMFL_ActiveSupport_Req signal + +#ifndef FIU_SMFL_ActiveSupport_Req_FIU_SMFL_REQ_CTR_SEATS_Active +#define FIU_SMFL_ActiveSupport_Req_FIU_SMFL_REQ_CTR_SEATS_Active (1) +#endif + +#ifndef FIU_SMFL_ActiveSupport_Req_FIU_SMFL_REQ_CTR_SEATS_Inactive +#define FIU_SMFL_ActiveSupport_Req_FIU_SMFL_REQ_CTR_SEATS_Inactive (0) +#endif + + +// Value tables for @FIU_SMFL_SeatHeatBalance_Req signal + +#ifndef FIU_SMFL_SeatHeatBalance_Req_FIU_SMFL_REQ_CTR_SEATS_Backrest_100_Cushion_00_3 +#define FIU_SMFL_SeatHeatBalance_Req_FIU_SMFL_REQ_CTR_SEATS_Backrest_100_Cushion_00_3 (7) +#endif + +#ifndef FIU_SMFL_SeatHeatBalance_Req_FIU_SMFL_REQ_CTR_SEATS_Backrest_100_Cushion_33_2 +#define FIU_SMFL_SeatHeatBalance_Req_FIU_SMFL_REQ_CTR_SEATS_Backrest_100_Cushion_33_2 (6) +#endif + +#ifndef FIU_SMFL_SeatHeatBalance_Req_FIU_SMFL_REQ_CTR_SEATS_Backrest_100_Cushion_67_1 +#define FIU_SMFL_SeatHeatBalance_Req_FIU_SMFL_REQ_CTR_SEATS_Backrest_100_Cushion_67_1 (5) +#endif + +#ifndef FIU_SMFL_SeatHeatBalance_Req_FIU_SMFL_REQ_CTR_SEATS_Backrest_100_Cushion_100_0 +#define FIU_SMFL_SeatHeatBalance_Req_FIU_SMFL_REQ_CTR_SEATS_Backrest_100_Cushion_100_0 (4) +#endif + +#ifndef FIU_SMFL_SeatHeatBalance_Req_FIU_SMFL_REQ_CTR_SEATS_Backrest_67_Cushion_100_1 +#define FIU_SMFL_SeatHeatBalance_Req_FIU_SMFL_REQ_CTR_SEATS_Backrest_67_Cushion_100_1 (3) +#endif + +#ifndef FIU_SMFL_SeatHeatBalance_Req_FIU_SMFL_REQ_CTR_SEATS_Backrest_33_Cushion_100_2 +#define FIU_SMFL_SeatHeatBalance_Req_FIU_SMFL_REQ_CTR_SEATS_Backrest_33_Cushion_100_2 (2) +#endif + +#ifndef FIU_SMFL_SeatHeatBalance_Req_FIU_SMFL_REQ_CTR_SEATS_Backrest_00_Cushion_100_3 +#define FIU_SMFL_SeatHeatBalance_Req_FIU_SMFL_REQ_CTR_SEATS_Backrest_00_Cushion_100_3 (1) +#endif + +#ifndef FIU_SMFL_SeatHeatBalance_Req_FIU_SMFL_REQ_CTR_SEATS_No_action +#define FIU_SMFL_SeatHeatBalance_Req_FIU_SMFL_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMFL_SeatMassageType_Req signal + +#ifndef FIU_SMFL_SeatMassageType_Req_FIU_SMFL_REQ_CTR_SEATS_Type_7_Velvet +#define FIU_SMFL_SeatMassageType_Req_FIU_SMFL_REQ_CTR_SEATS_Type_7_Velvet (7) +#endif + +#ifndef FIU_SMFL_SeatMassageType_Req_FIU_SMFL_REQ_CTR_SEATS_Type_6_Sonnet +#define FIU_SMFL_SeatMassageType_Req_FIU_SMFL_REQ_CTR_SEATS_Type_6_Sonnet (6) +#endif + +#ifndef FIU_SMFL_SeatMassageType_Req_FIU_SMFL_REQ_CTR_SEATS_Type_5_Quantum +#define FIU_SMFL_SeatMassageType_Req_FIU_SMFL_REQ_CTR_SEATS_Type_5_Quantum (5) +#endif + +#ifndef FIU_SMFL_SeatMassageType_Req_FIU_SMFL_REQ_CTR_SEATS_Type_4_Cashmere +#define FIU_SMFL_SeatMassageType_Req_FIU_SMFL_REQ_CTR_SEATS_Type_4_Cashmere (4) +#endif + +#ifndef FIU_SMFL_SeatMassageType_Req_FIU_SMFL_REQ_CTR_SEATS_Type_3_Harmony +#define FIU_SMFL_SeatMassageType_Req_FIU_SMFL_REQ_CTR_SEATS_Type_3_Harmony (3) +#endif + +#ifndef FIU_SMFL_SeatMassageType_Req_FIU_SMFL_REQ_CTR_SEATS_Type_2_Orbital +#define FIU_SMFL_SeatMassageType_Req_FIU_SMFL_REQ_CTR_SEATS_Type_2_Orbital (2) +#endif + +#ifndef FIU_SMFL_SeatMassageType_Req_FIU_SMFL_REQ_CTR_SEATS_Type_1_Insight +#define FIU_SMFL_SeatMassageType_Req_FIU_SMFL_REQ_CTR_SEATS_Type_1_Insight (1) +#endif + +#ifndef FIU_SMFL_SeatMassageType_Req_FIU_SMFL_REQ_CTR_SEATS_No_action +#define FIU_SMFL_SeatMassageType_Req_FIU_SMFL_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMFL_BackrestMassageType_Req signal + +#ifndef FIU_SMFL_BackrestMassageType_Req_FIU_SMFL_REQ_CTR_SEATS_Reserved +#define FIU_SMFL_BackrestMassageType_Req_FIU_SMFL_REQ_CTR_SEATS_Reserved (7) +#endif + +#ifndef FIU_SMFL_BackrestMassageType_Req_FIU_SMFL_REQ_CTR_SEATS_Reserved +#define FIU_SMFL_BackrestMassageType_Req_FIU_SMFL_REQ_CTR_SEATS_Reserved (6) +#endif + +#ifndef FIU_SMFL_BackrestMassageType_Req_FIU_SMFL_REQ_CTR_SEATS_Type_5_Elegy +#define FIU_SMFL_BackrestMassageType_Req_FIU_SMFL_REQ_CTR_SEATS_Type_5_Elegy (5) +#endif + +#ifndef FIU_SMFL_BackrestMassageType_Req_FIU_SMFL_REQ_CTR_SEATS_Type_4_Caprice +#define FIU_SMFL_BackrestMassageType_Req_FIU_SMFL_REQ_CTR_SEATS_Type_4_Caprice (4) +#endif + +#ifndef FIU_SMFL_BackrestMassageType_Req_FIU_SMFL_REQ_CTR_SEATS_Type_3_Pulse +#define FIU_SMFL_BackrestMassageType_Req_FIU_SMFL_REQ_CTR_SEATS_Type_3_Pulse (3) +#endif + +#ifndef FIU_SMFL_BackrestMassageType_Req_FIU_SMFL_REQ_CTR_SEATS_Type_2_Energy +#define FIU_SMFL_BackrestMassageType_Req_FIU_SMFL_REQ_CTR_SEATS_Type_2_Energy (2) +#endif + +#ifndef FIU_SMFL_BackrestMassageType_Req_FIU_SMFL_REQ_CTR_SEATS_Type_1_Synchrony +#define FIU_SMFL_BackrestMassageType_Req_FIU_SMFL_REQ_CTR_SEATS_Type_1_Synchrony (1) +#endif + +#ifndef FIU_SMFL_BackrestMassageType_Req_FIU_SMFL_REQ_CTR_SEATS_No_action +#define FIU_SMFL_BackrestMassageType_Req_FIU_SMFL_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMFL_ComfortMode_Req signal + +#ifndef FIU_SMFL_ComfortMode_Req_FIU_SMFL_REQ_CTR_SEATS_Active +#define FIU_SMFL_ComfortMode_Req_FIU_SMFL_REQ_CTR_SEATS_Active (1) +#endif + +#ifndef FIU_SMFL_ComfortMode_Req_FIU_SMFL_REQ_CTR_SEATS_Inactive +#define FIU_SMFL_ComfortMode_Req_FIU_SMFL_REQ_CTR_SEATS_Inactive (0) +#endif + + +// Value tables for @FIU_SMFL_ComfortScenario_Req signal + +#ifndef FIU_SMFL_ComfortScenario_Req_FIU_SMFL_REQ_CTR_SEATS_Type_3 +#define FIU_SMFL_ComfortScenario_Req_FIU_SMFL_REQ_CTR_SEATS_Type_3 (3) +#endif + +#ifndef FIU_SMFL_ComfortScenario_Req_FIU_SMFL_REQ_CTR_SEATS_Type_2 +#define FIU_SMFL_ComfortScenario_Req_FIU_SMFL_REQ_CTR_SEATS_Type_2 (2) +#endif + +#ifndef FIU_SMFL_ComfortScenario_Req_FIU_SMFL_REQ_CTR_SEATS_Type_1 +#define FIU_SMFL_ComfortScenario_Req_FIU_SMFL_REQ_CTR_SEATS_Type_1 (1) +#endif + +#ifndef FIU_SMFL_ComfortScenario_Req_FIU_SMFL_REQ_CTR_SEATS_No_action +#define FIU_SMFL_ComfortScenario_Req_FIU_SMFL_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMFL_CarpetHeat_Req signal + +#ifndef FIU_SMFL_CarpetHeat_Req_FIU_SMFL_REQ_CTR_SEATS_Active +#define FIU_SMFL_CarpetHeat_Req_FIU_SMFL_REQ_CTR_SEATS_Active (1) +#endif + +#ifndef FIU_SMFL_CarpetHeat_Req_FIU_SMFL_REQ_CTR_SEATS_Inactive +#define FIU_SMFL_CarpetHeat_Req_FIU_SMFL_REQ_CTR_SEATS_Inactive (0) +#endif + + +// Value tables for @FIU_SMFL_TimerMassage_Req signal + +#ifndef FIU_SMFL_TimerMassage_Req_FIU_SMFL_REQ_CTR_SEATS_Reseved +#define FIU_SMFL_TimerMassage_Req_FIU_SMFL_REQ_CTR_SEATS_Reseved (7) +#endif + +#ifndef FIU_SMFL_TimerMassage_Req_FIU_SMFL_REQ_CTR_SEATS__min +#define FIU_SMFL_TimerMassage_Req_FIU_SMFL_REQ_CTR_SEATS__min (6) +#endif + +#ifndef FIU_SMFL_TimerMassage_Req_FIU_SMFL_REQ_CTR_SEATS__min +#define FIU_SMFL_TimerMassage_Req_FIU_SMFL_REQ_CTR_SEATS__min (5) +#endif + +#ifndef FIU_SMFL_TimerMassage_Req_FIU_SMFL_REQ_CTR_SEATS__min +#define FIU_SMFL_TimerMassage_Req_FIU_SMFL_REQ_CTR_SEATS__min (4) +#endif + +#ifndef FIU_SMFL_TimerMassage_Req_FIU_SMFL_REQ_CTR_SEATS__min +#define FIU_SMFL_TimerMassage_Req_FIU_SMFL_REQ_CTR_SEATS__min (3) +#endif + +#ifndef FIU_SMFL_TimerMassage_Req_FIU_SMFL_REQ_CTR_SEATS__min +#define FIU_SMFL_TimerMassage_Req_FIU_SMFL_REQ_CTR_SEATS__min (2) +#endif + +#ifndef FIU_SMFL_TimerMassage_Req_FIU_SMFL_REQ_CTR_SEATS__min +#define FIU_SMFL_TimerMassage_Req_FIU_SMFL_REQ_CTR_SEATS__min (1) +#endif + +#ifndef FIU_SMFL_TimerMassage_Req_FIU_SMFL_REQ_CTR_SEATS_No_action +#define FIU_SMFL_TimerMassage_Req_FIU_SMFL_REQ_CTR_SEATS_No_action (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Signal for regulation Seat Height FL + // (FL seat base height regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMFL_SeatHeight_Req : 2; // Bits= 2 + + // Signal for regulation FL head rest height + // (FL headrest height regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMFL_HeadRestHeight_Req : 2; // Bits= 2 + + // Signal for regulation FL seat longitudinal + // (FL seat base longitudinal regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMFL_SeatLongitunalReq : 2; // Bits= 2 + + // Signal for regulation FL seat inclination + // (FL headrest depth regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMFL_SeatHeadRestInclin_Req : 2; // Bits= 2 + + // Signal for regulation FL seat surface longitudinal + // (FL seat pillow longitudinal regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMFL_SeatSurfaceLong_Req : 2; // Bits= 2 + + // Signal for regulation FL seat leg support height + // (FL seat leg support height regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMFL_SeatLegSupportH_Req : 2; // Bits= 2 + + // Signal for regulation FL seat leg support longitudinal + // (FL seat leg support longitudinal regulation request, RESERVE) + // 3 : "Resertved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMFL_SeatLegSupportLong_Req : 2; // Bits= 2 + + // Signal for regulation FL seat inclination + // (FL seat pillow inclination regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMFL_SeatInclination_Req : 2; // Bits= 2 + + // Signal for regulation FL seat backrest lnclination + // (FL backrest angle regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMFL_SeatBackRestInc_Req : 2; // Bits= 2 + + // Signal for regulation FL seat lumbar support height + // (FL backrest lumbar support height regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMFL_SeatLumbarSupHeight_Req : 2; // Bits= 2 + + // Signal for regulation FL seat backrest head inclination + // (FL backrest should support regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMFL_SeatBackRestHeadInc_Req : 2; // Bits= 2 + + // Signal for regulation FL seat lumbar support depth + // (FL backrest lumbar support depth regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMFL_SeatLumbarSupDepth_Req : 2; // Bits= 2 + + // Signal for regulation FL seat backrest width + // (FL backrest lateral support regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMFL_BackRestWidth_Req : 2; // Bits= 2 + + // Signal for regulation FL seat cushion support + // (FL seat cushion side lateral support regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMFL_SeatCushionSupport_Req : 2; // Bits= 2 + + // Signal for seat massage activation + // (FL seat massage request) + // 3 : "Reserved" + // 2 : "Massage ON" + // 1 : "Massage OFF" + // 0 : "No action" + uint8_t FIU_SMFL_SeatMassage_Req : 2; // Bits= 2 + + // Signal for ventilation activation mode + // (FL seat ventilation request) + // 3 : "High power" + // 2 : "Middle power" + // 1 : "Low power" + // 0 : "Off" + uint8_t FIU_SMFL_SeatVentilation_Req : 2; // Bits= 2 + + // Signal for ventilation balance mode + // (FL seat ventilation balance request) + // 7 : "Backrest 100%, Cushion 00%: 3" + // 6 : "Backrest 100%, Cushion 33%: 2" + // 5 : "Backrest 100%, Cushion 67%: 1" + // 4 : "Backrest 100%, Cushion 100%: 0" + // 3 : "Backrest 67%, Cushion 100%: -1" + // 2 : "Backrest 33%, Cushion 100%: -2" + // 1 : "Backrest 00%, Cushion 100%: -3" + // 0 : "No action" + uint8_t FIU_SMFL_SeatVentBalance_Req : 3; // Bits= 3 + + // Signal for seat massage intencity regulation + // (FL seat massage intencity request) + // 3 : "High power" + // 2 : "Middle power" + // 1 : "Low power" + // 0 : "No action" + uint8_t FIU_SMFL_SeatMassageIntence_Req : 2; // Bits= 2 + + // Signal for seat heating activation mode + // (FL seat heating request) + // 3 : "High power" + // 2 : "Normal power" + // 1 : "Low power" + // 0 : "Off" + uint8_t FIU_SMFL_SeatHeating_Req : 2; // Bits= 2 + + // Active lateral support request + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_SMFL_ActiveSupport_Req : 1; // Bits= 1 + + // Signal for seat heating balance + // (FL seat heating balance request) + // 7 : "Backrest 100%, Cushion 00%: 3" + // 6 : "Backrest 100%, Cushion 33%: 2" + // 5 : "Backrest 100%, Cushion 67%: 1" + // 4 : "Backrest 100%, Cushion 100%: 0" + // 3 : "Backrest 67%, Cushion 100%: -1" + // 2 : "Backrest 33%, Cushion 100%: -2" + // 1 : "Backrest 00%, Cushion 100%: -3" + // 0 : "No action" + uint8_t FIU_SMFL_SeatHeatBalance_Req : 3; // Bits= 3 + + // Signal for seat massage type (mode) + // (FL seat massage type request) + // 7 : "Type 7 (Velvet)" + // 6 : "Type 6 (Sonnet)" + // 5 : "Type 5 (Quantum)" + // 4 : "Type 4 (Cashmere)" + // 3 : "Type 3 (Harmony)" + // 2 : "Type 2 (Orbital)" + // 1 : "Type 1 (Insight)" + // 0 : "No action" + uint8_t FIU_SMFL_SeatMassageType_Req : 3; // Bits= 3 + + // Signal for backrest massage type (mode) + // (FL backrest massage type command) + // 7 : "Reserved" + // 6 : "Reserved" + // 5 : "Type 5 (Elegy)" + // 4 : "Type 4 (Caprice)" + // 3 : "Type 3 (Pulse)" + // 2 : "Type 2 (Energy)" + // 1 : "Type 1 (Synchrony)" + // 0 : "No action" + uint8_t FIU_SMFL_BackrestMassageType_Req : 3; // Bits= 3 + + // FL comfort mode request + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_SMFL_ComfortMode_Req : 1; // Bits= 1 + + // FL comfort mode scenario request + // 3 : "Type 3" + // 2 : "Type 2" + // 1 : "Type 1" + // 0 : "No action" + uint8_t FIU_SMFL_ComfortScenario_Req : 2; // Bits= 2 + + // FL carpet heating request + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_SMFL_CarpetHeat_Req : 1; // Bits= 1 + + // Signal for setting the massage timer + // 7 : "Reseved" + // 6 : "30 min" + // 5 : "25 min" + // 4 : "20 min" + // 3 : "15 min" + // 2 : "10 min" + // 1 : "5 min" + // 0 : "No action" + uint8_t FIU_SMFL_TimerMassage_Req : 3; // Bits= 3 + +#else + + // Signal for regulation Seat Height FL + // (FL seat base height regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMFL_SeatHeight_Req; // Bits= 2 + + // Signal for regulation FL head rest height + // (FL headrest height regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMFL_HeadRestHeight_Req; // Bits= 2 + + // Signal for regulation FL seat longitudinal + // (FL seat base longitudinal regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMFL_SeatLongitunalReq; // Bits= 2 + + // Signal for regulation FL seat inclination + // (FL headrest depth regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMFL_SeatHeadRestInclin_Req; // Bits= 2 + + // Signal for regulation FL seat surface longitudinal + // (FL seat pillow longitudinal regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMFL_SeatSurfaceLong_Req; // Bits= 2 + + // Signal for regulation FL seat leg support height + // (FL seat leg support height regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMFL_SeatLegSupportH_Req; // Bits= 2 + + // Signal for regulation FL seat leg support longitudinal + // (FL seat leg support longitudinal regulation request, RESERVE) + // 3 : "Resertved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMFL_SeatLegSupportLong_Req; // Bits= 2 + + // Signal for regulation FL seat inclination + // (FL seat pillow inclination regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMFL_SeatInclination_Req; // Bits= 2 + + // Signal for regulation FL seat backrest lnclination + // (FL backrest angle regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMFL_SeatBackRestInc_Req; // Bits= 2 + + // Signal for regulation FL seat lumbar support height + // (FL backrest lumbar support height regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMFL_SeatLumbarSupHeight_Req; // Bits= 2 + + // Signal for regulation FL seat backrest head inclination + // (FL backrest should support regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMFL_SeatBackRestHeadInc_Req; // Bits= 2 + + // Signal for regulation FL seat lumbar support depth + // (FL backrest lumbar support depth regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMFL_SeatLumbarSupDepth_Req; // Bits= 2 + + // Signal for regulation FL seat backrest width + // (FL backrest lateral support regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMFL_BackRestWidth_Req; // Bits= 2 + + // Signal for regulation FL seat cushion support + // (FL seat cushion side lateral support regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMFL_SeatCushionSupport_Req; // Bits= 2 + + // Signal for seat massage activation + // (FL seat massage request) + // 3 : "Reserved" + // 2 : "Massage ON" + // 1 : "Massage OFF" + // 0 : "No action" + uint8_t FIU_SMFL_SeatMassage_Req; // Bits= 2 + + // Signal for ventilation activation mode + // (FL seat ventilation request) + // 3 : "High power" + // 2 : "Middle power" + // 1 : "Low power" + // 0 : "Off" + uint8_t FIU_SMFL_SeatVentilation_Req; // Bits= 2 + + // Signal for ventilation balance mode + // (FL seat ventilation balance request) + // 7 : "Backrest 100%, Cushion 00%: 3" + // 6 : "Backrest 100%, Cushion 33%: 2" + // 5 : "Backrest 100%, Cushion 67%: 1" + // 4 : "Backrest 100%, Cushion 100%: 0" + // 3 : "Backrest 67%, Cushion 100%: -1" + // 2 : "Backrest 33%, Cushion 100%: -2" + // 1 : "Backrest 00%, Cushion 100%: -3" + // 0 : "No action" + uint8_t FIU_SMFL_SeatVentBalance_Req; // Bits= 3 + + // Signal for seat massage intencity regulation + // (FL seat massage intencity request) + // 3 : "High power" + // 2 : "Middle power" + // 1 : "Low power" + // 0 : "No action" + uint8_t FIU_SMFL_SeatMassageIntence_Req; // Bits= 2 + + // Signal for seat heating activation mode + // (FL seat heating request) + // 3 : "High power" + // 2 : "Normal power" + // 1 : "Low power" + // 0 : "Off" + uint8_t FIU_SMFL_SeatHeating_Req; // Bits= 2 + + // Active lateral support request + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_SMFL_ActiveSupport_Req; // Bits= 1 + + // Signal for seat heating balance + // (FL seat heating balance request) + // 7 : "Backrest 100%, Cushion 00%: 3" + // 6 : "Backrest 100%, Cushion 33%: 2" + // 5 : "Backrest 100%, Cushion 67%: 1" + // 4 : "Backrest 100%, Cushion 100%: 0" + // 3 : "Backrest 67%, Cushion 100%: -1" + // 2 : "Backrest 33%, Cushion 100%: -2" + // 1 : "Backrest 00%, Cushion 100%: -3" + // 0 : "No action" + uint8_t FIU_SMFL_SeatHeatBalance_Req; // Bits= 3 + + // Signal for seat massage type (mode) + // (FL seat massage type request) + // 7 : "Type 7 (Velvet)" + // 6 : "Type 6 (Sonnet)" + // 5 : "Type 5 (Quantum)" + // 4 : "Type 4 (Cashmere)" + // 3 : "Type 3 (Harmony)" + // 2 : "Type 2 (Orbital)" + // 1 : "Type 1 (Insight)" + // 0 : "No action" + uint8_t FIU_SMFL_SeatMassageType_Req; // Bits= 3 + + // Signal for backrest massage type (mode) + // (FL backrest massage type command) + // 7 : "Reserved" + // 6 : "Reserved" + // 5 : "Type 5 (Elegy)" + // 4 : "Type 4 (Caprice)" + // 3 : "Type 3 (Pulse)" + // 2 : "Type 2 (Energy)" + // 1 : "Type 1 (Synchrony)" + // 0 : "No action" + uint8_t FIU_SMFL_BackrestMassageType_Req; // Bits= 3 + + // FL comfort mode request + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_SMFL_ComfortMode_Req; // Bits= 1 + + // FL comfort mode scenario request + // 3 : "Type 3" + // 2 : "Type 2" + // 1 : "Type 1" + // 0 : "No action" + uint8_t FIU_SMFL_ComfortScenario_Req; // Bits= 2 + + // FL carpet heating request + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_SMFL_CarpetHeat_Req; // Bits= 1 + + // Signal for setting the massage timer + // 7 : "Reseved" + // 6 : "30 min" + // 5 : "25 min" + // 4 : "20 min" + // 3 : "15 min" + // 2 : "10 min" + // 1 : "5 min" + // 0 : "No action" + uint8_t FIU_SMFL_TimerMassage_Req; // Bits= 3 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} FIU_SMFL_REQ_CTR_SEATS_t; + +// def @FIU_SMRR_REQ_CTR_SEATS CAN Message (1364 0x554) +#define FIU_SMRR_REQ_CTR_SEATS_IDE (0U) +#define FIU_SMRR_REQ_CTR_SEATS_DLC (7U) +#define FIU_SMRR_REQ_CTR_SEATS_CANID (0x554U) + +// Value tables for @FIU_SMRR_SeatHeight_Req signal + +#ifndef FIU_SMRR_SeatHeight_Req_FIU_SMRR_REQ_CTR_SEATS_Reserved +#define FIU_SMRR_SeatHeight_Req_FIU_SMRR_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef FIU_SMRR_SeatHeight_Req_FIU_SMRR_REQ_CTR_SEATS_Decrease +#define FIU_SMRR_SeatHeight_Req_FIU_SMRR_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef FIU_SMRR_SeatHeight_Req_FIU_SMRR_REQ_CTR_SEATS_Increase +#define FIU_SMRR_SeatHeight_Req_FIU_SMRR_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef FIU_SMRR_SeatHeight_Req_FIU_SMRR_REQ_CTR_SEATS_No_action +#define FIU_SMRR_SeatHeight_Req_FIU_SMRR_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMRR_HeadRest_Height_Req signal + +#ifndef FIU_SMRR_HeadRest_Height_Req_FIU_SMRR_REQ_CTR_SEATS_Reserved +#define FIU_SMRR_HeadRest_Height_Req_FIU_SMRR_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef FIU_SMRR_HeadRest_Height_Req_FIU_SMRR_REQ_CTR_SEATS_Decrease +#define FIU_SMRR_HeadRest_Height_Req_FIU_SMRR_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef FIU_SMRR_HeadRest_Height_Req_FIU_SMRR_REQ_CTR_SEATS_Increase +#define FIU_SMRR_HeadRest_Height_Req_FIU_SMRR_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef FIU_SMRR_HeadRest_Height_Req_FIU_SMRR_REQ_CTR_SEATS_No_action +#define FIU_SMRR_HeadRest_Height_Req_FIU_SMRR_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMRR_SeatLongitunalReq signal + +#ifndef FIU_SMRR_SeatLongitunalReq_FIU_SMRR_REQ_CTR_SEATS_Reserved +#define FIU_SMRR_SeatLongitunalReq_FIU_SMRR_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef FIU_SMRR_SeatLongitunalReq_FIU_SMRR_REQ_CTR_SEATS_Decrease +#define FIU_SMRR_SeatLongitunalReq_FIU_SMRR_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef FIU_SMRR_SeatLongitunalReq_FIU_SMRR_REQ_CTR_SEATS_Increase +#define FIU_SMRR_SeatLongitunalReq_FIU_SMRR_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef FIU_SMRR_SeatLongitunalReq_FIU_SMRR_REQ_CTR_SEATS_No_action +#define FIU_SMRR_SeatLongitunalReq_FIU_SMRR_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMRR_SeatHeadRestInclin_Req signal + +#ifndef FIU_SMRR_SeatHeadRestInclin_Req_FIU_SMRR_REQ_CTR_SEATS_Reserved +#define FIU_SMRR_SeatHeadRestInclin_Req_FIU_SMRR_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef FIU_SMRR_SeatHeadRestInclin_Req_FIU_SMRR_REQ_CTR_SEATS_Decrease +#define FIU_SMRR_SeatHeadRestInclin_Req_FIU_SMRR_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef FIU_SMRR_SeatHeadRestInclin_Req_FIU_SMRR_REQ_CTR_SEATS_Increase +#define FIU_SMRR_SeatHeadRestInclin_Req_FIU_SMRR_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef FIU_SMRR_SeatHeadRestInclin_Req_FIU_SMRR_REQ_CTR_SEATS_No_action +#define FIU_SMRR_SeatHeadRestInclin_Req_FIU_SMRR_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMRR_SeatSurfaceLong_Req signal + +#ifndef FIU_SMRR_SeatSurfaceLong_Req_FIU_SMRR_REQ_CTR_SEATS_Reserved +#define FIU_SMRR_SeatSurfaceLong_Req_FIU_SMRR_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef FIU_SMRR_SeatSurfaceLong_Req_FIU_SMRR_REQ_CTR_SEATS_Decrease +#define FIU_SMRR_SeatSurfaceLong_Req_FIU_SMRR_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef FIU_SMRR_SeatSurfaceLong_Req_FIU_SMRR_REQ_CTR_SEATS_Increase +#define FIU_SMRR_SeatSurfaceLong_Req_FIU_SMRR_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef FIU_SMRR_SeatSurfaceLong_Req_FIU_SMRR_REQ_CTR_SEATS_No_action +#define FIU_SMRR_SeatSurfaceLong_Req_FIU_SMRR_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMRR_SeatLegSupportH_Req signal + +#ifndef FIU_SMRR_SeatLegSupportH_Req_FIU_SMRR_REQ_CTR_SEATS_Reserved +#define FIU_SMRR_SeatLegSupportH_Req_FIU_SMRR_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef FIU_SMRR_SeatLegSupportH_Req_FIU_SMRR_REQ_CTR_SEATS_Decrease +#define FIU_SMRR_SeatLegSupportH_Req_FIU_SMRR_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef FIU_SMRR_SeatLegSupportH_Req_FIU_SMRR_REQ_CTR_SEATS_Increase +#define FIU_SMRR_SeatLegSupportH_Req_FIU_SMRR_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef FIU_SMRR_SeatLegSupportH_Req_FIU_SMRR_REQ_CTR_SEATS_No_action +#define FIU_SMRR_SeatLegSupportH_Req_FIU_SMRR_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMRR_SeatLegSupportLong_Req signal + +#ifndef FIU_SMRR_SeatLegSupportLong_Req_FIU_SMRR_REQ_CTR_SEATS_Resertved +#define FIU_SMRR_SeatLegSupportLong_Req_FIU_SMRR_REQ_CTR_SEATS_Resertved (3) +#endif + +#ifndef FIU_SMRR_SeatLegSupportLong_Req_FIU_SMRR_REQ_CTR_SEATS_Decrease +#define FIU_SMRR_SeatLegSupportLong_Req_FIU_SMRR_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef FIU_SMRR_SeatLegSupportLong_Req_FIU_SMRR_REQ_CTR_SEATS_Increase +#define FIU_SMRR_SeatLegSupportLong_Req_FIU_SMRR_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef FIU_SMRR_SeatLegSupportLong_Req_FIU_SMRR_REQ_CTR_SEATS_No_action +#define FIU_SMRR_SeatLegSupportLong_Req_FIU_SMRR_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMRR_SeatInclination_Req signal + +#ifndef FIU_SMRR_SeatInclination_Req_FIU_SMRR_REQ_CTR_SEATS_Reserved +#define FIU_SMRR_SeatInclination_Req_FIU_SMRR_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef FIU_SMRR_SeatInclination_Req_FIU_SMRR_REQ_CTR_SEATS_Decrease +#define FIU_SMRR_SeatInclination_Req_FIU_SMRR_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef FIU_SMRR_SeatInclination_Req_FIU_SMRR_REQ_CTR_SEATS_Increase +#define FIU_SMRR_SeatInclination_Req_FIU_SMRR_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef FIU_SMRR_SeatInclination_Req_FIU_SMRR_REQ_CTR_SEATS_No_action +#define FIU_SMRR_SeatInclination_Req_FIU_SMRR_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMRR_SeatBackRestInc_Req signal + +#ifndef FIU_SMRR_SeatBackRestInc_Req_FIU_SMRR_REQ_CTR_SEATS_Reserved +#define FIU_SMRR_SeatBackRestInc_Req_FIU_SMRR_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef FIU_SMRR_SeatBackRestInc_Req_FIU_SMRR_REQ_CTR_SEATS_Decrease +#define FIU_SMRR_SeatBackRestInc_Req_FIU_SMRR_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef FIU_SMRR_SeatBackRestInc_Req_FIU_SMRR_REQ_CTR_SEATS_Increase +#define FIU_SMRR_SeatBackRestInc_Req_FIU_SMRR_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef FIU_SMRR_SeatBackRestInc_Req_FIU_SMRR_REQ_CTR_SEATS_No_action +#define FIU_SMRR_SeatBackRestInc_Req_FIU_SMRR_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMRR_SeatLumbarSupportH_Req signal + +#ifndef FIU_SMRR_SeatLumbarSupportH_Req_FIU_SMRR_REQ_CTR_SEATS_Reserved +#define FIU_SMRR_SeatLumbarSupportH_Req_FIU_SMRR_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef FIU_SMRR_SeatLumbarSupportH_Req_FIU_SMRR_REQ_CTR_SEATS_Decrease +#define FIU_SMRR_SeatLumbarSupportH_Req_FIU_SMRR_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef FIU_SMRR_SeatLumbarSupportH_Req_FIU_SMRR_REQ_CTR_SEATS_Increase +#define FIU_SMRR_SeatLumbarSupportH_Req_FIU_SMRR_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef FIU_SMRR_SeatLumbarSupportH_Req_FIU_SMRR_REQ_CTR_SEATS_No_action +#define FIU_SMRR_SeatLumbarSupportH_Req_FIU_SMRR_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMRR_SeatBackRestHeadInc_Req signal + +#ifndef FIU_SMRR_SeatBackRestHeadInc_Req_FIU_SMRR_REQ_CTR_SEATS_Reserved +#define FIU_SMRR_SeatBackRestHeadInc_Req_FIU_SMRR_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef FIU_SMRR_SeatBackRestHeadInc_Req_FIU_SMRR_REQ_CTR_SEATS_Decrease +#define FIU_SMRR_SeatBackRestHeadInc_Req_FIU_SMRR_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef FIU_SMRR_SeatBackRestHeadInc_Req_FIU_SMRR_REQ_CTR_SEATS_Increase +#define FIU_SMRR_SeatBackRestHeadInc_Req_FIU_SMRR_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef FIU_SMRR_SeatBackRestHeadInc_Req_FIU_SMRR_REQ_CTR_SEATS_No_action +#define FIU_SMRR_SeatBackRestHeadInc_Req_FIU_SMRR_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMRR_SeatLumbarSupDepth_Req signal + +#ifndef FIU_SMRR_SeatLumbarSupDepth_Req_FIU_SMRR_REQ_CTR_SEATS_Reserved +#define FIU_SMRR_SeatLumbarSupDepth_Req_FIU_SMRR_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef FIU_SMRR_SeatLumbarSupDepth_Req_FIU_SMRR_REQ_CTR_SEATS_Decrease +#define FIU_SMRR_SeatLumbarSupDepth_Req_FIU_SMRR_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef FIU_SMRR_SeatLumbarSupDepth_Req_FIU_SMRR_REQ_CTR_SEATS_Increase +#define FIU_SMRR_SeatLumbarSupDepth_Req_FIU_SMRR_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef FIU_SMRR_SeatLumbarSupDepth_Req_FIU_SMRR_REQ_CTR_SEATS_No_action +#define FIU_SMRR_SeatLumbarSupDepth_Req_FIU_SMRR_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMRR_BackRestWidth_Req signal + +#ifndef FIU_SMRR_BackRestWidth_Req_FIU_SMRR_REQ_CTR_SEATS_Reserved +#define FIU_SMRR_BackRestWidth_Req_FIU_SMRR_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef FIU_SMRR_BackRestWidth_Req_FIU_SMRR_REQ_CTR_SEATS_Decrease +#define FIU_SMRR_BackRestWidth_Req_FIU_SMRR_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef FIU_SMRR_BackRestWidth_Req_FIU_SMRR_REQ_CTR_SEATS_Increase +#define FIU_SMRR_BackRestWidth_Req_FIU_SMRR_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef FIU_SMRR_BackRestWidth_Req_FIU_SMRR_REQ_CTR_SEATS_No_action +#define FIU_SMRR_BackRestWidth_Req_FIU_SMRR_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMRR_SeatCushionSupport_Req signal + +#ifndef FIU_SMRR_SeatCushionSupport_Req_FIU_SMRR_REQ_CTR_SEATS_Reserved +#define FIU_SMRR_SeatCushionSupport_Req_FIU_SMRR_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef FIU_SMRR_SeatCushionSupport_Req_FIU_SMRR_REQ_CTR_SEATS_Decrease +#define FIU_SMRR_SeatCushionSupport_Req_FIU_SMRR_REQ_CTR_SEATS_Decrease (2) +#endif + +#ifndef FIU_SMRR_SeatCushionSupport_Req_FIU_SMRR_REQ_CTR_SEATS_Increase +#define FIU_SMRR_SeatCushionSupport_Req_FIU_SMRR_REQ_CTR_SEATS_Increase (1) +#endif + +#ifndef FIU_SMRR_SeatCushionSupport_Req_FIU_SMRR_REQ_CTR_SEATS_No_action +#define FIU_SMRR_SeatCushionSupport_Req_FIU_SMRR_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMRR_SeatMassage_Req signal + +#ifndef FIU_SMRR_SeatMassage_Req_FIU_SMRR_REQ_CTR_SEATS_Reserved +#define FIU_SMRR_SeatMassage_Req_FIU_SMRR_REQ_CTR_SEATS_Reserved (3) +#endif + +#ifndef FIU_SMRR_SeatMassage_Req_FIU_SMRR_REQ_CTR_SEATS_Massage_ON +#define FIU_SMRR_SeatMassage_Req_FIU_SMRR_REQ_CTR_SEATS_Massage_ON (2) +#endif + +#ifndef FIU_SMRR_SeatMassage_Req_FIU_SMRR_REQ_CTR_SEATS_Massage_OFF +#define FIU_SMRR_SeatMassage_Req_FIU_SMRR_REQ_CTR_SEATS_Massage_OFF (1) +#endif + +#ifndef FIU_SMRR_SeatMassage_Req_FIU_SMRR_REQ_CTR_SEATS_No_action +#define FIU_SMRR_SeatMassage_Req_FIU_SMRR_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMRR_SeatVentilation_Req signal + +#ifndef FIU_SMRR_SeatVentilation_Req_FIU_SMRR_REQ_CTR_SEATS_High_power +#define FIU_SMRR_SeatVentilation_Req_FIU_SMRR_REQ_CTR_SEATS_High_power (3) +#endif + +#ifndef FIU_SMRR_SeatVentilation_Req_FIU_SMRR_REQ_CTR_SEATS_Middle_power +#define FIU_SMRR_SeatVentilation_Req_FIU_SMRR_REQ_CTR_SEATS_Middle_power (2) +#endif + +#ifndef FIU_SMRR_SeatVentilation_Req_FIU_SMRR_REQ_CTR_SEATS_Low_power +#define FIU_SMRR_SeatVentilation_Req_FIU_SMRR_REQ_CTR_SEATS_Low_power (1) +#endif + +#ifndef FIU_SMRR_SeatVentilation_Req_FIU_SMRR_REQ_CTR_SEATS_Off +#define FIU_SMRR_SeatVentilation_Req_FIU_SMRR_REQ_CTR_SEATS_Off (0) +#endif + + +// Value tables for @FIU_SMRR_SeatVentBalance_Req signal + +#ifndef FIU_SMRR_SeatVentBalance_Req_FIU_SMRR_REQ_CTR_SEATS_Backrest_100_Cushion_00_3 +#define FIU_SMRR_SeatVentBalance_Req_FIU_SMRR_REQ_CTR_SEATS_Backrest_100_Cushion_00_3 (7) +#endif + +#ifndef FIU_SMRR_SeatVentBalance_Req_FIU_SMRR_REQ_CTR_SEATS_Backrest_100_Cushion_33_2 +#define FIU_SMRR_SeatVentBalance_Req_FIU_SMRR_REQ_CTR_SEATS_Backrest_100_Cushion_33_2 (6) +#endif + +#ifndef FIU_SMRR_SeatVentBalance_Req_FIU_SMRR_REQ_CTR_SEATS_Backrest_100_Cushion_67_1 +#define FIU_SMRR_SeatVentBalance_Req_FIU_SMRR_REQ_CTR_SEATS_Backrest_100_Cushion_67_1 (5) +#endif + +#ifndef FIU_SMRR_SeatVentBalance_Req_FIU_SMRR_REQ_CTR_SEATS_Backrest_100_Cushion_100_0 +#define FIU_SMRR_SeatVentBalance_Req_FIU_SMRR_REQ_CTR_SEATS_Backrest_100_Cushion_100_0 (4) +#endif + +#ifndef FIU_SMRR_SeatVentBalance_Req_FIU_SMRR_REQ_CTR_SEATS_Backrest_67_Cushion_100_1 +#define FIU_SMRR_SeatVentBalance_Req_FIU_SMRR_REQ_CTR_SEATS_Backrest_67_Cushion_100_1 (3) +#endif + +#ifndef FIU_SMRR_SeatVentBalance_Req_FIU_SMRR_REQ_CTR_SEATS_Backrest_33_Cushion_100_2 +#define FIU_SMRR_SeatVentBalance_Req_FIU_SMRR_REQ_CTR_SEATS_Backrest_33_Cushion_100_2 (2) +#endif + +#ifndef FIU_SMRR_SeatVentBalance_Req_FIU_SMRR_REQ_CTR_SEATS_Backrest_00_Cushion_100_3 +#define FIU_SMRR_SeatVentBalance_Req_FIU_SMRR_REQ_CTR_SEATS_Backrest_00_Cushion_100_3 (1) +#endif + +#ifndef FIU_SMRR_SeatVentBalance_Req_FIU_SMRR_REQ_CTR_SEATS_No_action +#define FIU_SMRR_SeatVentBalance_Req_FIU_SMRR_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMRR_SeatMassageIntence_Req signal + +#ifndef FIU_SMRR_SeatMassageIntence_Req_FIU_SMRR_REQ_CTR_SEATS_High_power +#define FIU_SMRR_SeatMassageIntence_Req_FIU_SMRR_REQ_CTR_SEATS_High_power (3) +#endif + +#ifndef FIU_SMRR_SeatMassageIntence_Req_FIU_SMRR_REQ_CTR_SEATS_Middle_power +#define FIU_SMRR_SeatMassageIntence_Req_FIU_SMRR_REQ_CTR_SEATS_Middle_power (2) +#endif + +#ifndef FIU_SMRR_SeatMassageIntence_Req_FIU_SMRR_REQ_CTR_SEATS_Low_power +#define FIU_SMRR_SeatMassageIntence_Req_FIU_SMRR_REQ_CTR_SEATS_Low_power (1) +#endif + +#ifndef FIU_SMRR_SeatMassageIntence_Req_FIU_SMRR_REQ_CTR_SEATS_No_action +#define FIU_SMRR_SeatMassageIntence_Req_FIU_SMRR_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMRR_SeatHeating_Req signal + +#ifndef FIU_SMRR_SeatHeating_Req_FIU_SMRR_REQ_CTR_SEATS_High_power +#define FIU_SMRR_SeatHeating_Req_FIU_SMRR_REQ_CTR_SEATS_High_power (3) +#endif + +#ifndef FIU_SMRR_SeatHeating_Req_FIU_SMRR_REQ_CTR_SEATS_Normal_power +#define FIU_SMRR_SeatHeating_Req_FIU_SMRR_REQ_CTR_SEATS_Normal_power (2) +#endif + +#ifndef FIU_SMRR_SeatHeating_Req_FIU_SMRR_REQ_CTR_SEATS_Low_power +#define FIU_SMRR_SeatHeating_Req_FIU_SMRR_REQ_CTR_SEATS_Low_power (1) +#endif + +#ifndef FIU_SMRR_SeatHeating_Req_FIU_SMRR_REQ_CTR_SEATS_Off +#define FIU_SMRR_SeatHeating_Req_FIU_SMRR_REQ_CTR_SEATS_Off (0) +#endif + + +// Value tables for @FIU_SMRR_ActiveSupport_Req signal + +#ifndef FIU_SMRR_ActiveSupport_Req_FIU_SMRR_REQ_CTR_SEATS_Active +#define FIU_SMRR_ActiveSupport_Req_FIU_SMRR_REQ_CTR_SEATS_Active (1) +#endif + +#ifndef FIU_SMRR_ActiveSupport_Req_FIU_SMRR_REQ_CTR_SEATS_Inactive +#define FIU_SMRR_ActiveSupport_Req_FIU_SMRR_REQ_CTR_SEATS_Inactive (0) +#endif + + +// Value tables for @FIU_SMRR_SeatHeatBalance_Req signal + +#ifndef FIU_SMRR_SeatHeatBalance_Req_FIU_SMRR_REQ_CTR_SEATS_Backrest_100_Cushion_00_3 +#define FIU_SMRR_SeatHeatBalance_Req_FIU_SMRR_REQ_CTR_SEATS_Backrest_100_Cushion_00_3 (7) +#endif + +#ifndef FIU_SMRR_SeatHeatBalance_Req_FIU_SMRR_REQ_CTR_SEATS_Backrest_100_Cushion_33_2 +#define FIU_SMRR_SeatHeatBalance_Req_FIU_SMRR_REQ_CTR_SEATS_Backrest_100_Cushion_33_2 (6) +#endif + +#ifndef FIU_SMRR_SeatHeatBalance_Req_FIU_SMRR_REQ_CTR_SEATS_Backrest_100_Cushion_67_1 +#define FIU_SMRR_SeatHeatBalance_Req_FIU_SMRR_REQ_CTR_SEATS_Backrest_100_Cushion_67_1 (5) +#endif + +#ifndef FIU_SMRR_SeatHeatBalance_Req_FIU_SMRR_REQ_CTR_SEATS_Backrest_100_Cushion_100_0 +#define FIU_SMRR_SeatHeatBalance_Req_FIU_SMRR_REQ_CTR_SEATS_Backrest_100_Cushion_100_0 (4) +#endif + +#ifndef FIU_SMRR_SeatHeatBalance_Req_FIU_SMRR_REQ_CTR_SEATS_Backrest_67_Cushion_100_1 +#define FIU_SMRR_SeatHeatBalance_Req_FIU_SMRR_REQ_CTR_SEATS_Backrest_67_Cushion_100_1 (3) +#endif + +#ifndef FIU_SMRR_SeatHeatBalance_Req_FIU_SMRR_REQ_CTR_SEATS_Backrest_33_Cushion_100_2 +#define FIU_SMRR_SeatHeatBalance_Req_FIU_SMRR_REQ_CTR_SEATS_Backrest_33_Cushion_100_2 (2) +#endif + +#ifndef FIU_SMRR_SeatHeatBalance_Req_FIU_SMRR_REQ_CTR_SEATS_Backrest_00_Cushion_100_3 +#define FIU_SMRR_SeatHeatBalance_Req_FIU_SMRR_REQ_CTR_SEATS_Backrest_00_Cushion_100_3 (1) +#endif + +#ifndef FIU_SMRR_SeatHeatBalance_Req_FIU_SMRR_REQ_CTR_SEATS_No_action +#define FIU_SMRR_SeatHeatBalance_Req_FIU_SMRR_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMRR_SeatMassageType_Req signal + +#ifndef FIU_SMRR_SeatMassageType_Req_FIU_SMRR_REQ_CTR_SEATS_Type_7_Velvet +#define FIU_SMRR_SeatMassageType_Req_FIU_SMRR_REQ_CTR_SEATS_Type_7_Velvet (7) +#endif + +#ifndef FIU_SMRR_SeatMassageType_Req_FIU_SMRR_REQ_CTR_SEATS_Type_6_Sonnet +#define FIU_SMRR_SeatMassageType_Req_FIU_SMRR_REQ_CTR_SEATS_Type_6_Sonnet (6) +#endif + +#ifndef FIU_SMRR_SeatMassageType_Req_FIU_SMRR_REQ_CTR_SEATS_Type_5_Quantum +#define FIU_SMRR_SeatMassageType_Req_FIU_SMRR_REQ_CTR_SEATS_Type_5_Quantum (5) +#endif + +#ifndef FIU_SMRR_SeatMassageType_Req_FIU_SMRR_REQ_CTR_SEATS_Type_4_Cashmere +#define FIU_SMRR_SeatMassageType_Req_FIU_SMRR_REQ_CTR_SEATS_Type_4_Cashmere (4) +#endif + +#ifndef FIU_SMRR_SeatMassageType_Req_FIU_SMRR_REQ_CTR_SEATS_Type_3_Harmony +#define FIU_SMRR_SeatMassageType_Req_FIU_SMRR_REQ_CTR_SEATS_Type_3_Harmony (3) +#endif + +#ifndef FIU_SMRR_SeatMassageType_Req_FIU_SMRR_REQ_CTR_SEATS_Type_2_Orbital +#define FIU_SMRR_SeatMassageType_Req_FIU_SMRR_REQ_CTR_SEATS_Type_2_Orbital (2) +#endif + +#ifndef FIU_SMRR_SeatMassageType_Req_FIU_SMRR_REQ_CTR_SEATS_Type_1_Insight +#define FIU_SMRR_SeatMassageType_Req_FIU_SMRR_REQ_CTR_SEATS_Type_1_Insight (1) +#endif + +#ifndef FIU_SMRR_SeatMassageType_Req_FIU_SMRR_REQ_CTR_SEATS_No_action +#define FIU_SMRR_SeatMassageType_Req_FIU_SMRR_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMRR_BackrestMassageType_Req signal + +#ifndef FIU_SMRR_BackrestMassageType_Req_FIU_SMRR_REQ_CTR_SEATS_Reserved +#define FIU_SMRR_BackrestMassageType_Req_FIU_SMRR_REQ_CTR_SEATS_Reserved (7) +#endif + +#ifndef FIU_SMRR_BackrestMassageType_Req_FIU_SMRR_REQ_CTR_SEATS_Reserved +#define FIU_SMRR_BackrestMassageType_Req_FIU_SMRR_REQ_CTR_SEATS_Reserved (6) +#endif + +#ifndef FIU_SMRR_BackrestMassageType_Req_FIU_SMRR_REQ_CTR_SEATS_Type_5_Elegy +#define FIU_SMRR_BackrestMassageType_Req_FIU_SMRR_REQ_CTR_SEATS_Type_5_Elegy (5) +#endif + +#ifndef FIU_SMRR_BackrestMassageType_Req_FIU_SMRR_REQ_CTR_SEATS_Type_4_Caprice +#define FIU_SMRR_BackrestMassageType_Req_FIU_SMRR_REQ_CTR_SEATS_Type_4_Caprice (4) +#endif + +#ifndef FIU_SMRR_BackrestMassageType_Req_FIU_SMRR_REQ_CTR_SEATS_Type_3_Pulse +#define FIU_SMRR_BackrestMassageType_Req_FIU_SMRR_REQ_CTR_SEATS_Type_3_Pulse (3) +#endif + +#ifndef FIU_SMRR_BackrestMassageType_Req_FIU_SMRR_REQ_CTR_SEATS_Type_2_Energy +#define FIU_SMRR_BackrestMassageType_Req_FIU_SMRR_REQ_CTR_SEATS_Type_2_Energy (2) +#endif + +#ifndef FIU_SMRR_BackrestMassageType_Req_FIU_SMRR_REQ_CTR_SEATS_Type_1_Synchrony +#define FIU_SMRR_BackrestMassageType_Req_FIU_SMRR_REQ_CTR_SEATS_Type_1_Synchrony (1) +#endif + +#ifndef FIU_SMRR_BackrestMassageType_Req_FIU_SMRR_REQ_CTR_SEATS_No_action +#define FIU_SMRR_BackrestMassageType_Req_FIU_SMRR_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMRR_ComfortMode_Req signal + +#ifndef FIU_SMRR_ComfortMode_Req_FIU_SMRR_REQ_CTR_SEATS_Active +#define FIU_SMRR_ComfortMode_Req_FIU_SMRR_REQ_CTR_SEATS_Active (1) +#endif + +#ifndef FIU_SMRR_ComfortMode_Req_FIU_SMRR_REQ_CTR_SEATS_Inactive +#define FIU_SMRR_ComfortMode_Req_FIU_SMRR_REQ_CTR_SEATS_Inactive (0) +#endif + + +// Value tables for @FIU_SMRR_ComfortScenario_Req signal + +#ifndef FIU_SMRR_ComfortScenario_Req_FIU_SMRR_REQ_CTR_SEATS_Type_3 +#define FIU_SMRR_ComfortScenario_Req_FIU_SMRR_REQ_CTR_SEATS_Type_3 (3) +#endif + +#ifndef FIU_SMRR_ComfortScenario_Req_FIU_SMRR_REQ_CTR_SEATS_Type_2 +#define FIU_SMRR_ComfortScenario_Req_FIU_SMRR_REQ_CTR_SEATS_Type_2 (2) +#endif + +#ifndef FIU_SMRR_ComfortScenario_Req_FIU_SMRR_REQ_CTR_SEATS_Type_1 +#define FIU_SMRR_ComfortScenario_Req_FIU_SMRR_REQ_CTR_SEATS_Type_1 (1) +#endif + +#ifndef FIU_SMRR_ComfortScenario_Req_FIU_SMRR_REQ_CTR_SEATS_No_action +#define FIU_SMRR_ComfortScenario_Req_FIU_SMRR_REQ_CTR_SEATS_No_action (0) +#endif + + +// Value tables for @FIU_SMRR_CarpetHeat_Req signal + +#ifndef FIU_SMRR_CarpetHeat_Req_FIU_SMRR_REQ_CTR_SEATS_Active +#define FIU_SMRR_CarpetHeat_Req_FIU_SMRR_REQ_CTR_SEATS_Active (1) +#endif + +#ifndef FIU_SMRR_CarpetHeat_Req_FIU_SMRR_REQ_CTR_SEATS_Inactive +#define FIU_SMRR_CarpetHeat_Req_FIU_SMRR_REQ_CTR_SEATS_Inactive (0) +#endif + + +// Value tables for @FIU_SMRR_TimerMassage_Req signal + +#ifndef FIU_SMRR_TimerMassage_Req_FIU_SMRR_REQ_CTR_SEATS_Reserved +#define FIU_SMRR_TimerMassage_Req_FIU_SMRR_REQ_CTR_SEATS_Reserved (7) +#endif + +#ifndef FIU_SMRR_TimerMassage_Req_FIU_SMRR_REQ_CTR_SEATS__min +#define FIU_SMRR_TimerMassage_Req_FIU_SMRR_REQ_CTR_SEATS__min (6) +#endif + +#ifndef FIU_SMRR_TimerMassage_Req_FIU_SMRR_REQ_CTR_SEATS__min +#define FIU_SMRR_TimerMassage_Req_FIU_SMRR_REQ_CTR_SEATS__min (5) +#endif + +#ifndef FIU_SMRR_TimerMassage_Req_FIU_SMRR_REQ_CTR_SEATS__min +#define FIU_SMRR_TimerMassage_Req_FIU_SMRR_REQ_CTR_SEATS__min (4) +#endif + +#ifndef FIU_SMRR_TimerMassage_Req_FIU_SMRR_REQ_CTR_SEATS__min +#define FIU_SMRR_TimerMassage_Req_FIU_SMRR_REQ_CTR_SEATS__min (3) +#endif + +#ifndef FIU_SMRR_TimerMassage_Req_FIU_SMRR_REQ_CTR_SEATS__min +#define FIU_SMRR_TimerMassage_Req_FIU_SMRR_REQ_CTR_SEATS__min (2) +#endif + +#ifndef FIU_SMRR_TimerMassage_Req_FIU_SMRR_REQ_CTR_SEATS__min +#define FIU_SMRR_TimerMassage_Req_FIU_SMRR_REQ_CTR_SEATS__min (1) +#endif + +#ifndef FIU_SMRR_TimerMassage_Req_FIU_SMRR_REQ_CTR_SEATS_No_action +#define FIU_SMRR_TimerMassage_Req_FIU_SMRR_REQ_CTR_SEATS_No_action (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Signal for regulation Seat Height RR + // (RR seat base height regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMRR_SeatHeight_Req : 2; // Bits= 2 + + // Signal for regulation RR head rest height + // (RR headrest height regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMRR_HeadRest_Height_Req : 2; // Bits= 2 + + // Signal for regulation RR seat longitudinal + // (RR seat base longitudinal regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMRR_SeatLongitunalReq : 2; // Bits= 2 + + // Signal for regulation RR seat inclination + // (RR headrest depth regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMRR_SeatHeadRestInclin_Req : 2; // Bits= 2 + + // Signal for regulation RR seat surface longitudinal + // (RR seat pillow longitudinal regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMRR_SeatSurfaceLong_Req : 2; // Bits= 2 + + // Signal for regulation RR seat leg support height + // (RR seat leg support height regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMRR_SeatLegSupportH_Req : 2; // Bits= 2 + + // Signal for regulation RR seat leg support longitudinal + // (RR seat leg support longitudinal regulation request, RESERVE) + // 3 : "Resertved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMRR_SeatLegSupportLong_Req : 2; // Bits= 2 + + // Signal for regulation RR seat inclination + // (RR seat pillow inclination regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMRR_SeatInclination_Req : 2; // Bits= 2 + + // Signal for regulation RR seat backrest lnclination + // (RR backrest angle regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMRR_SeatBackRestInc_Req : 2; // Bits= 2 + + // Signal for regulation RR seat lumbar support height + // (RR backrest lumbar support height regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMRR_SeatLumbarSupportH_Req : 2; // Bits= 2 + + // Signal for regulation RR seat backrest head inclination + // (RR backrest should support regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMRR_SeatBackRestHeadInc_Req : 2; // Bits= 2 + + // Signal for regulation RR seat lumbar support depth + // (RR backrest lumbar support depth regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMRR_SeatLumbarSupDepth_Req : 2; // Bits= 2 + + // Signal for regulation RR seat backrest width + // (RR backrest lateral support regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMRR_BackRestWidth_Req : 2; // Bits= 2 + + // Signal for regulation RR seat cushion support + // (RR seat cushion side lateral support regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMRR_SeatCushionSupport_Req : 2; // Bits= 2 + + // Signal for seat massage activation + // (RR seat massage request) + // 3 : "Reserved" + // 2 : "Massage ON" + // 1 : "Massage OFF" + // 0 : "No action" + uint8_t FIU_SMRR_SeatMassage_Req : 2; // Bits= 2 + + // Signal for ventilation activation mode + // (RR seat ventilation request) + // 3 : "High power" + // 2 : "Middle power" + // 1 : "Low power" + // 0 : "Off" + uint8_t FIU_SMRR_SeatVentilation_Req : 2; // Bits= 2 + + // Signal for ventilation balance mode + // (RR seat ventilation balance request) + // 7 : "Backrest 100%, Cushion 00%: 3" + // 6 : "Backrest 100%, Cushion 33%: 2" + // 5 : "Backrest 100%, Cushion 67%: 1" + // 4 : "Backrest 100%, Cushion 100%: 0" + // 3 : "Backrest 67%, Cushion 100%: -1" + // 2 : "Backrest 33%, Cushion 100%: -2" + // 1 : "Backrest 00%, Cushion 100%: -3" + // 0 : "No action" + uint8_t FIU_SMRR_SeatVentBalance_Req : 3; // Bits= 3 + + // Signal for seat massage intencity regulation + // (RR seat massage intencity request) + // 3 : "High power" + // 2 : "Middle power" + // 1 : "Low power" + // 0 : "No action" + uint8_t FIU_SMRR_SeatMassageIntence_Req : 2; // Bits= 2 + + // Signal for seat heating activation mode + // (RR seat heating request) + // 3 : "High power" + // 2 : "Normal power" + // 1 : "Low power" + // 0 : "Off" + uint8_t FIU_SMRR_SeatHeating_Req : 2; // Bits= 2 + + // Active lateral support request + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_SMRR_ActiveSupport_Req : 1; // Bits= 1 + + // Signal for seat heating balance + // (RR seat heating balance request) + // 7 : "Backrest 100%, Cushion 00%: 3" + // 6 : "Backrest 100%, Cushion 33%: 2" + // 5 : "Backrest 100%, Cushion 67%: 1" + // 4 : "Backrest 100%, Cushion 100%: 0" + // 3 : "Backrest 67%, Cushion 100%: -1" + // 2 : "Backrest 33%, Cushion 100%: -2" + // 1 : "Backrest 00%, Cushion 100%: -3" + // 0 : "No action" + uint8_t FIU_SMRR_SeatHeatBalance_Req : 3; // Bits= 3 + + // Signal for seat massage type (mode) + // (RR seat massage type request) + // 7 : "Type 7 (Velvet)" + // 6 : "Type 6 (Sonnet)" + // 5 : "Type 5 (Quantum)" + // 4 : "Type 4 (Cashmere)" + // 3 : "Type 3 (Harmony)" + // 2 : "Type 2 (Orbital)" + // 1 : "Type 1 (Insight)" + // 0 : "No action" + uint8_t FIU_SMRR_SeatMassageType_Req : 3; // Bits= 3 + + // Signal for backrest massage type (mode) + // (RR backrest massage type request) + // 7 : "Reserved" + // 6 : "Reserved" + // 5 : "Type 5 (Elegy)" + // 4 : "Type 4 (Caprice)" + // 3 : "Type 3 (Pulse)" + // 2 : "Type 2 (Energy)" + // 1 : "Type 1 (Synchrony)" + // 0 : "No action" + uint8_t FIU_SMRR_BackrestMassageType_Req : 3; // Bits= 3 + + // RR comfort mode request + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_SMRR_ComfortMode_Req : 1; // Bits= 1 + + // RR comfort mode scenario request + // 3 : "Type 3" + // 2 : "Type 2" + // 1 : "Type 1" + // 0 : "No action" + uint8_t FIU_SMRR_ComfortScenario_Req : 2; // Bits= 2 + + // RR carpet heating request + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_SMRR_CarpetHeat_Req : 1; // Bits= 1 + + // 7 : "Reserved" + // 6 : "30 min" + // 5 : "25 min" + // 4 : "20 min" + // 3 : "15 min" + // 2 : "10 min" + // 1 : "5 min" + // 0 : "No action" + uint8_t FIU_SMRR_TimerMassage_Req : 3; // Bits= 3 + +#else + + // Signal for regulation Seat Height RR + // (RR seat base height regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMRR_SeatHeight_Req; // Bits= 2 + + // Signal for regulation RR head rest height + // (RR headrest height regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMRR_HeadRest_Height_Req; // Bits= 2 + + // Signal for regulation RR seat longitudinal + // (RR seat base longitudinal regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMRR_SeatLongitunalReq; // Bits= 2 + + // Signal for regulation RR seat inclination + // (RR headrest depth regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMRR_SeatHeadRestInclin_Req; // Bits= 2 + + // Signal for regulation RR seat surface longitudinal + // (RR seat pillow longitudinal regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMRR_SeatSurfaceLong_Req; // Bits= 2 + + // Signal for regulation RR seat leg support height + // (RR seat leg support height regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMRR_SeatLegSupportH_Req; // Bits= 2 + + // Signal for regulation RR seat leg support longitudinal + // (RR seat leg support longitudinal regulation request, RESERVE) + // 3 : "Resertved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMRR_SeatLegSupportLong_Req; // Bits= 2 + + // Signal for regulation RR seat inclination + // (RR seat pillow inclination regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMRR_SeatInclination_Req; // Bits= 2 + + // Signal for regulation RR seat backrest lnclination + // (RR backrest angle regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMRR_SeatBackRestInc_Req; // Bits= 2 + + // Signal for regulation RR seat lumbar support height + // (RR backrest lumbar support height regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMRR_SeatLumbarSupportH_Req; // Bits= 2 + + // Signal for regulation RR seat backrest head inclination + // (RR backrest should support regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMRR_SeatBackRestHeadInc_Req; // Bits= 2 + + // Signal for regulation RR seat lumbar support depth + // (RR backrest lumbar support depth regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMRR_SeatLumbarSupDepth_Req; // Bits= 2 + + // Signal for regulation RR seat backrest width + // (RR backrest lateral support regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMRR_BackRestWidth_Req; // Bits= 2 + + // Signal for regulation RR seat cushion support + // (RR seat cushion side lateral support regulation request) + // 3 : "Reserved" + // 2 : "Decrease" + // 1 : "Increase" + // 0 : "No action" + uint8_t FIU_SMRR_SeatCushionSupport_Req; // Bits= 2 + + // Signal for seat massage activation + // (RR seat massage request) + // 3 : "Reserved" + // 2 : "Massage ON" + // 1 : "Massage OFF" + // 0 : "No action" + uint8_t FIU_SMRR_SeatMassage_Req; // Bits= 2 + + // Signal for ventilation activation mode + // (RR seat ventilation request) + // 3 : "High power" + // 2 : "Middle power" + // 1 : "Low power" + // 0 : "Off" + uint8_t FIU_SMRR_SeatVentilation_Req; // Bits= 2 + + // Signal for ventilation balance mode + // (RR seat ventilation balance request) + // 7 : "Backrest 100%, Cushion 00%: 3" + // 6 : "Backrest 100%, Cushion 33%: 2" + // 5 : "Backrest 100%, Cushion 67%: 1" + // 4 : "Backrest 100%, Cushion 100%: 0" + // 3 : "Backrest 67%, Cushion 100%: -1" + // 2 : "Backrest 33%, Cushion 100%: -2" + // 1 : "Backrest 00%, Cushion 100%: -3" + // 0 : "No action" + uint8_t FIU_SMRR_SeatVentBalance_Req; // Bits= 3 + + // Signal for seat massage intencity regulation + // (RR seat massage intencity request) + // 3 : "High power" + // 2 : "Middle power" + // 1 : "Low power" + // 0 : "No action" + uint8_t FIU_SMRR_SeatMassageIntence_Req; // Bits= 2 + + // Signal for seat heating activation mode + // (RR seat heating request) + // 3 : "High power" + // 2 : "Normal power" + // 1 : "Low power" + // 0 : "Off" + uint8_t FIU_SMRR_SeatHeating_Req; // Bits= 2 + + // Active lateral support request + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_SMRR_ActiveSupport_Req; // Bits= 1 + + // Signal for seat heating balance + // (RR seat heating balance request) + // 7 : "Backrest 100%, Cushion 00%: 3" + // 6 : "Backrest 100%, Cushion 33%: 2" + // 5 : "Backrest 100%, Cushion 67%: 1" + // 4 : "Backrest 100%, Cushion 100%: 0" + // 3 : "Backrest 67%, Cushion 100%: -1" + // 2 : "Backrest 33%, Cushion 100%: -2" + // 1 : "Backrest 00%, Cushion 100%: -3" + // 0 : "No action" + uint8_t FIU_SMRR_SeatHeatBalance_Req; // Bits= 3 + + // Signal for seat massage type (mode) + // (RR seat massage type request) + // 7 : "Type 7 (Velvet)" + // 6 : "Type 6 (Sonnet)" + // 5 : "Type 5 (Quantum)" + // 4 : "Type 4 (Cashmere)" + // 3 : "Type 3 (Harmony)" + // 2 : "Type 2 (Orbital)" + // 1 : "Type 1 (Insight)" + // 0 : "No action" + uint8_t FIU_SMRR_SeatMassageType_Req; // Bits= 3 + + // Signal for backrest massage type (mode) + // (RR backrest massage type request) + // 7 : "Reserved" + // 6 : "Reserved" + // 5 : "Type 5 (Elegy)" + // 4 : "Type 4 (Caprice)" + // 3 : "Type 3 (Pulse)" + // 2 : "Type 2 (Energy)" + // 1 : "Type 1 (Synchrony)" + // 0 : "No action" + uint8_t FIU_SMRR_BackrestMassageType_Req; // Bits= 3 + + // RR comfort mode request + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_SMRR_ComfortMode_Req; // Bits= 1 + + // RR comfort mode scenario request + // 3 : "Type 3" + // 2 : "Type 2" + // 1 : "Type 1" + // 0 : "No action" + uint8_t FIU_SMRR_ComfortScenario_Req; // Bits= 2 + + // RR carpet heating request + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_SMRR_CarpetHeat_Req; // Bits= 1 + + // 7 : "Reserved" + // 6 : "30 min" + // 5 : "25 min" + // 4 : "20 min" + // 3 : "15 min" + // 2 : "10 min" + // 1 : "5 min" + // 0 : "No action" + uint8_t FIU_SMRR_TimerMassage_Req; // Bits= 3 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} FIU_SMRR_REQ_CTR_SEATS_t; + +// def @FIU_CTRL_DW CAN Message (1415 0x587) +#define FIU_CTRL_DW_IDE (0U) +#define FIU_CTRL_DW_DLC (5U) +#define FIU_CTRL_DW_CANID (0x587U) + +// Value tables for @FIU_DWDisplayCntrl_Req signal + +#ifndef FIU_DWDisplayCntrl_Req_FIU_CTRL_DW_Reserved_ +#define FIU_DWDisplayCntrl_Req_FIU_CTRL_DW_Reserved_ (3) +#endif + +#ifndef FIU_DWDisplayCntrl_Req_FIU_CTRL_DW_Turn_off_display +#define FIU_DWDisplayCntrl_Req_FIU_CTRL_DW_Turn_off_display (2) +#endif + +#ifndef FIU_DWDisplayCntrl_Req_FIU_CTRL_DW_Turn_on_display +#define FIU_DWDisplayCntrl_Req_FIU_CTRL_DW_Turn_on_display (1) +#endif + +#ifndef FIU_DWDisplayCntrl_Req_FIU_CTRL_DW_No_operation +#define FIU_DWDisplayCntrl_Req_FIU_CTRL_DW_No_operation (0) +#endif + + +// Value tables for @FIU_DWGlassCntrl_Req signal + +#ifndef FIU_DWGlassCntrl_Req_FIU_CTRL_DW_Reserved +#define FIU_DWGlassCntrl_Req_FIU_CTRL_DW_Reserved (3) +#endif + +#ifndef FIU_DWGlassCntrl_Req_FIU_CTRL_DW_Glass_transparency_request +#define FIU_DWGlassCntrl_Req_FIU_CTRL_DW_Glass_transparency_request (2) +#endif + +#ifndef FIU_DWGlassCntrl_Req_FIU_CTRL_DW_Glass_nontransparency_request +#define FIU_DWGlassCntrl_Req_FIU_CTRL_DW_Glass_nontransparency_request (1) +#endif + +#ifndef FIU_DWGlassCntrl_Req_FIU_CTRL_DW_No_operation +#define FIU_DWGlassCntrl_Req_FIU_CTRL_DW_No_operation (0) +#endif + + +// Value tables for @FIU_DWDisplayMovCntrl_Req signal + +#ifndef FIU_DWDisplayMovCntrl_Req_FIU_CTRL_DW_Reserved_ +#define FIU_DWDisplayMovCntrl_Req_FIU_CTRL_DW_Reserved_ (3) +#endif + +#ifndef FIU_DWDisplayMovCntrl_Req_FIU_CTRL_DW_Display_down_reguest +#define FIU_DWDisplayMovCntrl_Req_FIU_CTRL_DW_Display_down_reguest (2) +#endif + +#ifndef FIU_DWDisplayMovCntrl_Req_FIU_CTRL_DW_Display_up_request +#define FIU_DWDisplayMovCntrl_Req_FIU_CTRL_DW_Display_up_request (1) +#endif + +#ifndef FIU_DWDisplayMovCntrl_Req_FIU_CTRL_DW_No_operation_ +#define FIU_DWDisplayMovCntrl_Req_FIU_CTRL_DW_No_operation_ (0) +#endif + + +// Value tables for @FIU_DWGlassMovCntrl_Req signal + +#ifndef FIU_DWGlassMovCntrl_Req_FIU_CTRL_DW_Reserved +#define FIU_DWGlassMovCntrl_Req_FIU_CTRL_DW_Reserved (3) +#endif + +#ifndef FIU_DWGlassMovCntrl_Req_FIU_CTRL_DW_Partition_down_reguest +#define FIU_DWGlassMovCntrl_Req_FIU_CTRL_DW_Partition_down_reguest (2) +#endif + +#ifndef FIU_DWGlassMovCntrl_Req_FIU_CTRL_DW_Partition_up_request +#define FIU_DWGlassMovCntrl_Req_FIU_CTRL_DW_Partition_up_request (1) +#endif + +#ifndef FIU_DWGlassMovCntrl_Req_FIU_CTRL_DW_No_operation +#define FIU_DWGlassMovCntrl_Req_FIU_CTRL_DW_No_operation (0) +#endif + + +// Value tables for @FIU_DWDisplDimmingMode_Req signal + +#ifndef FIU_DWDisplDimmingMode_Req_FIU_CTRL_DW_Reserved +#define FIU_DWDisplDimmingMode_Req_FIU_CTRL_DW_Reserved (3) +#endif + +#ifndef FIU_DWDisplDimmingMode_Req_FIU_CTRL_DW_Manual_dimming +#define FIU_DWDisplDimmingMode_Req_FIU_CTRL_DW_Manual_dimming (2) +#endif + +#ifndef FIU_DWDisplDimmingMode_Req_FIU_CTRL_DW_Auto_dimming_ +#define FIU_DWDisplDimmingMode_Req_FIU_CTRL_DW_Auto_dimming_ (1) +#endif + +#ifndef FIU_DWDisplDimmingMode_Req_FIU_CTRL_DW_No_operation +#define FIU_DWDisplDimmingMode_Req_FIU_CTRL_DW_No_operation (0) +#endif + + +// Value tables for @FIU_DWVideoSignalSrc_Req signal + +#ifndef FIU_DWVideoSignalSrc_Req_FIU_CTRL_DW_Reserved +#define FIU_DWVideoSignalSrc_Req_FIU_CTRL_DW_Reserved (7) +#endif + +#ifndef FIU_DWVideoSignalSrc_Req_FIU_CTRL_DW_Reserved +#define FIU_DWVideoSignalSrc_Req_FIU_CTRL_DW_Reserved (6) +#endif + +#ifndef FIU_DWVideoSignalSrc_Req_FIU_CTRL_DW_HDMI_2_input +#define FIU_DWVideoSignalSrc_Req_FIU_CTRL_DW_HDMI_2_input (5) +#endif + +#ifndef FIU_DWVideoSignalSrc_Req_FIU_CTRL_DW_Video_signal_source_undefined +#define FIU_DWVideoSignalSrc_Req_FIU_CTRL_DW_Video_signal_source_undefined (0) +#endif + +#ifndef FIU_DWVideoSignalSrc_Req_FIU_CTRL_DW_HDMI_1_input +#define FIU_DWVideoSignalSrc_Req_FIU_CTRL_DW_HDMI_1_input (4) +#endif + +#ifndef FIU_DWVideoSignalSrc_Req_FIU_CTRL_DW_HDMI_socket_input +#define FIU_DWVideoSignalSrc_Req_FIU_CTRL_DW_HDMI_socket_input (3) +#endif + +#ifndef FIU_DWVideoSignalSrc_Req_FIU_CTRL_DW_Front_cam_input +#define FIU_DWVideoSignalSrc_Req_FIU_CTRL_DW_Front_cam_input (2) +#endif + +#ifndef FIU_DWVideoSignalSrc_Req_FIU_CTRL_DW_MMS_input +#define FIU_DWVideoSignalSrc_Req_FIU_CTRL_DW_MMS_input (1) +#endif + +// signal: @FIU_DWDispAutoDimmingVal_Req_ro +#define CANDB_FIU_DWDispAutoDimmingVal_Req_ro_CovFactor (0.394) +#define CANDB_FIU_DWDispAutoDimmingVal_Req_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.394)) ) +#define CANDB_FIU_DWDispAutoDimmingVal_Req_ro_fromS(x) ( (((x) * (0.394)) + (0.0)) ) +// signal: @FIU_DWDispManualDimming_Val_ro +#define CANDB_FIU_DWDispManualDimming_Val_ro_CovFactor (0.394) +#define CANDB_FIU_DWDispManualDimming_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.394)) ) +#define CANDB_FIU_DWDispManualDimming_Val_ro_fromS(x) ( (((x) * (0.394)) + (0.0)) ) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Request to turn on the DW display + // 3 : "Reserved " + // 2 : "Turn off display" + // 1 : "Turn on display" + // 0 : "No operation" + uint8_t FIU_DWDisplayCntrl_Req : 2; // Bits= 2 + + // Request to change the transparency of the partition + // 3 : "Reserved" + // 2 : "Glass transparency request" + // 1 : "Glass non-transparency request" + // 0 : "No operation" + uint8_t FIU_DWGlassCntrl_Req : 2; // Bits= 2 + + // Partition wall display moving request + // 3 : "Reserved " + // 2 : "Display down reguest" + // 1 : "Display up request" + // 0 : "No operation " + uint8_t FIU_DWDisplayMovCntrl_Req : 2; // Bits= 2 + + // Partition wall glass moving request + // 3 : "Reserved" + // 2 : "Partition down reguest" + // 1 : "Partition up request" + // 0 : "No operation" + uint8_t FIU_DWGlassMovCntrl_Req : 2; // Bits= 2 + + // DW Display auto dimming mode request + // 3 : "Reserved" + // 2 : "Manual dimming" + // 1 : "Auto dimming " + // 0 : "No operation" + uint8_t FIU_DWDisplDimmingMode_Req : 2; // Bits= 2 + + // Selection videosignal source + // 7 : "Reserved" + // 6 : "Reserved" + // 5 : "HDMI 2 input" + // 0 : "Video signal source undefined" + // 4 : "HDMI 1 input" + // 3 : "HDMI socket input" + // 2 : "Front cam input" + // 1 : "MMS input" + uint8_t FIU_DWVideoSignalSrc_Req : 3; // Bits= 3 + + // DW Display auto dimming value request + uint8_t FIU_DWDispAutoDimmingVal_Req_ro; // Bits= 8 Factor= 0.394 + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t FIU_DWDispAutoDimmingVal_Req_phys; +#endif // CANDB_USE_SIGFLOAT + + // DW Display manual dimming value request + uint8_t FIU_DWDispManualDimming_Val_ro; // Bits= 8 Factor= 0.394 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t FIU_DWDispManualDimming_Val_phys; +#endif // CANDB_USE_SIGFLOAT + +#else + + // Request to turn on the DW display + // 3 : "Reserved " + // 2 : "Turn off display" + // 1 : "Turn on display" + // 0 : "No operation" + uint8_t FIU_DWDisplayCntrl_Req; // Bits= 2 + + // Request to change the transparency of the partition + // 3 : "Reserved" + // 2 : "Glass transparency request" + // 1 : "Glass non-transparency request" + // 0 : "No operation" + uint8_t FIU_DWGlassCntrl_Req; // Bits= 2 + + // Partition wall display moving request + // 3 : "Reserved " + // 2 : "Display down reguest" + // 1 : "Display up request" + // 0 : "No operation " + uint8_t FIU_DWDisplayMovCntrl_Req; // Bits= 2 + + // Partition wall glass moving request + // 3 : "Reserved" + // 2 : "Partition down reguest" + // 1 : "Partition up request" + // 0 : "No operation" + uint8_t FIU_DWGlassMovCntrl_Req; // Bits= 2 + + // DW Display auto dimming mode request + // 3 : "Reserved" + // 2 : "Manual dimming" + // 1 : "Auto dimming " + // 0 : "No operation" + uint8_t FIU_DWDisplDimmingMode_Req; // Bits= 2 + + // Selection videosignal source + // 7 : "Reserved" + // 6 : "Reserved" + // 5 : "HDMI 2 input" + // 0 : "Video signal source undefined" + // 4 : "HDMI 1 input" + // 3 : "HDMI socket input" + // 2 : "Front cam input" + // 1 : "MMS input" + uint8_t FIU_DWVideoSignalSrc_Req; // Bits= 3 + + // DW Display auto dimming value request + uint8_t FIU_DWDispAutoDimmingVal_Req_ro; // Bits= 8 Factor= 0.394 + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t FIU_DWDispAutoDimmingVal_Req_phys; +#endif // CANDB_USE_SIGFLOAT + + // DW Display manual dimming value request + uint8_t FIU_DWDispManualDimming_Val_ro; // Bits= 8 Factor= 0.394 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t FIU_DWDispManualDimming_Val_phys; +#endif // CANDB_USE_SIGFLOAT + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} FIU_CTRL_DW_t; + // Dividing wall status // def @DW_STATE CAN Message (1417 0x589) #define DW_STATE_IDE (0U) @@ -6617,6 +42558,115 @@ typedef struct #define DW_STATE_CANID (0x589U) #define DW_STATE_CYC (100U) +// Value tables for @DW_Display_Stat signal + +#ifndef DW_Display_Stat_DW_STATE_Display_on +#define DW_Display_Stat_DW_STATE_Display_on (1) +#endif + +#ifndef DW_Display_Stat_DW_STATE_Display_off +#define DW_Display_Stat_DW_STATE_Display_off (0) +#endif + + +// Value tables for @DW_MediaPower_Stat signal + +#ifndef DW_MediaPower_Stat_DW_STATE_Power_on +#define DW_MediaPower_Stat_DW_STATE_Power_on (1) +#endif + +#ifndef DW_MediaPower_Stat_DW_STATE_Power_off +#define DW_MediaPower_Stat_DW_STATE_Power_off (0) +#endif + + +// Value tables for @DW_Display_Req signal + +#ifndef DW_Display_Req_DW_STATE_Display_on +#define DW_Display_Req_DW_STATE_Display_on (1) +#endif + +#ifndef DW_Display_Req_DW_STATE_Display_off +#define DW_Display_Req_DW_STATE_Display_off (0) +#endif + + +// Value tables for @DW_Glass_Stat signal + +#ifndef DW_Glass_Stat_DW_STATE_Transparent_glass_state +#define DW_Glass_Stat_DW_STATE_Transparent_glass_state (1) +#endif + +#ifndef DW_Glass_Stat_DW_STATE_Nontransparent_glass_state +#define DW_Glass_Stat_DW_STATE_Nontransparent_glass_state (0) +#endif + + +// Value tables for @DW_AntiPinchFlag_Stat signal + +#ifndef DW_AntiPinchFlag_Stat_DW_STATE_Antipinch_expired_ +#define DW_AntiPinchFlag_Stat_DW_STATE_Antipinch_expired_ (1) +#endif + +#ifndef DW_AntiPinchFlag_Stat_DW_STATE_No_data +#define DW_AntiPinchFlag_Stat_DW_STATE_No_data (0) +#endif + + +// Value tables for @DW_CurrentVideoSigSrc_Stat signal + +#ifndef DW_CurrentVideoSigSrc_Stat_DW_STATE_Reserved_ +#define DW_CurrentVideoSigSrc_Stat_DW_STATE_Reserved_ (7) +#endif + +#ifndef DW_CurrentVideoSigSrc_Stat_DW_STATE_Reserved_ +#define DW_CurrentVideoSigSrc_Stat_DW_STATE_Reserved_ (6) +#endif + +#ifndef DW_CurrentVideoSigSrc_Stat_DW_STATE_HDMI_2_input +#define DW_CurrentVideoSigSrc_Stat_DW_STATE_HDMI_2_input (5) +#endif + +#ifndef DW_CurrentVideoSigSrc_Stat_DW_STATE_HDMI_1_input +#define DW_CurrentVideoSigSrc_Stat_DW_STATE_HDMI_1_input (4) +#endif + +#ifndef DW_CurrentVideoSigSrc_Stat_DW_STATE_HDMI_socket_input +#define DW_CurrentVideoSigSrc_Stat_DW_STATE_HDMI_socket_input (3) +#endif + +#ifndef DW_CurrentVideoSigSrc_Stat_DW_STATE_Front_cam_input +#define DW_CurrentVideoSigSrc_Stat_DW_STATE_Front_cam_input (2) +#endif + +#ifndef DW_CurrentVideoSigSrc_Stat_DW_STATE_MMS_input +#define DW_CurrentVideoSigSrc_Stat_DW_STATE_MMS_input (1) +#endif + +#ifndef DW_CurrentVideoSigSrc_Stat_DW_STATE_Video_signal_source_undefined +#define DW_CurrentVideoSigSrc_Stat_DW_STATE_Video_signal_source_undefined (0) +#endif + + +// Value tables for @DW_DisplayPosition_Stat signal + +#ifndef DW_DisplayPosition_Stat_DW_STATE_Reserved +#define DW_DisplayPosition_Stat_DW_STATE_Reserved (3) +#endif + +#ifndef DW_DisplayPosition_Stat_DW_STATE_Display_up_position +#define DW_DisplayPosition_Stat_DW_STATE_Display_up_position (2) +#endif + +#ifndef DW_DisplayPosition_Stat_DW_STATE_Display_down_position +#define DW_DisplayPosition_Stat_DW_STATE_Display_down_position (1) +#endif + +#ifndef DW_DisplayPosition_Stat_DW_STATE_Display_position_not_applicable +#define DW_DisplayPosition_Stat_DW_STATE_Display_position_not_applicable (0) +#endif + + // Value tables for @DW_GlassPosition_Stat signal #ifndef DW_GlassPosition_Stat_DW_STATE_Reserved @@ -6636,25 +42686,333 @@ typedef struct #endif +// Value tables for @DW_MovingDisplay_Stat signal + +#ifndef DW_MovingDisplay_Stat_DW_STATE_Reserved +#define DW_MovingDisplay_Stat_DW_STATE_Reserved (3) +#endif + +#ifndef DW_MovingDisplay_Stat_DW_STATE_Display_moving_down +#define DW_MovingDisplay_Stat_DW_STATE_Display_moving_down (2) +#endif + +#ifndef DW_MovingDisplay_Stat_DW_STATE_Display_moving_up +#define DW_MovingDisplay_Stat_DW_STATE_Display_moving_up (1) +#endif + +#ifndef DW_MovingDisplay_Stat_DW_STATE_Display_not_moving +#define DW_MovingDisplay_Stat_DW_STATE_Display_not_moving (0) +#endif + + +// Value tables for @DW_MovingGlass_Stat signal + +#ifndef DW_MovingGlass_Stat_DW_STATE_Reserved +#define DW_MovingGlass_Stat_DW_STATE_Reserved (3) +#endif + +#ifndef DW_MovingGlass_Stat_DW_STATE_Glass_moving_down +#define DW_MovingGlass_Stat_DW_STATE_Glass_moving_down (2) +#endif + +#ifndef DW_MovingGlass_Stat_DW_STATE_Glass_moving_up +#define DW_MovingGlass_Stat_DW_STATE_Glass_moving_up (1) +#endif + +#ifndef DW_MovingGlass_Stat_DW_STATE_Glass_not_moving +#define DW_MovingGlass_Stat_DW_STATE_Glass_not_moving (0) +#endif + + +// Value tables for @DW_DisplayDimmingMode_Stat signal + +#ifndef DW_DisplayDimmingMode_Stat_DW_STATE_Error +#define DW_DisplayDimmingMode_Stat_DW_STATE_Error (3) +#endif + +#ifndef DW_DisplayDimmingMode_Stat_DW_STATE_Manual_dimming +#define DW_DisplayDimmingMode_Stat_DW_STATE_Manual_dimming (2) +#endif + +#ifndef DW_DisplayDimmingMode_Stat_DW_STATE_Auto_dimming +#define DW_DisplayDimmingMode_Stat_DW_STATE_Auto_dimming (1) +#endif + +#ifndef DW_DisplayDimmingMode_Stat_DW_STATE_Off +#define DW_DisplayDimmingMode_Stat_DW_STATE_Off (0) +#endif + + +// Value tables for @DW_DetectedMMSSrc_Stat signal + +#ifndef DW_DetectedMMSSrc_Stat_DW_STATE_Source_detected +#define DW_DetectedMMSSrc_Stat_DW_STATE_Source_detected (1) +#endif + +#ifndef DW_DetectedMMSSrc_Stat_DW_STATE_Source_off +#define DW_DetectedMMSSrc_Stat_DW_STATE_Source_off (0) +#endif + + +// Value tables for @DW_DetectedCAMSrc_Stat signal + +#ifndef DW_DetectedCAMSrc_Stat_DW_STATE_Source_detected +#define DW_DetectedCAMSrc_Stat_DW_STATE_Source_detected (1) +#endif + +#ifndef DW_DetectedCAMSrc_Stat_DW_STATE_Source_off +#define DW_DetectedCAMSrc_Stat_DW_STATE_Source_off (0) +#endif + + +// Value tables for @DW_DetectedHDMI1Src_Stat signal + +#ifndef DW_DetectedHDMI1Src_Stat_DW_STATE_Source_detected +#define DW_DetectedHDMI1Src_Stat_DW_STATE_Source_detected (1) +#endif + +#ifndef DW_DetectedHDMI1Src_Stat_DW_STATE_Source_off +#define DW_DetectedHDMI1Src_Stat_DW_STATE_Source_off (0) +#endif + + +// Value tables for @DW_DetectedHDMI2Src_Stat signal + +#ifndef DW_DetectedHDMI2Src_Stat_DW_STATE_Source_detected +#define DW_DetectedHDMI2Src_Stat_DW_STATE_Source_detected (1) +#endif + +#ifndef DW_DetectedHDMI2Src_Stat_DW_STATE_Source_off +#define DW_DetectedHDMI2Src_Stat_DW_STATE_Source_off (0) +#endif + + +// Value tables for @DW_DetectedHDMISockSrc_Stat signal + +#ifndef DW_DetectedHDMISockSrc_Stat_DW_STATE_Source_detected +#define DW_DetectedHDMISockSrc_Stat_DW_STATE_Source_detected (1) +#endif + +#ifndef DW_DetectedHDMISockSrc_Stat_DW_STATE_Source_off +#define DW_DetectedHDMISockSrc_Stat_DW_STATE_Source_off (0) +#endif + +// signal: @DW_DisplayBrightness_Stat_ro +#define CANDB_DW_DisplayBrightness_Stat_ro_CovFactor (0.394) +#define CANDB_DW_DisplayBrightness_Stat_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.394)) ) +#define CANDB_DW_DisplayBrightness_Stat_ro_fromS(x) ( (((x) * (0.394)) + (0.0)) ) + typedef struct { #ifdef CANDB_USE_BITS_SIGNAL + // DW Display state + // 1 : "Display on" + // 0 : "Display off" + uint8_t DW_Display_Stat : 1; // Bits= 1 + + // Multimedia devices power state + // 1 : "Power on" + // 0 : "Power off" + uint8_t DW_MediaPower_Stat : 1; // Bits= 1 + + // DW Display on/off request + // 1 : "Display on" + // 0 : "Display off" + uint8_t DW_Display_Req : 1; // Bits= 1 + + // DW partition transparency state + // 1 : "Transparent glass state" + // 0 : "Non-transparent glass state" + uint8_t DW_Glass_Stat : 1; // Bits= 1 + + // Anti-pinch flag + // 1 : "Anti-pinch expired " + // 0 : "No data" + uint8_t DW_AntiPinchFlag_Stat : 1; // Bits= 1 + + // Selection videosignal source + // 7 : "Reserved " + // 6 : "Reserved " + // 5 : "HDMI 2 input" + // 4 : "HDMI 1 input" + // 3 : "HDMI socket input" + // 2 : "Front cam input" + // 1 : "MMS input" + // 0 : "Video signal source undefined" + uint8_t DW_CurrentVideoSigSrc_Stat : 3; // Bits= 3 + + // Current display position + // 3 : "Reserved" + // 2 : "Display up position" + // 1 : "Display down position" + // 0 : "Display position not applicable" + uint8_t DW_DisplayPosition_Stat : 2; // Bits= 2 + // Current partition state // 3 : "Reserved" // 2 : "Glass down position" // 1 : "Glass up position" // 0 : "Glass position not applicable" - uint8_t DW_GlassPosition_Stat : 2; // Bits= 2 + uint8_t DW_GlassPosition_Stat : 2; // Bits= 2 + + // Partition wall display state + // 3 : "Reserved" + // 2 : "Display moving down" + // 1 : "Display moving up" + // 0 : "Display not moving" + uint8_t DW_MovingDisplay_Stat : 2; // Bits= 2 + + // Partition wall glass state + // 3 : "Reserved" + // 2 : "Glass moving down" + // 1 : "Glass moving up" + // 0 : "Glass not moving" + uint8_t DW_MovingGlass_Stat : 2; // Bits= 2 + + // DW Display dimming mode state + // 3 : "Error" + // 2 : "Manual dimming" + // 1 : "Auto dimming" + // 0 : "Off" + uint8_t DW_DisplayDimmingMode_Stat : 2; // Bits= 2 + + // Detecting a connected signal source + // 1 : "Source detected" + // 0 : "Source off" + uint8_t DW_DetectedMMSSrc_Stat : 1; // Bits= 1 + + // Detecting a connected signal source + // 1 : "Source detected" + // 0 : "Source off" + uint8_t DW_DetectedCAMSrc_Stat : 1; // Bits= 1 + + // Detecting a connected signal source + // 1 : "Source detected" + // 0 : "Source off" + uint8_t DW_DetectedHDMI1Src_Stat : 1; // Bits= 1 + + // Detecting a connected signal source + // 1 : "Source detected" + // 0 : "Source off" + uint8_t DW_DetectedHDMI2Src_Stat : 1; // Bits= 1 + + // Detecting a connected signal source + // 1 : "Source detected" + // 0 : "Source off" + uint8_t DW_DetectedHDMISockSrc_Stat : 1; // Bits= 1 + + // DW Display dimming value state, Percentage 0-100 + uint8_t DW_DisplayBrightness_Stat_ro; // Bits= 8 Factor= 0.394 + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t DW_DisplayBrightness_Stat_phys; +#endif // CANDB_USE_SIGFLOAT #else + // DW Display state + // 1 : "Display on" + // 0 : "Display off" + uint8_t DW_Display_Stat; // Bits= 1 + + // Multimedia devices power state + // 1 : "Power on" + // 0 : "Power off" + uint8_t DW_MediaPower_Stat; // Bits= 1 + + // DW Display on/off request + // 1 : "Display on" + // 0 : "Display off" + uint8_t DW_Display_Req; // Bits= 1 + + // DW partition transparency state + // 1 : "Transparent glass state" + // 0 : "Non-transparent glass state" + uint8_t DW_Glass_Stat; // Bits= 1 + + // Anti-pinch flag + // 1 : "Anti-pinch expired " + // 0 : "No data" + uint8_t DW_AntiPinchFlag_Stat; // Bits= 1 + + // Selection videosignal source + // 7 : "Reserved " + // 6 : "Reserved " + // 5 : "HDMI 2 input" + // 4 : "HDMI 1 input" + // 3 : "HDMI socket input" + // 2 : "Front cam input" + // 1 : "MMS input" + // 0 : "Video signal source undefined" + uint8_t DW_CurrentVideoSigSrc_Stat; // Bits= 3 + + // Current display position + // 3 : "Reserved" + // 2 : "Display up position" + // 1 : "Display down position" + // 0 : "Display position not applicable" + uint8_t DW_DisplayPosition_Stat; // Bits= 2 + // Current partition state // 3 : "Reserved" // 2 : "Glass down position" // 1 : "Glass up position" // 0 : "Glass position not applicable" - uint8_t DW_GlassPosition_Stat; // Bits= 2 + uint8_t DW_GlassPosition_Stat; // Bits= 2 + + // Partition wall display state + // 3 : "Reserved" + // 2 : "Display moving down" + // 1 : "Display moving up" + // 0 : "Display not moving" + uint8_t DW_MovingDisplay_Stat; // Bits= 2 + + // Partition wall glass state + // 3 : "Reserved" + // 2 : "Glass moving down" + // 1 : "Glass moving up" + // 0 : "Glass not moving" + uint8_t DW_MovingGlass_Stat; // Bits= 2 + + // DW Display dimming mode state + // 3 : "Error" + // 2 : "Manual dimming" + // 1 : "Auto dimming" + // 0 : "Off" + uint8_t DW_DisplayDimmingMode_Stat; // Bits= 2 + + // Detecting a connected signal source + // 1 : "Source detected" + // 0 : "Source off" + uint8_t DW_DetectedMMSSrc_Stat; // Bits= 1 + + // Detecting a connected signal source + // 1 : "Source detected" + // 0 : "Source off" + uint8_t DW_DetectedCAMSrc_Stat; // Bits= 1 + + // Detecting a connected signal source + // 1 : "Source detected" + // 0 : "Source off" + uint8_t DW_DetectedHDMI1Src_Stat; // Bits= 1 + + // Detecting a connected signal source + // 1 : "Source detected" + // 0 : "Source off" + uint8_t DW_DetectedHDMI2Src_Stat; // Bits= 1 + + // Detecting a connected signal source + // 1 : "Source detected" + // 0 : "Source off" + uint8_t DW_DetectedHDMISockSrc_Stat; // Bits= 1 + + // DW Display dimming value state, Percentage 0-100 + uint8_t DW_DisplayBrightness_Stat_ro; // Bits= 8 Factor= 0.394 + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t DW_DisplayBrightness_Stat_phys; +#endif // CANDB_USE_SIGFLOAT #endif // CANDB_USE_BITS_SIGNAL @@ -6666,6 +43024,3333 @@ typedef struct } DW_STATE_t; +// def @FIU_Msg1 CAN Message (1422 0x58e) +#define FIU_Msg1_IDE (0U) +#define FIU_Msg1_DLC (8U) +#define FIU_Msg1_CANID (0x58eU) + +// Value tables for @FIU_HeadlightWashing_Req signal + +#ifndef FIU_HeadlightWashing_Req_FIU_Msg1_Active +#define FIU_HeadlightWashing_Req_FIU_Msg1_Active (1) +#endif + +#ifndef FIU_HeadlightWashing_Req_FIU_Msg1_Inactive +#define FIU_HeadlightWashing_Req_FIU_Msg1_Inactive (0) +#endif + + +// Value tables for @FIU_AutoWiper_Req signal + +#ifndef FIU_AutoWiper_Req_FIU_Msg1_Function_active +#define FIU_AutoWiper_Req_FIU_Msg1_Function_active (1) +#endif + +#ifndef FIU_AutoWiper_Req_FIU_Msg1_Function_inactive +#define FIU_AutoWiper_Req_FIU_Msg1_Function_inactive (0) +#endif + + +// Value tables for @FIU_WelcomeLeavingLight_Req signal + +#ifndef FIU_WelcomeLeavingLight_Req_FIU_Msg1_Active +#define FIU_WelcomeLeavingLight_Req_FIU_Msg1_Active (1) +#endif + +#ifndef FIU_WelcomeLeavingLight_Req_FIU_Msg1_Inactive +#define FIU_WelcomeLeavingLight_Req_FIU_Msg1_Inactive (0) +#endif + + +// Value tables for @FIU_WelcomeLeavingLightTime_Req signal + +#ifndef FIU_WelcomeLeavingLightTime_Req_FIU_Msg1_Function_active_for_time_60_sec +#define FIU_WelcomeLeavingLightTime_Req_FIU_Msg1_Function_active_for_time_60_sec (3) +#endif + +#ifndef FIU_WelcomeLeavingLightTime_Req_FIU_Msg1_Function_active_for_time_45_sec +#define FIU_WelcomeLeavingLightTime_Req_FIU_Msg1_Function_active_for_time_45_sec (2) +#endif + +#ifndef FIU_WelcomeLeavingLightTime_Req_FIU_Msg1_Function_active_for_time_30_sec +#define FIU_WelcomeLeavingLightTime_Req_FIU_Msg1_Function_active_for_time_30_sec (1) +#endif + +#ifndef FIU_WelcomeLeavingLightTime_Req_FIU_Msg1_Function_active_for_time_15_sec +#define FIU_WelcomeLeavingLightTime_Req_FIU_Msg1_Function_active_for_time_15_sec (0) +#endif + + +// Value tables for @FIU_WindowsRainClosing_Req signal + +#ifndef FIU_WindowsRainClosing_Req_FIU_Msg1_Active +#define FIU_WindowsRainClosing_Req_FIU_Msg1_Active (1) +#endif + +#ifndef FIU_WindowsRainClosing_Req_FIU_Msg1_Inactive +#define FIU_WindowsRainClosing_Req_FIU_Msg1_Inactive (0) +#endif + + +// Value tables for @FIU_MirrorsAutoFold_Req signal + +#ifndef FIU_MirrorsAutoFold_Req_FIU_Msg1_Active +#define FIU_MirrorsAutoFold_Req_FIU_Msg1_Active (1) +#endif + +#ifndef FIU_MirrorsAutoFold_Req_FIU_Msg1_Inactive +#define FIU_MirrorsAutoFold_Req_FIU_Msg1_Inactive (0) +#endif + + +// Value tables for @FIU_AutoTiltMirrors_Req signal + +#ifndef FIU_AutoTiltMirrors_Req_FIU_Msg1_Function_active +#define FIU_AutoTiltMirrors_Req_FIU_Msg1_Function_active (1) +#endif + +#ifndef FIU_AutoTiltMirrors_Req_FIU_Msg1_Function_inactive +#define FIU_AutoTiltMirrors_Req_FIU_Msg1_Function_inactive (0) +#endif + + +// Value tables for @FIU_SteeringWheelAutoHeat_Req signal + +#ifndef FIU_SteeringWheelAutoHeat_Req_FIU_Msg1_Active +#define FIU_SteeringWheelAutoHeat_Req_FIU_Msg1_Active (1) +#endif + +#ifndef FIU_SteeringWheelAutoHeat_Req_FIU_Msg1_Inactive +#define FIU_SteeringWheelAutoHeat_Req_FIU_Msg1_Inactive (0) +#endif + + +// Value tables for @FIU_DoorsLock_Req signal + +#ifndef FIU_DoorsLock_Req_FIU_Msg1_LockUnlock +#define FIU_DoorsLock_Req_FIU_Msg1_LockUnlock (1) +#endif + +#ifndef FIU_DoorsLock_Req_FIU_Msg1_No_action +#define FIU_DoorsLock_Req_FIU_Msg1_No_action (0) +#endif + + +// Value tables for @FIU_DoorsDriveLock_Req signal + +#ifndef FIU_DoorsDriveLock_Req_FIU_Msg1_Active +#define FIU_DoorsDriveLock_Req_FIU_Msg1_Active (1) +#endif + +#ifndef FIU_DoorsDriveLock_Req_FIU_Msg1_Inactive +#define FIU_DoorsDriveLock_Req_FIU_Msg1_Inactive (0) +#endif + + +// Value tables for @FIU_AudibleLockFdBack_Req signal + +#ifndef FIU_AudibleLockFdBack_Req_FIU_Msg1_Active +#define FIU_AudibleLockFdBack_Req_FIU_Msg1_Active (1) +#endif + +#ifndef FIU_AudibleLockFdBack_Req_FIU_Msg1_Inactive +#define FIU_AudibleLockFdBack_Req_FIU_Msg1_Inactive (0) +#endif + + +// Value tables for @FIU_ApproachAccess_Req signal + +#ifndef FIU_ApproachAccess_Req_FIU_Msg1_Active +#define FIU_ApproachAccess_Req_FIU_Msg1_Active (1) +#endif + +#ifndef FIU_ApproachAccess_Req_FIU_Msg1_Inactive +#define FIU_ApproachAccess_Req_FIU_Msg1_Inactive (0) +#endif + + +// Value tables for @FIU_TrnkDoorCloseBySpeed_Req signal + +#ifndef FIU_TrnkDoorCloseBySpeed_Req_FIU_Msg1_Active +#define FIU_TrnkDoorCloseBySpeed_Req_FIU_Msg1_Active (1) +#endif + +#ifndef FIU_TrnkDoorCloseBySpeed_Req_FIU_Msg1_Inactive +#define FIU_TrnkDoorCloseBySpeed_Req_FIU_Msg1_Inactive (0) +#endif + + +// Value tables for @FIU_WelcomeLightAnimation_Req signal + +#ifndef FIU_WelcomeLightAnimation_Req_FIU_Msg1_Active +#define FIU_WelcomeLightAnimation_Req_FIU_Msg1_Active (1) +#endif + +#ifndef FIU_WelcomeLightAnimation_Req_FIU_Msg1_Inactive +#define FIU_WelcomeLightAnimation_Req_FIU_Msg1_Inactive (0) +#endif + + +// Value tables for @FIU_MAS_CamerasWashing_Req signal + +#ifndef FIU_MAS_CamerasWashing_Req_FIU_Msg1_Front_And_Rear_cameras_washing_request +#define FIU_MAS_CamerasWashing_Req_FIU_Msg1_Front_And_Rear_cameras_washing_request (1) +#endif + +#ifndef FIU_MAS_CamerasWashing_Req_FIU_Msg1_No_request +#define FIU_MAS_CamerasWashing_Req_FIU_Msg1_No_request (0) +#endif + + +// Value tables for @FIU_DoorCntrlRR_Req signal + +#ifndef FIU_DoorCntrlRR_Req_FIU_Msg1_Close +#define FIU_DoorCntrlRR_Req_FIU_Msg1_Close (2) +#endif + +#ifndef FIU_DoorCntrlRR_Req_FIU_Msg1_Open +#define FIU_DoorCntrlRR_Req_FIU_Msg1_Open (1) +#endif + +#ifndef FIU_DoorCntrlRR_Req_FIU_Msg1_No_action +#define FIU_DoorCntrlRR_Req_FIU_Msg1_No_action (0) +#endif + + +// Value tables for @FIU_DoorCntrlFR_Req signal + +#ifndef FIU_DoorCntrlFR_Req_FIU_Msg1_Close +#define FIU_DoorCntrlFR_Req_FIU_Msg1_Close (2) +#endif + +#ifndef FIU_DoorCntrlFR_Req_FIU_Msg1_Open +#define FIU_DoorCntrlFR_Req_FIU_Msg1_Open (1) +#endif + +#ifndef FIU_DoorCntrlFR_Req_FIU_Msg1_No_action +#define FIU_DoorCntrlFR_Req_FIU_Msg1_No_action (0) +#endif + + +// Value tables for @FIU_DoorCntrlFL_Req signal + +#ifndef FIU_DoorCntrlFL_Req_FIU_Msg1_Close +#define FIU_DoorCntrlFL_Req_FIU_Msg1_Close (2) +#endif + +#ifndef FIU_DoorCntrlFL_Req_FIU_Msg1_Open +#define FIU_DoorCntrlFL_Req_FIU_Msg1_Open (1) +#endif + +#ifndef FIU_DoorCntrlFL_Req_FIU_Msg1_No_action +#define FIU_DoorCntrlFL_Req_FIU_Msg1_No_action (0) +#endif + + +// Value tables for @FIU_DoorCntrlRL_Req signal + +#ifndef FIU_DoorCntrlRL_Req_FIU_Msg1_Close +#define FIU_DoorCntrlRL_Req_FIU_Msg1_Close (2) +#endif + +#ifndef FIU_DoorCntrlRL_Req_FIU_Msg1_Open +#define FIU_DoorCntrlRL_Req_FIU_Msg1_Open (1) +#endif + +#ifndef FIU_DoorCntrlRL_Req_FIU_Msg1_No_action +#define FIU_DoorCntrlRL_Req_FIU_Msg1_No_action (0) +#endif + + +// Value tables for @FIU_DoorCntrlTrunk_Req signal + +#ifndef FIU_DoorCntrlTrunk_Req_FIU_Msg1_Close +#define FIU_DoorCntrlTrunk_Req_FIU_Msg1_Close (2) +#endif + +#ifndef FIU_DoorCntrlTrunk_Req_FIU_Msg1_Open +#define FIU_DoorCntrlTrunk_Req_FIU_Msg1_Open (1) +#endif + +#ifndef FIU_DoorCntrlTrunk_Req_FIU_Msg1_No_Actions +#define FIU_DoorCntrlTrunk_Req_FIU_Msg1_No_Actions (0) +#endif + + +// Value tables for @FIU_EasyExitEnableRR_Req signal + +#ifndef FIU_EasyExitEnableRR_Req_FIU_Msg1_Easy_exit_enable +#define FIU_EasyExitEnableRR_Req_FIU_Msg1_Easy_exit_enable (1) +#endif + +#ifndef FIU_EasyExitEnableRR_Req_FIU_Msg1_Easy_exit_disable +#define FIU_EasyExitEnableRR_Req_FIU_Msg1_Easy_exit_disable (0) +#endif + + +// Value tables for @FIU_EasyExitEnableRL_Req signal + +#ifndef FIU_EasyExitEnableRL_Req_FIU_Msg1_Easy_exit_enable +#define FIU_EasyExitEnableRL_Req_FIU_Msg1_Easy_exit_enable (1) +#endif + +#ifndef FIU_EasyExitEnableRL_Req_FIU_Msg1_Easy_exit_disable +#define FIU_EasyExitEnableRL_Req_FIU_Msg1_Easy_exit_disable (0) +#endif + + +// Value tables for @FIU_EasyExitEnableFR_Req signal + +#ifndef FIU_EasyExitEnableFR_Req_FIU_Msg1_Easy_exit_enable +#define FIU_EasyExitEnableFR_Req_FIU_Msg1_Easy_exit_enable (1) +#endif + +#ifndef FIU_EasyExitEnableFR_Req_FIU_Msg1_Easy_exit_disable +#define FIU_EasyExitEnableFR_Req_FIU_Msg1_Easy_exit_disable (0) +#endif + + +// Value tables for @FIU_EasyExitEnableFL_Req signal + +#ifndef FIU_EasyExitEnableFL_Req_FIU_Msg1_Easy_exit_enable +#define FIU_EasyExitEnableFL_Req_FIU_Msg1_Easy_exit_enable (1) +#endif + +#ifndef FIU_EasyExitEnableFL_Req_FIU_Msg1_Easy_exit_disable +#define FIU_EasyExitEnableFL_Req_FIU_Msg1_Easy_exit_disable (0) +#endif + +// signal: @FIU_FrontCeilingBright_Val_ro +#define CANDB_FIU_FrontCeilingBright_Val_ro_CovFactor (0.392) +#define CANDB_FIU_FrontCeilingBright_Val_ro_toS(x) ( (uint8_t) (((x) - (1.0)) / (0.392)) ) +#define CANDB_FIU_FrontCeilingBright_Val_ro_fromS(x) ( (((x) * (0.392)) + (1.0)) ) +// signal: @FIU_RearCeilingBright_Val_ro +#define CANDB_FIU_RearCeilingBright_Val_ro_CovFactor (0.392) +#define CANDB_FIU_RearCeilingBright_Val_ro_toS(x) ( (uint8_t) (((x) - (1.0)) / (0.392)) ) +#define CANDB_FIU_RearCeilingBright_Val_ro_fromS(x) ( (((x) * (0.392)) + (1.0)) ) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // AUTO washing headlights together with windshield + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_HeadlightWashing_Req : 1; // Bits= 1 + + // Autowipering and autowashing windshield by Rain and Light sensor signals + // 1 : "Function active" + // 0 : "Function inactive" + uint8_t FIU_AutoWiper_Req : 1; // Bits= 1 + + // Welcome and leaving light enable request + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_WelcomeLeavingLight_Req : 1; // Bits= 1 + + // Welcome and leaving light working time request + // 3 : "Function active for time 60 sec" + // 2 : "Function active for time 45 sec" + // 1 : "Function active for time 30 sec" + // 0 : "Function active for time 15 sec" + uint8_t FIU_WelcomeLeavingLightTime_Req : 2; // Bits= 2 + + // Windows automatically closing when it rains + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_WindowsRainClosing_Req : 1; // Bits= 1 + + // Auto folding mirrors when secure lock action + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_MirrorsAutoFold_Req : 1; // Bits= 1 + + // When R gear is active mirrors are bend over + // 1 : "Function active" + // 0 : "Function inactive" + uint8_t FIU_AutoTiltMirrors_Req : 1; // Bits= 1 + + // Automatically steering wheel heating request + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_SteeringWheelAutoHeat_Req : 1; // Bits= 1 + + // Door Lock/Unlock + // 1 : "Lock/Unlock" + // 0 : "No action" + uint8_t FIU_DoorsLock_Req : 1; // Bits= 1 + + // Doors automatically locking when driving (speed above threshhold) + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_DoorsDriveLock_Req : 1; // Bits= 1 + + // Vehicle locking/unlocking sound enable function + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_AudibleLockFdBack_Req : 1; // Bits= 1 + + // Automatic doors lock, when user leaves vehicle + // Automatic doors unlock, when user approaches to vehicle + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_ApproachAccess_Req : 1; // Bits= 1 + + // Trunk automatically closing when driving (speed above threshhold) + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_TrnkDoorCloseBySpeed_Req : 1; // Bits= 1 + + // Welcome headlight animation enable request + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_WelcomeLightAnimation_Req : 1; // Bits= 1 + + // The signal is used to activate the washer for the front and rear surround view cameras. + // 1 : "Front And Rear cameras washing request" + // 0 : "No request" + uint8_t FIU_MAS_CamerasWashing_Req : 1; // Bits= 1 + + // Request for opening or closing rear right door by electric motor + // 2 : "Close" + // 1 : "Open" + // 0 : "No action" + uint8_t FIU_DoorCntrlRR_Req : 2; // Bits= 2 + + // Request for opening or closing front right door by electric motor + // 2 : "Close" + // 1 : "Open" + // 0 : "No action" + uint8_t FIU_DoorCntrlFR_Req : 2; // Bits= 2 + + // Request for opening or closing front left door by electric motor + // 2 : "Close" + // 1 : "Open" + // 0 : "No action" + uint8_t FIU_DoorCntrlFL_Req : 2; // Bits= 2 + + // Request for opening or closing rear left door by electric motor + // 2 : "Close" + // 1 : "Open" + // 0 : "No action" + uint8_t FIU_DoorCntrlRL_Req : 2; // Bits= 2 + + // Request for opening or closing trunk lid by electric motor + // 2 : "Close" + // 1 : "Open" + // 0 : "No Actions" + uint8_t FIU_DoorCntrlTrunk_Req : 2; // Bits= 2 + + // Steering column, seat and so on stand in easy exit position + // 1 : "Easy exit enable" + // 0 : "Easy exit disable" + uint8_t FIU_EasyExitEnableRR_Req : 1; // Bits= 1 + + // Steering column, seat and so on stand in easy exit position + // 1 : "Easy exit enable" + // 0 : "Easy exit disable" + uint8_t FIU_EasyExitEnableRL_Req : 1; // Bits= 1 + + // Steering column, seat and so on stand in easy exit position + // 1 : "Easy exit enable" + // 0 : "Easy exit disable" + uint8_t FIU_EasyExitEnableFR_Req : 1; // Bits= 1 + + // Steering column, seat and so on stand in easy exit position + // 1 : "Easy exit enable" + // 0 : "Easy exit disable" + uint8_t FIU_EasyExitEnableFL_Req : 1; // Bits= 1 + + // Front ceiling light brightness value + uint8_t FIU_FrontCeilingBright_Val_ro; // Bits= 8 Offset= 1.0 Factor= 0.392 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t FIU_FrontCeilingBright_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Rear ceiling light brightness value + uint8_t FIU_RearCeilingBright_Val_ro; // Bits= 8 Offset= 1.0 Factor= 0.392 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t FIU_RearCeilingBright_Val_phys; +#endif // CANDB_USE_SIGFLOAT + +#else + + // AUTO washing headlights together with windshield + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_HeadlightWashing_Req; // Bits= 1 + + // Autowipering and autowashing windshield by Rain and Light sensor signals + // 1 : "Function active" + // 0 : "Function inactive" + uint8_t FIU_AutoWiper_Req; // Bits= 1 + + // Welcome and leaving light enable request + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_WelcomeLeavingLight_Req; // Bits= 1 + + // Welcome and leaving light working time request + // 3 : "Function active for time 60 sec" + // 2 : "Function active for time 45 sec" + // 1 : "Function active for time 30 sec" + // 0 : "Function active for time 15 sec" + uint8_t FIU_WelcomeLeavingLightTime_Req; // Bits= 2 + + // Windows automatically closing when it rains + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_WindowsRainClosing_Req; // Bits= 1 + + // Auto folding mirrors when secure lock action + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_MirrorsAutoFold_Req; // Bits= 1 + + // When R gear is active mirrors are bend over + // 1 : "Function active" + // 0 : "Function inactive" + uint8_t FIU_AutoTiltMirrors_Req; // Bits= 1 + + // Automatically steering wheel heating request + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_SteeringWheelAutoHeat_Req; // Bits= 1 + + // Door Lock/Unlock + // 1 : "Lock/Unlock" + // 0 : "No action" + uint8_t FIU_DoorsLock_Req; // Bits= 1 + + // Doors automatically locking when driving (speed above threshhold) + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_DoorsDriveLock_Req; // Bits= 1 + + // Vehicle locking/unlocking sound enable function + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_AudibleLockFdBack_Req; // Bits= 1 + + // Automatic doors lock, when user leaves vehicle + // Automatic doors unlock, when user approaches to vehicle + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_ApproachAccess_Req; // Bits= 1 + + // Trunk automatically closing when driving (speed above threshhold) + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_TrnkDoorCloseBySpeed_Req; // Bits= 1 + + // Welcome headlight animation enable request + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_WelcomeLightAnimation_Req; // Bits= 1 + + // The signal is used to activate the washer for the front and rear surround view cameras. + // 1 : "Front And Rear cameras washing request" + // 0 : "No request" + uint8_t FIU_MAS_CamerasWashing_Req; // Bits= 1 + + // Request for opening or closing rear right door by electric motor + // 2 : "Close" + // 1 : "Open" + // 0 : "No action" + uint8_t FIU_DoorCntrlRR_Req; // Bits= 2 + + // Request for opening or closing front right door by electric motor + // 2 : "Close" + // 1 : "Open" + // 0 : "No action" + uint8_t FIU_DoorCntrlFR_Req; // Bits= 2 + + // Request for opening or closing front left door by electric motor + // 2 : "Close" + // 1 : "Open" + // 0 : "No action" + uint8_t FIU_DoorCntrlFL_Req; // Bits= 2 + + // Request for opening or closing rear left door by electric motor + // 2 : "Close" + // 1 : "Open" + // 0 : "No action" + uint8_t FIU_DoorCntrlRL_Req; // Bits= 2 + + // Request for opening or closing trunk lid by electric motor + // 2 : "Close" + // 1 : "Open" + // 0 : "No Actions" + uint8_t FIU_DoorCntrlTrunk_Req; // Bits= 2 + + // Steering column, seat and so on stand in easy exit position + // 1 : "Easy exit enable" + // 0 : "Easy exit disable" + uint8_t FIU_EasyExitEnableRR_Req; // Bits= 1 + + // Steering column, seat and so on stand in easy exit position + // 1 : "Easy exit enable" + // 0 : "Easy exit disable" + uint8_t FIU_EasyExitEnableRL_Req; // Bits= 1 + + // Steering column, seat and so on stand in easy exit position + // 1 : "Easy exit enable" + // 0 : "Easy exit disable" + uint8_t FIU_EasyExitEnableFR_Req; // Bits= 1 + + // Steering column, seat and so on stand in easy exit position + // 1 : "Easy exit enable" + // 0 : "Easy exit disable" + uint8_t FIU_EasyExitEnableFL_Req; // Bits= 1 + + // Front ceiling light brightness value + uint8_t FIU_FrontCeilingBright_Val_ro; // Bits= 8 Offset= 1.0 Factor= 0.392 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t FIU_FrontCeilingBright_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Rear ceiling light brightness value + uint8_t FIU_RearCeilingBright_Val_ro; // Bits= 8 Offset= 1.0 Factor= 0.392 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t FIU_RearCeilingBright_Val_phys; +#endif // CANDB_USE_SIGFLOAT + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} FIU_Msg1_t; + +// def @FIU_Msg2 CAN Message (1423 0x58f) +#define FIU_Msg2_IDE (0U) +#define FIU_Msg2_DLC (8U) +#define FIU_Msg2_CANID (0x58fU) + +// Value tables for @FIU_StyleIllGlobal_Req signal + +#ifndef FIU_StyleIllGlobal_Req_FIU_Msg2_Function_active +#define FIU_StyleIllGlobal_Req_FIU_Msg2_Function_active (1) +#endif + +#ifndef FIU_StyleIllGlobal_Req_FIU_Msg2_Function_inactive +#define FIU_StyleIllGlobal_Req_FIU_Msg2_Function_inactive (0) +#endif + + +// Value tables for @FIU_ChildLock_RLtablet_Req signal + +#ifndef FIU_ChildLock_RLtablet_Req_FIU_Msg2_Function_active +#define FIU_ChildLock_RLtablet_Req_FIU_Msg2_Function_active (1) +#endif + +#ifndef FIU_ChildLock_RLtablet_Req_FIU_Msg2_Function_inactive +#define FIU_ChildLock_RLtablet_Req_FIU_Msg2_Function_inactive (0) +#endif + + +// Value tables for @FIU_ConfCamera_Req signal + +#ifndef FIU_ConfCamera_Req_FIU_Msg2_Active +#define FIU_ConfCamera_Req_FIU_Msg2_Active (1) +#endif + +#ifndef FIU_ConfCamera_Req_FIU_Msg2_Inactive +#define FIU_ConfCamera_Req_FIU_Msg2_Inactive (0) +#endif + + +// Value tables for @FIU_StyleIllTheme_Req signal + +#ifndef FIU_StyleIllTheme_Req_FIU_Msg2_Color_theme_16 +#define FIU_StyleIllTheme_Req_FIU_Msg2_Color_theme_16 (15) +#endif + +#ifndef FIU_StyleIllTheme_Req_FIU_Msg2_Color_theme_15 +#define FIU_StyleIllTheme_Req_FIU_Msg2_Color_theme_15 (14) +#endif + +#ifndef FIU_StyleIllTheme_Req_FIU_Msg2_Color_theme_14 +#define FIU_StyleIllTheme_Req_FIU_Msg2_Color_theme_14 (13) +#endif + +#ifndef FIU_StyleIllTheme_Req_FIU_Msg2_Color_theme_13 +#define FIU_StyleIllTheme_Req_FIU_Msg2_Color_theme_13 (12) +#endif + +#ifndef FIU_StyleIllTheme_Req_FIU_Msg2_Color_theme_12 +#define FIU_StyleIllTheme_Req_FIU_Msg2_Color_theme_12 (11) +#endif + +#ifndef FIU_StyleIllTheme_Req_FIU_Msg2_Color_theme_11 +#define FIU_StyleIllTheme_Req_FIU_Msg2_Color_theme_11 (10) +#endif + +#ifndef FIU_StyleIllTheme_Req_FIU_Msg2_Color_theme_10 +#define FIU_StyleIllTheme_Req_FIU_Msg2_Color_theme_10 (9) +#endif + +#ifndef FIU_StyleIllTheme_Req_FIU_Msg2_Color_theme_9 +#define FIU_StyleIllTheme_Req_FIU_Msg2_Color_theme_9 (8) +#endif + +#ifndef FIU_StyleIllTheme_Req_FIU_Msg2_Reserved +#define FIU_StyleIllTheme_Req_FIU_Msg2_Reserved (7) +#endif + +#ifndef FIU_StyleIllTheme_Req_FIU_Msg2_Color_theme_7 +#define FIU_StyleIllTheme_Req_FIU_Msg2_Color_theme_7 (6) +#endif + +#ifndef FIU_StyleIllTheme_Req_FIU_Msg2_Color_theme_6 +#define FIU_StyleIllTheme_Req_FIU_Msg2_Color_theme_6 (5) +#endif + +#ifndef FIU_StyleIllTheme_Req_FIU_Msg2_Color_theme_5 +#define FIU_StyleIllTheme_Req_FIU_Msg2_Color_theme_5 (4) +#endif + +#ifndef FIU_StyleIllTheme_Req_FIU_Msg2_Color_theme_4 +#define FIU_StyleIllTheme_Req_FIU_Msg2_Color_theme_4 (3) +#endif + +#ifndef FIU_StyleIllTheme_Req_FIU_Msg2_Color_theme_3 +#define FIU_StyleIllTheme_Req_FIU_Msg2_Color_theme_3 (2) +#endif + +#ifndef FIU_StyleIllTheme_Req_FIU_Msg2_Color_theme_2 +#define FIU_StyleIllTheme_Req_FIU_Msg2_Color_theme_2 (1) +#endif + +#ifndef FIU_StyleIllTheme_Req_FIU_Msg2_Color_theme_1 +#define FIU_StyleIllTheme_Req_FIU_Msg2_Color_theme_1 (0) +#endif + + +// Value tables for @FIU_ChildLock_RRtablet_Req signal + +#ifndef FIU_ChildLock_RRtablet_Req_FIU_Msg2_Function_active +#define FIU_ChildLock_RRtablet_Req_FIU_Msg2_Function_active (1) +#endif + +#ifndef FIU_ChildLock_RRtablet_Req_FIU_Msg2_Function_inactive +#define FIU_ChildLock_RRtablet_Req_FIU_Msg2_Function_inactive (0) +#endif + + +// Value tables for @FIU_ChildLock_RRdoor_Req signal + +#ifndef FIU_ChildLock_RRdoor_Req_FIU_Msg2_Function_active +#define FIU_ChildLock_RRdoor_Req_FIU_Msg2_Function_active (1) +#endif + +#ifndef FIU_ChildLock_RRdoor_Req_FIU_Msg2_Function_inactive +#define FIU_ChildLock_RRdoor_Req_FIU_Msg2_Function_inactive (0) +#endif + + +// Value tables for @FIU_ChildLock_RCtablet_Req signal + +#ifndef FIU_ChildLock_RCtablet_Req_FIU_Msg2_Function_active +#define FIU_ChildLock_RCtablet_Req_FIU_Msg2_Function_active (1) +#endif + +#ifndef FIU_ChildLock_RCtablet_Req_FIU_Msg2_Function_inactive +#define FIU_ChildLock_RCtablet_Req_FIU_Msg2_Function_inactive (0) +#endif + + +// Value tables for @FIU_ChildLock_RLdoor_Req signal + +#ifndef FIU_ChildLock_RLdoor_Req_FIU_Msg2_Function_active +#define FIU_ChildLock_RLdoor_Req_FIU_Msg2_Function_active (1) +#endif + +#ifndef FIU_ChildLock_RLdoor_Req_FIU_Msg2_Function_inactive +#define FIU_ChildLock_RLdoor_Req_FIU_Msg2_Function_inactive (0) +#endif + + +// Value tables for @FIU_StyleLghtVoice_Req signal + +#ifndef FIU_StyleLghtVoice_Req_FIU_Msg2_Voice_Command_requested +#define FIU_StyleLghtVoice_Req_FIU_Msg2_Voice_Command_requested (1) +#endif + +#ifndef FIU_StyleLghtVoice_Req_FIU_Msg2_No_Voice_Command_requested_ +#define FIU_StyleLghtVoice_Req_FIU_Msg2_No_Voice_Command_requested_ (0) +#endif + + +// Value tables for @FIU_AlarmOFF_Req signal + +#ifndef FIU_AlarmOFF_Req_FIU_Msg2_Alarm_system_disabled +#define FIU_AlarmOFF_Req_FIU_Msg2_Alarm_system_disabled (1) +#endif + +#ifndef FIU_AlarmOFF_Req_FIU_Msg2_Alarm_system_enabled +#define FIU_AlarmOFF_Req_FIU_Msg2_Alarm_system_enabled (0) +#endif + + +// Value tables for @FIU_MovementSensOFF_Req signal + +#ifndef FIU_MovementSensOFF_Req_FIU_Msg2_Request_Active +#define FIU_MovementSensOFF_Req_FIU_Msg2_Request_Active (1) +#endif + +#ifndef FIU_MovementSensOFF_Req_FIU_Msg2_Request_Inactive +#define FIU_MovementSensOFF_Req_FIU_Msg2_Request_Inactive (0) +#endif + + +// Value tables for @FIU_ChildLock_RLwindow_Req signal + +#ifndef FIU_ChildLock_RLwindow_Req_FIU_Msg2_Function_active +#define FIU_ChildLock_RLwindow_Req_FIU_Msg2_Function_active (1) +#endif + +#ifndef FIU_ChildLock_RLwindow_Req_FIU_Msg2_Function_inactive +#define FIU_ChildLock_RLwindow_Req_FIU_Msg2_Function_inactive (0) +#endif + + +// Value tables for @FIU_CoolingBox_Req signal + +#ifndef FIU_CoolingBox_Req_FIU_Msg2_Normal_9C__Req +#define FIU_CoolingBox_Req_FIU_Msg2_Normal_9C__Req (3) +#endif + +#ifndef FIU_CoolingBox_Req_FIU_Msg2_Soft_5C_Req +#define FIU_CoolingBox_Req_FIU_Msg2_Soft_5C_Req (2) +#endif + +#ifndef FIU_CoolingBox_Req_FIU_Msg2_Off_Req +#define FIU_CoolingBox_Req_FIU_Msg2_Off_Req (1) +#endif + +#ifndef FIU_CoolingBox_Req_FIU_Msg2_No_change_Req +#define FIU_CoolingBox_Req_FIU_Msg2_No_change_Req (0) +#endif + + +// Value tables for @FIU_ChildLock_RRwindow_Req signal + +#ifndef FIU_ChildLock_RRwindow_Req_FIU_Msg2_Function_active +#define FIU_ChildLock_RRwindow_Req_FIU_Msg2_Function_active (1) +#endif + +#ifndef FIU_ChildLock_RRwindow_Req_FIU_Msg2_Function_inactive +#define FIU_ChildLock_RRwindow_Req_FIU_Msg2_Function_inactive (0) +#endif + + +// Value tables for @FIU_TrafficSide_Stat signal + +#ifndef FIU_TrafficSide_Stat_FIU_Msg2_RightHand +#define FIU_TrafficSide_Stat_FIU_Msg2_RightHand (1) +#endif + +#ifndef FIU_TrafficSide_Stat_FIU_Msg2_LeftHand +#define FIU_TrafficSide_Stat_FIU_Msg2_LeftHand (0) +#endif + + +// Value tables for @FIU_UnlockExternal_Req signal + +#ifndef FIU_UnlockExternal_Req_FIU_Msg2_Active +#define FIU_UnlockExternal_Req_FIU_Msg2_Active (1) +#endif + +#ifndef FIU_UnlockExternal_Req_FIU_Msg2_Inactive +#define FIU_UnlockExternal_Req_FIU_Msg2_Inactive (0) +#endif + + +// Value tables for @FIU_UnlockAfterDrive_Req signal + +#ifndef FIU_UnlockAfterDrive_Req_FIU_Msg2_Active +#define FIU_UnlockAfterDrive_Req_FIU_Msg2_Active (1) +#endif + +#ifndef FIU_UnlockAfterDrive_Req_FIU_Msg2_Inactive +#define FIU_UnlockAfterDrive_Req_FIU_Msg2_Inactive (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Style illumination global ON/OFF + // 1 : "Function active" + // 0 : "Function inactive" + uint8_t FIU_StyleIllGlobal_Req : 1; // Bits= 1 + + // Child lock prevents rear left tablet from removing from rear compartment + // 1 : "Function active" + // 0 : "Function inactive" + uint8_t FIU_ChildLock_RLtablet_Req : 1; // Bits= 1 + + // Request to activate the camera for video conferencing + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_ConfCamera_Req : 1; // Bits= 1 + + // Color theme presets for style ill + // 1 - AMETHYST + // 2 - LAPIS LAZU + // 3 - SAPPHIRE + // 4 - EMERALD + // 5 - AURUS + // 6 - RUBY + // 7 - PEARL + // 8 - Reserved + // 9 - MAJORELLE_TANZ + // 10 - AQUAMARINE + // 11 - CHRYSOLITE + // 12 - CRYSTAL + // 13 - AMBER + // 14 - PYROPE + // 15 - OPAL + // 16 - DIAMOND + // 15 : "Color theme 16" + // 14 : "Color theme 15" + // 13 : "Color theme 14" + // 12 : "Color theme 13" + // 11 : "Color theme 12" + // 10 : "Color theme 11" + // 9 : "Color theme 10" + // 8 : "Color theme 9" + // 7 : "Reserved" + // 6 : "Color theme 7" + // 5 : "Color theme 6" + // 4 : "Color theme 5" + // 3 : "Color theme 4" + // 2 : "Color theme 3" + // 1 : "Color theme 2" + // 0 : "Color theme 1" + uint8_t FIU_StyleIllTheme_Req : 4; // Bits= 4 + + // Child lock prevents rear right tablet from removing from rear compartment + // 1 : "Function active" + // 0 : "Function inactive" + uint8_t FIU_ChildLock_RRtablet_Req : 1; // Bits= 1 + + // Child lock prevents rear right door from opening from rear compartment + // 1 : "Function active" + // 0 : "Function inactive" + uint8_t FIU_ChildLock_RRdoor_Req : 1; // Bits= 1 + + // Child lock prevents rear central tablet from removing from rear compartment + // 1 : "Function active" + // 0 : "Function inactive" + uint8_t FIU_ChildLock_RCtablet_Req : 1; // Bits= 1 + + // Child lock prevents rear left door from opening from rear compartment + // 1 : "Function active" + // 0 : "Function inactive" + uint8_t FIU_ChildLock_RLdoor_Req : 1; // Bits= 1 + + // Request to BCM for actvatng a secial theme of styling lights,when user control the sytem via voice + // 1 : "Voice Command requested" + // 0 : "No Voice Command requested " + uint8_t FIU_StyleLghtVoice_Req : 1; // Bits= 1 + + // Disabling alarm system + // 1 : "Alarm system disabled" + // 0 : "Alarm system enabled" + uint8_t FIU_AlarmOFF_Req : 1; // Bits= 1 + + // Alarm doesn't activate when towing mode enabled (Motion sensor Inactive) + // 1 : "Request Active" + // 0 : "Request Inactive" + uint8_t FIU_MovementSensOFF_Req : 1; // Bits= 1 + + // Child lock prevents rear left window from opening from rear compartment + // 1 : "Function active" + // 0 : "Function inactive" + uint8_t FIU_ChildLock_RLwindow_Req : 1; // Bits= 1 + + // Cooling box temperature control + // 3 : "Normal 9�C Req" + // 2 : "Soft 5�C Req" + // 1 : "Off Req" + // 0 : "No change Req" + uint8_t FIU_CoolingBox_Req : 2; // Bits= 2 + + // Child lock prevents rear right window from opening from rear compartment + // 1 : "Function active" + // 0 : "Function inactive" + uint8_t FIU_ChildLock_RRwindow_Req : 1; // Bits= 1 + + // Selected road traffic side + // 1 : "Right-Hand" + // 0 : "Left-Hand" + uint8_t FIU_TrafficSide_Stat : 1; // Bits= 1 + + // 0x0: when external unlock request received at 1st time all doors shall unlock + // 0x1: when external unlock request received at 1st time only driver's door shall unlock, at 2nd time all doors shall unlock + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_UnlockExternal_Req : 1; // Bits= 1 + + // Style illumination brightness % + uint8_t FIU_StyleIllBright_Val : 7; // Bits= 7 Unit:'%' + + // Doors automatically unlocking after drive (selector in P position, ignition off) + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_UnlockAfterDrive_Req : 1; // Bits= 1 + +#else + + // Style illumination global ON/OFF + // 1 : "Function active" + // 0 : "Function inactive" + uint8_t FIU_StyleIllGlobal_Req; // Bits= 1 + + // Child lock prevents rear left tablet from removing from rear compartment + // 1 : "Function active" + // 0 : "Function inactive" + uint8_t FIU_ChildLock_RLtablet_Req; // Bits= 1 + + // Request to activate the camera for video conferencing + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_ConfCamera_Req; // Bits= 1 + + // Color theme presets for style ill + // 1 - AMETHYST + // 2 - LAPIS LAZU + // 3 - SAPPHIRE + // 4 - EMERALD + // 5 - AURUS + // 6 - RUBY + // 7 - PEARL + // 8 - Reserved + // 9 - MAJORELLE_TANZ + // 10 - AQUAMARINE + // 11 - CHRYSOLITE + // 12 - CRYSTAL + // 13 - AMBER + // 14 - PYROPE + // 15 - OPAL + // 16 - DIAMOND + // 15 : "Color theme 16" + // 14 : "Color theme 15" + // 13 : "Color theme 14" + // 12 : "Color theme 13" + // 11 : "Color theme 12" + // 10 : "Color theme 11" + // 9 : "Color theme 10" + // 8 : "Color theme 9" + // 7 : "Reserved" + // 6 : "Color theme 7" + // 5 : "Color theme 6" + // 4 : "Color theme 5" + // 3 : "Color theme 4" + // 2 : "Color theme 3" + // 1 : "Color theme 2" + // 0 : "Color theme 1" + uint8_t FIU_StyleIllTheme_Req; // Bits= 4 + + // Child lock prevents rear right tablet from removing from rear compartment + // 1 : "Function active" + // 0 : "Function inactive" + uint8_t FIU_ChildLock_RRtablet_Req; // Bits= 1 + + // Child lock prevents rear right door from opening from rear compartment + // 1 : "Function active" + // 0 : "Function inactive" + uint8_t FIU_ChildLock_RRdoor_Req; // Bits= 1 + + // Child lock prevents rear central tablet from removing from rear compartment + // 1 : "Function active" + // 0 : "Function inactive" + uint8_t FIU_ChildLock_RCtablet_Req; // Bits= 1 + + // Child lock prevents rear left door from opening from rear compartment + // 1 : "Function active" + // 0 : "Function inactive" + uint8_t FIU_ChildLock_RLdoor_Req; // Bits= 1 + + // Request to BCM for actvatng a secial theme of styling lights,when user control the sytem via voice + // 1 : "Voice Command requested" + // 0 : "No Voice Command requested " + uint8_t FIU_StyleLghtVoice_Req; // Bits= 1 + + // Disabling alarm system + // 1 : "Alarm system disabled" + // 0 : "Alarm system enabled" + uint8_t FIU_AlarmOFF_Req; // Bits= 1 + + // Alarm doesn't activate when towing mode enabled (Motion sensor Inactive) + // 1 : "Request Active" + // 0 : "Request Inactive" + uint8_t FIU_MovementSensOFF_Req; // Bits= 1 + + // Child lock prevents rear left window from opening from rear compartment + // 1 : "Function active" + // 0 : "Function inactive" + uint8_t FIU_ChildLock_RLwindow_Req; // Bits= 1 + + // Cooling box temperature control + // 3 : "Normal 9�C Req" + // 2 : "Soft 5�C Req" + // 1 : "Off Req" + // 0 : "No change Req" + uint8_t FIU_CoolingBox_Req; // Bits= 2 + + // Child lock prevents rear right window from opening from rear compartment + // 1 : "Function active" + // 0 : "Function inactive" + uint8_t FIU_ChildLock_RRwindow_Req; // Bits= 1 + + // Selected road traffic side + // 1 : "Right-Hand" + // 0 : "Left-Hand" + uint8_t FIU_TrafficSide_Stat; // Bits= 1 + + // 0x0: when external unlock request received at 1st time all doors shall unlock + // 0x1: when external unlock request received at 1st time only driver's door shall unlock, at 2nd time all doors shall unlock + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_UnlockExternal_Req; // Bits= 1 + + // Style illumination brightness % + uint8_t FIU_StyleIllBright_Val; // Bits= 7 Unit:'%' + + // Doors automatically unlocking after drive (selector in P position, ignition off) + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_UnlockAfterDrive_Req; // Bits= 1 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} FIU_Msg2_t; + +// def @ERAG_DATA_MSG CAN Message (1424 0x590) +#define ERAG_DATA_MSG_IDE (0U) +#define ERAG_DATA_MSG_DLC (3U) +#define ERAG_DATA_MSG_CANID (0x590U) +#define ERAG_DATA_MSG_CYC (1000U) + +// Value tables for @ERAG_FailureSts signal + +#ifndef ERAG_FailureSts_ERAG_DATA_MSG_Full_Failure +#define ERAG_FailureSts_ERAG_DATA_MSG_Full_Failure (6) +#endif + +#ifndef ERAG_FailureSts_ERAG_DATA_MSG_Unavailable_GSMGPRS +#define ERAG_FailureSts_ERAG_DATA_MSG_Unavailable_GSMGPRS (5) +#endif + +#ifndef ERAG_FailureSts_ERAG_DATA_MSG_Unavailable_GPS +#define ERAG_FailureSts_ERAG_DATA_MSG_Unavailable_GPS (4) +#endif + +#ifndef ERAG_FailureSts_ERAG_DATA_MSG_Unavailable_SOS_button +#define ERAG_FailureSts_ERAG_DATA_MSG_Unavailable_SOS_button (3) +#endif + +#ifndef ERAG_FailureSts_ERAG_DATA_MSG_Unavailable_speaker +#define ERAG_FailureSts_ERAG_DATA_MSG_Unavailable_speaker (2) +#endif + +#ifndef ERAG_FailureSts_ERAG_DATA_MSG_Unavailable_microphone +#define ERAG_FailureSts_ERAG_DATA_MSG_Unavailable_microphone (1) +#endif + +#ifndef ERAG_FailureSts_ERAG_DATA_MSG_No_Failure +#define ERAG_FailureSts_ERAG_DATA_MSG_No_Failure (0) +#endif + + +// Value tables for @ERAG_MuteReq signal + +#ifndef ERAG_MuteReq_ERAG_DATA_MSG_Mute_Active +#define ERAG_MuteReq_ERAG_DATA_MSG_Mute_Active (1) +#endif + +#ifndef ERAG_MuteReq_ERAG_DATA_MSG_Mute_Inactive +#define ERAG_MuteReq_ERAG_DATA_MSG_Mute_Inactive (0) +#endif + + +// Value tables for @ERAG_Status signal + +#ifndef ERAG_Status_ERAG_DATA_MSG_undefined +#define ERAG_Status_ERAG_DATA_MSG_undefined (31) +#endif + +#ifndef ERAG_Status_ERAG_DATA_MSG_not_used +#define ERAG_Status_ERAG_DATA_MSG_not_used (30) +#endif + +#ifndef ERAG_Status_ERAG_DATA_MSG_ +#define ERAG_Status_ERAG_DATA_MSG_ (19) +#endif + +#ifndef ERAG_Status_ERAG_DATA_MSG_not_used +#define ERAG_Status_ERAG_DATA_MSG_not_used (18) +#endif + +#ifndef ERAG_Status_ERAG_DATA_MSG_not_initialized +#define ERAG_Status_ERAG_DATA_MSG_not_initialized (17) +#endif + +#ifndef ERAG_Status_ERAG_DATA_MSG_incoming_call +#define ERAG_Status_ERAG_DATA_MSG_incoming_call (16) +#endif + +#ifndef ERAG_Status_ERAG_DATA_MSG_MSD_sends +#define ERAG_Status_ERAG_DATA_MSG_MSD_sends (15) +#endif + +#ifndef ERAG_Status_ERAG_DATA_MSG_sleep_pin +#define ERAG_Status_ERAG_DATA_MSG_sleep_pin (14) +#endif + +#ifndef ERAG_Status_ERAG_DATA_MSG_enable_sleep +#define ERAG_Status_ERAG_DATA_MSG_enable_sleep (13) +#endif + +#ifndef ERAG_Status_ERAG_DATA_MSG_dial +#define ERAG_Status_ERAG_DATA_MSG_dial (12) +#endif + +#ifndef ERAG_Status_ERAG_DATA_MSG_call_preparation +#define ERAG_Status_ERAG_DATA_MSG_call_preparation (11) +#endif + +#ifndef ERAG_Status_ERAG_DATA_MSG_registration +#define ERAG_Status_ERAG_DATA_MSG_registration (10) +#endif + +#ifndef ERAG_Status_ERAG_DATA_MSG_SERV_comm +#define ERAG_Status_ERAG_DATA_MSG_SERV_comm (9) +#endif + +#ifndef ERAG_Status_ERAG_DATA_MSG_SOS_comm +#define ERAG_Status_ERAG_DATA_MSG_SOS_comm (8) +#endif + +#ifndef ERAG_Status_ERAG_DATA_MSG_testing_sound_condition +#define ERAG_Status_ERAG_DATA_MSG_testing_sound_condition (7) +#endif + +#ifndef ERAG_Status_ERAG_DATA_MSG_testing_other +#define ERAG_Status_ERAG_DATA_MSG_testing_other (6) +#endif + +#ifndef ERAG_Status_ERAG_DATA_MSG_testing_w3 +#define ERAG_Status_ERAG_DATA_MSG_testing_w3 (5) +#endif + +#ifndef ERAG_Status_ERAG_DATA_MSG_testing_w2 +#define ERAG_Status_ERAG_DATA_MSG_testing_w2 (4) +#endif + +#ifndef ERAG_Status_ERAG_DATA_MSG_testing_w1 +#define ERAG_Status_ERAG_DATA_MSG_testing_w1 (3) +#endif + +#ifndef ERAG_Status_ERAG_DATA_MSG_sleep +#define ERAG_Status_ERAG_DATA_MSG_sleep (2) +#endif + +#ifndef ERAG_Status_ERAG_DATA_MSG_idle +#define ERAG_Status_ERAG_DATA_MSG_idle (1) +#endif + +#ifndef ERAG_Status_ERAG_DATA_MSG_initializing +#define ERAG_Status_ERAG_DATA_MSG_initializing (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Indicates the ERAG failures status: + // Bitwise indication: + // - bit position 0 set = Unavailable microphone + // - bit position 1 set = Unavailable speaker + // - bit position 2 set = No connection + // - bit position 3 set = Reserved + // 6 : "Full Failure" + // 5 : "Unavailable GSM/GPRS" + // 4 : "Unavailable GPS" + // 3 : "Unavailable SOS button" + // 2 : "Unavailable speaker" + // 1 : "Unavailable microphone" + // 0 : "No Failure" + uint8_t ERAG_FailureSts : 4; // Bits= 4 + + // Mute command + // 0x0 = Mute Inactive + // 0x1 = Mute Active + // 1 : "Mute Active" + // 0 : "Mute Inactive" + uint8_t ERAG_MuteReq : 1; // Bits= 1 + + // Indicates the ERAG status + // 31 : "undefined" + // 30 : "not_used" + // 19 : "..." + // 18 : "not_used" + // 17 : "not_initialized" + // 16 : "incoming_call" + // 15 : "MSD_sends" + // 14 : "sleep_pin" + // 13 : "enable_sleep" + // 12 : "dial" + // 11 : "call_preparation" + // 10 : "registration" + // 9 : "SERV_comm" + // 8 : "SOS_comm" + // 7 : "testing_sound condition" + // 6 : "testing_other" + // 5 : "testing_w3" + // 4 : "testing_w2" + // 3 : "testing_w1" + // 2 : "sleep" + // 1 : "idle" + // 0 : "initializing" + uint8_t ERAG_Status; // Bits= 8 + +#else + + // Indicates the ERAG failures status: + // Bitwise indication: + // - bit position 0 set = Unavailable microphone + // - bit position 1 set = Unavailable speaker + // - bit position 2 set = No connection + // - bit position 3 set = Reserved + // 6 : "Full Failure" + // 5 : "Unavailable GSM/GPRS" + // 4 : "Unavailable GPS" + // 3 : "Unavailable SOS button" + // 2 : "Unavailable speaker" + // 1 : "Unavailable microphone" + // 0 : "No Failure" + uint8_t ERAG_FailureSts; // Bits= 4 + + // Mute command + // 0x0 = Mute Inactive + // 0x1 = Mute Active + // 1 : "Mute Active" + // 0 : "Mute Inactive" + uint8_t ERAG_MuteReq; // Bits= 1 + + // Indicates the ERAG status + // 31 : "undefined" + // 30 : "not_used" + // 19 : "..." + // 18 : "not_used" + // 17 : "not_initialized" + // 16 : "incoming_call" + // 15 : "MSD_sends" + // 14 : "sleep_pin" + // 13 : "enable_sleep" + // 12 : "dial" + // 11 : "call_preparation" + // 10 : "registration" + // 9 : "SERV_comm" + // 8 : "SOS_comm" + // 7 : "testing_sound condition" + // 6 : "testing_other" + // 5 : "testing_w3" + // 4 : "testing_w2" + // 3 : "testing_w1" + // 2 : "sleep" + // 1 : "idle" + // 0 : "initializing" + uint8_t ERAG_Status; // Bits= 8 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} ERAG_DATA_MSG_t; + +// def @FIU_Msg3 CAN Message (1428 0x594) +#define FIU_Msg3_IDE (0U) +#define FIU_Msg3_DLC (8U) +#define FIU_Msg3_CANID (0x594U) + +// Value tables for @FIU_ArmrestHeatFL_Req signal + +#ifndef FIU_ArmrestHeatFL_Req_FIU_Msg3_Active +#define FIU_ArmrestHeatFL_Req_FIU_Msg3_Active (1) +#endif + +#ifndef FIU_ArmrestHeatFL_Req_FIU_Msg3_Inactive +#define FIU_ArmrestHeatFL_Req_FIU_Msg3_Inactive (0) +#endif + + +// Value tables for @FIU_ArmrestHeatFR_Req signal + +#ifndef FIU_ArmrestHeatFR_Req_FIU_Msg3_Active +#define FIU_ArmrestHeatFR_Req_FIU_Msg3_Active (1) +#endif + +#ifndef FIU_ArmrestHeatFR_Req_FIU_Msg3_Inactive +#define FIU_ArmrestHeatFR_Req_FIU_Msg3_Inactive (0) +#endif + + +// Value tables for @FIU_ArmrestHeatRL_Req signal + +#ifndef FIU_ArmrestHeatRL_Req_FIU_Msg3_Active +#define FIU_ArmrestHeatRL_Req_FIU_Msg3_Active (1) +#endif + +#ifndef FIU_ArmrestHeatRL_Req_FIU_Msg3_Inactive +#define FIU_ArmrestHeatRL_Req_FIU_Msg3_Inactive (0) +#endif + + +// Value tables for @FIU_ArmrestHeatRR_Req signal + +#ifndef FIU_ArmrestHeatRR_Req_FIU_Msg3_Active +#define FIU_ArmrestHeatRR_Req_FIU_Msg3_Active (1) +#endif + +#ifndef FIU_ArmrestHeatRR_Req_FIU_Msg3_Inactive +#define FIU_ArmrestHeatRR_Req_FIU_Msg3_Inactive (0) +#endif + + +// Value tables for @FIU_FL_Synx_Req signal + +#ifndef FIU_FL_Synx_Req_FIU_Msg3_No_synx +#define FIU_FL_Synx_Req_FIU_Msg3_No_synx (2) +#endif + +#ifndef FIU_FL_Synx_Req_FIU_Msg3_Synx +#define FIU_FL_Synx_Req_FIU_Msg3_Synx (1) +#endif + +#ifndef FIU_FL_Synx_Req_FIU_Msg3_No_change +#define FIU_FL_Synx_Req_FIU_Msg3_No_change (0) +#endif + + +// Value tables for @FIU_FR_Synx_Req signal + +#ifndef FIU_FR_Synx_Req_FIU_Msg3_No_synx +#define FIU_FR_Synx_Req_FIU_Msg3_No_synx (2) +#endif + +#ifndef FIU_FR_Synx_Req_FIU_Msg3_Synx +#define FIU_FR_Synx_Req_FIU_Msg3_Synx (1) +#endif + +#ifndef FIU_FR_Synx_Req_FIU_Msg3_No_change +#define FIU_FR_Synx_Req_FIU_Msg3_No_change (0) +#endif + + +// Value tables for @FIU_RL_Synx_Req signal + +#ifndef FIU_RL_Synx_Req_FIU_Msg3_No_synx +#define FIU_RL_Synx_Req_FIU_Msg3_No_synx (2) +#endif + +#ifndef FIU_RL_Synx_Req_FIU_Msg3_Synx +#define FIU_RL_Synx_Req_FIU_Msg3_Synx (1) +#endif + +#ifndef FIU_RL_Synx_Req_FIU_Msg3_No_change +#define FIU_RL_Synx_Req_FIU_Msg3_No_change (0) +#endif + + +// Value tables for @FIU_RR_Synx_Req signal + +#ifndef FIU_RR_Synx_Req_FIU_Msg3_No_synx +#define FIU_RR_Synx_Req_FIU_Msg3_No_synx (2) +#endif + +#ifndef FIU_RR_Synx_Req_FIU_Msg3_Synx +#define FIU_RR_Synx_Req_FIU_Msg3_Synx (1) +#endif + +#ifndef FIU_RR_Synx_Req_FIU_Msg3_No_change +#define FIU_RR_Synx_Req_FIU_Msg3_No_change (0) +#endif + + +// Value tables for @FIU_SchedTue_Stat signal + +#ifndef FIU_SchedTue_Stat_FIU_Msg3_Inactive +#define FIU_SchedTue_Stat_FIU_Msg3_Inactive (0) +#endif + +#ifndef FIU_SchedTue_Stat_FIU_Msg3_Active +#define FIU_SchedTue_Stat_FIU_Msg3_Active (1) +#endif + + +// Value tables for @FIU_SchedWed_Stat signal + +#ifndef FIU_SchedWed_Stat_FIU_Msg3_Inactive +#define FIU_SchedWed_Stat_FIU_Msg3_Inactive (0) +#endif + +#ifndef FIU_SchedWed_Stat_FIU_Msg3_Active +#define FIU_SchedWed_Stat_FIU_Msg3_Active (1) +#endif + + +// Value tables for @FIU_SchedThu_Stat signal + +#ifndef FIU_SchedThu_Stat_FIU_Msg3_Inactive +#define FIU_SchedThu_Stat_FIU_Msg3_Inactive (0) +#endif + +#ifndef FIU_SchedThu_Stat_FIU_Msg3_Active +#define FIU_SchedThu_Stat_FIU_Msg3_Active (1) +#endif + + +// Value tables for @FIU_SchedFri_Stat signal + +#ifndef FIU_SchedFri_Stat_FIU_Msg3_Inactive +#define FIU_SchedFri_Stat_FIU_Msg3_Inactive (0) +#endif + +#ifndef FIU_SchedFri_Stat_FIU_Msg3_Active +#define FIU_SchedFri_Stat_FIU_Msg3_Active (1) +#endif + + +// Value tables for @FIU_ICimage_Req signal + +#ifndef FIU_ICimage_Req_FIU_Msg3_Image_3 +#define FIU_ICimage_Req_FIU_Msg3_Image_3 (3) +#endif + +#ifndef FIU_ICimage_Req_FIU_Msg3_Image_2 +#define FIU_ICimage_Req_FIU_Msg3_Image_2 (2) +#endif + +#ifndef FIU_ICimage_Req_FIU_Msg3_Image_1 +#define FIU_ICimage_Req_FIU_Msg3_Image_1 (1) +#endif + +#ifndef FIU_ICimage_Req_FIU_Msg3_No_action +#define FIU_ICimage_Req_FIU_Msg3_No_action (0) +#endif + + +// Value tables for @FIU_ProjectionOnRoad_Req signal + +#ifndef FIU_ProjectionOnRoad_Req_FIU_Msg3_Active +#define FIU_ProjectionOnRoad_Req_FIU_Msg3_Active (1) +#endif + +#ifndef FIU_ProjectionOnRoad_Req_FIU_Msg3_Inactive +#define FIU_ProjectionOnRoad_Req_FIU_Msg3_Inactive (0) +#endif + + +// Value tables for @FIU_RearSideWindowsElcrome_Req signal + +#ifndef FIU_RearSideWindowsElcrome_Req_FIU_Msg3_Strong +#define FIU_RearSideWindowsElcrome_Req_FIU_Msg3_Strong (3) +#endif + +#ifndef FIU_RearSideWindowsElcrome_Req_FIU_Msg3_Medium +#define FIU_RearSideWindowsElcrome_Req_FIU_Msg3_Medium (2) +#endif + +#ifndef FIU_RearSideWindowsElcrome_Req_FIU_Msg3_Soft +#define FIU_RearSideWindowsElcrome_Req_FIU_Msg3_Soft (1) +#endif + +#ifndef FIU_RearSideWindowsElcrome_Req_FIU_Msg3_No_action +#define FIU_RearSideWindowsElcrome_Req_FIU_Msg3_No_action (0) +#endif + + +// Value tables for @FIU_ProjectionRoadSigns_Req signal + +#ifndef FIU_ProjectionRoadSigns_Req_FIU_Msg3_Active +#define FIU_ProjectionRoadSigns_Req_FIU_Msg3_Active (1) +#endif + +#ifndef FIU_ProjectionRoadSigns_Req_FIU_Msg3_Inactive +#define FIU_ProjectionRoadSigns_Req_FIU_Msg3_Inactive (0) +#endif + + +// Value tables for @FIU_ProjectionNavigation_Req signal + +#ifndef FIU_ProjectionNavigation_Req_FIU_Msg3_Inactive +#define FIU_ProjectionNavigation_Req_FIU_Msg3_Inactive (0) +#endif + +#ifndef FIU_ProjectionNavigation_Req_FIU_Msg3_Active +#define FIU_ProjectionNavigation_Req_FIU_Msg3_Active (1) +#endif + + +// Value tables for @FIU_ProjectionLiveObj_Req signal + +#ifndef FIU_ProjectionLiveObj_Req_FIU_Msg3_Active +#define FIU_ProjectionLiveObj_Req_FIU_Msg3_Active (1) +#endif + +#ifndef FIU_ProjectionLiveObj_Req_FIU_Msg3_Inactive +#define FIU_ProjectionLiveObj_Req_FIU_Msg3_Inactive (0) +#endif + + +// Value tables for @FIU_SchedSat_Stat signal + +#ifndef FIU_SchedSat_Stat_FIU_Msg3_Inactive +#define FIU_SchedSat_Stat_FIU_Msg3_Inactive (0) +#endif + +#ifndef FIU_SchedSat_Stat_FIU_Msg3_Active +#define FIU_SchedSat_Stat_FIU_Msg3_Active (1) +#endif + + +// Value tables for @FIU_SchedSu_Stat signal + +#ifndef FIU_SchedSu_Stat_FIU_Msg3_Inactive +#define FIU_SchedSu_Stat_FIU_Msg3_Inactive (0) +#endif + +#ifndef FIU_SchedSu_Stat_FIU_Msg3_Active +#define FIU_SchedSu_Stat_FIU_Msg3_Active (1) +#endif + + +// Value tables for @FIU_SchedStart_Stat signal + +#ifndef FIU_SchedStart_Stat_FIU_Msg3_Inactive +#define FIU_SchedStart_Stat_FIU_Msg3_Inactive (0) +#endif + +#ifndef FIU_SchedStart_Stat_FIU_Msg3_Active +#define FIU_SchedStart_Stat_FIU_Msg3_Active (1) +#endif + + +// Value tables for @FIU_ChrgLim_Val signal + +#ifndef FIU_ChrgLim_Val_FIU_Msg3_set_100__limit +#define FIU_ChrgLim_Val_FIU_Msg3_set_100__limit (7) +#endif + +#ifndef FIU_ChrgLim_Val_FIU_Msg3_set_90__limit +#define FIU_ChrgLim_Val_FIU_Msg3_set_90__limit (6) +#endif + +#ifndef FIU_ChrgLim_Val_FIU_Msg3_set_80__limit +#define FIU_ChrgLim_Val_FIU_Msg3_set_80__limit (5) +#endif + +#ifndef FIU_ChrgLim_Val_FIU_Msg3_set_70__limit +#define FIU_ChrgLim_Val_FIU_Msg3_set_70__limit (4) +#endif + +#ifndef FIU_ChrgLim_Val_FIU_Msg3_set_60__limit +#define FIU_ChrgLim_Val_FIU_Msg3_set_60__limit (3) +#endif + +#ifndef FIU_ChrgLim_Val_FIU_Msg3_Reserved +#define FIU_ChrgLim_Val_FIU_Msg3_Reserved (2) +#endif + +#ifndef FIU_ChrgLim_Val_FIU_Msg3_Reserved +#define FIU_ChrgLim_Val_FIU_Msg3_Reserved (1) +#endif + +#ifndef FIU_ChrgLim_Val_FIU_Msg3_No_change +#define FIU_ChrgLim_Val_FIU_Msg3_No_change (0) +#endif + + +// Value tables for @FIU_DischrgLim_Val signal + +#ifndef FIU_DischrgLim_Val_FIU_Msg3_Reserved +#define FIU_DischrgLim_Val_FIU_Msg3_Reserved (7) +#endif + +#ifndef FIU_DischrgLim_Val_FIU_Msg3_set_60__limit +#define FIU_DischrgLim_Val_FIU_Msg3_set_60__limit (6) +#endif + +#ifndef FIU_DischrgLim_Val_FIU_Msg3_set_50__limit +#define FIU_DischrgLim_Val_FIU_Msg3_set_50__limit (5) +#endif + +#ifndef FIU_DischrgLim_Val_FIU_Msg3_set_40__limit +#define FIU_DischrgLim_Val_FIU_Msg3_set_40__limit (4) +#endif + +#ifndef FIU_DischrgLim_Val_FIU_Msg3_set_30__limit +#define FIU_DischrgLim_Val_FIU_Msg3_set_30__limit (3) +#endif + +#ifndef FIU_DischrgLim_Val_FIU_Msg3_set_20__limit +#define FIU_DischrgLim_Val_FIU_Msg3_set_20__limit (2) +#endif + +#ifndef FIU_DischrgLim_Val_FIU_Msg3_Reserved +#define FIU_DischrgLim_Val_FIU_Msg3_Reserved (1) +#endif + +#ifndef FIU_DischrgLim_Val_FIU_Msg3_No_change +#define FIU_DischrgLim_Val_FIU_Msg3_No_change (0) +#endif + + +// Value tables for @FIU_ReduceChrgCurr_Stat signal + +#ifndef FIU_ReduceChrgCurr_Stat_FIU_Msg3_Inactive +#define FIU_ReduceChrgCurr_Stat_FIU_Msg3_Inactive (0) +#endif + +#ifndef FIU_ReduceChrgCurr_Stat_FIU_Msg3_Active +#define FIU_ReduceChrgCurr_Stat_FIU_Msg3_Active (1) +#endif + + +// Value tables for @FIU_SchedMon_Stat signal + +#ifndef FIU_SchedMon_Stat_FIU_Msg3_Inactive +#define FIU_SchedMon_Stat_FIU_Msg3_Inactive (0) +#endif + +#ifndef FIU_SchedMon_Stat_FIU_Msg3_Active +#define FIU_SchedMon_Stat_FIU_Msg3_Active (1) +#endif + +// signal: @FIU_Sched_StartTimeMinutes_Val_ro +#define CANDB_FIU_Sched_StartTimeMinutes_Val_ro_CovFactor (5) +#define CANDB_FIU_Sched_StartTimeMinutes_Val_ro_toS(x) ( (uint8_t) ((x) / (5)) ) +#define CANDB_FIU_Sched_StartTimeMinutes_Val_ro_fromS(x) ( ((x) * (5)) ) +// signal: @FIU_Sched_EndTimeMinutes_Val_ro +#define CANDB_FIU_Sched_EndTimeMinutes_Val_ro_CovFactor (5) +#define CANDB_FIU_Sched_EndTimeMinutes_Val_ro_toS(x) ( (uint8_t) ((x) / (5)) ) +#define CANDB_FIU_Sched_EndTimeMinutes_Val_ro_fromS(x) ( ((x) * (5)) ) + +// Value tables for @FIU_SchedEnd_Stat signal + +#ifndef FIU_SchedEnd_Stat_FIU_Msg3_Inactive +#define FIU_SchedEnd_Stat_FIU_Msg3_Inactive (0) +#endif + +#ifndef FIU_SchedEnd_Stat_FIU_Msg3_Active +#define FIU_SchedEnd_Stat_FIU_Msg3_Active (1) +#endif + + +// Value tables for @FIU_PrepearClim_Stat signal + +#ifndef FIU_PrepearClim_Stat_FIU_Msg3_Inactive +#define FIU_PrepearClim_Stat_FIU_Msg3_Inactive (0) +#endif + +#ifndef FIU_PrepearClim_Stat_FIU_Msg3_Active +#define FIU_PrepearClim_Stat_FIU_Msg3_Active (1) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Armrest heating request for front left zone + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_ArmrestHeatFL_Req : 1; // Bits= 1 + + // Armrest heating request for front right zone + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_ArmrestHeatFR_Req : 1; // Bits= 1 + + // Armrest heating request for rear left zone + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_ArmrestHeatRL_Req : 1; // Bits= 1 + + // Armrest heating request for rear right zone + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_ArmrestHeatRR_Req : 1; // Bits= 1 + + // SYNX mode command + // 2 : "No synx" + // 1 : "Synx" + // 0 : "No change" + uint8_t FIU_FL_Synx_Req : 2; // Bits= 2 + + // SYNX mode command + // 2 : "No synx" + // 1 : "Synx" + // 0 : "No change" + uint8_t FIU_FR_Synx_Req : 2; // Bits= 2 + + // SYNX mode command + // 2 : "No synx" + // 1 : "Synx" + // 0 : "No change" + uint8_t FIU_RL_Synx_Req : 2; // Bits= 2 + + // SYNX mode command + // 2 : "No synx" + // 1 : "Synx" + // 0 : "No change" + uint8_t FIU_RR_Synx_Req : 2; // Bits= 2 + + // Repeat function in Tuesday + // 0 : "Inactive" + // 1 : "Active" + uint8_t FIU_SchedTue_Stat : 1; // Bits= 1 + + // Repeat function in Wednesday + // 0 : "Inactive" + // 1 : "Active" + uint8_t FIU_SchedWed_Stat : 1; // Bits= 1 + + // Repeat function in Thursday + // 0 : "Inactive" + // 1 : "Active" + uint8_t FIU_SchedThu_Stat : 1; // Bits= 1 + + // Repeat function in Friday + // 0 : "Inactive" + // 1 : "Active" + uint8_t FIU_SchedFri_Stat : 1; // Bits= 1 + + // IC image changing request + // 3 : "Image 3" + // 2 : "Image 2" + // 1 : "Image 1" + // 0 : "No action" + uint8_t FIU_ICimage_Req : 2; // Bits= 2 + + // Projection on a road enable request + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_ProjectionOnRoad_Req : 1; // Bits= 1 + + // Request for dimming rear side windows + // 3 : "Strong" + // 2 : "Medium" + // 1 : "Soft" + // 0 : "No action" + uint8_t FIU_RearSideWindowsElcrome_Req : 2; // Bits= 2 + + // Projection of road signs enable request + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_ProjectionRoadSigns_Req : 1; // Bits= 1 + + // Projection of navigatoon system enable request + // 0 : "Inactive" + // 1 : "Active" + uint8_t FIU_ProjectionNavigation_Req : 1; // Bits= 1 + + // Projection of recognized live objects enable request + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_ProjectionLiveObj_Req : 1; // Bits= 1 + + // Repeat function in Saturday + // 0 : "Inactive" + // 1 : "Active" + uint8_t FIU_SchedSat_Stat : 1; // Bits= 1 + + // Repeat function in Sunday + // 0 : "Inactive" + // 1 : "Active" + uint8_t FIU_SchedSu_Stat : 1; // Bits= 1 + + // Start charging time (Hours) + uint8_t FIU_Sched_StartTimeHours_Val : 5; // Bits= 5 Unit:'h' + + // Activate/Deactivate charging start timer + // 0 : "Inactive" + // 1 : "Active" + uint8_t FIU_SchedStart_Stat : 1; // Bits= 1 + + // Set battery charging limit + // 7 : "set 100 % limit" + // 6 : "set 90 % limit" + // 5 : "set 80 % limit" + // 4 : "set 70 % limit" + // 3 : "set 60 % limit" + // 2 : "Reserved" + // 1 : "Reserved" + // 0 : "No change" + uint8_t FIU_ChrgLim_Val : 3; // Bits= 3 + + // Set battery discharging limit + // 7 : "Reserved" + // 6 : "set 60 % limit" + // 5 : "set 50 % limit" + // 4 : "set 40 % limit" + // 3 : "set 30 % limit" + // 2 : "set 20 % limit" + // 1 : "Reserved" + // 0 : "No change" + uint8_t FIU_DischrgLim_Val : 3; // Bits= 3 + + // On/OFF Reduce charging current function + // 0 : "Inactive" + // 1 : "Active" + uint8_t FIU_ReduceChrgCurr_Stat : 1; // Bits= 1 + + // Repeat function in Monday + // 0 : "Inactive" + // 1 : "Active" + uint8_t FIU_SchedMon_Stat : 1; // Bits= 1 + + // Start charging time (Minutes) + uint8_t FIU_Sched_StartTimeMinutes_Val_ro : 4; // Bits= 4 Factor= 5 Unit:'min' + +#ifdef CANDB_USE_SIGFLOAT + uint8_t FIU_Sched_StartTimeMinutes_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // End charging time (Minutes) + uint8_t FIU_Sched_EndTimeMinutes_Val_ro : 4; // Bits= 4 Factor= 5 Unit:'min' + +#ifdef CANDB_USE_SIGFLOAT + uint8_t FIU_Sched_EndTimeMinutes_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // End charging time (Hours) + uint8_t FIU_Sched_EndTimeHours_Val : 5; // Bits= 5 Unit:'h' + + // Activate/Deactivate charging end timer + // 0 : "Inactive" + // 1 : "Active" + uint8_t FIU_SchedEnd_Stat : 1; // Bits= 1 + + // Activate/Deactivate Pre-conditional climate at end + // 0 : "Inactive" + // 1 : "Active" + uint8_t FIU_PrepearClim_Stat : 1; // Bits= 1 + +#else + + // Armrest heating request for front left zone + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_ArmrestHeatFL_Req; // Bits= 1 + + // Armrest heating request for front right zone + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_ArmrestHeatFR_Req; // Bits= 1 + + // Armrest heating request for rear left zone + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_ArmrestHeatRL_Req; // Bits= 1 + + // Armrest heating request for rear right zone + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_ArmrestHeatRR_Req; // Bits= 1 + + // SYNX mode command + // 2 : "No synx" + // 1 : "Synx" + // 0 : "No change" + uint8_t FIU_FL_Synx_Req; // Bits= 2 + + // SYNX mode command + // 2 : "No synx" + // 1 : "Synx" + // 0 : "No change" + uint8_t FIU_FR_Synx_Req; // Bits= 2 + + // SYNX mode command + // 2 : "No synx" + // 1 : "Synx" + // 0 : "No change" + uint8_t FIU_RL_Synx_Req; // Bits= 2 + + // SYNX mode command + // 2 : "No synx" + // 1 : "Synx" + // 0 : "No change" + uint8_t FIU_RR_Synx_Req; // Bits= 2 + + // Repeat function in Tuesday + // 0 : "Inactive" + // 1 : "Active" + uint8_t FIU_SchedTue_Stat; // Bits= 1 + + // Repeat function in Wednesday + // 0 : "Inactive" + // 1 : "Active" + uint8_t FIU_SchedWed_Stat; // Bits= 1 + + // Repeat function in Thursday + // 0 : "Inactive" + // 1 : "Active" + uint8_t FIU_SchedThu_Stat; // Bits= 1 + + // Repeat function in Friday + // 0 : "Inactive" + // 1 : "Active" + uint8_t FIU_SchedFri_Stat; // Bits= 1 + + // IC image changing request + // 3 : "Image 3" + // 2 : "Image 2" + // 1 : "Image 1" + // 0 : "No action" + uint8_t FIU_ICimage_Req; // Bits= 2 + + // Projection on a road enable request + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_ProjectionOnRoad_Req; // Bits= 1 + + // Request for dimming rear side windows + // 3 : "Strong" + // 2 : "Medium" + // 1 : "Soft" + // 0 : "No action" + uint8_t FIU_RearSideWindowsElcrome_Req; // Bits= 2 + + // Projection of road signs enable request + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_ProjectionRoadSigns_Req; // Bits= 1 + + // Projection of navigatoon system enable request + // 0 : "Inactive" + // 1 : "Active" + uint8_t FIU_ProjectionNavigation_Req; // Bits= 1 + + // Projection of recognized live objects enable request + // 1 : "Active" + // 0 : "Inactive" + uint8_t FIU_ProjectionLiveObj_Req; // Bits= 1 + + // Repeat function in Saturday + // 0 : "Inactive" + // 1 : "Active" + uint8_t FIU_SchedSat_Stat; // Bits= 1 + + // Repeat function in Sunday + // 0 : "Inactive" + // 1 : "Active" + uint8_t FIU_SchedSu_Stat; // Bits= 1 + + // Start charging time (Hours) + uint8_t FIU_Sched_StartTimeHours_Val; // Bits= 5 Unit:'h' + + // Activate/Deactivate charging start timer + // 0 : "Inactive" + // 1 : "Active" + uint8_t FIU_SchedStart_Stat; // Bits= 1 + + // Set battery charging limit + // 7 : "set 100 % limit" + // 6 : "set 90 % limit" + // 5 : "set 80 % limit" + // 4 : "set 70 % limit" + // 3 : "set 60 % limit" + // 2 : "Reserved" + // 1 : "Reserved" + // 0 : "No change" + uint8_t FIU_ChrgLim_Val; // Bits= 3 + + // Set battery discharging limit + // 7 : "Reserved" + // 6 : "set 60 % limit" + // 5 : "set 50 % limit" + // 4 : "set 40 % limit" + // 3 : "set 30 % limit" + // 2 : "set 20 % limit" + // 1 : "Reserved" + // 0 : "No change" + uint8_t FIU_DischrgLim_Val; // Bits= 3 + + // On/OFF Reduce charging current function + // 0 : "Inactive" + // 1 : "Active" + uint8_t FIU_ReduceChrgCurr_Stat; // Bits= 1 + + // Repeat function in Monday + // 0 : "Inactive" + // 1 : "Active" + uint8_t FIU_SchedMon_Stat; // Bits= 1 + + // Start charging time (Minutes) + uint8_t FIU_Sched_StartTimeMinutes_Val_ro; // Bits= 4 Factor= 5 Unit:'min' + +#ifdef CANDB_USE_SIGFLOAT + uint8_t FIU_Sched_StartTimeMinutes_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // End charging time (Minutes) + uint8_t FIU_Sched_EndTimeMinutes_Val_ro; // Bits= 4 Factor= 5 Unit:'min' + +#ifdef CANDB_USE_SIGFLOAT + uint8_t FIU_Sched_EndTimeMinutes_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // End charging time (Hours) + uint8_t FIU_Sched_EndTimeHours_Val; // Bits= 5 Unit:'h' + + // Activate/Deactivate charging end timer + // 0 : "Inactive" + // 1 : "Active" + uint8_t FIU_SchedEnd_Stat; // Bits= 1 + + // Activate/Deactivate Pre-conditional climate at end + // 0 : "Inactive" + // 1 : "Active" + uint8_t FIU_PrepearClim_Stat; // Bits= 1 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} FIU_Msg3_t; + +// def @FIU_EngMenu CAN Message (1429 0x595) +#define FIU_EngMenu_IDE (0U) +#define FIU_EngMenu_DLC (8U) +#define FIU_EngMenu_CANID (0x595U) + +// Value tables for @FIU_EngMenuTabLock_RL_Req signal + +#ifndef FIU_EngMenuTabLock_RL_Req_FIU_EngMenu_Unlock +#define FIU_EngMenuTabLock_RL_Req_FIU_EngMenu_Unlock (1) +#endif + +#ifndef FIU_EngMenuTabLock_RL_Req_FIU_EngMenu_No_action +#define FIU_EngMenuTabLock_RL_Req_FIU_EngMenu_No_action (0) +#endif + + +// Value tables for @FIU_EngMenuTabLock_RR_Req signal + +#ifndef FIU_EngMenuTabLock_RR_Req_FIU_EngMenu_Unlock +#define FIU_EngMenuTabLock_RR_Req_FIU_EngMenu_Unlock (1) +#endif + +#ifndef FIU_EngMenuTabLock_RR_Req_FIU_EngMenu_No_action +#define FIU_EngMenuTabLock_RR_Req_FIU_EngMenu_No_action (0) +#endif + + +// Value tables for @FIU_EngMenuTabLock_RC_Req signal + +#ifndef FIU_EngMenuTabLock_RC_Req_FIU_EngMenu_Unlock +#define FIU_EngMenuTabLock_RC_Req_FIU_EngMenu_Unlock (1) +#endif + +#ifndef FIU_EngMenuTabLock_RC_Req_FIU_EngMenu_No_action +#define FIU_EngMenuTabLock_RC_Req_FIU_EngMenu_No_action (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Rear left tablet lock via engineering menu + // 1 : "Unlock" + // 0 : "No action" + uint8_t FIU_EngMenuTabLock_RL_Req : 1; // Bits= 1 + + // Rear right tablet lock via engineering menu + // 1 : "Unlock" + // 0 : "No action" + uint8_t FIU_EngMenuTabLock_RR_Req : 1; // Bits= 1 + + // Rear center tablet lock via engineering menu + // 1 : "Unlock" + // 0 : "No action" + uint8_t FIU_EngMenuTabLock_RC_Req : 1; // Bits= 1 + +#else + + // Rear left tablet lock via engineering menu + // 1 : "Unlock" + // 0 : "No action" + uint8_t FIU_EngMenuTabLock_RL_Req; // Bits= 1 + + // Rear right tablet lock via engineering menu + // 1 : "Unlock" + // 0 : "No action" + uint8_t FIU_EngMenuTabLock_RR_Req; // Bits= 1 + + // Rear center tablet lock via engineering menu + // 1 : "Unlock" + // 0 : "No action" + uint8_t FIU_EngMenuTabLock_RC_Req; // Bits= 1 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} FIU_EngMenu_t; + +// def @WHFL_MSG1 CAN Message (1430 0x596) +#define WHFL_MSG1_IDE (0U) +#define WHFL_MSG1_DLC (8U) +#define WHFL_MSG1_CANID (0x596U) +#define WHFL_MSG1_CYC (1000U) + +// Value tables for @WHFL_PowerMode_Stat signal + +#ifndef WHFL_PowerMode_Stat_WHFL_MSG1_Reserved +#define WHFL_PowerMode_Stat_WHFL_MSG1_Reserved (7) +#endif + +#ifndef WHFL_PowerMode_Stat_WHFL_MSG1_Reserved +#define WHFL_PowerMode_Stat_WHFL_MSG1_Reserved (6) +#endif + +#ifndef WHFL_PowerMode_Stat_WHFL_MSG1_Invalid +#define WHFL_PowerMode_Stat_WHFL_MSG1_Invalid (5) +#endif + +#ifndef WHFL_PowerMode_Stat_WHFL_MSG1_ +#define WHFL_PowerMode_Stat_WHFL_MSG1_ (4) +#endif + +#ifndef WHFL_PowerMode_Stat_WHFL_MSG1_ +#define WHFL_PowerMode_Stat_WHFL_MSG1_ (3) +#endif + +#ifndef WHFL_PowerMode_Stat_WHFL_MSG1_ +#define WHFL_PowerMode_Stat_WHFL_MSG1_ (2) +#endif + +#ifndef WHFL_PowerMode_Stat_WHFL_MSG1_ +#define WHFL_PowerMode_Stat_WHFL_MSG1_ (1) +#endif + +#ifndef WHFL_PowerMode_Stat_WHFL_MSG1_Window_Heating_Off +#define WHFL_PowerMode_Stat_WHFL_MSG1_Window_Heating_Off (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Current status of Front Left Window Heating ECU + // 7 : "Reserved" + // 6 : "Reserved" + // 5 : "Invalid" + // 4 : "100%" + // 3 : "75%" + // 2 : "50%" + // 1 : "25%" + // 0 : "Window Heating Off" + uint8_t WHFL_PowerMode_Stat : 3; // Bits= 3 + +#else + + // Current status of Front Left Window Heating ECU + // 7 : "Reserved" + // 6 : "Reserved" + // 5 : "Invalid" + // 4 : "100%" + // 3 : "75%" + // 2 : "50%" + // 1 : "25%" + // 0 : "Window Heating Off" + uint8_t WHFL_PowerMode_Stat; // Bits= 3 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} WHFL_MSG1_t; + +// def @WHFR_Msg1 CAN Message (1431 0x597) +#define WHFR_Msg1_IDE (0U) +#define WHFR_Msg1_DLC (8U) +#define WHFR_Msg1_CANID (0x597U) +#define WHFR_Msg1_CYC (1000U) + +// Value tables for @WHFR_PowerMode_Stat signal + +#ifndef WHFR_PowerMode_Stat_WHFR_Msg1_Reserved +#define WHFR_PowerMode_Stat_WHFR_Msg1_Reserved (7) +#endif + +#ifndef WHFR_PowerMode_Stat_WHFR_Msg1_Reserved +#define WHFR_PowerMode_Stat_WHFR_Msg1_Reserved (6) +#endif + +#ifndef WHFR_PowerMode_Stat_WHFR_Msg1_Invalid +#define WHFR_PowerMode_Stat_WHFR_Msg1_Invalid (5) +#endif + +#ifndef WHFR_PowerMode_Stat_WHFR_Msg1_ +#define WHFR_PowerMode_Stat_WHFR_Msg1_ (4) +#endif + +#ifndef WHFR_PowerMode_Stat_WHFR_Msg1_ +#define WHFR_PowerMode_Stat_WHFR_Msg1_ (3) +#endif + +#ifndef WHFR_PowerMode_Stat_WHFR_Msg1_ +#define WHFR_PowerMode_Stat_WHFR_Msg1_ (2) +#endif + +#ifndef WHFR_PowerMode_Stat_WHFR_Msg1_ +#define WHFR_PowerMode_Stat_WHFR_Msg1_ (1) +#endif + +#ifndef WHFR_PowerMode_Stat_WHFR_Msg1_Window_Heating_Off +#define WHFR_PowerMode_Stat_WHFR_Msg1_Window_Heating_Off (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Current status of Front Left Window Heating ECU + // 7 : "Reserved" + // 6 : "Reserved" + // 5 : "Invalid" + // 4 : "100%" + // 3 : "75%" + // 2 : "50%" + // 1 : "25%" + // 0 : "Window Heating Off" + uint8_t WHFR_PowerMode_Stat : 3; // Bits= 3 + +#else + + // Current status of Front Left Window Heating ECU + // 7 : "Reserved" + // 6 : "Reserved" + // 5 : "Invalid" + // 4 : "100%" + // 3 : "75%" + // 2 : "50%" + // 1 : "25%" + // 0 : "Window Heating Off" + uint8_t WHFR_PowerMode_Stat; // Bits= 3 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} WHFR_Msg1_t; + +// def @PLDSilCU_State CAN Message (1432 0x598) +#define PLDSilCU_State_IDE (0U) +#define PLDSilCU_State_DLC (8U) +#define PLDSilCU_State_CANID (0x598U) + +// Value tables for @PLDSilCU_Module_Stat signal + +#ifndef PLDSilCU_Module_Stat_PLDSilCU_State_Scenario_data_message_error +#define PLDSilCU_Module_Stat_PLDSilCU_State_Scenario_data_message_error (8) +#endif + +#ifndef PLDSilCU_Module_Stat_PLDSilCU_State_Temperature_error +#define PLDSilCU_Module_Stat_PLDSilCU_State_Temperature_error (9) +#endif + +#ifndef PLDSilCU_Module_Stat_PLDSilCU_State_Channels_power_error +#define PLDSilCU_Module_Stat_PLDSilCU_State_Channels_power_error (10) +#endif + +#ifndef PLDSilCU_Module_Stat_PLDSilCU_State_Scenario_play_error +#define PLDSilCU_Module_Stat_PLDSilCU_State_Scenario_play_error (7) +#endif + +#ifndef PLDSilCU_Module_Stat_PLDSilCU_State_Launch_error +#define PLDSilCU_Module_Stat_PLDSilCU_State_Launch_error (6) +#endif + +#ifndef PLDSilCU_Module_Stat_PLDSilCU_State_Scenario_Data_is_recieved +#define PLDSilCU_Module_Stat_PLDSilCU_State_Scenario_Data_is_recieved (5) +#endif + +#ifndef PLDSilCU_Module_Stat_PLDSilCU_State_Configuration_is_going +#define PLDSilCU_Module_Stat_PLDSilCU_State_Configuration_is_going (4) +#endif + +#ifndef PLDSilCU_Module_Stat_PLDSilCU_State_Special_event_done +#define PLDSilCU_Module_Stat_PLDSilCU_State_Special_event_done (3) +#endif + +#ifndef PLDSilCU_Module_Stat_PLDSilCU_State_Scenario_have_done +#define PLDSilCU_Module_Stat_PLDSilCU_State_Scenario_have_done (2) +#endif + +#ifndef PLDSilCU_Module_Stat_PLDSilCU_State_Scenario_is_going +#define PLDSilCU_Module_Stat_PLDSilCU_State_Scenario_is_going (1) +#endif + +#ifndef PLDSilCU_Module_Stat_PLDSilCU_State_Ready +#define PLDSilCU_Module_Stat_PLDSilCU_State_Ready (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Module state: + // 0 - Module is ready for action + // 1 - Module has done a scenario + // 2 - Module made a special event + // 3 - Data is recieved + // 4 - Module start error + // 5 - Scenario play error + // 6 - Data error + // 7 - Temperature error + // 8 : "Scenario data message error" + // 9 : "Temperature error" + // 10 : "Channels power error" + // 7 : "Scenario play error" + // 6 : "Launch error" + // 5 : "Scenario Data is recieved" + // 4 : "Configuration is going" + // 3 : "Special event done" + // 2 : "Scenario have done" + // 1 : "Scenario is going" + // 0 : "Ready" + int8_t PLDSilCU_Module_Stat : 4; // [-] Bits= 4 + + // Temperature value + int8_t PLDSilCU_ModuleTemperature_Val : 7; // [-] Bits= 7 Unit:'�C' + + // Reserved + int8_t PLDSilCU_reserved1 : 5; // [-] Bits= 5 + + // Reserved + int8_t PLDSilCU_reserved2; // [-] Bits= 8 + + // Reserved + int8_t PLDSilCU_reserved3; // [-] Bits= 8 + + // Reserved + int8_t PLDSilCU_reserved4; // [-] Bits= 8 + + // Reserved + int8_t PLDSilCU_reserved5; // [-] Bits= 8 + + // Reserved + int8_t PLDSilCU_reserved6; // [-] Bits= 8 + + // Reserved + int8_t PLDSilCU_reserved7; // [-] Bits= 8 + +#else + + // Module state: + // 0 - Module is ready for action + // 1 - Module has done a scenario + // 2 - Module made a special event + // 3 - Data is recieved + // 4 - Module start error + // 5 - Scenario play error + // 6 - Data error + // 7 - Temperature error + // 8 : "Scenario data message error" + // 9 : "Temperature error" + // 10 : "Channels power error" + // 7 : "Scenario play error" + // 6 : "Launch error" + // 5 : "Scenario Data is recieved" + // 4 : "Configuration is going" + // 3 : "Special event done" + // 2 : "Scenario have done" + // 1 : "Scenario is going" + // 0 : "Ready" + int8_t PLDSilCU_Module_Stat; // [-] Bits= 4 + + // Temperature value + int8_t PLDSilCU_ModuleTemperature_Val; // [-] Bits= 7 Unit:'�C' + + // Reserved + int8_t PLDSilCU_reserved1; // [-] Bits= 5 + + // Reserved + int8_t PLDSilCU_reserved2; // [-] Bits= 8 + + // Reserved + int8_t PLDSilCU_reserved3; // [-] Bits= 8 + + // Reserved + int8_t PLDSilCU_reserved4; // [-] Bits= 8 + + // Reserved + int8_t PLDSilCU_reserved5; // [-] Bits= 8 + + // Reserved + int8_t PLDSilCU_reserved6; // [-] Bits= 8 + + // Reserved + int8_t PLDSilCU_reserved7; // [-] Bits= 8 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} PLDSilCU_State_t; + +// def @PRDSilCU_State CAN Message (1433 0x599) +#define PRDSilCU_State_IDE (0U) +#define PRDSilCU_State_DLC (8U) +#define PRDSilCU_State_CANID (0x599U) + +// Value tables for @PRDSilCU_Module_Stat signal + +#ifndef PRDSilCU_Module_Stat_PRDSilCU_State_Scenario_data_message_error +#define PRDSilCU_Module_Stat_PRDSilCU_State_Scenario_data_message_error (8) +#endif + +#ifndef PRDSilCU_Module_Stat_PRDSilCU_State_Temperature_error +#define PRDSilCU_Module_Stat_PRDSilCU_State_Temperature_error (9) +#endif + +#ifndef PRDSilCU_Module_Stat_PRDSilCU_State_Channels_power_error +#define PRDSilCU_Module_Stat_PRDSilCU_State_Channels_power_error (10) +#endif + +#ifndef PRDSilCU_Module_Stat_PRDSilCU_State_Scenario_play_error +#define PRDSilCU_Module_Stat_PRDSilCU_State_Scenario_play_error (7) +#endif + +#ifndef PRDSilCU_Module_Stat_PRDSilCU_State_Launch_error +#define PRDSilCU_Module_Stat_PRDSilCU_State_Launch_error (6) +#endif + +#ifndef PRDSilCU_Module_Stat_PRDSilCU_State_Scenario_Data_is_recieved +#define PRDSilCU_Module_Stat_PRDSilCU_State_Scenario_Data_is_recieved (5) +#endif + +#ifndef PRDSilCU_Module_Stat_PRDSilCU_State_Configuration_is_going +#define PRDSilCU_Module_Stat_PRDSilCU_State_Configuration_is_going (4) +#endif + +#ifndef PRDSilCU_Module_Stat_PRDSilCU_State_Special_event_done +#define PRDSilCU_Module_Stat_PRDSilCU_State_Special_event_done (3) +#endif + +#ifndef PRDSilCU_Module_Stat_PRDSilCU_State_Scenario_have_done +#define PRDSilCU_Module_Stat_PRDSilCU_State_Scenario_have_done (2) +#endif + +#ifndef PRDSilCU_Module_Stat_PRDSilCU_State_Scenario_is_going +#define PRDSilCU_Module_Stat_PRDSilCU_State_Scenario_is_going (1) +#endif + +#ifndef PRDSilCU_Module_Stat_PRDSilCU_State_Ready +#define PRDSilCU_Module_Stat_PRDSilCU_State_Ready (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Module state: + // 0 - Module is ready for action + // 1 - Module has done a scenario + // 2 - Module made a special event + // 3 - Data is recieved + // 4 - Module start error + // 5 - Scenario play error + // 6 - Data error + // 7 - Temperature error + // 8 : "Scenario data message error" + // 9 : "Temperature error" + // 10 : "Channels power error" + // 7 : "Scenario play error" + // 6 : "Launch error" + // 5 : "Scenario Data is recieved" + // 4 : "Configuration is going" + // 3 : "Special event done" + // 2 : "Scenario have done" + // 1 : "Scenario is going" + // 0 : "Ready" + int8_t PRDSilCU_Module_Stat : 4; // [-] Bits= 4 + + // Temperature value + int8_t PRDSilCU_ModuleTemperature_Val : 7; // [-] Bits= 7 Unit:'�C' + + // Reserved + int8_t PRDSilCU_reserved1 : 5; // [-] Bits= 5 + + // Reserved + int8_t PRDSilCU_reserved2; // [-] Bits= 8 + + // Reserved + int8_t PRDSilCU_reserved3; // [-] Bits= 8 + + // Reserved + int8_t PRDSilCU_reserved4; // [-] Bits= 8 + + // Reserved + int8_t PRDSilCU_reserved5; // [-] Bits= 8 + + // Reserved + int8_t PRDSilCU_reserved6; // [-] Bits= 8 + + // Reserved + int8_t PRDSilCU_reserved7; // [-] Bits= 8 + +#else + + // Module state: + // 0 - Module is ready for action + // 1 - Module has done a scenario + // 2 - Module made a special event + // 3 - Data is recieved + // 4 - Module start error + // 5 - Scenario play error + // 6 - Data error + // 7 - Temperature error + // 8 : "Scenario data message error" + // 9 : "Temperature error" + // 10 : "Channels power error" + // 7 : "Scenario play error" + // 6 : "Launch error" + // 5 : "Scenario Data is recieved" + // 4 : "Configuration is going" + // 3 : "Special event done" + // 2 : "Scenario have done" + // 1 : "Scenario is going" + // 0 : "Ready" + int8_t PRDSilCU_Module_Stat; // [-] Bits= 4 + + // Temperature value + int8_t PRDSilCU_ModuleTemperature_Val; // [-] Bits= 7 Unit:'�C' + + // Reserved + int8_t PRDSilCU_reserved1; // [-] Bits= 5 + + // Reserved + int8_t PRDSilCU_reserved2; // [-] Bits= 8 + + // Reserved + int8_t PRDSilCU_reserved3; // [-] Bits= 8 + + // Reserved + int8_t PRDSilCU_reserved4; // [-] Bits= 8 + + // Reserved + int8_t PRDSilCU_reserved5; // [-] Bits= 8 + + // Reserved + int8_t PRDSilCU_reserved6; // [-] Bits= 8 + + // Reserved + int8_t PRDSilCU_reserved7; // [-] Bits= 8 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} PRDSilCU_State_t; + +// def @FLDSilCU_State CAN Message (1434 0x59a) +#define FLDSilCU_State_IDE (0U) +#define FLDSilCU_State_DLC (8U) +#define FLDSilCU_State_CANID (0x59aU) + +// Value tables for @FLDSilCU_Module_Stat signal + +#ifndef FLDSilCU_Module_Stat_FLDSilCU_State_Scenario_data_message_error +#define FLDSilCU_Module_Stat_FLDSilCU_State_Scenario_data_message_error (8) +#endif + +#ifndef FLDSilCU_Module_Stat_FLDSilCU_State_Temperature_error +#define FLDSilCU_Module_Stat_FLDSilCU_State_Temperature_error (9) +#endif + +#ifndef FLDSilCU_Module_Stat_FLDSilCU_State_Channels_power_error +#define FLDSilCU_Module_Stat_FLDSilCU_State_Channels_power_error (10) +#endif + +#ifndef FLDSilCU_Module_Stat_FLDSilCU_State_Scenario_play_error +#define FLDSilCU_Module_Stat_FLDSilCU_State_Scenario_play_error (7) +#endif + +#ifndef FLDSilCU_Module_Stat_FLDSilCU_State_Launch_error +#define FLDSilCU_Module_Stat_FLDSilCU_State_Launch_error (6) +#endif + +#ifndef FLDSilCU_Module_Stat_FLDSilCU_State_Scenario_Data_is_recieved +#define FLDSilCU_Module_Stat_FLDSilCU_State_Scenario_Data_is_recieved (5) +#endif + +#ifndef FLDSilCU_Module_Stat_FLDSilCU_State_Configuration_is_going +#define FLDSilCU_Module_Stat_FLDSilCU_State_Configuration_is_going (4) +#endif + +#ifndef FLDSilCU_Module_Stat_FLDSilCU_State_Special_event_done +#define FLDSilCU_Module_Stat_FLDSilCU_State_Special_event_done (3) +#endif + +#ifndef FLDSilCU_Module_Stat_FLDSilCU_State_Scenario_have_done +#define FLDSilCU_Module_Stat_FLDSilCU_State_Scenario_have_done (2) +#endif + +#ifndef FLDSilCU_Module_Stat_FLDSilCU_State_Scenario_is_going +#define FLDSilCU_Module_Stat_FLDSilCU_State_Scenario_is_going (1) +#endif + +#ifndef FLDSilCU_Module_Stat_FLDSilCU_State_Ready +#define FLDSilCU_Module_Stat_FLDSilCU_State_Ready (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Module state: + // 0 - Module is ready for action + // 1 - Module has done a scenario + // 2 - Module made a special event + // 3 - Data is recieved + // 4 - Module start error + // 5 - Scenario play error + // 6 - Data error + // 7 - Temperature error + // 8 : "Scenario data message error" + // 9 : "Temperature error" + // 10 : "Channels power error" + // 7 : "Scenario play error" + // 6 : "Launch error" + // 5 : "Scenario Data is recieved" + // 4 : "Configuration is going" + // 3 : "Special event done" + // 2 : "Scenario have done" + // 1 : "Scenario is going" + // 0 : "Ready" + int8_t FLDSilCU_Module_Stat : 4; // [-] Bits= 4 + + // Temperature value + int8_t FLDSilCU_ModuleTemperature_Val : 7; // [-] Bits= 7 Unit:'�C' + + // Reserved + int8_t FLDSilCU_reserved1 : 5; // [-] Bits= 5 + + // Reserved + int8_t FLDSilCU_reserved2; // [-] Bits= 8 + + // Reserved + int8_t FLDSilCU_reserved3; // [-] Bits= 8 + + // Reserved + int8_t FLDSilCU_reserved4; // [-] Bits= 8 + + // Reserved + int8_t FLDSilCU_reserved5; // [-] Bits= 8 + + // Reserved + int8_t FLDSilCU_reserved6; // [-] Bits= 8 + + // Reserved + int8_t FLDSilCU_reserved7; // [-] Bits= 8 + +#else + + // Module state: + // 0 - Module is ready for action + // 1 - Module has done a scenario + // 2 - Module made a special event + // 3 - Data is recieved + // 4 - Module start error + // 5 - Scenario play error + // 6 - Data error + // 7 - Temperature error + // 8 : "Scenario data message error" + // 9 : "Temperature error" + // 10 : "Channels power error" + // 7 : "Scenario play error" + // 6 : "Launch error" + // 5 : "Scenario Data is recieved" + // 4 : "Configuration is going" + // 3 : "Special event done" + // 2 : "Scenario have done" + // 1 : "Scenario is going" + // 0 : "Ready" + int8_t FLDSilCU_Module_Stat; // [-] Bits= 4 + + // Temperature value + int8_t FLDSilCU_ModuleTemperature_Val; // [-] Bits= 7 Unit:'�C' + + // Reserved + int8_t FLDSilCU_reserved1; // [-] Bits= 5 + + // Reserved + int8_t FLDSilCU_reserved2; // [-] Bits= 8 + + // Reserved + int8_t FLDSilCU_reserved3; // [-] Bits= 8 + + // Reserved + int8_t FLDSilCU_reserved4; // [-] Bits= 8 + + // Reserved + int8_t FLDSilCU_reserved5; // [-] Bits= 8 + + // Reserved + int8_t FLDSilCU_reserved6; // [-] Bits= 8 + + // Reserved + int8_t FLDSilCU_reserved7; // [-] Bits= 8 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} FLDSilCU_State_t; + +// def @FRDSilCU_State CAN Message (1435 0x59b) +#define FRDSilCU_State_IDE (0U) +#define FRDSilCU_State_DLC (8U) +#define FRDSilCU_State_CANID (0x59bU) + +// Value tables for @FRDSilCU_Module_Stat signal + +#ifndef FRDSilCU_Module_Stat_FRDSilCU_State_Scenario_data_message_error +#define FRDSilCU_Module_Stat_FRDSilCU_State_Scenario_data_message_error (8) +#endif + +#ifndef FRDSilCU_Module_Stat_FRDSilCU_State_Temperature_error +#define FRDSilCU_Module_Stat_FRDSilCU_State_Temperature_error (9) +#endif + +#ifndef FRDSilCU_Module_Stat_FRDSilCU_State_Channels_power_error +#define FRDSilCU_Module_Stat_FRDSilCU_State_Channels_power_error (10) +#endif + +#ifndef FRDSilCU_Module_Stat_FRDSilCU_State_Scenario_play_error +#define FRDSilCU_Module_Stat_FRDSilCU_State_Scenario_play_error (7) +#endif + +#ifndef FRDSilCU_Module_Stat_FRDSilCU_State_Launch_error +#define FRDSilCU_Module_Stat_FRDSilCU_State_Launch_error (6) +#endif + +#ifndef FRDSilCU_Module_Stat_FRDSilCU_State_Scenario_Data_is_recieved +#define FRDSilCU_Module_Stat_FRDSilCU_State_Scenario_Data_is_recieved (5) +#endif + +#ifndef FRDSilCU_Module_Stat_FRDSilCU_State_Configuration_is_going +#define FRDSilCU_Module_Stat_FRDSilCU_State_Configuration_is_going (4) +#endif + +#ifndef FRDSilCU_Module_Stat_FRDSilCU_State_Special_event_done +#define FRDSilCU_Module_Stat_FRDSilCU_State_Special_event_done (3) +#endif + +#ifndef FRDSilCU_Module_Stat_FRDSilCU_State_Scenario_have_done +#define FRDSilCU_Module_Stat_FRDSilCU_State_Scenario_have_done (2) +#endif + +#ifndef FRDSilCU_Module_Stat_FRDSilCU_State_Scenario_is_going +#define FRDSilCU_Module_Stat_FRDSilCU_State_Scenario_is_going (1) +#endif + +#ifndef FRDSilCU_Module_Stat_FRDSilCU_State_Ready +#define FRDSilCU_Module_Stat_FRDSilCU_State_Ready (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Module state: + // 0 - Module is ready for action + // 1 - Module has done a scenario + // 2 - Module made a special event + // 3 - Data is recieved + // 4 - Module start error + // 5 - Scenario play error + // 6 - Data error + // 7 - Temperature error + // 8 : "Scenario data message error" + // 9 : "Temperature error" + // 10 : "Channels power error" + // 7 : "Scenario play error" + // 6 : "Launch error" + // 5 : "Scenario Data is recieved" + // 4 : "Configuration is going" + // 3 : "Special event done" + // 2 : "Scenario have done" + // 1 : "Scenario is going" + // 0 : "Ready" + int8_t FRDSilCU_Module_Stat : 4; // [-] Bits= 4 + + // Temperature value + int8_t FRDSilCU_ModuleTemperature_Val : 7; // [-] Bits= 7 Unit:'�C' + + // Reserved + int8_t FRDSilCU_reserved1 : 5; // [-] Bits= 5 + + // Reserved + int8_t FRDSilCU_reserved2; // [-] Bits= 8 + + // Reserved + int8_t FRDSilCU_reserved3; // [-] Bits= 8 + + // Reserved + int8_t FRDSilCU_reserved4; // [-] Bits= 8 + + // Reserved + int8_t FRDSilCU_reserved5; // [-] Bits= 8 + + // Reserved + int8_t FRDSilCU_reserved6; // [-] Bits= 8 + + // Reserved + int8_t FRDSilCU_reserved7; // [-] Bits= 8 + +#else + + // Module state: + // 0 - Module is ready for action + // 1 - Module has done a scenario + // 2 - Module made a special event + // 3 - Data is recieved + // 4 - Module start error + // 5 - Scenario play error + // 6 - Data error + // 7 - Temperature error + // 8 : "Scenario data message error" + // 9 : "Temperature error" + // 10 : "Channels power error" + // 7 : "Scenario play error" + // 6 : "Launch error" + // 5 : "Scenario Data is recieved" + // 4 : "Configuration is going" + // 3 : "Special event done" + // 2 : "Scenario have done" + // 1 : "Scenario is going" + // 0 : "Ready" + int8_t FRDSilCU_Module_Stat; // [-] Bits= 4 + + // Temperature value + int8_t FRDSilCU_ModuleTemperature_Val; // [-] Bits= 7 Unit:'�C' + + // Reserved + int8_t FRDSilCU_reserved1; // [-] Bits= 5 + + // Reserved + int8_t FRDSilCU_reserved2; // [-] Bits= 8 + + // Reserved + int8_t FRDSilCU_reserved3; // [-] Bits= 8 + + // Reserved + int8_t FRDSilCU_reserved4; // [-] Bits= 8 + + // Reserved + int8_t FRDSilCU_reserved5; // [-] Bits= 8 + + // Reserved + int8_t FRDSilCU_reserved6; // [-] Bits= 8 + + // Reserved + int8_t FRDSilCU_reserved7; // [-] Bits= 8 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} FRDSilCU_State_t; + +// This is a message for not used signals, created by Vector CANdb++ DBC OLE DB Provider. +// def @RLDSilCU_State CAN Message (1436 0x59c) +#define RLDSilCU_State_IDE (0U) +#define RLDSilCU_State_DLC (8U) +#define RLDSilCU_State_CANID (0x59cU) + +// Value tables for @RLDSilCU_Module_Stat signal + +#ifndef RLDSilCU_Module_Stat_RLDSilCU_State_Scenario_data_message_error +#define RLDSilCU_Module_Stat_RLDSilCU_State_Scenario_data_message_error (8) +#endif + +#ifndef RLDSilCU_Module_Stat_RLDSilCU_State_Scenario_play_error +#define RLDSilCU_Module_Stat_RLDSilCU_State_Scenario_play_error (7) +#endif + +#ifndef RLDSilCU_Module_Stat_RLDSilCU_State_Launch_error +#define RLDSilCU_Module_Stat_RLDSilCU_State_Launch_error (6) +#endif + +#ifndef RLDSilCU_Module_Stat_RLDSilCU_State_Scenario_Data_is_recieved +#define RLDSilCU_Module_Stat_RLDSilCU_State_Scenario_Data_is_recieved (5) +#endif + +#ifndef RLDSilCU_Module_Stat_RLDSilCU_State_Configuration_is_going +#define RLDSilCU_Module_Stat_RLDSilCU_State_Configuration_is_going (4) +#endif + +#ifndef RLDSilCU_Module_Stat_RLDSilCU_State_Special_event_done +#define RLDSilCU_Module_Stat_RLDSilCU_State_Special_event_done (3) +#endif + +#ifndef RLDSilCU_Module_Stat_RLDSilCU_State_Scenario_have_done +#define RLDSilCU_Module_Stat_RLDSilCU_State_Scenario_have_done (2) +#endif + +#ifndef RLDSilCU_Module_Stat_RLDSilCU_State_Scenario_is_going +#define RLDSilCU_Module_Stat_RLDSilCU_State_Scenario_is_going (1) +#endif + +#ifndef RLDSilCU_Module_Stat_RLDSilCU_State_Ready +#define RLDSilCU_Module_Stat_RLDSilCU_State_Ready (0) +#endif + +#ifndef RLDSilCU_Module_Stat_RLDSilCU_State_Temperature_error +#define RLDSilCU_Module_Stat_RLDSilCU_State_Temperature_error (9) +#endif + +#ifndef RLDSilCU_Module_Stat_RLDSilCU_State_Channels_power_error +#define RLDSilCU_Module_Stat_RLDSilCU_State_Channels_power_error (10) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Module state: + // 0 - Module is ready for action + // 1 - Module has done a scenario + // 2 - Module made a special event + // 3 - Data is recieved + // 4 - Module start error + // 5 - Scenario play error + // 6 - Data error + // 7 - Temperature error + // 8 : "Scenario data message error" + // 7 : "Scenario play error" + // 6 : "Launch error" + // 5 : "Scenario Data is recieved" + // 4 : "Configuration is going" + // 3 : "Special event done" + // 2 : "Scenario have done" + // 1 : "Scenario is going" + // 0 : "Ready" + // 9 : "Temperature error" + // 10 : "Channels power error" + int8_t RLDSilCU_Module_Stat : 4; // [-] Bits= 4 + + // Temperature value + int8_t RLDSilCU_ModuleTemperature_Val : 7; // [-] Bits= 7 Unit:'�C' + + // Reserved + int8_t RLDSilCU_reserved1 : 5; // [-] Bits= 5 + + // Reserved + int8_t RLDSilCU_reserved2; // [-] Bits= 8 + + // Reserved + int8_t RLDSilCU_reserved3; // [-] Bits= 8 + + // Reserved + int8_t RLDSilCU_reserved4; // [-] Bits= 8 + + // Reserved + int8_t RLDSilCU_reserved5; // [-] Bits= 8 + + // Reserved + int8_t RLDSilCU_reserved6; // [-] Bits= 8 + + // Reserved + int8_t RLDSilCU_reserved7; // [-] Bits= 8 + +#else + + // Module state: + // 0 - Module is ready for action + // 1 - Module has done a scenario + // 2 - Module made a special event + // 3 - Data is recieved + // 4 - Module start error + // 5 - Scenario play error + // 6 - Data error + // 7 - Temperature error + // 8 : "Scenario data message error" + // 7 : "Scenario play error" + // 6 : "Launch error" + // 5 : "Scenario Data is recieved" + // 4 : "Configuration is going" + // 3 : "Special event done" + // 2 : "Scenario have done" + // 1 : "Scenario is going" + // 0 : "Ready" + // 9 : "Temperature error" + // 10 : "Channels power error" + int8_t RLDSilCU_Module_Stat; // [-] Bits= 4 + + // Temperature value + int8_t RLDSilCU_ModuleTemperature_Val; // [-] Bits= 7 Unit:'�C' + + // Reserved + int8_t RLDSilCU_reserved1; // [-] Bits= 5 + + // Reserved + int8_t RLDSilCU_reserved2; // [-] Bits= 8 + + // Reserved + int8_t RLDSilCU_reserved3; // [-] Bits= 8 + + // Reserved + int8_t RLDSilCU_reserved4; // [-] Bits= 8 + + // Reserved + int8_t RLDSilCU_reserved5; // [-] Bits= 8 + + // Reserved + int8_t RLDSilCU_reserved6; // [-] Bits= 8 + + // Reserved + int8_t RLDSilCU_reserved7; // [-] Bits= 8 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} RLDSilCU_State_t; + +// def @RRDSilCU_State CAN Message (1437 0x59d) +#define RRDSilCU_State_IDE (0U) +#define RRDSilCU_State_DLC (8U) +#define RRDSilCU_State_CANID (0x59dU) + +// Value tables for @RRDSilCU_Module_Stat signal + +#ifndef RRDSilCU_Module_Stat_RRDSilCU_State_Scenario_data_message_error +#define RRDSilCU_Module_Stat_RRDSilCU_State_Scenario_data_message_error (8) +#endif + +#ifndef RRDSilCU_Module_Stat_RRDSilCU_State_Temperature_error +#define RRDSilCU_Module_Stat_RRDSilCU_State_Temperature_error (9) +#endif + +#ifndef RRDSilCU_Module_Stat_RRDSilCU_State_Channels_power_error +#define RRDSilCU_Module_Stat_RRDSilCU_State_Channels_power_error (10) +#endif + +#ifndef RRDSilCU_Module_Stat_RRDSilCU_State_Scenario_play_error +#define RRDSilCU_Module_Stat_RRDSilCU_State_Scenario_play_error (7) +#endif + +#ifndef RRDSilCU_Module_Stat_RRDSilCU_State_Launch_error +#define RRDSilCU_Module_Stat_RRDSilCU_State_Launch_error (6) +#endif + +#ifndef RRDSilCU_Module_Stat_RRDSilCU_State_Scenario_Data_is_recieved +#define RRDSilCU_Module_Stat_RRDSilCU_State_Scenario_Data_is_recieved (5) +#endif + +#ifndef RRDSilCU_Module_Stat_RRDSilCU_State_Configuration_is_going +#define RRDSilCU_Module_Stat_RRDSilCU_State_Configuration_is_going (4) +#endif + +#ifndef RRDSilCU_Module_Stat_RRDSilCU_State_Special_event_done +#define RRDSilCU_Module_Stat_RRDSilCU_State_Special_event_done (3) +#endif + +#ifndef RRDSilCU_Module_Stat_RRDSilCU_State_Scenario_have_done +#define RRDSilCU_Module_Stat_RRDSilCU_State_Scenario_have_done (2) +#endif + +#ifndef RRDSilCU_Module_Stat_RRDSilCU_State_Scenario_is_going +#define RRDSilCU_Module_Stat_RRDSilCU_State_Scenario_is_going (1) +#endif + +#ifndef RRDSilCU_Module_Stat_RRDSilCU_State_Ready +#define RRDSilCU_Module_Stat_RRDSilCU_State_Ready (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Module state: + // 0 - Module is ready for action + // 1 - Module has done a scenario + // 2 - Module made a special event + // 3 - Data is recieved + // 4 - Module start error + // 5 - Scenario play error + // 6 - Data error + // 7 - Temperature error + // 8 : "Scenario data message error" + // 9 : "Temperature error" + // 10 : "Channels power error" + // 7 : "Scenario play error" + // 6 : "Launch error" + // 5 : "Scenario Data is recieved" + // 4 : "Configuration is going" + // 3 : "Special event done" + // 2 : "Scenario have done" + // 1 : "Scenario is going" + // 0 : "Ready" + int8_t RRDSilCU_Module_Stat : 4; // [-] Bits= 4 + + // Temperature value + int8_t RRDSilCU_ModuleTemperature_Val : 7; // [-] Bits= 7 Unit:'�C' + + // Reserved + int8_t RRDSilCU_reserved1 : 5; // [-] Bits= 5 + + // Reserved + int8_t RRDSilCU_reserved2; // [-] Bits= 8 + + // Reserved + int8_t RRDSilCU_reserved3; // [-] Bits= 8 + + // Reserved + int8_t RRDSilCU_reserved4; // [-] Bits= 8 + + // Reserved + int8_t RRDSilCU_reserved5; // [-] Bits= 8 + + // Reserved + int8_t RRDSilCU_reserved6; // [-] Bits= 8 + + // Reserved + int8_t RRDSilCU_reserved7; // [-] Bits= 8 + +#else + + // Module state: + // 0 - Module is ready for action + // 1 - Module has done a scenario + // 2 - Module made a special event + // 3 - Data is recieved + // 4 - Module start error + // 5 - Scenario play error + // 6 - Data error + // 7 - Temperature error + // 8 : "Scenario data message error" + // 9 : "Temperature error" + // 10 : "Channels power error" + // 7 : "Scenario play error" + // 6 : "Launch error" + // 5 : "Scenario Data is recieved" + // 4 : "Configuration is going" + // 3 : "Special event done" + // 2 : "Scenario have done" + // 1 : "Scenario is going" + // 0 : "Ready" + int8_t RRDSilCU_Module_Stat; // [-] Bits= 4 + + // Temperature value + int8_t RRDSilCU_ModuleTemperature_Val; // [-] Bits= 7 Unit:'�C' + + // Reserved + int8_t RRDSilCU_reserved1; // [-] Bits= 5 + + // Reserved + int8_t RRDSilCU_reserved2; // [-] Bits= 8 + + // Reserved + int8_t RRDSilCU_reserved3; // [-] Bits= 8 + + // Reserved + int8_t RRDSilCU_reserved4; // [-] Bits= 8 + + // Reserved + int8_t RRDSilCU_reserved5; // [-] Bits= 8 + + // Reserved + int8_t RRDSilCU_reserved6; // [-] Bits= 8 + + // Reserved + int8_t RRDSilCU_reserved7; // [-] Bits= 8 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} RRDSilCU_State_t; + // def @FIU_CCU1 CAN Message (1441 0x5a1) #define FIU_CCU1_IDE (0U) #define FIU_CCU1_DLC (8U) @@ -8601,6 +48286,6871 @@ typedef struct } FIU_CCU3_t; +// def @BCM_StyleCmd2 CAN Message (1446 0x5a6) +#define BCM_StyleCmd2_IDE (0U) +#define BCM_StyleCmd2_DLC (8U) +#define BCM_StyleCmd2_CANID (0x5a6U) + +// Value tables for @BCM_Script_play_Req signal + +#ifndef BCM_Script_play_Req_BCM_StyleCmd2__No_changes +#define BCM_Script_play_Req_BCM_StyleCmd2__No_changes (0) +#endif + +#ifndef BCM_Script_play_Req_BCM_StyleCmd2__2_color_gradient +#define BCM_Script_play_Req_BCM_StyleCmd2__2_color_gradient (1) +#endif + +#ifndef BCM_Script_play_Req_BCM_StyleCmd2__3_color_gradient +#define BCM_Script_play_Req_BCM_StyleCmd2__3_color_gradient (2) +#endif + +#ifndef BCM_Script_play_Req_BCM_StyleCmd2__Permanent_color +#define BCM_Script_play_Req_BCM_StyleCmd2__Permanent_color (3) +#endif + +#ifndef BCM_Script_play_Req_BCM_StyleCmd2__Brightness_gradient +#define BCM_Script_play_Req_BCM_StyleCmd2__Brightness_gradient (4) +#endif + +#ifndef BCM_Script_play_Req_BCM_StyleCmd2__Script_5_ +#define BCM_Script_play_Req_BCM_StyleCmd2__Script_5_ (5) +#endif + +#ifndef BCM_Script_play_Req_BCM_StyleCmd2__Script_6 +#define BCM_Script_play_Req_BCM_StyleCmd2__Script_6 (6) +#endif + +#ifndef BCM_Script_play_Req_BCM_StyleCmd2__Script_63 +#define BCM_Script_play_Req_BCM_StyleCmd2__Script_63 (62) +#endif + +#ifndef BCM_Script_play_Req_BCM_StyleCmd2__Script_64 +#define BCM_Script_play_Req_BCM_StyleCmd2__Script_64 (63) +#endif + +#ifndef BCM_Script_play_Req_BCM_StyleCmd2__Script_7 +#define BCM_Script_play_Req_BCM_StyleCmd2__Script_7 (7) +#endif + +#ifndef BCM_Script_play_Req_BCM_StyleCmd2__Script_8 +#define BCM_Script_play_Req_BCM_StyleCmd2__Script_8 (8) +#endif + +#ifndef BCM_Script_play_Req_BCM_StyleCmd2__Script_9 +#define BCM_Script_play_Req_BCM_StyleCmd2__Script_9 (9) +#endif + +#ifndef BCM_Script_play_Req_BCM_StyleCmd2__Script_10 +#define BCM_Script_play_Req_BCM_StyleCmd2__Script_10 (10) +#endif + +#ifndef BCM_Script_play_Req_BCM_StyleCmd2__Script_11 +#define BCM_Script_play_Req_BCM_StyleCmd2__Script_11 (11) +#endif + +#ifndef BCM_Script_play_Req_BCM_StyleCmd2__Script_12 +#define BCM_Script_play_Req_BCM_StyleCmd2__Script_12 (12) +#endif + +#ifndef BCM_Script_play_Req_BCM_StyleCmd2__Script_13 +#define BCM_Script_play_Req_BCM_StyleCmd2__Script_13 (13) +#endif + +#ifndef BCM_Script_play_Req_BCM_StyleCmd2__Script_14 +#define BCM_Script_play_Req_BCM_StyleCmd2__Script_14 (14) +#endif + +#ifndef BCM_Script_play_Req_BCM_StyleCmd2__Script_15 +#define BCM_Script_play_Req_BCM_StyleCmd2__Script_15 (15) +#endif + +#ifndef BCM_Script_play_Req_BCM_StyleCmd2__Script_16 +#define BCM_Script_play_Req_BCM_StyleCmd2__Script_16 (16) +#endif + +#ifndef BCM_Script_play_Req_BCM_StyleCmd2__Script_17 +#define BCM_Script_play_Req_BCM_StyleCmd2__Script_17 (17) +#endif + +#ifndef BCM_Script_play_Req_BCM_StyleCmd2__Script_18 +#define BCM_Script_play_Req_BCM_StyleCmd2__Script_18 (18) +#endif + +#ifndef BCM_Script_play_Req_BCM_StyleCmd2__Script_19 +#define BCM_Script_play_Req_BCM_StyleCmd2__Script_19 (19) +#endif + +#ifndef BCM_Script_play_Req_BCM_StyleCmd2__Script_20 +#define BCM_Script_play_Req_BCM_StyleCmd2__Script_20 (20) +#endif + +#ifndef BCM_Script_play_Req_BCM_StyleCmd2__Script_21 +#define BCM_Script_play_Req_BCM_StyleCmd2__Script_21 (21) +#endif + +#ifndef BCM_Script_play_Req_BCM_StyleCmd2__Script_22 +#define BCM_Script_play_Req_BCM_StyleCmd2__Script_22 (22) +#endif + +#ifndef BCM_Script_play_Req_BCM_StyleCmd2__Script_23 +#define BCM_Script_play_Req_BCM_StyleCmd2__Script_23 (23) +#endif + +#ifndef BCM_Script_play_Req_BCM_StyleCmd2__Script_24 +#define BCM_Script_play_Req_BCM_StyleCmd2__Script_24 (24) +#endif + +#ifndef BCM_Script_play_Req_BCM_StyleCmd2__Script_25 +#define BCM_Script_play_Req_BCM_StyleCmd2__Script_25 (25) +#endif + +#ifndef BCM_Script_play_Req_BCM_StyleCmd2__Script_26 +#define BCM_Script_play_Req_BCM_StyleCmd2__Script_26 (26) +#endif + +#ifndef BCM_Script_play_Req_BCM_StyleCmd2__Script_27 +#define BCM_Script_play_Req_BCM_StyleCmd2__Script_27 (27) +#endif + +#ifndef BCM_Script_play_Req_BCM_StyleCmd2__Script_28 +#define BCM_Script_play_Req_BCM_StyleCmd2__Script_28 (28) +#endif + +#ifndef BCM_Script_play_Req_BCM_StyleCmd2__Script_29 +#define BCM_Script_play_Req_BCM_StyleCmd2__Script_29 (29) +#endif + +#ifndef BCM_Script_play_Req_BCM_StyleCmd2__Script_31 +#define BCM_Script_play_Req_BCM_StyleCmd2__Script_31 (30) +#endif + +#ifndef BCM_Script_play_Req_BCM_StyleCmd2__Script_32 +#define BCM_Script_play_Req_BCM_StyleCmd2__Script_32 (31) +#endif + +#ifndef BCM_Script_play_Req_BCM_StyleCmd2__Script_33 +#define BCM_Script_play_Req_BCM_StyleCmd2__Script_33 (32) +#endif + +#ifndef BCM_Script_play_Req_BCM_StyleCmd2__Script_34 +#define BCM_Script_play_Req_BCM_StyleCmd2__Script_34 (33) +#endif + +#ifndef BCM_Script_play_Req_BCM_StyleCmd2__Script_35 +#define BCM_Script_play_Req_BCM_StyleCmd2__Script_35 (34) +#endif + +#ifndef BCM_Script_play_Req_BCM_StyleCmd2__Script_36 +#define BCM_Script_play_Req_BCM_StyleCmd2__Script_36 (35) +#endif + +#ifndef BCM_Script_play_Req_BCM_StyleCmd2__Script_37 +#define BCM_Script_play_Req_BCM_StyleCmd2__Script_37 (36) +#endif + +#ifndef BCM_Script_play_Req_BCM_StyleCmd2__Script_38 +#define BCM_Script_play_Req_BCM_StyleCmd2__Script_38 (37) +#endif + +#ifndef BCM_Script_play_Req_BCM_StyleCmd2__Script_39 +#define BCM_Script_play_Req_BCM_StyleCmd2__Script_39 (38) +#endif + +#ifndef BCM_Script_play_Req_BCM_StyleCmd2__Script_40 +#define BCM_Script_play_Req_BCM_StyleCmd2__Script_40 (39) +#endif + +#ifndef BCM_Script_play_Req_BCM_StyleCmd2__Script_41 +#define BCM_Script_play_Req_BCM_StyleCmd2__Script_41 (40) +#endif + +#ifndef BCM_Script_play_Req_BCM_StyleCmd2__Script_42 +#define BCM_Script_play_Req_BCM_StyleCmd2__Script_42 (41) +#endif + +#ifndef BCM_Script_play_Req_BCM_StyleCmd2__Script_43 +#define BCM_Script_play_Req_BCM_StyleCmd2__Script_43 (42) +#endif + +#ifndef BCM_Script_play_Req_BCM_StyleCmd2__Script_44 +#define BCM_Script_play_Req_BCM_StyleCmd2__Script_44 (43) +#endif + +#ifndef BCM_Script_play_Req_BCM_StyleCmd2__Script_45 +#define BCM_Script_play_Req_BCM_StyleCmd2__Script_45 (44) +#endif + +#ifndef BCM_Script_play_Req_BCM_StyleCmd2__Script_46 +#define BCM_Script_play_Req_BCM_StyleCmd2__Script_46 (45) +#endif + +#ifndef BCM_Script_play_Req_BCM_StyleCmd2__Script_47 +#define BCM_Script_play_Req_BCM_StyleCmd2__Script_47 (46) +#endif + +#ifndef BCM_Script_play_Req_BCM_StyleCmd2__Script_48 +#define BCM_Script_play_Req_BCM_StyleCmd2__Script_48 (47) +#endif + +#ifndef BCM_Script_play_Req_BCM_StyleCmd2__Script_49 +#define BCM_Script_play_Req_BCM_StyleCmd2__Script_49 (48) +#endif + +#ifndef BCM_Script_play_Req_BCM_StyleCmd2__Script_50 +#define BCM_Script_play_Req_BCM_StyleCmd2__Script_50 (49) +#endif + +#ifndef BCM_Script_play_Req_BCM_StyleCmd2__Script_51 +#define BCM_Script_play_Req_BCM_StyleCmd2__Script_51 (50) +#endif + +#ifndef BCM_Script_play_Req_BCM_StyleCmd2__Script_52 +#define BCM_Script_play_Req_BCM_StyleCmd2__Script_52 (51) +#endif + +#ifndef BCM_Script_play_Req_BCM_StyleCmd2__Script_53 +#define BCM_Script_play_Req_BCM_StyleCmd2__Script_53 (52) +#endif + +#ifndef BCM_Script_play_Req_BCM_StyleCmd2__Script_54 +#define BCM_Script_play_Req_BCM_StyleCmd2__Script_54 (53) +#endif + +#ifndef BCM_Script_play_Req_BCM_StyleCmd2__Script_55 +#define BCM_Script_play_Req_BCM_StyleCmd2__Script_55 (54) +#endif + +#ifndef BCM_Script_play_Req_BCM_StyleCmd2__Script_56 +#define BCM_Script_play_Req_BCM_StyleCmd2__Script_56 (55) +#endif + +#ifndef BCM_Script_play_Req_BCM_StyleCmd2__Script_57 +#define BCM_Script_play_Req_BCM_StyleCmd2__Script_57 (56) +#endif + +#ifndef BCM_Script_play_Req_BCM_StyleCmd2__Script_58 +#define BCM_Script_play_Req_BCM_StyleCmd2__Script_58 (57) +#endif + +#ifndef BCM_Script_play_Req_BCM_StyleCmd2__Script_59 +#define BCM_Script_play_Req_BCM_StyleCmd2__Script_59 (58) +#endif + +#ifndef BCM_Script_play_Req_BCM_StyleCmd2__Script_60 +#define BCM_Script_play_Req_BCM_StyleCmd2__Script_60 (59) +#endif + +#ifndef BCM_Script_play_Req_BCM_StyleCmd2__Script_61 +#define BCM_Script_play_Req_BCM_StyleCmd2__Script_61 (60) +#endif + +#ifndef BCM_Script_play_Req_BCM_StyleCmd2__Script_62 +#define BCM_Script_play_Req_BCM_StyleCmd2__Script_62 (61) +#endif + + +// Value tables for @BCM_StartPosition_Req signal + +#ifndef BCM_StartPosition_Req_BCM_StyleCmd2__From_edges_to_center +#define BCM_StartPosition_Req_BCM_StyleCmd2__From_edges_to_center (4) +#endif + +#ifndef BCM_StartPosition_Req_BCM_StyleCmd2__Center_strip_start +#define BCM_StartPosition_Req_BCM_StyleCmd2__Center_strip_start (3) +#endif + +#ifndef BCM_StartPosition_Req_BCM_StyleCmd2__Last_LED_start_inversion +#define BCM_StartPosition_Req_BCM_StyleCmd2__Last_LED_start_inversion (2) +#endif + +#ifndef BCM_StartPosition_Req_BCM_StyleCmd2__0_LED_Start +#define BCM_StartPosition_Req_BCM_StyleCmd2__0_LED_Start (1) +#endif + +#ifndef BCM_StartPosition_Req_BCM_StyleCmd2__No_changes +#define BCM_StartPosition_Req_BCM_StyleCmd2__No_changes (0) +#endif + + +// Value tables for @BCM_MiddlePosition_Req signal + +#ifndef BCM_MiddlePosition_Req_BCM_StyleCmd2__From_edges_to_center +#define BCM_MiddlePosition_Req_BCM_StyleCmd2__From_edges_to_center (4) +#endif + +#ifndef BCM_MiddlePosition_Req_BCM_StyleCmd2__Center_strip_start +#define BCM_MiddlePosition_Req_BCM_StyleCmd2__Center_strip_start (3) +#endif + +#ifndef BCM_MiddlePosition_Req_BCM_StyleCmd2__Last_LED_start_inversion +#define BCM_MiddlePosition_Req_BCM_StyleCmd2__Last_LED_start_inversion (2) +#endif + +#ifndef BCM_MiddlePosition_Req_BCM_StyleCmd2__0_LED_Start +#define BCM_MiddlePosition_Req_BCM_StyleCmd2__0_LED_Start (1) +#endif + +#ifndef BCM_MiddlePosition_Req_BCM_StyleCmd2__No_changes +#define BCM_MiddlePosition_Req_BCM_StyleCmd2__No_changes (0) +#endif + + +// Value tables for @BCM_EndPosition_Req signal + +#ifndef BCM_EndPosition_Req_BCM_StyleCmd2__From_edges_to_center +#define BCM_EndPosition_Req_BCM_StyleCmd2__From_edges_to_center (4) +#endif + +#ifndef BCM_EndPosition_Req_BCM_StyleCmd2__Center_strip_start +#define BCM_EndPosition_Req_BCM_StyleCmd2__Center_strip_start (3) +#endif + +#ifndef BCM_EndPosition_Req_BCM_StyleCmd2__Last_LED_start_inversion +#define BCM_EndPosition_Req_BCM_StyleCmd2__Last_LED_start_inversion (2) +#endif + +#ifndef BCM_EndPosition_Req_BCM_StyleCmd2__0_LED_Start +#define BCM_EndPosition_Req_BCM_StyleCmd2__0_LED_Start (1) +#endif + +#ifndef BCM_EndPosition_Req_BCM_StyleCmd2__No_changes +#define BCM_EndPosition_Req_BCM_StyleCmd2__No_changes (0) +#endif + + +// Value tables for @BCM_ColorConfiguration_Stat signal + +#ifndef BCM_ColorConfiguration_Stat_BCM_StyleCmd2__1__2__3__4 +#define BCM_ColorConfiguration_Stat_BCM_StyleCmd2__1__2__3__4 (7) +#endif + +#ifndef BCM_ColorConfiguration_Stat_BCM_StyleCmd2__1__2__3 +#define BCM_ColorConfiguration_Stat_BCM_StyleCmd2__1__2__3 (6) +#endif + +#ifndef BCM_ColorConfiguration_Stat_BCM_StyleCmd2__1__2 +#define BCM_ColorConfiguration_Stat_BCM_StyleCmd2__1__2 (5) +#endif + +#ifndef BCM_ColorConfiguration_Stat_BCM_StyleCmd2__4th_color +#define BCM_ColorConfiguration_Stat_BCM_StyleCmd2__4th_color (4) +#endif + +#ifndef BCM_ColorConfiguration_Stat_BCM_StyleCmd2__3d_color +#define BCM_ColorConfiguration_Stat_BCM_StyleCmd2__3d_color (3) +#endif + +#ifndef BCM_ColorConfiguration_Stat_BCM_StyleCmd2__2nd_color +#define BCM_ColorConfiguration_Stat_BCM_StyleCmd2__2nd_color (2) +#endif + +#ifndef BCM_ColorConfiguration_Stat_BCM_StyleCmd2__1st_color +#define BCM_ColorConfiguration_Stat_BCM_StyleCmd2__1st_color (1) +#endif + +#ifndef BCM_ColorConfiguration_Stat_BCM_StyleCmd2__No_changes +#define BCM_ColorConfiguration_Stat_BCM_StyleCmd2__No_changes (0) +#endif + +// signal: @BCM_Color_Width_Val_ro +#define CANDB_BCM_Color_Width_Val_ro_CovFactor (0.5) +#define CANDB_BCM_Color_Width_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.5)) ) +#define CANDB_BCM_Color_Width_Val_ro_fromS(x) ( (((x) * (0.5)) + (0.0)) ) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Algorythm to play: + // 0 - No algorythm change + // 1 - Algorythm 1 + // 2 - Algorythm 2 + // ----------------------------- + // 3F - Algorythm N + // 0 : " No changes" + // 1 : " 2 color gradient" + // 2 : " 3 color gradient" + // 3 : " Permanent color" + // 4 : " Brightness gradient" + // 5 : " Script 5 " + // 6 : " Script 6" + // 62 : " Script 63" + // 63 : " Script 64" + // 7 : " Script 7" + // 8 : " Script 8" + // 9 : " Script 9" + // 10 : " Script 10" + // 11 : " Script 11" + // 12 : " Script 12" + // 13 : " Script 13" + // 14 : " Script 14" + // 15 : " Script 15" + // 16 : " Script 16" + // 17 : " Script 17" + // 18 : " Script 18" + // 19 : " Script 19" + // 20 : " Script 20" + // 21 : " Script 21" + // 22 : " Script 22" + // 23 : " Script 23" + // 24 : " Script 24" + // 25 : " Script 25" + // 26 : " Script 26" + // 27 : " Script 27" + // 28 : " Script 28" + // 29 : " Script 29" + // 30 : " Script 31" + // 31 : " Script 32" + // 32 : " Script 33" + // 33 : " Script 34" + // 34 : " Script 35" + // 35 : " Script 36" + // 36 : " Script 37" + // 37 : " Script 38" + // 38 : " Script 39" + // 39 : " Script 40" + // 40 : " Script 41" + // 41 : " Script 42" + // 42 : " Script 43" + // 43 : " Script 44" + // 44 : " Script 45" + // 45 : " Script 46" + // 46 : " Script 47" + // 47 : " Script 48" + // 48 : " Script 49" + // 49 : " Script 50" + // 50 : " Script 51" + // 51 : " Script 52" + // 52 : " Script 53" + // 53 : " Script 54" + // 54 : " Script 55" + // 55 : " Script 56" + // 56 : " Script 57" + // 57 : " Script 58" + // 58 : " Script 59" + // 59 : " Script 60" + // 60 : " Script 61" + // 61 : " Script 62" + uint8_t BCM_Script_play_Req : 6; // Bits= 6 + + // Position of scenario start: + // 0 - Start from 0 led + // 1 - Start from last led (inversion) + // 2 - Start from center + // 3 - From edges to center + // 4 : " From edges to center" + // 3 : " Center strip start" + // 2 : " Last LED start (inversion)" + // 1 : " 0 LED Start" + // 0 : " No changes" + uint8_t BCM_StartPosition_Req : 3; // Bits= 3 + + // Position of scenario middle: + // 0 - Start from 0 led + // 1 - Start from last led (inversion) + // 2 - Start from center + // 3 - From edges to center + // 4 : " From edges to center" + // 3 : " Center strip start" + // 2 : " Last LED start (inversion)" + // 1 : " 0 LED Start" + // 0 : " No changes" + uint8_t BCM_MiddlePosition_Req : 3; // Bits= 3 + + // Position of scenario end: + // 0 - Start from 0 led + // 1 - Start from last led (inversion) + // 2 - Start from center + // 3 - From edges to center + // 4 : " From edges to center" + // 3 : " Center strip start" + // 2 : " Last LED start (inversion)" + // 1 : " 0 LED Start" + // 0 : " No changes" + uint8_t BCM_EndPosition_Req : 3; // Bits= 3 + + // Color pick + // 7 : " 1 & 2 & 3 & 4" + // 6 : " 1 & 2 & 3" + // 5 : " 1 & 2" + // 4 : " 4th color" + // 3 : " 3d color" + // 2 : " 2nd color" + // 1 : " 1st color" + // 0 : " No changes" + uint8_t BCM_ColorConfiguration_Stat : 3; // Bits= 3 + + // Color width: percentage or leds amount + uint8_t BCM_Color_Width_Val_ro; // Bits= 8 Factor= 0.5 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_Color_Width_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Red color coordinate + uint8_t BCM_RedColorParameter_Val; // Bits= 8 + + // Green color coordinate + uint8_t BCM_GreenColorParameter_Val; // Bits= 8 + + // Blue color coordinate + uint8_t BCM_BlueColorParameter_Val; // Bits= 8 + + // White color coordinate + uint8_t BCM_WhiteColorParameter_Val; // Bits= 8 + +#else + + // Algorythm to play: + // 0 - No algorythm change + // 1 - Algorythm 1 + // 2 - Algorythm 2 + // ----------------------------- + // 3F - Algorythm N + // 0 : " No changes" + // 1 : " 2 color gradient" + // 2 : " 3 color gradient" + // 3 : " Permanent color" + // 4 : " Brightness gradient" + // 5 : " Script 5 " + // 6 : " Script 6" + // 62 : " Script 63" + // 63 : " Script 64" + // 7 : " Script 7" + // 8 : " Script 8" + // 9 : " Script 9" + // 10 : " Script 10" + // 11 : " Script 11" + // 12 : " Script 12" + // 13 : " Script 13" + // 14 : " Script 14" + // 15 : " Script 15" + // 16 : " Script 16" + // 17 : " Script 17" + // 18 : " Script 18" + // 19 : " Script 19" + // 20 : " Script 20" + // 21 : " Script 21" + // 22 : " Script 22" + // 23 : " Script 23" + // 24 : " Script 24" + // 25 : " Script 25" + // 26 : " Script 26" + // 27 : " Script 27" + // 28 : " Script 28" + // 29 : " Script 29" + // 30 : " Script 31" + // 31 : " Script 32" + // 32 : " Script 33" + // 33 : " Script 34" + // 34 : " Script 35" + // 35 : " Script 36" + // 36 : " Script 37" + // 37 : " Script 38" + // 38 : " Script 39" + // 39 : " Script 40" + // 40 : " Script 41" + // 41 : " Script 42" + // 42 : " Script 43" + // 43 : " Script 44" + // 44 : " Script 45" + // 45 : " Script 46" + // 46 : " Script 47" + // 47 : " Script 48" + // 48 : " Script 49" + // 49 : " Script 50" + // 50 : " Script 51" + // 51 : " Script 52" + // 52 : " Script 53" + // 53 : " Script 54" + // 54 : " Script 55" + // 55 : " Script 56" + // 56 : " Script 57" + // 57 : " Script 58" + // 58 : " Script 59" + // 59 : " Script 60" + // 60 : " Script 61" + // 61 : " Script 62" + uint8_t BCM_Script_play_Req; // Bits= 6 + + // Position of scenario start: + // 0 - Start from 0 led + // 1 - Start from last led (inversion) + // 2 - Start from center + // 3 - From edges to center + // 4 : " From edges to center" + // 3 : " Center strip start" + // 2 : " Last LED start (inversion)" + // 1 : " 0 LED Start" + // 0 : " No changes" + uint8_t BCM_StartPosition_Req; // Bits= 3 + + // Position of scenario middle: + // 0 - Start from 0 led + // 1 - Start from last led (inversion) + // 2 - Start from center + // 3 - From edges to center + // 4 : " From edges to center" + // 3 : " Center strip start" + // 2 : " Last LED start (inversion)" + // 1 : " 0 LED Start" + // 0 : " No changes" + uint8_t BCM_MiddlePosition_Req; // Bits= 3 + + // Position of scenario end: + // 0 - Start from 0 led + // 1 - Start from last led (inversion) + // 2 - Start from center + // 3 - From edges to center + // 4 : " From edges to center" + // 3 : " Center strip start" + // 2 : " Last LED start (inversion)" + // 1 : " 0 LED Start" + // 0 : " No changes" + uint8_t BCM_EndPosition_Req; // Bits= 3 + + // Color pick + // 7 : " 1 & 2 & 3 & 4" + // 6 : " 1 & 2 & 3" + // 5 : " 1 & 2" + // 4 : " 4th color" + // 3 : " 3d color" + // 2 : " 2nd color" + // 1 : " 1st color" + // 0 : " No changes" + uint8_t BCM_ColorConfiguration_Stat; // Bits= 3 + + // Color width: percentage or leds amount + uint8_t BCM_Color_Width_Val_ro; // Bits= 8 Factor= 0.5 Unit:'%' + +#ifdef CANDB_USE_SIGFLOAT + sigfloat_t BCM_Color_Width_Val_phys; +#endif // CANDB_USE_SIGFLOAT + + // Red color coordinate + uint8_t BCM_RedColorParameter_Val; // Bits= 8 + + // Green color coordinate + uint8_t BCM_GreenColorParameter_Val; // Bits= 8 + + // Blue color coordinate + uint8_t BCM_BlueColorParameter_Val; // Bits= 8 + + // White color coordinate + uint8_t BCM_WhiteColorParameter_Val; // Bits= 8 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} BCM_StyleCmd2_t; + +// def @BCM_StyleCmd3 CAN Message (1447 0x5a7) +#define BCM_StyleCmd3_IDE (0U) +#define BCM_StyleCmd3_DLC (8U) +#define BCM_StyleCmd3_CANID (0x5a7U) + +// Value tables for @BCM_PlaceToPlay_Req signal + +#ifndef BCM_PlaceToPlay_Req_BCM_StyleCmd3__End_place +#define BCM_PlaceToPlay_Req_BCM_StyleCmd3__End_place (3) +#endif + +#ifndef BCM_PlaceToPlay_Req_BCM_StyleCmd3__Start_place +#define BCM_PlaceToPlay_Req_BCM_StyleCmd3__Start_place (2) +#endif + +#ifndef BCM_PlaceToPlay_Req_BCM_StyleCmd3__All_places +#define BCM_PlaceToPlay_Req_BCM_StyleCmd3__All_places (1) +#endif + +#ifndef BCM_PlaceToPlay_Req_BCM_StyleCmd3__No_changes +#define BCM_PlaceToPlay_Req_BCM_StyleCmd3__No_changes (0) +#endif + + +// Value tables for @BCM_TransModeOutScen_Req signal + +#ifndef BCM_TransModeOutScen_Req_BCM_StyleCmd3__Reserved +#define BCM_TransModeOutScen_Req_BCM_StyleCmd3__Reserved (13) +#endif + +#ifndef BCM_TransModeOutScen_Req_BCM_StyleCmd3__Reserved +#define BCM_TransModeOutScen_Req_BCM_StyleCmd3__Reserved (12) +#endif + +#ifndef BCM_TransModeOutScen_Req_BCM_StyleCmd3__Reserved +#define BCM_TransModeOutScen_Req_BCM_StyleCmd3__Reserved (11) +#endif + +#ifndef BCM_TransModeOutScen_Req_BCM_StyleCmd3__Reserved +#define BCM_TransModeOutScen_Req_BCM_StyleCmd3__Reserved (10) +#endif + +#ifndef BCM_TransModeOutScen_Req_BCM_StyleCmd3__Reserved +#define BCM_TransModeOutScen_Req_BCM_StyleCmd3__Reserved (9) +#endif + +#ifndef BCM_TransModeOutScen_Req_BCM_StyleCmd3__Reserved +#define BCM_TransModeOutScen_Req_BCM_StyleCmd3__Reserved (8) +#endif + +#ifndef BCM_TransModeOutScen_Req_BCM_StyleCmd3__Reserved +#define BCM_TransModeOutScen_Req_BCM_StyleCmd3__Reserved (7) +#endif + +#ifndef BCM_TransModeOutScen_Req_BCM_StyleCmd3__Reserved +#define BCM_TransModeOutScen_Req_BCM_StyleCmd3__Reserved (6) +#endif + +#ifndef BCM_TransModeOutScen_Req_BCM_StyleCmd3__Reserved +#define BCM_TransModeOutScen_Req_BCM_StyleCmd3__Reserved (5) +#endif + +#ifndef BCM_TransModeOutScen_Req_BCM_StyleCmd3__Reserved +#define BCM_TransModeOutScen_Req_BCM_StyleCmd3__Reserved (14) +#endif + +#ifndef BCM_TransModeOutScen_Req_BCM_StyleCmd3__Reserved +#define BCM_TransModeOutScen_Req_BCM_StyleCmd3__Reserved (15) +#endif + +#ifndef BCM_TransModeOutScen_Req_BCM_StyleCmd3__Smooth_strip_fill_with_brightness_tail +#define BCM_TransModeOutScen_Req_BCM_StyleCmd3__Smooth_strip_fill_with_brightness_tail (4) +#endif + +#ifndef BCM_TransModeOutScen_Req_BCM_StyleCmd3__Smooth_strip_fill +#define BCM_TransModeOutScen_Req_BCM_StyleCmd3__Smooth_strip_fill (3) +#endif + +#ifndef BCM_TransModeOutScen_Req_BCM_StyleCmd3__Smooth_transition +#define BCM_TransModeOutScen_Req_BCM_StyleCmd3__Smooth_transition (2) +#endif + +#ifndef BCM_TransModeOutScen_Req_BCM_StyleCmd3__Rough_transition +#define BCM_TransModeOutScen_Req_BCM_StyleCmd3__Rough_transition (1) +#endif + +#ifndef BCM_TransModeOutScen_Req_BCM_StyleCmd3__No_changes +#define BCM_TransModeOutScen_Req_BCM_StyleCmd3__No_changes (0) +#endif + +// signal: @BCM_StartStopPlayTime_Req_ro +#define CANDB_BCM_StartStopPlayTime_Req_ro_CovFactor (100) +#define CANDB_BCM_StartStopPlayTime_Req_ro_toS(x) ( (uint8_t) ((x) / (100)) ) +#define CANDB_BCM_StartStopPlayTime_Req_ro_fromS(x) ( ((x) * (100)) ) + +// Value tables for @BCM_Factorpurpose_Stat signal + +#ifndef BCM_Factorpurpose_Stat_BCM_StyleCmd3__2_Function +#define BCM_Factorpurpose_Stat_BCM_StyleCmd3__2_Function (2) +#endif + +#ifndef BCM_Factorpurpose_Stat_BCM_StyleCmd3__1_Function +#define BCM_Factorpurpose_Stat_BCM_StyleCmd3__1_Function (1) +#endif + +#ifndef BCM_Factorpurpose_Stat_BCM_StyleCmd3__No_changes_ +#define BCM_Factorpurpose_Stat_BCM_StyleCmd3__No_changes_ (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Scenario part pick (start, end or both of them) + // 3 : " End place" + // 2 : " Start place" + // 1 : " All places" + // 0 : " No changes" + uint8_t BCM_PlaceToPlay_Req : 2; // Bits= 2 + + // Transition of scenario: rough transition via rise/fall, smooth transition via rise/fall, strip fill with brightness rise/fall, etc. + // 13 : " Reserved" + // 12 : " Reserved" + // 11 : " Reserved" + // 10 : " Reserved" + // 9 : " Reserved" + // 8 : " Reserved" + // 7 : " Reserved" + // 6 : " Reserved" + // 5 : " Reserved" + // 14 : " Reserved" + // 15 : " Reserved" + // 4 : " Smooth strip fill with brightness tail" + // 3 : " Smooth strip fill" + // 2 : " Smooth transition" + // 1 : " Rough transition" + // 0 : " No changes" + uint8_t BCM_TransModeOutScen_Req : 5; // Bits= 5 + + // Play time for rise and fall + uint8_t BCM_StartStopPlayTime_Req_ro : 5; // Bits= 5 Factor= 100 Unit:'ms' + +#ifdef CANDB_USE_SIGFLOAT + uint16_t BCM_StartStopPlayTime_Req_phys; +#endif // CANDB_USE_SIGFLOAT + + // Module functions to set factors + // 2 : " 2 Function" + // 1 : " 1 Function" + // 0 : " No changes " + uint8_t BCM_Factorpurpose_Stat : 2; // Bits= 2 + + // Value of A factor + uint8_t BCM_FactorFunction_A_Val; // Bits= 8 + + // Value of B factor + uint8_t BCM_FactorFunction_B_Val; // Bits= 8 + + // Value of C factor + uint8_t BCM_FactorFunction_C_Val; // Bits= 8 + + // Reserved + uint8_t BCM_Reserved6; // Bits= 8 + + // Reserved + uint8_t BCM_Reserved7; // Bits= 8 + + // Reserved + uint8_t BCM_Reserved8; // Bits= 8 + + // Reserved + uint8_t BCM_Reserved9 : 1; // Bits= 1 + +#else + + // Scenario part pick (start, end or both of them) + // 3 : " End place" + // 2 : " Start place" + // 1 : " All places" + // 0 : " No changes" + uint8_t BCM_PlaceToPlay_Req; // Bits= 2 + + // Transition of scenario: rough transition via rise/fall, smooth transition via rise/fall, strip fill with brightness rise/fall, etc. + // 13 : " Reserved" + // 12 : " Reserved" + // 11 : " Reserved" + // 10 : " Reserved" + // 9 : " Reserved" + // 8 : " Reserved" + // 7 : " Reserved" + // 6 : " Reserved" + // 5 : " Reserved" + // 14 : " Reserved" + // 15 : " Reserved" + // 4 : " Smooth strip fill with brightness tail" + // 3 : " Smooth strip fill" + // 2 : " Smooth transition" + // 1 : " Rough transition" + // 0 : " No changes" + uint8_t BCM_TransModeOutScen_Req; // Bits= 5 + + // Play time for rise and fall + uint8_t BCM_StartStopPlayTime_Req_ro; // Bits= 5 Factor= 100 Unit:'ms' + +#ifdef CANDB_USE_SIGFLOAT + uint16_t BCM_StartStopPlayTime_Req_phys; +#endif // CANDB_USE_SIGFLOAT + + // Module functions to set factors + // 2 : " 2 Function" + // 1 : " 1 Function" + // 0 : " No changes " + uint8_t BCM_Factorpurpose_Stat; // Bits= 2 + + // Value of A factor + uint8_t BCM_FactorFunction_A_Val; // Bits= 8 + + // Value of B factor + uint8_t BCM_FactorFunction_B_Val; // Bits= 8 + + // Value of C factor + uint8_t BCM_FactorFunction_C_Val; // Bits= 8 + + // Reserved + uint8_t BCM_Reserved6; // Bits= 8 + + // Reserved + uint8_t BCM_Reserved7; // Bits= 8 + + // Reserved + uint8_t BCM_Reserved8; // Bits= 8 + + // Reserved + uint8_t BCM_Reserved9; // Bits= 1 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} BCM_StyleCmd3_t; + +// def @BCM_WHF_Request CAN Message (1448 0x5a8) +#define BCM_WHF_Request_IDE (0U) +#define BCM_WHF_Request_DLC (1U) +#define BCM_WHF_Request_CANID (0x5a8U) +#define BCM_WHF_Request_CYC (250U) + +// Value tables for @BCM_PowerWHF_Req signal + +#ifndef BCM_PowerWHF_Req_BCM_WHF_Request_ +#define BCM_PowerWHF_Req_BCM_WHF_Request_ (4) +#endif + +#ifndef BCM_PowerWHF_Req_BCM_WHF_Request_ +#define BCM_PowerWHF_Req_BCM_WHF_Request_ (3) +#endif + +#ifndef BCM_PowerWHF_Req_BCM_WHF_Request_ +#define BCM_PowerWHF_Req_BCM_WHF_Request_ (2) +#endif + +#ifndef BCM_PowerWHF_Req_BCM_WHF_Request_ +#define BCM_PowerWHF_Req_BCM_WHF_Request_ (1) +#endif + +#ifndef BCM_PowerWHF_Req_BCM_WHF_Request_Window_heater_inactive +#define BCM_PowerWHF_Req_BCM_WHF_Request_Window_heater_inactive (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Selection Front Left/Right Window Heating EMS mode state + // 4 : "100%" + // 3 : "75%" + // 2 : "50%" + // 1 : "25%" + // 0 : "Window heater inactive" + uint8_t BCM_PowerWHF_Req : 3; // Bits= 3 + +#else + + // Selection Front Left/Right Window Heating EMS mode state + // 4 : "100%" + // 3 : "75%" + // 2 : "50%" + // 1 : "25%" + // 0 : "Window heater inactive" + uint8_t BCM_PowerWHF_Req; // Bits= 3 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} BCM_WHF_Request_t; + +// def @IC_DISPLAY_CLOCK CAN Message (1450 0x5aa) +#define IC_DISPLAY_CLOCK_IDE (0U) +#define IC_DISPLAY_CLOCK_DLC (8U) +#define IC_DISPLAY_CLOCK_CANID (0x5aaU) +#define IC_DISPLAY_CLOCK_CYC (1000U) +// signal: @IC_Year_ro +#define CANDB_IC_Year_ro_CovFactor (1) +#define CANDB_IC_Year_ro_toS(x) ( (uint8_t) ((x) - (2000)) ) +#define CANDB_IC_Year_ro_fromS(x) ( ((x) + (2000)) ) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Indicates the year to be displayed + uint8_t IC_Year_ro : 7; // Bits= 7 Offset= 2000 + +#ifdef CANDB_USE_SIGFLOAT + uint16_t IC_Year_phys; +#endif // CANDB_USE_SIGFLOAT + + // Indicates the month to be displayed + uint8_t IC_Month : 4; // Bits= 4 + + // Indicates the day to be displayed + uint8_t IC_Day : 5; // Bits= 5 + + // Indicates the hour to be displayed + uint8_t IC_Hour : 5; // Bits= 5 Unit:'h' + + // Indicates the minute to be displayed + uint8_t IC_Minute : 6; // Bits= 6 Unit:'min' + + // Indicates the second to be displayed + uint8_t IC_Second : 6; // Bits= 6 Unit:'s' + +#else + + // Indicates the year to be displayed + uint8_t IC_Year_ro; // Bits= 7 Offset= 2000 + +#ifdef CANDB_USE_SIGFLOAT + uint16_t IC_Year_phys; +#endif // CANDB_USE_SIGFLOAT + + // Indicates the month to be displayed + uint8_t IC_Month; // Bits= 4 + + // Indicates the day to be displayed + uint8_t IC_Day; // Bits= 5 + + // Indicates the hour to be displayed + uint8_t IC_Hour; // Bits= 5 Unit:'h' + + // Indicates the minute to be displayed + uint8_t IC_Minute; // Bits= 6 Unit:'min' + + // Indicates the second to be displayed + uint8_t IC_Second; // Bits= 6 Unit:'s' + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} IC_DISPLAY_CLOCK_t; + +// def @BCM_UserConfig_Stat CAN Message (1452 0x5ac) +#define BCM_UserConfig_Stat_IDE (0U) +#define BCM_UserConfig_Stat_DLC (8U) +#define BCM_UserConfig_Stat_CANID (0x5acU) +#define BCM_UserConfig_Stat_CYC (500U) + +// Value tables for @BCM_StyleIllTheme_Stat signal + +#ifndef BCM_StyleIllTheme_Stat_BCM_UserConfig_Stat_Color_theme_16 +#define BCM_StyleIllTheme_Stat_BCM_UserConfig_Stat_Color_theme_16 (15) +#endif + +#ifndef BCM_StyleIllTheme_Stat_BCM_UserConfig_Stat_Color_theme_15 +#define BCM_StyleIllTheme_Stat_BCM_UserConfig_Stat_Color_theme_15 (14) +#endif + +#ifndef BCM_StyleIllTheme_Stat_BCM_UserConfig_Stat_Color_theme_14 +#define BCM_StyleIllTheme_Stat_BCM_UserConfig_Stat_Color_theme_14 (13) +#endif + +#ifndef BCM_StyleIllTheme_Stat_BCM_UserConfig_Stat_Color_theme_13 +#define BCM_StyleIllTheme_Stat_BCM_UserConfig_Stat_Color_theme_13 (12) +#endif + +#ifndef BCM_StyleIllTheme_Stat_BCM_UserConfig_Stat_Color_theme_12 +#define BCM_StyleIllTheme_Stat_BCM_UserConfig_Stat_Color_theme_12 (11) +#endif + +#ifndef BCM_StyleIllTheme_Stat_BCM_UserConfig_Stat_Color_theme_11 +#define BCM_StyleIllTheme_Stat_BCM_UserConfig_Stat_Color_theme_11 (10) +#endif + +#ifndef BCM_StyleIllTheme_Stat_BCM_UserConfig_Stat_Color_theme_10 +#define BCM_StyleIllTheme_Stat_BCM_UserConfig_Stat_Color_theme_10 (9) +#endif + +#ifndef BCM_StyleIllTheme_Stat_BCM_UserConfig_Stat_Color_theme_9 +#define BCM_StyleIllTheme_Stat_BCM_UserConfig_Stat_Color_theme_9 (8) +#endif + +#ifndef BCM_StyleIllTheme_Stat_BCM_UserConfig_Stat_Reserved +#define BCM_StyleIllTheme_Stat_BCM_UserConfig_Stat_Reserved (7) +#endif + +#ifndef BCM_StyleIllTheme_Stat_BCM_UserConfig_Stat_Color_theme_7 +#define BCM_StyleIllTheme_Stat_BCM_UserConfig_Stat_Color_theme_7 (6) +#endif + +#ifndef BCM_StyleIllTheme_Stat_BCM_UserConfig_Stat_Color_theme_6 +#define BCM_StyleIllTheme_Stat_BCM_UserConfig_Stat_Color_theme_6 (5) +#endif + +#ifndef BCM_StyleIllTheme_Stat_BCM_UserConfig_Stat_Color_theme_5 +#define BCM_StyleIllTheme_Stat_BCM_UserConfig_Stat_Color_theme_5 (4) +#endif + +#ifndef BCM_StyleIllTheme_Stat_BCM_UserConfig_Stat_Color_theme_4 +#define BCM_StyleIllTheme_Stat_BCM_UserConfig_Stat_Color_theme_4 (3) +#endif + +#ifndef BCM_StyleIllTheme_Stat_BCM_UserConfig_Stat_Color_theme_3 +#define BCM_StyleIllTheme_Stat_BCM_UserConfig_Stat_Color_theme_3 (2) +#endif + +#ifndef BCM_StyleIllTheme_Stat_BCM_UserConfig_Stat_Color_theme_2 +#define BCM_StyleIllTheme_Stat_BCM_UserConfig_Stat_Color_theme_2 (1) +#endif + +#ifndef BCM_StyleIllTheme_Stat_BCM_UserConfig_Stat_Color_theme_1 +#define BCM_StyleIllTheme_Stat_BCM_UserConfig_Stat_Color_theme_1 (0) +#endif + + +// Value tables for @BCM_ConfCamera_Stat signal + +#ifndef BCM_ConfCamera_Stat_BCM_UserConfig_Stat_Error_state +#define BCM_ConfCamera_Stat_BCM_UserConfig_Stat_Error_state (3) +#endif + +#ifndef BCM_ConfCamera_Stat_BCM_UserConfig_Stat_Intermediate_position +#define BCM_ConfCamera_Stat_BCM_UserConfig_Stat_Intermediate_position (2) +#endif + +#ifndef BCM_ConfCamera_Stat_BCM_UserConfig_Stat_Opened_active +#define BCM_ConfCamera_Stat_BCM_UserConfig_Stat_Opened_active (1) +#endif + +#ifndef BCM_ConfCamera_Stat_BCM_UserConfig_Stat_Closed_inactive +#define BCM_ConfCamera_Stat_BCM_UserConfig_Stat_Closed_inactive (0) +#endif + + +// Value tables for @BCM_FIU_UserNotification_Stat signal + +#ifndef BCM_FIU_UserNotification_Stat_BCM_UserConfig_Stat_Low_Level_Battery_notification +#define BCM_FIU_UserNotification_Stat_BCM_UserConfig_Stat_Low_Level_Battery_notification (2) +#endif + +#ifndef BCM_FIU_UserNotification_Stat_BCM_UserConfig_Stat_FIU_turns_OFF_notification +#define BCM_FIU_UserNotification_Stat_BCM_UserConfig_Stat_FIU_turns_OFF_notification (1) +#endif + +#ifndef BCM_FIU_UserNotification_Stat_BCM_UserConfig_Stat_No_notification +#define BCM_FIU_UserNotification_Stat_BCM_UserConfig_Stat_No_notification (0) +#endif + + +// Value tables for @BCM_StyleIllGlobal_Stat signal + +#ifndef BCM_StyleIllGlobal_Stat_BCM_UserConfig_Stat_Function_active +#define BCM_StyleIllGlobal_Stat_BCM_UserConfig_Stat_Function_active (1) +#endif + +#ifndef BCM_StyleIllGlobal_Stat_BCM_UserConfig_Stat_Function_inactive +#define BCM_StyleIllGlobal_Stat_BCM_UserConfig_Stat_Function_inactive (0) +#endif + + +// Value tables for @BCM_ApproachAccess_Stat signal + +#ifndef BCM_ApproachAccess_Stat_BCM_UserConfig_Stat_Function_inactive +#define BCM_ApproachAccess_Stat_BCM_UserConfig_Stat_Function_inactive (0) +#endif + +#ifndef BCM_ApproachAccess_Stat_BCM_UserConfig_Stat_Function_active +#define BCM_ApproachAccess_Stat_BCM_UserConfig_Stat_Function_active (1) +#endif + + +// Value tables for @BCM_UnlockAfterDrive_Stat signal + +#ifndef BCM_UnlockAfterDrive_Stat_BCM_UserConfig_Stat_Function_inactive +#define BCM_UnlockAfterDrive_Stat_BCM_UserConfig_Stat_Function_inactive (0) +#endif + +#ifndef BCM_UnlockAfterDrive_Stat_BCM_UserConfig_Stat_Function_active +#define BCM_UnlockAfterDrive_Stat_BCM_UserConfig_Stat_Function_active (1) +#endif + + +// Value tables for @BCM_UnlockExternal_Stat signal + +#ifndef BCM_UnlockExternal_Stat_BCM_UserConfig_Stat_Function_inactive +#define BCM_UnlockExternal_Stat_BCM_UserConfig_Stat_Function_inactive (0) +#endif + +#ifndef BCM_UnlockExternal_Stat_BCM_UserConfig_Stat_Function_active +#define BCM_UnlockExternal_Stat_BCM_UserConfig_Stat_Function_active (1) +#endif + + +// Value tables for @BCM_UnlockInternal_Stat signal + +#ifndef BCM_UnlockInternal_Stat_BCM_UserConfig_Stat_Function_inactive +#define BCM_UnlockInternal_Stat_BCM_UserConfig_Stat_Function_inactive (0) +#endif + +#ifndef BCM_UnlockInternal_Stat_BCM_UserConfig_Stat_Function_active +#define BCM_UnlockInternal_Stat_BCM_UserConfig_Stat_Function_active (1) +#endif + + +// Value tables for @BCM_DoorsDriveLock_Stat signal + +#ifndef BCM_DoorsDriveLock_Stat_BCM_UserConfig_Stat_Function_inactive +#define BCM_DoorsDriveLock_Stat_BCM_UserConfig_Stat_Function_inactive (0) +#endif + +#ifndef BCM_DoorsDriveLock_Stat_BCM_UserConfig_Stat_Function_active +#define BCM_DoorsDriveLock_Stat_BCM_UserConfig_Stat_Function_active (1) +#endif + + +// Value tables for @BCM_TrafficSide_Stat signal + +#ifndef BCM_TrafficSide_Stat_BCM_UserConfig_Stat_RightHand +#define BCM_TrafficSide_Stat_BCM_UserConfig_Stat_RightHand (1) +#endif + +#ifndef BCM_TrafficSide_Stat_BCM_UserConfig_Stat_LeftHand +#define BCM_TrafficSide_Stat_BCM_UserConfig_Stat_LeftHand (0) +#endif + + +// Value tables for @BCM_WelcomeLeavingLight_Stat signal + +#ifndef BCM_WelcomeLeavingLight_Stat_BCM_UserConfig_Stat_Inactive +#define BCM_WelcomeLeavingLight_Stat_BCM_UserConfig_Stat_Inactive (0) +#endif + +#ifndef BCM_WelcomeLeavingLight_Stat_BCM_UserConfig_Stat_Active +#define BCM_WelcomeLeavingLight_Stat_BCM_UserConfig_Stat_Active (1) +#endif + + +// Value tables for @BCM_WelcomeLightAnimation_Stat signal + +#ifndef BCM_WelcomeLightAnimation_Stat_BCM_UserConfig_Stat_Inactive +#define BCM_WelcomeLightAnimation_Stat_BCM_UserConfig_Stat_Inactive (0) +#endif + +#ifndef BCM_WelcomeLightAnimation_Stat_BCM_UserConfig_Stat_Active +#define BCM_WelcomeLightAnimation_Stat_BCM_UserConfig_Stat_Active (1) +#endif + + +// Value tables for @BCM_ArmrestHeatFL_Stat signal + +#ifndef BCM_ArmrestHeatFL_Stat_BCM_UserConfig_Stat_Inactive +#define BCM_ArmrestHeatFL_Stat_BCM_UserConfig_Stat_Inactive (0) +#endif + +#ifndef BCM_ArmrestHeatFL_Stat_BCM_UserConfig_Stat_Active +#define BCM_ArmrestHeatFL_Stat_BCM_UserConfig_Stat_Active (1) +#endif + + +// Value tables for @BCM_ArmrestHeatFR_Stat signal + +#ifndef BCM_ArmrestHeatFR_Stat_BCM_UserConfig_Stat_Inactive +#define BCM_ArmrestHeatFR_Stat_BCM_UserConfig_Stat_Inactive (0) +#endif + +#ifndef BCM_ArmrestHeatFR_Stat_BCM_UserConfig_Stat_Active +#define BCM_ArmrestHeatFR_Stat_BCM_UserConfig_Stat_Active (1) +#endif + + +// Value tables for @BCM_ArmrestHeatRL_Stat signal + +#ifndef BCM_ArmrestHeatRL_Stat_BCM_UserConfig_Stat_Inactive +#define BCM_ArmrestHeatRL_Stat_BCM_UserConfig_Stat_Inactive (0) +#endif + +#ifndef BCM_ArmrestHeatRL_Stat_BCM_UserConfig_Stat_Active +#define BCM_ArmrestHeatRL_Stat_BCM_UserConfig_Stat_Active (1) +#endif + + +// Value tables for @BCM_ArmrestHeatRR_Stat signal + +#ifndef BCM_ArmrestHeatRR_Stat_BCM_UserConfig_Stat_Inactive +#define BCM_ArmrestHeatRR_Stat_BCM_UserConfig_Stat_Inactive (0) +#endif + +#ifndef BCM_ArmrestHeatRR_Stat_BCM_UserConfig_Stat_Active +#define BCM_ArmrestHeatRR_Stat_BCM_UserConfig_Stat_Active (1) +#endif + + +// Value tables for @BCM_WelcomeLeavingLightTime_Stat signal + +#ifndef BCM_WelcomeLeavingLightTime_Stat_BCM_UserConfig_Stat_Function_active_for_time_15_sec +#define BCM_WelcomeLeavingLightTime_Stat_BCM_UserConfig_Stat_Function_active_for_time_15_sec (0) +#endif + +#ifndef BCM_WelcomeLeavingLightTime_Stat_BCM_UserConfig_Stat_Function_active_for_time_30_sec +#define BCM_WelcomeLeavingLightTime_Stat_BCM_UserConfig_Stat_Function_active_for_time_30_sec (1) +#endif + +#ifndef BCM_WelcomeLeavingLightTime_Stat_BCM_UserConfig_Stat_Function_active_for_time_45_sec +#define BCM_WelcomeLeavingLightTime_Stat_BCM_UserConfig_Stat_Function_active_for_time_45_sec (2) +#endif + +#ifndef BCM_WelcomeLeavingLightTime_Stat_BCM_UserConfig_Stat_Function_active_for_time_60_sec +#define BCM_WelcomeLeavingLightTime_Stat_BCM_UserConfig_Stat_Function_active_for_time_60_sec (3) +#endif + + +// Value tables for @BCM_HeadlightWashing_Stat signal + +#ifndef BCM_HeadlightWashing_Stat_BCM_UserConfig_Stat_Inactive +#define BCM_HeadlightWashing_Stat_BCM_UserConfig_Stat_Inactive (0) +#endif + +#ifndef BCM_HeadlightWashing_Stat_BCM_UserConfig_Stat_Active +#define BCM_HeadlightWashing_Stat_BCM_UserConfig_Stat_Active (1) +#endif + + +// Value tables for @BCM_MirrorsAutoFold_Stat signal + +#ifndef BCM_MirrorsAutoFold_Stat_BCM_UserConfig_Stat_Inactive +#define BCM_MirrorsAutoFold_Stat_BCM_UserConfig_Stat_Inactive (0) +#endif + +#ifndef BCM_MirrorsAutoFold_Stat_BCM_UserConfig_Stat_Active +#define BCM_MirrorsAutoFold_Stat_BCM_UserConfig_Stat_Active (1) +#endif + + +// Value tables for @BCM_MirrorsAutoTilt_Stat signal + +#ifndef BCM_MirrorsAutoTilt_Stat_BCM_UserConfig_Stat_Inactive +#define BCM_MirrorsAutoTilt_Stat_BCM_UserConfig_Stat_Inactive (0) +#endif + +#ifndef BCM_MirrorsAutoTilt_Stat_BCM_UserConfig_Stat_Active +#define BCM_MirrorsAutoTilt_Stat_BCM_UserConfig_Stat_Active (1) +#endif + + +// Value tables for @BCM_WindowsRainClosing_Stat signal + +#ifndef BCM_WindowsRainClosing_Stat_BCM_UserConfig_Stat_Inactive +#define BCM_WindowsRainClosing_Stat_BCM_UserConfig_Stat_Inactive (0) +#endif + +#ifndef BCM_WindowsRainClosing_Stat_BCM_UserConfig_Stat_Active +#define BCM_WindowsRainClosing_Stat_BCM_UserConfig_Stat_Active (1) +#endif + + +// Value tables for @BCM_AudibleLockFdBack_Stat signal + +#ifndef BCM_AudibleLockFdBack_Stat_BCM_UserConfig_Stat_Inactive +#define BCM_AudibleLockFdBack_Stat_BCM_UserConfig_Stat_Inactive (0) +#endif + +#ifndef BCM_AudibleLockFdBack_Stat_BCM_UserConfig_Stat_Active +#define BCM_AudibleLockFdBack_Stat_BCM_UserConfig_Stat_Active (1) +#endif + + +// Value tables for @BCM_AutoWiper_Stat signal + +#ifndef BCM_AutoWiper_Stat_BCM_UserConfig_Stat_Inactive +#define BCM_AutoWiper_Stat_BCM_UserConfig_Stat_Inactive (0) +#endif + +#ifndef BCM_AutoWiper_Stat_BCM_UserConfig_Stat_Active +#define BCM_AutoWiper_Stat_BCM_UserConfig_Stat_Active (1) +#endif + + +// Value tables for @BCM_TrnkDoorCloseBySpeed_Stat signal + +#ifndef BCM_TrnkDoorCloseBySpeed_Stat_BCM_UserConfig_Stat_Inactive +#define BCM_TrnkDoorCloseBySpeed_Stat_BCM_UserConfig_Stat_Inactive (0) +#endif + +#ifndef BCM_TrnkDoorCloseBySpeed_Stat_BCM_UserConfig_Stat_Active +#define BCM_TrnkDoorCloseBySpeed_Stat_BCM_UserConfig_Stat_Active (1) +#endif + + +// Value tables for @BCM_RunningBoards_Stat signal + +#ifndef BCM_RunningBoards_Stat_BCM_UserConfig_Stat_Auto +#define BCM_RunningBoards_Stat_BCM_UserConfig_Stat_Auto (0) +#endif + +#ifndef BCM_RunningBoards_Stat_BCM_UserConfig_Stat_Folded +#define BCM_RunningBoards_Stat_BCM_UserConfig_Stat_Folded (1) +#endif + +#ifndef BCM_RunningBoards_Stat_BCM_UserConfig_Stat_Unfolded +#define BCM_RunningBoards_Stat_BCM_UserConfig_Stat_Unfolded (2) +#endif + + +// Value tables for @BCM_SteeringWheelAutoHeat_Stat signal + +#ifndef BCM_SteeringWheelAutoHeat_Stat_BCM_UserConfig_Stat_Inactive +#define BCM_SteeringWheelAutoHeat_Stat_BCM_UserConfig_Stat_Inactive (0) +#endif + +#ifndef BCM_SteeringWheelAutoHeat_Stat_BCM_UserConfig_Stat_Active +#define BCM_SteeringWheelAutoHeat_Stat_BCM_UserConfig_Stat_Active (1) +#endif + + +// Value tables for @BCM_Ultraviolet_Stat signal + +#ifndef BCM_Ultraviolet_Stat_BCM_UserConfig_Stat_Function_Active +#define BCM_Ultraviolet_Stat_BCM_UserConfig_Stat_Function_Active (1) +#endif + +#ifndef BCM_Ultraviolet_Stat_BCM_UserConfig_Stat_Function_Inactive +#define BCM_Ultraviolet_Stat_BCM_UserConfig_Stat_Function_Inactive (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Color theme presets for style illumination + // 15 : "Color theme 16" + // 14 : "Color theme 15" + // 13 : "Color theme 14" + // 12 : "Color theme 13" + // 11 : "Color theme 12" + // 10 : "Color theme 11" + // 9 : "Color theme 10" + // 8 : "Color theme 9" + // 7 : "Reserved" + // 6 : "Color theme 7" + // 5 : "Color theme 6" + // 4 : "Color theme 5" + // 3 : "Color theme 4" + // 2 : "Color theme 3" + // 1 : "Color theme 2" + // 0 : "Color theme 1" + uint8_t BCM_StyleIllTheme_Stat : 4; // Bits= 4 + + // Current state signal of the camera electric drive + // 3 : "Error state" + // 2 : "Intermediate position" + // 1 : "Opened (active)" + // 0 : "Closed (inactive)" + uint8_t BCM_ConfCamera_Stat : 2; // Bits= 2 + + // Flag from BCM to notify the user 1 min. before the planned shutdown + // 2 : "Low Level Battery notification" + // 1 : "FIU turns OFF notification" + // 0 : "No notification" + uint8_t BCM_FIU_UserNotification_Stat : 2; // Bits= 2 + + // Style illumination brightness % + uint8_t BCM_StyleIllBright_Val : 7; // Bits= 7 Unit:'%' + + // Style illumination global ON/OFF + // 1 : "Function active" + // 0 : "Function inactive" + uint8_t BCM_StyleIllGlobal_Stat : 1; // Bits= 1 + + // Automatic doors lock, when user leaves vehicle + // Automatic doors unlock, when user approaches to vehicle + // 0 : "Function inactive" + // 1 : "Function active" + uint8_t BCM_ApproachAccess_Stat : 1; // Bits= 1 + + // Doors automatically unlocking after drive (selector in P position, ignition off) + // 0 : "Function inactive" + // 1 : "Function active" + uint8_t BCM_UnlockAfterDrive_Stat : 1; // Bits= 1 + + // 0x0: when external unlock request received at 1st time all doors shall unlock + // 0x1: when external unlock request received at 1st time only driver's door shall unlock, at 2nd time all doors shall unlock + // 0 : "Function inactive" + // 1 : "Function active" + uint8_t BCM_UnlockExternal_Stat : 1; // Bits= 1 + + // 0x0: when requesting to open a door through the internal front door handle, all doors shall unlock + // 0x1: when requesting to open a door through the internal front door handle, only own door shall unlock + // 0 : "Function inactive" + // 1 : "Function active" + uint8_t BCM_UnlockInternal_Stat : 1; // Bits= 1 + + // Doors automatically locking when driving (speed above threshold) + // 0 : "Function inactive" + // 1 : "Function active" + uint8_t BCM_DoorsDriveLock_Stat : 1; // Bits= 1 + + // Selected road traffic side + // 1 : "Right-Hand" + // 0 : "Left-Hand" + uint8_t BCM_TrafficSide_Stat : 1; // Bits= 1 + + // Welcome and leaving light function enable status + // 0 : "Inactive" + // 1 : "Active" + uint8_t BCM_WelcomeLeavingLight_Stat : 1; // Bits= 1 + + // Welcome headlight animation enable + // 0 : "Inactive" + // 1 : "Active" + uint8_t BCM_WelcomeLightAnimation_Stat : 1; // Bits= 1 + + // Armrest heating FL function status + // 0 : "Inactive" + // 1 : "Active" + uint8_t BCM_ArmrestHeatFL_Stat : 1; // Bits= 1 + + // Armrest heating FR function status + // 0 : "Inactive" + // 1 : "Active" + uint8_t BCM_ArmrestHeatFR_Stat : 1; // Bits= 1 + + // Armrest heating RL function status + // 0 : "Inactive" + // 1 : "Active" + uint8_t BCM_ArmrestHeatRL_Stat : 1; // Bits= 1 + + // Armrest heating RR function status + // 0 : "Inactive" + // 1 : "Active" + uint8_t BCM_ArmrestHeatRR_Stat : 1; // Bits= 1 + + // Welcome and leaving light working time + // 0 : "Function active for time 15 sec" + // 1 : "Function active for time 30 sec" + // 2 : "Function active for time 45 sec" + // 3 : "Function active for time 60 sec" + uint8_t BCM_WelcomeLeavingLightTime_Stat : 2; // Bits= 2 + + // AUTO washing headlights together with windshield + // 0 : "Inactive" + // 1 : "Active" + uint8_t BCM_HeadlightWashing_Stat : 1; // Bits= 1 + + // Auto folding mirrors when secure lock action + // 0 : "Inactive" + // 1 : "Active" + uint8_t BCM_MirrorsAutoFold_Stat : 1; // Bits= 1 + + // When R gear is active mirrors are bend over + // 0 : "Inactive" + // 1 : "Active" + uint8_t BCM_MirrorsAutoTilt_Stat : 1; // Bits= 1 + + // Windows automatically closing when it rains + // 0 : "Inactive" + // 1 : "Active" + uint8_t BCM_WindowsRainClosing_Stat : 1; // Bits= 1 + + // Vehicle locking/unlocking sound enable function + // 0 : "Inactive" + // 1 : "Active" + uint8_t BCM_AudibleLockFdBack_Stat : 1; // Bits= 1 + + // Auto wipering windshield by RLS sensor signals + // 0 : "Inactive" + // 1 : "Active" + uint8_t BCM_AutoWiper_Stat : 1; // Bits= 1 + + // Trunk automatically closing when driving (speed above threshhold) + // 0 : "Inactive" + // 1 : "Active" + uint8_t BCM_TrnkDoorCloseBySpeed_Stat : 1; // Bits= 1 + + // Thresholds status: 0x0 - thresholds shall be automatic 0x1 - threshholds shall be alwasys fold 0x2 - thresholds shall be always unfold + // 0 : "Auto" + // 1 : "Folded" + // 2 : "Unfolded" + uint8_t BCM_RunningBoards_Stat : 2; // Bits= 2 + + // Automatically steering wheel heating + // 0 : "Inactive" + // 1 : "Active" + uint8_t BCM_SteeringWheelAutoHeat_Stat : 1; // Bits= 1 + + // The signal displays the status of the user turning on the ultraviolet irradiation function of the cabin after leaving it + // 1 : "Function Active" + // 0 : "Function Inactive" + uint8_t BCM_Ultraviolet_Stat : 1; // Bits= 1 + +#else + + // Color theme presets for style illumination + // 15 : "Color theme 16" + // 14 : "Color theme 15" + // 13 : "Color theme 14" + // 12 : "Color theme 13" + // 11 : "Color theme 12" + // 10 : "Color theme 11" + // 9 : "Color theme 10" + // 8 : "Color theme 9" + // 7 : "Reserved" + // 6 : "Color theme 7" + // 5 : "Color theme 6" + // 4 : "Color theme 5" + // 3 : "Color theme 4" + // 2 : "Color theme 3" + // 1 : "Color theme 2" + // 0 : "Color theme 1" + uint8_t BCM_StyleIllTheme_Stat; // Bits= 4 + + // Current state signal of the camera electric drive + // 3 : "Error state" + // 2 : "Intermediate position" + // 1 : "Opened (active)" + // 0 : "Closed (inactive)" + uint8_t BCM_ConfCamera_Stat; // Bits= 2 + + // Flag from BCM to notify the user 1 min. before the planned shutdown + // 2 : "Low Level Battery notification" + // 1 : "FIU turns OFF notification" + // 0 : "No notification" + uint8_t BCM_FIU_UserNotification_Stat; // Bits= 2 + + // Style illumination brightness % + uint8_t BCM_StyleIllBright_Val; // Bits= 7 Unit:'%' + + // Style illumination global ON/OFF + // 1 : "Function active" + // 0 : "Function inactive" + uint8_t BCM_StyleIllGlobal_Stat; // Bits= 1 + + // Automatic doors lock, when user leaves vehicle + // Automatic doors unlock, when user approaches to vehicle + // 0 : "Function inactive" + // 1 : "Function active" + uint8_t BCM_ApproachAccess_Stat; // Bits= 1 + + // Doors automatically unlocking after drive (selector in P position, ignition off) + // 0 : "Function inactive" + // 1 : "Function active" + uint8_t BCM_UnlockAfterDrive_Stat; // Bits= 1 + + // 0x0: when external unlock request received at 1st time all doors shall unlock + // 0x1: when external unlock request received at 1st time only driver's door shall unlock, at 2nd time all doors shall unlock + // 0 : "Function inactive" + // 1 : "Function active" + uint8_t BCM_UnlockExternal_Stat; // Bits= 1 + + // 0x0: when requesting to open a door through the internal front door handle, all doors shall unlock + // 0x1: when requesting to open a door through the internal front door handle, only own door shall unlock + // 0 : "Function inactive" + // 1 : "Function active" + uint8_t BCM_UnlockInternal_Stat; // Bits= 1 + + // Doors automatically locking when driving (speed above threshold) + // 0 : "Function inactive" + // 1 : "Function active" + uint8_t BCM_DoorsDriveLock_Stat; // Bits= 1 + + // Selected road traffic side + // 1 : "Right-Hand" + // 0 : "Left-Hand" + uint8_t BCM_TrafficSide_Stat; // Bits= 1 + + // Welcome and leaving light function enable status + // 0 : "Inactive" + // 1 : "Active" + uint8_t BCM_WelcomeLeavingLight_Stat; // Bits= 1 + + // Welcome headlight animation enable + // 0 : "Inactive" + // 1 : "Active" + uint8_t BCM_WelcomeLightAnimation_Stat; // Bits= 1 + + // Armrest heating FL function status + // 0 : "Inactive" + // 1 : "Active" + uint8_t BCM_ArmrestHeatFL_Stat; // Bits= 1 + + // Armrest heating FR function status + // 0 : "Inactive" + // 1 : "Active" + uint8_t BCM_ArmrestHeatFR_Stat; // Bits= 1 + + // Armrest heating RL function status + // 0 : "Inactive" + // 1 : "Active" + uint8_t BCM_ArmrestHeatRL_Stat; // Bits= 1 + + // Armrest heating RR function status + // 0 : "Inactive" + // 1 : "Active" + uint8_t BCM_ArmrestHeatRR_Stat; // Bits= 1 + + // Welcome and leaving light working time + // 0 : "Function active for time 15 sec" + // 1 : "Function active for time 30 sec" + // 2 : "Function active for time 45 sec" + // 3 : "Function active for time 60 sec" + uint8_t BCM_WelcomeLeavingLightTime_Stat; // Bits= 2 + + // AUTO washing headlights together with windshield + // 0 : "Inactive" + // 1 : "Active" + uint8_t BCM_HeadlightWashing_Stat; // Bits= 1 + + // Auto folding mirrors when secure lock action + // 0 : "Inactive" + // 1 : "Active" + uint8_t BCM_MirrorsAutoFold_Stat; // Bits= 1 + + // When R gear is active mirrors are bend over + // 0 : "Inactive" + // 1 : "Active" + uint8_t BCM_MirrorsAutoTilt_Stat; // Bits= 1 + + // Windows automatically closing when it rains + // 0 : "Inactive" + // 1 : "Active" + uint8_t BCM_WindowsRainClosing_Stat; // Bits= 1 + + // Vehicle locking/unlocking sound enable function + // 0 : "Inactive" + // 1 : "Active" + uint8_t BCM_AudibleLockFdBack_Stat; // Bits= 1 + + // Auto wipering windshield by RLS sensor signals + // 0 : "Inactive" + // 1 : "Active" + uint8_t BCM_AutoWiper_Stat; // Bits= 1 + + // Trunk automatically closing when driving (speed above threshhold) + // 0 : "Inactive" + // 1 : "Active" + uint8_t BCM_TrnkDoorCloseBySpeed_Stat; // Bits= 1 + + // Thresholds status: 0x0 - thresholds shall be automatic 0x1 - threshholds shall be alwasys fold 0x2 - thresholds shall be always unfold + // 0 : "Auto" + // 1 : "Folded" + // 2 : "Unfolded" + uint8_t BCM_RunningBoards_Stat; // Bits= 2 + + // Automatically steering wheel heating + // 0 : "Inactive" + // 1 : "Active" + uint8_t BCM_SteeringWheelAutoHeat_Stat; // Bits= 1 + + // The signal displays the status of the user turning on the ultraviolet irradiation function of the cabin after leaving it + // 1 : "Function Active" + // 0 : "Function Inactive" + uint8_t BCM_Ultraviolet_Stat; // Bits= 1 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} BCM_UserConfig_Stat_t; + +// def @FIU_MAS_Main CAN Message (1453 0x5ad) +#define FIU_MAS_Main_IDE (0U) +#define FIU_MAS_Main_DLC (5U) +#define FIU_MAS_Main_CANID (0x5adU) +#define FIU_MAS_Main_CYC (100U) + +// Value tables for @FIU_AVM_Active_Req signal + +#ifndef FIU_AVM_Active_Req_FIU_MAS_Main_Requested +#define FIU_AVM_Active_Req_FIU_MAS_Main_Requested (1) +#endif + +#ifndef FIU_AVM_Active_Req_FIU_MAS_Main_Not_requested +#define FIU_AVM_Active_Req_FIU_MAS_Main_Not_requested (0) +#endif + + +// Value tables for @FIU_View_Req signal + +#ifndef FIU_View_Req_FIU_MAS_Main_Parking_view +#define FIU_View_Req_FIU_MAS_Main_Parking_view (7) +#endif + +#ifndef FIU_View_Req_FIU_MAS_Main_D_Free_View_Rotation +#define FIU_View_Req_FIU_MAS_Main_D_Free_View_Rotation (6) +#endif + +#ifndef FIU_View_Req_FIU_MAS_Main_D_Right +#define FIU_View_Req_FIU_MAS_Main_D_Right (5) +#endif + +#ifndef FIU_View_Req_FIU_MAS_Main_D_Left +#define FIU_View_Req_FIU_MAS_Main_D_Left (4) +#endif + +#ifndef FIU_View_Req_FIU_MAS_Main_D_Main_Rear_Top_View_GTA +#define FIU_View_Req_FIU_MAS_Main_D_Main_Rear_Top_View_GTA (3) +#endif + +#ifndef FIU_View_Req_FIU_MAS_Main_D_Rear +#define FIU_View_Req_FIU_MAS_Main_D_Rear (2) +#endif + +#ifndef FIU_View_Req_FIU_MAS_Main_D_Front +#define FIU_View_Req_FIU_MAS_Main_D_Front (1) +#endif + +#ifndef FIU_View_Req_FIU_MAS_Main_Not_requested +#define FIU_View_Req_FIU_MAS_Main_Not_requested (0) +#endif + + +// Value tables for @FIU_APAstartBtn_Req signal + +#ifndef FIU_APAstartBtn_Req_FIU_MAS_Main_Not_requested +#define FIU_APAstartBtn_Req_FIU_MAS_Main_Not_requested (0) +#endif + +#ifndef FIU_APAstartBtn_Req_FIU_MAS_Main_Requested +#define FIU_APAstartBtn_Req_FIU_MAS_Main_Requested (1) +#endif + + +// Value tables for @FIU_MAS_Mode_Req signal + +#ifndef FIU_MAS_Mode_Req_FIU_MAS_Main_APA +#define FIU_MAS_Mode_Req_FIU_MAS_Main_APA (2) +#endif + +#ifndef FIU_MAS_Mode_Req_FIU_MAS_Main_AVM +#define FIU_MAS_Mode_Req_FIU_MAS_Main_AVM (1) +#endif + +#ifndef FIU_MAS_Mode_Req_FIU_MAS_Main_No_change +#define FIU_MAS_Mode_Req_FIU_MAS_Main_No_change (0) +#endif + + +// Value tables for @FIU_Narrow_Mode_Stat signal + +#ifndef FIU_Narrow_Mode_Stat_FIU_MAS_Main_Narrow +#define FIU_Narrow_Mode_Stat_FIU_MAS_Main_Narrow (2) +#endif + +#ifndef FIU_Narrow_Mode_Stat_FIU_MAS_Main_Wide_full +#define FIU_Narrow_Mode_Stat_FIU_MAS_Main_Wide_full (1) +#endif + +#ifndef FIU_Narrow_Mode_Stat_FIU_MAS_Main_No_change +#define FIU_Narrow_Mode_Stat_FIU_MAS_Main_No_change (0) +#endif + + +// Value tables for @FIU_UltraSonicEnable_Stat signal + +#ifndef FIU_UltraSonicEnable_Stat_FIU_MAS_Main_Inactive +#define FIU_UltraSonicEnable_Stat_FIU_MAS_Main_Inactive (2) +#endif + +#ifndef FIU_UltraSonicEnable_Stat_FIU_MAS_Main_Active +#define FIU_UltraSonicEnable_Stat_FIU_MAS_Main_Active (1) +#endif + +#ifndef FIU_UltraSonicEnable_Stat_FIU_MAS_Main_No_change +#define FIU_UltraSonicEnable_Stat_FIU_MAS_Main_No_change (0) +#endif + + +// Value tables for @FIU_AutoAct_Stat signal + +#ifndef FIU_AutoAct_Stat_FIU_MAS_Main_Inactive +#define FIU_AutoAct_Stat_FIU_MAS_Main_Inactive (2) +#endif + +#ifndef FIU_AutoAct_Stat_FIU_MAS_Main_Active +#define FIU_AutoAct_Stat_FIU_MAS_Main_Active (1) +#endif + +#ifndef FIU_AutoAct_Stat_FIU_MAS_Main_No_change +#define FIU_AutoAct_Stat_FIU_MAS_Main_No_change (0) +#endif + + +// Value tables for @FIU_CurrentPath_Req signal + +#ifndef FIU_CurrentPath_Req_FIU_MAS_Main_No_selection +#define FIU_CurrentPath_Req_FIU_MAS_Main_No_selection (0) +#endif + +#ifndef FIU_CurrentPath_Req_FIU_MAS_Main_Front_parking +#define FIU_CurrentPath_Req_FIU_MAS_Main_Front_parking (1) +#endif + +#ifndef FIU_CurrentPath_Req_FIU_MAS_Main_Rear_parking +#define FIU_CurrentPath_Req_FIU_MAS_Main_Rear_parking (2) +#endif + + +// Value tables for @FIU_SDMmaster_Req signal + +#ifndef FIU_SDMmaster_Req_FIU_MAS_Main_Requested +#define FIU_SDMmaster_Req_FIU_MAS_Main_Requested (1) +#endif + +#ifndef FIU_SDMmaster_Req_FIU_MAS_Main_Not_requested +#define FIU_SDMmaster_Req_FIU_MAS_Main_Not_requested (0) +#endif + + +// Value tables for @FIU_SelectedPlace_Req signal + +#ifndef FIU_SelectedPlace_Req_FIU_MAS_Main_No_selection +#define FIU_SelectedPlace_Req_FIU_MAS_Main_No_selection (0) +#endif + +#ifndef FIU_SelectedPlace_Req_FIU_MAS_Main_Left_nearest_position +#define FIU_SelectedPlace_Req_FIU_MAS_Main_Left_nearest_position (1) +#endif + +#ifndef FIU_SelectedPlace_Req_FIU_MAS_Main_Left_near_position +#define FIU_SelectedPlace_Req_FIU_MAS_Main_Left_near_position (2) +#endif + +#ifndef FIU_SelectedPlace_Req_FIU_MAS_Main_Left_far_position +#define FIU_SelectedPlace_Req_FIU_MAS_Main_Left_far_position (3) +#endif + +#ifndef FIU_SelectedPlace_Req_FIU_MAS_Main_Right_nearest_position +#define FIU_SelectedPlace_Req_FIU_MAS_Main_Right_nearest_position (4) +#endif + +#ifndef FIU_SelectedPlace_Req_FIU_MAS_Main_Right_near_position +#define FIU_SelectedPlace_Req_FIU_MAS_Main_Right_near_position (5) +#endif + +#ifndef FIU_SelectedPlace_Req_FIU_MAS_Main_Right_far_position +#define FIU_SelectedPlace_Req_FIU_MAS_Main_Right_far_position (6) +#endif + + +// Value tables for @FIU_ContinueMove_Req signal + +#ifndef FIU_ContinueMove_Req_FIU_MAS_Main_Not_requested +#define FIU_ContinueMove_Req_FIU_MAS_Main_Not_requested (0) +#endif + +#ifndef FIU_ContinueMove_Req_FIU_MAS_Main_Requested +#define FIU_ContinueMove_Req_FIU_MAS_Main_Requested (1) +#endif + + +// Value tables for @FIU_StopAPA_Req signal + +#ifndef FIU_StopAPA_Req_FIU_MAS_Main_Not_requested +#define FIU_StopAPA_Req_FIU_MAS_Main_Not_requested (0) +#endif + +#ifndef FIU_StopAPA_Req_FIU_MAS_Main_Requested +#define FIU_StopAPA_Req_FIU_MAS_Main_Requested (1) +#endif + + +// Value tables for @FIU_SDMcom_Req signal + +#ifndef FIU_SDMcom_Req_FIU_MAS_Main_Requested +#define FIU_SDMcom_Req_FIU_MAS_Main_Requested (1) +#endif + +#ifndef FIU_SDMcom_Req_FIU_MAS_Main_Not_requested +#define FIU_SDMcom_Req_FIU_MAS_Main_Not_requested (0) +#endif + + +// Value tables for @FIU_FinishMove_Req signal + +#ifndef FIU_FinishMove_Req_FIU_MAS_Main_Requested +#define FIU_FinishMove_Req_FIU_MAS_Main_Requested (1) +#endif + +#ifndef FIU_FinishMove_Req_FIU_MAS_Main_Not_requested +#define FIU_FinishMove_Req_FIU_MAS_Main_Not_requested (0) +#endif + + +// Value tables for @FIU_ParkingOutPath_Req signal + +#ifndef FIU_ParkingOutPath_Req_FIU_MAS_Main_Backward_to_the_Right +#define FIU_ParkingOutPath_Req_FIU_MAS_Main_Backward_to_the_Right (6) +#endif + +#ifndef FIU_ParkingOutPath_Req_FIU_MAS_Main_Straight_backward +#define FIU_ParkingOutPath_Req_FIU_MAS_Main_Straight_backward (5) +#endif + +#ifndef FIU_ParkingOutPath_Req_FIU_MAS_Main_Backward_to_the_Left +#define FIU_ParkingOutPath_Req_FIU_MAS_Main_Backward_to_the_Left (4) +#endif + +#ifndef FIU_ParkingOutPath_Req_FIU_MAS_Main_Forward_to_the_Right +#define FIU_ParkingOutPath_Req_FIU_MAS_Main_Forward_to_the_Right (3) +#endif + +#ifndef FIU_ParkingOutPath_Req_FIU_MAS_Main_Straight_forward +#define FIU_ParkingOutPath_Req_FIU_MAS_Main_Straight_forward (2) +#endif + +#ifndef FIU_ParkingOutPath_Req_FIU_MAS_Main_Forward_to_the_Left +#define FIU_ParkingOutPath_Req_FIU_MAS_Main_Forward_to_the_Left (1) +#endif + +#ifndef FIU_ParkingOutPath_Req_FIU_MAS_Main_Not_requested +#define FIU_ParkingOutPath_Req_FIU_MAS_Main_Not_requested (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Request from FIU to enable AVM or APA (active for 3 frames) + // 1 : "Requested" + // 0 : "Not requested" + uint8_t FIU_AVM_Active_Req : 1; // Bits= 1 + + // Request from FIU to activate the view + // 7 : "Parking view" + // 6 : "3D Free View (Rotation)" + // 5 : "3D Right" + // 4 : "3D Left" + // 3 : "3D Main (Rear Top View- GTA)" + // 2 : "2D Rear" + // 1 : "2D Front" + // 0 : "Not requested" + uint8_t FIU_View_Req : 4; // Bits= 4 + + // Status, defined that driver pressed the Start button in Init window + // 0 : "Not requested" + // 1 : "Requested" + uint8_t FIU_APAstartBtn_Req : 1; // Bits= 1 + + // Request from FIU to enable AVM or APA + // 2 : "APA" + // 1 : "AVM" + // 0 : "No change" + uint8_t FIU_MAS_Mode_Req : 2; // Bits= 2 + + // Setting from FIU + // 2 : "Narrow" + // 1 : "Wide (full)" + // 0 : "No change" + uint8_t FIU_Narrow_Mode_Stat : 2; // Bits= 2 + + // Setting from FIU + // 2 : "Inactive" + // 1 : "Active" + // 0 : "No change" + uint8_t FIU_UltraSonicEnable_Stat : 2; // Bits= 2 + + // Setting from FIU: Automatic activation when objects are detected at speeds up to 15 km/h + // 2 : "Inactive" + // 1 : "Active" + // 0 : "No change" + uint8_t FIU_AutoAct_Stat : 2; // Bits= 2 + + // The selected path by driver. This signal is a trigger for start parking maneuver + // 0 : "No selection" + // 1 : "Front parking" + // 2 : "Rear parking" + uint8_t FIU_CurrentPath_Req : 2; // Bits= 2 + + // Request to SDM for taking control of parking + // 1 : "Requested" + // 0 : "Not requested" + uint8_t FIU_SDMmaster_Req : 1; // Bits= 1 + + // The parking position, that selected by driver + // 0 : "No selection" + // 1 : "Left nearest position" + // 2 : "Left near position" + // 3 : "Left far position" + // 4 : "Right nearest position" + // 5 : "Right near position" + // 6 : "Right far position" + uint8_t FIU_SelectedPlace_Req : 3; // Bits= 3 + + // This is a request to continue a parking maneuver from FIU + // 0 : "Not requested" + // 1 : "Requested" + uint8_t FIU_ContinueMove_Req : 1; // Bits= 1 + + // Request from driver about stop APA + // 0 : "Not requested" + // 1 : "Requested" + uint8_t FIU_StopAPA_Req : 1; // Bits= 1 + + // Request to SDM for phone + // 1 : "Requested" + // 0 : "Not requested" + uint8_t FIU_SDMcom_Req : 1; // Bits= 1 + + // This is a request to finish a parking maneuver from FIU + // 1 : "Requested" + // 0 : "Not requested" + uint8_t FIU_FinishMove_Req : 1; // Bits= 1 + + // The parking out path, that selected by the user. + // 6 : "Backward to the Right" + // 5 : "Straight backward" + // 4 : "Backward to the Left" + // 3 : "Forward to the Right" + // 2 : "Straight forward" + // 1 : "Forward to the Left" + // 0 : "Not requested" + uint8_t FIU_ParkingOutPath_Req : 3; // Bits= 3 + + // Rolling counter [0 - 15] + uint8_t FIU_MAS_Main_RC : 4; // Bits= 4 + + // Checksum CRC8 SAE J1850 of the data field this message + uint8_t FIU_MAS_Main_CS; // Bits= 8 + +#else + + // Request from FIU to enable AVM or APA (active for 3 frames) + // 1 : "Requested" + // 0 : "Not requested" + uint8_t FIU_AVM_Active_Req; // Bits= 1 + + // Request from FIU to activate the view + // 7 : "Parking view" + // 6 : "3D Free View (Rotation)" + // 5 : "3D Right" + // 4 : "3D Left" + // 3 : "3D Main (Rear Top View- GTA)" + // 2 : "2D Rear" + // 1 : "2D Front" + // 0 : "Not requested" + uint8_t FIU_View_Req; // Bits= 4 + + // Status, defined that driver pressed the Start button in Init window + // 0 : "Not requested" + // 1 : "Requested" + uint8_t FIU_APAstartBtn_Req; // Bits= 1 + + // Request from FIU to enable AVM or APA + // 2 : "APA" + // 1 : "AVM" + // 0 : "No change" + uint8_t FIU_MAS_Mode_Req; // Bits= 2 + + // Setting from FIU + // 2 : "Narrow" + // 1 : "Wide (full)" + // 0 : "No change" + uint8_t FIU_Narrow_Mode_Stat; // Bits= 2 + + // Setting from FIU + // 2 : "Inactive" + // 1 : "Active" + // 0 : "No change" + uint8_t FIU_UltraSonicEnable_Stat; // Bits= 2 + + // Setting from FIU: Automatic activation when objects are detected at speeds up to 15 km/h + // 2 : "Inactive" + // 1 : "Active" + // 0 : "No change" + uint8_t FIU_AutoAct_Stat; // Bits= 2 + + // The selected path by driver. This signal is a trigger for start parking maneuver + // 0 : "No selection" + // 1 : "Front parking" + // 2 : "Rear parking" + uint8_t FIU_CurrentPath_Req; // Bits= 2 + + // Request to SDM for taking control of parking + // 1 : "Requested" + // 0 : "Not requested" + uint8_t FIU_SDMmaster_Req; // Bits= 1 + + // The parking position, that selected by driver + // 0 : "No selection" + // 1 : "Left nearest position" + // 2 : "Left near position" + // 3 : "Left far position" + // 4 : "Right nearest position" + // 5 : "Right near position" + // 6 : "Right far position" + uint8_t FIU_SelectedPlace_Req; // Bits= 3 + + // This is a request to continue a parking maneuver from FIU + // 0 : "Not requested" + // 1 : "Requested" + uint8_t FIU_ContinueMove_Req; // Bits= 1 + + // Request from driver about stop APA + // 0 : "Not requested" + // 1 : "Requested" + uint8_t FIU_StopAPA_Req; // Bits= 1 + + // Request to SDM for phone + // 1 : "Requested" + // 0 : "Not requested" + uint8_t FIU_SDMcom_Req; // Bits= 1 + + // This is a request to finish a parking maneuver from FIU + // 1 : "Requested" + // 0 : "Not requested" + uint8_t FIU_FinishMove_Req; // Bits= 1 + + // The parking out path, that selected by the user. + // 6 : "Backward to the Right" + // 5 : "Straight backward" + // 4 : "Backward to the Left" + // 3 : "Forward to the Right" + // 2 : "Straight forward" + // 1 : "Forward to the Left" + // 0 : "Not requested" + uint8_t FIU_ParkingOutPath_Req; // Bits= 3 + + // Rolling counter [0 - 15] + uint8_t FIU_MAS_Main_RC; // Bits= 4 + + // Checksum CRC8 SAE J1850 of the data field this message + uint8_t FIU_MAS_Main_CS; // Bits= 8 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} FIU_MAS_Main_t; + +// def @MAS_APA_Paths CAN Message (1457 0x5b1) +#define MAS_APA_Paths_IDE (0U) +#define MAS_APA_Paths_DLC (2U) +#define MAS_APA_Paths_CANID (0x5b1U) + +// Value tables for @MAS_AvailablePaths_Stat signal + +#ifndef MAS_AvailablePaths_Stat_MAS_APA_Paths_No_one_path +#define MAS_AvailablePaths_Stat_MAS_APA_Paths_No_one_path (0) +#endif + +#ifndef MAS_AvailablePaths_Stat_MAS_APA_Paths_front +#define MAS_AvailablePaths_Stat_MAS_APA_Paths_front (1) +#endif + +#ifndef MAS_AvailablePaths_Stat_MAS_APA_Paths_rear +#define MAS_AvailablePaths_Stat_MAS_APA_Paths_rear (2) +#endif + +#ifndef MAS_AvailablePaths_Stat_MAS_APA_Paths_both +#define MAS_AvailablePaths_Stat_MAS_APA_Paths_both (3) +#endif + + +// Value tables for @MAS_APAPlaceParkingOut_Stat signal + +#ifndef MAS_APAPlaceParkingOut_Stat_MAS_APA_Paths_Perpendicular +#define MAS_APAPlaceParkingOut_Stat_MAS_APA_Paths_Perpendicular (1) +#endif + +#ifndef MAS_APAPlaceParkingOut_Stat_MAS_APA_Paths_Parallel +#define MAS_APAPlaceParkingOut_Stat_MAS_APA_Paths_Parallel (0) +#endif + + +// Value tables for @MAS_APADirParkingOut_Stat signal + +#ifndef MAS_APADirParkingOut_Stat_MAS_APA_Paths_Rear +#define MAS_APADirParkingOut_Stat_MAS_APA_Paths_Rear (1) +#endif + +#ifndef MAS_APADirParkingOut_Stat_MAS_APA_Paths_Front +#define MAS_APADirParkingOut_Stat_MAS_APA_Paths_Front (0) +#endif + + +// Value tables for @MAS_PathParkOutFL_Stat signal + +#ifndef MAS_PathParkOutFL_Stat_MAS_APA_Paths_Avaible +#define MAS_PathParkOutFL_Stat_MAS_APA_Paths_Avaible (1) +#endif + +#ifndef MAS_PathParkOutFL_Stat_MAS_APA_Paths_Not_avaible +#define MAS_PathParkOutFL_Stat_MAS_APA_Paths_Not_avaible (0) +#endif + + +// Value tables for @MAS_PathParkOutFR_Stat signal + +#ifndef MAS_PathParkOutFR_Stat_MAS_APA_Paths_Avaible +#define MAS_PathParkOutFR_Stat_MAS_APA_Paths_Avaible (1) +#endif + +#ifndef MAS_PathParkOutFR_Stat_MAS_APA_Paths_Not_avaible +#define MAS_PathParkOutFR_Stat_MAS_APA_Paths_Not_avaible (0) +#endif + + +// Value tables for @MAS_PathParkOutFront_Stat signal + +#ifndef MAS_PathParkOutFront_Stat_MAS_APA_Paths_Avaible +#define MAS_PathParkOutFront_Stat_MAS_APA_Paths_Avaible (1) +#endif + +#ifndef MAS_PathParkOutFront_Stat_MAS_APA_Paths_Not_avaible +#define MAS_PathParkOutFront_Stat_MAS_APA_Paths_Not_avaible (0) +#endif + + +// Value tables for @MAS_PathParkOutRL_Stat signal + +#ifndef MAS_PathParkOutRL_Stat_MAS_APA_Paths_Avaible +#define MAS_PathParkOutRL_Stat_MAS_APA_Paths_Avaible (1) +#endif + +#ifndef MAS_PathParkOutRL_Stat_MAS_APA_Paths_Not_avaible +#define MAS_PathParkOutRL_Stat_MAS_APA_Paths_Not_avaible (0) +#endif + + +// Value tables for @MAS_PathParkOutRR_Stat signal + +#ifndef MAS_PathParkOutRR_Stat_MAS_APA_Paths_Avaible +#define MAS_PathParkOutRR_Stat_MAS_APA_Paths_Avaible (1) +#endif + +#ifndef MAS_PathParkOutRR_Stat_MAS_APA_Paths_Not_avaible +#define MAS_PathParkOutRR_Stat_MAS_APA_Paths_Not_avaible (0) +#endif + + +// Value tables for @MAS_PathParkOutRear_Stat signal + +#ifndef MAS_PathParkOutRear_Stat_MAS_APA_Paths_Avaible +#define MAS_PathParkOutRear_Stat_MAS_APA_Paths_Avaible (1) +#endif + +#ifndef MAS_PathParkOutRear_Stat_MAS_APA_Paths_Not_avaible +#define MAS_PathParkOutRear_Stat_MAS_APA_Paths_Not_avaible (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Available path + // 0 : "No one path" + // 1 : "front" + // 2 : "rear" + // 3 : "both" + uint8_t MAS_AvailablePaths_Stat : 2; // Bits= 2 + + // The status shows the type of parking space the vehicle was parked in. + // 1 : "Perpendicular" + // 0 : "Parallel" + uint8_t MAS_APAPlaceParkingOut_Stat : 1; // Bits= 1 + + // The status shows the direction of vehicle in parking space + // 1 : "Rear" + // 0 : "Front" + uint8_t MAS_APADirParkingOut_Stat : 1; // Bits= 1 + + // 1 : "Avaible" + // 0 : "Not avaible" + uint8_t MAS_PathParkOutFL_Stat : 1; // Bits= 1 + + // 1 : "Avaible" + // 0 : "Not avaible" + uint8_t MAS_PathParkOutFR_Stat : 1; // Bits= 1 + + // 1 : "Avaible" + // 0 : "Not avaible" + uint8_t MAS_PathParkOutFront_Stat : 1; // Bits= 1 + + // 1 : "Avaible" + // 0 : "Not avaible" + uint8_t MAS_PathParkOutRL_Stat : 1; // Bits= 1 + + // 1 : "Avaible" + // 0 : "Not avaible" + uint8_t MAS_PathParkOutRR_Stat : 1; // Bits= 1 + + // 1 : "Avaible" + // 0 : "Not avaible" + uint8_t MAS_PathParkOutRear_Stat : 1; // Bits= 1 + +#else + + // Available path + // 0 : "No one path" + // 1 : "front" + // 2 : "rear" + // 3 : "both" + uint8_t MAS_AvailablePaths_Stat; // Bits= 2 + + // The status shows the type of parking space the vehicle was parked in. + // 1 : "Perpendicular" + // 0 : "Parallel" + uint8_t MAS_APAPlaceParkingOut_Stat; // Bits= 1 + + // The status shows the direction of vehicle in parking space + // 1 : "Rear" + // 0 : "Front" + uint8_t MAS_APADirParkingOut_Stat; // Bits= 1 + + // 1 : "Avaible" + // 0 : "Not avaible" + uint8_t MAS_PathParkOutFL_Stat; // Bits= 1 + + // 1 : "Avaible" + // 0 : "Not avaible" + uint8_t MAS_PathParkOutFR_Stat; // Bits= 1 + + // 1 : "Avaible" + // 0 : "Not avaible" + uint8_t MAS_PathParkOutFront_Stat; // Bits= 1 + + // 1 : "Avaible" + // 0 : "Not avaible" + uint8_t MAS_PathParkOutRL_Stat; // Bits= 1 + + // 1 : "Avaible" + // 0 : "Not avaible" + uint8_t MAS_PathParkOutRR_Stat; // Bits= 1 + + // 1 : "Avaible" + // 0 : "Not avaible" + uint8_t MAS_PathParkOutRear_Stat; // Bits= 1 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} MAS_APA_Paths_t; + +// def @MAS_APA_ParkPlace CAN Message (1458 0x5b2) +#define MAS_APA_ParkPlace_IDE (0U) +#define MAS_APA_ParkPlace_DLC (6U) +#define MAS_APA_ParkPlace_CANID (0x5b2U) +#define MAS_APA_ParkPlace_CYC (100U) + +// Value tables for @MAS_APAplaceL1_Stat signal + +#ifndef MAS_APAplaceL1_Stat_MAS_APA_ParkPlace_Not_detected +#define MAS_APAplaceL1_Stat_MAS_APA_ParkPlace_Not_detected (0) +#endif + +#ifndef MAS_APAplaceL1_Stat_MAS_APA_ParkPlace_Parallel +#define MAS_APAplaceL1_Stat_MAS_APA_ParkPlace_Parallel (1) +#endif + +#ifndef MAS_APAplaceL1_Stat_MAS_APA_ParkPlace_Perpendicular +#define MAS_APAplaceL1_Stat_MAS_APA_ParkPlace_Perpendicular (2) +#endif + + +// Value tables for @MAS_APAplaceL2_Stat signal + +#ifndef MAS_APAplaceL2_Stat_MAS_APA_ParkPlace_Not_detected +#define MAS_APAplaceL2_Stat_MAS_APA_ParkPlace_Not_detected (0) +#endif + +#ifndef MAS_APAplaceL2_Stat_MAS_APA_ParkPlace_Parallel +#define MAS_APAplaceL2_Stat_MAS_APA_ParkPlace_Parallel (1) +#endif + +#ifndef MAS_APAplaceL2_Stat_MAS_APA_ParkPlace_Perpendicular +#define MAS_APAplaceL2_Stat_MAS_APA_ParkPlace_Perpendicular (2) +#endif + + +// Value tables for @MAS_APAplaceL3_Stat signal + +#ifndef MAS_APAplaceL3_Stat_MAS_APA_ParkPlace_Not_detected +#define MAS_APAplaceL3_Stat_MAS_APA_ParkPlace_Not_detected (0) +#endif + +#ifndef MAS_APAplaceL3_Stat_MAS_APA_ParkPlace_Parallel +#define MAS_APAplaceL3_Stat_MAS_APA_ParkPlace_Parallel (1) +#endif + +#ifndef MAS_APAplaceL3_Stat_MAS_APA_ParkPlace_Perpendicular +#define MAS_APAplaceL3_Stat_MAS_APA_ParkPlace_Perpendicular (2) +#endif + + +// Value tables for @MAS_APAplaceR1_Stat signal + +#ifndef MAS_APAplaceR1_Stat_MAS_APA_ParkPlace_Not_detected +#define MAS_APAplaceR1_Stat_MAS_APA_ParkPlace_Not_detected (0) +#endif + +#ifndef MAS_APAplaceR1_Stat_MAS_APA_ParkPlace_Parallel +#define MAS_APAplaceR1_Stat_MAS_APA_ParkPlace_Parallel (1) +#endif + +#ifndef MAS_APAplaceR1_Stat_MAS_APA_ParkPlace_Perpendicular +#define MAS_APAplaceR1_Stat_MAS_APA_ParkPlace_Perpendicular (2) +#endif + + +// Value tables for @MAS_APAplaceR2_Stat signal + +#ifndef MAS_APAplaceR2_Stat_MAS_APA_ParkPlace_Not_detected +#define MAS_APAplaceR2_Stat_MAS_APA_ParkPlace_Not_detected (0) +#endif + +#ifndef MAS_APAplaceR2_Stat_MAS_APA_ParkPlace_Parallel +#define MAS_APAplaceR2_Stat_MAS_APA_ParkPlace_Parallel (1) +#endif + +#ifndef MAS_APAplaceR2_Stat_MAS_APA_ParkPlace_Perpendicular +#define MAS_APAplaceR2_Stat_MAS_APA_ParkPlace_Perpendicular (2) +#endif + + +// Value tables for @MAS_APAplaceR3_Stat signal + +#ifndef MAS_APAplaceR3_Stat_MAS_APA_ParkPlace_Not_detected +#define MAS_APAplaceR3_Stat_MAS_APA_ParkPlace_Not_detected (0) +#endif + +#ifndef MAS_APAplaceR3_Stat_MAS_APA_ParkPlace_Parallel +#define MAS_APAplaceR3_Stat_MAS_APA_ParkPlace_Parallel (1) +#endif + +#ifndef MAS_APAplaceR3_Stat_MAS_APA_ParkPlace_Perpendicular +#define MAS_APAplaceR3_Stat_MAS_APA_ParkPlace_Perpendicular (2) +#endif + + +// Value tables for @MAS_AvailablePathsL1_Stat signal + +#ifndef MAS_AvailablePathsL1_Stat_MAS_APA_ParkPlace_Both +#define MAS_AvailablePathsL1_Stat_MAS_APA_ParkPlace_Both (3) +#endif + +#ifndef MAS_AvailablePathsL1_Stat_MAS_APA_ParkPlace_Rear +#define MAS_AvailablePathsL1_Stat_MAS_APA_ParkPlace_Rear (2) +#endif + +#ifndef MAS_AvailablePathsL1_Stat_MAS_APA_ParkPlace_Front +#define MAS_AvailablePathsL1_Stat_MAS_APA_ParkPlace_Front (1) +#endif + +#ifndef MAS_AvailablePathsL1_Stat_MAS_APA_ParkPlace_No_available +#define MAS_AvailablePathsL1_Stat_MAS_APA_ParkPlace_No_available (0) +#endif + + +// Value tables for @MAS_AvailablePathsL2_Stat signal + +#ifndef MAS_AvailablePathsL2_Stat_MAS_APA_ParkPlace_Both +#define MAS_AvailablePathsL2_Stat_MAS_APA_ParkPlace_Both (3) +#endif + +#ifndef MAS_AvailablePathsL2_Stat_MAS_APA_ParkPlace_Rear +#define MAS_AvailablePathsL2_Stat_MAS_APA_ParkPlace_Rear (2) +#endif + +#ifndef MAS_AvailablePathsL2_Stat_MAS_APA_ParkPlace_Front +#define MAS_AvailablePathsL2_Stat_MAS_APA_ParkPlace_Front (1) +#endif + +#ifndef MAS_AvailablePathsL2_Stat_MAS_APA_ParkPlace_No_available +#define MAS_AvailablePathsL2_Stat_MAS_APA_ParkPlace_No_available (0) +#endif + + +// Value tables for @MAS_AvailablePathsL3_Stat signal + +#ifndef MAS_AvailablePathsL3_Stat_MAS_APA_ParkPlace_Both +#define MAS_AvailablePathsL3_Stat_MAS_APA_ParkPlace_Both (3) +#endif + +#ifndef MAS_AvailablePathsL3_Stat_MAS_APA_ParkPlace_Rear +#define MAS_AvailablePathsL3_Stat_MAS_APA_ParkPlace_Rear (2) +#endif + +#ifndef MAS_AvailablePathsL3_Stat_MAS_APA_ParkPlace_Front +#define MAS_AvailablePathsL3_Stat_MAS_APA_ParkPlace_Front (1) +#endif + +#ifndef MAS_AvailablePathsL3_Stat_MAS_APA_ParkPlace_No_available +#define MAS_AvailablePathsL3_Stat_MAS_APA_ParkPlace_No_available (0) +#endif + + +// Value tables for @MAS_AvailablePathsR1_Stat signal + +#ifndef MAS_AvailablePathsR1_Stat_MAS_APA_ParkPlace_Both +#define MAS_AvailablePathsR1_Stat_MAS_APA_ParkPlace_Both (3) +#endif + +#ifndef MAS_AvailablePathsR1_Stat_MAS_APA_ParkPlace_Rear +#define MAS_AvailablePathsR1_Stat_MAS_APA_ParkPlace_Rear (2) +#endif + +#ifndef MAS_AvailablePathsR1_Stat_MAS_APA_ParkPlace_Front +#define MAS_AvailablePathsR1_Stat_MAS_APA_ParkPlace_Front (1) +#endif + +#ifndef MAS_AvailablePathsR1_Stat_MAS_APA_ParkPlace_No_available +#define MAS_AvailablePathsR1_Stat_MAS_APA_ParkPlace_No_available (0) +#endif + + +// Value tables for @MAS_AvailablePathsR2_Stat signal + +#ifndef MAS_AvailablePathsR2_Stat_MAS_APA_ParkPlace_Both +#define MAS_AvailablePathsR2_Stat_MAS_APA_ParkPlace_Both (3) +#endif + +#ifndef MAS_AvailablePathsR2_Stat_MAS_APA_ParkPlace_Rear +#define MAS_AvailablePathsR2_Stat_MAS_APA_ParkPlace_Rear (2) +#endif + +#ifndef MAS_AvailablePathsR2_Stat_MAS_APA_ParkPlace_Front +#define MAS_AvailablePathsR2_Stat_MAS_APA_ParkPlace_Front (1) +#endif + +#ifndef MAS_AvailablePathsR2_Stat_MAS_APA_ParkPlace_No_available +#define MAS_AvailablePathsR2_Stat_MAS_APA_ParkPlace_No_available (0) +#endif + + +// Value tables for @MAS_AvailablePathsR3_Stat signal + +#ifndef MAS_AvailablePathsR3_Stat_MAS_APA_ParkPlace_Both +#define MAS_AvailablePathsR3_Stat_MAS_APA_ParkPlace_Both (3) +#endif + +#ifndef MAS_AvailablePathsR3_Stat_MAS_APA_ParkPlace_Rear +#define MAS_AvailablePathsR3_Stat_MAS_APA_ParkPlace_Rear (2) +#endif + +#ifndef MAS_AvailablePathsR3_Stat_MAS_APA_ParkPlace_Front +#define MAS_AvailablePathsR3_Stat_MAS_APA_ParkPlace_Front (1) +#endif + +#ifndef MAS_AvailablePathsR3_Stat_MAS_APA_ParkPlace_No_available +#define MAS_AvailablePathsR3_Stat_MAS_APA_ParkPlace_No_available (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // State of the first position found on the left + // 0 : "Not detected" + // 1 : "Parallel" + // 2 : "Perpendicular" + uint8_t MAS_APAplaceL1_Stat : 2; // Bits= 2 + + // State of the second position found on the left + // 0 : "Not detected" + // 1 : "Parallel" + // 2 : "Perpendicular" + uint8_t MAS_APAplaceL2_Stat : 2; // Bits= 2 + + // State of the third position found on the left + // 0 : "Not detected" + // 1 : "Parallel" + // 2 : "Perpendicular" + uint8_t MAS_APAplaceL3_Stat : 2; // Bits= 2 + + // State of the first position found on the right + // 0 : "Not detected" + // 1 : "Parallel" + // 2 : "Perpendicular" + uint8_t MAS_APAplaceR1_Stat : 2; // Bits= 2 + + // State of the second position found on the right + // 0 : "Not detected" + // 1 : "Parallel" + // 2 : "Perpendicular" + uint8_t MAS_APAplaceR2_Stat : 2; // Bits= 2 + + // State of the third position found on the right + // 0 : "Not detected" + // 1 : "Parallel" + // 2 : "Perpendicular" + uint8_t MAS_APAplaceR3_Stat : 2; // Bits= 2 + + // State of paths available for the first position found on the left + // 3 : "Both" + // 2 : "Rear" + // 1 : "Front" + // 0 : "No available" + uint8_t MAS_AvailablePathsL1_Stat : 2; // Bits= 2 + + // State of paths available for the second position found on the left + // 3 : "Both" + // 2 : "Rear" + // 1 : "Front" + // 0 : "No available" + uint8_t MAS_AvailablePathsL2_Stat : 2; // Bits= 2 + + // Value from 0 to 15, where 0 - the closest distance, 15 - the furthest distance + uint8_t MAS_APAplaceL1Dist_Val : 4; // Bits= 4 + + // Value from 0 to 15, where 0 - the closest distance, 15 - the furthest distance + uint8_t MAS_APAplaceL2Dist_Val : 4; // Bits= 4 + + // Value from 0 to 15, where 0 - the closest distance, 15 - the furthest distance + uint8_t MAS_APAplaceL3Dist_Val : 4; // Bits= 4 + + // Value from 0 to 15, where 0 - the closest distance, 15 - the furthest distance + uint8_t MAS_APAplaceR1Dist_Val : 4; // Bits= 4 + + // Value from 0 to 15, where 0 - the closest distance, 15 - the furthest distance + uint8_t MAS_APAplaceR2Dist_Val : 4; // Bits= 4 + + // Value from 0 to 15, where 0 - the closest distance, 15 - the furthest distance + uint8_t MAS_APAplaceR3Dist_Val : 4; // Bits= 4 + + // State of paths available for the third position found on the left + // 3 : "Both" + // 2 : "Rear" + // 1 : "Front" + // 0 : "No available" + uint8_t MAS_AvailablePathsL3_Stat : 2; // Bits= 2 + + // State of paths available for first position found on the right + // 3 : "Both" + // 2 : "Rear" + // 1 : "Front" + // 0 : "No available" + uint8_t MAS_AvailablePathsR1_Stat : 2; // Bits= 2 + + // State of paths available for the second position found on the right + // 3 : "Both" + // 2 : "Rear" + // 1 : "Front" + // 0 : "No available" + uint8_t MAS_AvailablePathsR2_Stat : 2; // Bits= 2 + + // State of paths available for the third position found on the right + // 3 : "Both" + // 2 : "Rear" + // 1 : "Front" + // 0 : "No available" + uint8_t MAS_AvailablePathsR3_Stat : 2; // Bits= 2 + +#else + + // State of the first position found on the left + // 0 : "Not detected" + // 1 : "Parallel" + // 2 : "Perpendicular" + uint8_t MAS_APAplaceL1_Stat; // Bits= 2 + + // State of the second position found on the left + // 0 : "Not detected" + // 1 : "Parallel" + // 2 : "Perpendicular" + uint8_t MAS_APAplaceL2_Stat; // Bits= 2 + + // State of the third position found on the left + // 0 : "Not detected" + // 1 : "Parallel" + // 2 : "Perpendicular" + uint8_t MAS_APAplaceL3_Stat; // Bits= 2 + + // State of the first position found on the right + // 0 : "Not detected" + // 1 : "Parallel" + // 2 : "Perpendicular" + uint8_t MAS_APAplaceR1_Stat; // Bits= 2 + + // State of the second position found on the right + // 0 : "Not detected" + // 1 : "Parallel" + // 2 : "Perpendicular" + uint8_t MAS_APAplaceR2_Stat; // Bits= 2 + + // State of the third position found on the right + // 0 : "Not detected" + // 1 : "Parallel" + // 2 : "Perpendicular" + uint8_t MAS_APAplaceR3_Stat; // Bits= 2 + + // State of paths available for the first position found on the left + // 3 : "Both" + // 2 : "Rear" + // 1 : "Front" + // 0 : "No available" + uint8_t MAS_AvailablePathsL1_Stat; // Bits= 2 + + // State of paths available for the second position found on the left + // 3 : "Both" + // 2 : "Rear" + // 1 : "Front" + // 0 : "No available" + uint8_t MAS_AvailablePathsL2_Stat; // Bits= 2 + + // Value from 0 to 15, where 0 - the closest distance, 15 - the furthest distance + uint8_t MAS_APAplaceL1Dist_Val; // Bits= 4 + + // Value from 0 to 15, where 0 - the closest distance, 15 - the furthest distance + uint8_t MAS_APAplaceL2Dist_Val; // Bits= 4 + + // Value from 0 to 15, where 0 - the closest distance, 15 - the furthest distance + uint8_t MAS_APAplaceL3Dist_Val; // Bits= 4 + + // Value from 0 to 15, where 0 - the closest distance, 15 - the furthest distance + uint8_t MAS_APAplaceR1Dist_Val; // Bits= 4 + + // Value from 0 to 15, where 0 - the closest distance, 15 - the furthest distance + uint8_t MAS_APAplaceR2Dist_Val; // Bits= 4 + + // Value from 0 to 15, where 0 - the closest distance, 15 - the furthest distance + uint8_t MAS_APAplaceR3Dist_Val; // Bits= 4 + + // State of paths available for the third position found on the left + // 3 : "Both" + // 2 : "Rear" + // 1 : "Front" + // 0 : "No available" + uint8_t MAS_AvailablePathsL3_Stat; // Bits= 2 + + // State of paths available for first position found on the right + // 3 : "Both" + // 2 : "Rear" + // 1 : "Front" + // 0 : "No available" + uint8_t MAS_AvailablePathsR1_Stat; // Bits= 2 + + // State of paths available for the second position found on the right + // 3 : "Both" + // 2 : "Rear" + // 1 : "Front" + // 0 : "No available" + uint8_t MAS_AvailablePathsR2_Stat; // Bits= 2 + + // State of paths available for the third position found on the right + // 3 : "Both" + // 2 : "Rear" + // 1 : "Front" + // 0 : "No available" + uint8_t MAS_AvailablePathsR3_Stat; // Bits= 2 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} MAS_APA_ParkPlace_t; + +// def @ICLSilCU_State CAN Message (1482 0x5ca) +#define ICLSilCU_State_IDE (0U) +#define ICLSilCU_State_DLC (8U) +#define ICLSilCU_State_CANID (0x5caU) + +// Value tables for @ICLSilCU_Module_Stat signal + +#ifndef ICLSilCU_Module_Stat_ICLSilCU_State_Scenario_data_message_error +#define ICLSilCU_Module_Stat_ICLSilCU_State_Scenario_data_message_error (8) +#endif + +#ifndef ICLSilCU_Module_Stat_ICLSilCU_State_Temperature_error +#define ICLSilCU_Module_Stat_ICLSilCU_State_Temperature_error (9) +#endif + +#ifndef ICLSilCU_Module_Stat_ICLSilCU_State_Channels_power_error +#define ICLSilCU_Module_Stat_ICLSilCU_State_Channels_power_error (10) +#endif + +#ifndef ICLSilCU_Module_Stat_ICLSilCU_State_Scenario_play_error +#define ICLSilCU_Module_Stat_ICLSilCU_State_Scenario_play_error (7) +#endif + +#ifndef ICLSilCU_Module_Stat_ICLSilCU_State_Launch_error +#define ICLSilCU_Module_Stat_ICLSilCU_State_Launch_error (6) +#endif + +#ifndef ICLSilCU_Module_Stat_ICLSilCU_State_Scenario_Data_is_recieved +#define ICLSilCU_Module_Stat_ICLSilCU_State_Scenario_Data_is_recieved (5) +#endif + +#ifndef ICLSilCU_Module_Stat_ICLSilCU_State_Configuration_is_going +#define ICLSilCU_Module_Stat_ICLSilCU_State_Configuration_is_going (4) +#endif + +#ifndef ICLSilCU_Module_Stat_ICLSilCU_State_Special_event_done +#define ICLSilCU_Module_Stat_ICLSilCU_State_Special_event_done (3) +#endif + +#ifndef ICLSilCU_Module_Stat_ICLSilCU_State_Scenario_have_done +#define ICLSilCU_Module_Stat_ICLSilCU_State_Scenario_have_done (2) +#endif + +#ifndef ICLSilCU_Module_Stat_ICLSilCU_State_Scenario_is_going +#define ICLSilCU_Module_Stat_ICLSilCU_State_Scenario_is_going (1) +#endif + +#ifndef ICLSilCU_Module_Stat_ICLSilCU_State_Ready +#define ICLSilCU_Module_Stat_ICLSilCU_State_Ready (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Module state: + // 0 - Module is ready for action + // 1 - Module has done a scenario + // 2 - Module made a special event + // 3 - Data is recieved + // 4 - Module start error + // 5 - Scenario play error + // 6 - Data error + // 7 - Temperature error + // 8 : "Scenario data message error" + // 9 : "Temperature error" + // 10 : "Channels power error" + // 7 : "Scenario play error" + // 6 : "Launch error" + // 5 : "Scenario Data is recieved" + // 4 : "Configuration is going" + // 3 : "Special event done" + // 2 : "Scenario have done" + // 1 : "Scenario is going" + // 0 : "Ready" + int8_t ICLSilCU_Module_Stat : 4; // [-] Bits= 4 + + // Temperature value + int8_t ICLSilCU_ModuleTemperature_Val : 7; // [-] Bits= 7 Unit:'�C' + + // Reseved + int8_t ICLSilCU_reserved1 : 5; // [-] Bits= 5 + + // Reseved + int8_t ICLSilCU_reserved2; // [-] Bits= 8 + + // Reseved + int8_t ICLSilCU_reserved3; // [-] Bits= 8 + + // Reseved + int8_t ICLSilCU_reserved4; // [-] Bits= 8 + + // Reseved + int8_t ICLSilCU_reserved5; // [-] Bits= 8 + + // Reseved + int8_t ICLSilCU_reserved6; // [-] Bits= 8 + + // Reseved + int8_t ICLSilCU_reserved7; // [-] Bits= 8 + +#else + + // Module state: + // 0 - Module is ready for action + // 1 - Module has done a scenario + // 2 - Module made a special event + // 3 - Data is recieved + // 4 - Module start error + // 5 - Scenario play error + // 6 - Data error + // 7 - Temperature error + // 8 : "Scenario data message error" + // 9 : "Temperature error" + // 10 : "Channels power error" + // 7 : "Scenario play error" + // 6 : "Launch error" + // 5 : "Scenario Data is recieved" + // 4 : "Configuration is going" + // 3 : "Special event done" + // 2 : "Scenario have done" + // 1 : "Scenario is going" + // 0 : "Ready" + int8_t ICLSilCU_Module_Stat; // [-] Bits= 4 + + // Temperature value + int8_t ICLSilCU_ModuleTemperature_Val; // [-] Bits= 7 Unit:'�C' + + // Reseved + int8_t ICLSilCU_reserved1; // [-] Bits= 5 + + // Reseved + int8_t ICLSilCU_reserved2; // [-] Bits= 8 + + // Reseved + int8_t ICLSilCU_reserved3; // [-] Bits= 8 + + // Reseved + int8_t ICLSilCU_reserved4; // [-] Bits= 8 + + // Reseved + int8_t ICLSilCU_reserved5; // [-] Bits= 8 + + // Reseved + int8_t ICLSilCU_reserved6; // [-] Bits= 8 + + // Reseved + int8_t ICLSilCU_reserved7; // [-] Bits= 8 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} ICLSilCU_State_t; + +// def @ICRSilCU_State CAN Message (1483 0x5cb) +#define ICRSilCU_State_IDE (0U) +#define ICRSilCU_State_DLC (8U) +#define ICRSilCU_State_CANID (0x5cbU) + +// Value tables for @ICRSilCU_Module_Stat signal + +#ifndef ICRSilCU_Module_Stat_ICRSilCU_State_Scenario_data_message_error +#define ICRSilCU_Module_Stat_ICRSilCU_State_Scenario_data_message_error (8) +#endif + +#ifndef ICRSilCU_Module_Stat_ICRSilCU_State_Temperature_error +#define ICRSilCU_Module_Stat_ICRSilCU_State_Temperature_error (9) +#endif + +#ifndef ICRSilCU_Module_Stat_ICRSilCU_State_Channels_power_error +#define ICRSilCU_Module_Stat_ICRSilCU_State_Channels_power_error (10) +#endif + +#ifndef ICRSilCU_Module_Stat_ICRSilCU_State_Scenario_play_error +#define ICRSilCU_Module_Stat_ICRSilCU_State_Scenario_play_error (7) +#endif + +#ifndef ICRSilCU_Module_Stat_ICRSilCU_State_Launch_error +#define ICRSilCU_Module_Stat_ICRSilCU_State_Launch_error (6) +#endif + +#ifndef ICRSilCU_Module_Stat_ICRSilCU_State_Scenario_Data_is_recieved +#define ICRSilCU_Module_Stat_ICRSilCU_State_Scenario_Data_is_recieved (5) +#endif + +#ifndef ICRSilCU_Module_Stat_ICRSilCU_State_Configuration_is_going +#define ICRSilCU_Module_Stat_ICRSilCU_State_Configuration_is_going (4) +#endif + +#ifndef ICRSilCU_Module_Stat_ICRSilCU_State_Special_event_done +#define ICRSilCU_Module_Stat_ICRSilCU_State_Special_event_done (3) +#endif + +#ifndef ICRSilCU_Module_Stat_ICRSilCU_State_Scenario_have_done +#define ICRSilCU_Module_Stat_ICRSilCU_State_Scenario_have_done (2) +#endif + +#ifndef ICRSilCU_Module_Stat_ICRSilCU_State_Scenario_is_going +#define ICRSilCU_Module_Stat_ICRSilCU_State_Scenario_is_going (1) +#endif + +#ifndef ICRSilCU_Module_Stat_ICRSilCU_State_Ready +#define ICRSilCU_Module_Stat_ICRSilCU_State_Ready (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Module state: + // 0 - Module is ready for action + // 1 - Module has done a scenario + // 2 - Module made a special event + // 3 - Data is recieved + // 4 - Module start error + // 5 - Scenario play error + // 6 - Data error + // 7 - Temperature error + // 8 : "Scenario data message error" + // 9 : "Temperature error" + // 10 : "Channels power error" + // 7 : "Scenario play error" + // 6 : "Launch error" + // 5 : "Scenario Data is recieved" + // 4 : "Configuration is going" + // 3 : "Special event done" + // 2 : "Scenario have done" + // 1 : "Scenario is going" + // 0 : "Ready" + int8_t ICRSilCU_Module_Stat : 4; // [-] Bits= 4 + + // Temperature value + int8_t ICRSilCU_ModuleTemperature_Val : 7; // [-] Bits= 7 Unit:'�C' + + // Reserved + int8_t ICRSilCU_reserved1 : 5; // [-] Bits= 5 + + // Reserved + int8_t ICRSilCU_reserved2; // [-] Bits= 8 + + // Reserved + int8_t ICRSilCU_reserved3; // [-] Bits= 8 + + // Reserved + int8_t ICRSilCU_reserved4; // [-] Bits= 8 + + // Reserved + int8_t ICRSilCU_reserved5; // [-] Bits= 8 + + // Reserved + int8_t ICRSilCU_reserved6; // [-] Bits= 8 + + // Reserved + int8_t ICRSilCU_reserved7; // [-] Bits= 8 + +#else + + // Module state: + // 0 - Module is ready for action + // 1 - Module has done a scenario + // 2 - Module made a special event + // 3 - Data is recieved + // 4 - Module start error + // 5 - Scenario play error + // 6 - Data error + // 7 - Temperature error + // 8 : "Scenario data message error" + // 9 : "Temperature error" + // 10 : "Channels power error" + // 7 : "Scenario play error" + // 6 : "Launch error" + // 5 : "Scenario Data is recieved" + // 4 : "Configuration is going" + // 3 : "Special event done" + // 2 : "Scenario have done" + // 1 : "Scenario is going" + // 0 : "Ready" + int8_t ICRSilCU_Module_Stat; // [-] Bits= 4 + + // Temperature value + int8_t ICRSilCU_ModuleTemperature_Val; // [-] Bits= 7 Unit:'�C' + + // Reserved + int8_t ICRSilCU_reserved1; // [-] Bits= 5 + + // Reserved + int8_t ICRSilCU_reserved2; // [-] Bits= 8 + + // Reserved + int8_t ICRSilCU_reserved3; // [-] Bits= 8 + + // Reserved + int8_t ICRSilCU_reserved4; // [-] Bits= 8 + + // Reserved + int8_t ICRSilCU_reserved5; // [-] Bits= 8 + + // Reserved + int8_t ICRSilCU_reserved6; // [-] Bits= 8 + + // Reserved + int8_t ICRSilCU_reserved7; // [-] Bits= 8 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} ICRSilCU_State_t; + +// def @SFRSilCU_State CAN Message (1498 0x5da) +#define SFRSilCU_State_IDE (0U) +#define SFRSilCU_State_DLC (8U) +#define SFRSilCU_State_CANID (0x5daU) + +// Value tables for @SFRSilCU_Module_Stat signal + +#ifndef SFRSilCU_Module_Stat_SFRSilCU_State_Scenario_data_message_error +#define SFRSilCU_Module_Stat_SFRSilCU_State_Scenario_data_message_error (8) +#endif + +#ifndef SFRSilCU_Module_Stat_SFRSilCU_State_Temperature_error +#define SFRSilCU_Module_Stat_SFRSilCU_State_Temperature_error (9) +#endif + +#ifndef SFRSilCU_Module_Stat_SFRSilCU_State_Channels_power_error +#define SFRSilCU_Module_Stat_SFRSilCU_State_Channels_power_error (10) +#endif + +#ifndef SFRSilCU_Module_Stat_SFRSilCU_State_Scenario_play_error +#define SFRSilCU_Module_Stat_SFRSilCU_State_Scenario_play_error (7) +#endif + +#ifndef SFRSilCU_Module_Stat_SFRSilCU_State_Launch_error +#define SFRSilCU_Module_Stat_SFRSilCU_State_Launch_error (6) +#endif + +#ifndef SFRSilCU_Module_Stat_SFRSilCU_State_Scenario_Data_is_recieved +#define SFRSilCU_Module_Stat_SFRSilCU_State_Scenario_Data_is_recieved (5) +#endif + +#ifndef SFRSilCU_Module_Stat_SFRSilCU_State_Configuration_is_going +#define SFRSilCU_Module_Stat_SFRSilCU_State_Configuration_is_going (4) +#endif + +#ifndef SFRSilCU_Module_Stat_SFRSilCU_State_Special_event_done +#define SFRSilCU_Module_Stat_SFRSilCU_State_Special_event_done (3) +#endif + +#ifndef SFRSilCU_Module_Stat_SFRSilCU_State_Scenario_have_done +#define SFRSilCU_Module_Stat_SFRSilCU_State_Scenario_have_done (2) +#endif + +#ifndef SFRSilCU_Module_Stat_SFRSilCU_State_Scenario_is_going +#define SFRSilCU_Module_Stat_SFRSilCU_State_Scenario_is_going (1) +#endif + +#ifndef SFRSilCU_Module_Stat_SFRSilCU_State_Ready +#define SFRSilCU_Module_Stat_SFRSilCU_State_Ready (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Module state: + // 0 - Module is ready for action + // 1 - Module has done a scenario + // 2 - Module made a special event + // 3 - Data is recieved + // 4 - Module start error + // 5 - Scenario play error + // 6 - Data error + // 7 - Temperature error + // 8 : "Scenario data message error" + // 9 : "Temperature error" + // 10 : "Channels power error" + // 7 : "Scenario play error" + // 6 : "Launch error" + // 5 : "Scenario Data is recieved" + // 4 : "Configuration is going" + // 3 : "Special event done" + // 2 : "Scenario have done" + // 1 : "Scenario is going" + // 0 : "Ready" + uint8_t SFRSilCU_Module_Stat : 4; // Bits= 4 + + // Temperature value + int8_t SFRSilCU_ModuleTemperature_Val : 7; // [-] Bits= 7 Unit:'�C' + + // Reserved + int8_t SFRSilCU_reserved1 : 5; // [-] Bits= 5 + + // Reserved + int8_t SFRSilCU_reserved2; // [-] Bits= 8 + + // Reserved + int8_t SFRSilCU_reserved3; // [-] Bits= 8 + + // Reserved + int8_t SFRSilCU_reserved4; // [-] Bits= 8 + + // Reserved + int8_t SFRSilCU_reserved5; // [-] Bits= 8 + + // Reserved + int8_t SFRSilCU_reserved6; // [-] Bits= 8 + + // Reserved + int8_t SFRSilCU_reserved7; // [-] Bits= 8 + +#else + + // Module state: + // 0 - Module is ready for action + // 1 - Module has done a scenario + // 2 - Module made a special event + // 3 - Data is recieved + // 4 - Module start error + // 5 - Scenario play error + // 6 - Data error + // 7 - Temperature error + // 8 : "Scenario data message error" + // 9 : "Temperature error" + // 10 : "Channels power error" + // 7 : "Scenario play error" + // 6 : "Launch error" + // 5 : "Scenario Data is recieved" + // 4 : "Configuration is going" + // 3 : "Special event done" + // 2 : "Scenario have done" + // 1 : "Scenario is going" + // 0 : "Ready" + uint8_t SFRSilCU_Module_Stat; // Bits= 4 + + // Temperature value + int8_t SFRSilCU_ModuleTemperature_Val; // [-] Bits= 7 Unit:'�C' + + // Reserved + int8_t SFRSilCU_reserved1; // [-] Bits= 5 + + // Reserved + int8_t SFRSilCU_reserved2; // [-] Bits= 8 + + // Reserved + int8_t SFRSilCU_reserved3; // [-] Bits= 8 + + // Reserved + int8_t SFRSilCU_reserved4; // [-] Bits= 8 + + // Reserved + int8_t SFRSilCU_reserved5; // [-] Bits= 8 + + // Reserved + int8_t SFRSilCU_reserved6; // [-] Bits= 8 + + // Reserved + int8_t SFRSilCU_reserved7; // [-] Bits= 8 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} SFRSilCU_State_t; + +// def @SFLSilCU_State CAN Message (1499 0x5db) +#define SFLSilCU_State_IDE (0U) +#define SFLSilCU_State_DLC (8U) +#define SFLSilCU_State_CANID (0x5dbU) + +// Value tables for @SFLSilCU_Module_Stat signal + +#ifndef SFLSilCU_Module_Stat_SFLSilCU_State_Scenario_data_message_error +#define SFLSilCU_Module_Stat_SFLSilCU_State_Scenario_data_message_error (8) +#endif + +#ifndef SFLSilCU_Module_Stat_SFLSilCU_State_Temperature_error +#define SFLSilCU_Module_Stat_SFLSilCU_State_Temperature_error (9) +#endif + +#ifndef SFLSilCU_Module_Stat_SFLSilCU_State_Channels_power_error +#define SFLSilCU_Module_Stat_SFLSilCU_State_Channels_power_error (10) +#endif + +#ifndef SFLSilCU_Module_Stat_SFLSilCU_State_Scenario_play_error +#define SFLSilCU_Module_Stat_SFLSilCU_State_Scenario_play_error (7) +#endif + +#ifndef SFLSilCU_Module_Stat_SFLSilCU_State_Launch_error +#define SFLSilCU_Module_Stat_SFLSilCU_State_Launch_error (6) +#endif + +#ifndef SFLSilCU_Module_Stat_SFLSilCU_State_Scenario_Data_is_recieved +#define SFLSilCU_Module_Stat_SFLSilCU_State_Scenario_Data_is_recieved (5) +#endif + +#ifndef SFLSilCU_Module_Stat_SFLSilCU_State_Configuration_is_going +#define SFLSilCU_Module_Stat_SFLSilCU_State_Configuration_is_going (4) +#endif + +#ifndef SFLSilCU_Module_Stat_SFLSilCU_State_Special_event_done +#define SFLSilCU_Module_Stat_SFLSilCU_State_Special_event_done (3) +#endif + +#ifndef SFLSilCU_Module_Stat_SFLSilCU_State_Scenario_have_done +#define SFLSilCU_Module_Stat_SFLSilCU_State_Scenario_have_done (2) +#endif + +#ifndef SFLSilCU_Module_Stat_SFLSilCU_State_Scenario_is_going +#define SFLSilCU_Module_Stat_SFLSilCU_State_Scenario_is_going (1) +#endif + +#ifndef SFLSilCU_Module_Stat_SFLSilCU_State_Ready +#define SFLSilCU_Module_Stat_SFLSilCU_State_Ready (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Module state: + // 0 - Module is ready for action + // 1 - Module has done a scenario + // 2 - Module made a special event + // 3 - Data is recieved + // 4 - Module start error + // 5 - Scenario play error + // 6 - Data error + // 7 - Temperature error + // 8 : "Scenario data message error" + // 9 : "Temperature error" + // 10 : "Channels power error" + // 7 : "Scenario play error" + // 6 : "Launch error" + // 5 : "Scenario Data is recieved" + // 4 : "Configuration is going" + // 3 : "Special event done" + // 2 : "Scenario have done" + // 1 : "Scenario is going" + // 0 : "Ready" + uint8_t SFLSilCU_Module_Stat : 4; // Bits= 4 + + // Temperature value + int8_t SFLSilCU_ModuleTemperature_Val : 7; // [-] Bits= 7 Unit:'�C' + + // Reserved + int8_t SFLSilCU_reserved1 : 5; // [-] Bits= 5 + + // Reserved + int8_t SFLSilCU_reserved2; // [-] Bits= 8 + + // Reserved + int8_t SFLSilCU_reserved3; // [-] Bits= 8 + + // Reserved + int8_t SFLSilCU_reserved4; // [-] Bits= 8 + + // Reserved + int8_t SFLSilCU_reserved5; // [-] Bits= 8 + + // Reserved + int8_t SFLSilCU_reserved6; // [-] Bits= 8 + + // Reserved + int8_t SFLSilCU_reserved7; // [-] Bits= 8 + +#else + + // Module state: + // 0 - Module is ready for action + // 1 - Module has done a scenario + // 2 - Module made a special event + // 3 - Data is recieved + // 4 - Module start error + // 5 - Scenario play error + // 6 - Data error + // 7 - Temperature error + // 8 : "Scenario data message error" + // 9 : "Temperature error" + // 10 : "Channels power error" + // 7 : "Scenario play error" + // 6 : "Launch error" + // 5 : "Scenario Data is recieved" + // 4 : "Configuration is going" + // 3 : "Special event done" + // 2 : "Scenario have done" + // 1 : "Scenario is going" + // 0 : "Ready" + uint8_t SFLSilCU_Module_Stat; // Bits= 4 + + // Temperature value + int8_t SFLSilCU_ModuleTemperature_Val; // [-] Bits= 7 Unit:'�C' + + // Reserved + int8_t SFLSilCU_reserved1; // [-] Bits= 5 + + // Reserved + int8_t SFLSilCU_reserved2; // [-] Bits= 8 + + // Reserved + int8_t SFLSilCU_reserved3; // [-] Bits= 8 + + // Reserved + int8_t SFLSilCU_reserved4; // [-] Bits= 8 + + // Reserved + int8_t SFLSilCU_reserved5; // [-] Bits= 8 + + // Reserved + int8_t SFLSilCU_reserved6; // [-] Bits= 8 + + // Reserved + int8_t SFLSilCU_reserved7; // [-] Bits= 8 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} SFLSilCU_State_t; + +// def @RDRSilCU_State CAN Message (1513 0x5e9) +#define RDRSilCU_State_IDE (0U) +#define RDRSilCU_State_DLC (8U) +#define RDRSilCU_State_CANID (0x5e9U) + +// Value tables for @RDRSilCU_Module_Stat signal + +#ifndef RDRSilCU_Module_Stat_RDRSilCU_State_Scenario_data_message_error +#define RDRSilCU_Module_Stat_RDRSilCU_State_Scenario_data_message_error (8) +#endif + +#ifndef RDRSilCU_Module_Stat_RDRSilCU_State_Temperature_error +#define RDRSilCU_Module_Stat_RDRSilCU_State_Temperature_error (9) +#endif + +#ifndef RDRSilCU_Module_Stat_RDRSilCU_State_Channels_power_error +#define RDRSilCU_Module_Stat_RDRSilCU_State_Channels_power_error (10) +#endif + +#ifndef RDRSilCU_Module_Stat_RDRSilCU_State_Scenario_play_error +#define RDRSilCU_Module_Stat_RDRSilCU_State_Scenario_play_error (7) +#endif + +#ifndef RDRSilCU_Module_Stat_RDRSilCU_State_Launch_error +#define RDRSilCU_Module_Stat_RDRSilCU_State_Launch_error (6) +#endif + +#ifndef RDRSilCU_Module_Stat_RDRSilCU_State_Scenario_Data_is_recieved +#define RDRSilCU_Module_Stat_RDRSilCU_State_Scenario_Data_is_recieved (5) +#endif + +#ifndef RDRSilCU_Module_Stat_RDRSilCU_State_Configuration_is_going +#define RDRSilCU_Module_Stat_RDRSilCU_State_Configuration_is_going (4) +#endif + +#ifndef RDRSilCU_Module_Stat_RDRSilCU_State_Special_event_done +#define RDRSilCU_Module_Stat_RDRSilCU_State_Special_event_done (3) +#endif + +#ifndef RDRSilCU_Module_Stat_RDRSilCU_State_Scenario_have_done +#define RDRSilCU_Module_Stat_RDRSilCU_State_Scenario_have_done (2) +#endif + +#ifndef RDRSilCU_Module_Stat_RDRSilCU_State_Scenario_is_going +#define RDRSilCU_Module_Stat_RDRSilCU_State_Scenario_is_going (1) +#endif + +#ifndef RDRSilCU_Module_Stat_RDRSilCU_State_Ready +#define RDRSilCU_Module_Stat_RDRSilCU_State_Ready (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Module state: + // 0 - Module is ready for action + // 1 - Module has done a scenario + // 2 - Module made a special event + // 3 - Data is recieved + // 4 - Module start error + // 5 - Scenario play error + // 6 - Data error + // 7 - Temperature error + // 8 : "Scenario data message error" + // 9 : "Temperature error" + // 10 : "Channels power error" + // 7 : "Scenario play error" + // 6 : "Launch error" + // 5 : "Scenario Data is recieved" + // 4 : "Configuration is going" + // 3 : "Special event done" + // 2 : "Scenario have done" + // 1 : "Scenario is going" + // 0 : "Ready" + int8_t RDRSilCU_Module_Stat : 4; // [-] Bits= 4 + + // Temperature value + int8_t RDRSilCU_ModuleTemperature_Val : 7; // [-] Bits= 7 Unit:'�C' + + // Reserved + int8_t RDRSilCU_reserved1 : 5; // [-] Bits= 5 + + // Reserved + int8_t RDRSilCU_reserved2; // [-] Bits= 8 + + // Reserved + int8_t RDRSilCU_reserved3; // [-] Bits= 8 + + // Reserved + int8_t RDRSilCU_reserved4; // [-] Bits= 8 + + // Reserved + int8_t RDRSilCU_reserved5; // [-] Bits= 8 + + // Reserved + int8_t RDRSilCU_reserved6; // [-] Bits= 8 + + // Reserved + int8_t RDRSilCU_reserved7; // [-] Bits= 8 + +#else + + // Module state: + // 0 - Module is ready for action + // 1 - Module has done a scenario + // 2 - Module made a special event + // 3 - Data is recieved + // 4 - Module start error + // 5 - Scenario play error + // 6 - Data error + // 7 - Temperature error + // 8 : "Scenario data message error" + // 9 : "Temperature error" + // 10 : "Channels power error" + // 7 : "Scenario play error" + // 6 : "Launch error" + // 5 : "Scenario Data is recieved" + // 4 : "Configuration is going" + // 3 : "Special event done" + // 2 : "Scenario have done" + // 1 : "Scenario is going" + // 0 : "Ready" + int8_t RDRSilCU_Module_Stat; // [-] Bits= 4 + + // Temperature value + int8_t RDRSilCU_ModuleTemperature_Val; // [-] Bits= 7 Unit:'�C' + + // Reserved + int8_t RDRSilCU_reserved1; // [-] Bits= 5 + + // Reserved + int8_t RDRSilCU_reserved2; // [-] Bits= 8 + + // Reserved + int8_t RDRSilCU_reserved3; // [-] Bits= 8 + + // Reserved + int8_t RDRSilCU_reserved4; // [-] Bits= 8 + + // Reserved + int8_t RDRSilCU_reserved5; // [-] Bits= 8 + + // Reserved + int8_t RDRSilCU_reserved6; // [-] Bits= 8 + + // Reserved + int8_t RDRSilCU_reserved7; // [-] Bits= 8 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} RDRSilCU_State_t; + +// def @FCSilCU_State CAN Message (1514 0x5ea) +#define FCSilCU_State_IDE (0U) +#define FCSilCU_State_DLC (8U) +#define FCSilCU_State_CANID (0x5eaU) + +// Value tables for @FCSilCU_Module_Stat signal + +#ifndef FCSilCU_Module_Stat_FCSilCU_State_Scenario_data_message_error +#define FCSilCU_Module_Stat_FCSilCU_State_Scenario_data_message_error (8) +#endif + +#ifndef FCSilCU_Module_Stat_FCSilCU_State_Temperature_error +#define FCSilCU_Module_Stat_FCSilCU_State_Temperature_error (9) +#endif + +#ifndef FCSilCU_Module_Stat_FCSilCU_State_Channels_power_error +#define FCSilCU_Module_Stat_FCSilCU_State_Channels_power_error (10) +#endif + +#ifndef FCSilCU_Module_Stat_FCSilCU_State_Scenario_play_error +#define FCSilCU_Module_Stat_FCSilCU_State_Scenario_play_error (7) +#endif + +#ifndef FCSilCU_Module_Stat_FCSilCU_State_Launch_error +#define FCSilCU_Module_Stat_FCSilCU_State_Launch_error (6) +#endif + +#ifndef FCSilCU_Module_Stat_FCSilCU_State_Scenario_Data_is_recieved +#define FCSilCU_Module_Stat_FCSilCU_State_Scenario_Data_is_recieved (5) +#endif + +#ifndef FCSilCU_Module_Stat_FCSilCU_State_Configuration_is_going +#define FCSilCU_Module_Stat_FCSilCU_State_Configuration_is_going (4) +#endif + +#ifndef FCSilCU_Module_Stat_FCSilCU_State_Special_event_done +#define FCSilCU_Module_Stat_FCSilCU_State_Special_event_done (3) +#endif + +#ifndef FCSilCU_Module_Stat_FCSilCU_State_Scenario_have_done +#define FCSilCU_Module_Stat_FCSilCU_State_Scenario_have_done (2) +#endif + +#ifndef FCSilCU_Module_Stat_FCSilCU_State_Scenario_is_going +#define FCSilCU_Module_Stat_FCSilCU_State_Scenario_is_going (1) +#endif + +#ifndef FCSilCU_Module_Stat_FCSilCU_State_Ready +#define FCSilCU_Module_Stat_FCSilCU_State_Ready (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Module state: + // 0 - Module is ready for action + // 1 - Module has done a scenario + // 2 - Module made a special event + // 3 - Data is recieved + // 4 - Module start error + // 5 - Scenario play error + // 6 - Data error + // 7 - Temperature error + // 8 : "Scenario data message error" + // 9 : "Temperature error" + // 10 : "Channels power error" + // 7 : "Scenario play error" + // 6 : "Launch error" + // 5 : "Scenario Data is recieved" + // 4 : "Configuration is going" + // 3 : "Special event done" + // 2 : "Scenario have done" + // 1 : "Scenario is going" + // 0 : "Ready" + int8_t FCSilCU_Module_Stat : 4; // [-] Bits= 4 + + // Temperature value + uint8_t FCSilCU_ModuleTemperature_Val : 7; // Bits= 7 + + // Reserved + int8_t FCSilCU_reserved1 : 5; // [-] Bits= 5 + + // Reserved + int8_t FCSilCU_reserved2; // [-] Bits= 8 + + // Reserved + int8_t FCSilCU_reserved3; // [-] Bits= 8 + + // Reserved + int8_t FCSilCU_reserved4; // [-] Bits= 8 + + // Reserved + int8_t FCSilCU_reserved5; // [-] Bits= 8 + + // Reserved + int8_t FCSilCU_reserved6; // [-] Bits= 8 + + // Reserved + int8_t FCSilCU_reserved7; // [-] Bits= 8 + +#else + + // Module state: + // 0 - Module is ready for action + // 1 - Module has done a scenario + // 2 - Module made a special event + // 3 - Data is recieved + // 4 - Module start error + // 5 - Scenario play error + // 6 - Data error + // 7 - Temperature error + // 8 : "Scenario data message error" + // 9 : "Temperature error" + // 10 : "Channels power error" + // 7 : "Scenario play error" + // 6 : "Launch error" + // 5 : "Scenario Data is recieved" + // 4 : "Configuration is going" + // 3 : "Special event done" + // 2 : "Scenario have done" + // 1 : "Scenario is going" + // 0 : "Ready" + int8_t FCSilCU_Module_Stat; // [-] Bits= 4 + + // Temperature value + uint8_t FCSilCU_ModuleTemperature_Val; // Bits= 7 + + // Reserved + int8_t FCSilCU_reserved1; // [-] Bits= 5 + + // Reserved + int8_t FCSilCU_reserved2; // [-] Bits= 8 + + // Reserved + int8_t FCSilCU_reserved3; // [-] Bits= 8 + + // Reserved + int8_t FCSilCU_reserved4; // [-] Bits= 8 + + // Reserved + int8_t FCSilCU_reserved5; // [-] Bits= 8 + + // Reserved + int8_t FCSilCU_reserved6; // [-] Bits= 8 + + // Reserved + int8_t FCSilCU_reserved7; // [-] Bits= 8 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} FCSilCU_State_t; + +// def @RCLSilCU_State CAN Message (1515 0x5eb) +#define RCLSilCU_State_IDE (0U) +#define RCLSilCU_State_DLC (8U) +#define RCLSilCU_State_CANID (0x5ebU) + +// Value tables for @RCLSilCU_Module_Stat signal + +#ifndef RCLSilCU_Module_Stat_RCLSilCU_State_Scenario_data_message_error +#define RCLSilCU_Module_Stat_RCLSilCU_State_Scenario_data_message_error (8) +#endif + +#ifndef RCLSilCU_Module_Stat_RCLSilCU_State_Temperature_error +#define RCLSilCU_Module_Stat_RCLSilCU_State_Temperature_error (9) +#endif + +#ifndef RCLSilCU_Module_Stat_RCLSilCU_State_Channels_power_error +#define RCLSilCU_Module_Stat_RCLSilCU_State_Channels_power_error (10) +#endif + +#ifndef RCLSilCU_Module_Stat_RCLSilCU_State_Scenario_play_error +#define RCLSilCU_Module_Stat_RCLSilCU_State_Scenario_play_error (7) +#endif + +#ifndef RCLSilCU_Module_Stat_RCLSilCU_State_Launch_error +#define RCLSilCU_Module_Stat_RCLSilCU_State_Launch_error (6) +#endif + +#ifndef RCLSilCU_Module_Stat_RCLSilCU_State_Scenario_Data_is_recieved +#define RCLSilCU_Module_Stat_RCLSilCU_State_Scenario_Data_is_recieved (5) +#endif + +#ifndef RCLSilCU_Module_Stat_RCLSilCU_State_Configuration_is_going +#define RCLSilCU_Module_Stat_RCLSilCU_State_Configuration_is_going (4) +#endif + +#ifndef RCLSilCU_Module_Stat_RCLSilCU_State_Special_event_done +#define RCLSilCU_Module_Stat_RCLSilCU_State_Special_event_done (3) +#endif + +#ifndef RCLSilCU_Module_Stat_RCLSilCU_State_Scenario_have_done +#define RCLSilCU_Module_Stat_RCLSilCU_State_Scenario_have_done (2) +#endif + +#ifndef RCLSilCU_Module_Stat_RCLSilCU_State_Scenario_is_going +#define RCLSilCU_Module_Stat_RCLSilCU_State_Scenario_is_going (1) +#endif + +#ifndef RCLSilCU_Module_Stat_RCLSilCU_State_Ready +#define RCLSilCU_Module_Stat_RCLSilCU_State_Ready (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Module state: + // 0 - Module is ready for action + // 1 - Module has done a scenario + // 2 - Module made a special event + // 3 - Data is recieved + // 4 - Module start error + // 5 - Scenario play error + // 6 - Data error + // 7 - Temperature error + // 8 : "Scenario data message error" + // 9 : "Temperature error" + // 10 : "Channels power error" + // 7 : "Scenario play error" + // 6 : "Launch error" + // 5 : "Scenario Data is recieved" + // 4 : "Configuration is going" + // 3 : "Special event done" + // 2 : "Scenario have done" + // 1 : "Scenario is going" + // 0 : "Ready" + int8_t RCLSilCU_Module_Stat : 4; // [-] Bits= 4 + + // Temperature value + int8_t RCLSilCU_ModuleTemperature_Val : 7; // [-] Bits= 7 Unit:'�C' + + // Reserved + int8_t RCLSilCU_reserved1 : 5; // [-] Bits= 5 + + // Reserved + int8_t RCLSilCU_reserved2; // [-] Bits= 8 + + // Reserved + int8_t RCLSilCU_reserved3; // [-] Bits= 8 + + // Reserved + int8_t RCLSilCU_reserved4; // [-] Bits= 8 + + // Reserved + int8_t RCLSilCU_reserved5; // [-] Bits= 8 + + // Reserved + int8_t RCLSilCU_reserved6; // [-] Bits= 8 + + // Reserved + int8_t RCLSilCU_reserved7; // [-] Bits= 8 + +#else + + // Module state: + // 0 - Module is ready for action + // 1 - Module has done a scenario + // 2 - Module made a special event + // 3 - Data is recieved + // 4 - Module start error + // 5 - Scenario play error + // 6 - Data error + // 7 - Temperature error + // 8 : "Scenario data message error" + // 9 : "Temperature error" + // 10 : "Channels power error" + // 7 : "Scenario play error" + // 6 : "Launch error" + // 5 : "Scenario Data is recieved" + // 4 : "Configuration is going" + // 3 : "Special event done" + // 2 : "Scenario have done" + // 1 : "Scenario is going" + // 0 : "Ready" + int8_t RCLSilCU_Module_Stat; // [-] Bits= 4 + + // Temperature value + int8_t RCLSilCU_ModuleTemperature_Val; // [-] Bits= 7 Unit:'�C' + + // Reserved + int8_t RCLSilCU_reserved1; // [-] Bits= 5 + + // Reserved + int8_t RCLSilCU_reserved2; // [-] Bits= 8 + + // Reserved + int8_t RCLSilCU_reserved3; // [-] Bits= 8 + + // Reserved + int8_t RCLSilCU_reserved4; // [-] Bits= 8 + + // Reserved + int8_t RCLSilCU_reserved5; // [-] Bits= 8 + + // Reserved + int8_t RCLSilCU_reserved6; // [-] Bits= 8 + + // Reserved + int8_t RCLSilCU_reserved7; // [-] Bits= 8 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} RCLSilCU_State_t; + +// def @RCRSilCU_State CAN Message (1516 0x5ec) +#define RCRSilCU_State_IDE (0U) +#define RCRSilCU_State_DLC (8U) +#define RCRSilCU_State_CANID (0x5ecU) + +// Value tables for @RCRSilCU_Module_Stat signal + +#ifndef RCRSilCU_Module_Stat_RCRSilCU_State_Scenario_data_message_error +#define RCRSilCU_Module_Stat_RCRSilCU_State_Scenario_data_message_error (8) +#endif + +#ifndef RCRSilCU_Module_Stat_RCRSilCU_State_Temperature_error +#define RCRSilCU_Module_Stat_RCRSilCU_State_Temperature_error (9) +#endif + +#ifndef RCRSilCU_Module_Stat_RCRSilCU_State_Channels_power_error +#define RCRSilCU_Module_Stat_RCRSilCU_State_Channels_power_error (10) +#endif + +#ifndef RCRSilCU_Module_Stat_RCRSilCU_State_Scenario_play_error +#define RCRSilCU_Module_Stat_RCRSilCU_State_Scenario_play_error (7) +#endif + +#ifndef RCRSilCU_Module_Stat_RCRSilCU_State_Launch_error +#define RCRSilCU_Module_Stat_RCRSilCU_State_Launch_error (6) +#endif + +#ifndef RCRSilCU_Module_Stat_RCRSilCU_State_Scenario_Data_is_recieved +#define RCRSilCU_Module_Stat_RCRSilCU_State_Scenario_Data_is_recieved (5) +#endif + +#ifndef RCRSilCU_Module_Stat_RCRSilCU_State_Configuration_is_going +#define RCRSilCU_Module_Stat_RCRSilCU_State_Configuration_is_going (4) +#endif + +#ifndef RCRSilCU_Module_Stat_RCRSilCU_State_Special_event_done +#define RCRSilCU_Module_Stat_RCRSilCU_State_Special_event_done (3) +#endif + +#ifndef RCRSilCU_Module_Stat_RCRSilCU_State_Scenario_have_done +#define RCRSilCU_Module_Stat_RCRSilCU_State_Scenario_have_done (2) +#endif + +#ifndef RCRSilCU_Module_Stat_RCRSilCU_State_Scenario_is_going +#define RCRSilCU_Module_Stat_RCRSilCU_State_Scenario_is_going (1) +#endif + +#ifndef RCRSilCU_Module_Stat_RCRSilCU_State_Ready +#define RCRSilCU_Module_Stat_RCRSilCU_State_Ready (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Module state: + // 0 - Module is ready for action + // 1 - Module has done a scenario + // 2 - Module made a special event + // 3 - Data is recieved + // 4 - Module start error + // 5 - Scenario play error + // 6 - Data error + // 7 - Temperature error + // 8 : "Scenario data message error" + // 9 : "Temperature error" + // 10 : "Channels power error" + // 7 : "Scenario play error" + // 6 : "Launch error" + // 5 : "Scenario Data is recieved" + // 4 : "Configuration is going" + // 3 : "Special event done" + // 2 : "Scenario have done" + // 1 : "Scenario is going" + // 0 : "Ready" + int8_t RCRSilCU_Module_Stat : 4; // [-] Bits= 4 + + // Temperature value + int8_t RCRSilCU_ModuleTemperature_Val : 7; // [-] Bits= 7 Unit:'�C' + + // Reserved + int8_t RCRSilCU_reserved1 : 5; // [-] Bits= 5 + + // Reserved + int8_t RCRSilCU_reserved2; // [-] Bits= 8 + + // Reserved + int8_t RCRSilCU_reserved3; // [-] Bits= 8 + + // Reserved + int8_t RCRSilCU_reserved4; // [-] Bits= 8 + + // Reserved + int8_t RCRSilCU_reserved5; // [-] Bits= 8 + + // Reserved + int8_t RCRSilCU_reserved6; // [-] Bits= 8 + + // Reserved + int8_t RCRSilCU_reserved7; // [-] Bits= 8 + +#else + + // Module state: + // 0 - Module is ready for action + // 1 - Module has done a scenario + // 2 - Module made a special event + // 3 - Data is recieved + // 4 - Module start error + // 5 - Scenario play error + // 6 - Data error + // 7 - Temperature error + // 8 : "Scenario data message error" + // 9 : "Temperature error" + // 10 : "Channels power error" + // 7 : "Scenario play error" + // 6 : "Launch error" + // 5 : "Scenario Data is recieved" + // 4 : "Configuration is going" + // 3 : "Special event done" + // 2 : "Scenario have done" + // 1 : "Scenario is going" + // 0 : "Ready" + int8_t RCRSilCU_Module_Stat; // [-] Bits= 4 + + // Temperature value + int8_t RCRSilCU_ModuleTemperature_Val; // [-] Bits= 7 Unit:'�C' + + // Reserved + int8_t RCRSilCU_reserved1; // [-] Bits= 5 + + // Reserved + int8_t RCRSilCU_reserved2; // [-] Bits= 8 + + // Reserved + int8_t RCRSilCU_reserved3; // [-] Bits= 8 + + // Reserved + int8_t RCRSilCU_reserved4; // [-] Bits= 8 + + // Reserved + int8_t RCRSilCU_reserved5; // [-] Bits= 8 + + // Reserved + int8_t RCRSilCU_reserved6; // [-] Bits= 8 + + // Reserved + int8_t RCRSilCU_reserved7; // [-] Bits= 8 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} RCRSilCU_State_t; + +// def @RDLSilCU_State CAN Message (1517 0x5ed) +#define RDLSilCU_State_IDE (0U) +#define RDLSilCU_State_DLC (8U) +#define RDLSilCU_State_CANID (0x5edU) + +// Value tables for @RDLSilCU_Module_Stat signal + +#ifndef RDLSilCU_Module_Stat_RDLSilCU_State_Scenario_data_message_error +#define RDLSilCU_Module_Stat_RDLSilCU_State_Scenario_data_message_error (8) +#endif + +#ifndef RDLSilCU_Module_Stat_RDLSilCU_State_Temperature_error +#define RDLSilCU_Module_Stat_RDLSilCU_State_Temperature_error (9) +#endif + +#ifndef RDLSilCU_Module_Stat_RDLSilCU_State_Channels_power_error +#define RDLSilCU_Module_Stat_RDLSilCU_State_Channels_power_error (10) +#endif + +#ifndef RDLSilCU_Module_Stat_RDLSilCU_State_Scenario_play_error +#define RDLSilCU_Module_Stat_RDLSilCU_State_Scenario_play_error (7) +#endif + +#ifndef RDLSilCU_Module_Stat_RDLSilCU_State_Launch_error +#define RDLSilCU_Module_Stat_RDLSilCU_State_Launch_error (6) +#endif + +#ifndef RDLSilCU_Module_Stat_RDLSilCU_State_Scenario_Data_is_recieved +#define RDLSilCU_Module_Stat_RDLSilCU_State_Scenario_Data_is_recieved (5) +#endif + +#ifndef RDLSilCU_Module_Stat_RDLSilCU_State_Configuration_is_going +#define RDLSilCU_Module_Stat_RDLSilCU_State_Configuration_is_going (4) +#endif + +#ifndef RDLSilCU_Module_Stat_RDLSilCU_State_Special_event_done +#define RDLSilCU_Module_Stat_RDLSilCU_State_Special_event_done (3) +#endif + +#ifndef RDLSilCU_Module_Stat_RDLSilCU_State_Scenario_have_done +#define RDLSilCU_Module_Stat_RDLSilCU_State_Scenario_have_done (2) +#endif + +#ifndef RDLSilCU_Module_Stat_RDLSilCU_State_Scenario_is_going +#define RDLSilCU_Module_Stat_RDLSilCU_State_Scenario_is_going (1) +#endif + +#ifndef RDLSilCU_Module_Stat_RDLSilCU_State_Ready +#define RDLSilCU_Module_Stat_RDLSilCU_State_Ready (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Module state: + // 0 - Module is ready for action + // 1 - Module has done a scenario 2 - Module made a special event 3 - Data is recieved 4 - Module start error 5 - Scenario play error 6 - Data error 7 - Temperature error + // 8 : "Scenario data message error" + // 9 : "Temperature error" + // 10 : "Channels power error" + // 7 : "Scenario play error" + // 6 : "Launch error" + // 5 : "Scenario Data is recieved" + // 4 : "Configuration is going" + // 3 : "Special event done" + // 2 : "Scenario have done" + // 1 : "Scenario is going" + // 0 : "Ready" + int8_t RDLSilCU_Module_Stat : 4; // [-] Bits= 4 + + // Temperature value + int8_t RDLSilCU_ModuleTemperature_Val : 7; // [-] Bits= 7 Unit:'�C' + + // Reserved + int8_t RDLSilCU_reserved1 : 5; // [-] Bits= 5 + + // Reserved + int8_t RDLSilCU_reserved2; // [-] Bits= 8 + + // Reserved + int8_t RDLSilCU_reserved3; // [-] Bits= 8 + + // Reserved + int8_t RDLSilCU_reserved4; // [-] Bits= 8 + + // Reserved + int8_t RDLSilCU_reserved5; // [-] Bits= 8 + + // Reserved + int8_t RDLSilCU_reserved6; // [-] Bits= 8 + + // Reserved + int8_t RDLSilCU_reserved7; // [-] Bits= 8 + +#else + + // Module state: + // 0 - Module is ready for action + // 1 - Module has done a scenario 2 - Module made a special event 3 - Data is recieved 4 - Module start error 5 - Scenario play error 6 - Data error 7 - Temperature error + // 8 : "Scenario data message error" + // 9 : "Temperature error" + // 10 : "Channels power error" + // 7 : "Scenario play error" + // 6 : "Launch error" + // 5 : "Scenario Data is recieved" + // 4 : "Configuration is going" + // 3 : "Special event done" + // 2 : "Scenario have done" + // 1 : "Scenario is going" + // 0 : "Ready" + int8_t RDLSilCU_Module_Stat; // [-] Bits= 4 + + // Temperature value + int8_t RDLSilCU_ModuleTemperature_Val; // [-] Bits= 7 Unit:'�C' + + // Reserved + int8_t RDLSilCU_reserved1; // [-] Bits= 5 + + // Reserved + int8_t RDLSilCU_reserved2; // [-] Bits= 8 + + // Reserved + int8_t RDLSilCU_reserved3; // [-] Bits= 8 + + // Reserved + int8_t RDLSilCU_reserved4; // [-] Bits= 8 + + // Reserved + int8_t RDLSilCU_reserved5; // [-] Bits= 8 + + // Reserved + int8_t RDLSilCU_reserved6; // [-] Bits= 8 + + // Reserved + int8_t RDLSilCU_reserved7; // [-] Bits= 8 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} RDLSilCU_State_t; + +// def @CCPF_BodyTM_Stat CAN Message (1519 0x5ef) +#define CCPF_BodyTM_Stat_IDE (0U) +#define CCPF_BodyTM_Stat_DLC (3U) +#define CCPF_BodyTM_Stat_CANID (0x5efU) +#define CCPF_BodyTM_Stat_CYC (50U) + +// Value tables for @CCPF_AutoButtonL_Stat signal + +#ifndef CCPF_AutoButtonL_Stat_CCPF_BodyTM_Stat_Button_hold_pressed +#define CCPF_AutoButtonL_Stat_CCPF_BodyTM_Stat_Button_hold_pressed (2) +#endif + +#ifndef CCPF_AutoButtonL_Stat_CCPF_BodyTM_Stat_Button_pressed +#define CCPF_AutoButtonL_Stat_CCPF_BodyTM_Stat_Button_pressed (1) +#endif + +#ifndef CCPF_AutoButtonL_Stat_CCPF_BodyTM_Stat_Button_released +#define CCPF_AutoButtonL_Stat_CCPF_BodyTM_Stat_Button_released (0) +#endif + + +// Value tables for @CCPF_TempToggleL_Stat signal + +#ifndef CCPF_TempToggleL_Stat_CCPF_BodyTM_Stat_Toggle_hold_lowered_ +#define CCPF_TempToggleL_Stat_CCPF_BodyTM_Stat_Toggle_hold_lowered_ (4) +#endif + +#ifndef CCPF_TempToggleL_Stat_CCPF_BodyTM_Stat_Toggle_hold_raised_ +#define CCPF_TempToggleL_Stat_CCPF_BodyTM_Stat_Toggle_hold_raised_ (3) +#endif + +#ifndef CCPF_TempToggleL_Stat_CCPF_BodyTM_Stat_Toggle_lowered +#define CCPF_TempToggleL_Stat_CCPF_BodyTM_Stat_Toggle_lowered (2) +#endif + +#ifndef CCPF_TempToggleL_Stat_CCPF_BodyTM_Stat_Toggle_raised +#define CCPF_TempToggleL_Stat_CCPF_BodyTM_Stat_Toggle_raised (1) +#endif + +#ifndef CCPF_TempToggleL_Stat_CCPF_BodyTM_Stat_Toggle_released +#define CCPF_TempToggleL_Stat_CCPF_BodyTM_Stat_Toggle_released (0) +#endif + + +// Value tables for @CCPF_RecButton_Stat signal + +#ifndef CCPF_RecButton_Stat_CCPF_BodyTM_Stat_Button_hold_pressed +#define CCPF_RecButton_Stat_CCPF_BodyTM_Stat_Button_hold_pressed (2) +#endif + +#ifndef CCPF_RecButton_Stat_CCPF_BodyTM_Stat_Button_pressed +#define CCPF_RecButton_Stat_CCPF_BodyTM_Stat_Button_pressed (1) +#endif + +#ifndef CCPF_RecButton_Stat_CCPF_BodyTM_Stat_Button_released +#define CCPF_RecButton_Stat_CCPF_BodyTM_Stat_Button_released (0) +#endif + + +// Value tables for @CCPF_FWindowHeatSw_Stat signal + +#ifndef CCPF_FWindowHeatSw_Stat_CCPF_BodyTM_Stat_Pressed +#define CCPF_FWindowHeatSw_Stat_CCPF_BodyTM_Stat_Pressed (1) +#endif + +#ifndef CCPF_FWindowHeatSw_Stat_CCPF_BodyTM_Stat_Not_pressed +#define CCPF_FWindowHeatSw_Stat_CCPF_BodyTM_Stat_Not_pressed (0) +#endif + + +// Value tables for @CCPF_AutoButtonR_Stat signal + +#ifndef CCPF_AutoButtonR_Stat_CCPF_BodyTM_Stat_Button_hold_pressed +#define CCPF_AutoButtonR_Stat_CCPF_BodyTM_Stat_Button_hold_pressed (2) +#endif + +#ifndef CCPF_AutoButtonR_Stat_CCPF_BodyTM_Stat_Button_Pressed +#define CCPF_AutoButtonR_Stat_CCPF_BodyTM_Stat_Button_Pressed (1) +#endif + +#ifndef CCPF_AutoButtonR_Stat_CCPF_BodyTM_Stat_Button_Released +#define CCPF_AutoButtonR_Stat_CCPF_BodyTM_Stat_Button_Released (0) +#endif + + +// Value tables for @CCPF_MuteSw_Stat signal + +#ifndef CCPF_MuteSw_Stat_CCPF_BodyTM_Stat_MMS_ONOFF_requested +#define CCPF_MuteSw_Stat_CCPF_BodyTM_Stat_MMS_ONOFF_requested (2) +#endif + +#ifndef CCPF_MuteSw_Stat_CCPF_BodyTM_Stat_Mute_ONOFF_requested +#define CCPF_MuteSw_Stat_CCPF_BodyTM_Stat_Mute_ONOFF_requested (1) +#endif + +#ifndef CCPF_MuteSw_Stat_CCPF_BodyTM_Stat_Not_requested +#define CCPF_MuteSw_Stat_CCPF_BodyTM_Stat_Not_requested (0) +#endif + + +// Value tables for @CCPF_RWindowHeatSw_Stat signal + +#ifndef CCPF_RWindowHeatSw_Stat_CCPF_BodyTM_Stat_Pressed +#define CCPF_RWindowHeatSw_Stat_CCPF_BodyTM_Stat_Pressed (1) +#endif + +#ifndef CCPF_RWindowHeatSw_Stat_CCPF_BodyTM_Stat_Not_pressed +#define CCPF_RWindowHeatSw_Stat_CCPF_BodyTM_Stat_Not_pressed (0) +#endif + + +// Value tables for @CCPF_TempToggleR_Stat signal + +#ifndef CCPF_TempToggleR_Stat_CCPF_BodyTM_Stat_Toggle_hold_lowered_ +#define CCPF_TempToggleR_Stat_CCPF_BodyTM_Stat_Toggle_hold_lowered_ (4) +#endif + +#ifndef CCPF_TempToggleR_Stat_CCPF_BodyTM_Stat_Toggle_hold_raised_ +#define CCPF_TempToggleR_Stat_CCPF_BodyTM_Stat_Toggle_hold_raised_ (3) +#endif + +#ifndef CCPF_TempToggleR_Stat_CCPF_BodyTM_Stat_Toggle_lowered +#define CCPF_TempToggleR_Stat_CCPF_BodyTM_Stat_Toggle_lowered (2) +#endif + +#ifndef CCPF_TempToggleR_Stat_CCPF_BodyTM_Stat_Toggle_raised +#define CCPF_TempToggleR_Stat_CCPF_BodyTM_Stat_Toggle_raised (1) +#endif + +#ifndef CCPF_TempToggleR_Stat_CCPF_BodyTM_Stat_Toggle_released +#define CCPF_TempToggleR_Stat_CCPF_BodyTM_Stat_Toggle_released (0) +#endif + + +// Value tables for @CCPF_VolAjustSw_Stat signal + +#ifndef CCPF_VolAjustSw_Stat_CCPF_BodyTM_Stat_Volume_ +#define CCPF_VolAjustSw_Stat_CCPF_BodyTM_Stat_Volume_ (2) +#endif + +#ifndef CCPF_VolAjustSw_Stat_CCPF_BodyTM_Stat_Volume_ +#define CCPF_VolAjustSw_Stat_CCPF_BodyTM_Stat_Volume_ (1) +#endif + +#ifndef CCPF_VolAjustSw_Stat_CCPF_BodyTM_Stat_Not_pressed +#define CCPF_VolAjustSw_Stat_CCPF_BodyTM_Stat_Not_pressed (0) +#endif + + +// Value tables for @CCPF_DefButton_Stat signal + +#ifndef CCPF_DefButton_Stat_CCPF_BodyTM_Stat_Button_hold_pressed +#define CCPF_DefButton_Stat_CCPF_BodyTM_Stat_Button_hold_pressed (2) +#endif + +#ifndef CCPF_DefButton_Stat_CCPF_BodyTM_Stat_Button_pressed +#define CCPF_DefButton_Stat_CCPF_BodyTM_Stat_Button_pressed (1) +#endif + +#ifndef CCPF_DefButton_Stat_CCPF_BodyTM_Stat_Button_released +#define CCPF_DefButton_Stat_CCPF_BodyTM_Stat_Button_released (0) +#endif + + +// Value tables for @CCPF_AcMaxButton_Stat signal + +#ifndef CCPF_AcMaxButton_Stat_CCPF_BodyTM_Stat_Button_hold_pressed_ +#define CCPF_AcMaxButton_Stat_CCPF_BodyTM_Stat_Button_hold_pressed_ (2) +#endif + +#ifndef CCPF_AcMaxButton_Stat_CCPF_BodyTM_Stat_Button_pressed +#define CCPF_AcMaxButton_Stat_CCPF_BodyTM_Stat_Button_pressed (1) +#endif + +#ifndef CCPF_AcMaxButton_Stat_CCPF_BodyTM_Stat_Button_released +#define CCPF_AcMaxButton_Stat_CCPF_BodyTM_Stat_Button_released (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Front climate panel left AUTO button status + // 2 : "Button hold pressed" + // 1 : "Button pressed" + // 0 : "Button released" + uint8_t CCPF_AutoButtonL_Stat : 2; // Bits= 2 + + // Front climate panel left TEMPERATURE toggle status + // 4 : "Toggle hold lowered " + // 3 : "Toggle hold raised " + // 2 : "Toggle lowered" + // 1 : "Toggle raised" + // 0 : "Toggle released" + uint8_t CCPF_TempToggleL_Stat : 3; // Bits= 3 + + // Front climate panel RECIRCULATION button status + // 2 : "Button hold pressed" + // 1 : "Button pressed" + // 0 : "Button released" + uint8_t CCPF_RecButton_Stat : 2; // Bits= 2 + + // Button status of the heated windshield, front door windows and side mirrors + // 1 : "Pressed" + // 0 : "Not pressed" + uint8_t CCPF_FWindowHeatSw_Stat : 1; // Bits= 1 + + // Front climate panel right AUTO button status + // 2 : "Button hold pressed" + // 1 : "Button Pressed" + // 0 : "Button Released" + uint8_t CCPF_AutoButtonR_Stat : 2; // Bits= 2 + + // Mute button status and display FIU + // 2 : "MMS ON/OFF requested" + // 1 : "Mute ON/OFF requested" + // 0 : "Not requested" + uint8_t CCPF_MuteSw_Stat : 2; // Bits= 2 + + // Rear window heating switch status + // 1 : "Pressed" + // 0 : "Not pressed" + uint8_t CCPF_RWindowHeatSw_Stat : 1; // Bits= 1 + + // Front climate panel right TEMPERATURE toggle status + // 4 : "Toggle hold lowered " + // 3 : "Toggle hold raised " + // 2 : "Toggle lowered" + // 1 : "Toggle raised" + // 0 : "Toggle released" + uint8_t CCPF_TempToggleR_Stat : 3; // Bits= 3 + + // Volume ajustment switch status + // 2 : "Volume -" + // 1 : "Volume +" + // 0 : "Not pressed" + uint8_t CCPF_VolAjustSw_Stat : 2; // Bits= 2 + + // Front climate panel DEFROST button status + // 2 : "Button hold pressed" + // 1 : "Button pressed" + // 0 : "Button released" + uint8_t CCPF_DefButton_Stat : 2; // Bits= 2 + + // Front climate panel AC MAX button status + // 2 : "Button hold pressed " + // 1 : "Button pressed" + // 0 : "Button released" + uint8_t CCPF_AcMaxButton_Stat : 2; // Bits= 2 + +#else + + // Front climate panel left AUTO button status + // 2 : "Button hold pressed" + // 1 : "Button pressed" + // 0 : "Button released" + uint8_t CCPF_AutoButtonL_Stat; // Bits= 2 + + // Front climate panel left TEMPERATURE toggle status + // 4 : "Toggle hold lowered " + // 3 : "Toggle hold raised " + // 2 : "Toggle lowered" + // 1 : "Toggle raised" + // 0 : "Toggle released" + uint8_t CCPF_TempToggleL_Stat; // Bits= 3 + + // Front climate panel RECIRCULATION button status + // 2 : "Button hold pressed" + // 1 : "Button pressed" + // 0 : "Button released" + uint8_t CCPF_RecButton_Stat; // Bits= 2 + + // Button status of the heated windshield, front door windows and side mirrors + // 1 : "Pressed" + // 0 : "Not pressed" + uint8_t CCPF_FWindowHeatSw_Stat; // Bits= 1 + + // Front climate panel right AUTO button status + // 2 : "Button hold pressed" + // 1 : "Button Pressed" + // 0 : "Button Released" + uint8_t CCPF_AutoButtonR_Stat; // Bits= 2 + + // Mute button status and display FIU + // 2 : "MMS ON/OFF requested" + // 1 : "Mute ON/OFF requested" + // 0 : "Not requested" + uint8_t CCPF_MuteSw_Stat; // Bits= 2 + + // Rear window heating switch status + // 1 : "Pressed" + // 0 : "Not pressed" + uint8_t CCPF_RWindowHeatSw_Stat; // Bits= 1 + + // Front climate panel right TEMPERATURE toggle status + // 4 : "Toggle hold lowered " + // 3 : "Toggle hold raised " + // 2 : "Toggle lowered" + // 1 : "Toggle raised" + // 0 : "Toggle released" + uint8_t CCPF_TempToggleR_Stat; // Bits= 3 + + // Volume ajustment switch status + // 2 : "Volume -" + // 1 : "Volume +" + // 0 : "Not pressed" + uint8_t CCPF_VolAjustSw_Stat; // Bits= 2 + + // Front climate panel DEFROST button status + // 2 : "Button hold pressed" + // 1 : "Button pressed" + // 0 : "Button released" + uint8_t CCPF_DefButton_Stat; // Bits= 2 + + // Front climate panel AC MAX button status + // 2 : "Button hold pressed " + // 1 : "Button pressed" + // 0 : "Button released" + uint8_t CCPF_AcMaxButton_Stat; // Bits= 2 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} CCPF_BodyTM_Stat_t; + +// def @IntCOM_Info_Stat CAN Message (1523 0x5f3) +#define IntCOM_Info_Stat_IDE (0U) +#define IntCOM_Info_Stat_DLC (2U) +#define IntCOM_Info_Stat_CANID (0x5f3U) +#define IntCOM_Info_Stat_CYC (100U) + +// Value tables for @IntCOM_PowerLed_Cmd signal + +#ifndef IntCOM_PowerLed_Cmd_IntCOM_Info_Stat_Call_accepted +#define IntCOM_PowerLed_Cmd_IntCOM_Info_Stat_Call_accepted (2) +#endif + +#ifndef IntCOM_PowerLed_Cmd_IntCOM_Info_Stat_Incoming_call +#define IntCOM_PowerLed_Cmd_IntCOM_Info_Stat_Incoming_call (1) +#endif + +#ifndef IntCOM_PowerLed_Cmd_IntCOM_Info_Stat_Intercom_Off +#define IntCOM_PowerLed_Cmd_IntCOM_Info_Stat_Intercom_Off (0) +#endif + + +// Value tables for @IntCOM_Intercom_Req signal + +#ifndef IntCOM_Intercom_Req_IntCOM_Info_Stat_Inactive +#define IntCOM_Intercom_Req_IntCOM_Info_Stat_Inactive (0) +#endif + +#ifndef IntCOM_Intercom_Req_IntCOM_Info_Stat_Active +#define IntCOM_Intercom_Req_IntCOM_Info_Stat_Active (1) +#endif + + +// Value tables for @IntCOM_Extercom_Req signal + +#ifndef IntCOM_Extercom_Req_IntCOM_Info_Stat_Inactive +#define IntCOM_Extercom_Req_IntCOM_Info_Stat_Inactive (0) +#endif + +#ifndef IntCOM_Extercom_Req_IntCOM_Info_Stat_Active +#define IntCOM_Extercom_Req_IntCOM_Info_Stat_Active (1) +#endif + + +// Value tables for @IntCOM_Mute_Req signal + +#ifndef IntCOM_Mute_Req_IntCOM_Info_Stat_Inactive +#define IntCOM_Mute_Req_IntCOM_Info_Stat_Inactive (0) +#endif + +#ifndef IntCOM_Mute_Req_IntCOM_Info_Stat_Active +#define IntCOM_Mute_Req_IntCOM_Info_Stat_Active (1) +#endif + + +// Value tables for @IntCom_MIC_FL signal + +#ifndef IntCom_MIC_FL_IntCOM_Info_Stat_Error +#define IntCom_MIC_FL_IntCOM_Info_Stat_Error (1) +#endif + +#ifndef IntCom_MIC_FL_IntCOM_Info_Stat_Active +#define IntCom_MIC_FL_IntCOM_Info_Stat_Active (0) +#endif + + +// Value tables for @IntCom_MIC_FR signal + +#ifndef IntCom_MIC_FR_IntCOM_Info_Stat_Error +#define IntCom_MIC_FR_IntCOM_Info_Stat_Error (1) +#endif + +#ifndef IntCom_MIC_FR_IntCOM_Info_Stat_Active +#define IntCom_MIC_FR_IntCOM_Info_Stat_Active (0) +#endif + + +// Value tables for @IntCom_MIC_RL signal + +#ifndef IntCom_MIC_RL_IntCOM_Info_Stat_Error +#define IntCom_MIC_RL_IntCOM_Info_Stat_Error (1) +#endif + +#ifndef IntCom_MIC_RL_IntCOM_Info_Stat_Active +#define IntCom_MIC_RL_IntCOM_Info_Stat_Active (0) +#endif + + +// Value tables for @IntCom_MIC_RR signal + +#ifndef IntCom_MIC_RR_IntCOM_Info_Stat_Error +#define IntCom_MIC_RR_IntCOM_Info_Stat_Error (1) +#endif + +#ifndef IntCom_MIC_RR_IntCOM_Info_Stat_Active +#define IntCom_MIC_RR_IntCOM_Info_Stat_Active (0) +#endif + + +// Value tables for @IntCOM_ExtcomLMIC_Req signal + +#ifndef IntCOM_ExtcomLMIC_Req_IntCOM_Info_Stat_Inactive +#define IntCOM_ExtcomLMIC_Req_IntCOM_Info_Stat_Inactive (0) +#endif + +#ifndef IntCOM_ExtcomLMIC_Req_IntCOM_Info_Stat_Active +#define IntCOM_ExtcomLMIC_Req_IntCOM_Info_Stat_Active (1) +#endif + + +// Value tables for @IntCOM_ExtcomRMIC_Req signal + +#ifndef IntCOM_ExtcomRMIC_Req_IntCOM_Info_Stat_Inactive +#define IntCOM_ExtcomRMIC_Req_IntCOM_Info_Stat_Inactive (0) +#endif + +#ifndef IntCOM_ExtcomRMIC_Req_IntCOM_Info_Stat_Active +#define IntCOM_ExtcomRMIC_Req_IntCOM_Info_Stat_Active (1) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Intercom power LED indicator command + // 2 : "Call accepted" + // 1 : "Incoming call" + // 0 : "Intercom Off" + uint8_t IntCOM_PowerLed_Cmd : 2; // Bits= 2 + + // Status of the switched on Intercom. + // 0 : "Inactive" + // 1 : "Active" + uint8_t IntCOM_Intercom_Req : 1; // Bits= 1 + + // Status of the switched on Extercom. + // 0 : "Inactive" + // 1 : "Active" + uint8_t IntCOM_Extercom_Req : 1; // Bits= 1 + + // Mute command + // 0x0 = Mute Inactive + // 0x1 = Mute Active + // 0 : "Inactive" + // 1 : "Active" + uint8_t IntCOM_Mute_Req : 1; // Bits= 1 + + // Status of the Driver microphone + // 1 : "Error" + // 0 : "Active" + uint8_t IntCom_MIC_FL : 1; // Bits= 1 + + // Status of the front right passenger microphone + // 1 : "Error" + // 0 : "Active" + uint8_t IntCom_MIC_FR : 1; // Bits= 1 + + // Status of the rear left passenger microphone + // 1 : "Error" + // 0 : "Active" + uint8_t IntCom_MIC_RL : 1; // Bits= 1 + + // Status of the Rear right passenger microphone + // 1 : "Error" + // 0 : "Active" + uint8_t IntCom_MIC_RR : 1; // Bits= 1 + + // Status of the left microphone on Extercom + // 0 : "Inactive" + // 1 : "Active" + uint8_t IntCOM_ExtcomLMIC_Req : 1; // Bits= 1 + + // Status of the right microphone on Extercom + // 0 : "Inactive" + // 1 : "Active" + uint8_t IntCOM_ExtcomRMIC_Req : 1; // Bits= 1 + +#else + + // Intercom power LED indicator command + // 2 : "Call accepted" + // 1 : "Incoming call" + // 0 : "Intercom Off" + uint8_t IntCOM_PowerLed_Cmd; // Bits= 2 + + // Status of the switched on Intercom. + // 0 : "Inactive" + // 1 : "Active" + uint8_t IntCOM_Intercom_Req; // Bits= 1 + + // Status of the switched on Extercom. + // 0 : "Inactive" + // 1 : "Active" + uint8_t IntCOM_Extercom_Req; // Bits= 1 + + // Mute command + // 0x0 = Mute Inactive + // 0x1 = Mute Active + // 0 : "Inactive" + // 1 : "Active" + uint8_t IntCOM_Mute_Req; // Bits= 1 + + // Status of the Driver microphone + // 1 : "Error" + // 0 : "Active" + uint8_t IntCom_MIC_FL; // Bits= 1 + + // Status of the front right passenger microphone + // 1 : "Error" + // 0 : "Active" + uint8_t IntCom_MIC_FR; // Bits= 1 + + // Status of the rear left passenger microphone + // 1 : "Error" + // 0 : "Active" + uint8_t IntCom_MIC_RL; // Bits= 1 + + // Status of the Rear right passenger microphone + // 1 : "Error" + // 0 : "Active" + uint8_t IntCom_MIC_RR; // Bits= 1 + + // Status of the left microphone on Extercom + // 0 : "Inactive" + // 1 : "Active" + uint8_t IntCOM_ExtcomLMIC_Req; // Bits= 1 + + // Status of the right microphone on Extercom + // 0 : "Inactive" + // 1 : "Active" + uint8_t IntCOM_ExtcomRMIC_Req; // Bits= 1 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} IntCOM_Info_Stat_t; + +// def @LTE_Sum_State2 CAN Message (1527 0x5f7) +#define LTE_Sum_State2_IDE (0U) +#define LTE_Sum_State2_DLC (8U) +#define LTE_Sum_State2_CANID (0x5f7U) + +// Value tables for @LTE_FrameCode_Stat signal + +#ifndef LTE_FrameCode_Stat_LTE_Sum_State2_Flow_control_frame +#define LTE_FrameCode_Stat_LTE_Sum_State2_Flow_control_frame (3) +#endif + +#ifndef LTE_FrameCode_Stat_LTE_Sum_State2_Consecutive_frame +#define LTE_FrameCode_Stat_LTE_Sum_State2_Consecutive_frame (2) +#endif + +#ifndef LTE_FrameCode_Stat_LTE_Sum_State2_First_frame +#define LTE_FrameCode_Stat_LTE_Sum_State2_First_frame (1) +#endif + +#ifndef LTE_FrameCode_Stat_LTE_Sum_State2_Single_Frame +#define LTE_FrameCode_Stat_LTE_Sum_State2_Single_Frame (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // ISO-TP (ISO - 15765) + // 0x0 - The single frame transferred (>=7 bytes) + // 0x1 - The first frame of a multi-frame message packet + // 0x2 - A frame containing subsequent data for a multi-frame packet + // 0x3 - The response from the receiver, ack a First-frame segment + // 3 : "Flow control frame" + // 2 : "Consecutive frame" + // 1 : "First frame" + // 0 : "Single Frame" + // MULTIPLEX master signal + uint8_t LTE_FrameCode_Stat : 4; // Bits= 4 + + // ISO-TP (ISO - 15765) + // Flow control status + // multiplex variable + uint8_t LTE_Flow_Stat : 4; // Bits= 4 + + // ISO-TP (ISO - 15765) + // Frame number in multiframe transmission + // multiplex variable + uint8_t LTE_FrameNum_Val : 4; // Bits= 4 + + // ISO-TP (ISO - 15765) + // Multiframe data length + // multiplex variable + uint16_t LTE_DataLenM; // Bits=12 Unit:'bytes' + + // ISO-TP (ISO - 15765) + // Single frame data length + // multiplex variable + uint8_t LTE_DataLenS : 4; // Bits= 4 Unit:'bytes' + + // ISO-TP (ISO - 15765) + // The number of data blocks that will be transmitted before the next flow control message. + // multiplex variable + uint8_t LTE_BlockSize_Val; // Bits= 8 + + // ISO-TP (ISO - 15765) + // Data block. + // multiplex variable + uint64_t LTE_Data1_Val; // Bits=56 + + // ISO-TP (ISO - 15765) + // Data block. + // multiplex variable + uint64_t LTE_Data3_Val; // Bits=56 + + // ISO-TP (ISO-15765) + // Separation Time (ST), minimum delay time between frames (end of one frame and the beginning of the other) + // 0x00...0x7F = 0...127 ms + // 0xF1...0xF9 = 100...900 us + // multiplex variable + uint8_t LTE_MinSepTime_Val; // Bits= 8 + + // ISO-TP (ISO - 15765) + // Data block. + // multiplex variable + uint64_t LTE_Data2_Val; // Bits=48 + +#else + + // ISO-TP (ISO - 15765) + // 0x0 - The single frame transferred (>=7 bytes) + // 0x1 - The first frame of a multi-frame message packet + // 0x2 - A frame containing subsequent data for a multi-frame packet + // 0x3 - The response from the receiver, ack a First-frame segment + // 3 : "Flow control frame" + // 2 : "Consecutive frame" + // 1 : "First frame" + // 0 : "Single Frame" + // MULTIPLEX master signal + uint8_t LTE_FrameCode_Stat; // Bits= 4 + + // ISO-TP (ISO - 15765) + // Flow control status + // multiplex variable + uint8_t LTE_Flow_Stat; // Bits= 4 + + // ISO-TP (ISO - 15765) + // Frame number in multiframe transmission + // multiplex variable + uint8_t LTE_FrameNum_Val; // Bits= 4 + + // ISO-TP (ISO - 15765) + // Multiframe data length + // multiplex variable + uint16_t LTE_DataLenM; // Bits=12 Unit:'bytes' + + // ISO-TP (ISO - 15765) + // Single frame data length + // multiplex variable + uint8_t LTE_DataLenS; // Bits= 4 Unit:'bytes' + + // ISO-TP (ISO - 15765) + // The number of data blocks that will be transmitted before the next flow control message. + // multiplex variable + uint8_t LTE_BlockSize_Val; // Bits= 8 + + // ISO-TP (ISO - 15765) + // Data block. + // multiplex variable + uint64_t LTE_Data1_Val; // Bits=56 + + // ISO-TP (ISO - 15765) + // Data block. + // multiplex variable + uint64_t LTE_Data3_Val; // Bits=56 + + // ISO-TP (ISO-15765) + // Separation Time (ST), minimum delay time between frames (end of one frame and the beginning of the other) + // 0x00...0x7F = 0...127 ms + // 0xF1...0xF9 = 100...900 us + // multiplex variable + uint8_t LTE_MinSepTime_Val; // Bits= 8 + + // ISO-TP (ISO - 15765) + // Data block. + // multiplex variable + uint64_t LTE_Data2_Val; // Bits=48 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} LTE_Sum_State2_t; + +// def @WChF_FIU_TransferState CAN Message (1537 0x601) +#define WChF_FIU_TransferState_IDE (0U) +#define WChF_FIU_TransferState_DLC (8U) +#define WChF_FIU_TransferState_CANID (0x601U) + +// Value tables for @WChF_FrameCode_Stat signal + +#ifndef WChF_FrameCode_Stat_WChF_FIU_TransferState_Flow_control_frame +#define WChF_FrameCode_Stat_WChF_FIU_TransferState_Flow_control_frame (3) +#endif + +#ifndef WChF_FrameCode_Stat_WChF_FIU_TransferState_Consecutive_frame +#define WChF_FrameCode_Stat_WChF_FIU_TransferState_Consecutive_frame (2) +#endif + +#ifndef WChF_FrameCode_Stat_WChF_FIU_TransferState_First_frame +#define WChF_FrameCode_Stat_WChF_FIU_TransferState_First_frame (1) +#endif + +#ifndef WChF_FrameCode_Stat_WChF_FIU_TransferState_Single_Frame +#define WChF_FrameCode_Stat_WChF_FIU_TransferState_Single_Frame (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // ISO-TP (ISO - 15765) + // Flow control status + // multiplex variable + uint8_t WChF_Flow_Stat : 4; // Bits= 4 + + // ISO-TP (ISO - 15765) + // Frame number in multiframe transmission + // multiplex variable + uint8_t WChF_FrameNum_Val : 4; // Bits= 4 + + // ISO-TP (ISO - 15765) + // Multiframe data length + // multiplex variable + uint16_t WChF_DataLenM; // Bits=12 Unit:'bytes' + + // ISO-TP (ISO - 15765) + // Single frame data length + // multiplex variable + uint8_t WChF_DataLenS : 4; // Bits= 4 Unit:'bytes' + + // ISO-TP (ISO - 15765) + // 0x0 - The single frame transferred (>=7 bytes) + // 0x1 - The first frame of a multi-frame message packet + // 0x2 - A frame containing subsequent data for a multi-frame packet + // 0x3 - The response from the receiver, ack a First-frame segment + // 3 : "Flow control frame" + // 2 : "Consecutive frame" + // 1 : "First frame" + // 0 : "Single Frame" + // MULTIPLEX master signal + uint8_t WChF_FrameCode_Stat : 4; // Bits= 4 + + // ISO-TP (ISO - 15765) + // The number of data blocks that will be transmitted before the next flow control message. + // multiplex variable + uint8_t WChF_BlockSize_Val; // Bits= 8 + + // ISO-TP (ISO - 15765) + // Data block. + // multiplex variable + uint64_t WChF_Data1_Val; // Bits=56 + + // ISO-TP (ISO - 15765) + // Data block. + // multiplex variable + uint64_t WChF_Data3_Val; // Bits=56 + + // ISO-TP (ISO-15765) + // Separation Time (ST), minimum delay time between frames (end of one frame and the beginning of the other) + // 0x00...0x7F = 0...127 ms + // 0xF1...0xF9 = 100...900 us + // multiplex variable + uint8_t WChF_MinSepTime_Val; // Bits= 8 + + // ISO-TP (ISO - 15765) + // Data block. + // multiplex variable + uint64_t WChF_Data2_Val; // Bits=48 + +#else + + // ISO-TP (ISO - 15765) + // Flow control status + // multiplex variable + uint8_t WChF_Flow_Stat; // Bits= 4 + + // ISO-TP (ISO - 15765) + // Frame number in multiframe transmission + // multiplex variable + uint8_t WChF_FrameNum_Val; // Bits= 4 + + // ISO-TP (ISO - 15765) + // Multiframe data length + // multiplex variable + uint16_t WChF_DataLenM; // Bits=12 Unit:'bytes' + + // ISO-TP (ISO - 15765) + // Single frame data length + // multiplex variable + uint8_t WChF_DataLenS; // Bits= 4 Unit:'bytes' + + // ISO-TP (ISO - 15765) + // 0x0 - The single frame transferred (>=7 bytes) + // 0x1 - The first frame of a multi-frame message packet + // 0x2 - A frame containing subsequent data for a multi-frame packet + // 0x3 - The response from the receiver, ack a First-frame segment + // 3 : "Flow control frame" + // 2 : "Consecutive frame" + // 1 : "First frame" + // 0 : "Single Frame" + // MULTIPLEX master signal + uint8_t WChF_FrameCode_Stat; // Bits= 4 + + // ISO-TP (ISO - 15765) + // The number of data blocks that will be transmitted before the next flow control message. + // multiplex variable + uint8_t WChF_BlockSize_Val; // Bits= 8 + + // ISO-TP (ISO - 15765) + // Data block. + // multiplex variable + uint64_t WChF_Data1_Val; // Bits=56 + + // ISO-TP (ISO - 15765) + // Data block. + // multiplex variable + uint64_t WChF_Data3_Val; // Bits=56 + + // ISO-TP (ISO-15765) + // Separation Time (ST), minimum delay time between frames (end of one frame and the beginning of the other) + // 0x00...0x7F = 0...127 ms + // 0xF1...0xF9 = 100...900 us + // multiplex variable + uint8_t WChF_MinSepTime_Val; // Bits= 8 + + // ISO-TP (ISO - 15765) + // Data block. + // multiplex variable + uint64_t WChF_Data2_Val; // Bits=48 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} WChF_FIU_TransferState_t; + +// def @FIU_WChF_TransferState CAN Message (1540 0x604) +#define FIU_WChF_TransferState_IDE (0U) +#define FIU_WChF_TransferState_DLC (8U) +#define FIU_WChF_TransferState_CANID (0x604U) + +// Value tables for @FIU_Flow_Stat signal + +#ifndef FIU_Flow_Stat_FIU_WChF_TransferState_Overflowabort +#define FIU_Flow_Stat_FIU_WChF_TransferState_Overflowabort (2) +#endif + +#ifndef FIU_Flow_Stat_FIU_WChF_TransferState_Continie_to_send +#define FIU_Flow_Stat_FIU_WChF_TransferState_Continie_to_send (0) +#endif + +#ifndef FIU_Flow_Stat_FIU_WChF_TransferState_Wait +#define FIU_Flow_Stat_FIU_WChF_TransferState_Wait (1) +#endif + + +// Value tables for @FIU_FrameCode_Stat signal + +#ifndef FIU_FrameCode_Stat_FIU_WChF_TransferState_Flow_control_frame +#define FIU_FrameCode_Stat_FIU_WChF_TransferState_Flow_control_frame (3) +#endif + +#ifndef FIU_FrameCode_Stat_FIU_WChF_TransferState_Consecutive_frame +#define FIU_FrameCode_Stat_FIU_WChF_TransferState_Consecutive_frame (2) +#endif + +#ifndef FIU_FrameCode_Stat_FIU_WChF_TransferState_First_frame +#define FIU_FrameCode_Stat_FIU_WChF_TransferState_First_frame (1) +#endif + +#ifndef FIU_FrameCode_Stat_FIU_WChF_TransferState_Single_Frame +#define FIU_FrameCode_Stat_FIU_WChF_TransferState_Single_Frame (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // ISO-TP (ISO - 15765) + // Flow control status + // 2 : "Overflow/abort" + // 0 : "Continie to send" + // 1 : "Wait" + // multiplex variable + uint8_t FIU_Flow_Stat : 4; // Bits= 4 + + // ISO-TP (ISO - 15765) + // Frame number in multiframe transmission + // multiplex variable + uint8_t FIU_FrameNum_Val : 4; // Bits= 4 + + // ISO-TP (ISO - 15765) + // Multiframe data length + // multiplex variable + uint16_t FIU_DataLenM; // Bits=12 Unit:'bytes' + + // ISO-TP (ISO - 15765) + // Single frame data length + // multiplex variable + uint8_t FIU_DataLenS : 4; // Bits= 4 Unit:'bytes' + + // ISO-TP (ISO - 15765) + // 0x0 - The single frame transferred (>=7 bytes) + // 0x1 - The first frame of a multi-frame message packet + // 0x2 - A frame containing subsequent data for a multi-frame packet + // 0x3 - The response from the receiver, ack a First-frame segment + // 3 : "Flow control frame" + // 2 : "Consecutive frame" + // 1 : "First frame" + // 0 : "Single Frame" + // MULTIPLEX master signal + uint8_t FIU_FrameCode_Stat : 4; // Bits= 4 + + // ISO-TP (ISO - 15765) + // The number of data blocks that will be transmitted before the next flow control message. + // multiplex variable + uint8_t FIU_BlockSize_Val; // Bits= 8 + + // ISO-TP (ISO - 15765) + // Data block. + // multiplex variable + uint64_t FIU_Data1_Val; // Bits=56 + + // ISO-TP (ISO - 15765) + // Data block. + // multiplex variable + uint64_t FIU_Data3_Val; // Bits=56 + + // ISO-TP (ISO-15765) + // Separation Time (ST), minimum delay time between frames (end of one frame and the beginning of the other) + // 0x00...0x7F = 0...127 ms + // 0xF1...0xF9 = 100...900 us + // multiplex variable + uint8_t FIU_MinSepTime_Val; // Bits= 8 + + // ISO-TP (ISO - 15765) + // Data block. + // multiplex variable + uint64_t FIU_Data2_Val; // Bits=48 + +#else + + // ISO-TP (ISO - 15765) + // Flow control status + // 2 : "Overflow/abort" + // 0 : "Continie to send" + // 1 : "Wait" + // multiplex variable + uint8_t FIU_Flow_Stat; // Bits= 4 + + // ISO-TP (ISO - 15765) + // Frame number in multiframe transmission + // multiplex variable + uint8_t FIU_FrameNum_Val; // Bits= 4 + + // ISO-TP (ISO - 15765) + // Multiframe data length + // multiplex variable + uint16_t FIU_DataLenM; // Bits=12 Unit:'bytes' + + // ISO-TP (ISO - 15765) + // Single frame data length + // multiplex variable + uint8_t FIU_DataLenS; // Bits= 4 Unit:'bytes' + + // ISO-TP (ISO - 15765) + // 0x0 - The single frame transferred (>=7 bytes) + // 0x1 - The first frame of a multi-frame message packet + // 0x2 - A frame containing subsequent data for a multi-frame packet + // 0x3 - The response from the receiver, ack a First-frame segment + // 3 : "Flow control frame" + // 2 : "Consecutive frame" + // 1 : "First frame" + // 0 : "Single Frame" + // MULTIPLEX master signal + uint8_t FIU_FrameCode_Stat; // Bits= 4 + + // ISO-TP (ISO - 15765) + // The number of data blocks that will be transmitted before the next flow control message. + // multiplex variable + uint8_t FIU_BlockSize_Val; // Bits= 8 + + // ISO-TP (ISO - 15765) + // Data block. + // multiplex variable + uint64_t FIU_Data1_Val; // Bits=56 + + // ISO-TP (ISO - 15765) + // Data block. + // multiplex variable + uint64_t FIU_Data3_Val; // Bits=56 + + // ISO-TP (ISO-15765) + // Separation Time (ST), minimum delay time between frames (end of one frame and the beginning of the other) + // 0x00...0x7F = 0...127 ms + // 0xF1...0xF9 = 100...900 us + // multiplex variable + uint8_t FIU_MinSepTime_Val; // Bits= 8 + + // ISO-TP (ISO - 15765) + // Data block. + // multiplex variable + uint64_t FIU_Data2_Val; // Bits=48 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} FIU_WChF_TransferState_t; + +// def @VAU_BLE_Device CAN Message (1570 0x622) +#define VAU_BLE_Device_IDE (0U) +#define VAU_BLE_Device_DLC (8U) +#define VAU_BLE_Device_CANID (0x622U) + +// Value tables for @VAU_BLEZoneLoc_Stat signal + +#ifndef VAU_BLEZoneLoc_Stat_VAU_BLE_Device_Rear_Side +#define VAU_BLEZoneLoc_Stat_VAU_BLE_Device_Rear_Side (10) +#endif + +#ifndef VAU_BLEZoneLoc_Stat_VAU_BLE_Device_RR_Outside +#define VAU_BLEZoneLoc_Stat_VAU_BLE_Device_RR_Outside (9) +#endif + +#ifndef VAU_BLEZoneLoc_Stat_VAU_BLE_Device_RL_Outside +#define VAU_BLEZoneLoc_Stat_VAU_BLE_Device_RL_Outside (8) +#endif + +#ifndef VAU_BLEZoneLoc_Stat_VAU_BLE_Device_FR_Outside +#define VAU_BLEZoneLoc_Stat_VAU_BLE_Device_FR_Outside (7) +#endif + +#ifndef VAU_BLEZoneLoc_Stat_VAU_BLE_Device_FL_Outside +#define VAU_BLEZoneLoc_Stat_VAU_BLE_Device_FL_Outside (6) +#endif + +#ifndef VAU_BLEZoneLoc_Stat_VAU_BLE_Device_TrunkCompartment +#define VAU_BLEZoneLoc_Stat_VAU_BLE_Device_TrunkCompartment (5) +#endif + +#ifndef VAU_BLEZoneLoc_Stat_VAU_BLE_Device_RR_Cabin +#define VAU_BLEZoneLoc_Stat_VAU_BLE_Device_RR_Cabin (4) +#endif + +#ifndef VAU_BLEZoneLoc_Stat_VAU_BLE_Device_RL_Cabin +#define VAU_BLEZoneLoc_Stat_VAU_BLE_Device_RL_Cabin (3) +#endif + +#ifndef VAU_BLEZoneLoc_Stat_VAU_BLE_Device_FR_Cabin +#define VAU_BLEZoneLoc_Stat_VAU_BLE_Device_FR_Cabin (2) +#endif + +#ifndef VAU_BLEZoneLoc_Stat_VAU_BLE_Device_FL_Cabin +#define VAU_BLEZoneLoc_Stat_VAU_BLE_Device_FL_Cabin (1) +#endif + +#ifndef VAU_BLEZoneLoc_Stat_VAU_BLE_Device_Not_located_in_Vehicle_area +#define VAU_BLEZoneLoc_Stat_VAU_BLE_Device_Not_located_in_Vehicle_area (0) +#endif + + +// Value tables for @VAU_BLEDevice_ID signal + +#ifndef VAU_BLEDevice_ID_VAU_BLE_Device_Reserved +#define VAU_BLEDevice_ID_VAU_BLE_Device_Reserved (7) +#endif + +#ifndef VAU_BLEDevice_ID_VAU_BLE_Device_Reserved +#define VAU_BLEDevice_ID_VAU_BLE_Device_Reserved (6) +#endif + +#ifndef VAU_BLEDevice_ID_VAU_BLE_Device_Smartphone_5 +#define VAU_BLEDevice_ID_VAU_BLE_Device_Smartphone_5 (5) +#endif + +#ifndef VAU_BLEDevice_ID_VAU_BLE_Device_Smartphone_4 +#define VAU_BLEDevice_ID_VAU_BLE_Device_Smartphone_4 (4) +#endif + +#ifndef VAU_BLEDevice_ID_VAU_BLE_Device_Smartphone_3 +#define VAU_BLEDevice_ID_VAU_BLE_Device_Smartphone_3 (3) +#endif + +#ifndef VAU_BLEDevice_ID_VAU_BLE_Device_Smartphone_2 +#define VAU_BLEDevice_ID_VAU_BLE_Device_Smartphone_2 (2) +#endif + +#ifndef VAU_BLEDevice_ID_VAU_BLE_Device_Smartphone_1 +#define VAU_BLEDevice_ID_VAU_BLE_Device_Smartphone_1 (1) +#endif + +#ifndef VAU_BLEDevice_ID_VAU_BLE_Device_Not_detected +#define VAU_BLEDevice_ID_VAU_BLE_Device_Not_detected (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // The zone in which the smartphone was detected + // 10 : "Rear_Side" + // 9 : "RR_Outside" + // 8 : "RL_Outside" + // 7 : "FR_Outside" + // 6 : "FL_Outside" + // 5 : "TrunkCompartment" + // 4 : "RR_Cabin" + // 3 : "RL_Cabin" + // 2 : "FR_Cabin" + // 1 : "FL_Cabin" + // 0 : "Not located in Vehicle area" + uint8_t VAU_BLEZoneLoc_Stat : 4; // Bits= 4 + + // Value of BLE pairing password + uint32_t VAU_BLEPassword_Val; // Bits=20 + + // ID of detected smartphone + // 7 : "Reserved" + // 6 : "Reserved" + // 5 : "Smartphone 5" + // 4 : "Smartphone 4" + // 3 : "Smartphone 3" + // 2 : "Smartphone 2" + // 1 : "Smartphone 1" + // 0 : "Not detected" + uint8_t VAU_BLEDevice_ID : 3; // Bits= 3 + +#else + + // The zone in which the smartphone was detected + // 10 : "Rear_Side" + // 9 : "RR_Outside" + // 8 : "RL_Outside" + // 7 : "FR_Outside" + // 6 : "FL_Outside" + // 5 : "TrunkCompartment" + // 4 : "RR_Cabin" + // 3 : "RL_Cabin" + // 2 : "FR_Cabin" + // 1 : "FL_Cabin" + // 0 : "Not located in Vehicle area" + uint8_t VAU_BLEZoneLoc_Stat; // Bits= 4 + + // Value of BLE pairing password + uint32_t VAU_BLEPassword_Val; // Bits=20 + + // ID of detected smartphone + // 7 : "Reserved" + // 6 : "Reserved" + // 5 : "Smartphone 5" + // 4 : "Smartphone 4" + // 3 : "Smartphone 3" + // 2 : "Smartphone 2" + // 1 : "Smartphone 1" + // 0 : "Not detected" + uint8_t VAU_BLEDevice_ID; // Bits= 3 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} VAU_BLE_Device_t; + +// Diagnostic message +// def @Diag_From_APU CAN Message (1584 0x630) +#define Diag_From_APU_IDE (0U) +#define Diag_From_APU_DLC (8U) +#define Diag_From_APU_CANID (0x630U) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_From_APU; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_From_APU; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_From_APU_t; + +// def @SSL_Status CAN Message (1680 0x690) +#define SSL_Status_IDE (0U) +#define SSL_Status_DLC (1U) +#define SSL_Status_CANID (0x690U) +#define SSL_Status_CYC (200U) + +// Value tables for @SSL_FootrestAutoClose_Req signal + +#ifndef SSL_FootrestAutoClose_Req_SSL_Status_Close_footrest +#define SSL_FootrestAutoClose_Req_SSL_Status_Close_footrest (1) +#endif + +#ifndef SSL_FootrestAutoClose_Req_SSL_Status_No_action +#define SSL_FootrestAutoClose_Req_SSL_Status_No_action (0) +#endif + + +// Value tables for @SSL_Position_Stat signal + +#ifndef SSL_Position_Stat_SSL_Status_Error +#define SSL_Position_Stat_SSL_Status_Error (4) +#endif + +#ifndef SSL_Position_Stat_SSL_Status_Intermediate_running +#define SSL_Position_Stat_SSL_Status_Intermediate_running (3) +#endif + +#ifndef SSL_Position_Stat_SSL_Status_Straponten_open +#define SSL_Position_Stat_SSL_Status_Straponten_open (2) +#endif + +#ifndef SSL_Position_Stat_SSL_Status_Cushion_open +#define SSL_Position_Stat_SSL_Status_Cushion_open (1) +#endif + +#ifndef SSL_Position_Stat_SSL_Status_Close +#define SSL_Position_Stat_SSL_Status_Close (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Footrest autoclosing status + // Close the footrest in automatic mode (when opening the straponten) + // 1 : "Close footrest" + // 0 : "No action" + uint8_t SSL_FootrestAutoClose_Req : 1; // Bits= 1 + + // Straponten position status + // 4 : "Error" + // 3 : "Intermediate (running)" + // 2 : "Straponten open" + // 1 : "Cushion open" + // 0 : "Close" + uint8_t SSL_Position_Stat : 3; // Bits= 3 + +#else + + // Footrest autoclosing status + // Close the footrest in automatic mode (when opening the straponten) + // 1 : "Close footrest" + // 0 : "No action" + uint8_t SSL_FootrestAutoClose_Req; // Bits= 1 + + // Straponten position status + // 4 : "Error" + // 3 : "Intermediate (running)" + // 2 : "Straponten open" + // 1 : "Cushion open" + // 0 : "Close" + uint8_t SSL_Position_Stat; // Bits= 3 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} SSL_Status_t; + +// def @SSR_Status CAN Message (1681 0x691) +#define SSR_Status_IDE (0U) +#define SSR_Status_DLC (1U) +#define SSR_Status_CANID (0x691U) +#define SSR_Status_CYC (200U) + +// Value tables for @SSR_FootrestAutoClose_Req signal + +#ifndef SSR_FootrestAutoClose_Req_SSR_Status_Close_footrest +#define SSR_FootrestAutoClose_Req_SSR_Status_Close_footrest (1) +#endif + +#ifndef SSR_FootrestAutoClose_Req_SSR_Status_No_action +#define SSR_FootrestAutoClose_Req_SSR_Status_No_action (0) +#endif + + +// Value tables for @SSR_Position_Stat signal + +#ifndef SSR_Position_Stat_SSR_Status_Error +#define SSR_Position_Stat_SSR_Status_Error (4) +#endif + +#ifndef SSR_Position_Stat_SSR_Status_Intermediate_running +#define SSR_Position_Stat_SSR_Status_Intermediate_running (3) +#endif + +#ifndef SSR_Position_Stat_SSR_Status_Straponten_open +#define SSR_Position_Stat_SSR_Status_Straponten_open (2) +#endif + +#ifndef SSR_Position_Stat_SSR_Status_Cushion_open +#define SSR_Position_Stat_SSR_Status_Cushion_open (1) +#endif + +#ifndef SSR_Position_Stat_SSR_Status_Close +#define SSR_Position_Stat_SSR_Status_Close (0) +#endif + + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Footrest autoclosing status + // Close the footrest in automatic mode (when opening the straponten) + // 1 : "Close footrest" + // 0 : "No action" + uint8_t SSR_FootrestAutoClose_Req : 1; // Bits= 1 + + // Straponten position status + // 4 : "Error" + // 3 : "Intermediate (running)" + // 2 : "Straponten open" + // 1 : "Cushion open" + // 0 : "Close" + uint8_t SSR_Position_Stat : 3; // Bits= 3 + +#else + + // Footrest autoclosing status + // Close the footrest in automatic mode (when opening the straponten) + // 1 : "Close footrest" + // 0 : "No action" + uint8_t SSR_FootrestAutoClose_Req; // Bits= 1 + + // Straponten position status + // 4 : "Error" + // 3 : "Intermediate (running)" + // 2 : "Straponten open" + // 1 : "Cushion open" + // 0 : "Close" + uint8_t SSR_Position_Stat; // Bits= 3 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} SSR_Status_t; + +// Attention! Message ID 0x6D0 also uses BCM for XCP connection. +// def @PTG_To_SupplierTool CAN Message (1744 0x6d0) +#define PTG_To_SupplierTool_IDE (0U) +#define PTG_To_SupplierTool_DLC (8U) +#define PTG_To_SupplierTool_CANID (0x6d0U) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // This signal uses for calibration PTG unit. + // Attention! Message ID 0x6D0 also uses BCM for XCP connection. + uint64_t PTG_To_SupplierTool_Sig; // Bits=64 + +#else + + // This signal uses for calibration PTG unit. + // Attention! Message ID 0x6D0 also uses BCM for XCP connection. + uint64_t PTG_To_SupplierTool_Sig; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} PTG_To_SupplierTool_t; + +// Attention! Message ID 0x6D1 also uses DMFL for XCP connection. +// def @SupplierTool_To_PTG CAN Message (1745 0x6d1) +#define SupplierTool_To_PTG_IDE (0U) +#define SupplierTool_To_PTG_DLC (8U) +#define SupplierTool_To_PTG_CANID (0x6d1U) +#define SupplierTool_To_PTG_CYC (100U) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // This signal uses for calibration PTG unit. + // Attention! Message ID 0x6D1 also uses DMFL for XCP connection. + uint64_t SupplierTool_To_PTG_Sig; // Bits=64 + +#else + + // This signal uses for calibration PTG unit. + // Attention! Message ID 0x6D1 also uses DMFL for XCP connection. + uint64_t SupplierTool_To_PTG_Sig; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} SupplierTool_To_PTG_t; + +// Diagnostic message +// def @Diag_From_CCPF CAN Message (1793 0x701) +#define Diag_From_CCPF_IDE (0U) +#define Diag_From_CCPF_DLC (8U) +#define Diag_From_CCPF_CANID (0x701U) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_From_CCPF; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_From_CCPF; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_From_CCPF_t; + +// Diagnostic message +// def @Diag_To_CCPF CAN Message (1794 0x702) +#define Diag_To_CCPF_IDE (0U) +#define Diag_To_CCPF_DLC (8U) +#define Diag_To_CCPF_CANID (0x702U) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_To_CCPF; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_To_CCPF; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_To_CCPF_t; + +// Diagnostic message +// def @Diag_From_CCPR CAN Message (1795 0x703) +#define Diag_From_CCPR_IDE (0U) +#define Diag_From_CCPR_DLC (8U) +#define Diag_From_CCPR_CANID (0x703U) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_From_CCPR; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_From_CCPR; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_From_CCPR_t; + +// Diagnostic message +// def @Diag_To_CCPR CAN Message (1796 0x704) +#define Diag_To_CCPR_IDE (0U) +#define Diag_To_CCPR_DLC (8U) +#define Diag_To_CCPR_CANID (0x704U) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_To_CCPR; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_To_CCPR; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_To_CCPR_t; + +// def @Diag_To_SSL CAN Message (1798 0x706) +#define Diag_To_SSL_IDE (0U) +#define Diag_To_SSL_DLC (8U) +#define Diag_To_SSL_CANID (0x706U) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_To_SSL; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_To_SSL; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_To_SSL_t; + +// def @Diag_To_SSR CAN Message (1801 0x709) +#define Diag_To_SSR_IDE (0U) +#define Diag_To_SSR_DLC (8U) +#define Diag_To_SSR_CANID (0x709U) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_To_SSR; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_To_SSR; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_To_SSR_t; + +// def @Diag_From_SSL CAN Message (1814 0x716) +#define Diag_From_SSL_IDE (0U) +#define Diag_From_SSL_DLC (8U) +#define Diag_From_SSL_CANID (0x716U) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_From_SSL; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_From_SSL; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_From_SSL_t; + +// Diagnostic message +// def @Diag_To_FCSilCU CAN Message (1816 0x718) +#define Diag_To_FCSilCU_IDE (0U) +#define Diag_To_FCSilCU_DLC (8U) +#define Diag_To_FCSilCU_CANID (0x718U) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_To_FCSilCU; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_To_FCSilCU; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_To_FCSilCU_t; + +// def @Diag_From_SSR CAN Message (1817 0x719) +#define Diag_From_SSR_IDE (0U) +#define Diag_From_SSR_DLC (8U) +#define Diag_From_SSR_CANID (0x719U) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_From_SSR; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_From_SSR; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_From_SSR_t; + +// Diagnostic message +// def @Diag_To_FLDSilCU CAN Message (1820 0x71c) +#define Diag_To_FLDSilCU_IDE (0U) +#define Diag_To_FLDSilCU_DLC (8U) +#define Diag_To_FLDSilCU_CANID (0x71cU) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_To_FLDSilCU; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_To_FLDSilCU; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_To_FLDSilCU_t; + +// Diagnostic message +// def @Diag_To_FRDSilCU CAN Message (1821 0x71d) +#define Diag_To_FRDSilCU_IDE (0U) +#define Diag_To_FRDSilCU_DLC (8U) +#define Diag_To_FRDSilCU_CANID (0x71dU) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_To_FRDSilCU; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_To_FRDSilCU; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_To_FRDSilCU_t; + +// Diagnostic message +// def @Diag_To_ICLSilCU CAN Message (1824 0x720) +#define Diag_To_ICLSilCU_IDE (0U) +#define Diag_To_ICLSilCU_DLC (8U) +#define Diag_To_ICLSilCU_CANID (0x720U) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_To_ICLSilCU; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_To_ICLSilCU; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_To_ICLSilCU_t; + +// Diagnostic message +// def @Diag_From_FCSilCU CAN Message (1832 0x728) +#define Diag_From_FCSilCU_IDE (0U) +#define Diag_From_FCSilCU_DLC (8U) +#define Diag_From_FCSilCU_CANID (0x728U) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_From_FCSilCU; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_From_FCSilCU; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_From_FCSilCU_t; + +// Diagnostic message +// def @Diag_From_FLDSilCU CAN Message (1836 0x72c) +#define Diag_From_FLDSilCU_IDE (0U) +#define Diag_From_FLDSilCU_DLC (8U) +#define Diag_From_FLDSilCU_CANID (0x72cU) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_From_FLDSilCU; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_From_FLDSilCU; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_From_FLDSilCU_t; + +// Diagnostic message +// def @Diag_From_FRDSilCU CAN Message (1837 0x72d) +#define Diag_From_FRDSilCU_IDE (0U) +#define Diag_From_FRDSilCU_DLC (8U) +#define Diag_From_FRDSilCU_CANID (0x72dU) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_From_FRDSilCU; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_From_FRDSilCU; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_From_FRDSilCU_t; + +// Diagnostic message +// def @Diag_From_ICLSilCU CAN Message (1838 0x72e) +#define Diag_From_ICLSilCU_IDE (0U) +#define Diag_From_ICLSilCU_DLC (8U) +#define Diag_From_ICLSilCU_CANID (0x72eU) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_From_ICLSilCU; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_From_ICLSilCU; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_From_ICLSilCU_t; + +// Diagnostic message +// def @Diag_To_APU CAN Message (1840 0x730) +#define Diag_To_APU_IDE (0U) +#define Diag_To_APU_DLC (8U) +#define Diag_To_APU_CANID (0x730U) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_To_APU; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_To_APU; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_To_APU_t; + +// Diagnostic message +// def @Diag_To_FTCU CAN Message (1850 0x73a) +#define Diag_To_FTCU_IDE (0U) +#define Diag_To_FTCU_DLC (8U) +#define Diag_To_FTCU_CANID (0x73aU) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_To_FTCU_Sig; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_To_FTCU_Sig; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_To_FTCU_t; + +// Diagnostic message +// def @Diag_From_FTCU CAN Message (1866 0x74a) +#define Diag_From_FTCU_IDE (0U) +#define Diag_From_FTCU_DLC (8U) +#define Diag_From_FTCU_CANID (0x74aU) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_From_FTCU; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_From_FTCU; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_From_FTCU_t; + +// Diagnostic message +// def @Diag_To_Sroof CAN Message (1903 0x76f) +#define Diag_To_Sroof_IDE (0U) +#define Diag_To_Sroof_DLC (8U) +#define Diag_To_Sroof_CANID (0x76fU) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_To_Sroof; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_To_Sroof; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_To_Sroof_t; + +// Diagnostic message +// def @Diag_From_SRoof CAN Message (1919 0x77f) +#define Diag_From_SRoof_IDE (0U) +#define Diag_From_SRoof_DLC (8U) +#define Diag_From_SRoof_CANID (0x77fU) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_From_SRoof; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_From_SRoof; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_From_SRoof_t; + +// Diagnostic message +// def @Diag_To_ICRSilCU CAN Message (1924 0x784) +#define Diag_To_ICRSilCU_IDE (0U) +#define Diag_To_ICRSilCU_DLC (8U) +#define Diag_To_ICRSilCU_CANID (0x784U) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_To_ICRSilCU; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_To_ICRSilCU; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_To_ICRSilCU_t; + +// Diagnostic message +// def @Diag_To_LB_pSilCU CAN Message (1927 0x787) +#define Diag_To_LB_pSilCU_IDE (0U) +#define Diag_To_LB_pSilCU_DLC (8U) +#define Diag_To_LB_pSilCU_CANID (0x787U) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_To_LB_pSilCU; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_To_LB_pSilCU; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_To_LB_pSilCU_t; + +// Diagnostic message +// def @Diag_To_PLSilCU CAN Message (1928 0x788) +#define Diag_To_PLSilCU_IDE (0U) +#define Diag_To_PLSilCU_DLC (8U) +#define Diag_To_PLSilCU_CANID (0x788U) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_To_PLSilCU; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_To_PLSilCU; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_To_PLSilCU_t; + +// Diagnostic message +// def @Diag_To_PRSilCU CAN Message (1929 0x789) +#define Diag_To_PRSilCU_IDE (0U) +#define Diag_To_PRSilCU_DLC (8U) +#define Diag_To_PRSilCU_CANID (0x789U) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_To_PRSilCU; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_To_PRSilCU; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_To_PRSilCU_t; + +// Diagnostic message +// def @Diag_To_RB_pSilCU CAN Message (1932 0x78c) +#define Diag_To_RB_pSilCU_IDE (0U) +#define Diag_To_RB_pSilCU_DLC (8U) +#define Diag_To_RB_pSilCU_CANID (0x78cU) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_To_RB_pSilCU; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_To_RB_pSilCU; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_To_RB_pSilCU_t; + +// Diagnostic message +// def @Diag_From_ICRSilCU CAN Message (1940 0x794) +#define Diag_From_ICRSilCU_IDE (0U) +#define Diag_From_ICRSilCU_DLC (8U) +#define Diag_From_ICRSilCU_CANID (0x794U) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_From_ICRSilCU; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_From_ICRSilCU; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_From_ICRSilCU_t; + +// Diagnostic message +// def @Diag_From_LB_pSilCU CAN Message (1943 0x797) +#define Diag_From_LB_pSilCU_IDE (0U) +#define Diag_From_LB_pSilCU_DLC (8U) +#define Diag_From_LB_pSilCU_CANID (0x797U) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_From_LB_pSilCU; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_From_LB_pSilCU; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_From_LB_pSilCU_t; + +// Diagnostic message +// def @Diag_From_PLSilCU CAN Message (1944 0x798) +#define Diag_From_PLSilCU_IDE (0U) +#define Diag_From_PLSilCU_DLC (8U) +#define Diag_From_PLSilCU_CANID (0x798U) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_From_PLSilCU; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_From_PLSilCU; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_From_PLSilCU_t; + +// Diagnostic message +// def @Diag_From_PRSilCU CAN Message (1945 0x799) +#define Diag_From_PRSilCU_IDE (0U) +#define Diag_From_PRSilCU_DLC (8U) +#define Diag_From_PRSilCU_CANID (0x799U) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_From_PRSilCU; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_From_PRSilCU; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_From_PRSilCU_t; + +// Diagnostic message +// def @Diag_From_RB_pSilCU CAN Message (1948 0x79c) +#define Diag_From_RB_pSilCU_IDE (0U) +#define Diag_From_RB_pSilCU_DLC (8U) +#define Diag_From_RB_pSilCU_CANID (0x79cU) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_From_RB_pSilCU; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_From_RB_pSilCU; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_From_RB_pSilCU_t; + +// Diagnostic message +// def @Diag_To_VAU CAN Message (1952 0x7a0) +#define Diag_To_VAU_IDE (0U) +#define Diag_To_VAU_DLC (8U) +#define Diag_To_VAU_CANID (0x7a0U) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_To_VAU_Sig; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_To_VAU_Sig; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_To_VAU_t; + +// Diagnostic message +// def @Diag_To_BCM CAN Message (1955 0x7a3) +#define Diag_To_BCM_IDE (0U) +#define Diag_To_BCM_DLC (8U) +#define Diag_To_BCM_CANID (0x7a3U) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_To_BCM_Sig; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_To_BCM_Sig; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_To_BCM_t; + +// Diagnostic message +// def @Diag_To_DMFL CAN Message (1956 0x7a4) +#define Diag_To_DMFL_IDE (0U) +#define Diag_To_DMFL_DLC (8U) +#define Diag_To_DMFL_CANID (0x7a4U) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_To_DMFL_Sig; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_To_DMFL_Sig; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_To_DMFL_t; + +// Diagnostic message +// def @Diag_To_DMFR CAN Message (1957 0x7a5) +#define Diag_To_DMFR_IDE (0U) +#define Diag_To_DMFR_DLC (8U) +#define Diag_To_DMFR_CANID (0x7a5U) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_To_DMFR_Sig; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_To_DMFR_Sig; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_To_DMFR_t; + +// Diagnostic message +// def @Diag_To_DMRL CAN Message (1958 0x7a6) +#define Diag_To_DMRL_IDE (0U) +#define Diag_To_DMRL_DLC (8U) +#define Diag_To_DMRL_CANID (0x7a6U) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_To_DMRL_Sig; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_To_DMRL_Sig; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_To_DMRL_t; + +// Diagnostic message +// def @Diag_To_DMRR CAN Message (1959 0x7a7) +#define Diag_To_DMRR_IDE (0U) +#define Diag_To_DMRR_DLC (8U) +#define Diag_To_DMRR_CANID (0x7a7U) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_To_DMRR_Sig; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_To_DMRR_Sig; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_To_DMRR_t; + +// Diagnostic message +// def @Diag_To_SMRR CAN Message (1961 0x7a9) +#define Diag_To_SMRR_IDE (0U) +#define Diag_To_SMRR_DLC (8U) +#define Diag_To_SMRR_CANID (0x7a9U) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_To_SMRR_Sig; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_To_SMRR_Sig; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_To_SMRR_t; + +// Diagnostic message +// def @Diag_To_TM CAN Message (1962 0x7aa) +#define Diag_To_TM_IDE (0U) +#define Diag_To_TM_DLC (8U) +#define Diag_To_TM_CANID (0x7aaU) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_To_TMDTM_Sig; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_To_TMDTM_Sig; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_To_TM_t; + // Diagnostic message // def @Diag_To_CCU CAN Message (1963 0x7ab) #define Diag_To_CCU_IDE (0U) @@ -8629,6 +55179,314 @@ typedef struct } Diag_To_CCU_t; +// Diagnostic message +// def @Diag_To_SMFL CAN Message (1965 0x7ad) +#define Diag_To_SMFL_IDE (0U) +#define Diag_To_SMFL_DLC (8U) +#define Diag_To_SMFL_CANID (0x7adU) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_To_SMFL_Sig; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_To_SMFL_Sig; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_To_SMFL_t; + +// Diagnostic message +// def @Diag_To_SMFR CAN Message (1966 0x7ae) +#define Diag_To_SMFR_IDE (0U) +#define Diag_To_SMFR_DLC (8U) +#define Diag_To_SMFR_CANID (0x7aeU) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_To_SMFR_Sig; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_To_SMFR_Sig; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_To_SMFR_t; + +// Diagnostic message +// def @Diag_To_SMRL CAN Message (1967 0x7af) +#define Diag_To_SMRL_IDE (0U) +#define Diag_To_SMRL_DLC (8U) +#define Diag_To_SMRL_CANID (0x7afU) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_To_SMRL_Sig; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_To_SMRL_Sig; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_To_SMRL_t; + +// Diagnostic message +// def @Diag_From_VAU CAN Message (1968 0x7b0) +#define Diag_From_VAU_IDE (0U) +#define Diag_From_VAU_DLC (8U) +#define Diag_From_VAU_CANID (0x7b0U) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_From_VAU_Sig; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_From_VAU_Sig; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_From_VAU_t; + +// Diagnostic message +// def @Diag_From_BCM CAN Message (1971 0x7b3) +#define Diag_From_BCM_IDE (0U) +#define Diag_From_BCM_DLC (8U) +#define Diag_From_BCM_CANID (0x7b3U) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_From_BCM_Sig; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_From_BCM_Sig; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_From_BCM_t; + +// Diagnostic message +// def @Diag_From_DMFL CAN Message (1972 0x7b4) +#define Diag_From_DMFL_IDE (0U) +#define Diag_From_DMFL_DLC (8U) +#define Diag_From_DMFL_CANID (0x7b4U) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_From_DMFL_Sig; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_From_DMFL_Sig; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_From_DMFL_t; + +// Diagnostic message +// def @Diag_From_DMFR CAN Message (1973 0x7b5) +#define Diag_From_DMFR_IDE (0U) +#define Diag_From_DMFR_DLC (8U) +#define Diag_From_DMFR_CANID (0x7b5U) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_From_DMFR_Sig; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_From_DMFR_Sig; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_From_DMFR_t; + +// Diagnostic message +// def @Diag_From_DMRL CAN Message (1974 0x7b6) +#define Diag_From_DMRL_IDE (0U) +#define Diag_From_DMRL_DLC (8U) +#define Diag_From_DMRL_CANID (0x7b6U) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_From_DMRL_Sig; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_From_DMRL_Sig; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_From_DMRL_t; + +// Diagnostic message +// def @Diag_From_DMRR CAN Message (1975 0x7b7) +#define Diag_From_DMRR_IDE (0U) +#define Diag_From_DMRR_DLC (8U) +#define Diag_From_DMRR_CANID (0x7b7U) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_From_DMRR_Sig; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_From_DMRR_Sig; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_From_DMRR_t; + +// Diagnostic message +// def @Diag_From_SMRR CAN Message (1977 0x7b9) +#define Diag_From_SMRR_IDE (0U) +#define Diag_From_SMRR_DLC (8U) +#define Diag_From_SMRR_CANID (0x7b9U) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_From_SMRR_Sig; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_From_SMRR_Sig; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_From_SMRR_t; + +// Diagnostic message +// def @Diag_From_TM CAN Message (1978 0x7ba) +#define Diag_From_TM_IDE (0U) +#define Diag_From_TM_DLC (8U) +#define Diag_From_TM_CANID (0x7baU) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_From_TM; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_From_TM; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_From_TM_t; + // Diagnostic message // def @Diag_From_CCU CAN Message (1979 0x7bb) #define Diag_From_CCU_IDE (0U) @@ -8657,6 +55515,706 @@ typedef struct } Diag_From_CCU_t; +// Diagnostic message +// def @Diag_From_SMFL CAN Message (1981 0x7bd) +#define Diag_From_SMFL_IDE (0U) +#define Diag_From_SMFL_DLC (8U) +#define Diag_From_SMFL_CANID (0x7bdU) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_From_SMFL_Sig; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_From_SMFL_Sig; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_From_SMFL_t; + +// Diagnostic message +// def @Diag_From_SMFR CAN Message (1982 0x7be) +#define Diag_From_SMFR_IDE (0U) +#define Diag_From_SMFR_DLC (8U) +#define Diag_From_SMFR_CANID (0x7beU) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_From_SMFR_Sig; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_From_SMFR_Sig; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_From_SMFR_t; + +// Diagnostic message +// def @Diag_From_SMRL CAN Message (1983 0x7bf) +#define Diag_From_SMRL_IDE (0U) +#define Diag_From_SMRL_DLC (8U) +#define Diag_From_SMRL_CANID (0x7bfU) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_From_SMRL_Sig; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_From_SMRL_Sig; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_From_SMRL_t; + +// Diagnostic message +// def @Diag_To_RCLSilCU CAN Message (1985 0x7c1) +#define Diag_To_RCLSilCU_IDE (0U) +#define Diag_To_RCLSilCU_DLC (8U) +#define Diag_To_RCLSilCU_CANID (0x7c1U) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_To_RCLSilCU; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_To_RCLSilCU; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_To_RCLSilCU_t; + +// Diagnostic message +// def @Diag_To_RCRSilCU CAN Message (1986 0x7c2) +#define Diag_To_RCRSilCU_IDE (0U) +#define Diag_To_RCRSilCU_DLC (8U) +#define Diag_To_RCRSilCU_CANID (0x7c2U) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_To_RCRSilCU; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_To_RCRSilCU; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_To_RCRSilCU_t; + +// Diagnostic message +// def @Diag_To_RDLSilCU CAN Message (1987 0x7c3) +#define Diag_To_RDLSilCU_IDE (0U) +#define Diag_To_RDLSilCU_DLC (8U) +#define Diag_To_RDLSilCU_CANID (0x7c3U) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_To_RDLSilCU; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_To_RDLSilCU; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_To_RDLSilCU_t; + +// Diagnostic message +// def @Diag_To_RDRSilCU CAN Message (1988 0x7c4) +#define Diag_To_RDRSilCU_IDE (0U) +#define Diag_To_RDRSilCU_DLC (8U) +#define Diag_To_RDRSilCU_CANID (0x7c4U) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_To_RDRSilCU; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_To_RDRSilCU; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_To_RDRSilCU_t; + +// Diagnostic message +// def @Diag_From_OCUFL CAN Message (1990 0x7c6) +#define Diag_From_OCUFL_IDE (0U) +#define Diag_From_OCUFL_DLC (8U) +#define Diag_From_OCUFL_CANID (0x7c6U) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_From_OCUFL; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_From_OCUFL; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_From_OCUFL_t; + +// Diagnostic message +// def @Diag_To_RLDSilCU CAN Message (1992 0x7c8) +#define Diag_To_RLDSilCU_IDE (0U) +#define Diag_To_RLDSilCU_DLC (8U) +#define Diag_To_RLDSilCU_CANID (0x7c8U) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_To_RLDSilCU; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_To_RLDSilCU; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_To_RLDSilCU_t; + +// Diagnostic message +// def @Diag_To_RRDSilCU CAN Message (1993 0x7c9) +#define Diag_To_RRDSilCU_IDE (0U) +#define Diag_To_RRDSilCU_DLC (8U) +#define Diag_To_RRDSilCU_CANID (0x7c9U) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_To_RRDSilCU; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_To_RRDSilCU; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_To_RRDSilCU_t; + +// Diagnostic message +// def @Diag_From_PTG CAN Message (1995 0x7cb) +#define Diag_From_PTG_IDE (0U) +#define Diag_From_PTG_DLC (8U) +#define Diag_From_PTG_CANID (0x7cbU) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_From_PTG; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_From_PTG; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_From_PTG_t; + +// Diagnostic message +// def @Diag_From_OCUFR CAN Message (1996 0x7cc) +#define Diag_From_OCUFR_IDE (0U) +#define Diag_From_OCUFR_DLC (8U) +#define Diag_From_OCUFR_CANID (0x7ccU) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_From_OCUFR; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_From_OCUFR; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_From_OCUFR_t; + +// Diagnostic message +// def @Diag_From_OCURL CAN Message (1997 0x7cd) +#define Diag_From_OCURL_IDE (0U) +#define Diag_From_OCURL_DLC (8U) +#define Diag_From_OCURL_CANID (0x7cdU) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_From_OCURL; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_From_OCURL; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_From_OCURL_t; + +// Diagnostic message +// def @Diag_From_OCURR CAN Message (1998 0x7ce) +#define Diag_From_OCURR_IDE (0U) +#define Diag_From_OCURR_DLC (8U) +#define Diag_From_OCURR_CANID (0x7ceU) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_From_OCURR; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_From_OCURR; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_From_OCURR_t; + +// Diagnostic message +// def @Diag_From_RCLSilCU CAN Message (2001 0x7d1) +#define Diag_From_RCLSilCU_IDE (0U) +#define Diag_From_RCLSilCU_DLC (8U) +#define Diag_From_RCLSilCU_CANID (0x7d1U) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_From_RCLSilCU; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_From_RCLSilCU; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_From_RCLSilCU_t; + +// Diagnostic message +// def @Diag_From_RCRSilCU CAN Message (2002 0x7d2) +#define Diag_From_RCRSilCU_IDE (0U) +#define Diag_From_RCRSilCU_DLC (8U) +#define Diag_From_RCRSilCU_CANID (0x7d2U) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_From_RCRSilCU; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_From_RCRSilCU; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_From_RCRSilCU_t; + +// Diagnostic message +// def @Diag_From_RDLSilCU CAN Message (2003 0x7d3) +#define Diag_From_RDLSilCU_IDE (0U) +#define Diag_From_RDLSilCU_DLC (8U) +#define Diag_From_RDLSilCU_CANID (0x7d3U) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_From_RDLSilCU; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_From_RDLSilCU; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_From_RDLSilCU_t; + +// Diagnostic message +// def @Diag_From_RDRSilCU CAN Message (2004 0x7d4) +#define Diag_From_RDRSilCU_IDE (0U) +#define Diag_From_RDRSilCU_DLC (8U) +#define Diag_From_RDRSilCU_CANID (0x7d4U) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_From_RDRSilCU; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_From_RDRSilCU; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_From_RDRSilCU_t; + +// Diagnostic message +// def @Diag_To_OCUFL CAN Message (2006 0x7d6) +#define Diag_To_OCUFL_IDE (0U) +#define Diag_To_OCUFL_DLC (8U) +#define Diag_To_OCUFL_CANID (0x7d6U) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_To_OCUFL; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_To_OCUFL; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_To_OCUFL_t; + +// Diagnostic message +// def @Diag_From_RLDSilCU CAN Message (2008 0x7d8) +#define Diag_From_RLDSilCU_IDE (0U) +#define Diag_From_RLDSilCU_DLC (8U) +#define Diag_From_RLDSilCU_CANID (0x7d8U) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_From_RLDSilCU; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_From_RLDSilCU; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_From_RLDSilCU_t; + +// Diagnostic message +// def @Diag_From_RRDSilCU CAN Message (2009 0x7d9) +#define Diag_From_RRDSilCU_IDE (0U) +#define Diag_From_RRDSilCU_DLC (8U) +#define Diag_From_RRDSilCU_CANID (0x7d9U) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_From_RRDSilCU; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_From_RRDSilCU; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_From_RRDSilCU_t; + +// Diagnostic message +// def @Diag_To_PTG CAN Message (2011 0x7db) +#define Diag_To_PTG_IDE (0U) +#define Diag_To_PTG_DLC (8U) +#define Diag_To_PTG_CANID (0x7dbU) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_To_PTG; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_To_PTG; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_To_PTG_t; + +// Diagnostic message +// def @Diag_To_OCUFR CAN Message (2012 0x7dc) +#define Diag_To_OCUFR_IDE (0U) +#define Diag_To_OCUFR_DLC (8U) +#define Diag_To_OCUFR_CANID (0x7dcU) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_To_OCUFR; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_To_OCUFR; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_To_OCUFR_t; + +// Diagnostic message +// def @Diag_To_OCURL CAN Message (2013 0x7dd) +#define Diag_To_OCURL_IDE (0U) +#define Diag_To_OCURL_DLC (8U) +#define Diag_To_OCURL_CANID (0x7ddU) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_To_OCURL; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_To_OCURL; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_To_OCURL_t; + +// Diagnostic message +// def @Diag_To_OCURR CAN Message (2014 0x7de) +#define Diag_To_OCURR_IDE (0U) +#define Diag_To_OCURR_DLC (8U) +#define Diag_To_OCURR_CANID (0x7deU) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_To_OCURR; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_To_OCURR; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_To_OCURR_t; + // Diagnostic message // def @Diag_Functional CAN Message (2015 0x7df) #define Diag_Functional_IDE (0U) @@ -8685,382 +56243,23 @@ typedef struct } Diag_Functional_t; -// def @HVC_01 CAN Message (419395865 0x18ff7919) -#define HVC_01_IDE (1U) -#define HVC_01_DLC (8U) -#define HVC_01_CANID (0x18ff7919U) -#define HVC_01_CYC (100U) - -// Value tables for @HVC_ActSpeed_Val signal - -#ifndef HVC_ActSpeed_Val_HVC_01_Invalid -#define HVC_ActSpeed_Val_HVC_01_Invalid (65535) -#endif - -// signal: @HVC_ActTemp_Val_ro -#define CANDB_HVC_ActTemp_Val_ro_CovFactor (2) -#define CANDB_HVC_ActTemp_Val_ro_toS(x) ( (uint8_t) (((x) - (-40)) / (2)) ) -#define CANDB_HVC_ActTemp_Val_ro_fromS(x) ( (((x) * (2)) + (-40)) ) - -// Value tables for @HVC_OvTemp_Stat signal - -#ifndef HVC_OvTemp_Stat_HVC_01_Fault -#define HVC_OvTemp_Stat_HVC_01_Fault (1) -#endif - -#ifndef HVC_OvTemp_Stat_HVC_01_Normal -#define HVC_OvTemp_Stat_HVC_01_Normal (0) -#endif - - -// Value tables for @HVC_ActMode_Stat signal - -#ifndef HVC_ActMode_Stat_HVC_01_Error -#define HVC_ActMode_Stat_HVC_01_Error (2) -#endif - -#ifndef HVC_ActMode_Stat_HVC_01_Active -#define HVC_ActMode_Stat_HVC_01_Active (1) -#endif - -#ifndef HVC_ActMode_Stat_HVC_01_Standby -#define HVC_ActMode_Stat_HVC_01_Standby (0) -#endif - - -// Value tables for @HVC_FaultLvl_Stat signal - -#ifndef HVC_FaultLvl_Stat_HVC_01_Level_3_failure -#define HVC_FaultLvl_Stat_HVC_01_Level_3_failure (3) -#endif - -#ifndef HVC_FaultLvl_Stat_HVC_01_Level_2_failure -#define HVC_FaultLvl_Stat_HVC_01_Level_2_failure (2) -#endif - -#ifndef HVC_FaultLvl_Stat_HVC_01_Level_1_failure -#define HVC_FaultLvl_Stat_HVC_01_Level_1_failure (1) -#endif - -#ifndef HVC_FaultLvl_Stat_HVC_01_No_trouble -#define HVC_FaultLvl_Stat_HVC_01_No_trouble (0) -#endif - - -// Value tables for @HVC_OvSpeed_Stat signal - -#ifndef HVC_OvSpeed_Stat_HVC_01_Fault -#define HVC_OvSpeed_Stat_HVC_01_Fault (1) -#endif - -#ifndef HVC_OvSpeed_Stat_HVC_01_Normal -#define HVC_OvSpeed_Stat_HVC_01_Normal (0) -#endif - - -// Value tables for @CCM2_LossStepErr_Stat signal - -#ifndef CCM2_LossStepErr_Stat_HVC_01_Fault -#define CCM2_LossStepErr_Stat_HVC_01_Fault (1) -#endif - -#ifndef CCM2_LossStepErr_Stat_HVC_01_Normal -#define CCM2_LossStepErr_Stat_HVC_01_Normal (0) -#endif - - -// Value tables for @HVC_OvLoadErr_Stat signal - -#ifndef HVC_OvLoadErr_Stat_HVC_01_Fault -#define HVC_OvLoadErr_Stat_HVC_01_Fault (1) -#endif - -#ifndef HVC_OvLoadErr_Stat_HVC_01_Normal -#define HVC_OvLoadErr_Stat_HVC_01_Normal (0) -#endif - - -// Value tables for @HVC_IGBTErr_Stat signal - -#ifndef HVC_IGBTErr_Stat_HVC_01_Fault -#define HVC_IGBTErr_Stat_HVC_01_Fault (1) -#endif - -#ifndef HVC_IGBTErr_Stat_HVC_01_Normal -#define HVC_IGBTErr_Stat_HVC_01_Normal (0) -#endif - - -// Value tables for @HVC_ErrCode_Stat signal - -#ifndef HVC_ErrCode_Stat_HVC_01_Over_Temperature_Drop_speed -#define HVC_ErrCode_Stat_HVC_01_Over_Temperature_Drop_speed (132) -#endif - -#ifndef HVC_ErrCode_Stat_HVC_01_Over_Temperature -#define HVC_ErrCode_Stat_HVC_01_Over_Temperature (131) -#endif - -#ifndef HVC_ErrCode_Stat_HVC_01_ADC_Error -#define HVC_ErrCode_Stat_HVC_01_ADC_Error (130) -#endif - -#ifndef HVC_ErrCode_Stat_HVC_01_Speed_Error -#define HVC_ErrCode_Stat_HVC_01_Speed_Error (129) -#endif - -#ifndef HVC_ErrCode_Stat_HVC_01_Over_power_Drop_Frequency -#define HVC_ErrCode_Stat_HVC_01_Over_power_Drop_Frequency (128) -#endif - -#ifndef HVC_ErrCode_Stat_HVC_01_Over_current_Drop_Frequeney -#define HVC_ErrCode_Stat_HVC_01_Over_current_Drop_Frequeney (64) -#endif - -#ifndef HVC_ErrCode_Stat_HVC_01_Communication_Error -#define HVC_ErrCode_Stat_HVC_01_Communication_Error (32) -#endif - -#ifndef HVC_ErrCode_Stat_HVC_01_Standby_Under_Voltage -#define HVC_ErrCode_Stat_HVC_01_Standby_Under_Voltage (16) -#endif - -#ifndef HVC_ErrCode_Stat_HVC_01_Standby_Over_Voltage -#define HVC_ErrCode_Stat_HVC_01_Standby_Over_Voltage (8) -#endif - -#ifndef HVC_ErrCode_Stat_HVC_01_Under_Voltage -#define HVC_ErrCode_Stat_HVC_01_Under_Voltage (4) -#endif - -#ifndef HVC_ErrCode_Stat_HVC_01_Over_Voltage -#define HVC_ErrCode_Stat_HVC_01_Over_Voltage (2) -#endif - -#ifndef HVC_ErrCode_Stat_HVC_01_Over_current -#define HVC_ErrCode_Stat_HVC_01_Over_current (1) -#endif - -#ifndef HVC_ErrCode_Stat_HVC_01_No_error -#define HVC_ErrCode_Stat_HVC_01_No_error (0) -#endif - -// signal: @HVC_PhaCurrA_Val_ro -#define CANDB_HVC_PhaCurrA_Val_ro_CovFactor (0.16) -#define CANDB_HVC_PhaCurrA_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.16)) ) -#define CANDB_HVC_PhaCurrA_Val_ro_fromS(x) ( (((x) * (0.16)) + (0.0)) ) -// signal: @HVC_ActCurr_Val_ro -#define CANDB_HVC_ActCurr_Val_ro_CovFactor (0.1) -#define CANDB_HVC_ActCurr_Val_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.1)) ) -#define CANDB_HVC_ActCurr_Val_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) -// signal: @HVC_ActVolt_Val_ro -#define CANDB_HVC_ActVolt_Val_ro_CovFactor (4) -#define CANDB_HVC_ActVolt_Val_ro_toS(x) ( (uint8_t) ((x) / (4)) ) -#define CANDB_HVC_ActVolt_Val_ro_fromS(x) ( ((x) * (4)) ) +// Diagnostic message +// def @Diag_To_SFRSilCU CAN Message (2021 0x7e5) +#define Diag_To_SFRSilCU_IDE (0U) +#define Diag_To_SFRSilCU_DLC (8U) +#define Diag_To_SFRSilCU_CANID (0x7e5U) typedef struct { #ifdef CANDB_USE_BITS_SIGNAL - // ACActualSpeed - // AC actual speed - // 65535 : "Invalid" - uint16_t HVC_ActSpeed_Val; // Bits=16 Unit:'rpm' - - // EACTemp - // controller temperature - uint8_t HVC_ActTemp_Val_ro : 7; // Bits= 7 Offset= -40 Factor= 2 Unit:'�C' - -#ifdef CANDB_USE_SIGFLOAT - int16_t HVC_ActTemp_Val_phys; -#endif // CANDB_USE_SIGFLOAT - - // CCM2_OverTempErr - // over temperature fault - // 1 : "Fault" - // 0 : "Normal" - uint8_t HVC_OvTemp_Stat : 1; // Bits= 1 - - // AC_WorkSt - // AC working status - // 2 : "Error" - // 1 : "Active" - // 0 : "Standby" - uint8_t HVC_ActMode_Stat : 2; // Bits= 2 - - // AC_FaultLevel - // Compressor failure class - // 3 : "Level 3 failure" - // 2 : "Level 2 failure" - // 1 : "Level 1 failure" - // 0 : "No trouble" - uint8_t HVC_FaultLvl_Stat : 2; // Bits= 2 - - // CCM2_OverSpeedErr - // Abnormal speed fault - // 1 : "Fault" - // 0 : "Normal" - uint8_t HVC_OvSpeed_Stat : 1; // Bits= 1 - - // CCM2_LossStepErr - // out of sync failure - // 1 : "Fault" - // 0 : "Normal" - uint8_t CCM2_LossStepErr_Stat : 1; // Bits= 1 - - // CCM2_OverLoadError - // overload fault - // 1 : "Fault" - // 0 : "Normal" - uint8_t HVC_OvLoadErr_Stat : 1; // Bits= 1 - - // IGBTErr - // Power tube failure - // 1 : "Fault" - // 0 : "Normal" - uint8_t HVC_IGBTErr_Stat : 1; // Bits= 1 - - // AC_ErrorCode - // AC fault code - // 132 : "Over Temperature Drop speed" - // 131 : "Over Temperature" - // 130 : "ADC Error" - // 129 : "Speed Error" - // 128 : "Over power Drop Frequency" - // 64 : "Over current Drop Frequeney" - // 32 : "Communication Error" - // 16 : "Standby Under Voltage" - // 8 : "Standby Over Voltage" - // 4 : "Under Voltage" - // 2 : "Over Voltage" - // 1 : "Over current" - // 0 : "No error" - uint8_t HVC_ErrCode_Stat; // Bits= 8 - - // AC_PhaCur_A - // phase current - uint8_t HVC_PhaCurrA_Val_ro; // Bits= 8 Factor= 0.16 Unit:'A' - -#ifdef CANDB_USE_SIGFLOAT - sigfloat_t HVC_PhaCurrA_Val_phys; -#endif // CANDB_USE_SIGFLOAT - - // AC_Current - // AC current - uint8_t HVC_ActCurr_Val_ro; // Bits= 8 Factor= 0.1 Unit:'A' - -#ifdef CANDB_USE_SIGFLOAT - sigfloat_t HVC_ActCurr_Val_phys; -#endif // CANDB_USE_SIGFLOAT - - // AC_Voltage - // AC voltage - uint8_t HVC_ActVolt_Val_ro; // Bits= 8 Factor= 4 Unit:'V' - -#ifdef CANDB_USE_SIGFLOAT - uint16_t HVC_ActVolt_Val_phys; -#endif // CANDB_USE_SIGFLOAT + // Diagnostic signal + uint64_t Diag_To_SFRSilCU; // Bits=64 #else - // ACActualSpeed - // AC actual speed - // 65535 : "Invalid" - uint16_t HVC_ActSpeed_Val; // Bits=16 Unit:'rpm' - - // EACTemp - // controller temperature - uint8_t HVC_ActTemp_Val_ro; // Bits= 7 Offset= -40 Factor= 2 Unit:'�C' - -#ifdef CANDB_USE_SIGFLOAT - int16_t HVC_ActTemp_Val_phys; -#endif // CANDB_USE_SIGFLOAT - - // CCM2_OverTempErr - // over temperature fault - // 1 : "Fault" - // 0 : "Normal" - uint8_t HVC_OvTemp_Stat; // Bits= 1 - - // AC_WorkSt - // AC working status - // 2 : "Error" - // 1 : "Active" - // 0 : "Standby" - uint8_t HVC_ActMode_Stat; // Bits= 2 - - // AC_FaultLevel - // Compressor failure class - // 3 : "Level 3 failure" - // 2 : "Level 2 failure" - // 1 : "Level 1 failure" - // 0 : "No trouble" - uint8_t HVC_FaultLvl_Stat; // Bits= 2 - - // CCM2_OverSpeedErr - // Abnormal speed fault - // 1 : "Fault" - // 0 : "Normal" - uint8_t HVC_OvSpeed_Stat; // Bits= 1 - - // CCM2_LossStepErr - // out of sync failure - // 1 : "Fault" - // 0 : "Normal" - uint8_t CCM2_LossStepErr_Stat; // Bits= 1 - - // CCM2_OverLoadError - // overload fault - // 1 : "Fault" - // 0 : "Normal" - uint8_t HVC_OvLoadErr_Stat; // Bits= 1 - - // IGBTErr - // Power tube failure - // 1 : "Fault" - // 0 : "Normal" - uint8_t HVC_IGBTErr_Stat; // Bits= 1 - - // AC_ErrorCode - // AC fault code - // 132 : "Over Temperature Drop speed" - // 131 : "Over Temperature" - // 130 : "ADC Error" - // 129 : "Speed Error" - // 128 : "Over power Drop Frequency" - // 64 : "Over current Drop Frequeney" - // 32 : "Communication Error" - // 16 : "Standby Under Voltage" - // 8 : "Standby Over Voltage" - // 4 : "Under Voltage" - // 2 : "Over Voltage" - // 1 : "Over current" - // 0 : "No error" - uint8_t HVC_ErrCode_Stat; // Bits= 8 - - // AC_PhaCur_A - // phase current - uint8_t HVC_PhaCurrA_Val_ro; // Bits= 8 Factor= 0.16 Unit:'A' - -#ifdef CANDB_USE_SIGFLOAT - sigfloat_t HVC_PhaCurrA_Val_phys; -#endif // CANDB_USE_SIGFLOAT - - // AC_Current - // AC current - uint8_t HVC_ActCurr_Val_ro; // Bits= 8 Factor= 0.1 Unit:'A' - -#ifdef CANDB_USE_SIGFLOAT - sigfloat_t HVC_ActCurr_Val_phys; -#endif // CANDB_USE_SIGFLOAT - - // AC_Voltage - // AC voltage - uint8_t HVC_ActVolt_Val_ro; // Bits= 8 Factor= 4 Unit:'V' - -#ifdef CANDB_USE_SIGFLOAT - uint16_t HVC_ActVolt_Val_phys; -#endif // CANDB_USE_SIGFLOAT + // Diagnostic signal + uint64_t Diag_To_SFRSilCU; // Bits=64 #endif // CANDB_USE_BITS_SIGNAL @@ -9070,7 +56269,203 @@ typedef struct #endif // CANDB_USE_DIAG_MONITORS -} HVC_01_t; +} Diag_To_SFRSilCU_t; + +// Diagnostic message +// def @Diag_To_SFLSilCU CAN Message (2023 0x7e7) +#define Diag_To_SFLSilCU_IDE (0U) +#define Diag_To_SFLSilCU_DLC (8U) +#define Diag_To_SFLSilCU_CANID (0x7e7U) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_To_SFLSilCU; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_To_SFLSilCU; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_To_SFLSilCU_t; + +// Diagnostic message +// def @Diag_To_WHFL CAN Message (2032 0x7f0) +#define Diag_To_WHFL_IDE (0U) +#define Diag_To_WHFL_DLC (8U) +#define Diag_To_WHFL_CANID (0x7f0U) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_To_WHFL; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_To_WHFL; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_To_WHFL_t; + +// Diagnostic message +// def @Diag_To_WHFR CAN Message (2033 0x7f1) +#define Diag_To_WHFR_IDE (0U) +#define Diag_To_WHFR_DLC (8U) +#define Diag_To_WHFR_CANID (0x7f1U) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_To_WHFR; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_To_WHFR; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_To_WHFR_t; + +// Diagnostic message +// def @Diag_From_SFRSilCU CAN Message (2037 0x7f5) +#define Diag_From_SFRSilCU_IDE (0U) +#define Diag_From_SFRSilCU_DLC (8U) +#define Diag_From_SFRSilCU_CANID (0x7f5U) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_From_SFRSilCU; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_From_SFRSilCU; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_From_SFRSilCU_t; + +// Diagnostic message +// def @Diag_From_SFLSilCU CAN Message (2039 0x7f7) +#define Diag_From_SFLSilCU_IDE (0U) +#define Diag_From_SFLSilCU_DLC (8U) +#define Diag_From_SFLSilCU_CANID (0x7f7U) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_From_SFLSilCU; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_From_SFLSilCU; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_From_SFLSilCU_t; + +// Diagnostic message +// def @Diag_From_WHFL CAN Message (2040 0x7f8) +#define Diag_From_WHFL_IDE (0U) +#define Diag_From_WHFL_DLC (8U) +#define Diag_From_WHFL_CANID (0x7f8U) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_From_WHFL; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_From_WHFL; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_From_WHFL_t; + +// Diagnostic message +// def @Diag_From_WHFR CAN Message (2041 0x7f9) +#define Diag_From_WHFR_IDE (0U) +#define Diag_From_WHFR_DLC (8U) +#define Diag_From_WHFR_CANID (0x7f9U) + +typedef struct +{ +#ifdef CANDB_USE_BITS_SIGNAL + + // Diagnostic signal + uint64_t Diag_From_WHFR; // Bits=64 + +#else + + // Diagnostic signal + uint64_t Diag_From_WHFR; // Bits=64 + +#endif // CANDB_USE_BITS_SIGNAL + +#ifdef CANDB_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_USE_DIAG_MONITORS + +} Diag_From_WHFR_t; // def @CCU_AC_Ctrl CAN Message (419426816 0x18fff200) #define CCU_AC_Ctrl_IDE (1U) @@ -9144,6 +56539,125 @@ typedef struct // Function signatures +uint32_t Unpack_SDM_MAS_Req_candb(SDM_MAS_Req_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_SDM_MAS_Req_candb(SDM_MAS_Req_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_SDM_MAS_Req_candb(SDM_MAS_Req_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_EMS_VCU_VAU_Immo_Req_candb(EMS_VCU_VAU_Immo_Req_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_EMS_VCU_VAU_Immo_Req_candb(EMS_VCU_VAU_Immo_Req_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_EMS_VCU_VAU_Immo_Req_candb(EMS_VCU_VAU_Immo_Req_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_TCU_VAU_Immo_Req_candb(TCU_VAU_Immo_Req_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_TCU_VAU_Immo_Req_candb(TCU_VAU_Immo_Req_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_TCU_VAU_Immo_Req_candb(TCU_VAU_Immo_Req_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_VAU2_NFC_TransferState_candb(VAU2_NFC_TransferState_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_VAU2_NFC_TransferState_candb(VAU2_NFC_TransferState_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_VAU2_NFC_TransferState_candb(VAU2_NFC_TransferState_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_VAU_TCU_Hash_Resp_candb(VAU_TCU_Hash_Resp_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_VAU_TCU_Hash_Resp_candb(VAU_TCU_Hash_Resp_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_VAU_TCU_Hash_Resp_candb(VAU_TCU_Hash_Resp_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_VAU_EMS_VCU_Hash_Resp_candb(VAU_EMS_VCU_Hash_Resp_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_VAU_EMS_VCU_Hash_Resp_candb(VAU_EMS_VCU_Hash_Resp_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_VAU_EMS_VCU_Hash_Resp_candb(VAU_EMS_VCU_Hash_Resp_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_VAU2_INVRL_Hash_Resp_candb(VAU2_INVRL_Hash_Resp_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_VAU2_INVRL_Hash_Resp_candb(VAU2_INVRL_Hash_Resp_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_VAU2_INVRL_Hash_Resp_candb(VAU2_INVRL_Hash_Resp_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_WChF_NFC_VAU_Transfer_State_candb(WChF_NFC_VAU_Transfer_State_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_WChF_NFC_VAU_Transfer_State_candb(WChF_NFC_VAU_Transfer_State_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_WChF_NFC_VAU_Transfer_State_candb(WChF_NFC_VAU_Transfer_State_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_VAU2_INVRR_Hash_Resp_candb(VAU2_INVRR_Hash_Resp_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_VAU2_INVRR_Hash_Resp_candb(VAU2_INVRR_Hash_Resp_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_VAU2_INVRR_Hash_Resp_candb(VAU2_INVRR_Hash_Resp_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_VAU_SDM_Immo_Req_candb(VAU_SDM_Immo_Req_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_VAU_SDM_Immo_Req_candb(VAU_SDM_Immo_Req_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_VAU_SDM_Immo_Req_candb(VAU_SDM_Immo_Req_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_SDM_VAU_Hash_Resp_candb(SDM_VAU_Hash_Resp_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_SDM_VAU_Hash_Resp_candb(SDM_VAU_Hash_Resp_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_SDM_VAU_Hash_Resp_candb(SDM_VAU_Hash_Resp_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_TCU_R932_1_candb(TCU_R932_1_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_TCU_R932_1_candb(TCU_R932_1_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_TCU_R932_1_candb(TCU_R932_1_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_VAU2_INVF_Hash_Resp_candb(VAU2_INVF_Hash_Resp_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_VAU2_INVF_Hash_Resp_candb(VAU2_INVF_Hash_Resp_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_VAU2_INVF_Hash_Resp_candb(VAU2_INVF_Hash_Resp_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_FTCU_DAT1_candb(FTCU_DAT1_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_FTCU_DAT1_candb(FTCU_DAT1_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_FTCU_DAT1_candb(FTCU_DAT1_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_FTCU_DAT2_candb(FTCU_DAT2_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_FTCU_DAT2_candb(FTCU_DAT2_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_FTCU_DAT2_candb(FTCU_DAT2_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_FTCU_DAT3_candb(FTCU_DAT3_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_FTCU_DAT3_candb(FTCU_DAT3_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_FTCU_DAT3_candb(FTCU_DAT3_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_SCU_02_candb(SCU_02_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_SCU_02_candb(SCU_02_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_SCU_02_candb(SCU_02_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + uint32_t Unpack_ESC_04_candb(ESC_04_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_ESC_04_candb(ESC_04_t* _m, __CoderDbcCanFrame_t__* cframe); @@ -9151,6 +56665,27 @@ uint32_t Pack_ESC_04_candb(ESC_04_t* _m, __CoderDbcCanFrame_t__* cframe); uint32_t Pack_ESC_04_candb(ESC_04_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT +uint32_t Unpack_ESC_09_candb(ESC_09_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_ESC_09_candb(ESC_09_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_ESC_09_candb(ESC_09_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_VAU2_Msg1_candb(VAU2_Msg1_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_VAU2_Msg1_candb(VAU2_Msg1_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_VAU2_Msg1_candb(VAU2_Msg1_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_ESC_YRS_01_candb(ESC_YRS_01_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_ESC_YRS_01_candb(ESC_YRS_01_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_ESC_YRS_01_candb(ESC_YRS_01_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + uint32_t Unpack_EMS_Veh_candb(EMS_Veh_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_EMS_Veh_candb(EMS_Veh_t* _m, __CoderDbcCanFrame_t__* cframe); @@ -9158,6 +56693,13 @@ uint32_t Pack_EMS_Veh_candb(EMS_Veh_t* _m, __CoderDbcCanFrame_t__* cframe); uint32_t Pack_EMS_Veh_candb(EMS_Veh_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT +uint32_t Unpack_EMS_Indicators_candb(EMS_Indicators_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_EMS_Indicators_candb(EMS_Indicators_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_EMS_Indicators_candb(EMS_Indicators_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + uint32_t Unpack_BCM_Powertrain_candb(BCM_Powertrain_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_BCM_Powertrain_candb(BCM_Powertrain_t* _m, __CoderDbcCanFrame_t__* cframe); @@ -9172,6 +56714,20 @@ uint32_t Pack_EMS_Veh_02_candb(EMS_Veh_02_t* _m, __CoderDbcCanFrame_t__* cframe) uint32_t Pack_EMS_Veh_02_candb(EMS_Veh_02_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT +uint32_t Unpack_EMS_EEM_01_candb(EMS_EEM_01_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_EMS_EEM_01_candb(EMS_EEM_01_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_EMS_EEM_01_candb(EMS_EEM_01_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_EMS_EEM_02_candb(EMS_EEM_02_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_EMS_EEM_02_candb(EMS_EEM_02_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_EMS_EEM_02_candb(EMS_EEM_02_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + uint32_t Unpack_BCM_EEM_candb(BCM_EEM_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_BCM_EEM_candb(BCM_EEM_t* _m, __CoderDbcCanFrame_t__* cframe); @@ -9179,6 +56735,83 @@ uint32_t Pack_BCM_EEM_candb(BCM_EEM_t* _m, __CoderDbcCanFrame_t__* cframe); uint32_t Pack_BCM_EEM_candb(BCM_EEM_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT +uint32_t Unpack_DAS_01_candb(DAS_01_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_DAS_01_candb(DAS_01_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_DAS_01_candb(DAS_01_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_DAS_04_candb(DAS_04_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_DAS_04_candb(DAS_04_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_DAS_04_candb(DAS_04_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_VCU_DriveInfo_candb(VCU_DriveInfo_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_VCU_DriveInfo_candb(VCU_DriveInfo_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_VCU_DriveInfo_candb(VCU_DriveInfo_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_DAS_02_candb(DAS_02_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_DAS_02_candb(DAS_02_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_DAS_02_candb(DAS_02_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_DAS_07_candb(DAS_07_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_DAS_07_candb(DAS_07_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_DAS_07_candb(DAS_07_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_ACU_01_candb(ACU_01_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_ACU_01_candb(ACU_01_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_ACU_01_candb(ACU_01_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_EPB_Status_candb(EPB_Status_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_EPB_Status_candb(EPB_Status_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_EPB_Status_candb(EPB_Status_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_BCM_ExteriorLightState_candb(BCM_ExteriorLightState_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_BCM_ExteriorLightState_candb(BCM_ExteriorLightState_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_BCM_ExteriorLightState_candb(BCM_ExteriorLightState_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_SWM_ContrlsState_candb(SWM_ContrlsState_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_SWM_ContrlsState_candb(SWM_ContrlsState_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_SWM_ContrlsState_candb(SWM_ContrlsState_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_BCM_StyleCmd1_candb(BCM_StyleCmd1_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_BCM_StyleCmd1_candb(BCM_StyleCmd1_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_BCM_StyleCmd1_candb(BCM_StyleCmd1_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_FIU_Access_Msg1_candb(FIU_Access_Msg1_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_FIU_Access_Msg1_candb(FIU_Access_Msg1_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_FIU_Access_Msg1_candb(FIU_Access_Msg1_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + uint32_t Unpack_DMFR_Msg1_candb(DMFR_Msg1_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_DMFR_Msg1_candb(DMFR_Msg1_t* _m, __CoderDbcCanFrame_t__* cframe); @@ -9193,6 +56826,20 @@ uint32_t Pack_DMFL_Msg1_candb(DMFL_Msg1_t* _m, __CoderDbcCanFrame_t__* cframe); uint32_t Pack_DMFL_Msg1_candb(DMFL_Msg1_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT +uint32_t Unpack_DMRL_Msg1_candb(DMRL_Msg1_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_DMRL_Msg1_candb(DMRL_Msg1_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_DMRL_Msg1_candb(DMRL_Msg1_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_DMRR_Msg1_candb(DMRR_Msg1_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_DMRR_Msg1_candb(DMRR_Msg1_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_DMRR_Msg1_candb(DMRR_Msg1_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + uint32_t Unpack_TM_Stat_candb(TM_Stat_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_TM_Stat_candb(TM_Stat_t* _m, __CoderDbcCanFrame_t__* cframe); @@ -9200,6 +56847,13 @@ uint32_t Pack_TM_Stat_candb(TM_Stat_t* _m, __CoderDbcCanFrame_t__* cframe); uint32_t Pack_TM_Stat_candb(TM_Stat_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT +uint32_t Unpack_PTG_Body_Stat_candb(PTG_Body_Stat_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_PTG_Body_Stat_candb(PTG_Body_Stat_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_PTG_Body_Stat_candb(PTG_Body_Stat_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + uint32_t Unpack_TM_CP_candb(TM_CP_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_TM_CP_candb(TM_CP_t* _m, __CoderDbcCanFrame_t__* cframe); @@ -9207,6 +56861,34 @@ uint32_t Pack_TM_CP_candb(TM_CP_t* _m, __CoderDbcCanFrame_t__* cframe); uint32_t Pack_TM_CP_candb(TM_CP_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT +uint32_t Unpack_VAU2_Msg2_candb(VAU2_Msg2_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_VAU2_Msg2_candb(VAU2_Msg2_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_VAU2_Msg2_candb(VAU2_Msg2_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_BCM_DMS_01_candb(BCM_DMS_01_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_BCM_DMS_01_candb(BCM_DMS_01_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_BCM_DMS_01_candb(BCM_DMS_01_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_LB_pSilCU_State_candb(LB_pSilCU_State_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_LB_pSilCU_State_candb(LB_pSilCU_State_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_LB_pSilCU_State_candb(LB_pSilCU_State_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_RB_pSilCU_State_candb(RB_pSilCU_State_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_RB_pSilCU_State_candb(RB_pSilCU_State_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_RB_pSilCU_State_candb(RB_pSilCU_State_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + uint32_t Unpack_HVC_CCU_Status_Msg_candb(HVC_CCU_Status_Msg_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_HVC_CCU_Status_Msg_candb(HVC_CCU_Status_Msg_t* _m, __CoderDbcCanFrame_t__* cframe); @@ -9214,6 +56896,13 @@ uint32_t Pack_HVC_CCU_Status_Msg_candb(HVC_CCU_Status_Msg_t* _m, __CoderDbcCanFr uint32_t Pack_HVC_CCU_Status_Msg_candb(HVC_CCU_Status_Msg_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT +uint32_t Unpack_ATS_Status_candb(ATS_Status_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_ATS_Status_candb(ATS_Status_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_ATS_Status_candb(ATS_Status_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + uint32_t Unpack_BCM_VEH_STATE_candb(BCM_VEH_STATE_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_BCM_VEH_STATE_candb(BCM_VEH_STATE_t* _m, __CoderDbcCanFrame_t__* cframe); @@ -9221,6 +56910,34 @@ uint32_t Pack_BCM_VEH_STATE_candb(BCM_VEH_STATE_t* _m, __CoderDbcCanFrame_t__* c uint32_t Pack_BCM_VEH_STATE_candb(BCM_VEH_STATE_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT +uint32_t Unpack_BCM_Veh_State2_candb(BCM_Veh_State2_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_BCM_Veh_State2_candb(BCM_Veh_State2_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_BCM_Veh_State2_candb(BCM_Veh_State2_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_BCM_ALS_Light_Front_candb(BCM_ALS_Light_Front_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_BCM_ALS_Light_Front_candb(BCM_ALS_Light_Front_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_BCM_ALS_Light_Front_candb(BCM_ALS_Light_Front_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_BCM_ALS_Light_Rear_candb(BCM_ALS_Light_Rear_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_BCM_ALS_Light_Rear_candb(BCM_ALS_Light_Rear_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_BCM_ALS_Light_Rear_candb(BCM_ALS_Light_Rear_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_BCM_Rear_Plafond_Light_Data_candb(BCM_Rear_Plafond_Light_Data_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_BCM_Rear_Plafond_Light_Data_candb(BCM_Rear_Plafond_Light_Data_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_BCM_Rear_Plafond_Light_Data_candb(BCM_Rear_Plafond_Light_Data_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + uint32_t Unpack_EMS_HVC_Req_Msg_candb(EMS_HVC_Req_Msg_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_EMS_HVC_Req_Msg_candb(EMS_HVC_Req_Msg_t* _m, __CoderDbcCanFrame_t__* cframe); @@ -9228,6 +56945,27 @@ uint32_t Pack_EMS_HVC_Req_Msg_candb(EMS_HVC_Req_Msg_t* _m, __CoderDbcCanFrame_t_ uint32_t Pack_EMS_HVC_Req_Msg_candb(EMS_HVC_Req_Msg_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT +uint32_t Unpack_SAS_Standard_candb(SAS_Standard_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_SAS_Standard_candb(SAS_Standard_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_SAS_Standard_candb(SAS_Standard_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_IC_ABSOLUTE_CLOCK_candb(IC_ABSOLUTE_CLOCK_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_IC_ABSOLUTE_CLOCK_candb(IC_ABSOLUTE_CLOCK_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_IC_ABSOLUTE_CLOCK_candb(IC_ABSOLUTE_CLOCK_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_BCM_Lock_CTR_candb(BCM_Lock_CTR_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_BCM_Lock_CTR_candb(BCM_Lock_CTR_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_BCM_Lock_CTR_candb(BCM_Lock_CTR_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + uint32_t Unpack_HVC_Err_Status_Msg_candb(HVC_Err_Status_Msg_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_HVC_Err_Status_Msg_candb(HVC_Err_Status_Msg_t* _m, __CoderDbcCanFrame_t__* cframe); @@ -9235,6 +56973,13 @@ uint32_t Pack_HVC_Err_Status_Msg_candb(HVC_Err_Status_Msg_t* _m, __CoderDbcCanFr uint32_t Pack_HVC_Err_Status_Msg_candb(HVC_Err_Status_Msg_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT +uint32_t Unpack_BCM_DCDC12_CNTRL_candb(BCM_DCDC12_CNTRL_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_BCM_DCDC12_CNTRL_candb(BCM_DCDC12_CNTRL_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_BCM_DCDC12_CNTRL_candb(BCM_DCDC12_CNTRL_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + uint32_t Unpack_CCU_HVC_Req_Msg_candb(CCU_HVC_Req_Msg_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_CCU_HVC_Req_Msg_candb(CCU_HVC_Req_Msg_t* _m, __CoderDbcCanFrame_t__* cframe); @@ -9284,6 +57029,13 @@ uint32_t Pack_CCU_VCU_Msg2_candb(CCU_VCU_Msg2_t* _m, __CoderDbcCanFrame_t__* cfr uint32_t Pack_CCU_VCU_Msg2_candb(CCU_VCU_Msg2_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT +uint32_t Unpack_BCM_IC_Info_Msg_candb(BCM_IC_Info_Msg_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_BCM_IC_Info_Msg_candb(BCM_IC_Info_Msg_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_BCM_IC_Info_Msg_candb(BCM_IC_Info_Msg_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + uint32_t Unpack_BCM_CLIMATIC_DATA_candb(BCM_CLIMATIC_DATA_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_BCM_CLIMATIC_DATA_candb(BCM_CLIMATIC_DATA_t* _m, __CoderDbcCanFrame_t__* cframe); @@ -9291,6 +57043,34 @@ uint32_t Pack_BCM_CLIMATIC_DATA_candb(BCM_CLIMATIC_DATA_t* _m, __CoderDbcCanFram uint32_t Pack_BCM_CLIMATIC_DATA_candb(BCM_CLIMATIC_DATA_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT +uint32_t Unpack_DMFL_SMFL_REQ_CTR_SEATS_candb(DMFL_SMFL_REQ_CTR_SEATS_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_DMFL_SMFL_REQ_CTR_SEATS_candb(DMFL_SMFL_REQ_CTR_SEATS_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_DMFL_SMFL_REQ_CTR_SEATS_candb(DMFL_SMFL_REQ_CTR_SEATS_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_DMFR_SMFR_REQ_CTR_SEATS_candb(DMFR_SMFR_REQ_CTR_SEATS_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_DMFR_SMFR_REQ_CTR_SEATS_candb(DMFR_SMFR_REQ_CTR_SEATS_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_DMFR_SMFR_REQ_CTR_SEATS_candb(DMFR_SMFR_REQ_CTR_SEATS_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_DMRL_SMRL_REQ_CTR_SEATS_candb(DMRL_SMRL_REQ_CTR_SEATS_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_DMRL_SMRL_REQ_CTR_SEATS_candb(DMRL_SMRL_REQ_CTR_SEATS_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_DMRL_SMRL_REQ_CTR_SEATS_candb(DMRL_SMRL_REQ_CTR_SEATS_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_DMRR_SMRR_REQ_CTR_SEATS_candb(DMRR_SMRR_REQ_CTR_SEATS_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_DMRR_SMRR_REQ_CTR_SEATS_candb(DMRR_SMRR_REQ_CTR_SEATS_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_DMRR_SMRR_REQ_CTR_SEATS_candb(DMRR_SMRR_REQ_CTR_SEATS_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + uint32_t Unpack_CCU_Msg1_candb(CCU_Msg1_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_CCU_Msg1_candb(CCU_Msg1_t* _m, __CoderDbcCanFrame_t__* cframe); @@ -9298,6 +57078,13 @@ uint32_t Pack_CCU_Msg1_candb(CCU_Msg1_t* _m, __CoderDbcCanFrame_t__* cframe); uint32_t Pack_CCU_Msg1_candb(CCU_Msg1_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT +uint32_t Unpack_Sroof_State_candb(Sroof_State_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Sroof_State_candb(Sroof_State_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Sroof_State_candb(Sroof_State_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + uint32_t Unpack_VCU_CCU_Req_candb(VCU_CCU_Req_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_VCU_CCU_Req_candb(VCU_CCU_Req_t* _m, __CoderDbcCanFrame_t__* cframe); @@ -9305,6 +57092,13 @@ uint32_t Pack_VCU_CCU_Req_candb(VCU_CCU_Req_t* _m, __CoderDbcCanFrame_t__* cfram uint32_t Pack_VCU_CCU_Req_candb(VCU_CCU_Req_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT +uint32_t Unpack_IC_DATA_MSG_candb(IC_DATA_MSG_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_IC_DATA_MSG_candb(IC_DATA_MSG_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_IC_DATA_MSG_candb(IC_DATA_MSG_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + uint32_t Unpack_ESC_08_candb(ESC_08_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_ESC_08_candb(ESC_08_t* _m, __CoderDbcCanFrame_t__* cframe); @@ -9312,6 +57106,76 @@ uint32_t Pack_ESC_08_candb(ESC_08_t* _m, __CoderDbcCanFrame_t__* cframe); uint32_t Pack_ESC_08_candb(ESC_08_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT +uint32_t Unpack_WChF_Status_candb(WChF_Status_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_WChF_Status_candb(WChF_Status_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_WChF_Status_candb(WChF_Status_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_MAS_Status_candb(MAS_Status_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_MAS_Status_candb(MAS_Status_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_MAS_Status_candb(MAS_Status_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_EPB_VM_MSG_candb(EPB_VM_MSG_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_EPB_VM_MSG_candb(EPB_VM_MSG_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_EPB_VM_MSG_candb(EPB_VM_MSG_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_CGW_COMM_REQ_candb(CGW_COMM_REQ_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_CGW_COMM_REQ_candb(CGW_COMM_REQ_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_CGW_COMM_REQ_candb(CGW_COMM_REQ_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_DCDC1248_01_candb(DCDC1248_01_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_DCDC1248_01_candb(DCDC1248_01_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_DCDC1248_01_candb(DCDC1248_01_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_FIU_REQ_CTR_01_candb(FIU_REQ_CTR_01_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_FIU_REQ_CTR_01_candb(FIU_REQ_CTR_01_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_FIU_REQ_CTR_01_candb(FIU_REQ_CTR_01_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_DCDC1248_02_candb(DCDC1248_02_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_DCDC1248_02_candb(DCDC1248_02_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_DCDC1248_02_candb(DCDC1248_02_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_FIU_Access_Msg2_candb(FIU_Access_Msg2_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_FIU_Access_Msg2_candb(FIU_Access_Msg2_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_FIU_Access_Msg2_candb(FIU_Access_Msg2_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_FIU_Profile_candb(FIU_Profile_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_FIU_Profile_candb(FIU_Profile_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_FIU_Profile_candb(FIU_Profile_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_USBSw_Stat_candb(USBSw_Stat_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_USBSw_Stat_candb(USBSw_Stat_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_USBSw_Stat_candb(USBSw_Stat_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + uint32_t Unpack_SMFL_status_candb(SMFL_status_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_SMFL_status_candb(SMFL_status_t* _m, __CoderDbcCanFrame_t__* cframe); @@ -9340,6 +57204,27 @@ uint32_t Pack_SMRR_status_candb(SMRR_status_t* _m, __CoderDbcCanFrame_t__* cfram uint32_t Pack_SMRR_status_candb(SMRR_status_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT +uint32_t Unpack_DocSL_T_FL_candb(DocSL_T_FL_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_DocSL_T_FL_candb(DocSL_T_FL_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_DocSL_T_FL_candb(DocSL_T_FL_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_DocSR_T_FR_candb(DocSR_T_FR_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_DocSR_T_FR_candb(DocSR_T_FR_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_DocSR_T_FR_candb(DocSR_T_FR_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_VAU_TPMS_Msg_candb(VAU_TPMS_Msg_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_VAU_TPMS_Msg_candb(VAU_TPMS_Msg_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_VAU_TPMS_Msg_candb(VAU_TPMS_Msg_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + uint32_t Unpack_CCU_Errors_candb(CCU_Errors_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_CCU_Errors_candb(CCU_Errors_t* _m, __CoderDbcCanFrame_t__* cframe); @@ -9354,6 +57239,20 @@ uint32_t Pack_CCU_Msg3_candb(CCU_Msg3_t* _m, __CoderDbcCanFrame_t__* cframe); uint32_t Pack_CCU_Msg3_candb(CCU_Msg3_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT +uint32_t Unpack_FIU_Cmd_candb(FIU_Cmd_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_FIU_Cmd_candb(FIU_Cmd_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_FIU_Cmd_candb(FIU_Cmd_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_IC_SDM_Info_candb(IC_SDM_Info_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_IC_SDM_Info_candb(IC_SDM_Info_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_IC_SDM_Info_candb(IC_SDM_Info_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + uint32_t Unpack_SDM_Cmd_candb(SDM_Cmd_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_SDM_Cmd_candb(SDM_Cmd_t* _m, __CoderDbcCanFrame_t__* cframe); @@ -9361,6 +57260,27 @@ uint32_t Pack_SDM_Cmd_candb(SDM_Cmd_t* _m, __CoderDbcCanFrame_t__* cframe); uint32_t Pack_SDM_Cmd_candb(SDM_Cmd_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT +uint32_t Unpack_HUD_MSG_STATUS_candb(HUD_MSG_STATUS_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_HUD_MSG_STATUS_candb(HUD_MSG_STATUS_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_HUD_MSG_STATUS_candb(HUD_MSG_STATUS_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_IC_SDM_Info_02_candb(IC_SDM_Info_02_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_IC_SDM_Info_02_candb(IC_SDM_Info_02_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_IC_SDM_Info_02_candb(IC_SDM_Info_02_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_IC_Milleage_candb(IC_Milleage_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_IC_Milleage_candb(IC_Milleage_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_IC_Milleage_candb(IC_Milleage_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + uint32_t Unpack_VEH_VIN_candb(VEH_VIN_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_VEH_VIN_candb(VEH_VIN_t* _m, __CoderDbcCanFrame_t__* cframe); @@ -9368,6 +57288,13 @@ uint32_t Pack_VEH_VIN_candb(VEH_VIN_t* _m, __CoderDbcCanFrame_t__* cframe); uint32_t Pack_VEH_VIN_candb(VEH_VIN_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT +uint32_t Unpack_BCM_RunningBoards_candb(BCM_RunningBoards_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_BCM_RunningBoards_candb(BCM_RunningBoards_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_BCM_RunningBoards_candb(BCM_RunningBoards_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + uint32_t Unpack_OCUFL_MSG_candb(OCUFL_MSG_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_OCUFL_MSG_candb(OCUFL_MSG_t* _m, __CoderDbcCanFrame_t__* cframe); @@ -9396,6 +57323,160 @@ uint32_t Pack_OCURR_MSG_candb(OCURR_MSG_t* _m, __CoderDbcCanFrame_t__* cframe); uint32_t Pack_OCURR_MSG_candb(OCURR_MSG_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT +uint32_t Unpack_RBCU_BODY_Stat_candb(RBCU_BODY_Stat_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_RBCU_BODY_Stat_candb(RBCU_BODY_Stat_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_RBCU_BODY_Stat_candb(RBCU_BODY_Stat_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_FIU_SMRL_REQ_CTR_SEATS_candb(FIU_SMRL_REQ_CTR_SEATS_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_FIU_SMRL_REQ_CTR_SEATS_candb(FIU_SMRL_REQ_CTR_SEATS_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_FIU_SMRL_REQ_CTR_SEATS_candb(FIU_SMRL_REQ_CTR_SEATS_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_FIU_SMFR_REQ_CTR_SEATS_candb(FIU_SMFR_REQ_CTR_SEATS_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_FIU_SMFR_REQ_CTR_SEATS_candb(FIU_SMFR_REQ_CTR_SEATS_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_FIU_SMFR_REQ_CTR_SEATS_candb(FIU_SMFR_REQ_CTR_SEATS_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_SMFL_MEM1_candb(SMFL_MEM1_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_SMFL_MEM1_candb(SMFL_MEM1_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_SMFL_MEM1_candb(SMFL_MEM1_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_BCM_MEM_SMFL1_candb(BCM_MEM_SMFL1_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_BCM_MEM_SMFL1_candb(BCM_MEM_SMFL1_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_BCM_MEM_SMFL1_candb(BCM_MEM_SMFL1_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_SMFL_MEM2_candb(SMFL_MEM2_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_SMFL_MEM2_candb(SMFL_MEM2_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_SMFL_MEM2_candb(SMFL_MEM2_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_BCM_MEM_SMFL2_candb(BCM_MEM_SMFL2_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_BCM_MEM_SMFL2_candb(BCM_MEM_SMFL2_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_BCM_MEM_SMFL2_candb(BCM_MEM_SMFL2_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_SMFR_MEM1_candb(SMFR_MEM1_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_SMFR_MEM1_candb(SMFR_MEM1_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_SMFR_MEM1_candb(SMFR_MEM1_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_BCM_MEM_SMFR1_candb(BCM_MEM_SMFR1_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_BCM_MEM_SMFR1_candb(BCM_MEM_SMFR1_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_BCM_MEM_SMFR1_candb(BCM_MEM_SMFR1_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_SMFR_MEM2_candb(SMFR_MEM2_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_SMFR_MEM2_candb(SMFR_MEM2_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_SMFR_MEM2_candb(SMFR_MEM2_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_BCM_MEM_SMFR2_candb(BCM_MEM_SMFR2_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_BCM_MEM_SMFR2_candb(BCM_MEM_SMFR2_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_BCM_MEM_SMFR2_candb(BCM_MEM_SMFR2_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_SMRL_MEM1_candb(SMRL_MEM1_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_SMRL_MEM1_candb(SMRL_MEM1_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_SMRL_MEM1_candb(SMRL_MEM1_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_BCM_MEM_SMRL1_candb(BCM_MEM_SMRL1_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_BCM_MEM_SMRL1_candb(BCM_MEM_SMRL1_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_BCM_MEM_SMRL1_candb(BCM_MEM_SMRL1_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_SMRL_MEM2_candb(SMRL_MEM2_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_SMRL_MEM2_candb(SMRL_MEM2_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_SMRL_MEM2_candb(SMRL_MEM2_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_BCM_MEM_SMRL2_candb(BCM_MEM_SMRL2_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_BCM_MEM_SMRL2_candb(BCM_MEM_SMRL2_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_BCM_MEM_SMRL2_candb(BCM_MEM_SMRL2_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_SMRR_MEM1_candb(SMRR_MEM1_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_SMRR_MEM1_candb(SMRR_MEM1_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_SMRR_MEM1_candb(SMRR_MEM1_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_BCM_MEM_SMRR1_candb(BCM_MEM_SMRR1_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_BCM_MEM_SMRR1_candb(BCM_MEM_SMRR1_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_BCM_MEM_SMRR1_candb(BCM_MEM_SMRR1_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_SMRR_MEM2_candb(SMRR_MEM2_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_SMRR_MEM2_candb(SMRR_MEM2_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_SMRR_MEM2_candb(SMRR_MEM2_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_BCM_MEM_SMRR2_candb(BCM_MEM_SMRR2_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_BCM_MEM_SMRR2_candb(BCM_MEM_SMRR2_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_BCM_MEM_SMRR2_candb(BCM_MEM_SMRR2_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_FIU_SMFL_REQ_CTR_SEATS_candb(FIU_SMFL_REQ_CTR_SEATS_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_FIU_SMFL_REQ_CTR_SEATS_candb(FIU_SMFL_REQ_CTR_SEATS_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_FIU_SMFL_REQ_CTR_SEATS_candb(FIU_SMFL_REQ_CTR_SEATS_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_FIU_SMRR_REQ_CTR_SEATS_candb(FIU_SMRR_REQ_CTR_SEATS_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_FIU_SMRR_REQ_CTR_SEATS_candb(FIU_SMRR_REQ_CTR_SEATS_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_FIU_SMRR_REQ_CTR_SEATS_candb(FIU_SMRR_REQ_CTR_SEATS_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_FIU_CTRL_DW_candb(FIU_CTRL_DW_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_FIU_CTRL_DW_candb(FIU_CTRL_DW_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_FIU_CTRL_DW_candb(FIU_CTRL_DW_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + uint32_t Unpack_DW_STATE_candb(DW_STATE_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_DW_STATE_candb(DW_STATE_t* _m, __CoderDbcCanFrame_t__* cframe); @@ -9403,6 +57484,97 @@ uint32_t Pack_DW_STATE_candb(DW_STATE_t* _m, __CoderDbcCanFrame_t__* cframe); uint32_t Pack_DW_STATE_candb(DW_STATE_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT +uint32_t Unpack_FIU_Msg1_candb(FIU_Msg1_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_FIU_Msg1_candb(FIU_Msg1_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_FIU_Msg1_candb(FIU_Msg1_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_FIU_Msg2_candb(FIU_Msg2_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_FIU_Msg2_candb(FIU_Msg2_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_FIU_Msg2_candb(FIU_Msg2_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_ERAG_DATA_MSG_candb(ERAG_DATA_MSG_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_ERAG_DATA_MSG_candb(ERAG_DATA_MSG_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_ERAG_DATA_MSG_candb(ERAG_DATA_MSG_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_FIU_Msg3_candb(FIU_Msg3_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_FIU_Msg3_candb(FIU_Msg3_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_FIU_Msg3_candb(FIU_Msg3_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_FIU_EngMenu_candb(FIU_EngMenu_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_FIU_EngMenu_candb(FIU_EngMenu_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_FIU_EngMenu_candb(FIU_EngMenu_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_WHFL_MSG1_candb(WHFL_MSG1_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_WHFL_MSG1_candb(WHFL_MSG1_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_WHFL_MSG1_candb(WHFL_MSG1_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_WHFR_Msg1_candb(WHFR_Msg1_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_WHFR_Msg1_candb(WHFR_Msg1_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_WHFR_Msg1_candb(WHFR_Msg1_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_PLDSilCU_State_candb(PLDSilCU_State_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_PLDSilCU_State_candb(PLDSilCU_State_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_PLDSilCU_State_candb(PLDSilCU_State_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_PRDSilCU_State_candb(PRDSilCU_State_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_PRDSilCU_State_candb(PRDSilCU_State_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_PRDSilCU_State_candb(PRDSilCU_State_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_FLDSilCU_State_candb(FLDSilCU_State_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_FLDSilCU_State_candb(FLDSilCU_State_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_FLDSilCU_State_candb(FLDSilCU_State_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_FRDSilCU_State_candb(FRDSilCU_State_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_FRDSilCU_State_candb(FRDSilCU_State_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_FRDSilCU_State_candb(FRDSilCU_State_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_RLDSilCU_State_candb(RLDSilCU_State_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_RLDSilCU_State_candb(RLDSilCU_State_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_RLDSilCU_State_candb(RLDSilCU_State_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_RRDSilCU_State_candb(RRDSilCU_State_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_RRDSilCU_State_candb(RRDSilCU_State_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_RRDSilCU_State_candb(RRDSilCU_State_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + uint32_t Unpack_FIU_CCU1_candb(FIU_CCU1_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_FIU_CCU1_candb(FIU_CCU1_t* _m, __CoderDbcCanFrame_t__* cframe); @@ -9424,6 +57596,475 @@ uint32_t Pack_FIU_CCU3_candb(FIU_CCU3_t* _m, __CoderDbcCanFrame_t__* cframe); uint32_t Pack_FIU_CCU3_candb(FIU_CCU3_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT +uint32_t Unpack_BCM_StyleCmd2_candb(BCM_StyleCmd2_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_BCM_StyleCmd2_candb(BCM_StyleCmd2_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_BCM_StyleCmd2_candb(BCM_StyleCmd2_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_BCM_StyleCmd3_candb(BCM_StyleCmd3_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_BCM_StyleCmd3_candb(BCM_StyleCmd3_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_BCM_StyleCmd3_candb(BCM_StyleCmd3_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_BCM_WHF_Request_candb(BCM_WHF_Request_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_BCM_WHF_Request_candb(BCM_WHF_Request_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_BCM_WHF_Request_candb(BCM_WHF_Request_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_IC_DISPLAY_CLOCK_candb(IC_DISPLAY_CLOCK_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_IC_DISPLAY_CLOCK_candb(IC_DISPLAY_CLOCK_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_IC_DISPLAY_CLOCK_candb(IC_DISPLAY_CLOCK_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_BCM_UserConfig_Stat_candb(BCM_UserConfig_Stat_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_BCM_UserConfig_Stat_candb(BCM_UserConfig_Stat_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_BCM_UserConfig_Stat_candb(BCM_UserConfig_Stat_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_FIU_MAS_Main_candb(FIU_MAS_Main_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_FIU_MAS_Main_candb(FIU_MAS_Main_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_FIU_MAS_Main_candb(FIU_MAS_Main_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_MAS_APA_Paths_candb(MAS_APA_Paths_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_MAS_APA_Paths_candb(MAS_APA_Paths_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_MAS_APA_Paths_candb(MAS_APA_Paths_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_MAS_APA_ParkPlace_candb(MAS_APA_ParkPlace_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_MAS_APA_ParkPlace_candb(MAS_APA_ParkPlace_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_MAS_APA_ParkPlace_candb(MAS_APA_ParkPlace_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_ICLSilCU_State_candb(ICLSilCU_State_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_ICLSilCU_State_candb(ICLSilCU_State_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_ICLSilCU_State_candb(ICLSilCU_State_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_ICRSilCU_State_candb(ICRSilCU_State_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_ICRSilCU_State_candb(ICRSilCU_State_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_ICRSilCU_State_candb(ICRSilCU_State_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_SFRSilCU_State_candb(SFRSilCU_State_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_SFRSilCU_State_candb(SFRSilCU_State_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_SFRSilCU_State_candb(SFRSilCU_State_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_SFLSilCU_State_candb(SFLSilCU_State_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_SFLSilCU_State_candb(SFLSilCU_State_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_SFLSilCU_State_candb(SFLSilCU_State_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_RDRSilCU_State_candb(RDRSilCU_State_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_RDRSilCU_State_candb(RDRSilCU_State_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_RDRSilCU_State_candb(RDRSilCU_State_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_FCSilCU_State_candb(FCSilCU_State_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_FCSilCU_State_candb(FCSilCU_State_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_FCSilCU_State_candb(FCSilCU_State_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_RCLSilCU_State_candb(RCLSilCU_State_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_RCLSilCU_State_candb(RCLSilCU_State_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_RCLSilCU_State_candb(RCLSilCU_State_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_RCRSilCU_State_candb(RCRSilCU_State_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_RCRSilCU_State_candb(RCRSilCU_State_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_RCRSilCU_State_candb(RCRSilCU_State_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_RDLSilCU_State_candb(RDLSilCU_State_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_RDLSilCU_State_candb(RDLSilCU_State_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_RDLSilCU_State_candb(RDLSilCU_State_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_CCPF_BodyTM_Stat_candb(CCPF_BodyTM_Stat_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_CCPF_BodyTM_Stat_candb(CCPF_BodyTM_Stat_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_CCPF_BodyTM_Stat_candb(CCPF_BodyTM_Stat_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_IntCOM_Info_Stat_candb(IntCOM_Info_Stat_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_IntCOM_Info_Stat_candb(IntCOM_Info_Stat_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_IntCOM_Info_Stat_candb(IntCOM_Info_Stat_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_LTE_Sum_State2_candb(LTE_Sum_State2_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_LTE_Sum_State2_candb(LTE_Sum_State2_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_LTE_Sum_State2_candb(LTE_Sum_State2_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_WChF_FIU_TransferState_candb(WChF_FIU_TransferState_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_WChF_FIU_TransferState_candb(WChF_FIU_TransferState_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_WChF_FIU_TransferState_candb(WChF_FIU_TransferState_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_FIU_WChF_TransferState_candb(FIU_WChF_TransferState_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_FIU_WChF_TransferState_candb(FIU_WChF_TransferState_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_FIU_WChF_TransferState_candb(FIU_WChF_TransferState_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_VAU_BLE_Device_candb(VAU_BLE_Device_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_VAU_BLE_Device_candb(VAU_BLE_Device_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_VAU_BLE_Device_candb(VAU_BLE_Device_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_APU_candb(Diag_From_APU_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_From_APU_candb(Diag_From_APU_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_From_APU_candb(Diag_From_APU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_SSL_Status_candb(SSL_Status_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_SSL_Status_candb(SSL_Status_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_SSL_Status_candb(SSL_Status_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_SSR_Status_candb(SSR_Status_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_SSR_Status_candb(SSR_Status_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_SSR_Status_candb(SSR_Status_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_PTG_To_SupplierTool_candb(PTG_To_SupplierTool_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_PTG_To_SupplierTool_candb(PTG_To_SupplierTool_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_PTG_To_SupplierTool_candb(PTG_To_SupplierTool_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_SupplierTool_To_PTG_candb(SupplierTool_To_PTG_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_SupplierTool_To_PTG_candb(SupplierTool_To_PTG_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_SupplierTool_To_PTG_candb(SupplierTool_To_PTG_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_CCPF_candb(Diag_From_CCPF_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_From_CCPF_candb(Diag_From_CCPF_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_From_CCPF_candb(Diag_From_CCPF_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_CCPF_candb(Diag_To_CCPF_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_To_CCPF_candb(Diag_To_CCPF_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_To_CCPF_candb(Diag_To_CCPF_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_CCPR_candb(Diag_From_CCPR_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_From_CCPR_candb(Diag_From_CCPR_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_From_CCPR_candb(Diag_From_CCPR_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_CCPR_candb(Diag_To_CCPR_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_To_CCPR_candb(Diag_To_CCPR_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_To_CCPR_candb(Diag_To_CCPR_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_SSL_candb(Diag_To_SSL_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_To_SSL_candb(Diag_To_SSL_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_To_SSL_candb(Diag_To_SSL_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_SSR_candb(Diag_To_SSR_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_To_SSR_candb(Diag_To_SSR_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_To_SSR_candb(Diag_To_SSR_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_SSL_candb(Diag_From_SSL_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_From_SSL_candb(Diag_From_SSL_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_From_SSL_candb(Diag_From_SSL_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_FCSilCU_candb(Diag_To_FCSilCU_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_To_FCSilCU_candb(Diag_To_FCSilCU_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_To_FCSilCU_candb(Diag_To_FCSilCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_SSR_candb(Diag_From_SSR_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_From_SSR_candb(Diag_From_SSR_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_From_SSR_candb(Diag_From_SSR_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_FLDSilCU_candb(Diag_To_FLDSilCU_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_To_FLDSilCU_candb(Diag_To_FLDSilCU_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_To_FLDSilCU_candb(Diag_To_FLDSilCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_FRDSilCU_candb(Diag_To_FRDSilCU_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_To_FRDSilCU_candb(Diag_To_FRDSilCU_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_To_FRDSilCU_candb(Diag_To_FRDSilCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_ICLSilCU_candb(Diag_To_ICLSilCU_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_To_ICLSilCU_candb(Diag_To_ICLSilCU_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_To_ICLSilCU_candb(Diag_To_ICLSilCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_FCSilCU_candb(Diag_From_FCSilCU_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_From_FCSilCU_candb(Diag_From_FCSilCU_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_From_FCSilCU_candb(Diag_From_FCSilCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_FLDSilCU_candb(Diag_From_FLDSilCU_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_From_FLDSilCU_candb(Diag_From_FLDSilCU_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_From_FLDSilCU_candb(Diag_From_FLDSilCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_FRDSilCU_candb(Diag_From_FRDSilCU_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_From_FRDSilCU_candb(Diag_From_FRDSilCU_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_From_FRDSilCU_candb(Diag_From_FRDSilCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_ICLSilCU_candb(Diag_From_ICLSilCU_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_From_ICLSilCU_candb(Diag_From_ICLSilCU_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_From_ICLSilCU_candb(Diag_From_ICLSilCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_APU_candb(Diag_To_APU_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_To_APU_candb(Diag_To_APU_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_To_APU_candb(Diag_To_APU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_FTCU_candb(Diag_To_FTCU_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_To_FTCU_candb(Diag_To_FTCU_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_To_FTCU_candb(Diag_To_FTCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_FTCU_candb(Diag_From_FTCU_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_From_FTCU_candb(Diag_From_FTCU_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_From_FTCU_candb(Diag_From_FTCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_Sroof_candb(Diag_To_Sroof_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_To_Sroof_candb(Diag_To_Sroof_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_To_Sroof_candb(Diag_To_Sroof_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_SRoof_candb(Diag_From_SRoof_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_From_SRoof_candb(Diag_From_SRoof_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_From_SRoof_candb(Diag_From_SRoof_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_ICRSilCU_candb(Diag_To_ICRSilCU_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_To_ICRSilCU_candb(Diag_To_ICRSilCU_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_To_ICRSilCU_candb(Diag_To_ICRSilCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_LB_pSilCU_candb(Diag_To_LB_pSilCU_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_To_LB_pSilCU_candb(Diag_To_LB_pSilCU_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_To_LB_pSilCU_candb(Diag_To_LB_pSilCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_PLSilCU_candb(Diag_To_PLSilCU_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_To_PLSilCU_candb(Diag_To_PLSilCU_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_To_PLSilCU_candb(Diag_To_PLSilCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_PRSilCU_candb(Diag_To_PRSilCU_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_To_PRSilCU_candb(Diag_To_PRSilCU_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_To_PRSilCU_candb(Diag_To_PRSilCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_RB_pSilCU_candb(Diag_To_RB_pSilCU_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_To_RB_pSilCU_candb(Diag_To_RB_pSilCU_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_To_RB_pSilCU_candb(Diag_To_RB_pSilCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_ICRSilCU_candb(Diag_From_ICRSilCU_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_From_ICRSilCU_candb(Diag_From_ICRSilCU_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_From_ICRSilCU_candb(Diag_From_ICRSilCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_LB_pSilCU_candb(Diag_From_LB_pSilCU_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_From_LB_pSilCU_candb(Diag_From_LB_pSilCU_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_From_LB_pSilCU_candb(Diag_From_LB_pSilCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_PLSilCU_candb(Diag_From_PLSilCU_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_From_PLSilCU_candb(Diag_From_PLSilCU_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_From_PLSilCU_candb(Diag_From_PLSilCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_PRSilCU_candb(Diag_From_PRSilCU_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_From_PRSilCU_candb(Diag_From_PRSilCU_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_From_PRSilCU_candb(Diag_From_PRSilCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_RB_pSilCU_candb(Diag_From_RB_pSilCU_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_From_RB_pSilCU_candb(Diag_From_RB_pSilCU_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_From_RB_pSilCU_candb(Diag_From_RB_pSilCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_VAU_candb(Diag_To_VAU_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_To_VAU_candb(Diag_To_VAU_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_To_VAU_candb(Diag_To_VAU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_BCM_candb(Diag_To_BCM_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_To_BCM_candb(Diag_To_BCM_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_To_BCM_candb(Diag_To_BCM_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_DMFL_candb(Diag_To_DMFL_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_To_DMFL_candb(Diag_To_DMFL_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_To_DMFL_candb(Diag_To_DMFL_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_DMFR_candb(Diag_To_DMFR_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_To_DMFR_candb(Diag_To_DMFR_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_To_DMFR_candb(Diag_To_DMFR_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_DMRL_candb(Diag_To_DMRL_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_To_DMRL_candb(Diag_To_DMRL_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_To_DMRL_candb(Diag_To_DMRL_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_DMRR_candb(Diag_To_DMRR_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_To_DMRR_candb(Diag_To_DMRR_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_To_DMRR_candb(Diag_To_DMRR_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_SMRR_candb(Diag_To_SMRR_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_To_SMRR_candb(Diag_To_SMRR_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_To_SMRR_candb(Diag_To_SMRR_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_TM_candb(Diag_To_TM_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_To_TM_candb(Diag_To_TM_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_To_TM_candb(Diag_To_TM_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + uint32_t Unpack_Diag_To_CCU_candb(Diag_To_CCU_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_Diag_To_CCU_candb(Diag_To_CCU_t* _m, __CoderDbcCanFrame_t__* cframe); @@ -9431,6 +58072,83 @@ uint32_t Pack_Diag_To_CCU_candb(Diag_To_CCU_t* _m, __CoderDbcCanFrame_t__* cfram uint32_t Pack_Diag_To_CCU_candb(Diag_To_CCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT +uint32_t Unpack_Diag_To_SMFL_candb(Diag_To_SMFL_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_To_SMFL_candb(Diag_To_SMFL_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_To_SMFL_candb(Diag_To_SMFL_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_SMFR_candb(Diag_To_SMFR_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_To_SMFR_candb(Diag_To_SMFR_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_To_SMFR_candb(Diag_To_SMFR_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_SMRL_candb(Diag_To_SMRL_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_To_SMRL_candb(Diag_To_SMRL_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_To_SMRL_candb(Diag_To_SMRL_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_VAU_candb(Diag_From_VAU_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_From_VAU_candb(Diag_From_VAU_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_From_VAU_candb(Diag_From_VAU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_BCM_candb(Diag_From_BCM_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_From_BCM_candb(Diag_From_BCM_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_From_BCM_candb(Diag_From_BCM_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_DMFL_candb(Diag_From_DMFL_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_From_DMFL_candb(Diag_From_DMFL_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_From_DMFL_candb(Diag_From_DMFL_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_DMFR_candb(Diag_From_DMFR_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_From_DMFR_candb(Diag_From_DMFR_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_From_DMFR_candb(Diag_From_DMFR_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_DMRL_candb(Diag_From_DMRL_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_From_DMRL_candb(Diag_From_DMRL_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_From_DMRL_candb(Diag_From_DMRL_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_DMRR_candb(Diag_From_DMRR_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_From_DMRR_candb(Diag_From_DMRR_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_From_DMRR_candb(Diag_From_DMRR_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_SMRR_candb(Diag_From_SMRR_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_From_SMRR_candb(Diag_From_SMRR_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_From_SMRR_candb(Diag_From_SMRR_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_TM_candb(Diag_From_TM_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_From_TM_candb(Diag_From_TM_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_From_TM_candb(Diag_From_TM_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + uint32_t Unpack_Diag_From_CCU_candb(Diag_From_CCU_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_Diag_From_CCU_candb(Diag_From_CCU_t* _m, __CoderDbcCanFrame_t__* cframe); @@ -9438,6 +58156,181 @@ uint32_t Pack_Diag_From_CCU_candb(Diag_From_CCU_t* _m, __CoderDbcCanFrame_t__* c uint32_t Pack_Diag_From_CCU_candb(Diag_From_CCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT +uint32_t Unpack_Diag_From_SMFL_candb(Diag_From_SMFL_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_From_SMFL_candb(Diag_From_SMFL_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_From_SMFL_candb(Diag_From_SMFL_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_SMFR_candb(Diag_From_SMFR_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_From_SMFR_candb(Diag_From_SMFR_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_From_SMFR_candb(Diag_From_SMFR_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_SMRL_candb(Diag_From_SMRL_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_From_SMRL_candb(Diag_From_SMRL_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_From_SMRL_candb(Diag_From_SMRL_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_RCLSilCU_candb(Diag_To_RCLSilCU_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_To_RCLSilCU_candb(Diag_To_RCLSilCU_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_To_RCLSilCU_candb(Diag_To_RCLSilCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_RCRSilCU_candb(Diag_To_RCRSilCU_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_To_RCRSilCU_candb(Diag_To_RCRSilCU_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_To_RCRSilCU_candb(Diag_To_RCRSilCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_RDLSilCU_candb(Diag_To_RDLSilCU_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_To_RDLSilCU_candb(Diag_To_RDLSilCU_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_To_RDLSilCU_candb(Diag_To_RDLSilCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_RDRSilCU_candb(Diag_To_RDRSilCU_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_To_RDRSilCU_candb(Diag_To_RDRSilCU_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_To_RDRSilCU_candb(Diag_To_RDRSilCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_OCUFL_candb(Diag_From_OCUFL_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_From_OCUFL_candb(Diag_From_OCUFL_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_From_OCUFL_candb(Diag_From_OCUFL_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_RLDSilCU_candb(Diag_To_RLDSilCU_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_To_RLDSilCU_candb(Diag_To_RLDSilCU_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_To_RLDSilCU_candb(Diag_To_RLDSilCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_RRDSilCU_candb(Diag_To_RRDSilCU_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_To_RRDSilCU_candb(Diag_To_RRDSilCU_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_To_RRDSilCU_candb(Diag_To_RRDSilCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_PTG_candb(Diag_From_PTG_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_From_PTG_candb(Diag_From_PTG_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_From_PTG_candb(Diag_From_PTG_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_OCUFR_candb(Diag_From_OCUFR_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_From_OCUFR_candb(Diag_From_OCUFR_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_From_OCUFR_candb(Diag_From_OCUFR_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_OCURL_candb(Diag_From_OCURL_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_From_OCURL_candb(Diag_From_OCURL_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_From_OCURL_candb(Diag_From_OCURL_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_OCURR_candb(Diag_From_OCURR_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_From_OCURR_candb(Diag_From_OCURR_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_From_OCURR_candb(Diag_From_OCURR_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_RCLSilCU_candb(Diag_From_RCLSilCU_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_From_RCLSilCU_candb(Diag_From_RCLSilCU_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_From_RCLSilCU_candb(Diag_From_RCLSilCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_RCRSilCU_candb(Diag_From_RCRSilCU_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_From_RCRSilCU_candb(Diag_From_RCRSilCU_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_From_RCRSilCU_candb(Diag_From_RCRSilCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_RDLSilCU_candb(Diag_From_RDLSilCU_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_From_RDLSilCU_candb(Diag_From_RDLSilCU_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_From_RDLSilCU_candb(Diag_From_RDLSilCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_RDRSilCU_candb(Diag_From_RDRSilCU_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_From_RDRSilCU_candb(Diag_From_RDRSilCU_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_From_RDRSilCU_candb(Diag_From_RDRSilCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_OCUFL_candb(Diag_To_OCUFL_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_To_OCUFL_candb(Diag_To_OCUFL_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_To_OCUFL_candb(Diag_To_OCUFL_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_RLDSilCU_candb(Diag_From_RLDSilCU_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_From_RLDSilCU_candb(Diag_From_RLDSilCU_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_From_RLDSilCU_candb(Diag_From_RLDSilCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_RRDSilCU_candb(Diag_From_RRDSilCU_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_From_RRDSilCU_candb(Diag_From_RRDSilCU_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_From_RRDSilCU_candb(Diag_From_RRDSilCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_PTG_candb(Diag_To_PTG_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_To_PTG_candb(Diag_To_PTG_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_To_PTG_candb(Diag_To_PTG_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_OCUFR_candb(Diag_To_OCUFR_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_To_OCUFR_candb(Diag_To_OCUFR_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_To_OCUFR_candb(Diag_To_OCUFR_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_OCURL_candb(Diag_To_OCURL_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_To_OCURL_candb(Diag_To_OCURL_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_To_OCURL_candb(Diag_To_OCURL_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_OCURR_candb(Diag_To_OCURR_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_To_OCURR_candb(Diag_To_OCURR_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_To_OCURR_candb(Diag_To_OCURR_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + uint32_t Unpack_Diag_Functional_candb(Diag_Functional_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT uint32_t Pack_Diag_Functional_candb(Diag_Functional_t* _m, __CoderDbcCanFrame_t__* cframe); @@ -9445,11 +58338,60 @@ uint32_t Pack_Diag_Functional_candb(Diag_Functional_t* _m, __CoderDbcCanFrame_t_ uint32_t Pack_Diag_Functional_candb(Diag_Functional_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT -uint32_t Unpack_HVC_01_candb(HVC_01_t* _m, const uint8_t* _d, uint8_t dlc_); +uint32_t Unpack_Diag_To_SFRSilCU_candb(Diag_To_SFRSilCU_t* _m, const uint8_t* _d, uint8_t dlc_); #ifdef CANDB_USE_CANSTRUCT -uint32_t Pack_HVC_01_candb(HVC_01_t* _m, __CoderDbcCanFrame_t__* cframe); +uint32_t Pack_Diag_To_SFRSilCU_candb(Diag_To_SFRSilCU_t* _m, __CoderDbcCanFrame_t__* cframe); #else -uint32_t Pack_HVC_01_candb(HVC_01_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +uint32_t Pack_Diag_To_SFRSilCU_candb(Diag_To_SFRSilCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_SFLSilCU_candb(Diag_To_SFLSilCU_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_To_SFLSilCU_candb(Diag_To_SFLSilCU_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_To_SFLSilCU_candb(Diag_To_SFLSilCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_WHFL_candb(Diag_To_WHFL_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_To_WHFL_candb(Diag_To_WHFL_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_To_WHFL_candb(Diag_To_WHFL_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_To_WHFR_candb(Diag_To_WHFR_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_To_WHFR_candb(Diag_To_WHFR_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_To_WHFR_candb(Diag_To_WHFR_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_SFRSilCU_candb(Diag_From_SFRSilCU_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_From_SFRSilCU_candb(Diag_From_SFRSilCU_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_From_SFRSilCU_candb(Diag_From_SFRSilCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_SFLSilCU_candb(Diag_From_SFLSilCU_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_From_SFLSilCU_candb(Diag_From_SFLSilCU_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_From_SFLSilCU_candb(Diag_From_SFLSilCU_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_WHFL_candb(Diag_From_WHFL_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_From_WHFL_candb(Diag_From_WHFL_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_From_WHFL_candb(Diag_From_WHFL_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_USE_CANSTRUCT + +uint32_t Unpack_Diag_From_WHFR_candb(Diag_From_WHFR_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_USE_CANSTRUCT +uint32_t Pack_Diag_From_WHFR_candb(Diag_From_WHFR_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_Diag_From_WHFR_candb(Diag_From_WHFR_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); #endif // CANDB_USE_CANSTRUCT uint32_t Unpack_CCU_AC_Ctrl_candb(CCU_AC_Ctrl_t* _m, const uint8_t* _d, uint8_t dlc_); diff --git a/usr/candb-fmon.c b/usr/candb-fmon.c index fe43317..f56e457 100644 --- a/usr/candb-fmon.c +++ b/usr/candb-fmon.c @@ -19,18 +19,144 @@ void _FMon_MONO_candb(FrameMonitor_t* _mon, uint32_t msgid) #else +void _FMon_SDM_MAS_Req_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_EMS_VCU_VAU_Immo_Req_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_TCU_VAU_Immo_Req_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_VAU2_NFC_TransferState_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_VAU_TCU_Hash_Resp_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_VAU_EMS_VCU_Hash_Resp_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_VAU2_INVRL_Hash_Resp_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_WChF_NFC_VAU_Transfer_State_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_VAU2_INVRR_Hash_Resp_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_VAU_SDM_Immo_Req_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_SDM_VAU_Hash_Resp_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_TCU_R932_1_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_VAU2_INVF_Hash_Resp_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_FTCU_DAT1_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_FTCU_DAT2_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_FTCU_DAT3_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_SCU_02_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + void _FMon_ESC_04_candb(FrameMonitor_t* _mon, uint32_t msgid) { (void)_mon; (void)msgid; } +void _FMon_ESC_09_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_VAU2_Msg1_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_ESC_YRS_01_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + void _FMon_EMS_Veh_candb(FrameMonitor_t* _mon, uint32_t msgid) { (void)_mon; (void)msgid; } +void _FMon_EMS_Indicators_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + void _FMon_BCM_Powertrain_candb(FrameMonitor_t* _mon, uint32_t msgid) { (void)_mon; @@ -43,12 +169,90 @@ void _FMon_EMS_Veh_02_candb(FrameMonitor_t* _mon, uint32_t msgid) (void)msgid; } +void _FMon_EMS_EEM_01_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_EMS_EEM_02_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + void _FMon_BCM_EEM_candb(FrameMonitor_t* _mon, uint32_t msgid) { (void)_mon; (void)msgid; } +void _FMon_DAS_01_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_DAS_04_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_VCU_DriveInfo_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_DAS_02_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_DAS_07_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_ACU_01_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_EPB_Status_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_BCM_ExteriorLightState_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_SWM_ContrlsState_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_BCM_StyleCmd1_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_FIU_Access_Msg1_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + void _FMon_DMFR_Msg1_candb(FrameMonitor_t* _mon, uint32_t msgid) { (void)_mon; @@ -61,42 +265,138 @@ void _FMon_DMFL_Msg1_candb(FrameMonitor_t* _mon, uint32_t msgid) (void)msgid; } +void _FMon_DMRL_Msg1_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_DMRR_Msg1_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + void _FMon_TM_Stat_candb(FrameMonitor_t* _mon, uint32_t msgid) { (void)_mon; (void)msgid; } +void _FMon_PTG_Body_Stat_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + void _FMon_TM_CP_candb(FrameMonitor_t* _mon, uint32_t msgid) { (void)_mon; (void)msgid; } +void _FMon_VAU2_Msg2_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_BCM_DMS_01_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_LB_pSilCU_State_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_RB_pSilCU_State_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + void _FMon_HVC_CCU_Status_Msg_candb(FrameMonitor_t* _mon, uint32_t msgid) { (void)_mon; (void)msgid; } +void _FMon_ATS_Status_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + void _FMon_BCM_VEH_STATE_candb(FrameMonitor_t* _mon, uint32_t msgid) { (void)_mon; (void)msgid; } +void _FMon_BCM_Veh_State2_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_BCM_ALS_Light_Front_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_BCM_ALS_Light_Rear_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_BCM_Rear_Plafond_Light_Data_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + void _FMon_EMS_HVC_Req_Msg_candb(FrameMonitor_t* _mon, uint32_t msgid) { (void)_mon; (void)msgid; } +void _FMon_SAS_Standard_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_IC_ABSOLUTE_CLOCK_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_BCM_Lock_CTR_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + void _FMon_HVC_Err_Status_Msg_candb(FrameMonitor_t* _mon, uint32_t msgid) { (void)_mon; (void)msgid; } +void _FMon_BCM_DCDC12_CNTRL_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + void _FMon_CCU_HVC_Req_Msg_candb(FrameMonitor_t* _mon, uint32_t msgid) { (void)_mon; @@ -139,30 +439,132 @@ void _FMon_CCU_VCU_Msg2_candb(FrameMonitor_t* _mon, uint32_t msgid) (void)msgid; } +void _FMon_BCM_IC_Info_Msg_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + void _FMon_BCM_CLIMATIC_DATA_candb(FrameMonitor_t* _mon, uint32_t msgid) { (void)_mon; (void)msgid; } +void _FMon_DMFL_SMFL_REQ_CTR_SEATS_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_DMFR_SMFR_REQ_CTR_SEATS_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_DMRL_SMRL_REQ_CTR_SEATS_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_DMRR_SMRR_REQ_CTR_SEATS_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + void _FMon_CCU_Msg1_candb(FrameMonitor_t* _mon, uint32_t msgid) { (void)_mon; (void)msgid; } +void _FMon_Sroof_State_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + void _FMon_VCU_CCU_Req_candb(FrameMonitor_t* _mon, uint32_t msgid) { (void)_mon; (void)msgid; } +void _FMon_IC_DATA_MSG_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + void _FMon_ESC_08_candb(FrameMonitor_t* _mon, uint32_t msgid) { (void)_mon; (void)msgid; } +void _FMon_WChF_Status_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_MAS_Status_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_EPB_VM_MSG_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_CGW_COMM_REQ_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_DCDC1248_01_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_FIU_REQ_CTR_01_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_DCDC1248_02_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_FIU_Access_Msg2_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_FIU_Profile_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_USBSw_Stat_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + void _FMon_SMFL_status_candb(FrameMonitor_t* _mon, uint32_t msgid) { (void)_mon; @@ -187,6 +589,24 @@ void _FMon_SMRR_status_candb(FrameMonitor_t* _mon, uint32_t msgid) (void)msgid; } +void _FMon_DocSL_T_FL_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_DocSR_T_FR_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_VAU_TPMS_Msg_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + void _FMon_CCU_Errors_candb(FrameMonitor_t* _mon, uint32_t msgid) { (void)_mon; @@ -199,18 +619,54 @@ void _FMon_CCU_Msg3_candb(FrameMonitor_t* _mon, uint32_t msgid) (void)msgid; } +void _FMon_FIU_Cmd_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_IC_SDM_Info_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + void _FMon_SDM_Cmd_candb(FrameMonitor_t* _mon, uint32_t msgid) { (void)_mon; (void)msgid; } +void _FMon_HUD_MSG_STATUS_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_IC_SDM_Info_02_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_IC_Milleage_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + void _FMon_VEH_VIN_candb(FrameMonitor_t* _mon, uint32_t msgid) { (void)_mon; (void)msgid; } +void _FMon_BCM_RunningBoards_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + void _FMon_OCUFL_MSG_candb(FrameMonitor_t* _mon, uint32_t msgid) { (void)_mon; @@ -235,12 +691,222 @@ void _FMon_OCURR_MSG_candb(FrameMonitor_t* _mon, uint32_t msgid) (void)msgid; } +void _FMon_RBCU_BODY_Stat_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_FIU_SMRL_REQ_CTR_SEATS_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_FIU_SMFR_REQ_CTR_SEATS_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_SMFL_MEM1_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_BCM_MEM_SMFL1_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_SMFL_MEM2_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_BCM_MEM_SMFL2_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_SMFR_MEM1_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_BCM_MEM_SMFR1_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_SMFR_MEM2_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_BCM_MEM_SMFR2_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_SMRL_MEM1_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_BCM_MEM_SMRL1_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_SMRL_MEM2_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_BCM_MEM_SMRL2_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_SMRR_MEM1_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_BCM_MEM_SMRR1_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_SMRR_MEM2_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_BCM_MEM_SMRR2_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_FIU_SMFL_REQ_CTR_SEATS_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_FIU_SMRR_REQ_CTR_SEATS_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_FIU_CTRL_DW_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + void _FMon_DW_STATE_candb(FrameMonitor_t* _mon, uint32_t msgid) { (void)_mon; (void)msgid; } +void _FMon_FIU_Msg1_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_FIU_Msg2_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_ERAG_DATA_MSG_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_FIU_Msg3_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_FIU_EngMenu_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_WHFL_MSG1_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_WHFR_Msg1_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_PLDSilCU_State_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_PRDSilCU_State_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_FLDSilCU_State_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_FRDSilCU_State_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_RLDSilCU_State_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_RRDSilCU_State_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + void _FMon_FIU_CCU1_candb(FrameMonitor_t* _mon, uint32_t msgid) { (void)_mon; @@ -259,25 +925,685 @@ void _FMon_FIU_CCU3_candb(FrameMonitor_t* _mon, uint32_t msgid) (void)msgid; } +void _FMon_BCM_StyleCmd2_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_BCM_StyleCmd3_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_BCM_WHF_Request_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_IC_DISPLAY_CLOCK_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_BCM_UserConfig_Stat_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_FIU_MAS_Main_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_MAS_APA_Paths_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_MAS_APA_ParkPlace_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_ICLSilCU_State_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_ICRSilCU_State_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_SFRSilCU_State_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_SFLSilCU_State_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_RDRSilCU_State_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_FCSilCU_State_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_RCLSilCU_State_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_RCRSilCU_State_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_RDLSilCU_State_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_CCPF_BodyTM_Stat_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_IntCOM_Info_Stat_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_LTE_Sum_State2_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_WChF_FIU_TransferState_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_FIU_WChF_TransferState_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_VAU_BLE_Device_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_From_APU_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_SSL_Status_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_SSR_Status_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_PTG_To_SupplierTool_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_SupplierTool_To_PTG_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_From_CCPF_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_To_CCPF_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_From_CCPR_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_To_CCPR_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_To_SSL_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_To_SSR_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_From_SSL_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_To_FCSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_From_SSR_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_To_FLDSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_To_FRDSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_To_ICLSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_From_FCSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_From_FLDSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_From_FRDSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_From_ICLSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_To_APU_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_To_FTCU_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_From_FTCU_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_To_Sroof_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_From_SRoof_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_To_ICRSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_To_LB_pSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_To_PLSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_To_PRSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_To_RB_pSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_From_ICRSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_From_LB_pSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_From_PLSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_From_PRSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_From_RB_pSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_To_VAU_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_To_BCM_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_To_DMFL_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_To_DMFR_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_To_DMRL_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_To_DMRR_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_To_SMRR_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_To_TM_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + void _FMon_Diag_To_CCU_candb(FrameMonitor_t* _mon, uint32_t msgid) { (void)_mon; (void)msgid; } +void _FMon_Diag_To_SMFL_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_To_SMFR_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_To_SMRL_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_From_VAU_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_From_BCM_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_From_DMFL_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_From_DMFR_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_From_DMRL_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_From_DMRR_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_From_SMRR_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_From_TM_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + void _FMon_Diag_From_CCU_candb(FrameMonitor_t* _mon, uint32_t msgid) { (void)_mon; (void)msgid; } +void _FMon_Diag_From_SMFL_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_From_SMFR_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_From_SMRL_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_To_RCLSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_To_RCRSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_To_RDLSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_To_RDRSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_From_OCUFL_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_To_RLDSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_To_RRDSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_From_PTG_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_From_OCUFR_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_From_OCURL_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_From_OCURR_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_From_RCLSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_From_RCRSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_From_RDLSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_From_RDRSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_To_OCUFL_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_From_RLDSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_From_RRDSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_To_PTG_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_To_OCUFR_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_To_OCURL_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_To_OCURR_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + void _FMon_Diag_Functional_candb(FrameMonitor_t* _mon, uint32_t msgid) { (void)_mon; (void)msgid; } -void _FMon_HVC_01_candb(FrameMonitor_t* _mon, uint32_t msgid) +void _FMon_Diag_To_SFRSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_To_SFLSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_To_WHFL_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_To_WHFR_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_From_SFRSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_From_SFLSilCU_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_From_WHFL_candb(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_Diag_From_WHFR_candb(FrameMonitor_t* _mon, uint32_t msgid) { (void)_mon; (void)msgid;