From 3c1d972c1281e23c6a6c90c6e678ae5a00e5f96c Mon Sep 17 00:00:00 2001 From: cfif Date: Tue, 10 Feb 2026 12:01:55 +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/ccu_candb_dbg-binutil.c | 29 + butl/ccu_candb_dbg-binutil.h | 65 + butl/tester_candb_dbg-binutil.c | 27 + butl/tester_candb_dbg-binutil.h | 36 + butl/vector__xxx_candb_dbg-binutil.c | 139 + butl/vector__xxx_candb_dbg-binutil.h | 59 + conf/candb_dbg-config.h | 130 + conf/dbccodeconf.h | 31 + inc/canmonitorutil.h | 54 + lib/candb_dbg-fmon.h | 136 + lib/candb_dbg.c | 2717 ++++++++++ lib/candb_dbg.h | 7041 ++++++++++++++++++++++++++ modular.json | 15 + usr/candb_dbg-fmon.c | 216 + 14 files changed, 10695 insertions(+) create mode 100644 butl/ccu_candb_dbg-binutil.c create mode 100644 butl/ccu_candb_dbg-binutil.h create mode 100644 butl/tester_candb_dbg-binutil.c create mode 100644 butl/tester_candb_dbg-binutil.h create mode 100644 butl/vector__xxx_candb_dbg-binutil.c create mode 100644 butl/vector__xxx_candb_dbg-binutil.h create mode 100644 conf/candb_dbg-config.h create mode 100644 conf/dbccodeconf.h create mode 100644 inc/canmonitorutil.h create mode 100644 lib/candb_dbg-fmon.h create mode 100644 lib/candb_dbg.c create mode 100644 lib/candb_dbg.h create mode 100644 modular.json create mode 100644 usr/candb_dbg-fmon.c diff --git a/butl/ccu_candb_dbg-binutil.c b/butl/ccu_candb_dbg-binutil.c new file mode 100644 index 0000000..01f677c --- /dev/null +++ b/butl/ccu_candb_dbg-binutil.c @@ -0,0 +1,29 @@ +// Generator version : v3.1 +// DBC filename : CCUdbg.dbc +#include "ccu_candb_dbg-binutil.h" + +// DBC file version +#if (VER_CANDB_DBG_MAJ != (0U)) || (VER_CANDB_DBG_MIN != (0U)) +#error The CCU_CANDB_DBG binutil source file has inconsistency with core dbc lib! +#endif + +#ifdef __DEF_CCU_CANDB_DBG__ + +ccu_candb_dbg_rx_t ccu_candb_dbg_rx; + +ccu_candb_dbg_tx_t ccu_candb_dbg_tx; + +#endif // __DEF_CCU_CANDB_DBG__ + +uint32_t ccu_candb_dbg_Receive(ccu_candb_dbg_rx_t* _m, const uint8_t* _d, uint32_t _id, uint8_t dlc_) +{ + uint32_t recid = 0; + if (_id == 0x400U) { + recid = Unpack_dbg_Cmd_Act_Information_candb_dbg(&(_m->dbg_Cmd_Act_Information), _d, dlc_); + } else if (_id == 0x6ABU) { + recid = Unpack_XCP_CCU_RX_candb_dbg(&(_m->XCP_CCU_RX), _d, dlc_); + } + + return recid; +} + diff --git a/butl/ccu_candb_dbg-binutil.h b/butl/ccu_candb_dbg-binutil.h new file mode 100644 index 0000000..2375a77 --- /dev/null +++ b/butl/ccu_candb_dbg-binutil.h @@ -0,0 +1,65 @@ +// Generator version : v3.1 +// DBC filename : CCUdbg.dbc +#pragma once + +#ifdef __cplusplus +extern "C" { +#endif + +#include "dbccodeconf.h" + +#include "candb_dbg.h" + +typedef struct +{ + dbg_Cmd_Act_Information_t dbg_Cmd_Act_Information; + XCP_CCU_RX_t XCP_CCU_RX; +} ccu_candb_dbg_rx_t; + +typedef struct +{ + dbg_Logic_State_t dbg_Logic_State; + dbg_Logic_KM_Status_t dbg_Logic_KM_Status; + dbg_Logic_Valve_t dbg_Logic_Valve; + dbg_Logic_Blower_t dbg_Logic_Blower; + dbg_Logic_Ac_t dbg_Logic_Ac; + dbg_Logic_Rec_t dbg_Logic_Rec; + dbg_DiffBlr_ValveOpen_t dbg_DiffBlr_ValveOpen; + dbg_Act0_t dbg_Act0; + dbg_Act1_t dbg_Act1; + dbg_Act2_t dbg_Act2; + dbg_Sen_Amb_t dbg_Sen_Amb; + dbg_Sen_0_t dbg_Sen_0; + dbg_CCU_IO_t dbg_CCU_IO; + dbg_CCU_Info_t dbg_CCU_Info; + dbg_Drs_t dbg_Drs; + dbg_Sen_Incar_t dbg_Sen_Incar; + dbg_Info_Act1_t dbg_Info_Act1; + dbg_Info_Act2_t dbg_Info_Act2; + dbg_Sen_Eva_t dbg_Sen_Eva; + dbg_Sen_Duct_t dbg_Sen_Duct; + dbg_Sen_Demist_t dbg_Sen_Demist; + dbg_LIN_AirQS_Stat_t dbg_LIN_AirQS_Stat; + dbg_LIN_Aroma_Stat_t dbg_LIN_Aroma_Stat; + dbg_LIN_Ionizer_Stat_t dbg_LIN_Ionizer_Stat; + dbg_LIN_eTXV_Stat_t dbg_LIN_eTXV_Stat; + dbg_LIN_DRS_Stat_t dbg_LIN_DRS_Stat; + dbg_Auto_AF_t dbg_Auto_AF; + dbg_Auto_Duct_t dbg_Auto_Duct; + dbg_Auto_Valve_Plus_t dbg_Auto_Valve_Plus; + XCP_CCU_TX_t XCP_CCU_TX; +} ccu_candb_dbg_tx_t; + +uint32_t ccu_candb_dbg_Receive(ccu_candb_dbg_rx_t* m, const uint8_t* d, uint32_t msgid, uint8_t dlc); + +#ifdef __DEF_CCU_CANDB_DBG__ + +extern ccu_candb_dbg_rx_t ccu_candb_dbg_rx; + +extern ccu_candb_dbg_tx_t ccu_candb_dbg_tx; + +#endif // __DEF_CCU_CANDB_DBG__ + +#ifdef __cplusplus +} +#endif diff --git a/butl/tester_candb_dbg-binutil.c b/butl/tester_candb_dbg-binutil.c new file mode 100644 index 0000000..9e3678c --- /dev/null +++ b/butl/tester_candb_dbg-binutil.c @@ -0,0 +1,27 @@ +// Generator version : v3.1 +// DBC filename : CCUdbg.dbc +#include "tester_candb_dbg-binutil.h" + +// DBC file version +#if (VER_CANDB_DBG_MAJ != (0U)) || (VER_CANDB_DBG_MIN != (0U)) +#error The TESTER_CANDB_DBG binutil source file has inconsistency with core dbc lib! +#endif + +#ifdef __DEF_TESTER_CANDB_DBG__ + +tester_candb_dbg_rx_t tester_candb_dbg_rx; + +tester_candb_dbg_tx_t tester_candb_dbg_tx; + +#endif // __DEF_TESTER_CANDB_DBG__ + +uint32_t tester_candb_dbg_Receive(tester_candb_dbg_rx_t* _m, const uint8_t* _d, uint32_t _id, uint8_t dlc_) +{ + uint32_t recid = 0; + if (_id == 0x6ABU) { + recid = Unpack_XCP_CCU_RX_candb_dbg(&(_m->XCP_CCU_RX), _d, dlc_); + } + + return recid; +} + diff --git a/butl/tester_candb_dbg-binutil.h b/butl/tester_candb_dbg-binutil.h new file mode 100644 index 0000000..06f0151 --- /dev/null +++ b/butl/tester_candb_dbg-binutil.h @@ -0,0 +1,36 @@ +// Generator version : v3.1 +// DBC filename : CCUdbg.dbc +#pragma once + +#ifdef __cplusplus +extern "C" { +#endif + +#include "dbccodeconf.h" + +#include "candb_dbg.h" + +typedef struct +{ + XCP_CCU_RX_t XCP_CCU_RX; +} tester_candb_dbg_rx_t; + +typedef struct +{ + dbg_Cmd_Act_Information_t dbg_Cmd_Act_Information; + XCP_CCU_RX_t XCP_CCU_RX; +} tester_candb_dbg_tx_t; + +uint32_t tester_candb_dbg_Receive(tester_candb_dbg_rx_t* m, const uint8_t* d, uint32_t msgid, uint8_t dlc); + +#ifdef __DEF_TESTER_CANDB_DBG__ + +extern tester_candb_dbg_rx_t tester_candb_dbg_rx; + +extern tester_candb_dbg_tx_t tester_candb_dbg_tx; + +#endif // __DEF_TESTER_CANDB_DBG__ + +#ifdef __cplusplus +} +#endif diff --git a/butl/vector__xxx_candb_dbg-binutil.c b/butl/vector__xxx_candb_dbg-binutil.c new file mode 100644 index 0000000..021044b --- /dev/null +++ b/butl/vector__xxx_candb_dbg-binutil.c @@ -0,0 +1,139 @@ +// Generator version : v3.1 +// DBC filename : CCUdbg.dbc +#include "vector__xxx_candb_dbg-binutil.h" + +// DBC file version +#if (VER_CANDB_DBG_MAJ != (0U)) || (VER_CANDB_DBG_MIN != (0U)) +#error The VECTOR__XXX_CANDB_DBG binutil source file has inconsistency with core dbc lib! +#endif + +#ifdef __DEF_VECTOR__XXX_CANDB_DBG__ + +vector__xxx_candb_dbg_rx_t vector__xxx_candb_dbg_rx; + +#endif // __DEF_VECTOR__XXX_CANDB_DBG__ + +uint32_t vector__xxx_candb_dbg_Receive(vector__xxx_candb_dbg_rx_t* _m, const uint8_t* _d, uint32_t _id, uint8_t dlc_) +{ + uint32_t recid = 0; + if ((_id >= 0x3E0U) && (_id < 0x3FFU)) { + if ((_id >= 0x3E0U) && (_id < 0x3F0U)) { + if ((_id >= 0x3E0U) && (_id < 0x3E3U)) { + if (_id == 0x3E0U) { + recid = Unpack_dbg_Logic_State_candb_dbg(&(_m->dbg_Logic_State), _d, dlc_); + } else { + if (_id == 0x3E1U) { + recid = Unpack_dbg_Logic_KM_Status_candb_dbg(&(_m->dbg_Logic_KM_Status), _d, dlc_); + } else if (_id == 0x3E2U) { + recid = Unpack_dbg_Logic_Valve_candb_dbg(&(_m->dbg_Logic_Valve), _d, dlc_); + } + } + } else { + if ((_id >= 0x3E3U) && (_id < 0x3E5U)) { + if (_id == 0x3E3U) { + recid = Unpack_dbg_Logic_Blower_candb_dbg(&(_m->dbg_Logic_Blower), _d, dlc_); + } else if (_id == 0x3E4U) { + recid = Unpack_dbg_Logic_Ac_candb_dbg(&(_m->dbg_Logic_Ac), _d, dlc_); + } + } else { + if (_id == 0x3E5U) { + recid = Unpack_dbg_Logic_Rec_candb_dbg(&(_m->dbg_Logic_Rec), _d, dlc_); + } else if (_id == 0x3E6U) { + recid = Unpack_dbg_DiffBlr_ValveOpen_candb_dbg(&(_m->dbg_DiffBlr_ValveOpen), _d, dlc_); + } + } + } + } else { + if ((_id >= 0x3F0U) && (_id < 0x3F8U)) { + if ((_id >= 0x3F0U) && (_id < 0x3F2U)) { + if (_id == 0x3F0U) { + recid = Unpack_dbg_Act0_candb_dbg(&(_m->dbg_Act0), _d, dlc_); + } else if (_id == 0x3F1U) { + recid = Unpack_dbg_Act1_candb_dbg(&(_m->dbg_Act1), _d, dlc_); + } + } else { + if (_id == 0x3F2U) { + recid = Unpack_dbg_Act2_candb_dbg(&(_m->dbg_Act2), _d, dlc_); + } else if (_id == 0x3F3U) { + recid = Unpack_dbg_Sen_Amb_candb_dbg(&(_m->dbg_Sen_Amb), _d, dlc_); + } + } + } else { + if ((_id >= 0x3F8U) && (_id < 0x3FCU)) { + if (_id == 0x3F8U) { + recid = Unpack_dbg_Sen_0_candb_dbg(&(_m->dbg_Sen_0), _d, dlc_); + } else if (_id == 0x3FBU) { + recid = Unpack_dbg_CCU_IO_candb_dbg(&(_m->dbg_CCU_IO), _d, dlc_); + } + } else { + if (_id == 0x3FCU) { + recid = Unpack_dbg_CCU_Info_candb_dbg(&(_m->dbg_CCU_Info), _d, dlc_); + } else if (_id == 0x3FDU) { + recid = Unpack_dbg_Drs_candb_dbg(&(_m->dbg_Drs), _d, dlc_); + } + } + } + } + } else { + if ((_id >= 0x3FFU) && (_id < 0x511U)) { + if ((_id >= 0x3FFU) && (_id < 0x504U)) { + if (_id == 0x3FFU) { + recid = Unpack_dbg_Sen_Incar_candb_dbg(&(_m->dbg_Sen_Incar), _d, dlc_); + } else { + if (_id == 0x401U) { + recid = Unpack_dbg_Info_Act1_candb_dbg(&(_m->dbg_Info_Act1), _d, dlc_); + } else if (_id == 0x402U) { + recid = Unpack_dbg_Info_Act2_candb_dbg(&(_m->dbg_Info_Act2), _d, dlc_); + } + } + } else { + if ((_id >= 0x504U) && (_id < 0x509U)) { + if (_id == 0x504U) { + recid = Unpack_dbg_Sen_Eva_candb_dbg(&(_m->dbg_Sen_Eva), _d, dlc_); + } else if (_id == 0x505U) { + recid = Unpack_dbg_Sen_Duct_candb_dbg(&(_m->dbg_Sen_Duct), _d, dlc_); + } + } else { + if (_id == 0x509U) { + recid = Unpack_dbg_Sen_Demist_candb_dbg(&(_m->dbg_Sen_Demist), _d, dlc_); + } else if (_id == 0x510U) { + recid = Unpack_dbg_LIN_AirQS_Stat_candb_dbg(&(_m->dbg_LIN_AirQS_Stat), _d, dlc_); + } + } + } + } else { + if ((_id >= 0x511U) && (_id < 0x520U)) { + if ((_id >= 0x511U) && (_id < 0x514U)) { + if (_id == 0x511U) { + recid = Unpack_dbg_LIN_Aroma_Stat_candb_dbg(&(_m->dbg_LIN_Aroma_Stat), _d, dlc_); + } else if (_id == 0x513U) { + recid = Unpack_dbg_LIN_Ionizer_Stat_candb_dbg(&(_m->dbg_LIN_Ionizer_Stat), _d, dlc_); + } + } else { + if (_id == 0x514U) { + recid = Unpack_dbg_LIN_eTXV_Stat_candb_dbg(&(_m->dbg_LIN_eTXV_Stat), _d, dlc_); + } else if (_id == 0x518U) { + recid = Unpack_dbg_LIN_DRS_Stat_candb_dbg(&(_m->dbg_LIN_DRS_Stat), _d, dlc_); + } + } + } else { + if ((_id >= 0x520U) && (_id < 0x530U)) { + if (_id == 0x520U) { + recid = Unpack_dbg_Auto_AF_candb_dbg(&(_m->dbg_Auto_AF), _d, dlc_); + } else if (_id == 0x524U) { + recid = Unpack_dbg_Auto_Duct_candb_dbg(&(_m->dbg_Auto_Duct), _d, dlc_); + } + } else { + if (_id == 0x530U) { + recid = Unpack_dbg_Auto_Valve_Plus_candb_dbg(&(_m->dbg_Auto_Valve_Plus), _d, dlc_); + } else if (_id == 0x6BBU) { + recid = Unpack_XCP_CCU_TX_candb_dbg(&(_m->XCP_CCU_TX), _d, dlc_); + } + } + } + } + } + + return recid; +} + diff --git a/butl/vector__xxx_candb_dbg-binutil.h b/butl/vector__xxx_candb_dbg-binutil.h new file mode 100644 index 0000000..c5f14de --- /dev/null +++ b/butl/vector__xxx_candb_dbg-binutil.h @@ -0,0 +1,59 @@ +// Generator version : v3.1 +// DBC filename : CCUdbg.dbc +#pragma once + +#ifdef __cplusplus +extern "C" { +#endif + +#include "dbccodeconf.h" + +#include "candb_dbg.h" + +typedef struct +{ + dbg_Logic_State_t dbg_Logic_State; + dbg_Logic_KM_Status_t dbg_Logic_KM_Status; + dbg_Logic_Valve_t dbg_Logic_Valve; + dbg_Logic_Blower_t dbg_Logic_Blower; + dbg_Logic_Ac_t dbg_Logic_Ac; + dbg_Logic_Rec_t dbg_Logic_Rec; + dbg_DiffBlr_ValveOpen_t dbg_DiffBlr_ValveOpen; + dbg_Act0_t dbg_Act0; + dbg_Act1_t dbg_Act1; + dbg_Act2_t dbg_Act2; + dbg_Sen_Amb_t dbg_Sen_Amb; + dbg_Sen_0_t dbg_Sen_0; + dbg_CCU_IO_t dbg_CCU_IO; + dbg_CCU_Info_t dbg_CCU_Info; + dbg_Drs_t dbg_Drs; + dbg_Sen_Incar_t dbg_Sen_Incar; + dbg_Info_Act1_t dbg_Info_Act1; + dbg_Info_Act2_t dbg_Info_Act2; + dbg_Sen_Eva_t dbg_Sen_Eva; + dbg_Sen_Duct_t dbg_Sen_Duct; + dbg_Sen_Demist_t dbg_Sen_Demist; + dbg_LIN_AirQS_Stat_t dbg_LIN_AirQS_Stat; + dbg_LIN_Aroma_Stat_t dbg_LIN_Aroma_Stat; + dbg_LIN_Ionizer_Stat_t dbg_LIN_Ionizer_Stat; + dbg_LIN_eTXV_Stat_t dbg_LIN_eTXV_Stat; + dbg_LIN_DRS_Stat_t dbg_LIN_DRS_Stat; + dbg_Auto_AF_t dbg_Auto_AF; + dbg_Auto_Duct_t dbg_Auto_Duct; + dbg_Auto_Valve_Plus_t dbg_Auto_Valve_Plus; + XCP_CCU_TX_t XCP_CCU_TX; +} vector__xxx_candb_dbg_rx_t; + +// There is no any TX mapped massage. + +uint32_t vector__xxx_candb_dbg_Receive(vector__xxx_candb_dbg_rx_t* m, const uint8_t* d, uint32_t msgid, uint8_t dlc); + +#ifdef __DEF_VECTOR__XXX_CANDB_DBG__ + +extern vector__xxx_candb_dbg_rx_t vector__xxx_candb_dbg_rx; + +#endif // __DEF_VECTOR__XXX_CANDB_DBG__ + +#ifdef __cplusplus +} +#endif diff --git a/conf/candb_dbg-config.h b/conf/candb_dbg-config.h new file mode 100644 index 0000000..344bfe2 --- /dev/null +++ b/conf/candb_dbg-config.h @@ -0,0 +1,130 @@ +// Generator version : v3.1 +// DBC filename : CCUdbg.dbc +#pragma once + +/* include common dbccode configurations */ +#include "dbccodeconf.h" + + +/* ------------------------------------------------------------------------- * + This define enables using CAN message structs with bit-fielded signals + layout. + + Note(!): bit-feild was not tested properly. */ + +/* #define CANDB_DBG_USE_BITS_SIGNAL */ + + +/* ------------------------------------------------------------------------- * + This macro enables using CAN message descriptive struct packing functions + (by default signature of pack function intakes a few simple typed params + for loading data, len, etc). To compile you need to define the struct + __CoderDbcCanFrame_t__ which must have fields: + + u32 MsgId (CAN Frame message ID) + u8 DLC (CAN Frame payload length field) + u8 Data[8] (CAN Frame payload data) + u8 IDE (CAN Frame Extended (1) / Standard (0) ID type) + + This struct definition have to be placed (or be included) in dbccodeconf.h */ + +/* #define CANDB_DBG_USE_CANSTRUCT */ + + +/* ------------------------------------------------------------------------- * + All the signals which have values of factor != 1 or offset != 0 + will be named in message struct with posfix '_ro'. Pack to payload + operations will be made on this signal value as well as unpack from payload. + + USE_SIGFLOAT macro makes some difference: + + 1. All the '_ro' fields will have a pair field with '_phys' postfix. + If only offset != 0 is true then the type of '_phys' signal is the same + as '_ro' signal. In other case the type will be @sigfloat_t which + have to be defined in user dbccodeconf.h + + 2. In pack function '_ro' signal will be rewritten by '_phys' signal, which + requires from user to use ONLY '_phys' signal for packing frame + + 3. In unpack function '_phys' signal will be written by '_ro' signal. + User have to use '_phys' signal to read physical value. */ + +/* #define CANDB_DBG_USE_SIGFLOAT */ + + +/* ------------------------------------------------------------------------- * + Note(!) that the "canmonitorutil.h" must be accessed in include path: + + This macro adds: + + - monitor field @mon1 to message struct + + - capture system tick in unpack function and save value to mon1 field + to provide to user better missing frame detection code. For this case + user must provide function declared in canmonitorutil.h - GetSysTick() + which may return 1ms uptime. + + - calling function FMon_*** (from 'fmon' driver) inside unpack function + which is empty by default and have to be filled by user if + tests for DLC, rolling, checksum are necessary */ + +/* #define CANDB_DBG_USE_DIAG_MONITORS */ + + +/* ------------------------------------------------------------------------- * + When monitor using is enabled (CANDB_DBG_USE_DIAG_MONITORS) and define below + uncommented, additional signal will be added to message struct. ***_expt: + expected rolling counter, to perform monitoring rolling counter sequence + automatically (result may be tested in dedicated Fmon_*** function) */ + +/* #define CANDB_DBG_AUTO_ROLL */ + + +/* ------------------------------------------------------------------------- * + When monitor using is enabled (CANDB_DBG_USE_DIAG_MONITORS) and define below + uncommented, frame checksum signal may be handled automatically. + + The signal which may be marked as checksum signal must have substring + with next format: + + + where: + + - "Checksum": constant marker word + + - "XOR8": type of method, this text will be passed to GetFrameHash + (canmonitorutil.h) function as is, the best use case is to define 'enum + DbcCanCrcMethods' in canmonitorutil.h file with all possible + checksum algorithms (e.g. XOR8, XOR4 etc) + + - "3": optional value that will be passed to GetFrameHash as integer value + + Function GetFrameHash have to be implemented by user + + In pack function checksum signal will be calculated automatically + and loaded to payload + + In unpack function checksum signal is checked with calculated. + (result may be tested in dedicated Fmon_*** function). */ + +/* #define CANDB_DBG_AUTO_CSM */ + + +/* ------------------------------------------------------------------------- * + FMon handling model can be build in two ways: + + 1 - Default. In this case when specific frame unpack is called the + specific FMon_{Frame name}_{driver name} functoin will be called. + User's code scope has to define each of these functions. Each function is + responsible for the error handling of one frame + + 2 - MONO. In this case there is only one function to perform any frame + monitoring. This function has to be implemented in the user's code scope. + This function is named as FMon_MONO_{driver name}. It takes frame id + which can be used for selection of the logic for a frame monitoring. + This mode costs a bit more in runtime but when you often edit you DBC and you + have more than one project it could be more maintanable (there is + no necessity to replace source code) + + For using MONO way uncomment line below */ +/* #define CANDB_DBG_USE_MONO_FMON */ diff --git a/conf/dbccodeconf.h b/conf/dbccodeconf.h new file mode 100644 index 0000000..e1c7eff --- /dev/null +++ b/conf/dbccodeconf.h @@ -0,0 +1,31 @@ +// Generator version : v3.1 +#pragma once + +#include + +// when USE_SIGFLOAT enabed the sigfloat_t must be defined +// typedef double sigfloat_t; + +// when USE_CANSTRUCT enabled __CoderDbcCanFrame_t__ must be defined +// #include "{header_with_can_struct}" +// typedef {can_struct} __CoderDbcCanFrame_t__; + +// if you need to allocate rx and tx messages structs put the allocation macro here +// #define __DEF_{your_driver_name}__ + +// defualt @__ext_sig__ help types definition + +typedef uint32_t ubitext_t; +typedef int32_t bitext_t; + +// To provide a way to make missing control correctly you +// have to define macro @GetSystemTick() which has to +// return kind of tick counter (e.g. 1 ms ticker) + +// #define GetSystemTick() __get__tick__() + +// To provide a way to calculate hash (crc) for CAN +// frame's data field you have to define macro @GetFrameHash + +// #define GetFrameHash(a,b,c,d,e) __get_hash__(a,b,c,d,e) + diff --git a/inc/canmonitorutil.h b/inc/canmonitorutil.h new file mode 100644 index 0000000..2289caa --- /dev/null +++ b/inc/canmonitorutil.h @@ -0,0 +1,54 @@ +// Generator version : v3.1 +#pragma once + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +// declare here all availible checksum algorithms +typedef enum +{ + // XOR8 = 0, + // XOR4 = 1, + // etc + + // it is up to user to have or to skip final enum value - @CRC_ALG_COUNT + CRC_ALG_COUNT +} DbcCanCrcMethods; + +typedef struct +{ + // @last_cycle keeps tick-value when last frame was received + uint32_t last_cycle; + + // @timeout_cycle keeps maximum timeout for frame, user responsibility + // to init this field and use it in missing frame monitoring function + uint32_t timeout_cycle; + + // @frame_cnt keeps count of all the received frames + uint32_t frame_cnt; + + // setting up @roll_error bit indicates roll counting fail. + // Bit is not clearing automatically! + uint32_t roll_error : 1; + + // setting up @checksum_error bit indicates checksum checking failure. + // Bit is not clearing automatically! + uint32_t csm_error : 1; + + // setting up @cycle_error bit indicates that time was overrunned. + // Bit is not clearing automatically! + uint32_t cycle_error : 1; + + // setting up @dlc_error bit indicates that the actual length of + // CAN frame is less then defined by CAN matrix! + uint32_t dlc_error : 1; + +} FrameMonitor_t; + +#ifdef __cplusplus +} +#endif + diff --git a/lib/candb_dbg-fmon.h b/lib/candb_dbg-fmon.h new file mode 100644 index 0000000..7b61f91 --- /dev/null +++ b/lib/candb_dbg-fmon.h @@ -0,0 +1,136 @@ +// Generator version : v3.1 +// DBC filename : CCUdbg.dbc +#pragma once + +#ifdef __cplusplus +extern "C" { +#endif + +// DBC file version +#define VER_CANDB_DBG_MAJ_FMON (0U) +#define VER_CANDB_DBG_MIN_FMON (0U) + +#include "candb_dbg-config.h" + +#ifdef CANDB_DBG_USE_DIAG_MONITORS + +#include "canmonitorutil.h" +/* +This file contains the prototypes of all the functions that will be called +from each Unpack_*name* function to detect DBC related errors +It is the user responsibility to defined these functions in the +separated .c file. If it won't be done the linkage error will happen +*/ + +#ifdef CANDB_DBG_USE_MONO_FMON + +void _FMon_MONO_candb_dbg(FrameMonitor_t* _mon, uint32_t msgid); + +#define FMon_dbg_Logic_State_candb_dbg(x, y) _FMon_MONO_candb_dbg((x), (y)) +#define FMon_dbg_Logic_KM_Status_candb_dbg(x, y) _FMon_MONO_candb_dbg((x), (y)) +#define FMon_dbg_Logic_Valve_candb_dbg(x, y) _FMon_MONO_candb_dbg((x), (y)) +#define FMon_dbg_Logic_Blower_candb_dbg(x, y) _FMon_MONO_candb_dbg((x), (y)) +#define FMon_dbg_Logic_Ac_candb_dbg(x, y) _FMon_MONO_candb_dbg((x), (y)) +#define FMon_dbg_Logic_Rec_candb_dbg(x, y) _FMon_MONO_candb_dbg((x), (y)) +#define FMon_dbg_DiffBlr_ValveOpen_candb_dbg(x, y) _FMon_MONO_candb_dbg((x), (y)) +#define FMon_dbg_Act0_candb_dbg(x, y) _FMon_MONO_candb_dbg((x), (y)) +#define FMon_dbg_Act1_candb_dbg(x, y) _FMon_MONO_candb_dbg((x), (y)) +#define FMon_dbg_Act2_candb_dbg(x, y) _FMon_MONO_candb_dbg((x), (y)) +#define FMon_dbg_Sen_Amb_candb_dbg(x, y) _FMon_MONO_candb_dbg((x), (y)) +#define FMon_dbg_Sen_0_candb_dbg(x, y) _FMon_MONO_candb_dbg((x), (y)) +#define FMon_dbg_CCU_IO_candb_dbg(x, y) _FMon_MONO_candb_dbg((x), (y)) +#define FMon_dbg_CCU_Info_candb_dbg(x, y) _FMon_MONO_candb_dbg((x), (y)) +#define FMon_dbg_Drs_candb_dbg(x, y) _FMon_MONO_candb_dbg((x), (y)) +#define FMon_dbg_Sen_Incar_candb_dbg(x, y) _FMon_MONO_candb_dbg((x), (y)) +#define FMon_dbg_Cmd_Act_Information_candb_dbg(x, y) _FMon_MONO_candb_dbg((x), (y)) +#define FMon_dbg_Info_Act1_candb_dbg(x, y) _FMon_MONO_candb_dbg((x), (y)) +#define FMon_dbg_Info_Act2_candb_dbg(x, y) _FMon_MONO_candb_dbg((x), (y)) +#define FMon_dbg_Sen_Eva_candb_dbg(x, y) _FMon_MONO_candb_dbg((x), (y)) +#define FMon_dbg_Sen_Duct_candb_dbg(x, y) _FMon_MONO_candb_dbg((x), (y)) +#define FMon_dbg_Sen_Demist_candb_dbg(x, y) _FMon_MONO_candb_dbg((x), (y)) +#define FMon_dbg_LIN_AirQS_Stat_candb_dbg(x, y) _FMon_MONO_candb_dbg((x), (y)) +#define FMon_dbg_LIN_Aroma_Stat_candb_dbg(x, y) _FMon_MONO_candb_dbg((x), (y)) +#define FMon_dbg_LIN_Ionizer_Stat_candb_dbg(x, y) _FMon_MONO_candb_dbg((x), (y)) +#define FMon_dbg_LIN_eTXV_Stat_candb_dbg(x, y) _FMon_MONO_candb_dbg((x), (y)) +#define FMon_dbg_LIN_DRS_Stat_candb_dbg(x, y) _FMon_MONO_candb_dbg((x), (y)) +#define FMon_dbg_Auto_AF_candb_dbg(x, y) _FMon_MONO_candb_dbg((x), (y)) +#define FMon_dbg_Auto_Duct_candb_dbg(x, y) _FMon_MONO_candb_dbg((x), (y)) +#define FMon_dbg_Auto_Valve_Plus_candb_dbg(x, y) _FMon_MONO_candb_dbg((x), (y)) +#define FMon_XCP_CCU_RX_candb_dbg(x, y) _FMon_MONO_candb_dbg((x), (y)) +#define FMon_XCP_CCU_TX_candb_dbg(x, y) _FMon_MONO_candb_dbg((x), (y)) + +#else + +void _FMon_dbg_Logic_State_candb_dbg(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_dbg_Logic_KM_Status_candb_dbg(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_dbg_Logic_Valve_candb_dbg(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_dbg_Logic_Blower_candb_dbg(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_dbg_Logic_Ac_candb_dbg(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_dbg_Logic_Rec_candb_dbg(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_dbg_DiffBlr_ValveOpen_candb_dbg(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_dbg_Act0_candb_dbg(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_dbg_Act1_candb_dbg(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_dbg_Act2_candb_dbg(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_dbg_Sen_Amb_candb_dbg(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_dbg_Sen_0_candb_dbg(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_dbg_CCU_IO_candb_dbg(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_dbg_CCU_Info_candb_dbg(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_dbg_Drs_candb_dbg(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_dbg_Sen_Incar_candb_dbg(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_dbg_Cmd_Act_Information_candb_dbg(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_dbg_Info_Act1_candb_dbg(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_dbg_Info_Act2_candb_dbg(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_dbg_Sen_Eva_candb_dbg(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_dbg_Sen_Duct_candb_dbg(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_dbg_Sen_Demist_candb_dbg(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_dbg_LIN_AirQS_Stat_candb_dbg(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_dbg_LIN_Aroma_Stat_candb_dbg(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_dbg_LIN_Ionizer_Stat_candb_dbg(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_dbg_LIN_eTXV_Stat_candb_dbg(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_dbg_LIN_DRS_Stat_candb_dbg(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_dbg_Auto_AF_candb_dbg(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_dbg_Auto_Duct_candb_dbg(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_dbg_Auto_Valve_Plus_candb_dbg(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_XCP_CCU_RX_candb_dbg(FrameMonitor_t* _mon, uint32_t msgid); +void _FMon_XCP_CCU_TX_candb_dbg(FrameMonitor_t* _mon, uint32_t msgid); + +#define FMon_dbg_Logic_State_candb_dbg(x, y) _FMon_dbg_Logic_State_candb_dbg((x), (y)) +#define FMon_dbg_Logic_KM_Status_candb_dbg(x, y) _FMon_dbg_Logic_KM_Status_candb_dbg((x), (y)) +#define FMon_dbg_Logic_Valve_candb_dbg(x, y) _FMon_dbg_Logic_Valve_candb_dbg((x), (y)) +#define FMon_dbg_Logic_Blower_candb_dbg(x, y) _FMon_dbg_Logic_Blower_candb_dbg((x), (y)) +#define FMon_dbg_Logic_Ac_candb_dbg(x, y) _FMon_dbg_Logic_Ac_candb_dbg((x), (y)) +#define FMon_dbg_Logic_Rec_candb_dbg(x, y) _FMon_dbg_Logic_Rec_candb_dbg((x), (y)) +#define FMon_dbg_DiffBlr_ValveOpen_candb_dbg(x, y) _FMon_dbg_DiffBlr_ValveOpen_candb_dbg((x), (y)) +#define FMon_dbg_Act0_candb_dbg(x, y) _FMon_dbg_Act0_candb_dbg((x), (y)) +#define FMon_dbg_Act1_candb_dbg(x, y) _FMon_dbg_Act1_candb_dbg((x), (y)) +#define FMon_dbg_Act2_candb_dbg(x, y) _FMon_dbg_Act2_candb_dbg((x), (y)) +#define FMon_dbg_Sen_Amb_candb_dbg(x, y) _FMon_dbg_Sen_Amb_candb_dbg((x), (y)) +#define FMon_dbg_Sen_0_candb_dbg(x, y) _FMon_dbg_Sen_0_candb_dbg((x), (y)) +#define FMon_dbg_CCU_IO_candb_dbg(x, y) _FMon_dbg_CCU_IO_candb_dbg((x), (y)) +#define FMon_dbg_CCU_Info_candb_dbg(x, y) _FMon_dbg_CCU_Info_candb_dbg((x), (y)) +#define FMon_dbg_Drs_candb_dbg(x, y) _FMon_dbg_Drs_candb_dbg((x), (y)) +#define FMon_dbg_Sen_Incar_candb_dbg(x, y) _FMon_dbg_Sen_Incar_candb_dbg((x), (y)) +#define FMon_dbg_Cmd_Act_Information_candb_dbg(x, y) _FMon_dbg_Cmd_Act_Information_candb_dbg((x), (y)) +#define FMon_dbg_Info_Act1_candb_dbg(x, y) _FMon_dbg_Info_Act1_candb_dbg((x), (y)) +#define FMon_dbg_Info_Act2_candb_dbg(x, y) _FMon_dbg_Info_Act2_candb_dbg((x), (y)) +#define FMon_dbg_Sen_Eva_candb_dbg(x, y) _FMon_dbg_Sen_Eva_candb_dbg((x), (y)) +#define FMon_dbg_Sen_Duct_candb_dbg(x, y) _FMon_dbg_Sen_Duct_candb_dbg((x), (y)) +#define FMon_dbg_Sen_Demist_candb_dbg(x, y) _FMon_dbg_Sen_Demist_candb_dbg((x), (y)) +#define FMon_dbg_LIN_AirQS_Stat_candb_dbg(x, y) _FMon_dbg_LIN_AirQS_Stat_candb_dbg((x), (y)) +#define FMon_dbg_LIN_Aroma_Stat_candb_dbg(x, y) _FMon_dbg_LIN_Aroma_Stat_candb_dbg((x), (y)) +#define FMon_dbg_LIN_Ionizer_Stat_candb_dbg(x, y) _FMon_dbg_LIN_Ionizer_Stat_candb_dbg((x), (y)) +#define FMon_dbg_LIN_eTXV_Stat_candb_dbg(x, y) _FMon_dbg_LIN_eTXV_Stat_candb_dbg((x), (y)) +#define FMon_dbg_LIN_DRS_Stat_candb_dbg(x, y) _FMon_dbg_LIN_DRS_Stat_candb_dbg((x), (y)) +#define FMon_dbg_Auto_AF_candb_dbg(x, y) _FMon_dbg_Auto_AF_candb_dbg((x), (y)) +#define FMon_dbg_Auto_Duct_candb_dbg(x, y) _FMon_dbg_Auto_Duct_candb_dbg((x), (y)) +#define FMon_dbg_Auto_Valve_Plus_candb_dbg(x, y) _FMon_dbg_Auto_Valve_Plus_candb_dbg((x), (y)) +#define FMon_XCP_CCU_RX_candb_dbg(x, y) _FMon_XCP_CCU_RX_candb_dbg((x), (y)) +#define FMon_XCP_CCU_TX_candb_dbg(x, y) _FMon_XCP_CCU_TX_candb_dbg((x), (y)) + +#endif + +#endif // CANDB_DBG_USE_DIAG_MONITORS + +#ifdef __cplusplus +} +#endif diff --git a/lib/candb_dbg.c b/lib/candb_dbg.c new file mode 100644 index 0000000..81ebb5f --- /dev/null +++ b/lib/candb_dbg.c @@ -0,0 +1,2717 @@ +// Generator version : v3.1 +// DBC filename : CCUdbg.dbc +#include "candb_dbg.h" + + +// DBC file version +#if (VER_CANDB_DBG_MAJ != (0U)) || (VER_CANDB_DBG_MIN != (0U)) +#error The CANDB_DBG dbc source files have different versions +#endif + +#ifdef CANDB_DBG_USE_DIAG_MONITORS +// Function prototypes to be called each time CAN frame is unpacked +// FMon function may detect RC, CRC or DLC violation +#include "candb_dbg-fmon.h" + +#endif // CANDB_DBG_USE_DIAG_MONITORS + +// This macro guard for the case when you need to enable +// using diag monitors but there is no necessity in proper +// SysTick provider. For providing one you need define macro +// before this line - in dbccodeconf.h + +#ifndef GetSystemTick +#define GetSystemTick() (0u) +#endif + +// This macro guard is for the case when you want to build +// app with enabled optoin auto CSM, but don't yet have +// proper getframehash implementation + +#ifndef GetFrameHash +#define GetFrameHash(a,b,c,d,e) (0u) +#endif + +// This function performs extension of sign for the signals +// whose bit width value is not aligned to one of power of 2 or less than 8. +// The types 'bitext_t' and 'ubitext_t' define the biggest bit width which +// can be correctly handled. You need to select type which can contain +// n+1 bits where n is the largest signed signal width. For example if +// the most wide signed signal has a width of 31 bits you need to set +// bitext_t as int32_t and ubitext_t as uint32_t +// Defined these typedefs in @dbccodeconf.h or locally in 'dbcdrvname'-config.h +static bitext_t __ext_sig__(ubitext_t val, uint8_t bits) +{ + ubitext_t const m = (ubitext_t) (1u << (bits - 1u)); + return ((val ^ m) - m); +} + +uint32_t Unpack_dbg_Logic_State_candb_dbg(dbg_Logic_State_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Logic_Operation_Mode = (uint8_t) ( (_d[0] & (0x03U)) ); + _m->Logic_Amb_Level = (uint8_t) ( ((_d[0] >> 2U) & (0x0FU)) ); + _m->Logic_AutoDemist_Electric = (uint8_t) ( ((_d[0] >> 6U) & (0x01U)) ); + _m->Logic_AutoDemist_Garage = (uint8_t) ( ((_d[0] >> 7U) & (0x01U)) ); + _m->Logic_AutoDemist_Lv_Summer = (uint8_t) ( (_d[1] & (0x0FU)) ); + _m->Logic_RemoteStart = (uint8_t) ( ((_d[1] >> 4U) & (0x03U)) ); + _m->Logic_Rest_Mode = (uint8_t) ( ((_d[1] >> 6U) & (0x03U)) ); + _m->Logic_LoHi_Front = (uint8_t) ( (_d[2] & (0xFFU)) ); + _m->Logic_LoHi_Rear = (uint8_t) ( (_d[3] & (0xFFU)) ); + _m->Logic_2WayValve_Status = (uint8_t) ( (_d[4] & (0x03U)) ); + _m->Logic_Full_Auto_FL = (uint8_t) ( ((_d[4] >> 2U) & (0x01U)) ); + _m->Logic_Full_Auto_FR = (uint8_t) ( ((_d[4] >> 3U) & (0x01U)) ); + _m->Logic_Full_Auto_RL = (uint8_t) ( ((_d[4] >> 4U) & (0x01U)) ); + _m->Logic_Full_Auto_RR = (uint8_t) ( ((_d[4] >> 5U) & (0x01U)) ); + _m->Logic_Full_MaxAc = (uint8_t) ( ((_d[4] >> 6U) & (0x01U)) ); + _m->Logic_Full_MaxDef = (uint8_t) ( ((_d[4] >> 7U) & (0x01U)) ); + _m->Logic_Start_Ctrl_Front = (uint8_t) ( (_d[5] & (0x07U)) ); + _m->Logic_Start_Ctrl_Rear = (uint8_t) ( ((_d[5] >> 3U) & (0x07U)) ); + _m->Logic_Valve_Use_DiffBlr_R2 = (uint8_t) ( ((_d[5] >> 6U) & (0x01U)) ); + _m->Logic_Duct_WaitCorrection_FRL = (uint8_t) ( (_d[6] & (0x03U)) ); + _m->Logic_Duct_WaitCorrection_FLL = (uint8_t) ( ((_d[6] >> 2U) & (0x03U)) ); + _m->Logic_AutoDemist_Lv_Winter = (uint8_t) ( ((_d[6] >> 4U) & (0x0FU)) ); + _m->Logic_AF_WaitCorrection_FL = (uint8_t) ( (_d[7] & (0x03U)) ); + _m->Logic_AF_WaitCorrection_FR = (uint8_t) ( ((_d[7] >> 2U) & (0x03U)) ); + +#ifdef CANDB_DBG_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < dbg_Logic_State_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_dbg_Logic_State_candb_dbg(&_m->mon1, dbg_Logic_State_CANID); +#endif // CANDB_DBG_USE_DIAG_MONITORS + + return dbg_Logic_State_CANID; +} + +#ifdef CANDB_DBG_USE_CANSTRUCT + +uint32_t Pack_dbg_Logic_State_candb_dbg(dbg_Logic_State_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_DBG_VALIDATE_DLC(dbg_Logic_State_DLC); cframe->Data[i++] = CANDB_DBG_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->Logic_Operation_Mode & (0x03U)) | ((_m->Logic_Amb_Level & (0x0FU)) << 2U) | ((_m->Logic_AutoDemist_Electric & (0x01U)) << 6U) | ((_m->Logic_AutoDemist_Garage & (0x01U)) << 7U) ); + cframe->Data[1] |= (uint8_t) ( (_m->Logic_AutoDemist_Lv_Summer & (0x0FU)) | ((_m->Logic_RemoteStart & (0x03U)) << 4U) | ((_m->Logic_Rest_Mode & (0x03U)) << 6U) ); + cframe->Data[2] |= (uint8_t) ( (_m->Logic_LoHi_Front & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( (_m->Logic_LoHi_Rear & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( (_m->Logic_2WayValve_Status & (0x03U)) | ((_m->Logic_Full_Auto_FL & (0x01U)) << 2U) | ((_m->Logic_Full_Auto_FR & (0x01U)) << 3U) | ((_m->Logic_Full_Auto_RL & (0x01U)) << 4U) | ((_m->Logic_Full_Auto_RR & (0x01U)) << 5U) | ((_m->Logic_Full_MaxAc & (0x01U)) << 6U) | ((_m->Logic_Full_MaxDef & (0x01U)) << 7U) ); + cframe->Data[5] |= (uint8_t) ( (_m->Logic_Start_Ctrl_Front & (0x07U)) | ((_m->Logic_Start_Ctrl_Rear & (0x07U)) << 3U) | ((_m->Logic_Valve_Use_DiffBlr_R2 & (0x01U)) << 6U) ); + cframe->Data[6] |= (uint8_t) ( (_m->Logic_Duct_WaitCorrection_FRL & (0x03U)) | ((_m->Logic_Duct_WaitCorrection_FLL & (0x03U)) << 2U) | ((_m->Logic_AutoDemist_Lv_Winter & (0x0FU)) << 4U) ); + cframe->Data[7] |= (uint8_t) ( (_m->Logic_AF_WaitCorrection_FL & (0x03U)) | ((_m->Logic_AF_WaitCorrection_FR & (0x03U)) << 2U) ); + + cframe->MsgId = (uint32_t) dbg_Logic_State_CANID; + cframe->DLC = (uint8_t) dbg_Logic_State_DLC; + cframe->IDE = (uint8_t) dbg_Logic_State_IDE; + return dbg_Logic_State_CANID; +} + +#else + +uint32_t Pack_dbg_Logic_State_candb_dbg(dbg_Logic_State_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_DBG_VALIDATE_DLC(dbg_Logic_State_DLC); _d[i++] = CANDB_DBG_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->Logic_Operation_Mode & (0x03U)) | ((_m->Logic_Amb_Level & (0x0FU)) << 2U) | ((_m->Logic_AutoDemist_Electric & (0x01U)) << 6U) | ((_m->Logic_AutoDemist_Garage & (0x01U)) << 7U) ); + _d[1] |= (uint8_t) ( (_m->Logic_AutoDemist_Lv_Summer & (0x0FU)) | ((_m->Logic_RemoteStart & (0x03U)) << 4U) | ((_m->Logic_Rest_Mode & (0x03U)) << 6U) ); + _d[2] |= (uint8_t) ( (_m->Logic_LoHi_Front & (0xFFU)) ); + _d[3] |= (uint8_t) ( (_m->Logic_LoHi_Rear & (0xFFU)) ); + _d[4] |= (uint8_t) ( (_m->Logic_2WayValve_Status & (0x03U)) | ((_m->Logic_Full_Auto_FL & (0x01U)) << 2U) | ((_m->Logic_Full_Auto_FR & (0x01U)) << 3U) | ((_m->Logic_Full_Auto_RL & (0x01U)) << 4U) | ((_m->Logic_Full_Auto_RR & (0x01U)) << 5U) | ((_m->Logic_Full_MaxAc & (0x01U)) << 6U) | ((_m->Logic_Full_MaxDef & (0x01U)) << 7U) ); + _d[5] |= (uint8_t) ( (_m->Logic_Start_Ctrl_Front & (0x07U)) | ((_m->Logic_Start_Ctrl_Rear & (0x07U)) << 3U) | ((_m->Logic_Valve_Use_DiffBlr_R2 & (0x01U)) << 6U) ); + _d[6] |= (uint8_t) ( (_m->Logic_Duct_WaitCorrection_FRL & (0x03U)) | ((_m->Logic_Duct_WaitCorrection_FLL & (0x03U)) << 2U) | ((_m->Logic_AutoDemist_Lv_Winter & (0x0FU)) << 4U) ); + _d[7] |= (uint8_t) ( (_m->Logic_AF_WaitCorrection_FL & (0x03U)) | ((_m->Logic_AF_WaitCorrection_FR & (0x03U)) << 2U) ); + + *_len = (uint8_t) dbg_Logic_State_DLC; + *_ide = (uint8_t) dbg_Logic_State_IDE; + return dbg_Logic_State_CANID; +} + +#endif // CANDB_DBG_USE_CANSTRUCT + +uint32_t Unpack_dbg_Logic_KM_Status_candb_dbg(dbg_Logic_KM_Status_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Logic_KM_Mode_FL = (uint8_t) ( (_d[0] & (0x0FU)) ); + _m->Logic_KM_Mode_FR = (uint8_t) ( ((_d[0] >> 4U) & (0x0FU)) ); + _m->Logic_KM_Mode_RL = (uint8_t) ( (_d[1] & (0x0FU)) ); + _m->Logic_KM_Mode_RR = (uint8_t) ( ((_d[1] >> 4U) & (0x0FU)) ); + _m->Logic_KM_Blower_FL = (uint8_t) ( (_d[2] & (0x0FU)) ); + _m->Logic_KM_Blower_FR = (uint8_t) ( ((_d[2] >> 4U) & (0x0FU)) ); + _m->Logic_KM_Blower_RL = (uint8_t) ( (_d[3] & (0x0FU)) ); + _m->Logic_KM_Blower_RR = (uint8_t) ( ((_d[3] >> 4U) & (0x0FU)) ); + +#ifdef CANDB_DBG_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < dbg_Logic_KM_Status_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_dbg_Logic_KM_Status_candb_dbg(&_m->mon1, dbg_Logic_KM_Status_CANID); +#endif // CANDB_DBG_USE_DIAG_MONITORS + + return dbg_Logic_KM_Status_CANID; +} + +#ifdef CANDB_DBG_USE_CANSTRUCT + +uint32_t Pack_dbg_Logic_KM_Status_candb_dbg(dbg_Logic_KM_Status_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_DBG_VALIDATE_DLC(dbg_Logic_KM_Status_DLC); cframe->Data[i++] = CANDB_DBG_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->Logic_KM_Mode_FL & (0x0FU)) | ((_m->Logic_KM_Mode_FR & (0x0FU)) << 4U) ); + cframe->Data[1] |= (uint8_t) ( (_m->Logic_KM_Mode_RL & (0x0FU)) | ((_m->Logic_KM_Mode_RR & (0x0FU)) << 4U) ); + cframe->Data[2] |= (uint8_t) ( (_m->Logic_KM_Blower_FL & (0x0FU)) | ((_m->Logic_KM_Blower_FR & (0x0FU)) << 4U) ); + cframe->Data[3] |= (uint8_t) ( (_m->Logic_KM_Blower_RL & (0x0FU)) | ((_m->Logic_KM_Blower_RR & (0x0FU)) << 4U) ); + + cframe->MsgId = (uint32_t) dbg_Logic_KM_Status_CANID; + cframe->DLC = (uint8_t) dbg_Logic_KM_Status_DLC; + cframe->IDE = (uint8_t) dbg_Logic_KM_Status_IDE; + return dbg_Logic_KM_Status_CANID; +} + +#else + +uint32_t Pack_dbg_Logic_KM_Status_candb_dbg(dbg_Logic_KM_Status_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_DBG_VALIDATE_DLC(dbg_Logic_KM_Status_DLC); _d[i++] = CANDB_DBG_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->Logic_KM_Mode_FL & (0x0FU)) | ((_m->Logic_KM_Mode_FR & (0x0FU)) << 4U) ); + _d[1] |= (uint8_t) ( (_m->Logic_KM_Mode_RL & (0x0FU)) | ((_m->Logic_KM_Mode_RR & (0x0FU)) << 4U) ); + _d[2] |= (uint8_t) ( (_m->Logic_KM_Blower_FL & (0x0FU)) | ((_m->Logic_KM_Blower_FR & (0x0FU)) << 4U) ); + _d[3] |= (uint8_t) ( (_m->Logic_KM_Blower_RL & (0x0FU)) | ((_m->Logic_KM_Blower_RR & (0x0FU)) << 4U) ); + + *_len = (uint8_t) dbg_Logic_KM_Status_DLC; + *_ide = (uint8_t) dbg_Logic_KM_Status_IDE; + return dbg_Logic_KM_Status_CANID; +} + +#endif // CANDB_DBG_USE_CANSTRUCT + +uint32_t Unpack_dbg_Logic_Valve_candb_dbg(dbg_Logic_Valve_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Logic_Valve_Index_FL = (uint8_t) ( (_d[0] & (0xFFU)) ); + _m->Logic_Valve_Index_FR = (uint8_t) ( (_d[1] & (0xFFU)) ); + _m->Logic_Valve_Index_RL = (uint8_t) ( (_d[2] & (0xFFU)) ); + _m->Logic_Valve_Index_RR = (uint8_t) ( (_d[3] & (0xFFU)) ); + _m->Logic_Valve_Direction_FL = (uint8_t) ( (_d[4] & (0x0FU)) ); + _m->Logic_Valve_Direction_FR = (uint8_t) ( ((_d[4] >> 4U) & (0x0FU)) ); + _m->Logic_Valve_Direction_RL = (uint8_t) ( (_d[5] & (0x0FU)) ); + _m->Logic_Valve_Direction_RR = (uint8_t) ( ((_d[5] >> 4U) & (0x0FU)) ); + +#ifdef CANDB_DBG_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < dbg_Logic_Valve_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_dbg_Logic_Valve_candb_dbg(&_m->mon1, dbg_Logic_Valve_CANID); +#endif // CANDB_DBG_USE_DIAG_MONITORS + + return dbg_Logic_Valve_CANID; +} + +#ifdef CANDB_DBG_USE_CANSTRUCT + +uint32_t Pack_dbg_Logic_Valve_candb_dbg(dbg_Logic_Valve_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_DBG_VALIDATE_DLC(dbg_Logic_Valve_DLC); cframe->Data[i++] = CANDB_DBG_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->Logic_Valve_Index_FL & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( (_m->Logic_Valve_Index_FR & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( (_m->Logic_Valve_Index_RL & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( (_m->Logic_Valve_Index_RR & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( (_m->Logic_Valve_Direction_FL & (0x0FU)) | ((_m->Logic_Valve_Direction_FR & (0x0FU)) << 4U) ); + cframe->Data[5] |= (uint8_t) ( (_m->Logic_Valve_Direction_RL & (0x0FU)) | ((_m->Logic_Valve_Direction_RR & (0x0FU)) << 4U) ); + + cframe->MsgId = (uint32_t) dbg_Logic_Valve_CANID; + cframe->DLC = (uint8_t) dbg_Logic_Valve_DLC; + cframe->IDE = (uint8_t) dbg_Logic_Valve_IDE; + return dbg_Logic_Valve_CANID; +} + +#else + +uint32_t Pack_dbg_Logic_Valve_candb_dbg(dbg_Logic_Valve_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_DBG_VALIDATE_DLC(dbg_Logic_Valve_DLC); _d[i++] = CANDB_DBG_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->Logic_Valve_Index_FL & (0xFFU)) ); + _d[1] |= (uint8_t) ( (_m->Logic_Valve_Index_FR & (0xFFU)) ); + _d[2] |= (uint8_t) ( (_m->Logic_Valve_Index_RL & (0xFFU)) ); + _d[3] |= (uint8_t) ( (_m->Logic_Valve_Index_RR & (0xFFU)) ); + _d[4] |= (uint8_t) ( (_m->Logic_Valve_Direction_FL & (0x0FU)) | ((_m->Logic_Valve_Direction_FR & (0x0FU)) << 4U) ); + _d[5] |= (uint8_t) ( (_m->Logic_Valve_Direction_RL & (0x0FU)) | ((_m->Logic_Valve_Direction_RR & (0x0FU)) << 4U) ); + + *_len = (uint8_t) dbg_Logic_Valve_DLC; + *_ide = (uint8_t) dbg_Logic_Valve_IDE; + return dbg_Logic_Valve_CANID; +} + +#endif // CANDB_DBG_USE_CANSTRUCT + +uint32_t Unpack_dbg_Logic_Blower_candb_dbg(dbg_Logic_Blower_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Logic_Blower_Step_FL = (uint8_t) ( (_d[0] & (0x0FU)) ); + _m->Logic_Blower_Step_FR = (uint8_t) ( ((_d[0] >> 4U) & (0x0FU)) ); + _m->Logic_Blower_Step_RL = (uint8_t) ( (_d[1] & (0x0FU)) ); + _m->Logic_Blower_Step_RR = (uint8_t) ( ((_d[1] >> 4U) & (0x0FU)) ); + _m->Logic_Blower_Pwm_Front = (uint8_t) ( (_d[2] & (0xFFU)) ); + _m->Logic_Blower_Pwm_Rear = (uint8_t) ( (_d[3] & (0xFFU)) ); + _m->Logic_Blower_AF_FL = (uint8_t) ( (_d[4] & (0xFFU)) ); + _m->Logic_Blower_AF_FR = (uint8_t) ( (_d[5] & (0xFFU)) ); + _m->Logic_Blower_AF_RL = (uint8_t) ( (_d[6] & (0xFFU)) ); + _m->Logic_Blower_AF_RR = (uint8_t) ( (_d[7] & (0xFFU)) ); + +#ifdef CANDB_DBG_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < dbg_Logic_Blower_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_dbg_Logic_Blower_candb_dbg(&_m->mon1, dbg_Logic_Blower_CANID); +#endif // CANDB_DBG_USE_DIAG_MONITORS + + return dbg_Logic_Blower_CANID; +} + +#ifdef CANDB_DBG_USE_CANSTRUCT + +uint32_t Pack_dbg_Logic_Blower_candb_dbg(dbg_Logic_Blower_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_DBG_VALIDATE_DLC(dbg_Logic_Blower_DLC); cframe->Data[i++] = CANDB_DBG_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->Logic_Blower_Step_FL & (0x0FU)) | ((_m->Logic_Blower_Step_FR & (0x0FU)) << 4U) ); + cframe->Data[1] |= (uint8_t) ( (_m->Logic_Blower_Step_RL & (0x0FU)) | ((_m->Logic_Blower_Step_RR & (0x0FU)) << 4U) ); + cframe->Data[2] |= (uint8_t) ( (_m->Logic_Blower_Pwm_Front & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( (_m->Logic_Blower_Pwm_Rear & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( (_m->Logic_Blower_AF_FL & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( (_m->Logic_Blower_AF_FR & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( (_m->Logic_Blower_AF_RL & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->Logic_Blower_AF_RR & (0xFFU)) ); + + cframe->MsgId = (uint32_t) dbg_Logic_Blower_CANID; + cframe->DLC = (uint8_t) dbg_Logic_Blower_DLC; + cframe->IDE = (uint8_t) dbg_Logic_Blower_IDE; + return dbg_Logic_Blower_CANID; +} + +#else + +uint32_t Pack_dbg_Logic_Blower_candb_dbg(dbg_Logic_Blower_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_DBG_VALIDATE_DLC(dbg_Logic_Blower_DLC); _d[i++] = CANDB_DBG_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->Logic_Blower_Step_FL & (0x0FU)) | ((_m->Logic_Blower_Step_FR & (0x0FU)) << 4U) ); + _d[1] |= (uint8_t) ( (_m->Logic_Blower_Step_RL & (0x0FU)) | ((_m->Logic_Blower_Step_RR & (0x0FU)) << 4U) ); + _d[2] |= (uint8_t) ( (_m->Logic_Blower_Pwm_Front & (0xFFU)) ); + _d[3] |= (uint8_t) ( (_m->Logic_Blower_Pwm_Rear & (0xFFU)) ); + _d[4] |= (uint8_t) ( (_m->Logic_Blower_AF_FL & (0xFFU)) ); + _d[5] |= (uint8_t) ( (_m->Logic_Blower_AF_FR & (0xFFU)) ); + _d[6] |= (uint8_t) ( (_m->Logic_Blower_AF_RL & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->Logic_Blower_AF_RR & (0xFFU)) ); + + *_len = (uint8_t) dbg_Logic_Blower_DLC; + *_ide = (uint8_t) dbg_Logic_Blower_IDE; + return dbg_Logic_Blower_CANID; +} + +#endif // CANDB_DBG_USE_CANSTRUCT + +uint32_t Unpack_dbg_Logic_Ac_candb_dbg(dbg_Logic_Ac_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Logic_Ac_Req_Front = (uint8_t) ( (_d[0] & (0x01U)) ); + _m->Logic_Ac_Txv_Front = (uint8_t) ( ((_d[0] >> 1U) & (0x01U)) ); + _m->Logic_Ac_Txv_Rear = (uint8_t) ( ((_d[0] >> 2U) & (0x01U)) ); + _m->Logic_Ac_Req_Rear = (uint8_t) ( ((_d[0] >> 3U) & (0x01U)) ); + _m->Logic_Ac_Req_Chiller = (uint8_t) ( ((_d[0] >> 4U) & (0x01U)) ); + _m->Logic_Ac_Txv_Chiller = (uint8_t) ( ((_d[0] >> 5U) & (0x01U)) ); + _m->Logic_Ac_EvaCtrl = (uint8_t) ( (_d[1] & (0x0FU)) ); + _m->Logic_Ac_Comp_EmrStop_Reason = (uint8_t) ( ((_d[1] >> 4U) & (0x0FU)) ); + _m->Logic_Ac_Comp_LimitRpm_ro = (uint8_t) ( (_d[2] & (0xFFU)) ); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->Logic_Ac_Comp_LimitRpm_phys = (uint16_t) CANDB_DBG_Logic_Ac_Comp_LimitRpm_ro_fromS(_m->Logic_Ac_Comp_LimitRpm_ro); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->Logic_Ac_Txv_Closed_bySen = (uint8_t) ( (_d[3] & (0x01U)) ); + _m->Logic_Ac_Comp_Protection_Level = (uint8_t) ( ((_d[3] >> 2U) & (0x03U)) ); + _m->Logic_Ac_WinterSts_Front = (uint8_t) ( ((_d[3] >> 4U) & (0x03U)) ); + _m->Logic_Ac_WinterSts_Rear = (uint8_t) ( ((_d[3] >> 6U) & (0x03U)) ); + +#ifdef CANDB_DBG_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < dbg_Logic_Ac_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_dbg_Logic_Ac_candb_dbg(&_m->mon1, dbg_Logic_Ac_CANID); +#endif // CANDB_DBG_USE_DIAG_MONITORS + + return dbg_Logic_Ac_CANID; +} + +#ifdef CANDB_DBG_USE_CANSTRUCT + +uint32_t Pack_dbg_Logic_Ac_candb_dbg(dbg_Logic_Ac_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_DBG_VALIDATE_DLC(dbg_Logic_Ac_DLC); cframe->Data[i++] = CANDB_DBG_INITIAL_BYTE_VALUE); + +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->Logic_Ac_Comp_LimitRpm_ro = (uint8_t) CANDB_DBG_Logic_Ac_Comp_LimitRpm_ro_toS(_m->Logic_Ac_Comp_LimitRpm_phys); +#endif // CANDB_DBG_USE_SIGFLOAT + + cframe->Data[0] |= (uint8_t) ( (_m->Logic_Ac_Req_Front & (0x01U)) | ((_m->Logic_Ac_Txv_Front & (0x01U)) << 1U) | ((_m->Logic_Ac_Txv_Rear & (0x01U)) << 2U) | ((_m->Logic_Ac_Req_Rear & (0x01U)) << 3U) | ((_m->Logic_Ac_Req_Chiller & (0x01U)) << 4U) | ((_m->Logic_Ac_Txv_Chiller & (0x01U)) << 5U) ); + cframe->Data[1] |= (uint8_t) ( (_m->Logic_Ac_EvaCtrl & (0x0FU)) | ((_m->Logic_Ac_Comp_EmrStop_Reason & (0x0FU)) << 4U) ); + cframe->Data[2] |= (uint8_t) ( (_m->Logic_Ac_Comp_LimitRpm_ro & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( (_m->Logic_Ac_Txv_Closed_bySen & (0x01U)) | ((_m->Logic_Ac_Comp_Protection_Level & (0x03U)) << 2U) | ((_m->Logic_Ac_WinterSts_Front & (0x03U)) << 4U) | ((_m->Logic_Ac_WinterSts_Rear & (0x03U)) << 6U) ); + + cframe->MsgId = (uint32_t) dbg_Logic_Ac_CANID; + cframe->DLC = (uint8_t) dbg_Logic_Ac_DLC; + cframe->IDE = (uint8_t) dbg_Logic_Ac_IDE; + return dbg_Logic_Ac_CANID; +} + +#else + +uint32_t Pack_dbg_Logic_Ac_candb_dbg(dbg_Logic_Ac_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_DBG_VALIDATE_DLC(dbg_Logic_Ac_DLC); _d[i++] = CANDB_DBG_INITIAL_BYTE_VALUE); + +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->Logic_Ac_Comp_LimitRpm_ro = (uint8_t) CANDB_DBG_Logic_Ac_Comp_LimitRpm_ro_toS(_m->Logic_Ac_Comp_LimitRpm_phys); +#endif // CANDB_DBG_USE_SIGFLOAT + + _d[0] |= (uint8_t) ( (_m->Logic_Ac_Req_Front & (0x01U)) | ((_m->Logic_Ac_Txv_Front & (0x01U)) << 1U) | ((_m->Logic_Ac_Txv_Rear & (0x01U)) << 2U) | ((_m->Logic_Ac_Req_Rear & (0x01U)) << 3U) | ((_m->Logic_Ac_Req_Chiller & (0x01U)) << 4U) | ((_m->Logic_Ac_Txv_Chiller & (0x01U)) << 5U) ); + _d[1] |= (uint8_t) ( (_m->Logic_Ac_EvaCtrl & (0x0FU)) | ((_m->Logic_Ac_Comp_EmrStop_Reason & (0x0FU)) << 4U) ); + _d[2] |= (uint8_t) ( (_m->Logic_Ac_Comp_LimitRpm_ro & (0xFFU)) ); + _d[3] |= (uint8_t) ( (_m->Logic_Ac_Txv_Closed_bySen & (0x01U)) | ((_m->Logic_Ac_Comp_Protection_Level & (0x03U)) << 2U) | ((_m->Logic_Ac_WinterSts_Front & (0x03U)) << 4U) | ((_m->Logic_Ac_WinterSts_Rear & (0x03U)) << 6U) ); + + *_len = (uint8_t) dbg_Logic_Ac_DLC; + *_ide = (uint8_t) dbg_Logic_Ac_IDE; + return dbg_Logic_Ac_CANID; +} + +#endif // CANDB_DBG_USE_CANSTRUCT + +uint32_t Unpack_dbg_Logic_Rec_candb_dbg(dbg_Logic_Rec_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Logic_Rec_Idx = (uint8_t) ( (_d[0] & (0x01U)) ); + _m->Logic_Rec_Partial_Spd_Sts = (uint8_t) ( ((_d[0] >> 1U) & (0x01U)) ); + _m->Logic_Rec_Partial_Winter = (uint8_t) ( ((_d[0] >> 2U) & (0x01U)) ); + _m->Logic_Rec_Partial_Summer = (uint8_t) ( ((_d[0] >> 4U) & (0x03U)) ); + _m->Logic_Rec_FreshAirPurge_Sts = (uint8_t) ( (_d[1] & (0x0FU)) ); + +#ifdef CANDB_DBG_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < dbg_Logic_Rec_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_dbg_Logic_Rec_candb_dbg(&_m->mon1, dbg_Logic_Rec_CANID); +#endif // CANDB_DBG_USE_DIAG_MONITORS + + return dbg_Logic_Rec_CANID; +} + +#ifdef CANDB_DBG_USE_CANSTRUCT + +uint32_t Pack_dbg_Logic_Rec_candb_dbg(dbg_Logic_Rec_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_DBG_VALIDATE_DLC(dbg_Logic_Rec_DLC); cframe->Data[i++] = CANDB_DBG_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->Logic_Rec_Idx & (0x01U)) | ((_m->Logic_Rec_Partial_Spd_Sts & (0x01U)) << 1U) | ((_m->Logic_Rec_Partial_Winter & (0x01U)) << 2U) | ((_m->Logic_Rec_Partial_Summer & (0x03U)) << 4U) ); + cframe->Data[1] |= (uint8_t) ( (_m->Logic_Rec_FreshAirPurge_Sts & (0x0FU)) ); + + cframe->MsgId = (uint32_t) dbg_Logic_Rec_CANID; + cframe->DLC = (uint8_t) dbg_Logic_Rec_DLC; + cframe->IDE = (uint8_t) dbg_Logic_Rec_IDE; + return dbg_Logic_Rec_CANID; +} + +#else + +uint32_t Pack_dbg_Logic_Rec_candb_dbg(dbg_Logic_Rec_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_DBG_VALIDATE_DLC(dbg_Logic_Rec_DLC); _d[i++] = CANDB_DBG_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->Logic_Rec_Idx & (0x01U)) | ((_m->Logic_Rec_Partial_Spd_Sts & (0x01U)) << 1U) | ((_m->Logic_Rec_Partial_Winter & (0x01U)) << 2U) | ((_m->Logic_Rec_Partial_Summer & (0x03U)) << 4U) ); + _d[1] |= (uint8_t) ( (_m->Logic_Rec_FreshAirPurge_Sts & (0x0FU)) ); + + *_len = (uint8_t) dbg_Logic_Rec_DLC; + *_ide = (uint8_t) dbg_Logic_Rec_IDE; + return dbg_Logic_Rec_CANID; +} + +#endif // CANDB_DBG_USE_CANSTRUCT + +uint32_t Unpack_dbg_DiffBlr_ValveOpen_candb_dbg(dbg_DiffBlr_ValveOpen_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Logic_ValveOpen_MultMsg_Idx = (uint8_t) ( (_d[0] & (0x03U)) ); + _m->Logic_ValveOpen_R2_SFL = (uint8_t) ( (_d[1] & (0xFFU)) ); + _m->Logic_ValveOpen_R1_SFL = (uint8_t) ( (_d[1] & (0xFFU)) ); + _m->Logic_ValveOpen_R2_CFL = (uint8_t) ( (_d[2] & (0xFFU)) ); + _m->Logic_ValveOpen_R1_CFL = (uint8_t) ( (_d[2] & (0xFFU)) ); + _m->Logic_ValveOpen_R2_CFR = (uint8_t) ( (_d[3] & (0xFFU)) ); + _m->Logic_ValveOpen_R1_CFR = (uint8_t) ( (_d[3] & (0xFFU)) ); + _m->Logic_ValveOpen_R2_SFR = (uint8_t) ( (_d[4] & (0xFFU)) ); + _m->Logic_ValveOpen_R1_SFR = (uint8_t) ( (_d[4] & (0xFFU)) ); + +#ifdef CANDB_DBG_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < dbg_DiffBlr_ValveOpen_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_dbg_DiffBlr_ValveOpen_candb_dbg(&_m->mon1, dbg_DiffBlr_ValveOpen_CANID); +#endif // CANDB_DBG_USE_DIAG_MONITORS + + return dbg_DiffBlr_ValveOpen_CANID; +} + +#ifdef CANDB_DBG_USE_CANSTRUCT + +uint32_t Pack_dbg_DiffBlr_ValveOpen_candb_dbg(dbg_DiffBlr_ValveOpen_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_DBG_VALIDATE_DLC(dbg_DiffBlr_ValveOpen_DLC); cframe->Data[i++] = CANDB_DBG_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->Logic_ValveOpen_MultMsg_Idx & (0x03U)) ); + cframe->Data[1] |= (uint8_t) ( (_m->Logic_ValveOpen_R2_SFL & (0xFFU)) | (_m->Logic_ValveOpen_R1_SFL & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( (_m->Logic_ValveOpen_R2_CFL & (0xFFU)) | (_m->Logic_ValveOpen_R1_CFL & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( (_m->Logic_ValveOpen_R2_CFR & (0xFFU)) | (_m->Logic_ValveOpen_R1_CFR & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( (_m->Logic_ValveOpen_R2_SFR & (0xFFU)) | (_m->Logic_ValveOpen_R1_SFR & (0xFFU)) ); + + cframe->MsgId = (uint32_t) dbg_DiffBlr_ValveOpen_CANID; + cframe->DLC = (uint8_t) dbg_DiffBlr_ValveOpen_DLC; + cframe->IDE = (uint8_t) dbg_DiffBlr_ValveOpen_IDE; + return dbg_DiffBlr_ValveOpen_CANID; +} + +#else + +uint32_t Pack_dbg_DiffBlr_ValveOpen_candb_dbg(dbg_DiffBlr_ValveOpen_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_DBG_VALIDATE_DLC(dbg_DiffBlr_ValveOpen_DLC); _d[i++] = CANDB_DBG_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->Logic_ValveOpen_MultMsg_Idx & (0x03U)) ); + _d[1] |= (uint8_t) ( (_m->Logic_ValveOpen_R2_SFL & (0xFFU)) | (_m->Logic_ValveOpen_R1_SFL & (0xFFU)) ); + _d[2] |= (uint8_t) ( (_m->Logic_ValveOpen_R2_CFL & (0xFFU)) | (_m->Logic_ValveOpen_R1_CFL & (0xFFU)) ); + _d[3] |= (uint8_t) ( (_m->Logic_ValveOpen_R2_CFR & (0xFFU)) | (_m->Logic_ValveOpen_R1_CFR & (0xFFU)) ); + _d[4] |= (uint8_t) ( (_m->Logic_ValveOpen_R2_SFR & (0xFFU)) | (_m->Logic_ValveOpen_R1_SFR & (0xFFU)) ); + + *_len = (uint8_t) dbg_DiffBlr_ValveOpen_DLC; + *_ide = (uint8_t) dbg_DiffBlr_ValveOpen_IDE; + return dbg_DiffBlr_ValveOpen_CANID; +} + +#endif // CANDB_DBG_USE_CANSTRUCT + +uint32_t Unpack_dbg_Act0_candb_dbg(dbg_Act0_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->dbg_Act00_Def = (uint8_t) ( (_d[0] & (0xFFU)) ); + _m->dbg_Act01_Vent_SFL = (uint8_t) ( (_d[1] & (0xFFU)) ); + _m->dbg_Act02_Vent_CFL = (uint8_t) ( (_d[2] & (0xFFU)) ); + _m->dbg_Act03_Foot_1FL = (uint8_t) ( (_d[3] & (0xFFU)) ); + _m->dbg_Act04_Foot_2FL = (uint8_t) ( (_d[4] & (0xFFU)) ); + _m->dbg_Act05_Vent_CFR = (uint8_t) ( (_d[5] & (0xFFU)) ); + _m->dbg_Act06_Vent_SFR = (uint8_t) ( (_d[6] & (0xFFU)) ); + _m->dbg_Act07_Foot_1FR = (uint8_t) ( (_d[7] & (0xFFU)) ); + +#ifdef CANDB_DBG_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < dbg_Act0_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_dbg_Act0_candb_dbg(&_m->mon1, dbg_Act0_CANID); +#endif // CANDB_DBG_USE_DIAG_MONITORS + + return dbg_Act0_CANID; +} + +#ifdef CANDB_DBG_USE_CANSTRUCT + +uint32_t Pack_dbg_Act0_candb_dbg(dbg_Act0_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_DBG_VALIDATE_DLC(dbg_Act0_DLC); cframe->Data[i++] = CANDB_DBG_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->dbg_Act00_Def & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( (_m->dbg_Act01_Vent_SFL & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( (_m->dbg_Act02_Vent_CFL & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( (_m->dbg_Act03_Foot_1FL & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( (_m->dbg_Act04_Foot_2FL & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( (_m->dbg_Act05_Vent_CFR & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( (_m->dbg_Act06_Vent_SFR & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->dbg_Act07_Foot_1FR & (0xFFU)) ); + + cframe->MsgId = (uint32_t) dbg_Act0_CANID; + cframe->DLC = (uint8_t) dbg_Act0_DLC; + cframe->IDE = (uint8_t) dbg_Act0_IDE; + return dbg_Act0_CANID; +} + +#else + +uint32_t Pack_dbg_Act0_candb_dbg(dbg_Act0_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_DBG_VALIDATE_DLC(dbg_Act0_DLC); _d[i++] = CANDB_DBG_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->dbg_Act00_Def & (0xFFU)) ); + _d[1] |= (uint8_t) ( (_m->dbg_Act01_Vent_SFL & (0xFFU)) ); + _d[2] |= (uint8_t) ( (_m->dbg_Act02_Vent_CFL & (0xFFU)) ); + _d[3] |= (uint8_t) ( (_m->dbg_Act03_Foot_1FL & (0xFFU)) ); + _d[4] |= (uint8_t) ( (_m->dbg_Act04_Foot_2FL & (0xFFU)) ); + _d[5] |= (uint8_t) ( (_m->dbg_Act05_Vent_CFR & (0xFFU)) ); + _d[6] |= (uint8_t) ( (_m->dbg_Act06_Vent_SFR & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->dbg_Act07_Foot_1FR & (0xFFU)) ); + + *_len = (uint8_t) dbg_Act0_DLC; + *_ide = (uint8_t) dbg_Act0_IDE; + return dbg_Act0_CANID; +} + +#endif // CANDB_DBG_USE_CANSTRUCT + +uint32_t Unpack_dbg_Act1_candb_dbg(dbg_Act1_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->dbg_Act08_Foot_2FR = (uint8_t) ( (_d[0] & (0xFFU)) ); + _m->dbg_Act09_Vent_SRL = (uint8_t) ( (_d[1] & (0xFFU)) ); + _m->dbg_Act10_Vent_CRL = (uint8_t) ( (_d[2] & (0xFFU)) ); + _m->dbg_Act11_Foot_RL = (uint8_t) ( (_d[3] & (0xFFU)) ); + _m->dbg_Act12_Vent_CRR = (uint8_t) ( (_d[4] & (0xFFU)) ); + _m->dbg_Act13_Vent_SRR = (uint8_t) ( (_d[5] & (0xFFU)) ); + _m->dbg_Act14_Foot_RR = (uint8_t) ( (_d[6] & (0xFFU)) ); + _m->dbg_Act15_TempU_FL = (uint8_t) ( (_d[7] & (0xFFU)) ); + +#ifdef CANDB_DBG_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < dbg_Act1_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_dbg_Act1_candb_dbg(&_m->mon1, dbg_Act1_CANID); +#endif // CANDB_DBG_USE_DIAG_MONITORS + + return dbg_Act1_CANID; +} + +#ifdef CANDB_DBG_USE_CANSTRUCT + +uint32_t Pack_dbg_Act1_candb_dbg(dbg_Act1_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_DBG_VALIDATE_DLC(dbg_Act1_DLC); cframe->Data[i++] = CANDB_DBG_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->dbg_Act08_Foot_2FR & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( (_m->dbg_Act09_Vent_SRL & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( (_m->dbg_Act10_Vent_CRL & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( (_m->dbg_Act11_Foot_RL & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( (_m->dbg_Act12_Vent_CRR & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( (_m->dbg_Act13_Vent_SRR & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( (_m->dbg_Act14_Foot_RR & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->dbg_Act15_TempU_FL & (0xFFU)) ); + + cframe->MsgId = (uint32_t) dbg_Act1_CANID; + cframe->DLC = (uint8_t) dbg_Act1_DLC; + cframe->IDE = (uint8_t) dbg_Act1_IDE; + return dbg_Act1_CANID; +} + +#else + +uint32_t Pack_dbg_Act1_candb_dbg(dbg_Act1_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_DBG_VALIDATE_DLC(dbg_Act1_DLC); _d[i++] = CANDB_DBG_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->dbg_Act08_Foot_2FR & (0xFFU)) ); + _d[1] |= (uint8_t) ( (_m->dbg_Act09_Vent_SRL & (0xFFU)) ); + _d[2] |= (uint8_t) ( (_m->dbg_Act10_Vent_CRL & (0xFFU)) ); + _d[3] |= (uint8_t) ( (_m->dbg_Act11_Foot_RL & (0xFFU)) ); + _d[4] |= (uint8_t) ( (_m->dbg_Act12_Vent_CRR & (0xFFU)) ); + _d[5] |= (uint8_t) ( (_m->dbg_Act13_Vent_SRR & (0xFFU)) ); + _d[6] |= (uint8_t) ( (_m->dbg_Act14_Foot_RR & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->dbg_Act15_TempU_FL & (0xFFU)) ); + + *_len = (uint8_t) dbg_Act1_DLC; + *_ide = (uint8_t) dbg_Act1_IDE; + return dbg_Act1_CANID; +} + +#endif // CANDB_DBG_USE_CANSTRUCT + +uint32_t Unpack_dbg_Act2_candb_dbg(dbg_Act2_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->dbg_Act16_TempL_FL = (uint8_t) ( (_d[0] & (0xFFU)) ); + _m->dbg_Act17_TempU_FR = (uint8_t) ( (_d[1] & (0xFFU)) ); + _m->dbg_Act18_TempL_FR = (uint8_t) ( (_d[2] & (0xFFU)) ); + _m->dbg_Act19_Temp_RL = (uint8_t) ( (_d[3] & (0xFFU)) ); + _m->dbg_Act20_Temp_RR = (uint8_t) ( (_d[4] & (0xFFU)) ); + _m->dbg_Act21_Rec = (uint8_t) ( (_d[5] & (0xFFU)) ); + _m->dbg_Act22_OSA = (uint8_t) ( (_d[6] & (0xFFU)) ); + _m->dbg_Act23_SealingValve = (uint8_t) ( (_d[7] & (0xFFU)) ); + +#ifdef CANDB_DBG_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < dbg_Act2_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_dbg_Act2_candb_dbg(&_m->mon1, dbg_Act2_CANID); +#endif // CANDB_DBG_USE_DIAG_MONITORS + + return dbg_Act2_CANID; +} + +#ifdef CANDB_DBG_USE_CANSTRUCT + +uint32_t Pack_dbg_Act2_candb_dbg(dbg_Act2_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_DBG_VALIDATE_DLC(dbg_Act2_DLC); cframe->Data[i++] = CANDB_DBG_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->dbg_Act16_TempL_FL & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( (_m->dbg_Act17_TempU_FR & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( (_m->dbg_Act18_TempL_FR & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( (_m->dbg_Act19_Temp_RL & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( (_m->dbg_Act20_Temp_RR & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( (_m->dbg_Act21_Rec & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( (_m->dbg_Act22_OSA & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->dbg_Act23_SealingValve & (0xFFU)) ); + + cframe->MsgId = (uint32_t) dbg_Act2_CANID; + cframe->DLC = (uint8_t) dbg_Act2_DLC; + cframe->IDE = (uint8_t) dbg_Act2_IDE; + return dbg_Act2_CANID; +} + +#else + +uint32_t Pack_dbg_Act2_candb_dbg(dbg_Act2_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_DBG_VALIDATE_DLC(dbg_Act2_DLC); _d[i++] = CANDB_DBG_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->dbg_Act16_TempL_FL & (0xFFU)) ); + _d[1] |= (uint8_t) ( (_m->dbg_Act17_TempU_FR & (0xFFU)) ); + _d[2] |= (uint8_t) ( (_m->dbg_Act18_TempL_FR & (0xFFU)) ); + _d[3] |= (uint8_t) ( (_m->dbg_Act19_Temp_RL & (0xFFU)) ); + _d[4] |= (uint8_t) ( (_m->dbg_Act20_Temp_RR & (0xFFU)) ); + _d[5] |= (uint8_t) ( (_m->dbg_Act21_Rec & (0xFFU)) ); + _d[6] |= (uint8_t) ( (_m->dbg_Act22_OSA & (0xFFU)) ); + _d[7] |= (uint8_t) ( (_m->dbg_Act23_SealingValve & (0xFFU)) ); + + *_len = (uint8_t) dbg_Act2_DLC; + *_ide = (uint8_t) dbg_Act2_IDE; + return dbg_Act2_CANID; +} + +#endif // CANDB_DBG_USE_CANSTRUCT + +uint32_t Unpack_dbg_Sen_Amb_candb_dbg(dbg_Sen_Amb_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->dbg_Sen_Amb_ro = (int16_t) __ext_sig__(( ((_d[1] & (0xFFU)) << 8U) | (_d[0] & (0xFFU)) ), 16); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Sen_Amb_phys = (sigfloat_t)(CANDB_DBG_dbg_Sen_Amb_ro_fromS(_m->dbg_Sen_Amb_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Sen_Amb_Raw_ro = (int16_t) __ext_sig__(( ((_d[3] & (0xFFU)) << 8U) | (_d[2] & (0xFFU)) ), 16); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Sen_Amb_Raw_phys = (sigfloat_t)(CANDB_DBG_dbg_Sen_Amb_Raw_ro_fromS(_m->dbg_Sen_Amb_Raw_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Amb_Tg_ro = (int16_t) __ext_sig__(( ((_d[5] & (0x0FU)) << 8U) | (_d[4] & (0xFFU)) ), 12); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Amb_Tg_phys = (sigfloat_t)(CANDB_DBG_dbg_Amb_Tg_ro_fromS(_m->dbg_Amb_Tg_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + +#ifdef CANDB_DBG_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < dbg_Sen_Amb_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_dbg_Sen_Amb_candb_dbg(&_m->mon1, dbg_Sen_Amb_CANID); +#endif // CANDB_DBG_USE_DIAG_MONITORS + + return dbg_Sen_Amb_CANID; +} + +#ifdef CANDB_DBG_USE_CANSTRUCT + +uint32_t Pack_dbg_Sen_Amb_candb_dbg(dbg_Sen_Amb_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_DBG_VALIDATE_DLC(dbg_Sen_Amb_DLC); cframe->Data[i++] = CANDB_DBG_INITIAL_BYTE_VALUE); + +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Sen_Amb_ro = (int16_t) CANDB_DBG_dbg_Sen_Amb_ro_toS(_m->dbg_Sen_Amb_phys); + _m->dbg_Sen_Amb_Raw_ro = (int16_t) CANDB_DBG_dbg_Sen_Amb_Raw_ro_toS(_m->dbg_Sen_Amb_Raw_phys); + _m->dbg_Amb_Tg_ro = (int16_t) CANDB_DBG_dbg_Amb_Tg_ro_toS(_m->dbg_Amb_Tg_phys); +#endif // CANDB_DBG_USE_SIGFLOAT + + cframe->Data[0] |= (uint8_t) ( (_m->dbg_Sen_Amb_ro & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->dbg_Sen_Amb_ro >> 8U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( (_m->dbg_Sen_Amb_Raw_ro & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->dbg_Sen_Amb_Raw_ro >> 8U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( (_m->dbg_Amb_Tg_ro & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->dbg_Amb_Tg_ro >> 8U) & (0x0FU)) ); + + cframe->MsgId = (uint32_t) dbg_Sen_Amb_CANID; + cframe->DLC = (uint8_t) dbg_Sen_Amb_DLC; + cframe->IDE = (uint8_t) dbg_Sen_Amb_IDE; + return dbg_Sen_Amb_CANID; +} + +#else + +uint32_t Pack_dbg_Sen_Amb_candb_dbg(dbg_Sen_Amb_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_DBG_VALIDATE_DLC(dbg_Sen_Amb_DLC); _d[i++] = CANDB_DBG_INITIAL_BYTE_VALUE); + +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Sen_Amb_ro = (int16_t) CANDB_DBG_dbg_Sen_Amb_ro_toS(_m->dbg_Sen_Amb_phys); + _m->dbg_Sen_Amb_Raw_ro = (int16_t) CANDB_DBG_dbg_Sen_Amb_Raw_ro_toS(_m->dbg_Sen_Amb_Raw_phys); + _m->dbg_Amb_Tg_ro = (int16_t) CANDB_DBG_dbg_Amb_Tg_ro_toS(_m->dbg_Amb_Tg_phys); +#endif // CANDB_DBG_USE_SIGFLOAT + + _d[0] |= (uint8_t) ( (_m->dbg_Sen_Amb_ro & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->dbg_Sen_Amb_ro >> 8U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( (_m->dbg_Sen_Amb_Raw_ro & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->dbg_Sen_Amb_Raw_ro >> 8U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( (_m->dbg_Amb_Tg_ro & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->dbg_Amb_Tg_ro >> 8U) & (0x0FU)) ); + + *_len = (uint8_t) dbg_Sen_Amb_DLC; + *_ide = (uint8_t) dbg_Sen_Amb_IDE; + return dbg_Sen_Amb_CANID; +} + +#endif // CANDB_DBG_USE_CANSTRUCT + +uint32_t Unpack_dbg_Sen_0_candb_dbg(dbg_Sen_0_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->dbg_Sen_BattVolt_ro = (uint8_t) ( (_d[0] & (0xFFU)) ); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Sen_BattVolt_phys = (sigfloat_t)(CANDB_DBG_dbg_Sen_BattVolt_ro_fromS(_m->dbg_Sen_BattVolt_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Sen_Pressure_ro = (uint16_t) ( ((_d[3] & (0x0FU)) << 8U) | (_d[2] & (0xFFU)) ); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Sen_Pressure_phys = (sigfloat_t)(CANDB_DBG_dbg_Sen_Pressure_ro_fromS(_m->dbg_Sen_Pressure_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Sen_Sun_L = (uint16_t) ( ((_d[5] & (0xFFU)) << 8U) | (_d[4] & (0xFFU)) ); + _m->dbg_Sen_Sun_R = (uint16_t) ( ((_d[7] & (0xFFU)) << 8U) | (_d[6] & (0xFFU)) ); + +#ifdef CANDB_DBG_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < dbg_Sen_0_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_dbg_Sen_0_candb_dbg(&_m->mon1, dbg_Sen_0_CANID); +#endif // CANDB_DBG_USE_DIAG_MONITORS + + return dbg_Sen_0_CANID; +} + +#ifdef CANDB_DBG_USE_CANSTRUCT + +uint32_t Pack_dbg_Sen_0_candb_dbg(dbg_Sen_0_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_DBG_VALIDATE_DLC(dbg_Sen_0_DLC); cframe->Data[i++] = CANDB_DBG_INITIAL_BYTE_VALUE); + +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Sen_BattVolt_ro = (uint8_t) CANDB_DBG_dbg_Sen_BattVolt_ro_toS(_m->dbg_Sen_BattVolt_phys); + _m->dbg_Sen_Pressure_ro = (uint16_t) CANDB_DBG_dbg_Sen_Pressure_ro_toS(_m->dbg_Sen_Pressure_phys); +#endif // CANDB_DBG_USE_SIGFLOAT + + cframe->Data[0] |= (uint8_t) ( (_m->dbg_Sen_BattVolt_ro & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( (_m->dbg_Sen_Pressure_ro & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->dbg_Sen_Pressure_ro >> 8U) & (0x0FU)) ); + cframe->Data[4] |= (uint8_t) ( (_m->dbg_Sen_Sun_L & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->dbg_Sen_Sun_L >> 8U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( (_m->dbg_Sen_Sun_R & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( ((_m->dbg_Sen_Sun_R >> 8U) & (0xFFU)) ); + + cframe->MsgId = (uint32_t) dbg_Sen_0_CANID; + cframe->DLC = (uint8_t) dbg_Sen_0_DLC; + cframe->IDE = (uint8_t) dbg_Sen_0_IDE; + return dbg_Sen_0_CANID; +} + +#else + +uint32_t Pack_dbg_Sen_0_candb_dbg(dbg_Sen_0_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_DBG_VALIDATE_DLC(dbg_Sen_0_DLC); _d[i++] = CANDB_DBG_INITIAL_BYTE_VALUE); + +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Sen_BattVolt_ro = (uint8_t) CANDB_DBG_dbg_Sen_BattVolt_ro_toS(_m->dbg_Sen_BattVolt_phys); + _m->dbg_Sen_Pressure_ro = (uint16_t) CANDB_DBG_dbg_Sen_Pressure_ro_toS(_m->dbg_Sen_Pressure_phys); +#endif // CANDB_DBG_USE_SIGFLOAT + + _d[0] |= (uint8_t) ( (_m->dbg_Sen_BattVolt_ro & (0xFFU)) ); + _d[2] |= (uint8_t) ( (_m->dbg_Sen_Pressure_ro & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->dbg_Sen_Pressure_ro >> 8U) & (0x0FU)) ); + _d[4] |= (uint8_t) ( (_m->dbg_Sen_Sun_L & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->dbg_Sen_Sun_L >> 8U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( (_m->dbg_Sen_Sun_R & (0xFFU)) ); + _d[7] |= (uint8_t) ( ((_m->dbg_Sen_Sun_R >> 8U) & (0xFFU)) ); + + *_len = (uint8_t) dbg_Sen_0_DLC; + *_ide = (uint8_t) dbg_Sen_0_IDE; + return dbg_Sen_0_CANID; +} + +#endif // CANDB_DBG_USE_CANSTRUCT + +uint32_t Unpack_dbg_CCU_IO_candb_dbg(dbg_CCU_IO_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->dbg_IO_Txv_F = (uint8_t) ( (_d[0] & (0x01U)) ); + _m->dbg_IO_Txv_R = (uint8_t) ( ((_d[0] >> 1U) & (0x01U)) ); + _m->dbg_IO_Txv_Ch = (uint8_t) ( ((_d[0] >> 2U) & (0x01U)) ); + _m->dbg_IO_2WayValve = (uint8_t) ( ((_d[0] >> 3U) & (0x01U)) ); + _m->dbg_IO_IncarMotor_F = (uint8_t) ( ((_d[0] >> 4U) & (0x01U)) ); + _m->dbg_IO_IncarMotor_R = (uint8_t) ( ((_d[0] >> 5U) & (0x01U)) ); + _m->dbg_SetTemp_FL_ro = (uint8_t) ( (_d[1] & (0xFFU)) ); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_SetTemp_FL_phys = (sigfloat_t)(CANDB_DBG_dbg_SetTemp_FL_ro_fromS(_m->dbg_SetTemp_FL_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_SetTemp_FR_ro = (uint8_t) ( (_d[2] & (0xFFU)) ); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_SetTemp_FR_phys = (sigfloat_t)(CANDB_DBG_dbg_SetTemp_FR_ro_fromS(_m->dbg_SetTemp_FR_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_SetTemp_RL_ro = (uint8_t) ( (_d[3] & (0xFFU)) ); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_SetTemp_RL_phys = (sigfloat_t)(CANDB_DBG_dbg_SetTemp_RL_ro_fromS(_m->dbg_SetTemp_RL_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_SetTemp_RR_ro = (uint8_t) ( (_d[4] & (0xFFU)) ); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_SetTemp_RR_phys = (sigfloat_t)(CANDB_DBG_dbg_SetTemp_RR_ro_fromS(_m->dbg_SetTemp_RR_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_IO_Input_Emergency = (uint8_t) ( (_d[5] & (0x01U)) ); + _m->dbg_IO_Input_FireExtinguisher = (uint8_t) ( ((_d[5] >> 1U) & (0x01U)) ); + _m->dbg_IO_Install_Sealing_Valve = (uint8_t) ( ((_d[5] >> 2U) & (0x01U)) ); + +#ifdef CANDB_DBG_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < dbg_CCU_IO_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_dbg_CCU_IO_candb_dbg(&_m->mon1, dbg_CCU_IO_CANID); +#endif // CANDB_DBG_USE_DIAG_MONITORS + + return dbg_CCU_IO_CANID; +} + +#ifdef CANDB_DBG_USE_CANSTRUCT + +uint32_t Pack_dbg_CCU_IO_candb_dbg(dbg_CCU_IO_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_DBG_VALIDATE_DLC(dbg_CCU_IO_DLC); cframe->Data[i++] = CANDB_DBG_INITIAL_BYTE_VALUE); + +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_SetTemp_FL_ro = (uint8_t) CANDB_DBG_dbg_SetTemp_FL_ro_toS(_m->dbg_SetTemp_FL_phys); + _m->dbg_SetTemp_FR_ro = (uint8_t) CANDB_DBG_dbg_SetTemp_FR_ro_toS(_m->dbg_SetTemp_FR_phys); + _m->dbg_SetTemp_RL_ro = (uint8_t) CANDB_DBG_dbg_SetTemp_RL_ro_toS(_m->dbg_SetTemp_RL_phys); + _m->dbg_SetTemp_RR_ro = (uint8_t) CANDB_DBG_dbg_SetTemp_RR_ro_toS(_m->dbg_SetTemp_RR_phys); +#endif // CANDB_DBG_USE_SIGFLOAT + + cframe->Data[0] |= (uint8_t) ( (_m->dbg_IO_Txv_F & (0x01U)) | ((_m->dbg_IO_Txv_R & (0x01U)) << 1U) | ((_m->dbg_IO_Txv_Ch & (0x01U)) << 2U) | ((_m->dbg_IO_2WayValve & (0x01U)) << 3U) | ((_m->dbg_IO_IncarMotor_F & (0x01U)) << 4U) | ((_m->dbg_IO_IncarMotor_R & (0x01U)) << 5U) ); + cframe->Data[1] |= (uint8_t) ( (_m->dbg_SetTemp_FL_ro & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( (_m->dbg_SetTemp_FR_ro & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( (_m->dbg_SetTemp_RL_ro & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( (_m->dbg_SetTemp_RR_ro & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( (_m->dbg_IO_Input_Emergency & (0x01U)) | ((_m->dbg_IO_Input_FireExtinguisher & (0x01U)) << 1U) | ((_m->dbg_IO_Install_Sealing_Valve & (0x01U)) << 2U) ); + + cframe->MsgId = (uint32_t) dbg_CCU_IO_CANID; + cframe->DLC = (uint8_t) dbg_CCU_IO_DLC; + cframe->IDE = (uint8_t) dbg_CCU_IO_IDE; + return dbg_CCU_IO_CANID; +} + +#else + +uint32_t Pack_dbg_CCU_IO_candb_dbg(dbg_CCU_IO_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_DBG_VALIDATE_DLC(dbg_CCU_IO_DLC); _d[i++] = CANDB_DBG_INITIAL_BYTE_VALUE); + +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_SetTemp_FL_ro = (uint8_t) CANDB_DBG_dbg_SetTemp_FL_ro_toS(_m->dbg_SetTemp_FL_phys); + _m->dbg_SetTemp_FR_ro = (uint8_t) CANDB_DBG_dbg_SetTemp_FR_ro_toS(_m->dbg_SetTemp_FR_phys); + _m->dbg_SetTemp_RL_ro = (uint8_t) CANDB_DBG_dbg_SetTemp_RL_ro_toS(_m->dbg_SetTemp_RL_phys); + _m->dbg_SetTemp_RR_ro = (uint8_t) CANDB_DBG_dbg_SetTemp_RR_ro_toS(_m->dbg_SetTemp_RR_phys); +#endif // CANDB_DBG_USE_SIGFLOAT + + _d[0] |= (uint8_t) ( (_m->dbg_IO_Txv_F & (0x01U)) | ((_m->dbg_IO_Txv_R & (0x01U)) << 1U) | ((_m->dbg_IO_Txv_Ch & (0x01U)) << 2U) | ((_m->dbg_IO_2WayValve & (0x01U)) << 3U) | ((_m->dbg_IO_IncarMotor_F & (0x01U)) << 4U) | ((_m->dbg_IO_IncarMotor_R & (0x01U)) << 5U) ); + _d[1] |= (uint8_t) ( (_m->dbg_SetTemp_FL_ro & (0xFFU)) ); + _d[2] |= (uint8_t) ( (_m->dbg_SetTemp_FR_ro & (0xFFU)) ); + _d[3] |= (uint8_t) ( (_m->dbg_SetTemp_RL_ro & (0xFFU)) ); + _d[4] |= (uint8_t) ( (_m->dbg_SetTemp_RR_ro & (0xFFU)) ); + _d[5] |= (uint8_t) ( (_m->dbg_IO_Input_Emergency & (0x01U)) | ((_m->dbg_IO_Input_FireExtinguisher & (0x01U)) << 1U) | ((_m->dbg_IO_Install_Sealing_Valve & (0x01U)) << 2U) ); + + *_len = (uint8_t) dbg_CCU_IO_DLC; + *_ide = (uint8_t) dbg_CCU_IO_IDE; + return dbg_CCU_IO_CANID; +} + +#endif // CANDB_DBG_USE_CANSTRUCT + +uint32_t Unpack_dbg_CCU_Info_candb_dbg(dbg_CCU_Info_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->dbg_Info_MultMsg_Idx = (uint8_t) ( (_d[0] & (0x03U)) ); + _m->dbg_Info_Calibration_Ver_Date = (uint32_t) ( ((_d[2] & (0xFFU)) << 14U) | ((_d[1] & (0xFFU)) << 6U) | ((_d[0] >> 2U) & (0x3FU)) ); + _m->dbg_Info_CCU_SW_Ver_Date = (uint32_t) ( ((_d[2] & (0xFFU)) << 14U) | ((_d[1] & (0xFFU)) << 6U) | ((_d[0] >> 2U) & (0x3FU)) ); + _m->dbg_Info_Calibration_Ver_Rev = (uint8_t) ( (_d[3] & (0xFFU)) ); + _m->dbg_Info_CCU_SW_Ver_Rev = (uint8_t) ( (_d[3] & (0xFFU)) ); + _m->dbg_Info_ActivatedCAL = (uint8_t) ( (_d[4] & (0x0FU)) ); + _m->dbg_Info_MBD_Ver_Date = (uint32_t) ( ((_d[6] & (0xFFU)) << 14U) | ((_d[5] & (0xFFU)) << 6U) | ((_d[4] >> 2U) & (0x3FU)) ); + _m->dbg_Info_CCU_Aroma_Cfg = (uint8_t) ( ((_d[4] >> 4U) & (0x0FU)) ); + _m->dbg_Info_CCU_Algorithm_Cfg = (uint8_t) ( (_d[5] & (0x0FU)) ); + _m->dbg_Info_VehicleBody = (uint16_t) ( ((_d[7] & (0xFFU)) << 8U) | (_d[6] & (0xFFU)) ); + _m->dbg_Info_MBD_Ver_Rev = (uint8_t) ( (_d[7] & (0xFFU)) ); + +#ifdef CANDB_DBG_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < dbg_CCU_Info_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_dbg_CCU_Info_candb_dbg(&_m->mon1, dbg_CCU_Info_CANID); +#endif // CANDB_DBG_USE_DIAG_MONITORS + + return dbg_CCU_Info_CANID; +} + +#ifdef CANDB_DBG_USE_CANSTRUCT + +uint32_t Pack_dbg_CCU_Info_candb_dbg(dbg_CCU_Info_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_DBG_VALIDATE_DLC(dbg_CCU_Info_DLC); cframe->Data[i++] = CANDB_DBG_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->dbg_Info_MultMsg_Idx & (0x03U)) | ((_m->dbg_Info_Calibration_Ver_Date & (0x3FU)) << 2U) | ((_m->dbg_Info_CCU_SW_Ver_Date & (0x3FU)) << 2U) ); + cframe->Data[1] |= (uint8_t) ( ((_m->dbg_Info_Calibration_Ver_Date >> 6U) & (0xFFU)) | ((_m->dbg_Info_CCU_SW_Ver_Date >> 6U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->dbg_Info_Calibration_Ver_Date >> 14U) & (0xFFU)) | ((_m->dbg_Info_CCU_SW_Ver_Date >> 14U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( (_m->dbg_Info_Calibration_Ver_Rev & (0xFFU)) | (_m->dbg_Info_CCU_SW_Ver_Rev & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( (_m->dbg_Info_ActivatedCAL & (0x0FU)) | ((_m->dbg_Info_MBD_Ver_Date & (0x3FU)) << 2U) | ((_m->dbg_Info_CCU_Aroma_Cfg & (0x0FU)) << 4U) ); + cframe->Data[5] |= (uint8_t) ( ((_m->dbg_Info_MBD_Ver_Date >> 6U) & (0xFFU)) | (_m->dbg_Info_CCU_Algorithm_Cfg & (0x0FU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->dbg_Info_MBD_Ver_Date >> 14U) & (0xFFU)) | (_m->dbg_Info_VehicleBody & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( ((_m->dbg_Info_VehicleBody >> 8U) & (0xFFU)) | (_m->dbg_Info_MBD_Ver_Rev & (0xFFU)) ); + + cframe->MsgId = (uint32_t) dbg_CCU_Info_CANID; + cframe->DLC = (uint8_t) dbg_CCU_Info_DLC; + cframe->IDE = (uint8_t) dbg_CCU_Info_IDE; + return dbg_CCU_Info_CANID; +} + +#else + +uint32_t Pack_dbg_CCU_Info_candb_dbg(dbg_CCU_Info_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_DBG_VALIDATE_DLC(dbg_CCU_Info_DLC); _d[i++] = CANDB_DBG_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->dbg_Info_MultMsg_Idx & (0x03U)) | ((_m->dbg_Info_Calibration_Ver_Date & (0x3FU)) << 2U) | ((_m->dbg_Info_CCU_SW_Ver_Date & (0x3FU)) << 2U) ); + _d[1] |= (uint8_t) ( ((_m->dbg_Info_Calibration_Ver_Date >> 6U) & (0xFFU)) | ((_m->dbg_Info_CCU_SW_Ver_Date >> 6U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->dbg_Info_Calibration_Ver_Date >> 14U) & (0xFFU)) | ((_m->dbg_Info_CCU_SW_Ver_Date >> 14U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( (_m->dbg_Info_Calibration_Ver_Rev & (0xFFU)) | (_m->dbg_Info_CCU_SW_Ver_Rev & (0xFFU)) ); + _d[4] |= (uint8_t) ( (_m->dbg_Info_ActivatedCAL & (0x0FU)) | ((_m->dbg_Info_MBD_Ver_Date & (0x3FU)) << 2U) | ((_m->dbg_Info_CCU_Aroma_Cfg & (0x0FU)) << 4U) ); + _d[5] |= (uint8_t) ( ((_m->dbg_Info_MBD_Ver_Date >> 6U) & (0xFFU)) | (_m->dbg_Info_CCU_Algorithm_Cfg & (0x0FU)) ); + _d[6] |= (uint8_t) ( ((_m->dbg_Info_MBD_Ver_Date >> 14U) & (0xFFU)) | (_m->dbg_Info_VehicleBody & (0xFFU)) ); + _d[7] |= (uint8_t) ( ((_m->dbg_Info_VehicleBody >> 8U) & (0xFFU)) | (_m->dbg_Info_MBD_Ver_Rev & (0xFFU)) ); + + *_len = (uint8_t) dbg_CCU_Info_DLC; + *_ide = (uint8_t) dbg_CCU_Info_IDE; + return dbg_CCU_Info_CANID; +} + +#endif // CANDB_DBG_USE_CANSTRUCT + +uint32_t Unpack_dbg_Drs_candb_dbg(dbg_Drs_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->dbg_Drs_0_SFL_DL = (uint8_t) ( (_d[0] & (0x7FU)) ); + _m->dbg_Drs_1_CFL_FPL = (uint8_t) ( (_d[1] & (0x7FU)) ); + _m->dbg_Drs_2_CFR_FPR = (uint8_t) ( (_d[2] & (0x7FU)) ); + _m->dbg_Drs_3_SFR_DR = (uint8_t) ( (_d[3] & (0x7FU)) ); + _m->dbg_Drs_4_SRL_RLB = (uint8_t) ( (_d[4] & (0x7FU)) ); + _m->dbg_Drs_5_CRL_FCL = (uint8_t) ( (_d[5] & (0x7FU)) ); + _m->dbg_Drs_6_CRR_FCR = (uint8_t) ( (_d[6] & (0x7FU)) ); + _m->dbg_Drs_7_SRR_RRB = (uint8_t) ( (_d[7] & (0x7FU)) ); + +#ifdef CANDB_DBG_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < dbg_Drs_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_dbg_Drs_candb_dbg(&_m->mon1, dbg_Drs_CANID); +#endif // CANDB_DBG_USE_DIAG_MONITORS + + return dbg_Drs_CANID; +} + +#ifdef CANDB_DBG_USE_CANSTRUCT + +uint32_t Pack_dbg_Drs_candb_dbg(dbg_Drs_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_DBG_VALIDATE_DLC(dbg_Drs_DLC); cframe->Data[i++] = CANDB_DBG_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->dbg_Drs_0_SFL_DL & (0x7FU)) ); + cframe->Data[1] |= (uint8_t) ( (_m->dbg_Drs_1_CFL_FPL & (0x7FU)) ); + cframe->Data[2] |= (uint8_t) ( (_m->dbg_Drs_2_CFR_FPR & (0x7FU)) ); + cframe->Data[3] |= (uint8_t) ( (_m->dbg_Drs_3_SFR_DR & (0x7FU)) ); + cframe->Data[4] |= (uint8_t) ( (_m->dbg_Drs_4_SRL_RLB & (0x7FU)) ); + cframe->Data[5] |= (uint8_t) ( (_m->dbg_Drs_5_CRL_FCL & (0x7FU)) ); + cframe->Data[6] |= (uint8_t) ( (_m->dbg_Drs_6_CRR_FCR & (0x7FU)) ); + cframe->Data[7] |= (uint8_t) ( (_m->dbg_Drs_7_SRR_RRB & (0x7FU)) ); + + cframe->MsgId = (uint32_t) dbg_Drs_CANID; + cframe->DLC = (uint8_t) dbg_Drs_DLC; + cframe->IDE = (uint8_t) dbg_Drs_IDE; + return dbg_Drs_CANID; +} + +#else + +uint32_t Pack_dbg_Drs_candb_dbg(dbg_Drs_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_DBG_VALIDATE_DLC(dbg_Drs_DLC); _d[i++] = CANDB_DBG_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->dbg_Drs_0_SFL_DL & (0x7FU)) ); + _d[1] |= (uint8_t) ( (_m->dbg_Drs_1_CFL_FPL & (0x7FU)) ); + _d[2] |= (uint8_t) ( (_m->dbg_Drs_2_CFR_FPR & (0x7FU)) ); + _d[3] |= (uint8_t) ( (_m->dbg_Drs_3_SFR_DR & (0x7FU)) ); + _d[4] |= (uint8_t) ( (_m->dbg_Drs_4_SRL_RLB & (0x7FU)) ); + _d[5] |= (uint8_t) ( (_m->dbg_Drs_5_CRL_FCL & (0x7FU)) ); + _d[6] |= (uint8_t) ( (_m->dbg_Drs_6_CRR_FCR & (0x7FU)) ); + _d[7] |= (uint8_t) ( (_m->dbg_Drs_7_SRR_RRB & (0x7FU)) ); + + *_len = (uint8_t) dbg_Drs_DLC; + *_ide = (uint8_t) dbg_Drs_IDE; + return dbg_Drs_CANID; +} + +#endif // CANDB_DBG_USE_CANSTRUCT + +uint32_t Unpack_dbg_Sen_Incar_candb_dbg(dbg_Sen_Incar_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->dbg_Sen_Incar_MultMsg_Idx = (uint8_t) ( (_d[0] & (0x03U)) ); + _m->dbg_Sen_Incar_Raw_FL_ro = (int16_t) __ext_sig__(( ((_d[1] & (0xFFU)) << 4U) | ((_d[0] >> 4U) & (0x0FU)) ), 12); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Sen_Incar_Raw_FL_phys = (sigfloat_t)(CANDB_DBG_dbg_Sen_Incar_Raw_FL_ro_fromS(_m->dbg_Sen_Incar_Raw_FL_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Sen_Incar_FL_ro = (int16_t) __ext_sig__(( ((_d[1] & (0xFFU)) << 4U) | ((_d[0] >> 4U) & (0x0FU)) ), 12); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Sen_Incar_FL_phys = (sigfloat_t)(CANDB_DBG_dbg_Sen_Incar_FL_ro_fromS(_m->dbg_Sen_Incar_FL_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Sen_Incar_Raw_FR_ro = (int16_t) __ext_sig__(( ((_d[3] & (0x0FU)) << 8U) | (_d[2] & (0xFFU)) ), 12); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Sen_Incar_Raw_FR_phys = (sigfloat_t)(CANDB_DBG_dbg_Sen_Incar_Raw_FR_ro_fromS(_m->dbg_Sen_Incar_Raw_FR_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Sen_Incar_FR_ro = (int16_t) __ext_sig__(( ((_d[3] & (0x0FU)) << 8U) | (_d[2] & (0xFFU)) ), 12); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Sen_Incar_FR_phys = (sigfloat_t)(CANDB_DBG_dbg_Sen_Incar_FR_ro_fromS(_m->dbg_Sen_Incar_FR_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Sen_Incar_Raw_RL_ro = (int16_t) __ext_sig__(( ((_d[4] & (0xFFU)) << 4U) | ((_d[3] >> 4U) & (0x0FU)) ), 12); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Sen_Incar_Raw_RL_phys = (sigfloat_t)(CANDB_DBG_dbg_Sen_Incar_Raw_RL_ro_fromS(_m->dbg_Sen_Incar_Raw_RL_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Sen_Incar_RL_ro = (int16_t) __ext_sig__(( ((_d[4] & (0xFFU)) << 4U) | ((_d[3] >> 4U) & (0x0FU)) ), 12); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Sen_Incar_RL_phys = (sigfloat_t)(CANDB_DBG_dbg_Sen_Incar_RL_ro_fromS(_m->dbg_Sen_Incar_RL_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Sen_Incar_Raw_RR_ro = (int16_t) __ext_sig__(( ((_d[6] & (0x0FU)) << 8U) | (_d[5] & (0xFFU)) ), 12); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Sen_Incar_Raw_RR_phys = (sigfloat_t)(CANDB_DBG_dbg_Sen_Incar_Raw_RR_ro_fromS(_m->dbg_Sen_Incar_Raw_RR_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Sen_Incar_RR_ro = (int16_t) __ext_sig__(( ((_d[6] & (0x0FU)) << 8U) | (_d[5] & (0xFFU)) ), 12); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Sen_Incar_RR_phys = (sigfloat_t)(CANDB_DBG_dbg_Sen_Incar_RR_ro_fromS(_m->dbg_Sen_Incar_RR_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + +#ifdef CANDB_DBG_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < dbg_Sen_Incar_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_dbg_Sen_Incar_candb_dbg(&_m->mon1, dbg_Sen_Incar_CANID); +#endif // CANDB_DBG_USE_DIAG_MONITORS + + return dbg_Sen_Incar_CANID; +} + +#ifdef CANDB_DBG_USE_CANSTRUCT + +uint32_t Pack_dbg_Sen_Incar_candb_dbg(dbg_Sen_Incar_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_DBG_VALIDATE_DLC(dbg_Sen_Incar_DLC); cframe->Data[i++] = CANDB_DBG_INITIAL_BYTE_VALUE); + +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Sen_Incar_Raw_FL_ro = (int16_t) CANDB_DBG_dbg_Sen_Incar_Raw_FL_ro_toS(_m->dbg_Sen_Incar_Raw_FL_phys); + _m->dbg_Sen_Incar_FL_ro = (int16_t) CANDB_DBG_dbg_Sen_Incar_FL_ro_toS(_m->dbg_Sen_Incar_FL_phys); + _m->dbg_Sen_Incar_Raw_FR_ro = (int16_t) CANDB_DBG_dbg_Sen_Incar_Raw_FR_ro_toS(_m->dbg_Sen_Incar_Raw_FR_phys); + _m->dbg_Sen_Incar_FR_ro = (int16_t) CANDB_DBG_dbg_Sen_Incar_FR_ro_toS(_m->dbg_Sen_Incar_FR_phys); + _m->dbg_Sen_Incar_Raw_RL_ro = (int16_t) CANDB_DBG_dbg_Sen_Incar_Raw_RL_ro_toS(_m->dbg_Sen_Incar_Raw_RL_phys); + _m->dbg_Sen_Incar_RL_ro = (int16_t) CANDB_DBG_dbg_Sen_Incar_RL_ro_toS(_m->dbg_Sen_Incar_RL_phys); + _m->dbg_Sen_Incar_Raw_RR_ro = (int16_t) CANDB_DBG_dbg_Sen_Incar_Raw_RR_ro_toS(_m->dbg_Sen_Incar_Raw_RR_phys); + _m->dbg_Sen_Incar_RR_ro = (int16_t) CANDB_DBG_dbg_Sen_Incar_RR_ro_toS(_m->dbg_Sen_Incar_RR_phys); +#endif // CANDB_DBG_USE_SIGFLOAT + + cframe->Data[0] |= (uint8_t) ( (_m->dbg_Sen_Incar_MultMsg_Idx & (0x03U)) | ((_m->dbg_Sen_Incar_Raw_FL_ro & (0x0FU)) << 4U) | ((_m->dbg_Sen_Incar_FL_ro & (0x0FU)) << 4U) ); + cframe->Data[1] |= (uint8_t) ( ((_m->dbg_Sen_Incar_Raw_FL_ro >> 4U) & (0xFFU)) | ((_m->dbg_Sen_Incar_FL_ro >> 4U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( (_m->dbg_Sen_Incar_Raw_FR_ro & (0xFFU)) | (_m->dbg_Sen_Incar_FR_ro & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->dbg_Sen_Incar_Raw_FR_ro >> 8U) & (0x0FU)) | ((_m->dbg_Sen_Incar_FR_ro >> 8U) & (0x0FU)) | ((_m->dbg_Sen_Incar_Raw_RL_ro & (0x0FU)) << 4U) | ((_m->dbg_Sen_Incar_RL_ro & (0x0FU)) << 4U) ); + cframe->Data[4] |= (uint8_t) ( ((_m->dbg_Sen_Incar_Raw_RL_ro >> 4U) & (0xFFU)) | ((_m->dbg_Sen_Incar_RL_ro >> 4U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( (_m->dbg_Sen_Incar_Raw_RR_ro & (0xFFU)) | (_m->dbg_Sen_Incar_RR_ro & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->dbg_Sen_Incar_Raw_RR_ro >> 8U) & (0x0FU)) | ((_m->dbg_Sen_Incar_RR_ro >> 8U) & (0x0FU)) ); + + cframe->MsgId = (uint32_t) dbg_Sen_Incar_CANID; + cframe->DLC = (uint8_t) dbg_Sen_Incar_DLC; + cframe->IDE = (uint8_t) dbg_Sen_Incar_IDE; + return dbg_Sen_Incar_CANID; +} + +#else + +uint32_t Pack_dbg_Sen_Incar_candb_dbg(dbg_Sen_Incar_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_DBG_VALIDATE_DLC(dbg_Sen_Incar_DLC); _d[i++] = CANDB_DBG_INITIAL_BYTE_VALUE); + +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Sen_Incar_Raw_FL_ro = (int16_t) CANDB_DBG_dbg_Sen_Incar_Raw_FL_ro_toS(_m->dbg_Sen_Incar_Raw_FL_phys); + _m->dbg_Sen_Incar_FL_ro = (int16_t) CANDB_DBG_dbg_Sen_Incar_FL_ro_toS(_m->dbg_Sen_Incar_FL_phys); + _m->dbg_Sen_Incar_Raw_FR_ro = (int16_t) CANDB_DBG_dbg_Sen_Incar_Raw_FR_ro_toS(_m->dbg_Sen_Incar_Raw_FR_phys); + _m->dbg_Sen_Incar_FR_ro = (int16_t) CANDB_DBG_dbg_Sen_Incar_FR_ro_toS(_m->dbg_Sen_Incar_FR_phys); + _m->dbg_Sen_Incar_Raw_RL_ro = (int16_t) CANDB_DBG_dbg_Sen_Incar_Raw_RL_ro_toS(_m->dbg_Sen_Incar_Raw_RL_phys); + _m->dbg_Sen_Incar_RL_ro = (int16_t) CANDB_DBG_dbg_Sen_Incar_RL_ro_toS(_m->dbg_Sen_Incar_RL_phys); + _m->dbg_Sen_Incar_Raw_RR_ro = (int16_t) CANDB_DBG_dbg_Sen_Incar_Raw_RR_ro_toS(_m->dbg_Sen_Incar_Raw_RR_phys); + _m->dbg_Sen_Incar_RR_ro = (int16_t) CANDB_DBG_dbg_Sen_Incar_RR_ro_toS(_m->dbg_Sen_Incar_RR_phys); +#endif // CANDB_DBG_USE_SIGFLOAT + + _d[0] |= (uint8_t) ( (_m->dbg_Sen_Incar_MultMsg_Idx & (0x03U)) | ((_m->dbg_Sen_Incar_Raw_FL_ro & (0x0FU)) << 4U) | ((_m->dbg_Sen_Incar_FL_ro & (0x0FU)) << 4U) ); + _d[1] |= (uint8_t) ( ((_m->dbg_Sen_Incar_Raw_FL_ro >> 4U) & (0xFFU)) | ((_m->dbg_Sen_Incar_FL_ro >> 4U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( (_m->dbg_Sen_Incar_Raw_FR_ro & (0xFFU)) | (_m->dbg_Sen_Incar_FR_ro & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->dbg_Sen_Incar_Raw_FR_ro >> 8U) & (0x0FU)) | ((_m->dbg_Sen_Incar_FR_ro >> 8U) & (0x0FU)) | ((_m->dbg_Sen_Incar_Raw_RL_ro & (0x0FU)) << 4U) | ((_m->dbg_Sen_Incar_RL_ro & (0x0FU)) << 4U) ); + _d[4] |= (uint8_t) ( ((_m->dbg_Sen_Incar_Raw_RL_ro >> 4U) & (0xFFU)) | ((_m->dbg_Sen_Incar_RL_ro >> 4U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( (_m->dbg_Sen_Incar_Raw_RR_ro & (0xFFU)) | (_m->dbg_Sen_Incar_RR_ro & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->dbg_Sen_Incar_Raw_RR_ro >> 8U) & (0x0FU)) | ((_m->dbg_Sen_Incar_RR_ro >> 8U) & (0x0FU)) ); + + *_len = (uint8_t) dbg_Sen_Incar_DLC; + *_ide = (uint8_t) dbg_Sen_Incar_IDE; + return dbg_Sen_Incar_CANID; +} + +#endif // CANDB_DBG_USE_CANSTRUCT + +uint32_t Unpack_dbg_Cmd_Act_Information_candb_dbg(dbg_Cmd_Act_Information_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->Cmd_Target_Act_Index = (uint8_t) ( (_d[0] & (0x3FU)) ); + +#ifdef CANDB_DBG_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < dbg_Cmd_Act_Information_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_dbg_Cmd_Act_Information_candb_dbg(&_m->mon1, dbg_Cmd_Act_Information_CANID); +#endif // CANDB_DBG_USE_DIAG_MONITORS + + return dbg_Cmd_Act_Information_CANID; +} + +#ifdef CANDB_DBG_USE_CANSTRUCT + +uint32_t Pack_dbg_Cmd_Act_Information_candb_dbg(dbg_Cmd_Act_Information_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_DBG_VALIDATE_DLC(dbg_Cmd_Act_Information_DLC); cframe->Data[i++] = CANDB_DBG_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->Cmd_Target_Act_Index & (0x3FU)) ); + + cframe->MsgId = (uint32_t) dbg_Cmd_Act_Information_CANID; + cframe->DLC = (uint8_t) dbg_Cmd_Act_Information_DLC; + cframe->IDE = (uint8_t) dbg_Cmd_Act_Information_IDE; + return dbg_Cmd_Act_Information_CANID; +} + +#else + +uint32_t Pack_dbg_Cmd_Act_Information_candb_dbg(dbg_Cmd_Act_Information_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_DBG_VALIDATE_DLC(dbg_Cmd_Act_Information_DLC); _d[i++] = CANDB_DBG_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->Cmd_Target_Act_Index & (0x3FU)) ); + + *_len = (uint8_t) dbg_Cmd_Act_Information_DLC; + *_ide = (uint8_t) dbg_Cmd_Act_Information_IDE; + return dbg_Cmd_Act_Information_CANID; +} + +#endif // CANDB_DBG_USE_CANSTRUCT + +uint32_t Unpack_dbg_Info_Act1_candb_dbg(dbg_Info_Act1_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->dbg_Info_Act_Index = (uint8_t) ( (_d[0] & (0x3FU)) ); + _m->dbg_Info_Act_App_Percent_ro = (uint16_t) ( ((_d[1] & (0xFFU)) << 2U) | ((_d[0] >> 6U) & (0x03U)) ); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Info_Act_App_Percent_phys = (sigfloat_t)(CANDB_DBG_dbg_Info_Act_App_Percent_ro_fromS(_m->dbg_Info_Act_App_Percent_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Info_Act_with_Limit_Percent_ro = (uint16_t) ( ((_d[3] & (0x03U)) << 8U) | (_d[2] & (0xFFU)) ); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Info_Act_with_Limit_Percent_phys = (sigfloat_t)(CANDB_DBG_dbg_Info_Act_with_Limit_Percent_ro_fromS(_m->dbg_Info_Act_with_Limit_Percent_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Info_Act_Current_Count = (uint16_t) ( ((_d[4] & (0x3FU)) << 6U) | ((_d[3] >> 2U) & (0x3FU)) ); + _m->dbg_Info_Act_Range_Count = (uint16_t) ( ((_d[6] & (0x03U)) << 10U) | ((_d[5] & (0xFFU)) << 2U) | ((_d[4] >> 6U) & (0x03U)) ); + _m->dbg_Info_Act_Default_Count = (uint16_t) ( ((_d[7] & (0x3FU)) << 6U) | ((_d[6] >> 2U) & (0x3FU)) ); + +#ifdef CANDB_DBG_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < dbg_Info_Act1_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_dbg_Info_Act1_candb_dbg(&_m->mon1, dbg_Info_Act1_CANID); +#endif // CANDB_DBG_USE_DIAG_MONITORS + + return dbg_Info_Act1_CANID; +} + +#ifdef CANDB_DBG_USE_CANSTRUCT + +uint32_t Pack_dbg_Info_Act1_candb_dbg(dbg_Info_Act1_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_DBG_VALIDATE_DLC(dbg_Info_Act1_DLC); cframe->Data[i++] = CANDB_DBG_INITIAL_BYTE_VALUE); + +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Info_Act_App_Percent_ro = (uint16_t) CANDB_DBG_dbg_Info_Act_App_Percent_ro_toS(_m->dbg_Info_Act_App_Percent_phys); + _m->dbg_Info_Act_with_Limit_Percent_ro = (uint16_t) CANDB_DBG_dbg_Info_Act_with_Limit_Percent_ro_toS(_m->dbg_Info_Act_with_Limit_Percent_phys); +#endif // CANDB_DBG_USE_SIGFLOAT + + cframe->Data[0] |= (uint8_t) ( (_m->dbg_Info_Act_Index & (0x3FU)) | ((_m->dbg_Info_Act_App_Percent_ro & (0x03U)) << 6U) ); + cframe->Data[1] |= (uint8_t) ( ((_m->dbg_Info_Act_App_Percent_ro >> 2U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( (_m->dbg_Info_Act_with_Limit_Percent_ro & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->dbg_Info_Act_with_Limit_Percent_ro >> 8U) & (0x03U)) | ((_m->dbg_Info_Act_Current_Count & (0x3FU)) << 2U) ); + cframe->Data[4] |= (uint8_t) ( ((_m->dbg_Info_Act_Current_Count >> 6U) & (0x3FU)) | ((_m->dbg_Info_Act_Range_Count & (0x03U)) << 6U) ); + cframe->Data[5] |= (uint8_t) ( ((_m->dbg_Info_Act_Range_Count >> 2U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->dbg_Info_Act_Range_Count >> 10U) & (0x03U)) | ((_m->dbg_Info_Act_Default_Count & (0x3FU)) << 2U) ); + cframe->Data[7] |= (uint8_t) ( ((_m->dbg_Info_Act_Default_Count >> 6U) & (0x3FU)) ); + + cframe->MsgId = (uint32_t) dbg_Info_Act1_CANID; + cframe->DLC = (uint8_t) dbg_Info_Act1_DLC; + cframe->IDE = (uint8_t) dbg_Info_Act1_IDE; + return dbg_Info_Act1_CANID; +} + +#else + +uint32_t Pack_dbg_Info_Act1_candb_dbg(dbg_Info_Act1_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_DBG_VALIDATE_DLC(dbg_Info_Act1_DLC); _d[i++] = CANDB_DBG_INITIAL_BYTE_VALUE); + +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Info_Act_App_Percent_ro = (uint16_t) CANDB_DBG_dbg_Info_Act_App_Percent_ro_toS(_m->dbg_Info_Act_App_Percent_phys); + _m->dbg_Info_Act_with_Limit_Percent_ro = (uint16_t) CANDB_DBG_dbg_Info_Act_with_Limit_Percent_ro_toS(_m->dbg_Info_Act_with_Limit_Percent_phys); +#endif // CANDB_DBG_USE_SIGFLOAT + + _d[0] |= (uint8_t) ( (_m->dbg_Info_Act_Index & (0x3FU)) | ((_m->dbg_Info_Act_App_Percent_ro & (0x03U)) << 6U) ); + _d[1] |= (uint8_t) ( ((_m->dbg_Info_Act_App_Percent_ro >> 2U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( (_m->dbg_Info_Act_with_Limit_Percent_ro & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->dbg_Info_Act_with_Limit_Percent_ro >> 8U) & (0x03U)) | ((_m->dbg_Info_Act_Current_Count & (0x3FU)) << 2U) ); + _d[4] |= (uint8_t) ( ((_m->dbg_Info_Act_Current_Count >> 6U) & (0x3FU)) | ((_m->dbg_Info_Act_Range_Count & (0x03U)) << 6U) ); + _d[5] |= (uint8_t) ( ((_m->dbg_Info_Act_Range_Count >> 2U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->dbg_Info_Act_Range_Count >> 10U) & (0x03U)) | ((_m->dbg_Info_Act_Default_Count & (0x3FU)) << 2U) ); + _d[7] |= (uint8_t) ( ((_m->dbg_Info_Act_Default_Count >> 6U) & (0x3FU)) ); + + *_len = (uint8_t) dbg_Info_Act1_DLC; + *_ide = (uint8_t) dbg_Info_Act1_IDE; + return dbg_Info_Act1_CANID; +} + +#endif // CANDB_DBG_USE_CANSTRUCT + +uint32_t Unpack_dbg_Info_Act2_candb_dbg(dbg_Info_Act2_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->dbg_Info_Act_Msg_Missing_Flag = (uint8_t) ( (_d[0] & (0x01U)) ); + _m->dbg_Info_Act_Internal_Fail_Flag = (uint8_t) ( ((_d[0] >> 1U) & (0x01U)) ); + _m->dbg_Info_Act_Homing_Err_Flag = (uint8_t) ( ((_d[0] >> 2U) & (0x01U)) ); + _m->dbg_Info_Act_Range_Err_Flag = (uint8_t) ( ((_d[0] >> 3U) & (0x01U)) ); + _m->dbg_Info_Act_Range_Fail_Flag = (uint8_t) ( ((_d[0] >> 4U) & (0x01U)) ); + _m->dbg_Info_Act_Range_Err_Operation = (uint8_t) ( ((_d[0] >> 5U) & (0x01U)) ); + _m->dbg_Info_Act_Range_Err_Check_Cnt = (uint8_t) ( (_d[1] & (0xFFU)) ); + _m->dbg_Info_Act_Range_Err_Timer = (uint16_t) ( ((_d[3] & (0x03U)) << 8U) | (_d[2] & (0xFFU)) ); + +#ifdef CANDB_DBG_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < dbg_Info_Act2_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_dbg_Info_Act2_candb_dbg(&_m->mon1, dbg_Info_Act2_CANID); +#endif // CANDB_DBG_USE_DIAG_MONITORS + + return dbg_Info_Act2_CANID; +} + +#ifdef CANDB_DBG_USE_CANSTRUCT + +uint32_t Pack_dbg_Info_Act2_candb_dbg(dbg_Info_Act2_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_DBG_VALIDATE_DLC(dbg_Info_Act2_DLC); cframe->Data[i++] = CANDB_DBG_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->dbg_Info_Act_Msg_Missing_Flag & (0x01U)) | ((_m->dbg_Info_Act_Internal_Fail_Flag & (0x01U)) << 1U) | ((_m->dbg_Info_Act_Homing_Err_Flag & (0x01U)) << 2U) | ((_m->dbg_Info_Act_Range_Err_Flag & (0x01U)) << 3U) | ((_m->dbg_Info_Act_Range_Fail_Flag & (0x01U)) << 4U) | ((_m->dbg_Info_Act_Range_Err_Operation & (0x01U)) << 5U) ); + cframe->Data[1] |= (uint8_t) ( (_m->dbg_Info_Act_Range_Err_Check_Cnt & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( (_m->dbg_Info_Act_Range_Err_Timer & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->dbg_Info_Act_Range_Err_Timer >> 8U) & (0x03U)) ); + + cframe->MsgId = (uint32_t) dbg_Info_Act2_CANID; + cframe->DLC = (uint8_t) dbg_Info_Act2_DLC; + cframe->IDE = (uint8_t) dbg_Info_Act2_IDE; + return dbg_Info_Act2_CANID; +} + +#else + +uint32_t Pack_dbg_Info_Act2_candb_dbg(dbg_Info_Act2_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_DBG_VALIDATE_DLC(dbg_Info_Act2_DLC); _d[i++] = CANDB_DBG_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->dbg_Info_Act_Msg_Missing_Flag & (0x01U)) | ((_m->dbg_Info_Act_Internal_Fail_Flag & (0x01U)) << 1U) | ((_m->dbg_Info_Act_Homing_Err_Flag & (0x01U)) << 2U) | ((_m->dbg_Info_Act_Range_Err_Flag & (0x01U)) << 3U) | ((_m->dbg_Info_Act_Range_Fail_Flag & (0x01U)) << 4U) | ((_m->dbg_Info_Act_Range_Err_Operation & (0x01U)) << 5U) ); + _d[1] |= (uint8_t) ( (_m->dbg_Info_Act_Range_Err_Check_Cnt & (0xFFU)) ); + _d[2] |= (uint8_t) ( (_m->dbg_Info_Act_Range_Err_Timer & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->dbg_Info_Act_Range_Err_Timer >> 8U) & (0x03U)) ); + + *_len = (uint8_t) dbg_Info_Act2_DLC; + *_ide = (uint8_t) dbg_Info_Act2_IDE; + return dbg_Info_Act2_CANID; +} + +#endif // CANDB_DBG_USE_CANSTRUCT + +uint32_t Unpack_dbg_Sen_Eva_candb_dbg(dbg_Sen_Eva_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->dbg_Sen_Eva_Target_ro = (int16_t) __ext_sig__(( ((_d[1] & (0x0FU)) << 8U) | (_d[0] & (0xFFU)) ), 12); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Sen_Eva_Target_phys = (sigfloat_t)(CANDB_DBG_dbg_Sen_Eva_Target_ro_fromS(_m->dbg_Sen_Eva_Target_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Sen_Eva_Diff_FrontRear_ro = (int16_t) __ext_sig__(( ((_d[3] & (0x0FU)) << 8U) | (_d[2] & (0xFFU)) ), 12); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Sen_Eva_Diff_FrontRear_phys = (sigfloat_t)(CANDB_DBG_dbg_Sen_Eva_Diff_FrontRear_ro_fromS(_m->dbg_Sen_Eva_Diff_FrontRear_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Sen_Eva_F_ro = (int16_t) __ext_sig__(( ((_d[5] & (0x0FU)) << 8U) | (_d[4] & (0xFFU)) ), 12); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Sen_Eva_F_phys = (sigfloat_t)(CANDB_DBG_dbg_Sen_Eva_F_ro_fromS(_m->dbg_Sen_Eva_F_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Sen_Eva_R_ro = (int16_t) __ext_sig__(( ((_d[7] & (0x0FU)) << 8U) | (_d[6] & (0xFFU)) ), 12); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Sen_Eva_R_phys = (sigfloat_t)(CANDB_DBG_dbg_Sen_Eva_R_ro_fromS(_m->dbg_Sen_Eva_R_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + +#ifdef CANDB_DBG_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < dbg_Sen_Eva_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_dbg_Sen_Eva_candb_dbg(&_m->mon1, dbg_Sen_Eva_CANID); +#endif // CANDB_DBG_USE_DIAG_MONITORS + + return dbg_Sen_Eva_CANID; +} + +#ifdef CANDB_DBG_USE_CANSTRUCT + +uint32_t Pack_dbg_Sen_Eva_candb_dbg(dbg_Sen_Eva_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_DBG_VALIDATE_DLC(dbg_Sen_Eva_DLC); cframe->Data[i++] = CANDB_DBG_INITIAL_BYTE_VALUE); + +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Sen_Eva_Target_ro = (int16_t) CANDB_DBG_dbg_Sen_Eva_Target_ro_toS(_m->dbg_Sen_Eva_Target_phys); + _m->dbg_Sen_Eva_Diff_FrontRear_ro = (int16_t) CANDB_DBG_dbg_Sen_Eva_Diff_FrontRear_ro_toS(_m->dbg_Sen_Eva_Diff_FrontRear_phys); + _m->dbg_Sen_Eva_F_ro = (int16_t) CANDB_DBG_dbg_Sen_Eva_F_ro_toS(_m->dbg_Sen_Eva_F_phys); + _m->dbg_Sen_Eva_R_ro = (int16_t) CANDB_DBG_dbg_Sen_Eva_R_ro_toS(_m->dbg_Sen_Eva_R_phys); +#endif // CANDB_DBG_USE_SIGFLOAT + + cframe->Data[0] |= (uint8_t) ( (_m->dbg_Sen_Eva_Target_ro & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->dbg_Sen_Eva_Target_ro >> 8U) & (0x0FU)) ); + cframe->Data[2] |= (uint8_t) ( (_m->dbg_Sen_Eva_Diff_FrontRear_ro & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->dbg_Sen_Eva_Diff_FrontRear_ro >> 8U) & (0x0FU)) ); + cframe->Data[4] |= (uint8_t) ( (_m->dbg_Sen_Eva_F_ro & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->dbg_Sen_Eva_F_ro >> 8U) & (0x0FU)) ); + cframe->Data[6] |= (uint8_t) ( (_m->dbg_Sen_Eva_R_ro & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( ((_m->dbg_Sen_Eva_R_ro >> 8U) & (0x0FU)) ); + + cframe->MsgId = (uint32_t) dbg_Sen_Eva_CANID; + cframe->DLC = (uint8_t) dbg_Sen_Eva_DLC; + cframe->IDE = (uint8_t) dbg_Sen_Eva_IDE; + return dbg_Sen_Eva_CANID; +} + +#else + +uint32_t Pack_dbg_Sen_Eva_candb_dbg(dbg_Sen_Eva_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_DBG_VALIDATE_DLC(dbg_Sen_Eva_DLC); _d[i++] = CANDB_DBG_INITIAL_BYTE_VALUE); + +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Sen_Eva_Target_ro = (int16_t) CANDB_DBG_dbg_Sen_Eva_Target_ro_toS(_m->dbg_Sen_Eva_Target_phys); + _m->dbg_Sen_Eva_Diff_FrontRear_ro = (int16_t) CANDB_DBG_dbg_Sen_Eva_Diff_FrontRear_ro_toS(_m->dbg_Sen_Eva_Diff_FrontRear_phys); + _m->dbg_Sen_Eva_F_ro = (int16_t) CANDB_DBG_dbg_Sen_Eva_F_ro_toS(_m->dbg_Sen_Eva_F_phys); + _m->dbg_Sen_Eva_R_ro = (int16_t) CANDB_DBG_dbg_Sen_Eva_R_ro_toS(_m->dbg_Sen_Eva_R_phys); +#endif // CANDB_DBG_USE_SIGFLOAT + + _d[0] |= (uint8_t) ( (_m->dbg_Sen_Eva_Target_ro & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->dbg_Sen_Eva_Target_ro >> 8U) & (0x0FU)) ); + _d[2] |= (uint8_t) ( (_m->dbg_Sen_Eva_Diff_FrontRear_ro & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->dbg_Sen_Eva_Diff_FrontRear_ro >> 8U) & (0x0FU)) ); + _d[4] |= (uint8_t) ( (_m->dbg_Sen_Eva_F_ro & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->dbg_Sen_Eva_F_ro >> 8U) & (0x0FU)) ); + _d[6] |= (uint8_t) ( (_m->dbg_Sen_Eva_R_ro & (0xFFU)) ); + _d[7] |= (uint8_t) ( ((_m->dbg_Sen_Eva_R_ro >> 8U) & (0x0FU)) ); + + *_len = (uint8_t) dbg_Sen_Eva_DLC; + *_ide = (uint8_t) dbg_Sen_Eva_IDE; + return dbg_Sen_Eva_CANID; +} + +#endif // CANDB_DBG_USE_CANSTRUCT + +uint32_t Unpack_dbg_Sen_Duct_candb_dbg(dbg_Sen_Duct_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->dbg_Sen_Duct_MultMsg_Idx = (uint8_t) ( (_d[0] & (0x03U)) ); + _m->dbg_Sen_Duct_FL_Fb_Select = (uint8_t) ( ((_d[0] >> 3U) & (0x01U)) ); + _m->dbg_Sen_Duct_RR_Fb_Select = (uint8_t) ( ((_d[0] >> 3U) & (0x01U)) ); + _m->dbg_Sen_Duct_RL_Fb_Select = (uint8_t) ( ((_d[0] >> 3U) & (0x01U)) ); + _m->dbg_Sen_Duct_FR_Fb_Select = (uint8_t) ( ((_d[0] >> 3U) & (0x01U)) ); + _m->dbg_Sen_Duct_RL_Tgt_ro = (int16_t) __ext_sig__(( ((_d[1] & (0xFFU)) << 4U) | ((_d[0] >> 4U) & (0x0FU)) ), 12); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Sen_Duct_RL_Tgt_phys = (sigfloat_t)(CANDB_DBG_dbg_Sen_Duct_RL_Tgt_ro_fromS(_m->dbg_Sen_Duct_RL_Tgt_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Sen_Duct_FR_Upper_Tgt_ro = (int16_t) __ext_sig__(( ((_d[1] & (0xFFU)) << 4U) | ((_d[0] >> 4U) & (0x0FU)) ), 12); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Sen_Duct_FR_Upper_Tgt_phys = (sigfloat_t)(CANDB_DBG_dbg_Sen_Duct_FR_Upper_Tgt_ro_fromS(_m->dbg_Sen_Duct_FR_Upper_Tgt_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Sen_Duct_RR_Tgt_ro = (int16_t) __ext_sig__(( ((_d[1] & (0xFFU)) << 4U) | ((_d[0] >> 4U) & (0x0FU)) ), 12); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Sen_Duct_RR_Tgt_phys = (sigfloat_t)(CANDB_DBG_dbg_Sen_Duct_RR_Tgt_ro_fromS(_m->dbg_Sen_Duct_RR_Tgt_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Sen_Duct_FL_Upper_Tgt_ro = (int16_t) __ext_sig__(( ((_d[1] & (0xFFU)) << 4U) | ((_d[0] >> 4U) & (0x0FU)) ), 12); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Sen_Duct_FL_Upper_Tgt_phys = (sigfloat_t)(CANDB_DBG_dbg_Sen_Duct_FL_Upper_Tgt_ro_fromS(_m->dbg_Sen_Duct_FL_Upper_Tgt_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Sen_Duct_RR_Fb_ro = (int16_t) __ext_sig__(( ((_d[3] & (0x0FU)) << 8U) | (_d[2] & (0xFFU)) ), 12); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Sen_Duct_RR_Fb_phys = (sigfloat_t)(CANDB_DBG_dbg_Sen_Duct_RR_Fb_ro_fromS(_m->dbg_Sen_Duct_RR_Fb_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Sen_Duct_RL_Fb_ro = (int16_t) __ext_sig__(( ((_d[3] & (0x0FU)) << 8U) | (_d[2] & (0xFFU)) ), 12); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Sen_Duct_RL_Fb_phys = (sigfloat_t)(CANDB_DBG_dbg_Sen_Duct_RL_Fb_ro_fromS(_m->dbg_Sen_Duct_RL_Fb_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Sen_Duct_FR_Upper_Fb_ro = (int16_t) __ext_sig__(( ((_d[3] & (0x0FU)) << 8U) | (_d[2] & (0xFFU)) ), 12); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Sen_Duct_FR_Upper_Fb_phys = (sigfloat_t)(CANDB_DBG_dbg_Sen_Duct_FR_Upper_Fb_ro_fromS(_m->dbg_Sen_Duct_FR_Upper_Fb_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Sen_Duct_FL_Upper_Fb_ro = (int16_t) __ext_sig__(( ((_d[3] & (0x0FU)) << 8U) | (_d[2] & (0xFFU)) ), 12); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Sen_Duct_FL_Upper_Fb_phys = (sigfloat_t)(CANDB_DBG_dbg_Sen_Duct_FL_Upper_Fb_ro_fromS(_m->dbg_Sen_Duct_FL_Upper_Fb_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Sen_Duct_FR_Side_Fb_ro = (int16_t) __ext_sig__(( ((_d[4] & (0xFFU)) << 4U) | ((_d[3] >> 4U) & (0x0FU)) ), 12); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Sen_Duct_FR_Side_Fb_phys = (sigfloat_t)(CANDB_DBG_dbg_Sen_Duct_FR_Side_Fb_ro_fromS(_m->dbg_Sen_Duct_FR_Side_Fb_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Sen_Duct_FL_Side_Fb_ro = (int16_t) __ext_sig__(( ((_d[4] & (0xFFU)) << 4U) | ((_d[3] >> 4U) & (0x0FU)) ), 12); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Sen_Duct_FL_Side_Fb_phys = (sigfloat_t)(CANDB_DBG_dbg_Sen_Duct_FL_Side_Fb_ro_fromS(_m->dbg_Sen_Duct_FL_Side_Fb_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Sen_Duct_RL_Side_Fb_ro = (int16_t) __ext_sig__(( ((_d[4] & (0xFFU)) << 4U) | ((_d[3] >> 4U) & (0x0FU)) ), 12); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Sen_Duct_RL_Side_Fb_phys = (sigfloat_t)(CANDB_DBG_dbg_Sen_Duct_RL_Side_Fb_ro_fromS(_m->dbg_Sen_Duct_RL_Side_Fb_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Sen_Duct_RR_Side_Fb_ro = (int16_t) __ext_sig__(( ((_d[4] & (0xFFU)) << 4U) | ((_d[3] >> 4U) & (0x0FU)) ), 12); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Sen_Duct_RR_Side_Fb_phys = (sigfloat_t)(CANDB_DBG_dbg_Sen_Duct_RR_Side_Fb_ro_fromS(_m->dbg_Sen_Duct_RR_Side_Fb_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Sen_Duct_FR_Lower_Tgt_ro = (int16_t) __ext_sig__(( ((_d[6] & (0x0FU)) << 8U) | (_d[5] & (0xFFU)) ), 12); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Sen_Duct_FR_Lower_Tgt_phys = (sigfloat_t)(CANDB_DBG_dbg_Sen_Duct_FR_Lower_Tgt_ro_fromS(_m->dbg_Sen_Duct_FR_Lower_Tgt_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Sen_Duct_FL_Lower_Tgt_ro = (int16_t) __ext_sig__(( ((_d[6] & (0x0FU)) << 8U) | (_d[5] & (0xFFU)) ), 12); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Sen_Duct_FL_Lower_Tgt_phys = (sigfloat_t)(CANDB_DBG_dbg_Sen_Duct_FL_Lower_Tgt_ro_fromS(_m->dbg_Sen_Duct_FL_Lower_Tgt_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Sen_Duct_FR_Lower_Fb_ro = (int16_t) __ext_sig__(( ((_d[7] & (0xFFU)) << 4U) | ((_d[6] >> 4U) & (0x0FU)) ), 12); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Sen_Duct_FR_Lower_Fb_phys = (sigfloat_t)(CANDB_DBG_dbg_Sen_Duct_FR_Lower_Fb_ro_fromS(_m->dbg_Sen_Duct_FR_Lower_Fb_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Sen_Duct_FL_Lower_Fb_ro = (int16_t) __ext_sig__(( ((_d[7] & (0xFFU)) << 4U) | ((_d[6] >> 4U) & (0x0FU)) ), 12); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Sen_Duct_FL_Lower_Fb_phys = (sigfloat_t)(CANDB_DBG_dbg_Sen_Duct_FL_Lower_Fb_ro_fromS(_m->dbg_Sen_Duct_FL_Lower_Fb_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + +#ifdef CANDB_DBG_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < dbg_Sen_Duct_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_dbg_Sen_Duct_candb_dbg(&_m->mon1, dbg_Sen_Duct_CANID); +#endif // CANDB_DBG_USE_DIAG_MONITORS + + return dbg_Sen_Duct_CANID; +} + +#ifdef CANDB_DBG_USE_CANSTRUCT + +uint32_t Pack_dbg_Sen_Duct_candb_dbg(dbg_Sen_Duct_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_DBG_VALIDATE_DLC(dbg_Sen_Duct_DLC); cframe->Data[i++] = CANDB_DBG_INITIAL_BYTE_VALUE); + +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Sen_Duct_RL_Tgt_ro = (int16_t) CANDB_DBG_dbg_Sen_Duct_RL_Tgt_ro_toS(_m->dbg_Sen_Duct_RL_Tgt_phys); + _m->dbg_Sen_Duct_FR_Upper_Tgt_ro = (int16_t) CANDB_DBG_dbg_Sen_Duct_FR_Upper_Tgt_ro_toS(_m->dbg_Sen_Duct_FR_Upper_Tgt_phys); + _m->dbg_Sen_Duct_RR_Tgt_ro = (int16_t) CANDB_DBG_dbg_Sen_Duct_RR_Tgt_ro_toS(_m->dbg_Sen_Duct_RR_Tgt_phys); + _m->dbg_Sen_Duct_FL_Upper_Tgt_ro = (int16_t) CANDB_DBG_dbg_Sen_Duct_FL_Upper_Tgt_ro_toS(_m->dbg_Sen_Duct_FL_Upper_Tgt_phys); + _m->dbg_Sen_Duct_RR_Fb_ro = (int16_t) CANDB_DBG_dbg_Sen_Duct_RR_Fb_ro_toS(_m->dbg_Sen_Duct_RR_Fb_phys); + _m->dbg_Sen_Duct_RL_Fb_ro = (int16_t) CANDB_DBG_dbg_Sen_Duct_RL_Fb_ro_toS(_m->dbg_Sen_Duct_RL_Fb_phys); + _m->dbg_Sen_Duct_FR_Upper_Fb_ro = (int16_t) CANDB_DBG_dbg_Sen_Duct_FR_Upper_Fb_ro_toS(_m->dbg_Sen_Duct_FR_Upper_Fb_phys); + _m->dbg_Sen_Duct_FL_Upper_Fb_ro = (int16_t) CANDB_DBG_dbg_Sen_Duct_FL_Upper_Fb_ro_toS(_m->dbg_Sen_Duct_FL_Upper_Fb_phys); + _m->dbg_Sen_Duct_FR_Side_Fb_ro = (int16_t) CANDB_DBG_dbg_Sen_Duct_FR_Side_Fb_ro_toS(_m->dbg_Sen_Duct_FR_Side_Fb_phys); + _m->dbg_Sen_Duct_FL_Side_Fb_ro = (int16_t) CANDB_DBG_dbg_Sen_Duct_FL_Side_Fb_ro_toS(_m->dbg_Sen_Duct_FL_Side_Fb_phys); + _m->dbg_Sen_Duct_RL_Side_Fb_ro = (int16_t) CANDB_DBG_dbg_Sen_Duct_RL_Side_Fb_ro_toS(_m->dbg_Sen_Duct_RL_Side_Fb_phys); + _m->dbg_Sen_Duct_RR_Side_Fb_ro = (int16_t) CANDB_DBG_dbg_Sen_Duct_RR_Side_Fb_ro_toS(_m->dbg_Sen_Duct_RR_Side_Fb_phys); + _m->dbg_Sen_Duct_FR_Lower_Tgt_ro = (int16_t) CANDB_DBG_dbg_Sen_Duct_FR_Lower_Tgt_ro_toS(_m->dbg_Sen_Duct_FR_Lower_Tgt_phys); + _m->dbg_Sen_Duct_FL_Lower_Tgt_ro = (int16_t) CANDB_DBG_dbg_Sen_Duct_FL_Lower_Tgt_ro_toS(_m->dbg_Sen_Duct_FL_Lower_Tgt_phys); + _m->dbg_Sen_Duct_FR_Lower_Fb_ro = (int16_t) CANDB_DBG_dbg_Sen_Duct_FR_Lower_Fb_ro_toS(_m->dbg_Sen_Duct_FR_Lower_Fb_phys); + _m->dbg_Sen_Duct_FL_Lower_Fb_ro = (int16_t) CANDB_DBG_dbg_Sen_Duct_FL_Lower_Fb_ro_toS(_m->dbg_Sen_Duct_FL_Lower_Fb_phys); +#endif // CANDB_DBG_USE_SIGFLOAT + + cframe->Data[0] |= (uint8_t) ( (_m->dbg_Sen_Duct_MultMsg_Idx & (0x03U)) | ((_m->dbg_Sen_Duct_FL_Fb_Select & (0x01U)) << 3U) | ((_m->dbg_Sen_Duct_RR_Fb_Select & (0x01U)) << 3U) | ((_m->dbg_Sen_Duct_RL_Fb_Select & (0x01U)) << 3U) | ((_m->dbg_Sen_Duct_FR_Fb_Select & (0x01U)) << 3U) | ((_m->dbg_Sen_Duct_RL_Tgt_ro & (0x0FU)) << 4U) | ((_m->dbg_Sen_Duct_FR_Upper_Tgt_ro & (0x0FU)) << 4U) | ((_m->dbg_Sen_Duct_RR_Tgt_ro & (0x0FU)) << 4U) | ((_m->dbg_Sen_Duct_FL_Upper_Tgt_ro & (0x0FU)) << 4U) ); + cframe->Data[1] |= (uint8_t) ( ((_m->dbg_Sen_Duct_RL_Tgt_ro >> 4U) & (0xFFU)) | ((_m->dbg_Sen_Duct_FR_Upper_Tgt_ro >> 4U) & (0xFFU)) | ((_m->dbg_Sen_Duct_RR_Tgt_ro >> 4U) & (0xFFU)) | ((_m->dbg_Sen_Duct_FL_Upper_Tgt_ro >> 4U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( (_m->dbg_Sen_Duct_RR_Fb_ro & (0xFFU)) | (_m->dbg_Sen_Duct_RL_Fb_ro & (0xFFU)) | (_m->dbg_Sen_Duct_FR_Upper_Fb_ro & (0xFFU)) | (_m->dbg_Sen_Duct_FL_Upper_Fb_ro & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->dbg_Sen_Duct_RR_Fb_ro >> 8U) & (0x0FU)) | ((_m->dbg_Sen_Duct_RL_Fb_ro >> 8U) & (0x0FU)) | ((_m->dbg_Sen_Duct_FR_Upper_Fb_ro >> 8U) & (0x0FU)) | ((_m->dbg_Sen_Duct_FL_Upper_Fb_ro >> 8U) & (0x0FU)) | ((_m->dbg_Sen_Duct_FR_Side_Fb_ro & (0x0FU)) << 4U) | ((_m->dbg_Sen_Duct_FL_Side_Fb_ro & (0x0FU)) << 4U) | ((_m->dbg_Sen_Duct_RL_Side_Fb_ro & (0x0FU)) << 4U) | ((_m->dbg_Sen_Duct_RR_Side_Fb_ro & (0x0FU)) << 4U) ); + cframe->Data[4] |= (uint8_t) ( ((_m->dbg_Sen_Duct_FR_Side_Fb_ro >> 4U) & (0xFFU)) | ((_m->dbg_Sen_Duct_FL_Side_Fb_ro >> 4U) & (0xFFU)) | ((_m->dbg_Sen_Duct_RL_Side_Fb_ro >> 4U) & (0xFFU)) | ((_m->dbg_Sen_Duct_RR_Side_Fb_ro >> 4U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( (_m->dbg_Sen_Duct_FR_Lower_Tgt_ro & (0xFFU)) | (_m->dbg_Sen_Duct_FL_Lower_Tgt_ro & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->dbg_Sen_Duct_FR_Lower_Tgt_ro >> 8U) & (0x0FU)) | ((_m->dbg_Sen_Duct_FL_Lower_Tgt_ro >> 8U) & (0x0FU)) | ((_m->dbg_Sen_Duct_FR_Lower_Fb_ro & (0x0FU)) << 4U) | ((_m->dbg_Sen_Duct_FL_Lower_Fb_ro & (0x0FU)) << 4U) ); + cframe->Data[7] |= (uint8_t) ( ((_m->dbg_Sen_Duct_FR_Lower_Fb_ro >> 4U) & (0xFFU)) | ((_m->dbg_Sen_Duct_FL_Lower_Fb_ro >> 4U) & (0xFFU)) ); + + cframe->MsgId = (uint32_t) dbg_Sen_Duct_CANID; + cframe->DLC = (uint8_t) dbg_Sen_Duct_DLC; + cframe->IDE = (uint8_t) dbg_Sen_Duct_IDE; + return dbg_Sen_Duct_CANID; +} + +#else + +uint32_t Pack_dbg_Sen_Duct_candb_dbg(dbg_Sen_Duct_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_DBG_VALIDATE_DLC(dbg_Sen_Duct_DLC); _d[i++] = CANDB_DBG_INITIAL_BYTE_VALUE); + +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Sen_Duct_RL_Tgt_ro = (int16_t) CANDB_DBG_dbg_Sen_Duct_RL_Tgt_ro_toS(_m->dbg_Sen_Duct_RL_Tgt_phys); + _m->dbg_Sen_Duct_FR_Upper_Tgt_ro = (int16_t) CANDB_DBG_dbg_Sen_Duct_FR_Upper_Tgt_ro_toS(_m->dbg_Sen_Duct_FR_Upper_Tgt_phys); + _m->dbg_Sen_Duct_RR_Tgt_ro = (int16_t) CANDB_DBG_dbg_Sen_Duct_RR_Tgt_ro_toS(_m->dbg_Sen_Duct_RR_Tgt_phys); + _m->dbg_Sen_Duct_FL_Upper_Tgt_ro = (int16_t) CANDB_DBG_dbg_Sen_Duct_FL_Upper_Tgt_ro_toS(_m->dbg_Sen_Duct_FL_Upper_Tgt_phys); + _m->dbg_Sen_Duct_RR_Fb_ro = (int16_t) CANDB_DBG_dbg_Sen_Duct_RR_Fb_ro_toS(_m->dbg_Sen_Duct_RR_Fb_phys); + _m->dbg_Sen_Duct_RL_Fb_ro = (int16_t) CANDB_DBG_dbg_Sen_Duct_RL_Fb_ro_toS(_m->dbg_Sen_Duct_RL_Fb_phys); + _m->dbg_Sen_Duct_FR_Upper_Fb_ro = (int16_t) CANDB_DBG_dbg_Sen_Duct_FR_Upper_Fb_ro_toS(_m->dbg_Sen_Duct_FR_Upper_Fb_phys); + _m->dbg_Sen_Duct_FL_Upper_Fb_ro = (int16_t) CANDB_DBG_dbg_Sen_Duct_FL_Upper_Fb_ro_toS(_m->dbg_Sen_Duct_FL_Upper_Fb_phys); + _m->dbg_Sen_Duct_FR_Side_Fb_ro = (int16_t) CANDB_DBG_dbg_Sen_Duct_FR_Side_Fb_ro_toS(_m->dbg_Sen_Duct_FR_Side_Fb_phys); + _m->dbg_Sen_Duct_FL_Side_Fb_ro = (int16_t) CANDB_DBG_dbg_Sen_Duct_FL_Side_Fb_ro_toS(_m->dbg_Sen_Duct_FL_Side_Fb_phys); + _m->dbg_Sen_Duct_RL_Side_Fb_ro = (int16_t) CANDB_DBG_dbg_Sen_Duct_RL_Side_Fb_ro_toS(_m->dbg_Sen_Duct_RL_Side_Fb_phys); + _m->dbg_Sen_Duct_RR_Side_Fb_ro = (int16_t) CANDB_DBG_dbg_Sen_Duct_RR_Side_Fb_ro_toS(_m->dbg_Sen_Duct_RR_Side_Fb_phys); + _m->dbg_Sen_Duct_FR_Lower_Tgt_ro = (int16_t) CANDB_DBG_dbg_Sen_Duct_FR_Lower_Tgt_ro_toS(_m->dbg_Sen_Duct_FR_Lower_Tgt_phys); + _m->dbg_Sen_Duct_FL_Lower_Tgt_ro = (int16_t) CANDB_DBG_dbg_Sen_Duct_FL_Lower_Tgt_ro_toS(_m->dbg_Sen_Duct_FL_Lower_Tgt_phys); + _m->dbg_Sen_Duct_FR_Lower_Fb_ro = (int16_t) CANDB_DBG_dbg_Sen_Duct_FR_Lower_Fb_ro_toS(_m->dbg_Sen_Duct_FR_Lower_Fb_phys); + _m->dbg_Sen_Duct_FL_Lower_Fb_ro = (int16_t) CANDB_DBG_dbg_Sen_Duct_FL_Lower_Fb_ro_toS(_m->dbg_Sen_Duct_FL_Lower_Fb_phys); +#endif // CANDB_DBG_USE_SIGFLOAT + + _d[0] |= (uint8_t) ( (_m->dbg_Sen_Duct_MultMsg_Idx & (0x03U)) | ((_m->dbg_Sen_Duct_FL_Fb_Select & (0x01U)) << 3U) | ((_m->dbg_Sen_Duct_RR_Fb_Select & (0x01U)) << 3U) | ((_m->dbg_Sen_Duct_RL_Fb_Select & (0x01U)) << 3U) | ((_m->dbg_Sen_Duct_FR_Fb_Select & (0x01U)) << 3U) | ((_m->dbg_Sen_Duct_RL_Tgt_ro & (0x0FU)) << 4U) | ((_m->dbg_Sen_Duct_FR_Upper_Tgt_ro & (0x0FU)) << 4U) | ((_m->dbg_Sen_Duct_RR_Tgt_ro & (0x0FU)) << 4U) | ((_m->dbg_Sen_Duct_FL_Upper_Tgt_ro & (0x0FU)) << 4U) ); + _d[1] |= (uint8_t) ( ((_m->dbg_Sen_Duct_RL_Tgt_ro >> 4U) & (0xFFU)) | ((_m->dbg_Sen_Duct_FR_Upper_Tgt_ro >> 4U) & (0xFFU)) | ((_m->dbg_Sen_Duct_RR_Tgt_ro >> 4U) & (0xFFU)) | ((_m->dbg_Sen_Duct_FL_Upper_Tgt_ro >> 4U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( (_m->dbg_Sen_Duct_RR_Fb_ro & (0xFFU)) | (_m->dbg_Sen_Duct_RL_Fb_ro & (0xFFU)) | (_m->dbg_Sen_Duct_FR_Upper_Fb_ro & (0xFFU)) | (_m->dbg_Sen_Duct_FL_Upper_Fb_ro & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->dbg_Sen_Duct_RR_Fb_ro >> 8U) & (0x0FU)) | ((_m->dbg_Sen_Duct_RL_Fb_ro >> 8U) & (0x0FU)) | ((_m->dbg_Sen_Duct_FR_Upper_Fb_ro >> 8U) & (0x0FU)) | ((_m->dbg_Sen_Duct_FL_Upper_Fb_ro >> 8U) & (0x0FU)) | ((_m->dbg_Sen_Duct_FR_Side_Fb_ro & (0x0FU)) << 4U) | ((_m->dbg_Sen_Duct_FL_Side_Fb_ro & (0x0FU)) << 4U) | ((_m->dbg_Sen_Duct_RL_Side_Fb_ro & (0x0FU)) << 4U) | ((_m->dbg_Sen_Duct_RR_Side_Fb_ro & (0x0FU)) << 4U) ); + _d[4] |= (uint8_t) ( ((_m->dbg_Sen_Duct_FR_Side_Fb_ro >> 4U) & (0xFFU)) | ((_m->dbg_Sen_Duct_FL_Side_Fb_ro >> 4U) & (0xFFU)) | ((_m->dbg_Sen_Duct_RL_Side_Fb_ro >> 4U) & (0xFFU)) | ((_m->dbg_Sen_Duct_RR_Side_Fb_ro >> 4U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( (_m->dbg_Sen_Duct_FR_Lower_Tgt_ro & (0xFFU)) | (_m->dbg_Sen_Duct_FL_Lower_Tgt_ro & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->dbg_Sen_Duct_FR_Lower_Tgt_ro >> 8U) & (0x0FU)) | ((_m->dbg_Sen_Duct_FL_Lower_Tgt_ro >> 8U) & (0x0FU)) | ((_m->dbg_Sen_Duct_FR_Lower_Fb_ro & (0x0FU)) << 4U) | ((_m->dbg_Sen_Duct_FL_Lower_Fb_ro & (0x0FU)) << 4U) ); + _d[7] |= (uint8_t) ( ((_m->dbg_Sen_Duct_FR_Lower_Fb_ro >> 4U) & (0xFFU)) | ((_m->dbg_Sen_Duct_FL_Lower_Fb_ro >> 4U) & (0xFFU)) ); + + *_len = (uint8_t) dbg_Sen_Duct_DLC; + *_ide = (uint8_t) dbg_Sen_Duct_IDE; + return dbg_Sen_Duct_CANID; +} + +#endif // CANDB_DBG_USE_CANSTRUCT + +uint32_t Unpack_dbg_Sen_Demist_candb_dbg(dbg_Sen_Demist_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->dbg_Sen_DewPoint_Diff_ro = (int16_t) __ext_sig__(( ((_d[1] & (0xFFU)) << 8U) | (_d[0] & (0xFFU)) ), 16); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Sen_DewPoint_Diff_phys = (sigfloat_t)(CANDB_DBG_dbg_Sen_DewPoint_Diff_ro_fromS(_m->dbg_Sen_DewPoint_Diff_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Sen_WindShield_Humidity_ro = (uint16_t) ( ((_d[3] & (0x03U)) << 8U) | (_d[2] & (0xFFU)) ); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Sen_WindShield_Humidity_phys = (sigfloat_t)(CANDB_DBG_dbg_Sen_WindShield_Humidity_ro_fromS(_m->dbg_Sen_WindShield_Humidity_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Sen_WindShield_Temp_ro = (int16_t) __ext_sig__(( ((_d[5] & (0xFFU)) << 8U) | (_d[4] & (0xFFU)) ), 16); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Sen_WindShield_Temp_phys = (sigfloat_t)(CANDB_DBG_dbg_Sen_WindShield_Temp_ro_fromS(_m->dbg_Sen_WindShield_Temp_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + +#ifdef CANDB_DBG_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < dbg_Sen_Demist_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_dbg_Sen_Demist_candb_dbg(&_m->mon1, dbg_Sen_Demist_CANID); +#endif // CANDB_DBG_USE_DIAG_MONITORS + + return dbg_Sen_Demist_CANID; +} + +#ifdef CANDB_DBG_USE_CANSTRUCT + +uint32_t Pack_dbg_Sen_Demist_candb_dbg(dbg_Sen_Demist_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_DBG_VALIDATE_DLC(dbg_Sen_Demist_DLC); cframe->Data[i++] = CANDB_DBG_INITIAL_BYTE_VALUE); + +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Sen_DewPoint_Diff_ro = (int16_t) CANDB_DBG_dbg_Sen_DewPoint_Diff_ro_toS(_m->dbg_Sen_DewPoint_Diff_phys); + _m->dbg_Sen_WindShield_Humidity_ro = (uint16_t) CANDB_DBG_dbg_Sen_WindShield_Humidity_ro_toS(_m->dbg_Sen_WindShield_Humidity_phys); + _m->dbg_Sen_WindShield_Temp_ro = (int16_t) CANDB_DBG_dbg_Sen_WindShield_Temp_ro_toS(_m->dbg_Sen_WindShield_Temp_phys); +#endif // CANDB_DBG_USE_SIGFLOAT + + cframe->Data[0] |= (uint8_t) ( (_m->dbg_Sen_DewPoint_Diff_ro & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->dbg_Sen_DewPoint_Diff_ro >> 8U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( (_m->dbg_Sen_WindShield_Humidity_ro & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->dbg_Sen_WindShield_Humidity_ro >> 8U) & (0x03U)) ); + cframe->Data[4] |= (uint8_t) ( (_m->dbg_Sen_WindShield_Temp_ro & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->dbg_Sen_WindShield_Temp_ro >> 8U) & (0xFFU)) ); + + cframe->MsgId = (uint32_t) dbg_Sen_Demist_CANID; + cframe->DLC = (uint8_t) dbg_Sen_Demist_DLC; + cframe->IDE = (uint8_t) dbg_Sen_Demist_IDE; + return dbg_Sen_Demist_CANID; +} + +#else + +uint32_t Pack_dbg_Sen_Demist_candb_dbg(dbg_Sen_Demist_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_DBG_VALIDATE_DLC(dbg_Sen_Demist_DLC); _d[i++] = CANDB_DBG_INITIAL_BYTE_VALUE); + +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Sen_DewPoint_Diff_ro = (int16_t) CANDB_DBG_dbg_Sen_DewPoint_Diff_ro_toS(_m->dbg_Sen_DewPoint_Diff_phys); + _m->dbg_Sen_WindShield_Humidity_ro = (uint16_t) CANDB_DBG_dbg_Sen_WindShield_Humidity_ro_toS(_m->dbg_Sen_WindShield_Humidity_phys); + _m->dbg_Sen_WindShield_Temp_ro = (int16_t) CANDB_DBG_dbg_Sen_WindShield_Temp_ro_toS(_m->dbg_Sen_WindShield_Temp_phys); +#endif // CANDB_DBG_USE_SIGFLOAT + + _d[0] |= (uint8_t) ( (_m->dbg_Sen_DewPoint_Diff_ro & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->dbg_Sen_DewPoint_Diff_ro >> 8U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( (_m->dbg_Sen_WindShield_Humidity_ro & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->dbg_Sen_WindShield_Humidity_ro >> 8U) & (0x03U)) ); + _d[4] |= (uint8_t) ( (_m->dbg_Sen_WindShield_Temp_ro & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->dbg_Sen_WindShield_Temp_ro >> 8U) & (0xFFU)) ); + + *_len = (uint8_t) dbg_Sen_Demist_DLC; + *_ide = (uint8_t) dbg_Sen_Demist_IDE; + return dbg_Sen_Demist_CANID; +} + +#endif // CANDB_DBG_USE_CANSTRUCT + +uint32_t Unpack_dbg_LIN_AirQS_Stat_candb_dbg(dbg_LIN_AirQS_Stat_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->LIN_AirQS_LinRespErr_Stat = (uint8_t) ( (_d[0] & (0x01U)) ); + _m->LIN_AirQualSen_Stat = (uint8_t) ( ((_d[0] >> 1U) & (0x03U)) ); + _m->LIN_AirQualSenCombined_Val = (uint8_t) ( ((_d[0] >> 3U) & (0x03U)) ); + _m->LIN_AirQualSen_Error_Stat = (uint8_t) ( ((_d[1] >> 1U) & (0x03U)) ); + _m->LIN_AirQualSenCOlvl_Val = (uint8_t) ( ((_d[1] >> 4U) & (0x0FU)) ); + _m->LIN_AirQualSenNOxlvl_Val = (uint8_t) ( (_d[2] & (0x0FU)) ); + _m->LIN_AirQualSenNH3lvl_Val = (uint8_t) ( ((_d[2] >> 4U) & (0x0FU)) ); + +#ifdef CANDB_DBG_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < dbg_LIN_AirQS_Stat_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_dbg_LIN_AirQS_Stat_candb_dbg(&_m->mon1, dbg_LIN_AirQS_Stat_CANID); +#endif // CANDB_DBG_USE_DIAG_MONITORS + + return dbg_LIN_AirQS_Stat_CANID; +} + +#ifdef CANDB_DBG_USE_CANSTRUCT + +uint32_t Pack_dbg_LIN_AirQS_Stat_candb_dbg(dbg_LIN_AirQS_Stat_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_DBG_VALIDATE_DLC(dbg_LIN_AirQS_Stat_DLC); cframe->Data[i++] = CANDB_DBG_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->LIN_AirQS_LinRespErr_Stat & (0x01U)) | ((_m->LIN_AirQualSen_Stat & (0x03U)) << 1U) | ((_m->LIN_AirQualSenCombined_Val & (0x03U)) << 3U) ); + cframe->Data[1] |= (uint8_t) ( ((_m->LIN_AirQualSen_Error_Stat & (0x03U)) << 1U) | ((_m->LIN_AirQualSenCOlvl_Val & (0x0FU)) << 4U) ); + cframe->Data[2] |= (uint8_t) ( (_m->LIN_AirQualSenNOxlvl_Val & (0x0FU)) | ((_m->LIN_AirQualSenNH3lvl_Val & (0x0FU)) << 4U) ); + + cframe->MsgId = (uint32_t) dbg_LIN_AirQS_Stat_CANID; + cframe->DLC = (uint8_t) dbg_LIN_AirQS_Stat_DLC; + cframe->IDE = (uint8_t) dbg_LIN_AirQS_Stat_IDE; + return dbg_LIN_AirQS_Stat_CANID; +} + +#else + +uint32_t Pack_dbg_LIN_AirQS_Stat_candb_dbg(dbg_LIN_AirQS_Stat_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_DBG_VALIDATE_DLC(dbg_LIN_AirQS_Stat_DLC); _d[i++] = CANDB_DBG_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->LIN_AirQS_LinRespErr_Stat & (0x01U)) | ((_m->LIN_AirQualSen_Stat & (0x03U)) << 1U) | ((_m->LIN_AirQualSenCombined_Val & (0x03U)) << 3U) ); + _d[1] |= (uint8_t) ( ((_m->LIN_AirQualSen_Error_Stat & (0x03U)) << 1U) | ((_m->LIN_AirQualSenCOlvl_Val & (0x0FU)) << 4U) ); + _d[2] |= (uint8_t) ( (_m->LIN_AirQualSenNOxlvl_Val & (0x0FU)) | ((_m->LIN_AirQualSenNH3lvl_Val & (0x0FU)) << 4U) ); + + *_len = (uint8_t) dbg_LIN_AirQS_Stat_DLC; + *_ide = (uint8_t) dbg_LIN_AirQS_Stat_IDE; + return dbg_LIN_AirQS_Stat_CANID; +} + +#endif // CANDB_DBG_USE_CANSTRUCT + +uint32_t Unpack_dbg_LIN_Aroma_Stat_candb_dbg(dbg_LIN_Aroma_Stat_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->LIN_AromaLinRespErr_Stat = (uint8_t) ( (_d[0] & (0x01U)) ); + _m->LIN_Aroma_1CartridgeSw = (uint8_t) ( ((_d[0] >> 1U) & (0x01U)) ); + _m->LIN_Aroma_2CartridgeSw = (uint8_t) ( ((_d[0] >> 2U) & (0x01U)) ); + _m->LIN_Aroma_3CartridgeSw = (uint8_t) ( ((_d[0] >> 3U) & (0x01U)) ); + _m->LIN_Aroma_Error_Stat = (uint8_t) ( ((_d[0] >> 4U) & (0x03U)) ); + _m->LIN_Aroma_Intens = (uint8_t) ( ((_d[0] >> 6U) & (0x03U)) ); + _m->LIN_Aroma_CartridgeSel = (uint8_t) ( (_d[1] & (0x03U)) ); + _m->LIN_Aroma_1CartridgeFlavor = (uint8_t) ( ((_d[1] >> 2U) & (0x0FU)) ); + _m->LIN_Aroma_2CartridgeFlavor = (uint8_t) ( (_d[2] & (0x0FU)) ); + _m->LIN_Aroma_3CartridgeFlavor = (uint8_t) ( ((_d[2] >> 4U) & (0x0FU)) ); + _m->LIN_Aroma_1CartridgeCapacity_ro = (uint8_t) ( (_d[3] & (0x0FU)) ); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->LIN_Aroma_1CartridgeCapacity_phys = (uint8_t) CANDB_DBG_LIN_Aroma_1CartridgeCapacity_ro_fromS(_m->LIN_Aroma_1CartridgeCapacity_ro); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->LIN_Aroma_2CartridgeCapacity_ro = (uint8_t) ( ((_d[3] >> 4U) & (0x0FU)) ); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->LIN_Aroma_2CartridgeCapacity_phys = (uint8_t) CANDB_DBG_LIN_Aroma_2CartridgeCapacity_ro_fromS(_m->LIN_Aroma_2CartridgeCapacity_ro); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->LIN_Aroma_3CartridgeCapacity_ro = (uint8_t) ( (_d[4] & (0x0FU)) ); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->LIN_Aroma_3CartridgeCapacity_phys = (uint8_t) CANDB_DBG_LIN_Aroma_3CartridgeCapacity_ro_fromS(_m->LIN_Aroma_3CartridgeCapacity_ro); +#endif // CANDB_DBG_USE_SIGFLOAT + +#ifdef CANDB_DBG_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < dbg_LIN_Aroma_Stat_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_dbg_LIN_Aroma_Stat_candb_dbg(&_m->mon1, dbg_LIN_Aroma_Stat_CANID); +#endif // CANDB_DBG_USE_DIAG_MONITORS + + return dbg_LIN_Aroma_Stat_CANID; +} + +#ifdef CANDB_DBG_USE_CANSTRUCT + +uint32_t Pack_dbg_LIN_Aroma_Stat_candb_dbg(dbg_LIN_Aroma_Stat_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_DBG_VALIDATE_DLC(dbg_LIN_Aroma_Stat_DLC); cframe->Data[i++] = CANDB_DBG_INITIAL_BYTE_VALUE); + +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->LIN_Aroma_1CartridgeCapacity_ro = (uint8_t) CANDB_DBG_LIN_Aroma_1CartridgeCapacity_ro_toS(_m->LIN_Aroma_1CartridgeCapacity_phys); + _m->LIN_Aroma_2CartridgeCapacity_ro = (uint8_t) CANDB_DBG_LIN_Aroma_2CartridgeCapacity_ro_toS(_m->LIN_Aroma_2CartridgeCapacity_phys); + _m->LIN_Aroma_3CartridgeCapacity_ro = (uint8_t) CANDB_DBG_LIN_Aroma_3CartridgeCapacity_ro_toS(_m->LIN_Aroma_3CartridgeCapacity_phys); +#endif // CANDB_DBG_USE_SIGFLOAT + + cframe->Data[0] |= (uint8_t) ( (_m->LIN_AromaLinRespErr_Stat & (0x01U)) | ((_m->LIN_Aroma_1CartridgeSw & (0x01U)) << 1U) | ((_m->LIN_Aroma_2CartridgeSw & (0x01U)) << 2U) | ((_m->LIN_Aroma_3CartridgeSw & (0x01U)) << 3U) | ((_m->LIN_Aroma_Error_Stat & (0x03U)) << 4U) | ((_m->LIN_Aroma_Intens & (0x03U)) << 6U) ); + cframe->Data[1] |= (uint8_t) ( (_m->LIN_Aroma_CartridgeSel & (0x03U)) | ((_m->LIN_Aroma_1CartridgeFlavor & (0x0FU)) << 2U) ); + cframe->Data[2] |= (uint8_t) ( (_m->LIN_Aroma_2CartridgeFlavor & (0x0FU)) | ((_m->LIN_Aroma_3CartridgeFlavor & (0x0FU)) << 4U) ); + cframe->Data[3] |= (uint8_t) ( (_m->LIN_Aroma_1CartridgeCapacity_ro & (0x0FU)) | ((_m->LIN_Aroma_2CartridgeCapacity_ro & (0x0FU)) << 4U) ); + cframe->Data[4] |= (uint8_t) ( (_m->LIN_Aroma_3CartridgeCapacity_ro & (0x0FU)) ); + + cframe->MsgId = (uint32_t) dbg_LIN_Aroma_Stat_CANID; + cframe->DLC = (uint8_t) dbg_LIN_Aroma_Stat_DLC; + cframe->IDE = (uint8_t) dbg_LIN_Aroma_Stat_IDE; + return dbg_LIN_Aroma_Stat_CANID; +} + +#else + +uint32_t Pack_dbg_LIN_Aroma_Stat_candb_dbg(dbg_LIN_Aroma_Stat_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_DBG_VALIDATE_DLC(dbg_LIN_Aroma_Stat_DLC); _d[i++] = CANDB_DBG_INITIAL_BYTE_VALUE); + +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->LIN_Aroma_1CartridgeCapacity_ro = (uint8_t) CANDB_DBG_LIN_Aroma_1CartridgeCapacity_ro_toS(_m->LIN_Aroma_1CartridgeCapacity_phys); + _m->LIN_Aroma_2CartridgeCapacity_ro = (uint8_t) CANDB_DBG_LIN_Aroma_2CartridgeCapacity_ro_toS(_m->LIN_Aroma_2CartridgeCapacity_phys); + _m->LIN_Aroma_3CartridgeCapacity_ro = (uint8_t) CANDB_DBG_LIN_Aroma_3CartridgeCapacity_ro_toS(_m->LIN_Aroma_3CartridgeCapacity_phys); +#endif // CANDB_DBG_USE_SIGFLOAT + + _d[0] |= (uint8_t) ( (_m->LIN_AromaLinRespErr_Stat & (0x01U)) | ((_m->LIN_Aroma_1CartridgeSw & (0x01U)) << 1U) | ((_m->LIN_Aroma_2CartridgeSw & (0x01U)) << 2U) | ((_m->LIN_Aroma_3CartridgeSw & (0x01U)) << 3U) | ((_m->LIN_Aroma_Error_Stat & (0x03U)) << 4U) | ((_m->LIN_Aroma_Intens & (0x03U)) << 6U) ); + _d[1] |= (uint8_t) ( (_m->LIN_Aroma_CartridgeSel & (0x03U)) | ((_m->LIN_Aroma_1CartridgeFlavor & (0x0FU)) << 2U) ); + _d[2] |= (uint8_t) ( (_m->LIN_Aroma_2CartridgeFlavor & (0x0FU)) | ((_m->LIN_Aroma_3CartridgeFlavor & (0x0FU)) << 4U) ); + _d[3] |= (uint8_t) ( (_m->LIN_Aroma_1CartridgeCapacity_ro & (0x0FU)) | ((_m->LIN_Aroma_2CartridgeCapacity_ro & (0x0FU)) << 4U) ); + _d[4] |= (uint8_t) ( (_m->LIN_Aroma_3CartridgeCapacity_ro & (0x0FU)) ); + + *_len = (uint8_t) dbg_LIN_Aroma_Stat_DLC; + *_ide = (uint8_t) dbg_LIN_Aroma_Stat_IDE; + return dbg_LIN_Aroma_Stat_CANID; +} + +#endif // CANDB_DBG_USE_CANSTRUCT + +uint32_t Unpack_dbg_LIN_Ionizer_Stat_candb_dbg(dbg_LIN_Ionizer_Stat_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->LIN_Ionizer_Err_Stat = (uint8_t) ( (_d[0] & (0x03U)) ); + _m->LIN_Ionizer_LinRespErr = (uint8_t) ( ((_d[0] >> 2U) & (0x01U)) ); + _m->LIN_Ionizer_Ionization = (uint8_t) ( (_d[1] & (0x03U)) ); + +#ifdef CANDB_DBG_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < dbg_LIN_Ionizer_Stat_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_dbg_LIN_Ionizer_Stat_candb_dbg(&_m->mon1, dbg_LIN_Ionizer_Stat_CANID); +#endif // CANDB_DBG_USE_DIAG_MONITORS + + return dbg_LIN_Ionizer_Stat_CANID; +} + +#ifdef CANDB_DBG_USE_CANSTRUCT + +uint32_t Pack_dbg_LIN_Ionizer_Stat_candb_dbg(dbg_LIN_Ionizer_Stat_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_DBG_VALIDATE_DLC(dbg_LIN_Ionizer_Stat_DLC); cframe->Data[i++] = CANDB_DBG_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->LIN_Ionizer_Err_Stat & (0x03U)) | ((_m->LIN_Ionizer_LinRespErr & (0x01U)) << 2U) ); + cframe->Data[1] |= (uint8_t) ( (_m->LIN_Ionizer_Ionization & (0x03U)) ); + + cframe->MsgId = (uint32_t) dbg_LIN_Ionizer_Stat_CANID; + cframe->DLC = (uint8_t) dbg_LIN_Ionizer_Stat_DLC; + cframe->IDE = (uint8_t) dbg_LIN_Ionizer_Stat_IDE; + return dbg_LIN_Ionizer_Stat_CANID; +} + +#else + +uint32_t Pack_dbg_LIN_Ionizer_Stat_candb_dbg(dbg_LIN_Ionizer_Stat_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_DBG_VALIDATE_DLC(dbg_LIN_Ionizer_Stat_DLC); _d[i++] = CANDB_DBG_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->LIN_Ionizer_Err_Stat & (0x03U)) | ((_m->LIN_Ionizer_LinRespErr & (0x01U)) << 2U) ); + _d[1] |= (uint8_t) ( (_m->LIN_Ionizer_Ionization & (0x03U)) ); + + *_len = (uint8_t) dbg_LIN_Ionizer_Stat_DLC; + *_ide = (uint8_t) dbg_LIN_Ionizer_Stat_IDE; + return dbg_LIN_Ionizer_Stat_CANID; +} + +#endif // CANDB_DBG_USE_CANSTRUCT + +uint32_t Unpack_dbg_LIN_eTXV_Stat_candb_dbg(dbg_LIN_eTXV_Stat_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->LIN_eTXVee1_Pos_Stat = (uint8_t) ( (_d[0] & (0x7FU)) ); + _m->LIN_eTXV1_LinRespErr_Stat = (uint8_t) ( ((_d[0] >> 7U) & (0x01U)) ); + _m->LIN_eTXVee1_Err_Stat = (uint8_t) ( (_d[1] & (0x03U)) ); + _m->LIN_eTXVee2_Pos_Stat = (uint8_t) ( (_d[2] & (0x7FU)) ); + _m->LIN_eTXV2_LinRespErr_Stat = (uint8_t) ( ((_d[2] >> 7U) & (0x01U)) ); + _m->LIN_eTXVee2_Err_Stat = (uint8_t) ( (_d[3] & (0x03U)) ); + _m->LIN_eTXVeeChiller1_Pos_Stat = (uint8_t) ( (_d[4] & (0x7FU)) ); + _m->LIN_eTXV3_LinRespErr_Stat = (uint8_t) ( ((_d[4] >> 7U) & (0x01U)) ); + _m->LIN_eTXVeeChiller1_Err_Stat = (uint8_t) ( (_d[5] & (0x03U)) ); + _m->LIN_eTXVeeChiller2_Pos_Stat = (uint8_t) ( (_d[6] & (0x7FU)) ); + _m->LIN_eTXV4_LinRespErr_Stat = (uint8_t) ( ((_d[6] >> 7U) & (0x01U)) ); + _m->LIN_eTXVeeChiller2_Err_Stat = (uint8_t) ( (_d[7] & (0x03U)) ); + +#ifdef CANDB_DBG_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < dbg_LIN_eTXV_Stat_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_dbg_LIN_eTXV_Stat_candb_dbg(&_m->mon1, dbg_LIN_eTXV_Stat_CANID); +#endif // CANDB_DBG_USE_DIAG_MONITORS + + return dbg_LIN_eTXV_Stat_CANID; +} + +#ifdef CANDB_DBG_USE_CANSTRUCT + +uint32_t Pack_dbg_LIN_eTXV_Stat_candb_dbg(dbg_LIN_eTXV_Stat_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_DBG_VALIDATE_DLC(dbg_LIN_eTXV_Stat_DLC); cframe->Data[i++] = CANDB_DBG_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->LIN_eTXVee1_Pos_Stat & (0x7FU)) | ((_m->LIN_eTXV1_LinRespErr_Stat & (0x01U)) << 7U) ); + cframe->Data[1] |= (uint8_t) ( (_m->LIN_eTXVee1_Err_Stat & (0x03U)) ); + cframe->Data[2] |= (uint8_t) ( (_m->LIN_eTXVee2_Pos_Stat & (0x7FU)) | ((_m->LIN_eTXV2_LinRespErr_Stat & (0x01U)) << 7U) ); + cframe->Data[3] |= (uint8_t) ( (_m->LIN_eTXVee2_Err_Stat & (0x03U)) ); + cframe->Data[4] |= (uint8_t) ( (_m->LIN_eTXVeeChiller1_Pos_Stat & (0x7FU)) | ((_m->LIN_eTXV3_LinRespErr_Stat & (0x01U)) << 7U) ); + cframe->Data[5] |= (uint8_t) ( (_m->LIN_eTXVeeChiller1_Err_Stat & (0x03U)) ); + cframe->Data[6] |= (uint8_t) ( (_m->LIN_eTXVeeChiller2_Pos_Stat & (0x7FU)) | ((_m->LIN_eTXV4_LinRespErr_Stat & (0x01U)) << 7U) ); + cframe->Data[7] |= (uint8_t) ( (_m->LIN_eTXVeeChiller2_Err_Stat & (0x03U)) ); + + cframe->MsgId = (uint32_t) dbg_LIN_eTXV_Stat_CANID; + cframe->DLC = (uint8_t) dbg_LIN_eTXV_Stat_DLC; + cframe->IDE = (uint8_t) dbg_LIN_eTXV_Stat_IDE; + return dbg_LIN_eTXV_Stat_CANID; +} + +#else + +uint32_t Pack_dbg_LIN_eTXV_Stat_candb_dbg(dbg_LIN_eTXV_Stat_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_DBG_VALIDATE_DLC(dbg_LIN_eTXV_Stat_DLC); _d[i++] = CANDB_DBG_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->LIN_eTXVee1_Pos_Stat & (0x7FU)) | ((_m->LIN_eTXV1_LinRespErr_Stat & (0x01U)) << 7U) ); + _d[1] |= (uint8_t) ( (_m->LIN_eTXVee1_Err_Stat & (0x03U)) ); + _d[2] |= (uint8_t) ( (_m->LIN_eTXVee2_Pos_Stat & (0x7FU)) | ((_m->LIN_eTXV2_LinRespErr_Stat & (0x01U)) << 7U) ); + _d[3] |= (uint8_t) ( (_m->LIN_eTXVee2_Err_Stat & (0x03U)) ); + _d[4] |= (uint8_t) ( (_m->LIN_eTXVeeChiller1_Pos_Stat & (0x7FU)) | ((_m->LIN_eTXV3_LinRespErr_Stat & (0x01U)) << 7U) ); + _d[5] |= (uint8_t) ( (_m->LIN_eTXVeeChiller1_Err_Stat & (0x03U)) ); + _d[6] |= (uint8_t) ( (_m->LIN_eTXVeeChiller2_Pos_Stat & (0x7FU)) | ((_m->LIN_eTXV4_LinRespErr_Stat & (0x01U)) << 7U) ); + _d[7] |= (uint8_t) ( (_m->LIN_eTXVeeChiller2_Err_Stat & (0x03U)) ); + + *_len = (uint8_t) dbg_LIN_eTXV_Stat_DLC; + *_ide = (uint8_t) dbg_LIN_eTXV_Stat_IDE; + return dbg_LIN_eTXV_Stat_CANID; +} + +#endif // CANDB_DBG_USE_CANSTRUCT + +uint32_t Unpack_dbg_LIN_DRS_Stat_candb_dbg(dbg_LIN_DRS_Stat_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->LIN_DRS_DLLed1 = (uint8_t) ( (_d[0] & (0x01U)) ); + _m->LIN_DRS_DLLed2 = (uint8_t) ( ((_d[0] >> 1U) & (0x01U)) ); + _m->LIN_DRS_DLLed3 = (uint8_t) ( ((_d[0] >> 2U) & (0x01U)) ); + _m->LIN_DRS_DRLed1 = (uint8_t) ( ((_d[0] >> 4U) & (0x01U)) ); + _m->LIN_DRS_DRLed2 = (uint8_t) ( ((_d[0] >> 5U) & (0x01U)) ); + _m->LIN_DRS_DRLed3 = (uint8_t) ( ((_d[0] >> 6U) & (0x01U)) ); + _m->LIN_DRS_FPLLed1 = (uint8_t) ( (_d[1] & (0x01U)) ); + _m->LIN_DRS_FPLLed2 = (uint8_t) ( ((_d[1] >> 1U) & (0x01U)) ); + _m->LIN_DRS_FPLLed3 = (uint8_t) ( ((_d[1] >> 2U) & (0x01U)) ); + _m->LIN_DRS_FPRLed1 = (uint8_t) ( ((_d[1] >> 4U) & (0x01U)) ); + _m->LIN_DRS_FPRLed2 = (uint8_t) ( ((_d[1] >> 5U) & (0x01U)) ); + _m->LIN_DRS_FPRLed3 = (uint8_t) ( ((_d[1] >> 6U) & (0x01U)) ); + _m->LIN_DRS_RLBLed1 = (uint8_t) ( (_d[2] & (0x01U)) ); + _m->LIN_DRS_RLBLed2 = (uint8_t) ( ((_d[2] >> 1U) & (0x01U)) ); + _m->LIN_DRS_RLBLed3 = (uint8_t) ( ((_d[2] >> 2U) & (0x01U)) ); + _m->LIN_DRS_RRBLed1 = (uint8_t) ( ((_d[2] >> 4U) & (0x01U)) ); + _m->LIN_DRS_RRBLed2 = (uint8_t) ( ((_d[2] >> 5U) & (0x01U)) ); + _m->LIN_DRS_RRBLed3 = (uint8_t) ( ((_d[2] >> 6U) & (0x01U)) ); + _m->LIN_DRS_FCLLed1 = (uint8_t) ( (_d[3] & (0x01U)) ); + _m->LIN_DRS_FCLLed2 = (uint8_t) ( ((_d[3] >> 1U) & (0x01U)) ); + _m->LIN_DRS_FCLLed3 = (uint8_t) ( ((_d[3] >> 2U) & (0x01U)) ); + _m->LIN_DRS_FCRLed1 = (uint8_t) ( ((_d[3] >> 4U) & (0x01U)) ); + _m->LIN_DRS_FCRLed2 = (uint8_t) ( ((_d[3] >> 5U) & (0x01U)) ); + _m->LIN_DRS_FCRLed3 = (uint8_t) ( ((_d[3] >> 6U) & (0x01U)) ); + _m->LIN_DRS_BCM_IndFadingTime_ro = (uint8_t) ( (_d[4] & (0x1FU)) ); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->LIN_DRS_BCM_IndFadingTime_phys = (sigfloat_t)(CANDB_DBG_LIN_DRS_BCM_IndFadingTime_ro_fromS(_m->LIN_DRS_BCM_IndFadingTime_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->LIN_DRS_BCM_SwIndIntens = (uint8_t) ( ((_d[4] >> 5U) & (0x01U)) ); + +#ifdef CANDB_DBG_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < dbg_LIN_DRS_Stat_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_dbg_LIN_DRS_Stat_candb_dbg(&_m->mon1, dbg_LIN_DRS_Stat_CANID); +#endif // CANDB_DBG_USE_DIAG_MONITORS + + return dbg_LIN_DRS_Stat_CANID; +} + +#ifdef CANDB_DBG_USE_CANSTRUCT + +uint32_t Pack_dbg_LIN_DRS_Stat_candb_dbg(dbg_LIN_DRS_Stat_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_DBG_VALIDATE_DLC(dbg_LIN_DRS_Stat_DLC); cframe->Data[i++] = CANDB_DBG_INITIAL_BYTE_VALUE); + +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->LIN_DRS_BCM_IndFadingTime_ro = (uint8_t) CANDB_DBG_LIN_DRS_BCM_IndFadingTime_ro_toS(_m->LIN_DRS_BCM_IndFadingTime_phys); +#endif // CANDB_DBG_USE_SIGFLOAT + + cframe->Data[0] |= (uint8_t) ( (_m->LIN_DRS_DLLed1 & (0x01U)) | ((_m->LIN_DRS_DLLed2 & (0x01U)) << 1U) | ((_m->LIN_DRS_DLLed3 & (0x01U)) << 2U) | ((_m->LIN_DRS_DRLed1 & (0x01U)) << 4U) | ((_m->LIN_DRS_DRLed2 & (0x01U)) << 5U) | ((_m->LIN_DRS_DRLed3 & (0x01U)) << 6U) ); + cframe->Data[1] |= (uint8_t) ( (_m->LIN_DRS_FPLLed1 & (0x01U)) | ((_m->LIN_DRS_FPLLed2 & (0x01U)) << 1U) | ((_m->LIN_DRS_FPLLed3 & (0x01U)) << 2U) | ((_m->LIN_DRS_FPRLed1 & (0x01U)) << 4U) | ((_m->LIN_DRS_FPRLed2 & (0x01U)) << 5U) | ((_m->LIN_DRS_FPRLed3 & (0x01U)) << 6U) ); + cframe->Data[2] |= (uint8_t) ( (_m->LIN_DRS_RLBLed1 & (0x01U)) | ((_m->LIN_DRS_RLBLed2 & (0x01U)) << 1U) | ((_m->LIN_DRS_RLBLed3 & (0x01U)) << 2U) | ((_m->LIN_DRS_RRBLed1 & (0x01U)) << 4U) | ((_m->LIN_DRS_RRBLed2 & (0x01U)) << 5U) | ((_m->LIN_DRS_RRBLed3 & (0x01U)) << 6U) ); + cframe->Data[3] |= (uint8_t) ( (_m->LIN_DRS_FCLLed1 & (0x01U)) | ((_m->LIN_DRS_FCLLed2 & (0x01U)) << 1U) | ((_m->LIN_DRS_FCLLed3 & (0x01U)) << 2U) | ((_m->LIN_DRS_FCRLed1 & (0x01U)) << 4U) | ((_m->LIN_DRS_FCRLed2 & (0x01U)) << 5U) | ((_m->LIN_DRS_FCRLed3 & (0x01U)) << 6U) ); + cframe->Data[4] |= (uint8_t) ( (_m->LIN_DRS_BCM_IndFadingTime_ro & (0x1FU)) | ((_m->LIN_DRS_BCM_SwIndIntens & (0x01U)) << 5U) ); + + cframe->MsgId = (uint32_t) dbg_LIN_DRS_Stat_CANID; + cframe->DLC = (uint8_t) dbg_LIN_DRS_Stat_DLC; + cframe->IDE = (uint8_t) dbg_LIN_DRS_Stat_IDE; + return dbg_LIN_DRS_Stat_CANID; +} + +#else + +uint32_t Pack_dbg_LIN_DRS_Stat_candb_dbg(dbg_LIN_DRS_Stat_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_DBG_VALIDATE_DLC(dbg_LIN_DRS_Stat_DLC); _d[i++] = CANDB_DBG_INITIAL_BYTE_VALUE); + +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->LIN_DRS_BCM_IndFadingTime_ro = (uint8_t) CANDB_DBG_LIN_DRS_BCM_IndFadingTime_ro_toS(_m->LIN_DRS_BCM_IndFadingTime_phys); +#endif // CANDB_DBG_USE_SIGFLOAT + + _d[0] |= (uint8_t) ( (_m->LIN_DRS_DLLed1 & (0x01U)) | ((_m->LIN_DRS_DLLed2 & (0x01U)) << 1U) | ((_m->LIN_DRS_DLLed3 & (0x01U)) << 2U) | ((_m->LIN_DRS_DRLed1 & (0x01U)) << 4U) | ((_m->LIN_DRS_DRLed2 & (0x01U)) << 5U) | ((_m->LIN_DRS_DRLed3 & (0x01U)) << 6U) ); + _d[1] |= (uint8_t) ( (_m->LIN_DRS_FPLLed1 & (0x01U)) | ((_m->LIN_DRS_FPLLed2 & (0x01U)) << 1U) | ((_m->LIN_DRS_FPLLed3 & (0x01U)) << 2U) | ((_m->LIN_DRS_FPRLed1 & (0x01U)) << 4U) | ((_m->LIN_DRS_FPRLed2 & (0x01U)) << 5U) | ((_m->LIN_DRS_FPRLed3 & (0x01U)) << 6U) ); + _d[2] |= (uint8_t) ( (_m->LIN_DRS_RLBLed1 & (0x01U)) | ((_m->LIN_DRS_RLBLed2 & (0x01U)) << 1U) | ((_m->LIN_DRS_RLBLed3 & (0x01U)) << 2U) | ((_m->LIN_DRS_RRBLed1 & (0x01U)) << 4U) | ((_m->LIN_DRS_RRBLed2 & (0x01U)) << 5U) | ((_m->LIN_DRS_RRBLed3 & (0x01U)) << 6U) ); + _d[3] |= (uint8_t) ( (_m->LIN_DRS_FCLLed1 & (0x01U)) | ((_m->LIN_DRS_FCLLed2 & (0x01U)) << 1U) | ((_m->LIN_DRS_FCLLed3 & (0x01U)) << 2U) | ((_m->LIN_DRS_FCRLed1 & (0x01U)) << 4U) | ((_m->LIN_DRS_FCRLed2 & (0x01U)) << 5U) | ((_m->LIN_DRS_FCRLed3 & (0x01U)) << 6U) ); + _d[4] |= (uint8_t) ( (_m->LIN_DRS_BCM_IndFadingTime_ro & (0x1FU)) | ((_m->LIN_DRS_BCM_SwIndIntens & (0x01U)) << 5U) ); + + *_len = (uint8_t) dbg_LIN_DRS_Stat_DLC; + *_ide = (uint8_t) dbg_LIN_DRS_Stat_IDE; + return dbg_LIN_DRS_Stat_CANID; +} + +#endif // CANDB_DBG_USE_CANSTRUCT + +uint32_t Unpack_dbg_Auto_AF_candb_dbg(dbg_Auto_AF_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->dbg_Auto_AF_MultMsg_Idx = (uint8_t) ( (_d[0] & (0x03U)) ); + _m->dbg_Auto_AF_Correct_FL = (int16_t) __ext_sig__(( ((_d[1] & (0xFFU)) << 4U) | ((_d[0] >> 4U) & (0x0FU)) ), 12); + _m->dbg_Auto_AF_Correct_FR = (int16_t) __ext_sig__(( ((_d[1] & (0xFFU)) << 4U) | ((_d[0] >> 4U) & (0x0FU)) ), 12); + _m->dbg_Auto_AF_Correct_RL = (int16_t) __ext_sig__(( ((_d[1] & (0xFFU)) << 4U) | ((_d[0] >> 4U) & (0x0FU)) ), 12); + _m->dbg_Auto_AF_Correct_RR = (int16_t) __ext_sig__(( ((_d[1] & (0xFFU)) << 4U) | ((_d[0] >> 4U) & (0x0FU)) ), 12); + _m->dbg_Auto_AF_Vtg_RL = (int16_t) __ext_sig__(( ((_d[3] & (0x0FU)) << 8U) | (_d[2] & (0xFFU)) ), 12); + _m->dbg_Auto_AF_Vtg_FL = (int16_t) __ext_sig__(( ((_d[3] & (0x0FU)) << 8U) | (_d[2] & (0xFFU)) ), 12); + _m->dbg_Auto_AF_Vtg_FR = (int16_t) __ext_sig__(( ((_d[3] & (0x0FU)) << 8U) | (_d[2] & (0xFFU)) ), 12); + _m->dbg_Auto_AF_Vtg_RR = (int16_t) __ext_sig__(( ((_d[3] & (0x0FU)) << 8U) | (_d[2] & (0xFFU)) ), 12); + _m->dbg_Auto_AF_Incar_RL = (int16_t) __ext_sig__(( ((_d[4] & (0xFFU)) << 4U) | ((_d[3] >> 4U) & (0x0FU)) ), 12); + _m->dbg_Auto_AF_Incar_FR = (int16_t) __ext_sig__(( ((_d[4] & (0xFFU)) << 4U) | ((_d[3] >> 4U) & (0x0FU)) ), 12); + _m->dbg_Auto_AF_Incar_RR = (int16_t) __ext_sig__(( ((_d[4] & (0xFFU)) << 4U) | ((_d[3] >> 4U) & (0x0FU)) ), 12); + _m->dbg_Auto_AF_Incar_FL = (int16_t) __ext_sig__(( ((_d[4] & (0xFFU)) << 4U) | ((_d[3] >> 4U) & (0x0FU)) ), 12); + _m->dbg_Auto_AF_Amb_RL = (int16_t) __ext_sig__(( ((_d[6] & (0x0FU)) << 8U) | (_d[5] & (0xFFU)) ), 12); + _m->dbg_Auto_AF_Amb_FR = (int16_t) __ext_sig__(( ((_d[6] & (0x0FU)) << 8U) | (_d[5] & (0xFFU)) ), 12); + _m->dbg_Auto_AF_Sun_RR = (int16_t) __ext_sig__(( ((_d[6] & (0x0FU)) << 8U) | (_d[5] & (0xFFU)) ), 12); + _m->dbg_Auto_AF_Amb_FL = (int16_t) __ext_sig__(( ((_d[6] & (0x0FU)) << 8U) | (_d[5] & (0xFFU)) ), 12); + _m->dbg_Auto_AF_Sun_FR = (int16_t) __ext_sig__(( ((_d[7] & (0xFFU)) << 4U) | ((_d[6] >> 4U) & (0x0FU)) ), 12); + _m->dbg_Auto_AF_Sun_RL = (int16_t) __ext_sig__(( ((_d[7] & (0xFFU)) << 4U) | ((_d[6] >> 4U) & (0x0FU)) ), 12); + _m->dbg_Auto_AF_Amb_RR = (int16_t) __ext_sig__(( ((_d[7] & (0xFFU)) << 4U) | ((_d[6] >> 4U) & (0x0FU)) ), 12); + _m->dbg_Auto_AF_Sun_FL = (int16_t) __ext_sig__(( ((_d[7] & (0xFFU)) << 4U) | ((_d[6] >> 4U) & (0x0FU)) ), 12); + +#ifdef CANDB_DBG_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < dbg_Auto_AF_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_dbg_Auto_AF_candb_dbg(&_m->mon1, dbg_Auto_AF_CANID); +#endif // CANDB_DBG_USE_DIAG_MONITORS + + return dbg_Auto_AF_CANID; +} + +#ifdef CANDB_DBG_USE_CANSTRUCT + +uint32_t Pack_dbg_Auto_AF_candb_dbg(dbg_Auto_AF_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_DBG_VALIDATE_DLC(dbg_Auto_AF_DLC); cframe->Data[i++] = CANDB_DBG_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->dbg_Auto_AF_MultMsg_Idx & (0x03U)) | ((_m->dbg_Auto_AF_Correct_FL & (0x0FU)) << 4U) | ((_m->dbg_Auto_AF_Correct_FR & (0x0FU)) << 4U) | ((_m->dbg_Auto_AF_Correct_RL & (0x0FU)) << 4U) | ((_m->dbg_Auto_AF_Correct_RR & (0x0FU)) << 4U) ); + cframe->Data[1] |= (uint8_t) ( ((_m->dbg_Auto_AF_Correct_FL >> 4U) & (0xFFU)) | ((_m->dbg_Auto_AF_Correct_FR >> 4U) & (0xFFU)) | ((_m->dbg_Auto_AF_Correct_RL >> 4U) & (0xFFU)) | ((_m->dbg_Auto_AF_Correct_RR >> 4U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( (_m->dbg_Auto_AF_Vtg_RL & (0xFFU)) | (_m->dbg_Auto_AF_Vtg_FL & (0xFFU)) | (_m->dbg_Auto_AF_Vtg_FR & (0xFFU)) | (_m->dbg_Auto_AF_Vtg_RR & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->dbg_Auto_AF_Vtg_RL >> 8U) & (0x0FU)) | ((_m->dbg_Auto_AF_Vtg_FL >> 8U) & (0x0FU)) | ((_m->dbg_Auto_AF_Vtg_FR >> 8U) & (0x0FU)) | ((_m->dbg_Auto_AF_Vtg_RR >> 8U) & (0x0FU)) | ((_m->dbg_Auto_AF_Incar_RL & (0x0FU)) << 4U) | ((_m->dbg_Auto_AF_Incar_FR & (0x0FU)) << 4U) | ((_m->dbg_Auto_AF_Incar_RR & (0x0FU)) << 4U) | ((_m->dbg_Auto_AF_Incar_FL & (0x0FU)) << 4U) ); + cframe->Data[4] |= (uint8_t) ( ((_m->dbg_Auto_AF_Incar_RL >> 4U) & (0xFFU)) | ((_m->dbg_Auto_AF_Incar_FR >> 4U) & (0xFFU)) | ((_m->dbg_Auto_AF_Incar_RR >> 4U) & (0xFFU)) | ((_m->dbg_Auto_AF_Incar_FL >> 4U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( (_m->dbg_Auto_AF_Amb_RL & (0xFFU)) | (_m->dbg_Auto_AF_Amb_FR & (0xFFU)) | (_m->dbg_Auto_AF_Sun_RR & (0xFFU)) | (_m->dbg_Auto_AF_Amb_FL & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->dbg_Auto_AF_Amb_RL >> 8U) & (0x0FU)) | ((_m->dbg_Auto_AF_Amb_FR >> 8U) & (0x0FU)) | ((_m->dbg_Auto_AF_Sun_RR >> 8U) & (0x0FU)) | ((_m->dbg_Auto_AF_Amb_FL >> 8U) & (0x0FU)) | ((_m->dbg_Auto_AF_Sun_FR & (0x0FU)) << 4U) | ((_m->dbg_Auto_AF_Sun_RL & (0x0FU)) << 4U) | ((_m->dbg_Auto_AF_Amb_RR & (0x0FU)) << 4U) | ((_m->dbg_Auto_AF_Sun_FL & (0x0FU)) << 4U) ); + cframe->Data[7] |= (uint8_t) ( ((_m->dbg_Auto_AF_Sun_FR >> 4U) & (0xFFU)) | ((_m->dbg_Auto_AF_Sun_RL >> 4U) & (0xFFU)) | ((_m->dbg_Auto_AF_Amb_RR >> 4U) & (0xFFU)) | ((_m->dbg_Auto_AF_Sun_FL >> 4U) & (0xFFU)) ); + + cframe->MsgId = (uint32_t) dbg_Auto_AF_CANID; + cframe->DLC = (uint8_t) dbg_Auto_AF_DLC; + cframe->IDE = (uint8_t) dbg_Auto_AF_IDE; + return dbg_Auto_AF_CANID; +} + +#else + +uint32_t Pack_dbg_Auto_AF_candb_dbg(dbg_Auto_AF_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_DBG_VALIDATE_DLC(dbg_Auto_AF_DLC); _d[i++] = CANDB_DBG_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->dbg_Auto_AF_MultMsg_Idx & (0x03U)) | ((_m->dbg_Auto_AF_Correct_FL & (0x0FU)) << 4U) | ((_m->dbg_Auto_AF_Correct_FR & (0x0FU)) << 4U) | ((_m->dbg_Auto_AF_Correct_RL & (0x0FU)) << 4U) | ((_m->dbg_Auto_AF_Correct_RR & (0x0FU)) << 4U) ); + _d[1] |= (uint8_t) ( ((_m->dbg_Auto_AF_Correct_FL >> 4U) & (0xFFU)) | ((_m->dbg_Auto_AF_Correct_FR >> 4U) & (0xFFU)) | ((_m->dbg_Auto_AF_Correct_RL >> 4U) & (0xFFU)) | ((_m->dbg_Auto_AF_Correct_RR >> 4U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( (_m->dbg_Auto_AF_Vtg_RL & (0xFFU)) | (_m->dbg_Auto_AF_Vtg_FL & (0xFFU)) | (_m->dbg_Auto_AF_Vtg_FR & (0xFFU)) | (_m->dbg_Auto_AF_Vtg_RR & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->dbg_Auto_AF_Vtg_RL >> 8U) & (0x0FU)) | ((_m->dbg_Auto_AF_Vtg_FL >> 8U) & (0x0FU)) | ((_m->dbg_Auto_AF_Vtg_FR >> 8U) & (0x0FU)) | ((_m->dbg_Auto_AF_Vtg_RR >> 8U) & (0x0FU)) | ((_m->dbg_Auto_AF_Incar_RL & (0x0FU)) << 4U) | ((_m->dbg_Auto_AF_Incar_FR & (0x0FU)) << 4U) | ((_m->dbg_Auto_AF_Incar_RR & (0x0FU)) << 4U) | ((_m->dbg_Auto_AF_Incar_FL & (0x0FU)) << 4U) ); + _d[4] |= (uint8_t) ( ((_m->dbg_Auto_AF_Incar_RL >> 4U) & (0xFFU)) | ((_m->dbg_Auto_AF_Incar_FR >> 4U) & (0xFFU)) | ((_m->dbg_Auto_AF_Incar_RR >> 4U) & (0xFFU)) | ((_m->dbg_Auto_AF_Incar_FL >> 4U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( (_m->dbg_Auto_AF_Amb_RL & (0xFFU)) | (_m->dbg_Auto_AF_Amb_FR & (0xFFU)) | (_m->dbg_Auto_AF_Sun_RR & (0xFFU)) | (_m->dbg_Auto_AF_Amb_FL & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->dbg_Auto_AF_Amb_RL >> 8U) & (0x0FU)) | ((_m->dbg_Auto_AF_Amb_FR >> 8U) & (0x0FU)) | ((_m->dbg_Auto_AF_Sun_RR >> 8U) & (0x0FU)) | ((_m->dbg_Auto_AF_Amb_FL >> 8U) & (0x0FU)) | ((_m->dbg_Auto_AF_Sun_FR & (0x0FU)) << 4U) | ((_m->dbg_Auto_AF_Sun_RL & (0x0FU)) << 4U) | ((_m->dbg_Auto_AF_Amb_RR & (0x0FU)) << 4U) | ((_m->dbg_Auto_AF_Sun_FL & (0x0FU)) << 4U) ); + _d[7] |= (uint8_t) ( ((_m->dbg_Auto_AF_Sun_FR >> 4U) & (0xFFU)) | ((_m->dbg_Auto_AF_Sun_RL >> 4U) & (0xFFU)) | ((_m->dbg_Auto_AF_Amb_RR >> 4U) & (0xFFU)) | ((_m->dbg_Auto_AF_Sun_FL >> 4U) & (0xFFU)) ); + + *_len = (uint8_t) dbg_Auto_AF_DLC; + *_ide = (uint8_t) dbg_Auto_AF_IDE; + return dbg_Auto_AF_CANID; +} + +#endif // CANDB_DBG_USE_CANSTRUCT + +uint32_t Unpack_dbg_Auto_Duct_candb_dbg(dbg_Auto_Duct_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->dbg_Auto_Duct_MultMsg_Idx = (uint8_t) ( (_d[0] & (0x0FU)) ); + _m->dbg_Auto_Duct_Tgt_FL_Upper_ro = (int16_t) __ext_sig__(( ((_d[1] & (0xFFU)) << 4U) | ((_d[0] >> 4U) & (0x0FU)) ), 12); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Auto_Duct_Tgt_FL_Upper_phys = (sigfloat_t)(CANDB_DBG_dbg_Auto_Duct_Tgt_FL_Upper_ro_fromS(_m->dbg_Auto_Duct_Tgt_FL_Upper_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Auto_Duct_Tg_Incar_FL_Upper_ro = (int16_t) __ext_sig__(( ((_d[1] & (0x3FU)) << 4U) | ((_d[0] >> 4U) & (0x0FU)) ), 10); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Auto_Duct_Tg_Incar_FL_Upper_phys = (sigfloat_t)(CANDB_DBG_dbg_Auto_Duct_Tg_Incar_FL_Upper_ro_fromS(_m->dbg_Auto_Duct_Tg_Incar_FL_Upper_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Auto_Duct_Tgt_RR_ro = (int16_t) __ext_sig__(( ((_d[1] & (0xFFU)) << 4U) | ((_d[0] >> 4U) & (0x0FU)) ), 12); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Auto_Duct_Tgt_RR_phys = (sigfloat_t)(CANDB_DBG_dbg_Auto_Duct_Tgt_RR_ro_fromS(_m->dbg_Auto_Duct_Tgt_RR_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Auto_Duct_Tgt_RL_ro = (int16_t) __ext_sig__(( ((_d[1] & (0xFFU)) << 4U) | ((_d[0] >> 4U) & (0x0FU)) ), 12); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Auto_Duct_Tgt_RL_phys = (sigfloat_t)(CANDB_DBG_dbg_Auto_Duct_Tgt_RL_ro_fromS(_m->dbg_Auto_Duct_Tgt_RL_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Auto_Duct_Tgt_FR_Upper_ro = (int16_t) __ext_sig__(( ((_d[1] & (0xFFU)) << 4U) | ((_d[0] >> 4U) & (0x0FU)) ), 12); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Auto_Duct_Tgt_FR_Upper_phys = (sigfloat_t)(CANDB_DBG_dbg_Auto_Duct_Tgt_FR_Upper_ro_fromS(_m->dbg_Auto_Duct_Tgt_FR_Upper_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Auto_Duct_Tgt_FR_Lower_ro = (int16_t) __ext_sig__(( ((_d[1] & (0xFFU)) << 4U) | ((_d[0] >> 4U) & (0x0FU)) ), 12); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Auto_Duct_Tgt_FR_Lower_phys = (sigfloat_t)(CANDB_DBG_dbg_Auto_Duct_Tgt_FR_Lower_ro_fromS(_m->dbg_Auto_Duct_Tgt_FR_Lower_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Auto_Duct_Tgt_FL_Lower_ro = (int16_t) __ext_sig__(( ((_d[1] & (0xFFU)) << 4U) | ((_d[0] >> 4U) & (0x0FU)) ), 12); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Auto_Duct_Tgt_FL_Lower_phys = (sigfloat_t)(CANDB_DBG_dbg_Auto_Duct_Tgt_FL_Lower_ro_fromS(_m->dbg_Auto_Duct_Tgt_FL_Lower_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Auto_Duct_Tg_Incar_FR_Upper_ro = (int16_t) __ext_sig__(( ((_d[2] & (0xFFU)) << 2U) | ((_d[1] >> 6U) & (0x03U)) ), 10); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Auto_Duct_Tg_Incar_FR_Upper_phys = (sigfloat_t)(CANDB_DBG_dbg_Auto_Duct_Tg_Incar_FR_Upper_ro_fromS(_m->dbg_Auto_Duct_Tg_Incar_FR_Upper_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Auto_Duct_Tg_FL_Upper_ro = (int16_t) __ext_sig__(( ((_d[3] & (0x0FU)) << 8U) | (_d[2] & (0xFFU)) ), 12); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Auto_Duct_Tg_FL_Upper_phys = (sigfloat_t)(CANDB_DBG_dbg_Auto_Duct_Tg_FL_Upper_ro_fromS(_m->dbg_Auto_Duct_Tg_FL_Upper_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Auto_Duct_Tg_FL_Lower_ro = (int16_t) __ext_sig__(( ((_d[3] & (0x0FU)) << 8U) | (_d[2] & (0xFFU)) ), 12); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Auto_Duct_Tg_FL_Lower_phys = (sigfloat_t)(CANDB_DBG_dbg_Auto_Duct_Tg_FL_Lower_ro_fromS(_m->dbg_Auto_Duct_Tg_FL_Lower_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Auto_Duct_Tg_FR_Lower_ro = (int16_t) __ext_sig__(( ((_d[3] & (0x0FU)) << 8U) | (_d[2] & (0xFFU)) ), 12); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Auto_Duct_Tg_FR_Lower_phys = (sigfloat_t)(CANDB_DBG_dbg_Auto_Duct_Tg_FR_Lower_ro_fromS(_m->dbg_Auto_Duct_Tg_FR_Lower_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Auto_Duct_Tg_FR_Upper_ro = (int16_t) __ext_sig__(( ((_d[3] & (0x0FU)) << 8U) | (_d[2] & (0xFFU)) ), 12); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Auto_Duct_Tg_FR_Upper_phys = (sigfloat_t)(CANDB_DBG_dbg_Auto_Duct_Tg_FR_Upper_ro_fromS(_m->dbg_Auto_Duct_Tg_FR_Upper_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Auto_Duct_Tg_RL_ro = (int16_t) __ext_sig__(( ((_d[3] & (0x0FU)) << 8U) | (_d[2] & (0xFFU)) ), 12); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Auto_Duct_Tg_RL_phys = (sigfloat_t)(CANDB_DBG_dbg_Auto_Duct_Tg_RL_ro_fromS(_m->dbg_Auto_Duct_Tg_RL_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Auto_Duct_Tg_RR_ro = (int16_t) __ext_sig__(( ((_d[3] & (0x0FU)) << 8U) | (_d[2] & (0xFFU)) ), 12); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Auto_Duct_Tg_RR_phys = (sigfloat_t)(CANDB_DBG_dbg_Auto_Duct_Tg_RR_ro_fromS(_m->dbg_Auto_Duct_Tg_RR_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Auto_Duct_Tg_Incar_FL_Lower_ro = (int16_t) __ext_sig__(( ((_d[4] & (0x03U)) << 8U) | (_d[3] & (0xFFU)) ), 10); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Auto_Duct_Tg_Incar_FL_Lower_phys = (sigfloat_t)(CANDB_DBG_dbg_Auto_Duct_Tg_Incar_FL_Lower_ro_fromS(_m->dbg_Auto_Duct_Tg_Incar_FL_Lower_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Auto_Duct_Incar_FL_Lower_ro = (int16_t) __ext_sig__(( ((_d[4] & (0xFFU)) << 4U) | ((_d[3] >> 4U) & (0x0FU)) ), 12); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Auto_Duct_Incar_FL_Lower_phys = (sigfloat_t)(CANDB_DBG_dbg_Auto_Duct_Incar_FL_Lower_ro_fromS(_m->dbg_Auto_Duct_Incar_FL_Lower_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Auto_Duct_Incar_RR_ro = (int16_t) __ext_sig__(( ((_d[4] & (0xFFU)) << 4U) | ((_d[3] >> 4U) & (0x0FU)) ), 12); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Auto_Duct_Incar_RR_phys = (sigfloat_t)(CANDB_DBG_dbg_Auto_Duct_Incar_RR_ro_fromS(_m->dbg_Auto_Duct_Incar_RR_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Auto_Duct_Incar_RL_ro = (int16_t) __ext_sig__(( ((_d[4] & (0xFFU)) << 4U) | ((_d[3] >> 4U) & (0x0FU)) ), 12); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Auto_Duct_Incar_RL_phys = (sigfloat_t)(CANDB_DBG_dbg_Auto_Duct_Incar_RL_ro_fromS(_m->dbg_Auto_Duct_Incar_RL_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Auto_Duct_Incar_FR_Upper_ro = (int16_t) __ext_sig__(( ((_d[4] & (0xFFU)) << 4U) | ((_d[3] >> 4U) & (0x0FU)) ), 12); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Auto_Duct_Incar_FR_Upper_phys = (sigfloat_t)(CANDB_DBG_dbg_Auto_Duct_Incar_FR_Upper_ro_fromS(_m->dbg_Auto_Duct_Incar_FR_Upper_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Auto_Duct_Incar_FR_Lower_ro = (int16_t) __ext_sig__(( ((_d[4] & (0xFFU)) << 4U) | ((_d[3] >> 4U) & (0x0FU)) ), 12); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Auto_Duct_Incar_FR_Lower_phys = (sigfloat_t)(CANDB_DBG_dbg_Auto_Duct_Incar_FR_Lower_ro_fromS(_m->dbg_Auto_Duct_Incar_FR_Lower_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Auto_Duct_Incar_FL_Upper_ro = (int16_t) __ext_sig__(( ((_d[4] & (0xFFU)) << 4U) | ((_d[3] >> 4U) & (0x0FU)) ), 12); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Auto_Duct_Incar_FL_Upper_phys = (sigfloat_t)(CANDB_DBG_dbg_Auto_Duct_Incar_FL_Upper_ro_fromS(_m->dbg_Auto_Duct_Incar_FL_Upper_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Auto_Duct_Tg_Incar_FR_Lower_ro = (int16_t) __ext_sig__(( ((_d[5] & (0x0FU)) << 6U) | ((_d[4] >> 2U) & (0x3FU)) ), 10); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Auto_Duct_Tg_Incar_FR_Lower_phys = (sigfloat_t)(CANDB_DBG_dbg_Auto_Duct_Tg_Incar_FR_Lower_ro_fromS(_m->dbg_Auto_Duct_Tg_Incar_FR_Lower_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Auto_Duct_Amb_RL_ro = (int16_t) __ext_sig__(( ((_d[6] & (0x0FU)) << 8U) | (_d[5] & (0xFFU)) ), 12); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Auto_Duct_Amb_RL_phys = (sigfloat_t)(CANDB_DBG_dbg_Auto_Duct_Amb_RL_ro_fromS(_m->dbg_Auto_Duct_Amb_RL_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Auto_Duct_Amb_FR_Upper_ro = (int16_t) __ext_sig__(( ((_d[6] & (0x0FU)) << 8U) | (_d[5] & (0xFFU)) ), 12); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Auto_Duct_Amb_FR_Upper_phys = (sigfloat_t)(CANDB_DBG_dbg_Auto_Duct_Amb_FR_Upper_ro_fromS(_m->dbg_Auto_Duct_Amb_FR_Upper_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Auto_Duct_Amb_FR_Lower_ro = (int16_t) __ext_sig__(( ((_d[6] & (0x0FU)) << 8U) | (_d[5] & (0xFFU)) ), 12); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Auto_Duct_Amb_FR_Lower_phys = (sigfloat_t)(CANDB_DBG_dbg_Auto_Duct_Amb_FR_Lower_ro_fromS(_m->dbg_Auto_Duct_Amb_FR_Lower_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Auto_Duct_Amb_RR_ro = (int16_t) __ext_sig__(( ((_d[6] & (0x0FU)) << 8U) | (_d[5] & (0xFFU)) ), 12); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Auto_Duct_Amb_RR_phys = (sigfloat_t)(CANDB_DBG_dbg_Auto_Duct_Amb_RR_ro_fromS(_m->dbg_Auto_Duct_Amb_RR_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Auto_Duct_Amb_FL_Lower_ro = (int16_t) __ext_sig__(( ((_d[6] & (0x0FU)) << 8U) | (_d[5] & (0xFFU)) ), 12); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Auto_Duct_Amb_FL_Lower_phys = (sigfloat_t)(CANDB_DBG_dbg_Auto_Duct_Amb_FL_Lower_ro_fromS(_m->dbg_Auto_Duct_Amb_FL_Lower_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Auto_Duct_Amb_FL_Upper_ro = (int16_t) __ext_sig__(( ((_d[6] & (0x0FU)) << 8U) | (_d[5] & (0xFFU)) ), 12); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Auto_Duct_Amb_FL_Upper_phys = (sigfloat_t)(CANDB_DBG_dbg_Auto_Duct_Amb_FL_Upper_ro_fromS(_m->dbg_Auto_Duct_Amb_FL_Upper_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Auto_Duct_Tg_Incar_RL_ro = (int16_t) __ext_sig__(( ((_d[6] & (0x3FU)) << 4U) | ((_d[5] >> 4U) & (0x0FU)) ), 10); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Auto_Duct_Tg_Incar_RL_phys = (sigfloat_t)(CANDB_DBG_dbg_Auto_Duct_Tg_Incar_RL_ro_fromS(_m->dbg_Auto_Duct_Tg_Incar_RL_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Auto_Duct_Sun_FL_Lower_ro = (int16_t) __ext_sig__(( ((_d[7] & (0xFFU)) << 4U) | ((_d[6] >> 4U) & (0x0FU)) ), 12); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Auto_Duct_Sun_FL_Lower_phys = (sigfloat_t)(CANDB_DBG_dbg_Auto_Duct_Sun_FL_Lower_ro_fromS(_m->dbg_Auto_Duct_Sun_FL_Lower_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Auto_Duct_Sun_FR_Lower_ro = (int16_t) __ext_sig__(( ((_d[7] & (0xFFU)) << 4U) | ((_d[6] >> 4U) & (0x0FU)) ), 12); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Auto_Duct_Sun_FR_Lower_phys = (sigfloat_t)(CANDB_DBG_dbg_Auto_Duct_Sun_FR_Lower_ro_fromS(_m->dbg_Auto_Duct_Sun_FR_Lower_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Auto_Duct_Sun_FR_Upper_ro = (int16_t) __ext_sig__(( ((_d[7] & (0xFFU)) << 4U) | ((_d[6] >> 4U) & (0x0FU)) ), 12); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Auto_Duct_Sun_FR_Upper_phys = (sigfloat_t)(CANDB_DBG_dbg_Auto_Duct_Sun_FR_Upper_ro_fromS(_m->dbg_Auto_Duct_Sun_FR_Upper_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Auto_Duct_Sun_RL_ro = (int16_t) __ext_sig__(( ((_d[7] & (0xFFU)) << 4U) | ((_d[6] >> 4U) & (0x0FU)) ), 12); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Auto_Duct_Sun_RL_phys = (sigfloat_t)(CANDB_DBG_dbg_Auto_Duct_Sun_RL_ro_fromS(_m->dbg_Auto_Duct_Sun_RL_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Auto_Duct_Sun_FL_Upper_ro = (int16_t) __ext_sig__(( ((_d[7] & (0xFFU)) << 4U) | ((_d[6] >> 4U) & (0x0FU)) ), 12); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Auto_Duct_Sun_FL_Upper_phys = (sigfloat_t)(CANDB_DBG_dbg_Auto_Duct_Sun_FL_Upper_ro_fromS(_m->dbg_Auto_Duct_Sun_FL_Upper_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Auto_Duct_Sun_RR_ro = (int16_t) __ext_sig__(( ((_d[7] & (0xFFU)) << 4U) | ((_d[6] >> 4U) & (0x0FU)) ), 12); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Auto_Duct_Sun_RR_phys = (sigfloat_t)(CANDB_DBG_dbg_Auto_Duct_Sun_RR_ro_fromS(_m->dbg_Auto_Duct_Sun_RR_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Auto_Duct_Tg_Incar_RR_ro = (int16_t) __ext_sig__(( ((_d[7] & (0xFFU)) << 2U) | ((_d[6] >> 6U) & (0x03U)) ), 10); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Auto_Duct_Tg_Incar_RR_phys = (sigfloat_t)(CANDB_DBG_dbg_Auto_Duct_Tg_Incar_RR_ro_fromS(_m->dbg_Auto_Duct_Tg_Incar_RR_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + +#ifdef CANDB_DBG_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < dbg_Auto_Duct_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_dbg_Auto_Duct_candb_dbg(&_m->mon1, dbg_Auto_Duct_CANID); +#endif // CANDB_DBG_USE_DIAG_MONITORS + + return dbg_Auto_Duct_CANID; +} + +#ifdef CANDB_DBG_USE_CANSTRUCT + +uint32_t Pack_dbg_Auto_Duct_candb_dbg(dbg_Auto_Duct_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_DBG_VALIDATE_DLC(dbg_Auto_Duct_DLC); cframe->Data[i++] = CANDB_DBG_INITIAL_BYTE_VALUE); + +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Auto_Duct_Tgt_FL_Upper_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Tgt_FL_Upper_ro_toS(_m->dbg_Auto_Duct_Tgt_FL_Upper_phys); + _m->dbg_Auto_Duct_Tg_Incar_FL_Upper_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Tg_Incar_FL_Upper_ro_toS(_m->dbg_Auto_Duct_Tg_Incar_FL_Upper_phys); + _m->dbg_Auto_Duct_Tgt_RR_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Tgt_RR_ro_toS(_m->dbg_Auto_Duct_Tgt_RR_phys); + _m->dbg_Auto_Duct_Tgt_RL_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Tgt_RL_ro_toS(_m->dbg_Auto_Duct_Tgt_RL_phys); + _m->dbg_Auto_Duct_Tgt_FR_Upper_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Tgt_FR_Upper_ro_toS(_m->dbg_Auto_Duct_Tgt_FR_Upper_phys); + _m->dbg_Auto_Duct_Tgt_FR_Lower_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Tgt_FR_Lower_ro_toS(_m->dbg_Auto_Duct_Tgt_FR_Lower_phys); + _m->dbg_Auto_Duct_Tgt_FL_Lower_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Tgt_FL_Lower_ro_toS(_m->dbg_Auto_Duct_Tgt_FL_Lower_phys); + _m->dbg_Auto_Duct_Tg_Incar_FR_Upper_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Tg_Incar_FR_Upper_ro_toS(_m->dbg_Auto_Duct_Tg_Incar_FR_Upper_phys); + _m->dbg_Auto_Duct_Tg_FL_Upper_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Tg_FL_Upper_ro_toS(_m->dbg_Auto_Duct_Tg_FL_Upper_phys); + _m->dbg_Auto_Duct_Tg_FL_Lower_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Tg_FL_Lower_ro_toS(_m->dbg_Auto_Duct_Tg_FL_Lower_phys); + _m->dbg_Auto_Duct_Tg_FR_Lower_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Tg_FR_Lower_ro_toS(_m->dbg_Auto_Duct_Tg_FR_Lower_phys); + _m->dbg_Auto_Duct_Tg_FR_Upper_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Tg_FR_Upper_ro_toS(_m->dbg_Auto_Duct_Tg_FR_Upper_phys); + _m->dbg_Auto_Duct_Tg_RL_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Tg_RL_ro_toS(_m->dbg_Auto_Duct_Tg_RL_phys); + _m->dbg_Auto_Duct_Tg_RR_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Tg_RR_ro_toS(_m->dbg_Auto_Duct_Tg_RR_phys); + _m->dbg_Auto_Duct_Tg_Incar_FL_Lower_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Tg_Incar_FL_Lower_ro_toS(_m->dbg_Auto_Duct_Tg_Incar_FL_Lower_phys); + _m->dbg_Auto_Duct_Incar_FL_Lower_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Incar_FL_Lower_ro_toS(_m->dbg_Auto_Duct_Incar_FL_Lower_phys); + _m->dbg_Auto_Duct_Incar_RR_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Incar_RR_ro_toS(_m->dbg_Auto_Duct_Incar_RR_phys); + _m->dbg_Auto_Duct_Incar_RL_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Incar_RL_ro_toS(_m->dbg_Auto_Duct_Incar_RL_phys); + _m->dbg_Auto_Duct_Incar_FR_Upper_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Incar_FR_Upper_ro_toS(_m->dbg_Auto_Duct_Incar_FR_Upper_phys); + _m->dbg_Auto_Duct_Incar_FR_Lower_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Incar_FR_Lower_ro_toS(_m->dbg_Auto_Duct_Incar_FR_Lower_phys); + _m->dbg_Auto_Duct_Incar_FL_Upper_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Incar_FL_Upper_ro_toS(_m->dbg_Auto_Duct_Incar_FL_Upper_phys); + _m->dbg_Auto_Duct_Tg_Incar_FR_Lower_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Tg_Incar_FR_Lower_ro_toS(_m->dbg_Auto_Duct_Tg_Incar_FR_Lower_phys); + _m->dbg_Auto_Duct_Amb_RL_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Amb_RL_ro_toS(_m->dbg_Auto_Duct_Amb_RL_phys); + _m->dbg_Auto_Duct_Amb_FR_Upper_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Amb_FR_Upper_ro_toS(_m->dbg_Auto_Duct_Amb_FR_Upper_phys); + _m->dbg_Auto_Duct_Amb_FR_Lower_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Amb_FR_Lower_ro_toS(_m->dbg_Auto_Duct_Amb_FR_Lower_phys); + _m->dbg_Auto_Duct_Amb_RR_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Amb_RR_ro_toS(_m->dbg_Auto_Duct_Amb_RR_phys); + _m->dbg_Auto_Duct_Amb_FL_Lower_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Amb_FL_Lower_ro_toS(_m->dbg_Auto_Duct_Amb_FL_Lower_phys); + _m->dbg_Auto_Duct_Amb_FL_Upper_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Amb_FL_Upper_ro_toS(_m->dbg_Auto_Duct_Amb_FL_Upper_phys); + _m->dbg_Auto_Duct_Tg_Incar_RL_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Tg_Incar_RL_ro_toS(_m->dbg_Auto_Duct_Tg_Incar_RL_phys); + _m->dbg_Auto_Duct_Sun_FL_Lower_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Sun_FL_Lower_ro_toS(_m->dbg_Auto_Duct_Sun_FL_Lower_phys); + _m->dbg_Auto_Duct_Sun_FR_Lower_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Sun_FR_Lower_ro_toS(_m->dbg_Auto_Duct_Sun_FR_Lower_phys); + _m->dbg_Auto_Duct_Sun_FR_Upper_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Sun_FR_Upper_ro_toS(_m->dbg_Auto_Duct_Sun_FR_Upper_phys); + _m->dbg_Auto_Duct_Sun_RL_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Sun_RL_ro_toS(_m->dbg_Auto_Duct_Sun_RL_phys); + _m->dbg_Auto_Duct_Sun_FL_Upper_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Sun_FL_Upper_ro_toS(_m->dbg_Auto_Duct_Sun_FL_Upper_phys); + _m->dbg_Auto_Duct_Sun_RR_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Sun_RR_ro_toS(_m->dbg_Auto_Duct_Sun_RR_phys); + _m->dbg_Auto_Duct_Tg_Incar_RR_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Tg_Incar_RR_ro_toS(_m->dbg_Auto_Duct_Tg_Incar_RR_phys); +#endif // CANDB_DBG_USE_SIGFLOAT + + cframe->Data[0] |= (uint8_t) ( (_m->dbg_Auto_Duct_MultMsg_Idx & (0x0FU)) | ((_m->dbg_Auto_Duct_Tgt_FL_Upper_ro & (0x0FU)) << 4U) | ((_m->dbg_Auto_Duct_Tg_Incar_FL_Upper_ro & (0x0FU)) << 4U) | ((_m->dbg_Auto_Duct_Tgt_RR_ro & (0x0FU)) << 4U) | ((_m->dbg_Auto_Duct_Tgt_RL_ro & (0x0FU)) << 4U) | ((_m->dbg_Auto_Duct_Tgt_FR_Upper_ro & (0x0FU)) << 4U) | ((_m->dbg_Auto_Duct_Tgt_FR_Lower_ro & (0x0FU)) << 4U) | ((_m->dbg_Auto_Duct_Tgt_FL_Lower_ro & (0x0FU)) << 4U) ); + cframe->Data[1] |= (uint8_t) ( ((_m->dbg_Auto_Duct_Tgt_FL_Upper_ro >> 4U) & (0xFFU)) | ((_m->dbg_Auto_Duct_Tg_Incar_FL_Upper_ro >> 4U) & (0x3FU)) | ((_m->dbg_Auto_Duct_Tgt_RR_ro >> 4U) & (0xFFU)) | ((_m->dbg_Auto_Duct_Tgt_RL_ro >> 4U) & (0xFFU)) | ((_m->dbg_Auto_Duct_Tgt_FR_Upper_ro >> 4U) & (0xFFU)) | ((_m->dbg_Auto_Duct_Tgt_FR_Lower_ro >> 4U) & (0xFFU)) | ((_m->dbg_Auto_Duct_Tgt_FL_Lower_ro >> 4U) & (0xFFU)) | ((_m->dbg_Auto_Duct_Tg_Incar_FR_Upper_ro & (0x03U)) << 6U) ); + cframe->Data[2] |= (uint8_t) ( ((_m->dbg_Auto_Duct_Tg_Incar_FR_Upper_ro >> 2U) & (0xFFU)) | (_m->dbg_Auto_Duct_Tg_FL_Upper_ro & (0xFFU)) | (_m->dbg_Auto_Duct_Tg_FL_Lower_ro & (0xFFU)) | (_m->dbg_Auto_Duct_Tg_FR_Lower_ro & (0xFFU)) | (_m->dbg_Auto_Duct_Tg_FR_Upper_ro & (0xFFU)) | (_m->dbg_Auto_Duct_Tg_RL_ro & (0xFFU)) | (_m->dbg_Auto_Duct_Tg_RR_ro & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->dbg_Auto_Duct_Tg_FL_Upper_ro >> 8U) & (0x0FU)) | ((_m->dbg_Auto_Duct_Tg_FL_Lower_ro >> 8U) & (0x0FU)) | ((_m->dbg_Auto_Duct_Tg_FR_Lower_ro >> 8U) & (0x0FU)) | ((_m->dbg_Auto_Duct_Tg_FR_Upper_ro >> 8U) & (0x0FU)) | ((_m->dbg_Auto_Duct_Tg_RL_ro >> 8U) & (0x0FU)) | ((_m->dbg_Auto_Duct_Tg_RR_ro >> 8U) & (0x0FU)) | (_m->dbg_Auto_Duct_Tg_Incar_FL_Lower_ro & (0xFFU)) | ((_m->dbg_Auto_Duct_Incar_FL_Lower_ro & (0x0FU)) << 4U) | ((_m->dbg_Auto_Duct_Incar_RR_ro & (0x0FU)) << 4U) | ((_m->dbg_Auto_Duct_Incar_RL_ro & (0x0FU)) << 4U) | ((_m->dbg_Auto_Duct_Incar_FR_Upper_ro & (0x0FU)) << 4U) | ((_m->dbg_Auto_Duct_Incar_FR_Lower_ro & (0x0FU)) << 4U) | ((_m->dbg_Auto_Duct_Incar_FL_Upper_ro & (0x0FU)) << 4U) ); + cframe->Data[4] |= (uint8_t) ( ((_m->dbg_Auto_Duct_Tg_Incar_FL_Lower_ro >> 8U) & (0x03U)) | ((_m->dbg_Auto_Duct_Incar_FL_Lower_ro >> 4U) & (0xFFU)) | ((_m->dbg_Auto_Duct_Incar_RR_ro >> 4U) & (0xFFU)) | ((_m->dbg_Auto_Duct_Incar_RL_ro >> 4U) & (0xFFU)) | ((_m->dbg_Auto_Duct_Incar_FR_Upper_ro >> 4U) & (0xFFU)) | ((_m->dbg_Auto_Duct_Incar_FR_Lower_ro >> 4U) & (0xFFU)) | ((_m->dbg_Auto_Duct_Incar_FL_Upper_ro >> 4U) & (0xFFU)) | ((_m->dbg_Auto_Duct_Tg_Incar_FR_Lower_ro & (0x3FU)) << 2U) ); + cframe->Data[5] |= (uint8_t) ( ((_m->dbg_Auto_Duct_Tg_Incar_FR_Lower_ro >> 6U) & (0x0FU)) | (_m->dbg_Auto_Duct_Amb_RL_ro & (0xFFU)) | (_m->dbg_Auto_Duct_Amb_FR_Upper_ro & (0xFFU)) | (_m->dbg_Auto_Duct_Amb_FR_Lower_ro & (0xFFU)) | (_m->dbg_Auto_Duct_Amb_RR_ro & (0xFFU)) | (_m->dbg_Auto_Duct_Amb_FL_Lower_ro & (0xFFU)) | (_m->dbg_Auto_Duct_Amb_FL_Upper_ro & (0xFFU)) | ((_m->dbg_Auto_Duct_Tg_Incar_RL_ro & (0x0FU)) << 4U) ); + cframe->Data[6] |= (uint8_t) ( ((_m->dbg_Auto_Duct_Amb_RL_ro >> 8U) & (0x0FU)) | ((_m->dbg_Auto_Duct_Amb_FR_Upper_ro >> 8U) & (0x0FU)) | ((_m->dbg_Auto_Duct_Amb_FR_Lower_ro >> 8U) & (0x0FU)) | ((_m->dbg_Auto_Duct_Amb_RR_ro >> 8U) & (0x0FU)) | ((_m->dbg_Auto_Duct_Amb_FL_Lower_ro >> 8U) & (0x0FU)) | ((_m->dbg_Auto_Duct_Amb_FL_Upper_ro >> 8U) & (0x0FU)) | ((_m->dbg_Auto_Duct_Tg_Incar_RL_ro >> 4U) & (0x3FU)) | ((_m->dbg_Auto_Duct_Sun_FL_Lower_ro & (0x0FU)) << 4U) | ((_m->dbg_Auto_Duct_Sun_FR_Lower_ro & (0x0FU)) << 4U) | ((_m->dbg_Auto_Duct_Sun_FR_Upper_ro & (0x0FU)) << 4U) | ((_m->dbg_Auto_Duct_Sun_RL_ro & (0x0FU)) << 4U) | ((_m->dbg_Auto_Duct_Sun_FL_Upper_ro & (0x0FU)) << 4U) | ((_m->dbg_Auto_Duct_Sun_RR_ro & (0x0FU)) << 4U) | ((_m->dbg_Auto_Duct_Tg_Incar_RR_ro & (0x03U)) << 6U) ); + cframe->Data[7] |= (uint8_t) ( ((_m->dbg_Auto_Duct_Sun_FL_Lower_ro >> 4U) & (0xFFU)) | ((_m->dbg_Auto_Duct_Sun_FR_Lower_ro >> 4U) & (0xFFU)) | ((_m->dbg_Auto_Duct_Sun_FR_Upper_ro >> 4U) & (0xFFU)) | ((_m->dbg_Auto_Duct_Sun_RL_ro >> 4U) & (0xFFU)) | ((_m->dbg_Auto_Duct_Sun_FL_Upper_ro >> 4U) & (0xFFU)) | ((_m->dbg_Auto_Duct_Sun_RR_ro >> 4U) & (0xFFU)) | ((_m->dbg_Auto_Duct_Tg_Incar_RR_ro >> 2U) & (0xFFU)) ); + + cframe->MsgId = (uint32_t) dbg_Auto_Duct_CANID; + cframe->DLC = (uint8_t) dbg_Auto_Duct_DLC; + cframe->IDE = (uint8_t) dbg_Auto_Duct_IDE; + return dbg_Auto_Duct_CANID; +} + +#else + +uint32_t Pack_dbg_Auto_Duct_candb_dbg(dbg_Auto_Duct_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_DBG_VALIDATE_DLC(dbg_Auto_Duct_DLC); _d[i++] = CANDB_DBG_INITIAL_BYTE_VALUE); + +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Auto_Duct_Tgt_FL_Upper_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Tgt_FL_Upper_ro_toS(_m->dbg_Auto_Duct_Tgt_FL_Upper_phys); + _m->dbg_Auto_Duct_Tg_Incar_FL_Upper_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Tg_Incar_FL_Upper_ro_toS(_m->dbg_Auto_Duct_Tg_Incar_FL_Upper_phys); + _m->dbg_Auto_Duct_Tgt_RR_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Tgt_RR_ro_toS(_m->dbg_Auto_Duct_Tgt_RR_phys); + _m->dbg_Auto_Duct_Tgt_RL_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Tgt_RL_ro_toS(_m->dbg_Auto_Duct_Tgt_RL_phys); + _m->dbg_Auto_Duct_Tgt_FR_Upper_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Tgt_FR_Upper_ro_toS(_m->dbg_Auto_Duct_Tgt_FR_Upper_phys); + _m->dbg_Auto_Duct_Tgt_FR_Lower_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Tgt_FR_Lower_ro_toS(_m->dbg_Auto_Duct_Tgt_FR_Lower_phys); + _m->dbg_Auto_Duct_Tgt_FL_Lower_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Tgt_FL_Lower_ro_toS(_m->dbg_Auto_Duct_Tgt_FL_Lower_phys); + _m->dbg_Auto_Duct_Tg_Incar_FR_Upper_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Tg_Incar_FR_Upper_ro_toS(_m->dbg_Auto_Duct_Tg_Incar_FR_Upper_phys); + _m->dbg_Auto_Duct_Tg_FL_Upper_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Tg_FL_Upper_ro_toS(_m->dbg_Auto_Duct_Tg_FL_Upper_phys); + _m->dbg_Auto_Duct_Tg_FL_Lower_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Tg_FL_Lower_ro_toS(_m->dbg_Auto_Duct_Tg_FL_Lower_phys); + _m->dbg_Auto_Duct_Tg_FR_Lower_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Tg_FR_Lower_ro_toS(_m->dbg_Auto_Duct_Tg_FR_Lower_phys); + _m->dbg_Auto_Duct_Tg_FR_Upper_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Tg_FR_Upper_ro_toS(_m->dbg_Auto_Duct_Tg_FR_Upper_phys); + _m->dbg_Auto_Duct_Tg_RL_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Tg_RL_ro_toS(_m->dbg_Auto_Duct_Tg_RL_phys); + _m->dbg_Auto_Duct_Tg_RR_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Tg_RR_ro_toS(_m->dbg_Auto_Duct_Tg_RR_phys); + _m->dbg_Auto_Duct_Tg_Incar_FL_Lower_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Tg_Incar_FL_Lower_ro_toS(_m->dbg_Auto_Duct_Tg_Incar_FL_Lower_phys); + _m->dbg_Auto_Duct_Incar_FL_Lower_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Incar_FL_Lower_ro_toS(_m->dbg_Auto_Duct_Incar_FL_Lower_phys); + _m->dbg_Auto_Duct_Incar_RR_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Incar_RR_ro_toS(_m->dbg_Auto_Duct_Incar_RR_phys); + _m->dbg_Auto_Duct_Incar_RL_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Incar_RL_ro_toS(_m->dbg_Auto_Duct_Incar_RL_phys); + _m->dbg_Auto_Duct_Incar_FR_Upper_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Incar_FR_Upper_ro_toS(_m->dbg_Auto_Duct_Incar_FR_Upper_phys); + _m->dbg_Auto_Duct_Incar_FR_Lower_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Incar_FR_Lower_ro_toS(_m->dbg_Auto_Duct_Incar_FR_Lower_phys); + _m->dbg_Auto_Duct_Incar_FL_Upper_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Incar_FL_Upper_ro_toS(_m->dbg_Auto_Duct_Incar_FL_Upper_phys); + _m->dbg_Auto_Duct_Tg_Incar_FR_Lower_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Tg_Incar_FR_Lower_ro_toS(_m->dbg_Auto_Duct_Tg_Incar_FR_Lower_phys); + _m->dbg_Auto_Duct_Amb_RL_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Amb_RL_ro_toS(_m->dbg_Auto_Duct_Amb_RL_phys); + _m->dbg_Auto_Duct_Amb_FR_Upper_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Amb_FR_Upper_ro_toS(_m->dbg_Auto_Duct_Amb_FR_Upper_phys); + _m->dbg_Auto_Duct_Amb_FR_Lower_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Amb_FR_Lower_ro_toS(_m->dbg_Auto_Duct_Amb_FR_Lower_phys); + _m->dbg_Auto_Duct_Amb_RR_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Amb_RR_ro_toS(_m->dbg_Auto_Duct_Amb_RR_phys); + _m->dbg_Auto_Duct_Amb_FL_Lower_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Amb_FL_Lower_ro_toS(_m->dbg_Auto_Duct_Amb_FL_Lower_phys); + _m->dbg_Auto_Duct_Amb_FL_Upper_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Amb_FL_Upper_ro_toS(_m->dbg_Auto_Duct_Amb_FL_Upper_phys); + _m->dbg_Auto_Duct_Tg_Incar_RL_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Tg_Incar_RL_ro_toS(_m->dbg_Auto_Duct_Tg_Incar_RL_phys); + _m->dbg_Auto_Duct_Sun_FL_Lower_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Sun_FL_Lower_ro_toS(_m->dbg_Auto_Duct_Sun_FL_Lower_phys); + _m->dbg_Auto_Duct_Sun_FR_Lower_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Sun_FR_Lower_ro_toS(_m->dbg_Auto_Duct_Sun_FR_Lower_phys); + _m->dbg_Auto_Duct_Sun_FR_Upper_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Sun_FR_Upper_ro_toS(_m->dbg_Auto_Duct_Sun_FR_Upper_phys); + _m->dbg_Auto_Duct_Sun_RL_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Sun_RL_ro_toS(_m->dbg_Auto_Duct_Sun_RL_phys); + _m->dbg_Auto_Duct_Sun_FL_Upper_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Sun_FL_Upper_ro_toS(_m->dbg_Auto_Duct_Sun_FL_Upper_phys); + _m->dbg_Auto_Duct_Sun_RR_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Sun_RR_ro_toS(_m->dbg_Auto_Duct_Sun_RR_phys); + _m->dbg_Auto_Duct_Tg_Incar_RR_ro = (int16_t) CANDB_DBG_dbg_Auto_Duct_Tg_Incar_RR_ro_toS(_m->dbg_Auto_Duct_Tg_Incar_RR_phys); +#endif // CANDB_DBG_USE_SIGFLOAT + + _d[0] |= (uint8_t) ( (_m->dbg_Auto_Duct_MultMsg_Idx & (0x0FU)) | ((_m->dbg_Auto_Duct_Tgt_FL_Upper_ro & (0x0FU)) << 4U) | ((_m->dbg_Auto_Duct_Tg_Incar_FL_Upper_ro & (0x0FU)) << 4U) | ((_m->dbg_Auto_Duct_Tgt_RR_ro & (0x0FU)) << 4U) | ((_m->dbg_Auto_Duct_Tgt_RL_ro & (0x0FU)) << 4U) | ((_m->dbg_Auto_Duct_Tgt_FR_Upper_ro & (0x0FU)) << 4U) | ((_m->dbg_Auto_Duct_Tgt_FR_Lower_ro & (0x0FU)) << 4U) | ((_m->dbg_Auto_Duct_Tgt_FL_Lower_ro & (0x0FU)) << 4U) ); + _d[1] |= (uint8_t) ( ((_m->dbg_Auto_Duct_Tgt_FL_Upper_ro >> 4U) & (0xFFU)) | ((_m->dbg_Auto_Duct_Tg_Incar_FL_Upper_ro >> 4U) & (0x3FU)) | ((_m->dbg_Auto_Duct_Tgt_RR_ro >> 4U) & (0xFFU)) | ((_m->dbg_Auto_Duct_Tgt_RL_ro >> 4U) & (0xFFU)) | ((_m->dbg_Auto_Duct_Tgt_FR_Upper_ro >> 4U) & (0xFFU)) | ((_m->dbg_Auto_Duct_Tgt_FR_Lower_ro >> 4U) & (0xFFU)) | ((_m->dbg_Auto_Duct_Tgt_FL_Lower_ro >> 4U) & (0xFFU)) | ((_m->dbg_Auto_Duct_Tg_Incar_FR_Upper_ro & (0x03U)) << 6U) ); + _d[2] |= (uint8_t) ( ((_m->dbg_Auto_Duct_Tg_Incar_FR_Upper_ro >> 2U) & (0xFFU)) | (_m->dbg_Auto_Duct_Tg_FL_Upper_ro & (0xFFU)) | (_m->dbg_Auto_Duct_Tg_FL_Lower_ro & (0xFFU)) | (_m->dbg_Auto_Duct_Tg_FR_Lower_ro & (0xFFU)) | (_m->dbg_Auto_Duct_Tg_FR_Upper_ro & (0xFFU)) | (_m->dbg_Auto_Duct_Tg_RL_ro & (0xFFU)) | (_m->dbg_Auto_Duct_Tg_RR_ro & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->dbg_Auto_Duct_Tg_FL_Upper_ro >> 8U) & (0x0FU)) | ((_m->dbg_Auto_Duct_Tg_FL_Lower_ro >> 8U) & (0x0FU)) | ((_m->dbg_Auto_Duct_Tg_FR_Lower_ro >> 8U) & (0x0FU)) | ((_m->dbg_Auto_Duct_Tg_FR_Upper_ro >> 8U) & (0x0FU)) | ((_m->dbg_Auto_Duct_Tg_RL_ro >> 8U) & (0x0FU)) | ((_m->dbg_Auto_Duct_Tg_RR_ro >> 8U) & (0x0FU)) | (_m->dbg_Auto_Duct_Tg_Incar_FL_Lower_ro & (0xFFU)) | ((_m->dbg_Auto_Duct_Incar_FL_Lower_ro & (0x0FU)) << 4U) | ((_m->dbg_Auto_Duct_Incar_RR_ro & (0x0FU)) << 4U) | ((_m->dbg_Auto_Duct_Incar_RL_ro & (0x0FU)) << 4U) | ((_m->dbg_Auto_Duct_Incar_FR_Upper_ro & (0x0FU)) << 4U) | ((_m->dbg_Auto_Duct_Incar_FR_Lower_ro & (0x0FU)) << 4U) | ((_m->dbg_Auto_Duct_Incar_FL_Upper_ro & (0x0FU)) << 4U) ); + _d[4] |= (uint8_t) ( ((_m->dbg_Auto_Duct_Tg_Incar_FL_Lower_ro >> 8U) & (0x03U)) | ((_m->dbg_Auto_Duct_Incar_FL_Lower_ro >> 4U) & (0xFFU)) | ((_m->dbg_Auto_Duct_Incar_RR_ro >> 4U) & (0xFFU)) | ((_m->dbg_Auto_Duct_Incar_RL_ro >> 4U) & (0xFFU)) | ((_m->dbg_Auto_Duct_Incar_FR_Upper_ro >> 4U) & (0xFFU)) | ((_m->dbg_Auto_Duct_Incar_FR_Lower_ro >> 4U) & (0xFFU)) | ((_m->dbg_Auto_Duct_Incar_FL_Upper_ro >> 4U) & (0xFFU)) | ((_m->dbg_Auto_Duct_Tg_Incar_FR_Lower_ro & (0x3FU)) << 2U) ); + _d[5] |= (uint8_t) ( ((_m->dbg_Auto_Duct_Tg_Incar_FR_Lower_ro >> 6U) & (0x0FU)) | (_m->dbg_Auto_Duct_Amb_RL_ro & (0xFFU)) | (_m->dbg_Auto_Duct_Amb_FR_Upper_ro & (0xFFU)) | (_m->dbg_Auto_Duct_Amb_FR_Lower_ro & (0xFFU)) | (_m->dbg_Auto_Duct_Amb_RR_ro & (0xFFU)) | (_m->dbg_Auto_Duct_Amb_FL_Lower_ro & (0xFFU)) | (_m->dbg_Auto_Duct_Amb_FL_Upper_ro & (0xFFU)) | ((_m->dbg_Auto_Duct_Tg_Incar_RL_ro & (0x0FU)) << 4U) ); + _d[6] |= (uint8_t) ( ((_m->dbg_Auto_Duct_Amb_RL_ro >> 8U) & (0x0FU)) | ((_m->dbg_Auto_Duct_Amb_FR_Upper_ro >> 8U) & (0x0FU)) | ((_m->dbg_Auto_Duct_Amb_FR_Lower_ro >> 8U) & (0x0FU)) | ((_m->dbg_Auto_Duct_Amb_RR_ro >> 8U) & (0x0FU)) | ((_m->dbg_Auto_Duct_Amb_FL_Lower_ro >> 8U) & (0x0FU)) | ((_m->dbg_Auto_Duct_Amb_FL_Upper_ro >> 8U) & (0x0FU)) | ((_m->dbg_Auto_Duct_Tg_Incar_RL_ro >> 4U) & (0x3FU)) | ((_m->dbg_Auto_Duct_Sun_FL_Lower_ro & (0x0FU)) << 4U) | ((_m->dbg_Auto_Duct_Sun_FR_Lower_ro & (0x0FU)) << 4U) | ((_m->dbg_Auto_Duct_Sun_FR_Upper_ro & (0x0FU)) << 4U) | ((_m->dbg_Auto_Duct_Sun_RL_ro & (0x0FU)) << 4U) | ((_m->dbg_Auto_Duct_Sun_FL_Upper_ro & (0x0FU)) << 4U) | ((_m->dbg_Auto_Duct_Sun_RR_ro & (0x0FU)) << 4U) | ((_m->dbg_Auto_Duct_Tg_Incar_RR_ro & (0x03U)) << 6U) ); + _d[7] |= (uint8_t) ( ((_m->dbg_Auto_Duct_Sun_FL_Lower_ro >> 4U) & (0xFFU)) | ((_m->dbg_Auto_Duct_Sun_FR_Lower_ro >> 4U) & (0xFFU)) | ((_m->dbg_Auto_Duct_Sun_FR_Upper_ro >> 4U) & (0xFFU)) | ((_m->dbg_Auto_Duct_Sun_RL_ro >> 4U) & (0xFFU)) | ((_m->dbg_Auto_Duct_Sun_FL_Upper_ro >> 4U) & (0xFFU)) | ((_m->dbg_Auto_Duct_Sun_RR_ro >> 4U) & (0xFFU)) | ((_m->dbg_Auto_Duct_Tg_Incar_RR_ro >> 2U) & (0xFFU)) ); + + *_len = (uint8_t) dbg_Auto_Duct_DLC; + *_ide = (uint8_t) dbg_Auto_Duct_IDE; + return dbg_Auto_Duct_CANID; +} + +#endif // CANDB_DBG_USE_CANSTRUCT + +uint32_t Unpack_dbg_Auto_Valve_Plus_candb_dbg(dbg_Auto_Valve_Plus_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->dbg_Auto_Valve_Plus_Vent_SFL_ro = (int16_t) __ext_sig__(( ((_d[1] & (0x03U)) << 8U) | (_d[0] & (0xFFU)) ), 10); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Auto_Valve_Plus_Vent_SFL_phys = (sigfloat_t)(CANDB_DBG_dbg_Auto_Valve_Plus_Vent_SFL_ro_fromS(_m->dbg_Auto_Valve_Plus_Vent_SFL_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Auto_Valve_Plus_Vent_CFL_ro = (int16_t) __ext_sig__(( ((_d[2] & (0x0FU)) << 6U) | ((_d[1] >> 2U) & (0x3FU)) ), 10); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Auto_Valve_Plus_Vent_CFL_phys = (sigfloat_t)(CANDB_DBG_dbg_Auto_Valve_Plus_Vent_CFL_ro_fromS(_m->dbg_Auto_Valve_Plus_Vent_CFL_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Auto_Valve_Plus_Foot_FL_ro = (int16_t) __ext_sig__(( ((_d[3] & (0x3FU)) << 4U) | ((_d[2] >> 4U) & (0x0FU)) ), 10); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Auto_Valve_Plus_Foot_FL_phys = (sigfloat_t)(CANDB_DBG_dbg_Auto_Valve_Plus_Foot_FL_ro_fromS(_m->dbg_Auto_Valve_Plus_Foot_FL_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Auto_Valve_Plus_Vent_SFR_ro = (int16_t) __ext_sig__(( ((_d[5] & (0x03U)) << 8U) | (_d[4] & (0xFFU)) ), 10); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Auto_Valve_Plus_Vent_SFR_phys = (sigfloat_t)(CANDB_DBG_dbg_Auto_Valve_Plus_Vent_SFR_ro_fromS(_m->dbg_Auto_Valve_Plus_Vent_SFR_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Auto_Valve_Plus_Vent_CFR_ro = (int16_t) __ext_sig__(( ((_d[6] & (0x0FU)) << 6U) | ((_d[5] >> 2U) & (0x3FU)) ), 10); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Auto_Valve_Plus_Vent_CFR_phys = (sigfloat_t)(CANDB_DBG_dbg_Auto_Valve_Plus_Vent_CFR_ro_fromS(_m->dbg_Auto_Valve_Plus_Vent_CFR_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + + _m->dbg_Auto_Valve_Plus_Foot_FR_ro = (int16_t) __ext_sig__(( ((_d[7] & (0x3FU)) << 4U) | ((_d[6] >> 4U) & (0x0FU)) ), 10); +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Auto_Valve_Plus_Foot_FR_phys = (sigfloat_t)(CANDB_DBG_dbg_Auto_Valve_Plus_Foot_FR_ro_fromS(_m->dbg_Auto_Valve_Plus_Foot_FR_ro)); +#endif // CANDB_DBG_USE_SIGFLOAT + +#ifdef CANDB_DBG_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < dbg_Auto_Valve_Plus_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_dbg_Auto_Valve_Plus_candb_dbg(&_m->mon1, dbg_Auto_Valve_Plus_CANID); +#endif // CANDB_DBG_USE_DIAG_MONITORS + + return dbg_Auto_Valve_Plus_CANID; +} + +#ifdef CANDB_DBG_USE_CANSTRUCT + +uint32_t Pack_dbg_Auto_Valve_Plus_candb_dbg(dbg_Auto_Valve_Plus_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_DBG_VALIDATE_DLC(dbg_Auto_Valve_Plus_DLC); cframe->Data[i++] = CANDB_DBG_INITIAL_BYTE_VALUE); + +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Auto_Valve_Plus_Vent_SFL_ro = (int16_t) CANDB_DBG_dbg_Auto_Valve_Plus_Vent_SFL_ro_toS(_m->dbg_Auto_Valve_Plus_Vent_SFL_phys); + _m->dbg_Auto_Valve_Plus_Vent_CFL_ro = (int16_t) CANDB_DBG_dbg_Auto_Valve_Plus_Vent_CFL_ro_toS(_m->dbg_Auto_Valve_Plus_Vent_CFL_phys); + _m->dbg_Auto_Valve_Plus_Foot_FL_ro = (int16_t) CANDB_DBG_dbg_Auto_Valve_Plus_Foot_FL_ro_toS(_m->dbg_Auto_Valve_Plus_Foot_FL_phys); + _m->dbg_Auto_Valve_Plus_Vent_SFR_ro = (int16_t) CANDB_DBG_dbg_Auto_Valve_Plus_Vent_SFR_ro_toS(_m->dbg_Auto_Valve_Plus_Vent_SFR_phys); + _m->dbg_Auto_Valve_Plus_Vent_CFR_ro = (int16_t) CANDB_DBG_dbg_Auto_Valve_Plus_Vent_CFR_ro_toS(_m->dbg_Auto_Valve_Plus_Vent_CFR_phys); + _m->dbg_Auto_Valve_Plus_Foot_FR_ro = (int16_t) CANDB_DBG_dbg_Auto_Valve_Plus_Foot_FR_ro_toS(_m->dbg_Auto_Valve_Plus_Foot_FR_phys); +#endif // CANDB_DBG_USE_SIGFLOAT + + cframe->Data[0] |= (uint8_t) ( (_m->dbg_Auto_Valve_Plus_Vent_SFL_ro & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->dbg_Auto_Valve_Plus_Vent_SFL_ro >> 8U) & (0x03U)) | ((_m->dbg_Auto_Valve_Plus_Vent_CFL_ro & (0x3FU)) << 2U) ); + cframe->Data[2] |= (uint8_t) ( ((_m->dbg_Auto_Valve_Plus_Vent_CFL_ro >> 6U) & (0x0FU)) | ((_m->dbg_Auto_Valve_Plus_Foot_FL_ro & (0x0FU)) << 4U) ); + cframe->Data[3] |= (uint8_t) ( ((_m->dbg_Auto_Valve_Plus_Foot_FL_ro >> 4U) & (0x3FU)) ); + cframe->Data[4] |= (uint8_t) ( (_m->dbg_Auto_Valve_Plus_Vent_SFR_ro & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->dbg_Auto_Valve_Plus_Vent_SFR_ro >> 8U) & (0x03U)) | ((_m->dbg_Auto_Valve_Plus_Vent_CFR_ro & (0x3FU)) << 2U) ); + cframe->Data[6] |= (uint8_t) ( ((_m->dbg_Auto_Valve_Plus_Vent_CFR_ro >> 6U) & (0x0FU)) | ((_m->dbg_Auto_Valve_Plus_Foot_FR_ro & (0x0FU)) << 4U) ); + cframe->Data[7] |= (uint8_t) ( ((_m->dbg_Auto_Valve_Plus_Foot_FR_ro >> 4U) & (0x3FU)) ); + + cframe->MsgId = (uint32_t) dbg_Auto_Valve_Plus_CANID; + cframe->DLC = (uint8_t) dbg_Auto_Valve_Plus_DLC; + cframe->IDE = (uint8_t) dbg_Auto_Valve_Plus_IDE; + return dbg_Auto_Valve_Plus_CANID; +} + +#else + +uint32_t Pack_dbg_Auto_Valve_Plus_candb_dbg(dbg_Auto_Valve_Plus_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_DBG_VALIDATE_DLC(dbg_Auto_Valve_Plus_DLC); _d[i++] = CANDB_DBG_INITIAL_BYTE_VALUE); + +#ifdef CANDB_DBG_USE_SIGFLOAT + _m->dbg_Auto_Valve_Plus_Vent_SFL_ro = (int16_t) CANDB_DBG_dbg_Auto_Valve_Plus_Vent_SFL_ro_toS(_m->dbg_Auto_Valve_Plus_Vent_SFL_phys); + _m->dbg_Auto_Valve_Plus_Vent_CFL_ro = (int16_t) CANDB_DBG_dbg_Auto_Valve_Plus_Vent_CFL_ro_toS(_m->dbg_Auto_Valve_Plus_Vent_CFL_phys); + _m->dbg_Auto_Valve_Plus_Foot_FL_ro = (int16_t) CANDB_DBG_dbg_Auto_Valve_Plus_Foot_FL_ro_toS(_m->dbg_Auto_Valve_Plus_Foot_FL_phys); + _m->dbg_Auto_Valve_Plus_Vent_SFR_ro = (int16_t) CANDB_DBG_dbg_Auto_Valve_Plus_Vent_SFR_ro_toS(_m->dbg_Auto_Valve_Plus_Vent_SFR_phys); + _m->dbg_Auto_Valve_Plus_Vent_CFR_ro = (int16_t) CANDB_DBG_dbg_Auto_Valve_Plus_Vent_CFR_ro_toS(_m->dbg_Auto_Valve_Plus_Vent_CFR_phys); + _m->dbg_Auto_Valve_Plus_Foot_FR_ro = (int16_t) CANDB_DBG_dbg_Auto_Valve_Plus_Foot_FR_ro_toS(_m->dbg_Auto_Valve_Plus_Foot_FR_phys); +#endif // CANDB_DBG_USE_SIGFLOAT + + _d[0] |= (uint8_t) ( (_m->dbg_Auto_Valve_Plus_Vent_SFL_ro & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->dbg_Auto_Valve_Plus_Vent_SFL_ro >> 8U) & (0x03U)) | ((_m->dbg_Auto_Valve_Plus_Vent_CFL_ro & (0x3FU)) << 2U) ); + _d[2] |= (uint8_t) ( ((_m->dbg_Auto_Valve_Plus_Vent_CFL_ro >> 6U) & (0x0FU)) | ((_m->dbg_Auto_Valve_Plus_Foot_FL_ro & (0x0FU)) << 4U) ); + _d[3] |= (uint8_t) ( ((_m->dbg_Auto_Valve_Plus_Foot_FL_ro >> 4U) & (0x3FU)) ); + _d[4] |= (uint8_t) ( (_m->dbg_Auto_Valve_Plus_Vent_SFR_ro & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->dbg_Auto_Valve_Plus_Vent_SFR_ro >> 8U) & (0x03U)) | ((_m->dbg_Auto_Valve_Plus_Vent_CFR_ro & (0x3FU)) << 2U) ); + _d[6] |= (uint8_t) ( ((_m->dbg_Auto_Valve_Plus_Vent_CFR_ro >> 6U) & (0x0FU)) | ((_m->dbg_Auto_Valve_Plus_Foot_FR_ro & (0x0FU)) << 4U) ); + _d[7] |= (uint8_t) ( ((_m->dbg_Auto_Valve_Plus_Foot_FR_ro >> 4U) & (0x3FU)) ); + + *_len = (uint8_t) dbg_Auto_Valve_Plus_DLC; + *_ide = (uint8_t) dbg_Auto_Valve_Plus_IDE; + return dbg_Auto_Valve_Plus_CANID; +} + +#endif // CANDB_DBG_USE_CANSTRUCT + +uint32_t Unpack_XCP_CCU_RX_candb_dbg(XCP_CCU_RX_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->XcpCcuRx = (int64_t) __ext_sig__(( ((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)) ), 64); + +#ifdef CANDB_DBG_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < XCP_CCU_RX_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_XCP_CCU_RX_candb_dbg(&_m->mon1, XCP_CCU_RX_CANID); +#endif // CANDB_DBG_USE_DIAG_MONITORS + + return XCP_CCU_RX_CANID; +} + +#ifdef CANDB_DBG_USE_CANSTRUCT + +uint32_t Pack_XCP_CCU_RX_candb_dbg(XCP_CCU_RX_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_DBG_VALIDATE_DLC(XCP_CCU_RX_DLC); cframe->Data[i++] = CANDB_DBG_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->XcpCcuRx & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->XcpCcuRx >> 8U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->XcpCcuRx >> 16U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->XcpCcuRx >> 24U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->XcpCcuRx >> 32U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->XcpCcuRx >> 40U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->XcpCcuRx >> 48U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( ((_m->XcpCcuRx >> 56U) & (0xFFU)) ); + + cframe->MsgId = (uint32_t) XCP_CCU_RX_CANID; + cframe->DLC = (uint8_t) XCP_CCU_RX_DLC; + cframe->IDE = (uint8_t) XCP_CCU_RX_IDE; + return XCP_CCU_RX_CANID; +} + +#else + +uint32_t Pack_XCP_CCU_RX_candb_dbg(XCP_CCU_RX_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_DBG_VALIDATE_DLC(XCP_CCU_RX_DLC); _d[i++] = CANDB_DBG_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->XcpCcuRx & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->XcpCcuRx >> 8U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->XcpCcuRx >> 16U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->XcpCcuRx >> 24U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->XcpCcuRx >> 32U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->XcpCcuRx >> 40U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->XcpCcuRx >> 48U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( ((_m->XcpCcuRx >> 56U) & (0xFFU)) ); + + *_len = (uint8_t) XCP_CCU_RX_DLC; + *_ide = (uint8_t) XCP_CCU_RX_IDE; + return XCP_CCU_RX_CANID; +} + +#endif // CANDB_DBG_USE_CANSTRUCT + +uint32_t Unpack_XCP_CCU_TX_candb_dbg(XCP_CCU_TX_t* _m, const uint8_t* _d, uint8_t dlc_) +{ + (void)dlc_; + _m->XcpCcuTx = (int64_t) __ext_sig__(( ((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)) ), 64); + +#ifdef CANDB_DBG_USE_DIAG_MONITORS + _m->mon1.dlc_error = (dlc_ < XCP_CCU_TX_DLC); + _m->mon1.last_cycle = GetSystemTick(); + _m->mon1.frame_cnt++; + + FMon_XCP_CCU_TX_candb_dbg(&_m->mon1, XCP_CCU_TX_CANID); +#endif // CANDB_DBG_USE_DIAG_MONITORS + + return XCP_CCU_TX_CANID; +} + +#ifdef CANDB_DBG_USE_CANSTRUCT + +uint32_t Pack_XCP_CCU_TX_candb_dbg(XCP_CCU_TX_t* _m, __CoderDbcCanFrame_t__* cframe) +{ + uint8_t i; for (i = 0u; i < CANDB_DBG_VALIDATE_DLC(XCP_CCU_TX_DLC); cframe->Data[i++] = CANDB_DBG_INITIAL_BYTE_VALUE); + + cframe->Data[0] |= (uint8_t) ( (_m->XcpCcuTx & (0xFFU)) ); + cframe->Data[1] |= (uint8_t) ( ((_m->XcpCcuTx >> 8U) & (0xFFU)) ); + cframe->Data[2] |= (uint8_t) ( ((_m->XcpCcuTx >> 16U) & (0xFFU)) ); + cframe->Data[3] |= (uint8_t) ( ((_m->XcpCcuTx >> 24U) & (0xFFU)) ); + cframe->Data[4] |= (uint8_t) ( ((_m->XcpCcuTx >> 32U) & (0xFFU)) ); + cframe->Data[5] |= (uint8_t) ( ((_m->XcpCcuTx >> 40U) & (0xFFU)) ); + cframe->Data[6] |= (uint8_t) ( ((_m->XcpCcuTx >> 48U) & (0xFFU)) ); + cframe->Data[7] |= (uint8_t) ( ((_m->XcpCcuTx >> 56U) & (0xFFU)) ); + + cframe->MsgId = (uint32_t) XCP_CCU_TX_CANID; + cframe->DLC = (uint8_t) XCP_CCU_TX_DLC; + cframe->IDE = (uint8_t) XCP_CCU_TX_IDE; + return XCP_CCU_TX_CANID; +} + +#else + +uint32_t Pack_XCP_CCU_TX_candb_dbg(XCP_CCU_TX_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide) +{ + uint8_t i; for (i = 0u; i < CANDB_DBG_VALIDATE_DLC(XCP_CCU_TX_DLC); _d[i++] = CANDB_DBG_INITIAL_BYTE_VALUE); + + _d[0] |= (uint8_t) ( (_m->XcpCcuTx & (0xFFU)) ); + _d[1] |= (uint8_t) ( ((_m->XcpCcuTx >> 8U) & (0xFFU)) ); + _d[2] |= (uint8_t) ( ((_m->XcpCcuTx >> 16U) & (0xFFU)) ); + _d[3] |= (uint8_t) ( ((_m->XcpCcuTx >> 24U) & (0xFFU)) ); + _d[4] |= (uint8_t) ( ((_m->XcpCcuTx >> 32U) & (0xFFU)) ); + _d[5] |= (uint8_t) ( ((_m->XcpCcuTx >> 40U) & (0xFFU)) ); + _d[6] |= (uint8_t) ( ((_m->XcpCcuTx >> 48U) & (0xFFU)) ); + _d[7] |= (uint8_t) ( ((_m->XcpCcuTx >> 56U) & (0xFFU)) ); + + *_len = (uint8_t) XCP_CCU_TX_DLC; + *_ide = (uint8_t) XCP_CCU_TX_IDE; + return XCP_CCU_TX_CANID; +} + +#endif // CANDB_DBG_USE_CANSTRUCT + diff --git a/lib/candb_dbg.h b/lib/candb_dbg.h new file mode 100644 index 0000000..a58e351 --- /dev/null +++ b/lib/candb_dbg.h @@ -0,0 +1,7041 @@ +// Generator version : v3.1 +// DBC filename : CCUdbg.dbc +#pragma once + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +// DBC file version +#define VER_CANDB_DBG_MAJ (0U) +#define VER_CANDB_DBG_MIN (0U) + +// include current dbc-driver compilation config +#include "candb_dbg-config.h" + +#ifdef CANDB_DBG_USE_DIAG_MONITORS +// This file must define: +// base monitor struct +#include "canmonitorutil.h" + +#endif // CANDB_DBG_USE_DIAG_MONITORS + + +// DLC maximum value which is used as the limit for frame's data buffer size. +// Client can set its own value (not sure why) in driver-config +// or can test it on some limit specified by application +// e.g.: static_assert(TESTDB_MAX_DLC_VALUE <= APPLICATION_FRAME_DATA_SIZE, "Max DLC value in the driver is too big") +#ifndef CANDB_DBG_MAX_DLC_VALUE +// The value which was found out by generator (real max value) +#define CANDB_DBG_MAX_DLC_VALUE 8U +#endif + +// The limit is used for setting frame's data bytes +#define CANDB_DBG_VALIDATE_DLC(msgDlc) (((msgDlc) <= (CANDB_DBG_MAX_DLC_VALUE)) ? (msgDlc) : (CANDB_DBG_MAX_DLC_VALUE)) + +// Initial byte value to be filles in data bytes of the frame before pack signals +// User can define its own custom value in driver-config file +#ifndef CANDB_DBG_INITIAL_BYTE_VALUE +#define CANDB_DBG_INITIAL_BYTE_VALUE 0U +#endif + + +// def @dbg_Logic_State CAN Message (992 0x3e0) +#define dbg_Logic_State_IDE (0U) +#define dbg_Logic_State_DLC (8U) +#define dbg_Logic_State_CANID (0x3e0U) + +// Value tables for @Logic_Operation_Mode signal + +#ifndef Logic_Operation_Mode_dbg_Logic_State_Full_Mode +#define Logic_Operation_Mode_dbg_Logic_State_Full_Mode (3) +#endif + +#ifndef Logic_Operation_Mode_dbg_Logic_State_Reduced_Mode +#define Logic_Operation_Mode_dbg_Logic_State_Reduced_Mode (1) +#endif + +#ifndef Logic_Operation_Mode_dbg_Logic_State_Off_Mode +#define Logic_Operation_Mode_dbg_Logic_State_Off_Mode (0) +#endif + + +// Value tables for @Logic_Amb_Level signal + +#ifndef Logic_Amb_Level_dbg_Logic_State_AMB_LV5 +#define Logic_Amb_Level_dbg_Logic_State_AMB_LV5 (5) +#endif + +#ifndef Logic_Amb_Level_dbg_Logic_State_AMB_LV4 +#define Logic_Amb_Level_dbg_Logic_State_AMB_LV4 (4) +#endif + +#ifndef Logic_Amb_Level_dbg_Logic_State_AMB_LV3 +#define Logic_Amb_Level_dbg_Logic_State_AMB_LV3 (3) +#endif + +#ifndef Logic_Amb_Level_dbg_Logic_State_AMB_LV2 +#define Logic_Amb_Level_dbg_Logic_State_AMB_LV2 (2) +#endif + +#ifndef Logic_Amb_Level_dbg_Logic_State_AMB_LV1 +#define Logic_Amb_Level_dbg_Logic_State_AMB_LV1 (1) +#endif + +#ifndef Logic_Amb_Level_dbg_Logic_State_AMB_LV0 +#define Logic_Amb_Level_dbg_Logic_State_AMB_LV0 (0) +#endif + + +// Value tables for @Logic_AutoDemist_Electric signal + +#ifndef Logic_AutoDemist_Electric_dbg_Logic_State_On +#define Logic_AutoDemist_Electric_dbg_Logic_State_On (1) +#endif + +#ifndef Logic_AutoDemist_Electric_dbg_Logic_State_OFF +#define Logic_AutoDemist_Electric_dbg_Logic_State_OFF (0) +#endif + + +// Value tables for @Logic_AutoDemist_Garage signal + +#ifndef Logic_AutoDemist_Garage_dbg_Logic_State_On +#define Logic_AutoDemist_Garage_dbg_Logic_State_On (1) +#endif + +#ifndef Logic_AutoDemist_Garage_dbg_Logic_State_OFF +#define Logic_AutoDemist_Garage_dbg_Logic_State_OFF (0) +#endif + + +// Value tables for @Logic_AutoDemist_Lv_Summer signal + +#ifndef Logic_AutoDemist_Lv_Summer_dbg_Logic_State_AutoDemist_LV4 +#define Logic_AutoDemist_Lv_Summer_dbg_Logic_State_AutoDemist_LV4 (4) +#endif + +#ifndef Logic_AutoDemist_Lv_Summer_dbg_Logic_State_AutoDemist_LV3 +#define Logic_AutoDemist_Lv_Summer_dbg_Logic_State_AutoDemist_LV3 (3) +#endif + +#ifndef Logic_AutoDemist_Lv_Summer_dbg_Logic_State_AutoDemist_LV2 +#define Logic_AutoDemist_Lv_Summer_dbg_Logic_State_AutoDemist_LV2 (2) +#endif + +#ifndef Logic_AutoDemist_Lv_Summer_dbg_Logic_State_AutoDemist_LV1 +#define Logic_AutoDemist_Lv_Summer_dbg_Logic_State_AutoDemist_LV1 (1) +#endif + +#ifndef Logic_AutoDemist_Lv_Summer_dbg_Logic_State_AutoDemist_LV0 +#define Logic_AutoDemist_Lv_Summer_dbg_Logic_State_AutoDemist_LV0 (0) +#endif + + +// Value tables for @Logic_RemoteStart signal + +#ifndef Logic_RemoteStart_dbg_Logic_State_Remote_Starte_Step_3 +#define Logic_RemoteStart_dbg_Logic_State_Remote_Starte_Step_3 (3) +#endif + +#ifndef Logic_RemoteStart_dbg_Logic_State_Remote_Starte_Step_2 +#define Logic_RemoteStart_dbg_Logic_State_Remote_Starte_Step_2 (2) +#endif + +#ifndef Logic_RemoteStart_dbg_Logic_State_Remote_Starte_Step_1 +#define Logic_RemoteStart_dbg_Logic_State_Remote_Starte_Step_1 (1) +#endif + +#ifndef Logic_RemoteStart_dbg_Logic_State_Remote_Starte_Step_0 +#define Logic_RemoteStart_dbg_Logic_State_Remote_Starte_Step_0 (0) +#endif + + +// Value tables for @Logic_Rest_Mode signal + +#ifndef Logic_Rest_Mode_dbg_Logic_State_Rest_Mode_Summer +#define Logic_Rest_Mode_dbg_Logic_State_Rest_Mode_Summer (2) +#endif + +#ifndef Logic_Rest_Mode_dbg_Logic_State_Rest_Mode_Winter +#define Logic_Rest_Mode_dbg_Logic_State_Rest_Mode_Winter (1) +#endif + +#ifndef Logic_Rest_Mode_dbg_Logic_State_No_Rest_Mode +#define Logic_Rest_Mode_dbg_Logic_State_No_Rest_Mode (0) +#endif + + +// Value tables for @Logic_LoHi_Front signal + +#ifndef Logic_LoHi_Front_dbg_Logic_State_HI_Full_4zone +#define Logic_LoHi_Front_dbg_Logic_State_HI_Full_4zone (99) +#endif + +#ifndef Logic_LoHi_Front_dbg_Logic_State_HI_Both_Left_Right +#define Logic_LoHi_Front_dbg_Logic_State_HI_Both_Left_Right (88) +#endif + +#ifndef Logic_LoHi_Front_dbg_Logic_State_HI_Left_Only +#define Logic_LoHi_Front_dbg_Logic_State_HI_Left_Only (80) +#endif + +#ifndef Logic_LoHi_Front_dbg_Logic_State_LO_Full_4zone +#define Logic_LoHi_Front_dbg_Logic_State_LO_Full_4zone (22) +#endif + +#ifndef Logic_LoHi_Front_dbg_Logic_State_LO_Both_Left_Right +#define Logic_LoHi_Front_dbg_Logic_State_LO_Both_Left_Right (11) +#endif + +#ifndef Logic_LoHi_Front_dbg_Logic_State_LO_Left_Only +#define Logic_LoHi_Front_dbg_Logic_State_LO_Left_Only (10) +#endif + +#ifndef Logic_LoHi_Front_dbg_Logic_State_HI_Right_Only +#define Logic_LoHi_Front_dbg_Logic_State_HI_Right_Only (8) +#endif + +#ifndef Logic_LoHi_Front_dbg_Logic_State_LO_Right_Only +#define Logic_LoHi_Front_dbg_Logic_State_LO_Right_Only (1) +#endif + +#ifndef Logic_LoHi_Front_dbg_Logic_State_IDLE_No_LoHi +#define Logic_LoHi_Front_dbg_Logic_State_IDLE_No_LoHi (0) +#endif + + +// Value tables for @Logic_LoHi_Rear signal + +#ifndef Logic_LoHi_Rear_dbg_Logic_State_HI_Full_4zone +#define Logic_LoHi_Rear_dbg_Logic_State_HI_Full_4zone (99) +#endif + +#ifndef Logic_LoHi_Rear_dbg_Logic_State_HI_Both_Left_Right +#define Logic_LoHi_Rear_dbg_Logic_State_HI_Both_Left_Right (88) +#endif + +#ifndef Logic_LoHi_Rear_dbg_Logic_State_HI_Left_Only +#define Logic_LoHi_Rear_dbg_Logic_State_HI_Left_Only (80) +#endif + +#ifndef Logic_LoHi_Rear_dbg_Logic_State_LO_Full_4zone +#define Logic_LoHi_Rear_dbg_Logic_State_LO_Full_4zone (22) +#endif + +#ifndef Logic_LoHi_Rear_dbg_Logic_State_LO_Both_Left_Right +#define Logic_LoHi_Rear_dbg_Logic_State_LO_Both_Left_Right (11) +#endif + +#ifndef Logic_LoHi_Rear_dbg_Logic_State_LO_Left_Only +#define Logic_LoHi_Rear_dbg_Logic_State_LO_Left_Only (10) +#endif + +#ifndef Logic_LoHi_Rear_dbg_Logic_State_HI_Right_Only +#define Logic_LoHi_Rear_dbg_Logic_State_HI_Right_Only (8) +#endif + +#ifndef Logic_LoHi_Rear_dbg_Logic_State_LO_Right_Only +#define Logic_LoHi_Rear_dbg_Logic_State_LO_Right_Only (1) +#endif + +#ifndef Logic_LoHi_Rear_dbg_Logic_State_IDLE_No_LoHi +#define Logic_LoHi_Rear_dbg_Logic_State_IDLE_No_LoHi (0) +#endif + + +// Value tables for @Logic_2WayValve_Status signal + +#ifndef Logic_2WayValve_Status_dbg_Logic_State_Open +#define Logic_2WayValve_Status_dbg_Logic_State_Open (2) +#endif + +#ifndef Logic_2WayValve_Status_dbg_Logic_State_Close_Exit +#define Logic_2WayValve_Status_dbg_Logic_State_Close_Exit (1) +#endif + +#ifndef Logic_2WayValve_Status_dbg_Logic_State_Close +#define Logic_2WayValve_Status_dbg_Logic_State_Close (0) +#endif + + +// Value tables for @Logic_Start_Ctrl_Front signal + +#ifndef Logic_Start_Ctrl_Front_dbg_Logic_State_Start_Ctrl_Step3 +#define Logic_Start_Ctrl_Front_dbg_Logic_State_Start_Ctrl_Step3 (4) +#endif + +#ifndef Logic_Start_Ctrl_Front_dbg_Logic_State_Start_Ctrl_Step1 +#define Logic_Start_Ctrl_Front_dbg_Logic_State_Start_Ctrl_Step1 (2) +#endif + +#ifndef Logic_Start_Ctrl_Front_dbg_Logic_State_Start_Ctrl_Step2 +#define Logic_Start_Ctrl_Front_dbg_Logic_State_Start_Ctrl_Step2 (3) +#endif + +#ifndef Logic_Start_Ctrl_Front_dbg_Logic_State_Start_Ctrl_Step0 +#define Logic_Start_Ctrl_Front_dbg_Logic_State_Start_Ctrl_Step0 (1) +#endif + +#ifndef Logic_Start_Ctrl_Front_dbg_Logic_State_No_Start_Ctrl +#define Logic_Start_Ctrl_Front_dbg_Logic_State_No_Start_Ctrl (0) +#endif + + +// Value tables for @Logic_Start_Ctrl_Rear signal + +#ifndef Logic_Start_Ctrl_Rear_dbg_Logic_State_Start_Ctrl_Step3 +#define Logic_Start_Ctrl_Rear_dbg_Logic_State_Start_Ctrl_Step3 (4) +#endif + +#ifndef Logic_Start_Ctrl_Rear_dbg_Logic_State_Start_Ctrl_Step1 +#define Logic_Start_Ctrl_Rear_dbg_Logic_State_Start_Ctrl_Step1 (2) +#endif + +#ifndef Logic_Start_Ctrl_Rear_dbg_Logic_State_Start_Ctrl_Step2 +#define Logic_Start_Ctrl_Rear_dbg_Logic_State_Start_Ctrl_Step2 (3) +#endif + +#ifndef Logic_Start_Ctrl_Rear_dbg_Logic_State_Start_Ctrl_Step0 +#define Logic_Start_Ctrl_Rear_dbg_Logic_State_Start_Ctrl_Step0 (1) +#endif + +#ifndef Logic_Start_Ctrl_Rear_dbg_Logic_State_No_Start_Ctrl +#define Logic_Start_Ctrl_Rear_dbg_Logic_State_No_Start_Ctrl (0) +#endif + + +// Value tables for @Logic_Duct_WaitCorrection_FRL signal + +#ifndef Logic_Duct_WaitCorrection_FRL_dbg_Logic_State_DONE +#define Logic_Duct_WaitCorrection_FRL_dbg_Logic_State_DONE (3) +#endif + +#ifndef Logic_Duct_WaitCorrection_FRL_dbg_Logic_State_CHANGE +#define Logic_Duct_WaitCorrection_FRL_dbg_Logic_State_CHANGE (2) +#endif + +#ifndef Logic_Duct_WaitCorrection_FRL_dbg_Logic_State_WAIT +#define Logic_Duct_WaitCorrection_FRL_dbg_Logic_State_WAIT (1) +#endif + +#ifndef Logic_Duct_WaitCorrection_FRL_dbg_Logic_State_OFF +#define Logic_Duct_WaitCorrection_FRL_dbg_Logic_State_OFF (0) +#endif + + +// Value tables for @Logic_Duct_WaitCorrection_FLL signal + +#ifndef Logic_Duct_WaitCorrection_FLL_dbg_Logic_State_DONE +#define Logic_Duct_WaitCorrection_FLL_dbg_Logic_State_DONE (3) +#endif + +#ifndef Logic_Duct_WaitCorrection_FLL_dbg_Logic_State_CHANGE +#define Logic_Duct_WaitCorrection_FLL_dbg_Logic_State_CHANGE (2) +#endif + +#ifndef Logic_Duct_WaitCorrection_FLL_dbg_Logic_State_WAIT +#define Logic_Duct_WaitCorrection_FLL_dbg_Logic_State_WAIT (1) +#endif + +#ifndef Logic_Duct_WaitCorrection_FLL_dbg_Logic_State_OFF +#define Logic_Duct_WaitCorrection_FLL_dbg_Logic_State_OFF (0) +#endif + + +// Value tables for @Logic_AutoDemist_Lv_Winter signal + +#ifndef Logic_AutoDemist_Lv_Winter_dbg_Logic_State_AutoDemist_LV4 +#define Logic_AutoDemist_Lv_Winter_dbg_Logic_State_AutoDemist_LV4 (4) +#endif + +#ifndef Logic_AutoDemist_Lv_Winter_dbg_Logic_State_AutoDemist_LV3 +#define Logic_AutoDemist_Lv_Winter_dbg_Logic_State_AutoDemist_LV3 (3) +#endif + +#ifndef Logic_AutoDemist_Lv_Winter_dbg_Logic_State_AutoDemist_LV2 +#define Logic_AutoDemist_Lv_Winter_dbg_Logic_State_AutoDemist_LV2 (2) +#endif + +#ifndef Logic_AutoDemist_Lv_Winter_dbg_Logic_State_AutoDemist_LV1 +#define Logic_AutoDemist_Lv_Winter_dbg_Logic_State_AutoDemist_LV1 (1) +#endif + +#ifndef Logic_AutoDemist_Lv_Winter_dbg_Logic_State_AutoDemist_LV0 +#define Logic_AutoDemist_Lv_Winter_dbg_Logic_State_AutoDemist_LV0 (0) +#endif + + +// Value tables for @Logic_AF_WaitCorrection_FL signal + +#ifndef Logic_AF_WaitCorrection_FL_dbg_Logic_State_DONE +#define Logic_AF_WaitCorrection_FL_dbg_Logic_State_DONE (3) +#endif + +#ifndef Logic_AF_WaitCorrection_FL_dbg_Logic_State_CHANGE +#define Logic_AF_WaitCorrection_FL_dbg_Logic_State_CHANGE (2) +#endif + +#ifndef Logic_AF_WaitCorrection_FL_dbg_Logic_State_WAIT +#define Logic_AF_WaitCorrection_FL_dbg_Logic_State_WAIT (1) +#endif + +#ifndef Logic_AF_WaitCorrection_FL_dbg_Logic_State_OFF +#define Logic_AF_WaitCorrection_FL_dbg_Logic_State_OFF (0) +#endif + + +// Value tables for @Logic_AF_WaitCorrection_FR signal + +#ifndef Logic_AF_WaitCorrection_FR_dbg_Logic_State_DONE +#define Logic_AF_WaitCorrection_FR_dbg_Logic_State_DONE (3) +#endif + +#ifndef Logic_AF_WaitCorrection_FR_dbg_Logic_State_CHANGE +#define Logic_AF_WaitCorrection_FR_dbg_Logic_State_CHANGE (2) +#endif + +#ifndef Logic_AF_WaitCorrection_FR_dbg_Logic_State_WAIT +#define Logic_AF_WaitCorrection_FR_dbg_Logic_State_WAIT (1) +#endif + +#ifndef Logic_AF_WaitCorrection_FR_dbg_Logic_State_OFF +#define Logic_AF_WaitCorrection_FR_dbg_Logic_State_OFF (0) +#endif + + +typedef struct +{ +#ifdef CANDB_DBG_USE_BITS_SIGNAL + + // 3 : "Full Mode" + // 1 : "Reduced Mode" + // 0 : "Off Mode" + uint8_t Logic_Operation_Mode : 2; // Bits= 2 + + // 5 : "AMB_LV5" + // 4 : "AMB_LV4" + // 3 : "AMB_LV3" + // 2 : "AMB_LV2" + // 1 : "AMB_LV1" + // 0 : "AMB_LV0" + uint8_t Logic_Amb_Level : 4; // Bits= 4 + + // 1 : "On" + // 0 : "OFF" + uint8_t Logic_AutoDemist_Electric : 1; // Bits= 1 + + // 1 : "On" + // 0 : "OFF" + uint8_t Logic_AutoDemist_Garage : 1; // Bits= 1 + + // 4 : "AutoDemist_LV4" + // 3 : "AutoDemist_LV3" + // 2 : "AutoDemist_LV2" + // 1 : "AutoDemist_LV1" + // 0 : "AutoDemist_LV0" + uint8_t Logic_AutoDemist_Lv_Summer : 4; // Bits= 4 + + // 3 : "Remote Starte Step 3" + // 2 : "Remote Starte Step 2" + // 1 : "Remote Starte Step 1" + // 0 : "Remote Starte Step 0" + uint8_t Logic_RemoteStart : 2; // Bits= 2 + + // 2 : "Rest Mode_Summer" + // 1 : "Rest Mode_Winter" + // 0 : "No Rest Mode" + uint8_t Logic_Rest_Mode : 2; // Bits= 2 + + // 99 : "HI_Full_4zone" + // 88 : "HI_Both_Left_Right" + // 80 : "HI_Left_Only" + // 22 : "LO_Full_4zone" + // 11 : "LO_Both_Left_Right" + // 10 : "LO_Left_Only" + // 8 : "HI_Right_Only" + // 1 : "LO_Right_Only" + // 0 : "IDLE_No_LoHi" + uint8_t Logic_LoHi_Front; // Bits= 8 + + // 99 : "HI_Full_4zone" + // 88 : "HI_Both_Left_Right" + // 80 : "HI_Left_Only" + // 22 : "LO_Full_4zone" + // 11 : "LO_Both_Left_Right" + // 10 : "LO_Left_Only" + // 8 : "HI_Right_Only" + // 1 : "LO_Right_Only" + // 0 : "IDLE_No_LoHi" + uint8_t Logic_LoHi_Rear; // Bits= 8 + + // 2 : "Open" + // 1 : "Close_Exit" + // 0 : "Close" + uint8_t Logic_2WayValve_Status : 2; // Bits= 2 + + uint8_t Logic_Full_Auto_FL : 1; // Bits= 1 Unit:'(off 0, on 1)' + + uint8_t Logic_Full_Auto_FR : 1; // Bits= 1 Unit:'(off 0, on 1)' + + uint8_t Logic_Full_Auto_RL : 1; // Bits= 1 Unit:'(off 0, on 1)' + + uint8_t Logic_Full_Auto_RR : 1; // Bits= 1 Unit:'(off 0, on 1)' + + uint8_t Logic_Full_MaxAc : 1; // Bits= 1 Unit:'(off 0, on 1)' + + uint8_t Logic_Full_MaxDef : 1; // Bits= 1 Unit:'(off 0, on 1)' + + // 4 : "Start_Ctrl_Step3" + // 2 : "Start_Ctrl_Step1" + // 3 : "Start_Ctrl_Step2" + // 1 : "Start_Ctrl_Step0" + // 0 : "No_Start_Ctrl" + uint8_t Logic_Start_Ctrl_Front : 3; // Bits= 3 + + // 4 : "Start_Ctrl_Step3" + // 2 : "Start_Ctrl_Step1" + // 3 : "Start_Ctrl_Step2" + // 1 : "Start_Ctrl_Step0" + // 0 : "No_Start_Ctrl" + uint8_t Logic_Start_Ctrl_Rear : 3; // Bits= 3 + + uint8_t Logic_Valve_Use_DiffBlr_R2 : 1; // Bits= 1 Unit:'(off 0, on 1)' + + // 3 : "DONE" + // 2 : "CHANGE" + // 1 : "WAIT" + // 0 : "OFF" + uint8_t Logic_Duct_WaitCorrection_FRL : 2; // Bits= 2 + + // 3 : "DONE" + // 2 : "CHANGE" + // 1 : "WAIT" + // 0 : "OFF" + uint8_t Logic_Duct_WaitCorrection_FLL : 2; // Bits= 2 + + // 4 : "AutoDemist_LV4" + // 3 : "AutoDemist_LV3" + // 2 : "AutoDemist_LV2" + // 1 : "AutoDemist_LV1" + // 0 : "AutoDemist_LV0" + uint8_t Logic_AutoDemist_Lv_Winter : 4; // Bits= 4 + + // 3 : "DONE" + // 2 : "CHANGE" + // 1 : "WAIT" + // 0 : "OFF" + uint8_t Logic_AF_WaitCorrection_FL : 2; // Bits= 2 + + // 3 : "DONE" + // 2 : "CHANGE" + // 1 : "WAIT" + // 0 : "OFF" + uint8_t Logic_AF_WaitCorrection_FR : 2; // Bits= 2 + +#else + + // 3 : "Full Mode" + // 1 : "Reduced Mode" + // 0 : "Off Mode" + uint8_t Logic_Operation_Mode; // Bits= 2 + + // 5 : "AMB_LV5" + // 4 : "AMB_LV4" + // 3 : "AMB_LV3" + // 2 : "AMB_LV2" + // 1 : "AMB_LV1" + // 0 : "AMB_LV0" + uint8_t Logic_Amb_Level; // Bits= 4 + + // 1 : "On" + // 0 : "OFF" + uint8_t Logic_AutoDemist_Electric; // Bits= 1 + + // 1 : "On" + // 0 : "OFF" + uint8_t Logic_AutoDemist_Garage; // Bits= 1 + + // 4 : "AutoDemist_LV4" + // 3 : "AutoDemist_LV3" + // 2 : "AutoDemist_LV2" + // 1 : "AutoDemist_LV1" + // 0 : "AutoDemist_LV0" + uint8_t Logic_AutoDemist_Lv_Summer; // Bits= 4 + + // 3 : "Remote Starte Step 3" + // 2 : "Remote Starte Step 2" + // 1 : "Remote Starte Step 1" + // 0 : "Remote Starte Step 0" + uint8_t Logic_RemoteStart; // Bits= 2 + + // 2 : "Rest Mode_Summer" + // 1 : "Rest Mode_Winter" + // 0 : "No Rest Mode" + uint8_t Logic_Rest_Mode; // Bits= 2 + + // 99 : "HI_Full_4zone" + // 88 : "HI_Both_Left_Right" + // 80 : "HI_Left_Only" + // 22 : "LO_Full_4zone" + // 11 : "LO_Both_Left_Right" + // 10 : "LO_Left_Only" + // 8 : "HI_Right_Only" + // 1 : "LO_Right_Only" + // 0 : "IDLE_No_LoHi" + uint8_t Logic_LoHi_Front; // Bits= 8 + + // 99 : "HI_Full_4zone" + // 88 : "HI_Both_Left_Right" + // 80 : "HI_Left_Only" + // 22 : "LO_Full_4zone" + // 11 : "LO_Both_Left_Right" + // 10 : "LO_Left_Only" + // 8 : "HI_Right_Only" + // 1 : "LO_Right_Only" + // 0 : "IDLE_No_LoHi" + uint8_t Logic_LoHi_Rear; // Bits= 8 + + // 2 : "Open" + // 1 : "Close_Exit" + // 0 : "Close" + uint8_t Logic_2WayValve_Status; // Bits= 2 + + uint8_t Logic_Full_Auto_FL; // Bits= 1 Unit:'(off 0, on 1)' + + uint8_t Logic_Full_Auto_FR; // Bits= 1 Unit:'(off 0, on 1)' + + uint8_t Logic_Full_Auto_RL; // Bits= 1 Unit:'(off 0, on 1)' + + uint8_t Logic_Full_Auto_RR; // Bits= 1 Unit:'(off 0, on 1)' + + uint8_t Logic_Full_MaxAc; // Bits= 1 Unit:'(off 0, on 1)' + + uint8_t Logic_Full_MaxDef; // Bits= 1 Unit:'(off 0, on 1)' + + // 4 : "Start_Ctrl_Step3" + // 2 : "Start_Ctrl_Step1" + // 3 : "Start_Ctrl_Step2" + // 1 : "Start_Ctrl_Step0" + // 0 : "No_Start_Ctrl" + uint8_t Logic_Start_Ctrl_Front; // Bits= 3 + + // 4 : "Start_Ctrl_Step3" + // 2 : "Start_Ctrl_Step1" + // 3 : "Start_Ctrl_Step2" + // 1 : "Start_Ctrl_Step0" + // 0 : "No_Start_Ctrl" + uint8_t Logic_Start_Ctrl_Rear; // Bits= 3 + + uint8_t Logic_Valve_Use_DiffBlr_R2; // Bits= 1 Unit:'(off 0, on 1)' + + // 3 : "DONE" + // 2 : "CHANGE" + // 1 : "WAIT" + // 0 : "OFF" + uint8_t Logic_Duct_WaitCorrection_FRL; // Bits= 2 + + // 3 : "DONE" + // 2 : "CHANGE" + // 1 : "WAIT" + // 0 : "OFF" + uint8_t Logic_Duct_WaitCorrection_FLL; // Bits= 2 + + // 4 : "AutoDemist_LV4" + // 3 : "AutoDemist_LV3" + // 2 : "AutoDemist_LV2" + // 1 : "AutoDemist_LV1" + // 0 : "AutoDemist_LV0" + uint8_t Logic_AutoDemist_Lv_Winter; // Bits= 4 + + // 3 : "DONE" + // 2 : "CHANGE" + // 1 : "WAIT" + // 0 : "OFF" + uint8_t Logic_AF_WaitCorrection_FL; // Bits= 2 + + // 3 : "DONE" + // 2 : "CHANGE" + // 1 : "WAIT" + // 0 : "OFF" + uint8_t Logic_AF_WaitCorrection_FR; // Bits= 2 + +#endif // CANDB_DBG_USE_BITS_SIGNAL + +#ifdef CANDB_DBG_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_DBG_USE_DIAG_MONITORS + +} dbg_Logic_State_t; + +// def @dbg_Logic_KM_Status CAN Message (993 0x3e1) +#define dbg_Logic_KM_Status_IDE (0U) +#define dbg_Logic_KM_Status_DLC (4U) +#define dbg_Logic_KM_Status_CANID (0x3e1U) + +// Value tables for @Logic_KM_Mode_FL signal + +#ifndef Logic_KM_Mode_FL_dbg_Logic_KM_Status_AC_Max +#define Logic_KM_Mode_FL_dbg_Logic_KM_Status_AC_Max (6) +#endif + +#ifndef Logic_KM_Mode_FL_dbg_Logic_KM_Status_Fire_Extinguis +#define Logic_KM_Mode_FL_dbg_Logic_KM_Status_Fire_Extinguis (5) +#endif + +#ifndef Logic_KM_Mode_FL_dbg_Logic_KM_Status_Rest_Mode +#define Logic_KM_Mode_FL_dbg_Logic_KM_Status_Rest_Mode (4) +#endif + +#ifndef Logic_KM_Mode_FL_dbg_Logic_KM_Status_Auto +#define Logic_KM_Mode_FL_dbg_Logic_KM_Status_Auto (3) +#endif + +#ifndef Logic_KM_Mode_FL_dbg_Logic_KM_Status_Defrost +#define Logic_KM_Mode_FL_dbg_Logic_KM_Status_Defrost (2) +#endif + +#ifndef Logic_KM_Mode_FL_dbg_Logic_KM_Status_Manual +#define Logic_KM_Mode_FL_dbg_Logic_KM_Status_Manual (1) +#endif + +#ifndef Logic_KM_Mode_FL_dbg_Logic_KM_Status_OFF +#define Logic_KM_Mode_FL_dbg_Logic_KM_Status_OFF (0) +#endif + + +// Value tables for @Logic_KM_Mode_FR signal + +#ifndef Logic_KM_Mode_FR_dbg_Logic_KM_Status_AC_Max +#define Logic_KM_Mode_FR_dbg_Logic_KM_Status_AC_Max (6) +#endif + +#ifndef Logic_KM_Mode_FR_dbg_Logic_KM_Status_Fire_Extinguis +#define Logic_KM_Mode_FR_dbg_Logic_KM_Status_Fire_Extinguis (5) +#endif + +#ifndef Logic_KM_Mode_FR_dbg_Logic_KM_Status_Rest_Mode +#define Logic_KM_Mode_FR_dbg_Logic_KM_Status_Rest_Mode (4) +#endif + +#ifndef Logic_KM_Mode_FR_dbg_Logic_KM_Status_Auto +#define Logic_KM_Mode_FR_dbg_Logic_KM_Status_Auto (3) +#endif + +#ifndef Logic_KM_Mode_FR_dbg_Logic_KM_Status_Defrost +#define Logic_KM_Mode_FR_dbg_Logic_KM_Status_Defrost (2) +#endif + +#ifndef Logic_KM_Mode_FR_dbg_Logic_KM_Status_Manual +#define Logic_KM_Mode_FR_dbg_Logic_KM_Status_Manual (1) +#endif + +#ifndef Logic_KM_Mode_FR_dbg_Logic_KM_Status_OFF +#define Logic_KM_Mode_FR_dbg_Logic_KM_Status_OFF (0) +#endif + + +// Value tables for @Logic_KM_Mode_RL signal + +#ifndef Logic_KM_Mode_RL_dbg_Logic_KM_Status_AC_Max +#define Logic_KM_Mode_RL_dbg_Logic_KM_Status_AC_Max (6) +#endif + +#ifndef Logic_KM_Mode_RL_dbg_Logic_KM_Status_Fire_Extinguis +#define Logic_KM_Mode_RL_dbg_Logic_KM_Status_Fire_Extinguis (5) +#endif + +#ifndef Logic_KM_Mode_RL_dbg_Logic_KM_Status_Rest_Mode +#define Logic_KM_Mode_RL_dbg_Logic_KM_Status_Rest_Mode (4) +#endif + +#ifndef Logic_KM_Mode_RL_dbg_Logic_KM_Status_Auto +#define Logic_KM_Mode_RL_dbg_Logic_KM_Status_Auto (3) +#endif + +#ifndef Logic_KM_Mode_RL_dbg_Logic_KM_Status_Defrost +#define Logic_KM_Mode_RL_dbg_Logic_KM_Status_Defrost (2) +#endif + +#ifndef Logic_KM_Mode_RL_dbg_Logic_KM_Status_Manual +#define Logic_KM_Mode_RL_dbg_Logic_KM_Status_Manual (1) +#endif + +#ifndef Logic_KM_Mode_RL_dbg_Logic_KM_Status_OFF +#define Logic_KM_Mode_RL_dbg_Logic_KM_Status_OFF (0) +#endif + + +// Value tables for @Logic_KM_Mode_RR signal + +#ifndef Logic_KM_Mode_RR_dbg_Logic_KM_Status_AC_Max +#define Logic_KM_Mode_RR_dbg_Logic_KM_Status_AC_Max (6) +#endif + +#ifndef Logic_KM_Mode_RR_dbg_Logic_KM_Status_Fire_Extinguis +#define Logic_KM_Mode_RR_dbg_Logic_KM_Status_Fire_Extinguis (5) +#endif + +#ifndef Logic_KM_Mode_RR_dbg_Logic_KM_Status_Rest_Mode +#define Logic_KM_Mode_RR_dbg_Logic_KM_Status_Rest_Mode (4) +#endif + +#ifndef Logic_KM_Mode_RR_dbg_Logic_KM_Status_Auto +#define Logic_KM_Mode_RR_dbg_Logic_KM_Status_Auto (3) +#endif + +#ifndef Logic_KM_Mode_RR_dbg_Logic_KM_Status_Defrost +#define Logic_KM_Mode_RR_dbg_Logic_KM_Status_Defrost (2) +#endif + +#ifndef Logic_KM_Mode_RR_dbg_Logic_KM_Status_Manual +#define Logic_KM_Mode_RR_dbg_Logic_KM_Status_Manual (1) +#endif + +#ifndef Logic_KM_Mode_RR_dbg_Logic_KM_Status_OFF +#define Logic_KM_Mode_RR_dbg_Logic_KM_Status_OFF (0) +#endif + + +// Value tables for @Logic_KM_Blower_FL signal + +#ifndef Logic_KM_Blower_FL_dbg_Logic_KM_Status_AC_Max +#define Logic_KM_Blower_FL_dbg_Logic_KM_Status_AC_Max (6) +#endif + +#ifndef Logic_KM_Blower_FL_dbg_Logic_KM_Status_Fire_Extinguis +#define Logic_KM_Blower_FL_dbg_Logic_KM_Status_Fire_Extinguis (5) +#endif + +#ifndef Logic_KM_Blower_FL_dbg_Logic_KM_Status_Rest_Mode +#define Logic_KM_Blower_FL_dbg_Logic_KM_Status_Rest_Mode (4) +#endif + +#ifndef Logic_KM_Blower_FL_dbg_Logic_KM_Status_Auto +#define Logic_KM_Blower_FL_dbg_Logic_KM_Status_Auto (3) +#endif + +#ifndef Logic_KM_Blower_FL_dbg_Logic_KM_Status_Defrost +#define Logic_KM_Blower_FL_dbg_Logic_KM_Status_Defrost (2) +#endif + +#ifndef Logic_KM_Blower_FL_dbg_Logic_KM_Status_Manual +#define Logic_KM_Blower_FL_dbg_Logic_KM_Status_Manual (1) +#endif + +#ifndef Logic_KM_Blower_FL_dbg_Logic_KM_Status_OFF +#define Logic_KM_Blower_FL_dbg_Logic_KM_Status_OFF (0) +#endif + + +// Value tables for @Logic_KM_Blower_FR signal + +#ifndef Logic_KM_Blower_FR_dbg_Logic_KM_Status_AC_Max +#define Logic_KM_Blower_FR_dbg_Logic_KM_Status_AC_Max (6) +#endif + +#ifndef Logic_KM_Blower_FR_dbg_Logic_KM_Status_Fire_Extinguis +#define Logic_KM_Blower_FR_dbg_Logic_KM_Status_Fire_Extinguis (5) +#endif + +#ifndef Logic_KM_Blower_FR_dbg_Logic_KM_Status_Rest_Mode +#define Logic_KM_Blower_FR_dbg_Logic_KM_Status_Rest_Mode (4) +#endif + +#ifndef Logic_KM_Blower_FR_dbg_Logic_KM_Status_Auto +#define Logic_KM_Blower_FR_dbg_Logic_KM_Status_Auto (3) +#endif + +#ifndef Logic_KM_Blower_FR_dbg_Logic_KM_Status_Defrost +#define Logic_KM_Blower_FR_dbg_Logic_KM_Status_Defrost (2) +#endif + +#ifndef Logic_KM_Blower_FR_dbg_Logic_KM_Status_Manual +#define Logic_KM_Blower_FR_dbg_Logic_KM_Status_Manual (1) +#endif + +#ifndef Logic_KM_Blower_FR_dbg_Logic_KM_Status_OFF +#define Logic_KM_Blower_FR_dbg_Logic_KM_Status_OFF (0) +#endif + + +// Value tables for @Logic_KM_Blower_RL signal + +#ifndef Logic_KM_Blower_RL_dbg_Logic_KM_Status_AC_Max +#define Logic_KM_Blower_RL_dbg_Logic_KM_Status_AC_Max (6) +#endif + +#ifndef Logic_KM_Blower_RL_dbg_Logic_KM_Status_Fire_Extinguis +#define Logic_KM_Blower_RL_dbg_Logic_KM_Status_Fire_Extinguis (5) +#endif + +#ifndef Logic_KM_Blower_RL_dbg_Logic_KM_Status_Rest_Mode +#define Logic_KM_Blower_RL_dbg_Logic_KM_Status_Rest_Mode (4) +#endif + +#ifndef Logic_KM_Blower_RL_dbg_Logic_KM_Status_Auto +#define Logic_KM_Blower_RL_dbg_Logic_KM_Status_Auto (3) +#endif + +#ifndef Logic_KM_Blower_RL_dbg_Logic_KM_Status_Defrost +#define Logic_KM_Blower_RL_dbg_Logic_KM_Status_Defrost (2) +#endif + +#ifndef Logic_KM_Blower_RL_dbg_Logic_KM_Status_Manual +#define Logic_KM_Blower_RL_dbg_Logic_KM_Status_Manual (1) +#endif + +#ifndef Logic_KM_Blower_RL_dbg_Logic_KM_Status_OFF +#define Logic_KM_Blower_RL_dbg_Logic_KM_Status_OFF (0) +#endif + + +// Value tables for @Logic_KM_Blower_RR signal + +#ifndef Logic_KM_Blower_RR_dbg_Logic_KM_Status_AC_Max +#define Logic_KM_Blower_RR_dbg_Logic_KM_Status_AC_Max (6) +#endif + +#ifndef Logic_KM_Blower_RR_dbg_Logic_KM_Status_Fire_Extinguis +#define Logic_KM_Blower_RR_dbg_Logic_KM_Status_Fire_Extinguis (5) +#endif + +#ifndef Logic_KM_Blower_RR_dbg_Logic_KM_Status_Rest_Mode +#define Logic_KM_Blower_RR_dbg_Logic_KM_Status_Rest_Mode (4) +#endif + +#ifndef Logic_KM_Blower_RR_dbg_Logic_KM_Status_Auto +#define Logic_KM_Blower_RR_dbg_Logic_KM_Status_Auto (3) +#endif + +#ifndef Logic_KM_Blower_RR_dbg_Logic_KM_Status_Defrost +#define Logic_KM_Blower_RR_dbg_Logic_KM_Status_Defrost (2) +#endif + +#ifndef Logic_KM_Blower_RR_dbg_Logic_KM_Status_Manual +#define Logic_KM_Blower_RR_dbg_Logic_KM_Status_Manual (1) +#endif + +#ifndef Logic_KM_Blower_RR_dbg_Logic_KM_Status_OFF +#define Logic_KM_Blower_RR_dbg_Logic_KM_Status_OFF (0) +#endif + + +typedef struct +{ +#ifdef CANDB_DBG_USE_BITS_SIGNAL + + // 6 : "AC_Max" + // 5 : "Fire_Extinguis" + // 4 : "Rest_Mode" + // 3 : "Auto" + // 2 : "Defrost" + // 1 : "Manual" + // 0 : "OFF" + uint8_t Logic_KM_Mode_FL : 4; // Bits= 4 + + // 6 : "AC_Max" + // 5 : "Fire_Extinguis" + // 4 : "Rest_Mode" + // 3 : "Auto" + // 2 : "Defrost" + // 1 : "Manual" + // 0 : "OFF" + uint8_t Logic_KM_Mode_FR : 4; // Bits= 4 + + // 6 : "AC_Max" + // 5 : "Fire_Extinguis" + // 4 : "Rest_Mode" + // 3 : "Auto" + // 2 : "Defrost" + // 1 : "Manual" + // 0 : "OFF" + uint8_t Logic_KM_Mode_RL : 4; // Bits= 4 + + // 6 : "AC_Max" + // 5 : "Fire_Extinguis" + // 4 : "Rest_Mode" + // 3 : "Auto" + // 2 : "Defrost" + // 1 : "Manual" + // 0 : "OFF" + uint8_t Logic_KM_Mode_RR : 4; // Bits= 4 + + // 6 : "AC_Max" + // 5 : "Fire_Extinguis" + // 4 : "Rest_Mode" + // 3 : "Auto" + // 2 : "Defrost" + // 1 : "Manual" + // 0 : "OFF" + uint8_t Logic_KM_Blower_FL : 4; // Bits= 4 + + // 6 : "AC_Max" + // 5 : "Fire_Extinguis" + // 4 : "Rest_Mode" + // 3 : "Auto" + // 2 : "Defrost" + // 1 : "Manual" + // 0 : "OFF" + uint8_t Logic_KM_Blower_FR : 4; // Bits= 4 + + // 6 : "AC_Max" + // 5 : "Fire_Extinguis" + // 4 : "Rest_Mode" + // 3 : "Auto" + // 2 : "Defrost" + // 1 : "Manual" + // 0 : "OFF" + uint8_t Logic_KM_Blower_RL : 4; // Bits= 4 + + // 6 : "AC_Max" + // 5 : "Fire_Extinguis" + // 4 : "Rest_Mode" + // 3 : "Auto" + // 2 : "Defrost" + // 1 : "Manual" + // 0 : "OFF" + uint8_t Logic_KM_Blower_RR : 4; // Bits= 4 + +#else + + // 6 : "AC_Max" + // 5 : "Fire_Extinguis" + // 4 : "Rest_Mode" + // 3 : "Auto" + // 2 : "Defrost" + // 1 : "Manual" + // 0 : "OFF" + uint8_t Logic_KM_Mode_FL; // Bits= 4 + + // 6 : "AC_Max" + // 5 : "Fire_Extinguis" + // 4 : "Rest_Mode" + // 3 : "Auto" + // 2 : "Defrost" + // 1 : "Manual" + // 0 : "OFF" + uint8_t Logic_KM_Mode_FR; // Bits= 4 + + // 6 : "AC_Max" + // 5 : "Fire_Extinguis" + // 4 : "Rest_Mode" + // 3 : "Auto" + // 2 : "Defrost" + // 1 : "Manual" + // 0 : "OFF" + uint8_t Logic_KM_Mode_RL; // Bits= 4 + + // 6 : "AC_Max" + // 5 : "Fire_Extinguis" + // 4 : "Rest_Mode" + // 3 : "Auto" + // 2 : "Defrost" + // 1 : "Manual" + // 0 : "OFF" + uint8_t Logic_KM_Mode_RR; // Bits= 4 + + // 6 : "AC_Max" + // 5 : "Fire_Extinguis" + // 4 : "Rest_Mode" + // 3 : "Auto" + // 2 : "Defrost" + // 1 : "Manual" + // 0 : "OFF" + uint8_t Logic_KM_Blower_FL; // Bits= 4 + + // 6 : "AC_Max" + // 5 : "Fire_Extinguis" + // 4 : "Rest_Mode" + // 3 : "Auto" + // 2 : "Defrost" + // 1 : "Manual" + // 0 : "OFF" + uint8_t Logic_KM_Blower_FR; // Bits= 4 + + // 6 : "AC_Max" + // 5 : "Fire_Extinguis" + // 4 : "Rest_Mode" + // 3 : "Auto" + // 2 : "Defrost" + // 1 : "Manual" + // 0 : "OFF" + uint8_t Logic_KM_Blower_RL; // Bits= 4 + + // 6 : "AC_Max" + // 5 : "Fire_Extinguis" + // 4 : "Rest_Mode" + // 3 : "Auto" + // 2 : "Defrost" + // 1 : "Manual" + // 0 : "OFF" + uint8_t Logic_KM_Blower_RR; // Bits= 4 + +#endif // CANDB_DBG_USE_BITS_SIGNAL + +#ifdef CANDB_DBG_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_DBG_USE_DIAG_MONITORS + +} dbg_Logic_KM_Status_t; + +// def @dbg_Logic_Valve CAN Message (994 0x3e2) +#define dbg_Logic_Valve_IDE (0U) +#define dbg_Logic_Valve_DLC (6U) +#define dbg_Logic_Valve_CANID (0x3e2U) + +// Value tables for @Logic_Valve_Index_FL signal + +#ifndef Logic_Valve_Index_FL_dbg_Logic_Valve__Re_Bi2Valve_manual +#define Logic_Valve_Index_FL_dbg_Logic_Valve__Re_Bi2Valve_manual (200) +#endif + +#ifndef Logic_Valve_Index_FL_dbg_Logic_Valve__Re_Vent_manual +#define Logic_Valve_Index_FL_dbg_Logic_Valve__Re_Vent_manual (190) +#endif + +#ifndef Logic_Valve_Index_FL_dbg_Logic_Valve__Re_Bi2Valve_3 +#define Logic_Valve_Index_FL_dbg_Logic_Valve__Re_Bi2Valve_3 (180) +#endif + +#ifndef Logic_Valve_Index_FL_dbg_Logic_Valve__Re_Vent_3 +#define Logic_Valve_Index_FL_dbg_Logic_Valve__Re_Vent_3 (170) +#endif + +#ifndef Logic_Valve_Index_FL_dbg_Logic_Valve__Re_Bi2Valve_2 +#define Logic_Valve_Index_FL_dbg_Logic_Valve__Re_Bi2Valve_2 (160) +#endif + +#ifndef Logic_Valve_Index_FL_dbg_Logic_Valve__Re_Vent_2 +#define Logic_Valve_Index_FL_dbg_Logic_Valve__Re_Vent_2 (150) +#endif + +#ifndef Logic_Valve_Index_FL_dbg_Logic_Valve__Re_Fo2Valve +#define Logic_Valve_Index_FL_dbg_Logic_Valve__Re_Fo2Valve (140) +#endif + +#ifndef Logic_Valve_Index_FL_dbg_Logic_Valve__Re_Bi2Valve +#define Logic_Valve_Index_FL_dbg_Logic_Valve__Re_Bi2Valve (130) +#endif + +#ifndef Logic_Valve_Index_FL_dbg_Logic_Valve__Re_Vent +#define Logic_Valve_Index_FL_dbg_Logic_Valve__Re_Vent (120) +#endif + +#ifndef Logic_Valve_Index_FL_dbg_Logic_Valve__Fr_BiValve_manual +#define Logic_Valve_Index_FL_dbg_Logic_Valve__Fr_BiValve_manual (110) +#endif + +#ifndef Logic_Valve_Index_FL_dbg_Logic_Valve__Fr_Hi2Valve +#define Logic_Valve_Index_FL_dbg_Logic_Valve__Fr_Hi2Valve (100) +#endif + +#ifndef Logic_Valve_Index_FL_dbg_Logic_Valve__Fr_Tr2Valve +#define Logic_Valve_Index_FL_dbg_Logic_Valve__Fr_Tr2Valve (90) +#endif + +#ifndef Logic_Valve_Index_FL_dbg_Logic_Valve__Fr_De2Valve +#define Logic_Valve_Index_FL_dbg_Logic_Valve__Fr_De2Valve (80) +#endif + +#ifndef Logic_Valve_Index_FL_dbg_Logic_Valve__Fr_Fd2Valve +#define Logic_Valve_Index_FL_dbg_Logic_Valve__Fr_Fd2Valve (70) +#endif + +#ifndef Logic_Valve_Index_FL_dbg_Logic_Valve__Fr_Fo2Valve +#define Logic_Valve_Index_FL_dbg_Logic_Valve__Fr_Fo2Valve (60) +#endif + +#ifndef Logic_Valve_Index_FL_dbg_Logic_Valve__Fr_AF2Valve_Summer +#define Logic_Valve_Index_FL_dbg_Logic_Valve__Fr_AF2Valve_Summer (50) +#endif + +#ifndef Logic_Valve_Index_FL_dbg_Logic_Valve__Fr_AF2Valve +#define Logic_Valve_Index_FL_dbg_Logic_Valve__Fr_AF2Valve (40) +#endif + +#ifndef Logic_Valve_Index_FL_dbg_Logic_Valve__Fr_Bi2Valve +#define Logic_Valve_Index_FL_dbg_Logic_Valve__Fr_Bi2Valve (30) +#endif + +#ifndef Logic_Valve_Index_FL_dbg_Logic_Valve__Fr_BiValve +#define Logic_Valve_Index_FL_dbg_Logic_Valve__Fr_BiValve (20) +#endif + +#ifndef Logic_Valve_Index_FL_dbg_Logic_Valve__Fr_Ve2Valve +#define Logic_Valve_Index_FL_dbg_Logic_Valve__Fr_Ve2Valve (10) +#endif + + +// Value tables for @Logic_Valve_Index_FR signal + +#ifndef Logic_Valve_Index_FR_dbg_Logic_Valve__Re_Bi2Valve_manual +#define Logic_Valve_Index_FR_dbg_Logic_Valve__Re_Bi2Valve_manual (200) +#endif + +#ifndef Logic_Valve_Index_FR_dbg_Logic_Valve__Re_Vent_manual +#define Logic_Valve_Index_FR_dbg_Logic_Valve__Re_Vent_manual (190) +#endif + +#ifndef Logic_Valve_Index_FR_dbg_Logic_Valve__Re_Bi2Valve_3 +#define Logic_Valve_Index_FR_dbg_Logic_Valve__Re_Bi2Valve_3 (180) +#endif + +#ifndef Logic_Valve_Index_FR_dbg_Logic_Valve__Re_Vent_3 +#define Logic_Valve_Index_FR_dbg_Logic_Valve__Re_Vent_3 (170) +#endif + +#ifndef Logic_Valve_Index_FR_dbg_Logic_Valve__Re_Bi2Valve_2 +#define Logic_Valve_Index_FR_dbg_Logic_Valve__Re_Bi2Valve_2 (160) +#endif + +#ifndef Logic_Valve_Index_FR_dbg_Logic_Valve__Re_Vent_2 +#define Logic_Valve_Index_FR_dbg_Logic_Valve__Re_Vent_2 (150) +#endif + +#ifndef Logic_Valve_Index_FR_dbg_Logic_Valve__Re_Fo2Valve +#define Logic_Valve_Index_FR_dbg_Logic_Valve__Re_Fo2Valve (140) +#endif + +#ifndef Logic_Valve_Index_FR_dbg_Logic_Valve__Re_Bi2Valve +#define Logic_Valve_Index_FR_dbg_Logic_Valve__Re_Bi2Valve (130) +#endif + +#ifndef Logic_Valve_Index_FR_dbg_Logic_Valve__Re_Vent +#define Logic_Valve_Index_FR_dbg_Logic_Valve__Re_Vent (120) +#endif + +#ifndef Logic_Valve_Index_FR_dbg_Logic_Valve__Fr_BiValve_manual +#define Logic_Valve_Index_FR_dbg_Logic_Valve__Fr_BiValve_manual (110) +#endif + +#ifndef Logic_Valve_Index_FR_dbg_Logic_Valve__Fr_Hi2Valve +#define Logic_Valve_Index_FR_dbg_Logic_Valve__Fr_Hi2Valve (100) +#endif + +#ifndef Logic_Valve_Index_FR_dbg_Logic_Valve__Fr_Tr2Valve +#define Logic_Valve_Index_FR_dbg_Logic_Valve__Fr_Tr2Valve (90) +#endif + +#ifndef Logic_Valve_Index_FR_dbg_Logic_Valve__Fr_De2Valve +#define Logic_Valve_Index_FR_dbg_Logic_Valve__Fr_De2Valve (80) +#endif + +#ifndef Logic_Valve_Index_FR_dbg_Logic_Valve__Fr_Fd2Valve +#define Logic_Valve_Index_FR_dbg_Logic_Valve__Fr_Fd2Valve (70) +#endif + +#ifndef Logic_Valve_Index_FR_dbg_Logic_Valve__Fr_Fo2Valve +#define Logic_Valve_Index_FR_dbg_Logic_Valve__Fr_Fo2Valve (60) +#endif + +#ifndef Logic_Valve_Index_FR_dbg_Logic_Valve__Fr_AF2Valve_Summer +#define Logic_Valve_Index_FR_dbg_Logic_Valve__Fr_AF2Valve_Summer (50) +#endif + +#ifndef Logic_Valve_Index_FR_dbg_Logic_Valve__Fr_AF2Valve +#define Logic_Valve_Index_FR_dbg_Logic_Valve__Fr_AF2Valve (40) +#endif + +#ifndef Logic_Valve_Index_FR_dbg_Logic_Valve__Fr_Bi2Valve +#define Logic_Valve_Index_FR_dbg_Logic_Valve__Fr_Bi2Valve (30) +#endif + +#ifndef Logic_Valve_Index_FR_dbg_Logic_Valve__Fr_BiValve +#define Logic_Valve_Index_FR_dbg_Logic_Valve__Fr_BiValve (20) +#endif + +#ifndef Logic_Valve_Index_FR_dbg_Logic_Valve__Fr_Ve2Valve +#define Logic_Valve_Index_FR_dbg_Logic_Valve__Fr_Ve2Valve (10) +#endif + + +// Value tables for @Logic_Valve_Index_RL signal + +#ifndef Logic_Valve_Index_RL_dbg_Logic_Valve__Re_Bi2Valve_manual +#define Logic_Valve_Index_RL_dbg_Logic_Valve__Re_Bi2Valve_manual (200) +#endif + +#ifndef Logic_Valve_Index_RL_dbg_Logic_Valve__Re_Vent_manual +#define Logic_Valve_Index_RL_dbg_Logic_Valve__Re_Vent_manual (190) +#endif + +#ifndef Logic_Valve_Index_RL_dbg_Logic_Valve__Re_Bi2Valve_3 +#define Logic_Valve_Index_RL_dbg_Logic_Valve__Re_Bi2Valve_3 (180) +#endif + +#ifndef Logic_Valve_Index_RL_dbg_Logic_Valve__Re_Vent_3 +#define Logic_Valve_Index_RL_dbg_Logic_Valve__Re_Vent_3 (170) +#endif + +#ifndef Logic_Valve_Index_RL_dbg_Logic_Valve__Re_Bi2Valve_2 +#define Logic_Valve_Index_RL_dbg_Logic_Valve__Re_Bi2Valve_2 (160) +#endif + +#ifndef Logic_Valve_Index_RL_dbg_Logic_Valve__Re_Vent_2 +#define Logic_Valve_Index_RL_dbg_Logic_Valve__Re_Vent_2 (150) +#endif + +#ifndef Logic_Valve_Index_RL_dbg_Logic_Valve__Re_Fo2Valve +#define Logic_Valve_Index_RL_dbg_Logic_Valve__Re_Fo2Valve (140) +#endif + +#ifndef Logic_Valve_Index_RL_dbg_Logic_Valve__Re_Bi2Valve +#define Logic_Valve_Index_RL_dbg_Logic_Valve__Re_Bi2Valve (130) +#endif + +#ifndef Logic_Valve_Index_RL_dbg_Logic_Valve__Re_Vent +#define Logic_Valve_Index_RL_dbg_Logic_Valve__Re_Vent (120) +#endif + +#ifndef Logic_Valve_Index_RL_dbg_Logic_Valve__Fr_BiValve_manual +#define Logic_Valve_Index_RL_dbg_Logic_Valve__Fr_BiValve_manual (110) +#endif + +#ifndef Logic_Valve_Index_RL_dbg_Logic_Valve__Fr_Hi2Valve +#define Logic_Valve_Index_RL_dbg_Logic_Valve__Fr_Hi2Valve (100) +#endif + +#ifndef Logic_Valve_Index_RL_dbg_Logic_Valve__Fr_Tr2Valve +#define Logic_Valve_Index_RL_dbg_Logic_Valve__Fr_Tr2Valve (90) +#endif + +#ifndef Logic_Valve_Index_RL_dbg_Logic_Valve__Fr_De2Valve +#define Logic_Valve_Index_RL_dbg_Logic_Valve__Fr_De2Valve (80) +#endif + +#ifndef Logic_Valve_Index_RL_dbg_Logic_Valve__Fr_Fd2Valve +#define Logic_Valve_Index_RL_dbg_Logic_Valve__Fr_Fd2Valve (70) +#endif + +#ifndef Logic_Valve_Index_RL_dbg_Logic_Valve__Fr_Fo2Valve +#define Logic_Valve_Index_RL_dbg_Logic_Valve__Fr_Fo2Valve (60) +#endif + +#ifndef Logic_Valve_Index_RL_dbg_Logic_Valve__Fr_AF2Valve_Summer +#define Logic_Valve_Index_RL_dbg_Logic_Valve__Fr_AF2Valve_Summer (50) +#endif + +#ifndef Logic_Valve_Index_RL_dbg_Logic_Valve__Fr_AF2Valve +#define Logic_Valve_Index_RL_dbg_Logic_Valve__Fr_AF2Valve (40) +#endif + +#ifndef Logic_Valve_Index_RL_dbg_Logic_Valve__Fr_Bi2Valve +#define Logic_Valve_Index_RL_dbg_Logic_Valve__Fr_Bi2Valve (30) +#endif + +#ifndef Logic_Valve_Index_RL_dbg_Logic_Valve__Fr_BiValve +#define Logic_Valve_Index_RL_dbg_Logic_Valve__Fr_BiValve (20) +#endif + +#ifndef Logic_Valve_Index_RL_dbg_Logic_Valve__Fr_Ve2Valve +#define Logic_Valve_Index_RL_dbg_Logic_Valve__Fr_Ve2Valve (10) +#endif + + +// Value tables for @Logic_Valve_Index_RR signal + +#ifndef Logic_Valve_Index_RR_dbg_Logic_Valve__Re_Bi2Valve_manual +#define Logic_Valve_Index_RR_dbg_Logic_Valve__Re_Bi2Valve_manual (200) +#endif + +#ifndef Logic_Valve_Index_RR_dbg_Logic_Valve__Re_Vent_manual +#define Logic_Valve_Index_RR_dbg_Logic_Valve__Re_Vent_manual (190) +#endif + +#ifndef Logic_Valve_Index_RR_dbg_Logic_Valve__Re_Bi2Valve_3 +#define Logic_Valve_Index_RR_dbg_Logic_Valve__Re_Bi2Valve_3 (180) +#endif + +#ifndef Logic_Valve_Index_RR_dbg_Logic_Valve__Re_Vent_3 +#define Logic_Valve_Index_RR_dbg_Logic_Valve__Re_Vent_3 (170) +#endif + +#ifndef Logic_Valve_Index_RR_dbg_Logic_Valve__Re_Bi2Valve_2 +#define Logic_Valve_Index_RR_dbg_Logic_Valve__Re_Bi2Valve_2 (160) +#endif + +#ifndef Logic_Valve_Index_RR_dbg_Logic_Valve__Re_Vent_2 +#define Logic_Valve_Index_RR_dbg_Logic_Valve__Re_Vent_2 (150) +#endif + +#ifndef Logic_Valve_Index_RR_dbg_Logic_Valve__Re_Fo2Valve +#define Logic_Valve_Index_RR_dbg_Logic_Valve__Re_Fo2Valve (140) +#endif + +#ifndef Logic_Valve_Index_RR_dbg_Logic_Valve__Re_Bi2Valve +#define Logic_Valve_Index_RR_dbg_Logic_Valve__Re_Bi2Valve (130) +#endif + +#ifndef Logic_Valve_Index_RR_dbg_Logic_Valve__Re_Vent +#define Logic_Valve_Index_RR_dbg_Logic_Valve__Re_Vent (120) +#endif + +#ifndef Logic_Valve_Index_RR_dbg_Logic_Valve__Fr_BiValve_manual +#define Logic_Valve_Index_RR_dbg_Logic_Valve__Fr_BiValve_manual (110) +#endif + +#ifndef Logic_Valve_Index_RR_dbg_Logic_Valve__Fr_Hi2Valve +#define Logic_Valve_Index_RR_dbg_Logic_Valve__Fr_Hi2Valve (100) +#endif + +#ifndef Logic_Valve_Index_RR_dbg_Logic_Valve__Fr_Tr2Valve +#define Logic_Valve_Index_RR_dbg_Logic_Valve__Fr_Tr2Valve (90) +#endif + +#ifndef Logic_Valve_Index_RR_dbg_Logic_Valve__Fr_De2Valve +#define Logic_Valve_Index_RR_dbg_Logic_Valve__Fr_De2Valve (80) +#endif + +#ifndef Logic_Valve_Index_RR_dbg_Logic_Valve__Fr_Fd2Valve +#define Logic_Valve_Index_RR_dbg_Logic_Valve__Fr_Fd2Valve (70) +#endif + +#ifndef Logic_Valve_Index_RR_dbg_Logic_Valve__Fr_Fo2Valve +#define Logic_Valve_Index_RR_dbg_Logic_Valve__Fr_Fo2Valve (60) +#endif + +#ifndef Logic_Valve_Index_RR_dbg_Logic_Valve__Fr_AF2Valve_Summer +#define Logic_Valve_Index_RR_dbg_Logic_Valve__Fr_AF2Valve_Summer (50) +#endif + +#ifndef Logic_Valve_Index_RR_dbg_Logic_Valve__Fr_AF2Valve +#define Logic_Valve_Index_RR_dbg_Logic_Valve__Fr_AF2Valve (40) +#endif + +#ifndef Logic_Valve_Index_RR_dbg_Logic_Valve__Fr_Bi2Valve +#define Logic_Valve_Index_RR_dbg_Logic_Valve__Fr_Bi2Valve (30) +#endif + +#ifndef Logic_Valve_Index_RR_dbg_Logic_Valve__Fr_BiValve +#define Logic_Valve_Index_RR_dbg_Logic_Valve__Fr_BiValve (20) +#endif + +#ifndef Logic_Valve_Index_RR_dbg_Logic_Valve__Fr_Ve2Valve +#define Logic_Valve_Index_RR_dbg_Logic_Valve__Fr_Ve2Valve (10) +#endif + + +// Value tables for @Logic_Valve_Direction_FL signal + +#ifndef Logic_Valve_Direction_FL_dbg_Logic_Valve_TriLevel__GlassVentFoot +#define Logic_Valve_Direction_FL_dbg_Logic_Valve_TriLevel__GlassVentFoot (6) +#endif + +#ifndef Logic_Valve_Direction_FL_dbg_Logic_Valve_HiLevel__GlassVent +#define Logic_Valve_Direction_FL_dbg_Logic_Valve_HiLevel__GlassVent (5) +#endif + +#ifndef Logic_Valve_Direction_FL_dbg_Logic_Valve_Def__Glass +#define Logic_Valve_Direction_FL_dbg_Logic_Valve_Def__Glass (4) +#endif + +#ifndef Logic_Valve_Direction_FL_dbg_Logic_Valve_FDef__GlassFoot +#define Logic_Valve_Direction_FL_dbg_Logic_Valve_FDef__GlassFoot (3) +#endif + +#ifndef Logic_Valve_Direction_FL_dbg_Logic_Valve_Foot__Floor +#define Logic_Valve_Direction_FL_dbg_Logic_Valve_Foot__Floor (2) +#endif + +#ifndef Logic_Valve_Direction_FL_dbg_Logic_Valve_BiLevel +#define Logic_Valve_Direction_FL_dbg_Logic_Valve_BiLevel (1) +#endif + +#ifndef Logic_Valve_Direction_FL_dbg_Logic_Valve_Face__Vent +#define Logic_Valve_Direction_FL_dbg_Logic_Valve_Face__Vent (0) +#endif + + +// Value tables for @Logic_Valve_Direction_FR signal + +#ifndef Logic_Valve_Direction_FR_dbg_Logic_Valve_TriLevel__GlassVentFoot +#define Logic_Valve_Direction_FR_dbg_Logic_Valve_TriLevel__GlassVentFoot (6) +#endif + +#ifndef Logic_Valve_Direction_FR_dbg_Logic_Valve_HiLevel__GlassVent +#define Logic_Valve_Direction_FR_dbg_Logic_Valve_HiLevel__GlassVent (5) +#endif + +#ifndef Logic_Valve_Direction_FR_dbg_Logic_Valve_Def__Glass +#define Logic_Valve_Direction_FR_dbg_Logic_Valve_Def__Glass (4) +#endif + +#ifndef Logic_Valve_Direction_FR_dbg_Logic_Valve_FDef__GlassFoot +#define Logic_Valve_Direction_FR_dbg_Logic_Valve_FDef__GlassFoot (3) +#endif + +#ifndef Logic_Valve_Direction_FR_dbg_Logic_Valve_Foot__Floor +#define Logic_Valve_Direction_FR_dbg_Logic_Valve_Foot__Floor (2) +#endif + +#ifndef Logic_Valve_Direction_FR_dbg_Logic_Valve_BiLevel +#define Logic_Valve_Direction_FR_dbg_Logic_Valve_BiLevel (1) +#endif + +#ifndef Logic_Valve_Direction_FR_dbg_Logic_Valve_Face__Vent +#define Logic_Valve_Direction_FR_dbg_Logic_Valve_Face__Vent (0) +#endif + + +// Value tables for @Logic_Valve_Direction_RL signal + +#ifndef Logic_Valve_Direction_RL_dbg_Logic_Valve_TriLevel__GlassVentFoot +#define Logic_Valve_Direction_RL_dbg_Logic_Valve_TriLevel__GlassVentFoot (6) +#endif + +#ifndef Logic_Valve_Direction_RL_dbg_Logic_Valve_HiLevel__GlassVent +#define Logic_Valve_Direction_RL_dbg_Logic_Valve_HiLevel__GlassVent (5) +#endif + +#ifndef Logic_Valve_Direction_RL_dbg_Logic_Valve_Def__Glass +#define Logic_Valve_Direction_RL_dbg_Logic_Valve_Def__Glass (4) +#endif + +#ifndef Logic_Valve_Direction_RL_dbg_Logic_Valve_FDef__GlassFoot +#define Logic_Valve_Direction_RL_dbg_Logic_Valve_FDef__GlassFoot (3) +#endif + +#ifndef Logic_Valve_Direction_RL_dbg_Logic_Valve_Foot__Floor +#define Logic_Valve_Direction_RL_dbg_Logic_Valve_Foot__Floor (2) +#endif + +#ifndef Logic_Valve_Direction_RL_dbg_Logic_Valve_BiLevel +#define Logic_Valve_Direction_RL_dbg_Logic_Valve_BiLevel (1) +#endif + +#ifndef Logic_Valve_Direction_RL_dbg_Logic_Valve_Face__Vent +#define Logic_Valve_Direction_RL_dbg_Logic_Valve_Face__Vent (0) +#endif + + +// Value tables for @Logic_Valve_Direction_RR signal + +#ifndef Logic_Valve_Direction_RR_dbg_Logic_Valve_TriLevel__GlassVentFoot +#define Logic_Valve_Direction_RR_dbg_Logic_Valve_TriLevel__GlassVentFoot (6) +#endif + +#ifndef Logic_Valve_Direction_RR_dbg_Logic_Valve_HiLevel__GlassVent +#define Logic_Valve_Direction_RR_dbg_Logic_Valve_HiLevel__GlassVent (5) +#endif + +#ifndef Logic_Valve_Direction_RR_dbg_Logic_Valve_Def__Glass +#define Logic_Valve_Direction_RR_dbg_Logic_Valve_Def__Glass (4) +#endif + +#ifndef Logic_Valve_Direction_RR_dbg_Logic_Valve_FDef__GlassFoot +#define Logic_Valve_Direction_RR_dbg_Logic_Valve_FDef__GlassFoot (3) +#endif + +#ifndef Logic_Valve_Direction_RR_dbg_Logic_Valve_Foot__Floor +#define Logic_Valve_Direction_RR_dbg_Logic_Valve_Foot__Floor (2) +#endif + +#ifndef Logic_Valve_Direction_RR_dbg_Logic_Valve_BiLevel +#define Logic_Valve_Direction_RR_dbg_Logic_Valve_BiLevel (1) +#endif + +#ifndef Logic_Valve_Direction_RR_dbg_Logic_Valve_Face__Vent +#define Logic_Valve_Direction_RR_dbg_Logic_Valve_Face__Vent (0) +#endif + + +typedef struct +{ +#ifdef CANDB_DBG_USE_BITS_SIGNAL + + // 200 : "200_Re_Bi2Valve manual" + // 190 : "190_Re_Vent manual" + // 180 : "180_Re_Bi2Valve_3" + // 170 : "170_Re_Vent_3" + // 160 : "160_Re_Bi2Valve_2" + // 150 : "150_Re_Vent_2" + // 140 : "140_Re_Fo2Valve" + // 130 : "130_Re_Bi2Valve" + // 120 : "120_Re_Vent" + // 110 : "110_Fr_BiValve manual" + // 100 : "100_Fr_Hi2Valve" + // 90 : "090_Fr_Tr2Valve" + // 80 : "080_Fr_De2Valve" + // 70 : "070_Fr_Fd2Valve" + // 60 : "060_Fr_Fo2Valve" + // 50 : "050_Fr_AF2Valve_Summer" + // 40 : "040_Fr_AF2Valve" + // 30 : "030_Fr_Bi2Valve" + // 20 : "020_Fr_BiValve" + // 10 : "010_Fr_Ve2Valve" + uint8_t Logic_Valve_Index_FL; // Bits= 8 + + // 200 : "200_Re_Bi2Valve manual" + // 190 : "190_Re_Vent manual" + // 180 : "180_Re_Bi2Valve_3" + // 170 : "170_Re_Vent_3" + // 160 : "160_Re_Bi2Valve_2" + // 150 : "150_Re_Vent_2" + // 140 : "140_Re_Fo2Valve" + // 130 : "130_Re_Bi2Valve" + // 120 : "120_Re_Vent" + // 110 : "110_Fr_BiValve manual" + // 100 : "100_Fr_Hi2Valve" + // 90 : "090_Fr_Tr2Valve" + // 80 : "080_Fr_De2Valve" + // 70 : "070_Fr_Fd2Valve" + // 60 : "060_Fr_Fo2Valve" + // 50 : "050_Fr_AF2Valve_Summer" + // 40 : "040_Fr_AF2Valve" + // 30 : "030_Fr_Bi2Valve" + // 20 : "020_Fr_BiValve" + // 10 : "010_Fr_Ve2Valve" + uint8_t Logic_Valve_Index_FR; // Bits= 8 + + // 200 : "200_Re_Bi2Valve manual" + // 190 : "190_Re_Vent manual" + // 180 : "180_Re_Bi2Valve_3" + // 170 : "170_Re_Vent_3" + // 160 : "160_Re_Bi2Valve_2" + // 150 : "150_Re_Vent_2" + // 140 : "140_Re_Fo2Valve" + // 130 : "130_Re_Bi2Valve" + // 120 : "120_Re_Vent" + // 110 : "110_Fr_BiValve manual" + // 100 : "100_Fr_Hi2Valve" + // 90 : "090_Fr_Tr2Valve" + // 80 : "080_Fr_De2Valve" + // 70 : "070_Fr_Fd2Valve" + // 60 : "060_Fr_Fo2Valve" + // 50 : "050_Fr_AF2Valve_Summer" + // 40 : "040_Fr_AF2Valve" + // 30 : "030_Fr_Bi2Valve" + // 20 : "020_Fr_BiValve" + // 10 : "010_Fr_Ve2Valve" + uint8_t Logic_Valve_Index_RL; // Bits= 8 + + // 200 : "200_Re_Bi2Valve manual" + // 190 : "190_Re_Vent manual" + // 180 : "180_Re_Bi2Valve_3" + // 170 : "170_Re_Vent_3" + // 160 : "160_Re_Bi2Valve_2" + // 150 : "150_Re_Vent_2" + // 140 : "140_Re_Fo2Valve" + // 130 : "130_Re_Bi2Valve" + // 120 : "120_Re_Vent" + // 110 : "110_Fr_BiValve manual" + // 100 : "100_Fr_Hi2Valve" + // 90 : "090_Fr_Tr2Valve" + // 80 : "080_Fr_De2Valve" + // 70 : "070_Fr_Fd2Valve" + // 60 : "060_Fr_Fo2Valve" + // 50 : "050_Fr_AF2Valve_Summer" + // 40 : "040_Fr_AF2Valve" + // 30 : "030_Fr_Bi2Valve" + // 20 : "020_Fr_BiValve" + // 10 : "010_Fr_Ve2Valve" + uint8_t Logic_Valve_Index_RR; // Bits= 8 + + // 6 : "Tri-Level / Glass&Vent&Foot" + // 5 : "Hi-Level / Glass&Vent" + // 4 : "Def / Glass" + // 3 : "FDef / Glass&Foot" + // 2 : "Foot / Floor" + // 1 : "Bi-Level" + // 0 : "Face / Vent" + uint8_t Logic_Valve_Direction_FL : 4; // Bits= 4 Unit:'-' + + // 6 : "Tri-Level / Glass&Vent&Foot" + // 5 : "Hi-Level / Glass&Vent" + // 4 : "Def / Glass" + // 3 : "FDef / Glass&Foot" + // 2 : "Foot / Floor" + // 1 : "Bi-Level" + // 0 : "Face / Vent" + uint8_t Logic_Valve_Direction_FR : 4; // Bits= 4 Unit:'-' + + // 6 : "Tri-Level / Glass&Vent&Foot" + // 5 : "Hi-Level / Glass&Vent" + // 4 : "Def / Glass" + // 3 : "FDef / Glass&Foot" + // 2 : "Foot / Floor" + // 1 : "Bi-Level" + // 0 : "Face / Vent" + uint8_t Logic_Valve_Direction_RL : 4; // Bits= 4 Unit:'-' + + // 6 : "Tri-Level / Glass&Vent&Foot" + // 5 : "Hi-Level / Glass&Vent" + // 4 : "Def / Glass" + // 3 : "FDef / Glass&Foot" + // 2 : "Foot / Floor" + // 1 : "Bi-Level" + // 0 : "Face / Vent" + uint8_t Logic_Valve_Direction_RR : 4; // Bits= 4 Unit:'-' + +#else + + // 200 : "200_Re_Bi2Valve manual" + // 190 : "190_Re_Vent manual" + // 180 : "180_Re_Bi2Valve_3" + // 170 : "170_Re_Vent_3" + // 160 : "160_Re_Bi2Valve_2" + // 150 : "150_Re_Vent_2" + // 140 : "140_Re_Fo2Valve" + // 130 : "130_Re_Bi2Valve" + // 120 : "120_Re_Vent" + // 110 : "110_Fr_BiValve manual" + // 100 : "100_Fr_Hi2Valve" + // 90 : "090_Fr_Tr2Valve" + // 80 : "080_Fr_De2Valve" + // 70 : "070_Fr_Fd2Valve" + // 60 : "060_Fr_Fo2Valve" + // 50 : "050_Fr_AF2Valve_Summer" + // 40 : "040_Fr_AF2Valve" + // 30 : "030_Fr_Bi2Valve" + // 20 : "020_Fr_BiValve" + // 10 : "010_Fr_Ve2Valve" + uint8_t Logic_Valve_Index_FL; // Bits= 8 + + // 200 : "200_Re_Bi2Valve manual" + // 190 : "190_Re_Vent manual" + // 180 : "180_Re_Bi2Valve_3" + // 170 : "170_Re_Vent_3" + // 160 : "160_Re_Bi2Valve_2" + // 150 : "150_Re_Vent_2" + // 140 : "140_Re_Fo2Valve" + // 130 : "130_Re_Bi2Valve" + // 120 : "120_Re_Vent" + // 110 : "110_Fr_BiValve manual" + // 100 : "100_Fr_Hi2Valve" + // 90 : "090_Fr_Tr2Valve" + // 80 : "080_Fr_De2Valve" + // 70 : "070_Fr_Fd2Valve" + // 60 : "060_Fr_Fo2Valve" + // 50 : "050_Fr_AF2Valve_Summer" + // 40 : "040_Fr_AF2Valve" + // 30 : "030_Fr_Bi2Valve" + // 20 : "020_Fr_BiValve" + // 10 : "010_Fr_Ve2Valve" + uint8_t Logic_Valve_Index_FR; // Bits= 8 + + // 200 : "200_Re_Bi2Valve manual" + // 190 : "190_Re_Vent manual" + // 180 : "180_Re_Bi2Valve_3" + // 170 : "170_Re_Vent_3" + // 160 : "160_Re_Bi2Valve_2" + // 150 : "150_Re_Vent_2" + // 140 : "140_Re_Fo2Valve" + // 130 : "130_Re_Bi2Valve" + // 120 : "120_Re_Vent" + // 110 : "110_Fr_BiValve manual" + // 100 : "100_Fr_Hi2Valve" + // 90 : "090_Fr_Tr2Valve" + // 80 : "080_Fr_De2Valve" + // 70 : "070_Fr_Fd2Valve" + // 60 : "060_Fr_Fo2Valve" + // 50 : "050_Fr_AF2Valve_Summer" + // 40 : "040_Fr_AF2Valve" + // 30 : "030_Fr_Bi2Valve" + // 20 : "020_Fr_BiValve" + // 10 : "010_Fr_Ve2Valve" + uint8_t Logic_Valve_Index_RL; // Bits= 8 + + // 200 : "200_Re_Bi2Valve manual" + // 190 : "190_Re_Vent manual" + // 180 : "180_Re_Bi2Valve_3" + // 170 : "170_Re_Vent_3" + // 160 : "160_Re_Bi2Valve_2" + // 150 : "150_Re_Vent_2" + // 140 : "140_Re_Fo2Valve" + // 130 : "130_Re_Bi2Valve" + // 120 : "120_Re_Vent" + // 110 : "110_Fr_BiValve manual" + // 100 : "100_Fr_Hi2Valve" + // 90 : "090_Fr_Tr2Valve" + // 80 : "080_Fr_De2Valve" + // 70 : "070_Fr_Fd2Valve" + // 60 : "060_Fr_Fo2Valve" + // 50 : "050_Fr_AF2Valve_Summer" + // 40 : "040_Fr_AF2Valve" + // 30 : "030_Fr_Bi2Valve" + // 20 : "020_Fr_BiValve" + // 10 : "010_Fr_Ve2Valve" + uint8_t Logic_Valve_Index_RR; // Bits= 8 + + // 6 : "Tri-Level / Glass&Vent&Foot" + // 5 : "Hi-Level / Glass&Vent" + // 4 : "Def / Glass" + // 3 : "FDef / Glass&Foot" + // 2 : "Foot / Floor" + // 1 : "Bi-Level" + // 0 : "Face / Vent" + uint8_t Logic_Valve_Direction_FL; // Bits= 4 Unit:'-' + + // 6 : "Tri-Level / Glass&Vent&Foot" + // 5 : "Hi-Level / Glass&Vent" + // 4 : "Def / Glass" + // 3 : "FDef / Glass&Foot" + // 2 : "Foot / Floor" + // 1 : "Bi-Level" + // 0 : "Face / Vent" + uint8_t Logic_Valve_Direction_FR; // Bits= 4 Unit:'-' + + // 6 : "Tri-Level / Glass&Vent&Foot" + // 5 : "Hi-Level / Glass&Vent" + // 4 : "Def / Glass" + // 3 : "FDef / Glass&Foot" + // 2 : "Foot / Floor" + // 1 : "Bi-Level" + // 0 : "Face / Vent" + uint8_t Logic_Valve_Direction_RL; // Bits= 4 Unit:'-' + + // 6 : "Tri-Level / Glass&Vent&Foot" + // 5 : "Hi-Level / Glass&Vent" + // 4 : "Def / Glass" + // 3 : "FDef / Glass&Foot" + // 2 : "Foot / Floor" + // 1 : "Bi-Level" + // 0 : "Face / Vent" + uint8_t Logic_Valve_Direction_RR; // Bits= 4 Unit:'-' + +#endif // CANDB_DBG_USE_BITS_SIGNAL + +#ifdef CANDB_DBG_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_DBG_USE_DIAG_MONITORS + +} dbg_Logic_Valve_t; + +// def @dbg_Logic_Blower CAN Message (995 0x3e3) +#define dbg_Logic_Blower_IDE (0U) +#define dbg_Logic_Blower_DLC (8U) +#define dbg_Logic_Blower_CANID (0x3e3U) + +typedef struct +{ +#ifdef CANDB_DBG_USE_BITS_SIGNAL + + uint8_t Logic_Blower_Step_FL : 4; // Bits= 4 + + uint8_t Logic_Blower_Step_FR : 4; // Bits= 4 + + uint8_t Logic_Blower_Step_RL : 4; // Bits= 4 + + uint8_t Logic_Blower_Step_RR : 4; // Bits= 4 + + uint8_t Logic_Blower_Pwm_Front; // Bits= 8 Unit:'%' + + uint8_t Logic_Blower_Pwm_Rear; // Bits= 8 Unit:'%' + + uint8_t Logic_Blower_AF_FL; // Bits= 8 Unit:'AF' + + uint8_t Logic_Blower_AF_FR; // Bits= 8 Unit:'AF' + + uint8_t Logic_Blower_AF_RL; // Bits= 8 Unit:'AF' + + uint8_t Logic_Blower_AF_RR; // Bits= 8 Unit:'AF' + +#else + + uint8_t Logic_Blower_Step_FL; // Bits= 4 + + uint8_t Logic_Blower_Step_FR; // Bits= 4 + + uint8_t Logic_Blower_Step_RL; // Bits= 4 + + uint8_t Logic_Blower_Step_RR; // Bits= 4 + + uint8_t Logic_Blower_Pwm_Front; // Bits= 8 Unit:'%' + + uint8_t Logic_Blower_Pwm_Rear; // Bits= 8 Unit:'%' + + uint8_t Logic_Blower_AF_FL; // Bits= 8 Unit:'AF' + + uint8_t Logic_Blower_AF_FR; // Bits= 8 Unit:'AF' + + uint8_t Logic_Blower_AF_RL; // Bits= 8 Unit:'AF' + + uint8_t Logic_Blower_AF_RR; // Bits= 8 Unit:'AF' + +#endif // CANDB_DBG_USE_BITS_SIGNAL + +#ifdef CANDB_DBG_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_DBG_USE_DIAG_MONITORS + +} dbg_Logic_Blower_t; + +// def @dbg_Logic_Ac CAN Message (996 0x3e4) +#define dbg_Logic_Ac_IDE (0U) +#define dbg_Logic_Ac_DLC (4U) +#define dbg_Logic_Ac_CANID (0x3e4U) + +// Value tables for @Logic_Ac_Req_Front signal + +#ifndef Logic_Ac_Req_Front_dbg_Logic_Ac_On +#define Logic_Ac_Req_Front_dbg_Logic_Ac_On (1) +#endif + +#ifndef Logic_Ac_Req_Front_dbg_Logic_Ac_Off +#define Logic_Ac_Req_Front_dbg_Logic_Ac_Off (0) +#endif + + +// Value tables for @Logic_Ac_Txv_Front signal + +#ifndef Logic_Ac_Txv_Front_dbg_Logic_Ac_On +#define Logic_Ac_Txv_Front_dbg_Logic_Ac_On (1) +#endif + +#ifndef Logic_Ac_Txv_Front_dbg_Logic_Ac_Off +#define Logic_Ac_Txv_Front_dbg_Logic_Ac_Off (0) +#endif + + +// Value tables for @Logic_Ac_Txv_Rear signal + +#ifndef Logic_Ac_Txv_Rear_dbg_Logic_Ac_On +#define Logic_Ac_Txv_Rear_dbg_Logic_Ac_On (1) +#endif + +#ifndef Logic_Ac_Txv_Rear_dbg_Logic_Ac_Off +#define Logic_Ac_Txv_Rear_dbg_Logic_Ac_Off (0) +#endif + + +// Value tables for @Logic_Ac_Req_Rear signal + +#ifndef Logic_Ac_Req_Rear_dbg_Logic_Ac_On +#define Logic_Ac_Req_Rear_dbg_Logic_Ac_On (1) +#endif + +#ifndef Logic_Ac_Req_Rear_dbg_Logic_Ac_Off +#define Logic_Ac_Req_Rear_dbg_Logic_Ac_Off (0) +#endif + + +// Value tables for @Logic_Ac_Req_Chiller signal + +#ifndef Logic_Ac_Req_Chiller_dbg_Logic_Ac_On +#define Logic_Ac_Req_Chiller_dbg_Logic_Ac_On (1) +#endif + +#ifndef Logic_Ac_Req_Chiller_dbg_Logic_Ac_Off +#define Logic_Ac_Req_Chiller_dbg_Logic_Ac_Off (0) +#endif + + +// Value tables for @Logic_Ac_Txv_Chiller signal + +#ifndef Logic_Ac_Txv_Chiller_dbg_Logic_Ac_On +#define Logic_Ac_Txv_Chiller_dbg_Logic_Ac_On (1) +#endif + +#ifndef Logic_Ac_Txv_Chiller_dbg_Logic_Ac_Off +#define Logic_Ac_Txv_Chiller_dbg_Logic_Ac_Off (0) +#endif + + +// Value tables for @Logic_Ac_EvaCtrl signal + +#ifndef Logic_Ac_EvaCtrl_dbg_Logic_Ac_Both_On_but_olny_Rear_works +#define Logic_Ac_EvaCtrl_dbg_Logic_Ac_Both_On_but_olny_Rear_works (7) +#endif + +#ifndef Logic_Ac_EvaCtrl_dbg_Logic_Ac_Both_On_but_olny_Front_works +#define Logic_Ac_EvaCtrl_dbg_Logic_Ac_Both_On_but_olny_Front_works (6) +#endif + +#ifndef Logic_Ac_EvaCtrl_dbg_Logic_Ac_Both_On_with_Rear_FB +#define Logic_Ac_EvaCtrl_dbg_Logic_Ac_Both_On_with_Rear_FB (5) +#endif + +#ifndef Logic_Ac_EvaCtrl_dbg_Logic_Ac_Both_On_with_Front_FB +#define Logic_Ac_EvaCtrl_dbg_Logic_Ac_Both_On_with_Front_FB (4) +#endif + +#ifndef Logic_Ac_EvaCtrl_dbg_Logic_Ac_Only_Rear_On +#define Logic_Ac_EvaCtrl_dbg_Logic_Ac_Only_Rear_On (3) +#endif + +#ifndef Logic_Ac_EvaCtrl_dbg_Logic_Ac_Only_Front_On +#define Logic_Ac_EvaCtrl_dbg_Logic_Ac_Only_Front_On (2) +#endif + +#ifndef Logic_Ac_EvaCtrl_dbg_Logic_Ac_Only_Chiller_On +#define Logic_Ac_EvaCtrl_dbg_Logic_Ac_Only_Chiller_On (1) +#endif + +#ifndef Logic_Ac_EvaCtrl_dbg_Logic_Ac_All_Off +#define Logic_Ac_EvaCtrl_dbg_Logic_Ac_All_Off (0) +#endif + +// signal: @Logic_Ac_Comp_LimitRpm_ro +#define CANDB_DBG_Logic_Ac_Comp_LimitRpm_ro_CovFactor (50) +#define CANDB_DBG_Logic_Ac_Comp_LimitRpm_ro_toS(x) ( (uint8_t) ((x) / (50)) ) +#define CANDB_DBG_Logic_Ac_Comp_LimitRpm_ro_fromS(x) ( ((x) * (50)) ) + +// Value tables for @Logic_Ac_WinterSts_Front signal + +#ifndef Logic_Ac_WinterSts_Front_dbg_Logic_Ac_ON_atWinter +#define Logic_Ac_WinterSts_Front_dbg_Logic_Ac_ON_atWinter (3) +#endif + +#ifndef Logic_Ac_WinterSts_Front_dbg_Logic_Ac_OFF_atWinter +#define Logic_Ac_WinterSts_Front_dbg_Logic_Ac_OFF_atWinter (2) +#endif + +#ifndef Logic_Ac_WinterSts_Front_dbg_Logic_Ac_Not_Used +#define Logic_Ac_WinterSts_Front_dbg_Logic_Ac_Not_Used (1) +#endif + +#ifndef Logic_Ac_WinterSts_Front_dbg_Logic_Ac_No_Winter +#define Logic_Ac_WinterSts_Front_dbg_Logic_Ac_No_Winter (0) +#endif + + +// Value tables for @Logic_Ac_WinterSts_Rear signal + +#ifndef Logic_Ac_WinterSts_Rear_dbg_Logic_Ac_ON_atWinter +#define Logic_Ac_WinterSts_Rear_dbg_Logic_Ac_ON_atWinter (3) +#endif + +#ifndef Logic_Ac_WinterSts_Rear_dbg_Logic_Ac_OFF_atWinter +#define Logic_Ac_WinterSts_Rear_dbg_Logic_Ac_OFF_atWinter (2) +#endif + +#ifndef Logic_Ac_WinterSts_Rear_dbg_Logic_Ac_Not_Used +#define Logic_Ac_WinterSts_Rear_dbg_Logic_Ac_Not_Used (1) +#endif + +#ifndef Logic_Ac_WinterSts_Rear_dbg_Logic_Ac_No_Winter +#define Logic_Ac_WinterSts_Rear_dbg_Logic_Ac_No_Winter (0) +#endif + + +typedef struct +{ +#ifdef CANDB_DBG_USE_BITS_SIGNAL + + // 1 : "On" + // 0 : "Off" + uint8_t Logic_Ac_Req_Front : 1; // Bits= 1 Unit:'(off 0, on 1)' + + // 1 : "On" + // 0 : "Off" + uint8_t Logic_Ac_Txv_Front : 1; // Bits= 1 Unit:'(off 0, on 1)' + + // 1 : "On" + // 0 : "Off" + uint8_t Logic_Ac_Txv_Rear : 1; // Bits= 1 Unit:'(off 0, on 1)' + + // 1 : "On" + // 0 : "Off" + uint8_t Logic_Ac_Req_Rear : 1; // Bits= 1 Unit:'(off 0, on 1)' + + // 1 : "On" + // 0 : "Off" + uint8_t Logic_Ac_Req_Chiller : 1; // Bits= 1 Unit:'(off 0, on 1)' + + // 1 : "On" + // 0 : "Off" + uint8_t Logic_Ac_Txv_Chiller : 1; // Bits= 1 Unit:'(off 0, on 1)' + + // 7 : "Both On but olny Rear works" + // 6 : "Both On but olny Front works" + // 5 : "Both On with Rear FB" + // 4 : "Both On with Front FB" + // 3 : "Only Rear On" + // 2 : "Only Front On" + // 1 : "Only Chiller On" + // 0 : "All Off" + uint8_t Logic_Ac_EvaCtrl : 4; // Bits= 4 + + uint8_t Logic_Ac_Comp_EmrStop_Reason : 4; // Bits= 4 + + uint8_t Logic_Ac_Comp_LimitRpm_ro; // Bits= 8 Factor= 50 Unit:'rpm' + +#ifdef CANDB_DBG_USE_SIGFLOAT + uint16_t Logic_Ac_Comp_LimitRpm_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + uint8_t Logic_Ac_Txv_Closed_bySen : 1; // Bits= 1 + + uint8_t Logic_Ac_Comp_Protection_Level : 2; // Bits= 2 Unit:'Lv' + + // 3 : "ON_atWinter" + // 2 : "OFF_atWinter" + // 1 : "Not_Used" + // 0 : "No_Winter" + uint8_t Logic_Ac_WinterSts_Front : 2; // Bits= 2 + + // 3 : "ON_atWinter" + // 2 : "OFF_atWinter" + // 1 : "Not_Used" + // 0 : "No_Winter" + uint8_t Logic_Ac_WinterSts_Rear : 2; // Bits= 2 + +#else + + // 1 : "On" + // 0 : "Off" + uint8_t Logic_Ac_Req_Front; // Bits= 1 Unit:'(off 0, on 1)' + + // 1 : "On" + // 0 : "Off" + uint8_t Logic_Ac_Txv_Front; // Bits= 1 Unit:'(off 0, on 1)' + + // 1 : "On" + // 0 : "Off" + uint8_t Logic_Ac_Txv_Rear; // Bits= 1 Unit:'(off 0, on 1)' + + // 1 : "On" + // 0 : "Off" + uint8_t Logic_Ac_Req_Rear; // Bits= 1 Unit:'(off 0, on 1)' + + // 1 : "On" + // 0 : "Off" + uint8_t Logic_Ac_Req_Chiller; // Bits= 1 Unit:'(off 0, on 1)' + + // 1 : "On" + // 0 : "Off" + uint8_t Logic_Ac_Txv_Chiller; // Bits= 1 Unit:'(off 0, on 1)' + + // 7 : "Both On but olny Rear works" + // 6 : "Both On but olny Front works" + // 5 : "Both On with Rear FB" + // 4 : "Both On with Front FB" + // 3 : "Only Rear On" + // 2 : "Only Front On" + // 1 : "Only Chiller On" + // 0 : "All Off" + uint8_t Logic_Ac_EvaCtrl; // Bits= 4 + + uint8_t Logic_Ac_Comp_EmrStop_Reason; // Bits= 4 + + uint8_t Logic_Ac_Comp_LimitRpm_ro; // Bits= 8 Factor= 50 Unit:'rpm' + +#ifdef CANDB_DBG_USE_SIGFLOAT + uint16_t Logic_Ac_Comp_LimitRpm_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + uint8_t Logic_Ac_Txv_Closed_bySen; // Bits= 1 + + uint8_t Logic_Ac_Comp_Protection_Level; // Bits= 2 Unit:'Lv' + + // 3 : "ON_atWinter" + // 2 : "OFF_atWinter" + // 1 : "Not_Used" + // 0 : "No_Winter" + uint8_t Logic_Ac_WinterSts_Front; // Bits= 2 + + // 3 : "ON_atWinter" + // 2 : "OFF_atWinter" + // 1 : "Not_Used" + // 0 : "No_Winter" + uint8_t Logic_Ac_WinterSts_Rear; // Bits= 2 + +#endif // CANDB_DBG_USE_BITS_SIGNAL + +#ifdef CANDB_DBG_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_DBG_USE_DIAG_MONITORS + +} dbg_Logic_Ac_t; + +// def @dbg_Logic_Rec CAN Message (997 0x3e5) +#define dbg_Logic_Rec_IDE (0U) +#define dbg_Logic_Rec_DLC (3U) +#define dbg_Logic_Rec_CANID (0x3e5U) + +// Value tables for @Logic_Rec_Idx signal + +#ifndef Logic_Rec_Idx_dbg_Logic_Rec_REC +#define Logic_Rec_Idx_dbg_Logic_Rec_REC (1) +#endif + +#ifndef Logic_Rec_Idx_dbg_Logic_Rec_FRESH +#define Logic_Rec_Idx_dbg_Logic_Rec_FRESH (0) +#endif + + +typedef struct +{ +#ifdef CANDB_DBG_USE_BITS_SIGNAL + + // 1 : "REC" + // 0 : "FRESH" + uint8_t Logic_Rec_Idx : 1; // Bits= 1 + + uint8_t Logic_Rec_Partial_Spd_Sts : 1; // Bits= 1 + + uint8_t Logic_Rec_Partial_Winter : 1; // Bits= 1 + + uint8_t Logic_Rec_Partial_Summer : 2; // Bits= 2 + + uint8_t Logic_Rec_FreshAirPurge_Sts : 4; // Bits= 4 + +#else + + // 1 : "REC" + // 0 : "FRESH" + uint8_t Logic_Rec_Idx; // Bits= 1 + + uint8_t Logic_Rec_Partial_Spd_Sts; // Bits= 1 + + uint8_t Logic_Rec_Partial_Winter; // Bits= 1 + + uint8_t Logic_Rec_Partial_Summer; // Bits= 2 + + uint8_t Logic_Rec_FreshAirPurge_Sts; // Bits= 4 + +#endif // CANDB_DBG_USE_BITS_SIGNAL + +#ifdef CANDB_DBG_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_DBG_USE_DIAG_MONITORS + +} dbg_Logic_Rec_t; + +// def @dbg_DiffBlr_ValveOpen CAN Message (998 0x3e6) +#define dbg_DiffBlr_ValveOpen_IDE (0U) +#define dbg_DiffBlr_ValveOpen_DLC (8U) +#define dbg_DiffBlr_ValveOpen_CANID (0x3e6U) +#define dbg_DiffBlr_ValveOpen_CYC (200U) + +typedef struct +{ +#ifdef CANDB_DBG_USE_BITS_SIGNAL + + // MULTIPLEX master signal + uint8_t Logic_ValveOpen_MultMsg_Idx : 2; // Bits= 2 + + // multiplex variable + uint8_t Logic_ValveOpen_R2_SFL; // Bits= 8 Unit:'%' + + // multiplex variable + uint8_t Logic_ValveOpen_R1_SFL; // Bits= 8 Unit:'%' + + // multiplex variable + uint8_t Logic_ValveOpen_R2_CFL; // Bits= 8 Unit:'%' + + // multiplex variable + uint8_t Logic_ValveOpen_R1_CFL; // Bits= 8 Unit:'%' + + // multiplex variable + uint8_t Logic_ValveOpen_R2_CFR; // Bits= 8 Unit:'%' + + // multiplex variable + uint8_t Logic_ValveOpen_R1_CFR; // Bits= 8 Unit:'%' + + // multiplex variable + uint8_t Logic_ValveOpen_R2_SFR; // Bits= 8 Unit:'%' + + // multiplex variable + uint8_t Logic_ValveOpen_R1_SFR; // Bits= 8 Unit:'%' + +#else + + // MULTIPLEX master signal + uint8_t Logic_ValveOpen_MultMsg_Idx; // Bits= 2 + + // multiplex variable + uint8_t Logic_ValveOpen_R2_SFL; // Bits= 8 Unit:'%' + + // multiplex variable + uint8_t Logic_ValveOpen_R1_SFL; // Bits= 8 Unit:'%' + + // multiplex variable + uint8_t Logic_ValveOpen_R2_CFL; // Bits= 8 Unit:'%' + + // multiplex variable + uint8_t Logic_ValveOpen_R1_CFL; // Bits= 8 Unit:'%' + + // multiplex variable + uint8_t Logic_ValveOpen_R2_CFR; // Bits= 8 Unit:'%' + + // multiplex variable + uint8_t Logic_ValveOpen_R1_CFR; // Bits= 8 Unit:'%' + + // multiplex variable + uint8_t Logic_ValveOpen_R2_SFR; // Bits= 8 Unit:'%' + + // multiplex variable + uint8_t Logic_ValveOpen_R1_SFR; // Bits= 8 Unit:'%' + +#endif // CANDB_DBG_USE_BITS_SIGNAL + +#ifdef CANDB_DBG_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_DBG_USE_DIAG_MONITORS + +} dbg_DiffBlr_ValveOpen_t; + +// This is a message for not used signals, created by Vector CANdb++ DBC OLE DB Provider. +// def @dbg_Act0 CAN Message (1008 0x3f0) +#define dbg_Act0_IDE (0U) +#define dbg_Act0_DLC (8U) +#define dbg_Act0_CANID (0x3f0U) + +typedef struct +{ +#ifdef CANDB_DBG_USE_BITS_SIGNAL + + uint8_t dbg_Act00_Def; // Bits= 8 Unit:'%' + + uint8_t dbg_Act01_Vent_SFL; // Bits= 8 Unit:'%' + + uint8_t dbg_Act02_Vent_CFL; // Bits= 8 Unit:'%' + + uint8_t dbg_Act03_Foot_1FL; // Bits= 8 Unit:'%' + + uint8_t dbg_Act04_Foot_2FL; // Bits= 8 Unit:'%' + + uint8_t dbg_Act05_Vent_CFR; // Bits= 8 Unit:'%' + + uint8_t dbg_Act06_Vent_SFR; // Bits= 8 Unit:'%' + + uint8_t dbg_Act07_Foot_1FR; // Bits= 8 Unit:'%' + +#else + + uint8_t dbg_Act00_Def; // Bits= 8 Unit:'%' + + uint8_t dbg_Act01_Vent_SFL; // Bits= 8 Unit:'%' + + uint8_t dbg_Act02_Vent_CFL; // Bits= 8 Unit:'%' + + uint8_t dbg_Act03_Foot_1FL; // Bits= 8 Unit:'%' + + uint8_t dbg_Act04_Foot_2FL; // Bits= 8 Unit:'%' + + uint8_t dbg_Act05_Vent_CFR; // Bits= 8 Unit:'%' + + uint8_t dbg_Act06_Vent_SFR; // Bits= 8 Unit:'%' + + uint8_t dbg_Act07_Foot_1FR; // Bits= 8 Unit:'%' + +#endif // CANDB_DBG_USE_BITS_SIGNAL + +#ifdef CANDB_DBG_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_DBG_USE_DIAG_MONITORS + +} dbg_Act0_t; + +// def @dbg_Act1 CAN Message (1009 0x3f1) +#define dbg_Act1_IDE (0U) +#define dbg_Act1_DLC (8U) +#define dbg_Act1_CANID (0x3f1U) + +typedef struct +{ +#ifdef CANDB_DBG_USE_BITS_SIGNAL + + uint8_t dbg_Act08_Foot_2FR; // Bits= 8 Unit:'%' + + uint8_t dbg_Act09_Vent_SRL; // Bits= 8 Unit:'%' + + uint8_t dbg_Act10_Vent_CRL; // Bits= 8 Unit:'%' + + uint8_t dbg_Act11_Foot_RL; // Bits= 8 Unit:'%' + + uint8_t dbg_Act12_Vent_CRR; // Bits= 8 Unit:'%' + + uint8_t dbg_Act13_Vent_SRR; // Bits= 8 Unit:'%' + + uint8_t dbg_Act14_Foot_RR; // Bits= 8 Unit:'%' + + uint8_t dbg_Act15_TempU_FL; // Bits= 8 Unit:'%' + +#else + + uint8_t dbg_Act08_Foot_2FR; // Bits= 8 Unit:'%' + + uint8_t dbg_Act09_Vent_SRL; // Bits= 8 Unit:'%' + + uint8_t dbg_Act10_Vent_CRL; // Bits= 8 Unit:'%' + + uint8_t dbg_Act11_Foot_RL; // Bits= 8 Unit:'%' + + uint8_t dbg_Act12_Vent_CRR; // Bits= 8 Unit:'%' + + uint8_t dbg_Act13_Vent_SRR; // Bits= 8 Unit:'%' + + uint8_t dbg_Act14_Foot_RR; // Bits= 8 Unit:'%' + + uint8_t dbg_Act15_TempU_FL; // Bits= 8 Unit:'%' + +#endif // CANDB_DBG_USE_BITS_SIGNAL + +#ifdef CANDB_DBG_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_DBG_USE_DIAG_MONITORS + +} dbg_Act1_t; + +// def @dbg_Act2 CAN Message (1010 0x3f2) +#define dbg_Act2_IDE (0U) +#define dbg_Act2_DLC (8U) +#define dbg_Act2_CANID (0x3f2U) + +typedef struct +{ +#ifdef CANDB_DBG_USE_BITS_SIGNAL + + uint8_t dbg_Act16_TempL_FL; // Bits= 8 Unit:'%' + + uint8_t dbg_Act17_TempU_FR; // Bits= 8 Unit:'%' + + uint8_t dbg_Act18_TempL_FR; // Bits= 8 Unit:'%' + + uint8_t dbg_Act19_Temp_RL; // Bits= 8 Unit:'%' + + uint8_t dbg_Act20_Temp_RR; // Bits= 8 Unit:'%' + + uint8_t dbg_Act21_Rec; // Bits= 8 Unit:'%' + + uint8_t dbg_Act22_OSA; // Bits= 8 Unit:'%' + + uint8_t dbg_Act23_SealingValve; // Bits= 8 Unit:'%' + +#else + + uint8_t dbg_Act16_TempL_FL; // Bits= 8 Unit:'%' + + uint8_t dbg_Act17_TempU_FR; // Bits= 8 Unit:'%' + + uint8_t dbg_Act18_TempL_FR; // Bits= 8 Unit:'%' + + uint8_t dbg_Act19_Temp_RL; // Bits= 8 Unit:'%' + + uint8_t dbg_Act20_Temp_RR; // Bits= 8 Unit:'%' + + uint8_t dbg_Act21_Rec; // Bits= 8 Unit:'%' + + uint8_t dbg_Act22_OSA; // Bits= 8 Unit:'%' + + uint8_t dbg_Act23_SealingValve; // Bits= 8 Unit:'%' + +#endif // CANDB_DBG_USE_BITS_SIGNAL + +#ifdef CANDB_DBG_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_DBG_USE_DIAG_MONITORS + +} dbg_Act2_t; + +// def @dbg_Sen_Amb CAN Message (1011 0x3f3) +#define dbg_Sen_Amb_IDE (0U) +#define dbg_Sen_Amb_DLC (6U) +#define dbg_Sen_Amb_CANID (0x3f3U) +// signal: @dbg_Sen_Amb_ro +#define CANDB_DBG_dbg_Sen_Amb_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Sen_Amb_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Sen_Amb_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @dbg_Sen_Amb_Raw_ro +#define CANDB_DBG_dbg_Sen_Amb_Raw_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Sen_Amb_Raw_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Sen_Amb_Raw_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @dbg_Amb_Tg_ro +#define CANDB_DBG_dbg_Amb_Tg_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Amb_Tg_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Amb_Tg_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) + +typedef struct +{ +#ifdef CANDB_DBG_USE_BITS_SIGNAL + + int16_t dbg_Sen_Amb_ro; // [-] Bits=16 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_Amb_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + int16_t dbg_Sen_Amb_Raw_ro; // [-] Bits=16 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_Amb_Raw_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + int16_t dbg_Amb_Tg_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Amb_Tg_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + +#else + + int16_t dbg_Sen_Amb_ro; // [-] Bits=16 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_Amb_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + int16_t dbg_Sen_Amb_Raw_ro; // [-] Bits=16 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_Amb_Raw_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + int16_t dbg_Amb_Tg_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Amb_Tg_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + +#endif // CANDB_DBG_USE_BITS_SIGNAL + +#ifdef CANDB_DBG_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_DBG_USE_DIAG_MONITORS + +} dbg_Sen_Amb_t; + +// def @dbg_Sen_0 CAN Message (1016 0x3f8) +#define dbg_Sen_0_IDE (0U) +#define dbg_Sen_0_DLC (8U) +#define dbg_Sen_0_CANID (0x3f8U) +#define dbg_Sen_0_CYC (1000U) +// signal: @dbg_Sen_BattVolt_ro +#define CANDB_DBG_dbg_Sen_BattVolt_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Sen_BattVolt_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Sen_BattVolt_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @dbg_Sen_Pressure_ro +#define CANDB_DBG_dbg_Sen_Pressure_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Sen_Pressure_ro_toS(x) ( (uint16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Sen_Pressure_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) + +typedef struct +{ +#ifdef CANDB_DBG_USE_BITS_SIGNAL + + uint8_t dbg_Sen_BattVolt_ro; // Bits= 8 Factor= 0.1 Unit:'Volt' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_BattVolt_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + uint16_t dbg_Sen_Pressure_ro; // Bits=12 Factor= 0.1 Unit:'ATM' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_Pressure_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + uint16_t dbg_Sen_Sun_L; // Bits=16 Unit:'W/m2' + + uint16_t dbg_Sen_Sun_R; // Bits=16 Unit:'W/m2' + +#else + + uint8_t dbg_Sen_BattVolt_ro; // Bits= 8 Factor= 0.1 Unit:'Volt' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_BattVolt_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + uint16_t dbg_Sen_Pressure_ro; // Bits=12 Factor= 0.1 Unit:'ATM' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_Pressure_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + uint16_t dbg_Sen_Sun_L; // Bits=16 Unit:'W/m2' + + uint16_t dbg_Sen_Sun_R; // Bits=16 Unit:'W/m2' + +#endif // CANDB_DBG_USE_BITS_SIGNAL + +#ifdef CANDB_DBG_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_DBG_USE_DIAG_MONITORS + +} dbg_Sen_0_t; + +// def @dbg_CCU_IO CAN Message (1019 0x3fb) +#define dbg_CCU_IO_IDE (0U) +#define dbg_CCU_IO_DLC (6U) +#define dbg_CCU_IO_CANID (0x3fbU) + +// Value tables for @dbg_IO_Txv_F signal + +#ifndef dbg_IO_Txv_F_dbg_CCU_IO_On +#define dbg_IO_Txv_F_dbg_CCU_IO_On (1) +#endif + +#ifndef dbg_IO_Txv_F_dbg_CCU_IO_Off +#define dbg_IO_Txv_F_dbg_CCU_IO_Off (0) +#endif + + +// Value tables for @dbg_IO_Txv_R signal + +#ifndef dbg_IO_Txv_R_dbg_CCU_IO_On +#define dbg_IO_Txv_R_dbg_CCU_IO_On (1) +#endif + +#ifndef dbg_IO_Txv_R_dbg_CCU_IO_Off +#define dbg_IO_Txv_R_dbg_CCU_IO_Off (0) +#endif + + +// Value tables for @dbg_IO_Txv_Ch signal + +#ifndef dbg_IO_Txv_Ch_dbg_CCU_IO_On +#define dbg_IO_Txv_Ch_dbg_CCU_IO_On (1) +#endif + +#ifndef dbg_IO_Txv_Ch_dbg_CCU_IO_Off +#define dbg_IO_Txv_Ch_dbg_CCU_IO_Off (0) +#endif + + +// Value tables for @dbg_IO_2WayValve signal + +#ifndef dbg_IO_2WayValve_dbg_CCU_IO_Open +#define dbg_IO_2WayValve_dbg_CCU_IO_Open (1) +#endif + +#ifndef dbg_IO_2WayValve_dbg_CCU_IO_Close +#define dbg_IO_2WayValve_dbg_CCU_IO_Close (0) +#endif + + +// Value tables for @dbg_IO_IncarMotor_F signal + +#ifndef dbg_IO_IncarMotor_F_dbg_CCU_IO_On +#define dbg_IO_IncarMotor_F_dbg_CCU_IO_On (1) +#endif + +#ifndef dbg_IO_IncarMotor_F_dbg_CCU_IO_Off +#define dbg_IO_IncarMotor_F_dbg_CCU_IO_Off (0) +#endif + + +// Value tables for @dbg_IO_IncarMotor_R signal + +#ifndef dbg_IO_IncarMotor_R_dbg_CCU_IO_On +#define dbg_IO_IncarMotor_R_dbg_CCU_IO_On (1) +#endif + +#ifndef dbg_IO_IncarMotor_R_dbg_CCU_IO_Off +#define dbg_IO_IncarMotor_R_dbg_CCU_IO_Off (0) +#endif + +// signal: @dbg_SetTemp_FL_ro +#define CANDB_DBG_dbg_SetTemp_FL_ro_CovFactor (0.5) +#define CANDB_DBG_dbg_SetTemp_FL_ro_toS(x) ( (uint8_t) (((x) - (16.0)) / (0.5)) ) +#define CANDB_DBG_dbg_SetTemp_FL_ro_fromS(x) ( (((x) * (0.5)) + (16.0)) ) +// signal: @dbg_SetTemp_FR_ro +#define CANDB_DBG_dbg_SetTemp_FR_ro_CovFactor (0.5) +#define CANDB_DBG_dbg_SetTemp_FR_ro_toS(x) ( (uint8_t) (((x) - (16.0)) / (0.5)) ) +#define CANDB_DBG_dbg_SetTemp_FR_ro_fromS(x) ( (((x) * (0.5)) + (16.0)) ) +// signal: @dbg_SetTemp_RL_ro +#define CANDB_DBG_dbg_SetTemp_RL_ro_CovFactor (0.5) +#define CANDB_DBG_dbg_SetTemp_RL_ro_toS(x) ( (uint8_t) (((x) - (16.0)) / (0.5)) ) +#define CANDB_DBG_dbg_SetTemp_RL_ro_fromS(x) ( (((x) * (0.5)) + (16.0)) ) +// signal: @dbg_SetTemp_RR_ro +#define CANDB_DBG_dbg_SetTemp_RR_ro_CovFactor (0.5) +#define CANDB_DBG_dbg_SetTemp_RR_ro_toS(x) ( (uint8_t) (((x) - (16.0)) / (0.5)) ) +#define CANDB_DBG_dbg_SetTemp_RR_ro_fromS(x) ( (((x) * (0.5)) + (16.0)) ) + +// Value tables for @dbg_IO_Input_Emergency signal + +#ifndef dbg_IO_Input_Emergency_dbg_CCU_IO_On +#define dbg_IO_Input_Emergency_dbg_CCU_IO_On (1) +#endif + +#ifndef dbg_IO_Input_Emergency_dbg_CCU_IO_Off +#define dbg_IO_Input_Emergency_dbg_CCU_IO_Off (0) +#endif + + +// Value tables for @dbg_IO_Input_FireExtinguisher signal + +#ifndef dbg_IO_Input_FireExtinguisher_dbg_CCU_IO_On +#define dbg_IO_Input_FireExtinguisher_dbg_CCU_IO_On (1) +#endif + +#ifndef dbg_IO_Input_FireExtinguisher_dbg_CCU_IO_Off +#define dbg_IO_Input_FireExtinguisher_dbg_CCU_IO_Off (0) +#endif + + +// Value tables for @dbg_IO_Install_Sealing_Valve signal + +#ifndef dbg_IO_Install_Sealing_Valve_dbg_CCU_IO_On +#define dbg_IO_Install_Sealing_Valve_dbg_CCU_IO_On (1) +#endif + +#ifndef dbg_IO_Install_Sealing_Valve_dbg_CCU_IO_Off +#define dbg_IO_Install_Sealing_Valve_dbg_CCU_IO_Off (0) +#endif + + +typedef struct +{ +#ifdef CANDB_DBG_USE_BITS_SIGNAL + + // 1 : "On" + // 0 : "Off" + uint8_t dbg_IO_Txv_F : 1; // Bits= 1 + + // 1 : "On" + // 0 : "Off" + uint8_t dbg_IO_Txv_R : 1; // Bits= 1 + + // 1 : "On" + // 0 : "Off" + uint8_t dbg_IO_Txv_Ch : 1; // Bits= 1 + + // 1 : "Open" + // 0 : "Close" + uint8_t dbg_IO_2WayValve : 1; // Bits= 1 + + // 1 : "On" + // 0 : "Off" + uint8_t dbg_IO_IncarMotor_F : 1; // Bits= 1 + + // 1 : "On" + // 0 : "Off" + uint8_t dbg_IO_IncarMotor_R : 1; // Bits= 1 + + uint8_t dbg_SetTemp_FL_ro; // Bits= 8 Offset= 16.0 Factor= 0.5 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_SetTemp_FL_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + uint8_t dbg_SetTemp_FR_ro; // Bits= 8 Offset= 16.0 Factor= 0.5 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_SetTemp_FR_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + uint8_t dbg_SetTemp_RL_ro; // Bits= 8 Offset= 16.0 Factor= 0.5 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_SetTemp_RL_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + uint8_t dbg_SetTemp_RR_ro; // Bits= 8 Offset= 16.0 Factor= 0.5 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_SetTemp_RR_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // 1 : "On" + // 0 : "Off" + uint8_t dbg_IO_Input_Emergency : 1; // Bits= 1 + + // 1 : "On" + // 0 : "Off" + uint8_t dbg_IO_Input_FireExtinguisher : 1; // Bits= 1 + + // 1 : "On" + // 0 : "Off" + uint8_t dbg_IO_Install_Sealing_Valve : 1; // Bits= 1 + +#else + + // 1 : "On" + // 0 : "Off" + uint8_t dbg_IO_Txv_F; // Bits= 1 + + // 1 : "On" + // 0 : "Off" + uint8_t dbg_IO_Txv_R; // Bits= 1 + + // 1 : "On" + // 0 : "Off" + uint8_t dbg_IO_Txv_Ch; // Bits= 1 + + // 1 : "Open" + // 0 : "Close" + uint8_t dbg_IO_2WayValve; // Bits= 1 + + // 1 : "On" + // 0 : "Off" + uint8_t dbg_IO_IncarMotor_F; // Bits= 1 + + // 1 : "On" + // 0 : "Off" + uint8_t dbg_IO_IncarMotor_R; // Bits= 1 + + uint8_t dbg_SetTemp_FL_ro; // Bits= 8 Offset= 16.0 Factor= 0.5 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_SetTemp_FL_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + uint8_t dbg_SetTemp_FR_ro; // Bits= 8 Offset= 16.0 Factor= 0.5 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_SetTemp_FR_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + uint8_t dbg_SetTemp_RL_ro; // Bits= 8 Offset= 16.0 Factor= 0.5 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_SetTemp_RL_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + uint8_t dbg_SetTemp_RR_ro; // Bits= 8 Offset= 16.0 Factor= 0.5 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_SetTemp_RR_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // 1 : "On" + // 0 : "Off" + uint8_t dbg_IO_Input_Emergency; // Bits= 1 + + // 1 : "On" + // 0 : "Off" + uint8_t dbg_IO_Input_FireExtinguisher; // Bits= 1 + + // 1 : "On" + // 0 : "Off" + uint8_t dbg_IO_Install_Sealing_Valve; // Bits= 1 + +#endif // CANDB_DBG_USE_BITS_SIGNAL + +#ifdef CANDB_DBG_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_DBG_USE_DIAG_MONITORS + +} dbg_CCU_IO_t; + +// def @dbg_CCU_Info CAN Message (1020 0x3fc) +#define dbg_CCU_Info_IDE (0U) +#define dbg_CCU_Info_DLC (8U) +#define dbg_CCU_Info_CANID (0x3fcU) +#define dbg_CCU_Info_CYC (1000U) + +// Value tables for @dbg_Info_ActivatedCAL signal + +#ifndef dbg_Info_ActivatedCAL_dbg_CCU_Info_MPV_Cal +#define dbg_Info_ActivatedCAL_dbg_CCU_Info_MPV_Cal (5) +#endif + +#ifndef dbg_Info_ActivatedCAL_dbg_CCU_Info_SUV_Cal +#define dbg_Info_ActivatedCAL_dbg_CCU_Info_SUV_Cal (4) +#endif + +#ifndef dbg_Info_ActivatedCAL_dbg_CCU_Info_Limo_Cal +#define dbg_Info_ActivatedCAL_dbg_CCU_Info_Limo_Cal (3) +#endif + +#ifndef dbg_Info_ActivatedCAL_dbg_CCU_Info_SedanH_Cal +#define dbg_Info_ActivatedCAL_dbg_CCU_Info_SedanH_Cal (2) +#endif + +#ifndef dbg_Info_ActivatedCAL_dbg_CCU_Info_SedanL_Cal +#define dbg_Info_ActivatedCAL_dbg_CCU_Info_SedanL_Cal (1) +#endif + +#ifndef dbg_Info_ActivatedCAL_dbg_CCU_Info_Base_Cal +#define dbg_Info_ActivatedCAL_dbg_CCU_Info_Base_Cal (0) +#endif + + +// Value tables for @dbg_Info_CCU_Aroma_Cfg signal + +#ifndef dbg_Info_CCU_Aroma_Cfg_dbg_CCU_Info_Incomplete +#define dbg_Info_CCU_Aroma_Cfg_dbg_CCU_Info_Incomplete (15) +#endif + +#ifndef dbg_Info_CCU_Aroma_Cfg_dbg_CCU_Info_Present +#define dbg_Info_CCU_Aroma_Cfg_dbg_CCU_Info_Present (1) +#endif + +#ifndef dbg_Info_CCU_Aroma_Cfg_dbg_CCU_Info_Not_Present +#define dbg_Info_CCU_Aroma_Cfg_dbg_CCU_Info_Not_Present (0) +#endif + + +// Value tables for @dbg_Info_CCU_Algorithm_Cfg signal + +#ifndef dbg_Info_CCU_Algorithm_Cfg_dbg_CCU_Info_Incomplete +#define dbg_Info_CCU_Algorithm_Cfg_dbg_CCU_Info_Incomplete (15) +#endif + +#ifndef dbg_Info_CCU_Algorithm_Cfg_dbg_CCU_Info_Limousine_Variant +#define dbg_Info_CCU_Algorithm_Cfg_dbg_CCU_Info_Limousine_Variant (1) +#endif + +#ifndef dbg_Info_CCU_Algorithm_Cfg_dbg_CCU_Info_Stadard_Variant +#define dbg_Info_CCU_Algorithm_Cfg_dbg_CCU_Info_Stadard_Variant (0) +#endif + + +// Value tables for @dbg_Info_VehicleBody signal + +#ifndef dbg_Info_VehicleBody_dbg_CCU_Info_MPVTabletka_29 +#define dbg_Info_VehicleBody_dbg_CCU_Info_MPVTabletka_29 (12857) +#endif + +#ifndef dbg_Info_VehicleBody_dbg_CCU_Info_MPVOrbita_28 +#define dbg_Info_VehicleBody_dbg_CCU_Info_MPVOrbita_28 (12856) +#endif + +#ifndef dbg_Info_VehicleBody_dbg_CCU_Info_MPVArmored4SEAT_27 +#define dbg_Info_VehicleBody_dbg_CCU_Info_MPVArmored4SEAT_27 (12855) +#endif + +#ifndef dbg_Info_VehicleBody_dbg_CCU_Info_MPVArmored9SEAT_23 +#define dbg_Info_VehicleBody_dbg_CCU_Info_MPVArmored9SEAT_23 (12851) +#endif + +#ifndef dbg_Info_VehicleBody_dbg_CCU_Info_MPVNonArmored9SEAT_22 +#define dbg_Info_VehicleBody_dbg_CCU_Info_MPVNonArmored9SEAT_22 (12850) +#endif + +#ifndef dbg_Info_VehicleBody_dbg_CCU_Info_MPVArmored8SEAT_21 +#define dbg_Info_VehicleBody_dbg_CCU_Info_MPVArmored8SEAT_21 (12849) +#endif + +#ifndef dbg_Info_VehicleBody_dbg_CCU_Info_MPVNonArmored4SEAT_20 +#define dbg_Info_VehicleBody_dbg_CCU_Info_MPVNonArmored4SEAT_20 (12848) +#endif + +#ifndef dbg_Info_VehicleBody_dbg_CCU_Info_SUVArmored__13 +#define dbg_Info_VehicleBody_dbg_CCU_Info_SUVArmored__13 (12595) +#endif + +#ifndef dbg_Info_VehicleBody_dbg_CCU_Info_SUVNonArmored_12 +#define dbg_Info_VehicleBody_dbg_CCU_Info_SUVNonArmored_12 (12594) +#endif + +#ifndef dbg_Info_VehicleBody_dbg_CCU_Info_LimoArmoredV8CiVil_0C_NotUsed +#define dbg_Info_VehicleBody_dbg_CCU_Info_LimoArmoredV8CiVil_0C_NotUsed (12355) +#endif + +#ifndef dbg_Info_VehicleBody_dbg_CCU_Info_CabrioShow_0B_NotUsed_Phase1 +#define dbg_Info_VehicleBody_dbg_CCU_Info_CabrioShow_0B_NotUsed_Phase1 (12354) +#endif + +#ifndef dbg_Info_VehicleBody_dbg_CCU_Info_SedanLongArmored_0A +#define dbg_Info_VehicleBody_dbg_CCU_Info_SedanLongArmored_0A (12353) +#endif + +#ifndef dbg_Info_VehicleBody_dbg_CCU_Info_SedanLong__09 +#define dbg_Info_VehicleBody_dbg_CCU_Info_SedanLong__09 (12345) +#endif + +#ifndef dbg_Info_VehicleBody_dbg_CCU_Info_Sedan4x2__08_NotUsed_Phase1 +#define dbg_Info_VehicleBody_dbg_CCU_Info_Sedan4x2__08_NotUsed_Phase1 (12344) +#endif + +#ifndef dbg_Info_VehicleBody_dbg_CCU_Info_Cabrio_05 +#define dbg_Info_VehicleBody_dbg_CCU_Info_Cabrio_05 (12341) +#endif + +#ifndef dbg_Info_VehicleBody_dbg_CCU_Info_LimoArmoredV8_04 +#define dbg_Info_VehicleBody_dbg_CCU_Info_LimoArmoredV8_04 (12340) +#endif + +#ifndef dbg_Info_VehicleBody_dbg_CCU_Info_LimoArmoredV12_03 +#define dbg_Info_VehicleBody_dbg_CCU_Info_LimoArmoredV12_03 (12339) +#endif + +#ifndef dbg_Info_VehicleBody_dbg_CCU_Info_SedanArmored__01 +#define dbg_Info_VehicleBody_dbg_CCU_Info_SedanArmored__01 (12337) +#endif + +#ifndef dbg_Info_VehicleBody_dbg_CCU_Info_SedanNonArmored00 +#define dbg_Info_VehicleBody_dbg_CCU_Info_SedanNonArmored00 (12336) +#endif + + +typedef struct +{ +#ifdef CANDB_DBG_USE_BITS_SIGNAL + + // MULTIPLEX master signal + uint8_t dbg_Info_MultMsg_Idx : 2; // Bits= 2 + + // multiplex variable + uint32_t dbg_Info_Calibration_Ver_Date; // Bits=22 Unit:'yymmdd' + + // multiplex variable + uint32_t dbg_Info_CCU_SW_Ver_Date; // Bits=22 Unit:'yymmdd' + + // multiplex variable + uint8_t dbg_Info_Calibration_Ver_Rev; // Bits= 8 Unit:'Rev.' + + // multiplex variable + uint8_t dbg_Info_CCU_SW_Ver_Rev; // Bits= 8 Unit:'Rev.' + + // 5 : "MPV_Cal" + // 4 : "SUV_Cal" + // 3 : "Limo_Cal" + // 2 : "SedanH_Cal" + // 1 : "SedanL_Cal" + // 0 : "Base_Cal" + // multiplex variable + uint8_t dbg_Info_ActivatedCAL : 4; // Bits= 4 Unit:'Num' + + // multiplex variable + uint32_t dbg_Info_MBD_Ver_Date; // Bits=22 Unit:'yymmdd' + + // 15 : "Incomplete" + // 1 : "Present" + // 0 : "Not_Present" + // multiplex variable + uint8_t dbg_Info_CCU_Aroma_Cfg : 4; // Bits= 4 + + // 15 : "Incomplete" + // 1 : "Limousine_Variant" + // 0 : "Stadard_Variant" + // multiplex variable + uint8_t dbg_Info_CCU_Algorithm_Cfg : 4; // Bits= 4 + + // 12857 : "MPVTabletka ='29'" + // 12856 : "MPVOrbita ='28'" + // 12855 : "MPVArmored4SEAT ='27'" + // 12851 : "MPVArmored9SEAT ='23'" + // 12850 : "MPVNonArmored9SEAT ='22'" + // 12849 : "MPVArmored8SEAT ='21'" + // 12848 : "MPVNonArmored4SEAT ='20'" + // 12595 : "SUVArmored = '13'" + // 12594 : "SUVNonArmored ='12'" + // 12355 : "LimoArmoredV8CiVil ='0C'_NotUsed" + // 12354 : "CabrioShow ='0B'_NotUsed_Phase1" + // 12353 : "SedanLongArmored ='0A'" + // 12345 : "SedanLong = '09'" + // 12344 : "Sedan4x2 = '08'_NotUsed_Phase1" + // 12341 : "Cabrio ='05'" + // 12340 : "LimoArmoredV8 ='04'" + // 12339 : "LimoArmoredV12 ='03'" + // 12337 : "SedanArmored = '01'" + // 12336 : "SedanNonArmored='00'" + // multiplex variable + uint16_t dbg_Info_VehicleBody; // Bits=16 Unit:'Vehicle' + + // multiplex variable + uint8_t dbg_Info_MBD_Ver_Rev; // Bits= 8 Unit:'Rev.' + +#else + + // MULTIPLEX master signal + uint8_t dbg_Info_MultMsg_Idx; // Bits= 2 + + // multiplex variable + uint32_t dbg_Info_Calibration_Ver_Date; // Bits=22 Unit:'yymmdd' + + // multiplex variable + uint32_t dbg_Info_CCU_SW_Ver_Date; // Bits=22 Unit:'yymmdd' + + // multiplex variable + uint8_t dbg_Info_Calibration_Ver_Rev; // Bits= 8 Unit:'Rev.' + + // multiplex variable + uint8_t dbg_Info_CCU_SW_Ver_Rev; // Bits= 8 Unit:'Rev.' + + // 5 : "MPV_Cal" + // 4 : "SUV_Cal" + // 3 : "Limo_Cal" + // 2 : "SedanH_Cal" + // 1 : "SedanL_Cal" + // 0 : "Base_Cal" + // multiplex variable + uint8_t dbg_Info_ActivatedCAL; // Bits= 4 Unit:'Num' + + // multiplex variable + uint32_t dbg_Info_MBD_Ver_Date; // Bits=22 Unit:'yymmdd' + + // 15 : "Incomplete" + // 1 : "Present" + // 0 : "Not_Present" + // multiplex variable + uint8_t dbg_Info_CCU_Aroma_Cfg; // Bits= 4 + + // 15 : "Incomplete" + // 1 : "Limousine_Variant" + // 0 : "Stadard_Variant" + // multiplex variable + uint8_t dbg_Info_CCU_Algorithm_Cfg; // Bits= 4 + + // 12857 : "MPVTabletka ='29'" + // 12856 : "MPVOrbita ='28'" + // 12855 : "MPVArmored4SEAT ='27'" + // 12851 : "MPVArmored9SEAT ='23'" + // 12850 : "MPVNonArmored9SEAT ='22'" + // 12849 : "MPVArmored8SEAT ='21'" + // 12848 : "MPVNonArmored4SEAT ='20'" + // 12595 : "SUVArmored = '13'" + // 12594 : "SUVNonArmored ='12'" + // 12355 : "LimoArmoredV8CiVil ='0C'_NotUsed" + // 12354 : "CabrioShow ='0B'_NotUsed_Phase1" + // 12353 : "SedanLongArmored ='0A'" + // 12345 : "SedanLong = '09'" + // 12344 : "Sedan4x2 = '08'_NotUsed_Phase1" + // 12341 : "Cabrio ='05'" + // 12340 : "LimoArmoredV8 ='04'" + // 12339 : "LimoArmoredV12 ='03'" + // 12337 : "SedanArmored = '01'" + // 12336 : "SedanNonArmored='00'" + // multiplex variable + uint16_t dbg_Info_VehicleBody; // Bits=16 Unit:'Vehicle' + + // multiplex variable + uint8_t dbg_Info_MBD_Ver_Rev; // Bits= 8 Unit:'Rev.' + +#endif // CANDB_DBG_USE_BITS_SIGNAL + +#ifdef CANDB_DBG_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_DBG_USE_DIAG_MONITORS + +} dbg_CCU_Info_t; + +// def @dbg_Drs CAN Message (1021 0x3fd) +#define dbg_Drs_IDE (0U) +#define dbg_Drs_DLC (8U) +#define dbg_Drs_CANID (0x3fdU) + +typedef struct +{ +#ifdef CANDB_DBG_USE_BITS_SIGNAL + + uint8_t dbg_Drs_0_SFL_DL : 7; // Bits= 7 Unit:'%' + + uint8_t dbg_Drs_1_CFL_FPL : 7; // Bits= 7 Unit:'%' + + uint8_t dbg_Drs_2_CFR_FPR : 7; // Bits= 7 Unit:'%' + + uint8_t dbg_Drs_3_SFR_DR : 7; // Bits= 7 Unit:'%' + + uint8_t dbg_Drs_4_SRL_RLB : 7; // Bits= 7 Unit:'%' + + uint8_t dbg_Drs_5_CRL_FCL : 7; // Bits= 7 Unit:'%' + + uint8_t dbg_Drs_6_CRR_FCR : 7; // Bits= 7 Unit:'%' + + uint8_t dbg_Drs_7_SRR_RRB : 7; // Bits= 7 Unit:'%' + +#else + + uint8_t dbg_Drs_0_SFL_DL; // Bits= 7 Unit:'%' + + uint8_t dbg_Drs_1_CFL_FPL; // Bits= 7 Unit:'%' + + uint8_t dbg_Drs_2_CFR_FPR; // Bits= 7 Unit:'%' + + uint8_t dbg_Drs_3_SFR_DR; // Bits= 7 Unit:'%' + + uint8_t dbg_Drs_4_SRL_RLB; // Bits= 7 Unit:'%' + + uint8_t dbg_Drs_5_CRL_FCL; // Bits= 7 Unit:'%' + + uint8_t dbg_Drs_6_CRR_FCR; // Bits= 7 Unit:'%' + + uint8_t dbg_Drs_7_SRR_RRB; // Bits= 7 Unit:'%' + +#endif // CANDB_DBG_USE_BITS_SIGNAL + +#ifdef CANDB_DBG_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_DBG_USE_DIAG_MONITORS + +} dbg_Drs_t; + +// def @dbg_Sen_Incar CAN Message (1023 0x3ff) +#define dbg_Sen_Incar_IDE (0U) +#define dbg_Sen_Incar_DLC (8U) +#define dbg_Sen_Incar_CANID (0x3ffU) +#define dbg_Sen_Incar_CYC (250U) +// signal: @dbg_Sen_Incar_Raw_FL_ro +#define CANDB_DBG_dbg_Sen_Incar_Raw_FL_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Sen_Incar_Raw_FL_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Sen_Incar_Raw_FL_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @dbg_Sen_Incar_FL_ro +#define CANDB_DBG_dbg_Sen_Incar_FL_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Sen_Incar_FL_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Sen_Incar_FL_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @dbg_Sen_Incar_Raw_FR_ro +#define CANDB_DBG_dbg_Sen_Incar_Raw_FR_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Sen_Incar_Raw_FR_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Sen_Incar_Raw_FR_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @dbg_Sen_Incar_FR_ro +#define CANDB_DBG_dbg_Sen_Incar_FR_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Sen_Incar_FR_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Sen_Incar_FR_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @dbg_Sen_Incar_Raw_RL_ro +#define CANDB_DBG_dbg_Sen_Incar_Raw_RL_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Sen_Incar_Raw_RL_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Sen_Incar_Raw_RL_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @dbg_Sen_Incar_RL_ro +#define CANDB_DBG_dbg_Sen_Incar_RL_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Sen_Incar_RL_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Sen_Incar_RL_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @dbg_Sen_Incar_Raw_RR_ro +#define CANDB_DBG_dbg_Sen_Incar_Raw_RR_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Sen_Incar_Raw_RR_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Sen_Incar_Raw_RR_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @dbg_Sen_Incar_RR_ro +#define CANDB_DBG_dbg_Sen_Incar_RR_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Sen_Incar_RR_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Sen_Incar_RR_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) + +typedef struct +{ +#ifdef CANDB_DBG_USE_BITS_SIGNAL + + // MULTIPLEX master signal + uint8_t dbg_Sen_Incar_MultMsg_Idx : 2; // Bits= 2 + + // multiplex variable + int16_t dbg_Sen_Incar_Raw_FL_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_Incar_Raw_FL_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Sen_Incar_FL_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_Incar_FL_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Sen_Incar_Raw_FR_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_Incar_Raw_FR_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Sen_Incar_FR_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_Incar_FR_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Sen_Incar_Raw_RL_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_Incar_Raw_RL_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Sen_Incar_RL_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_Incar_RL_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Sen_Incar_Raw_RR_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_Incar_Raw_RR_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Sen_Incar_RR_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_Incar_RR_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + +#else + + // MULTIPLEX master signal + uint8_t dbg_Sen_Incar_MultMsg_Idx; // Bits= 2 + + // multiplex variable + int16_t dbg_Sen_Incar_Raw_FL_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_Incar_Raw_FL_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Sen_Incar_FL_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_Incar_FL_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Sen_Incar_Raw_FR_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_Incar_Raw_FR_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Sen_Incar_FR_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_Incar_FR_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Sen_Incar_Raw_RL_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_Incar_Raw_RL_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Sen_Incar_RL_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_Incar_RL_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Sen_Incar_Raw_RR_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_Incar_Raw_RR_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Sen_Incar_RR_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_Incar_RR_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + +#endif // CANDB_DBG_USE_BITS_SIGNAL + +#ifdef CANDB_DBG_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_DBG_USE_DIAG_MONITORS + +} dbg_Sen_Incar_t; + +// def @dbg_Cmd_Act_Information CAN Message (1024 0x400) +#define dbg_Cmd_Act_Information_IDE (0U) +#define dbg_Cmd_Act_Information_DLC (8U) +#define dbg_Cmd_Act_Information_CANID (0x400U) + +// Value tables for @Cmd_Target_Act_Index signal + +#ifndef Cmd_Target_Act_Index_dbg_Cmd_Act_Information_AutoChange +#define Cmd_Target_Act_Index_dbg_Cmd_Act_Information_AutoChange (63) +#endif + +#ifndef Cmd_Target_Act_Index_dbg_Cmd_Act_Information__SealingValve +#define Cmd_Target_Act_Index_dbg_Cmd_Act_Information__SealingValve (23) +#endif + +#ifndef Cmd_Target_Act_Index_dbg_Cmd_Act_Information__OSA +#define Cmd_Target_Act_Index_dbg_Cmd_Act_Information__OSA (22) +#endif + +#ifndef Cmd_Target_Act_Index_dbg_Cmd_Act_Information__Rec +#define Cmd_Target_Act_Index_dbg_Cmd_Act_Information__Rec (21) +#endif + +#ifndef Cmd_Target_Act_Index_dbg_Cmd_Act_Information__Temp_RR +#define Cmd_Target_Act_Index_dbg_Cmd_Act_Information__Temp_RR (20) +#endif + +#ifndef Cmd_Target_Act_Index_dbg_Cmd_Act_Information__Temp_RL +#define Cmd_Target_Act_Index_dbg_Cmd_Act_Information__Temp_RL (19) +#endif + +#ifndef Cmd_Target_Act_Index_dbg_Cmd_Act_Information__TempL_FR +#define Cmd_Target_Act_Index_dbg_Cmd_Act_Information__TempL_FR (18) +#endif + +#ifndef Cmd_Target_Act_Index_dbg_Cmd_Act_Information__TempU_FR +#define Cmd_Target_Act_Index_dbg_Cmd_Act_Information__TempU_FR (17) +#endif + +#ifndef Cmd_Target_Act_Index_dbg_Cmd_Act_Information__TempL_FL +#define Cmd_Target_Act_Index_dbg_Cmd_Act_Information__TempL_FL (16) +#endif + +#ifndef Cmd_Target_Act_Index_dbg_Cmd_Act_Information__TempU_FL +#define Cmd_Target_Act_Index_dbg_Cmd_Act_Information__TempU_FL (15) +#endif + +#ifndef Cmd_Target_Act_Index_dbg_Cmd_Act_Information__Foot_RR +#define Cmd_Target_Act_Index_dbg_Cmd_Act_Information__Foot_RR (14) +#endif + +#ifndef Cmd_Target_Act_Index_dbg_Cmd_Act_Information__Vent_SRR +#define Cmd_Target_Act_Index_dbg_Cmd_Act_Information__Vent_SRR (13) +#endif + +#ifndef Cmd_Target_Act_Index_dbg_Cmd_Act_Information__Vent_CRR +#define Cmd_Target_Act_Index_dbg_Cmd_Act_Information__Vent_CRR (12) +#endif + +#ifndef Cmd_Target_Act_Index_dbg_Cmd_Act_Information__Foot_RL +#define Cmd_Target_Act_Index_dbg_Cmd_Act_Information__Foot_RL (11) +#endif + +#ifndef Cmd_Target_Act_Index_dbg_Cmd_Act_Information__Vent_CRL +#define Cmd_Target_Act_Index_dbg_Cmd_Act_Information__Vent_CRL (10) +#endif + +#ifndef Cmd_Target_Act_Index_dbg_Cmd_Act_Information__Vent_SRL +#define Cmd_Target_Act_Index_dbg_Cmd_Act_Information__Vent_SRL (9) +#endif + +#ifndef Cmd_Target_Act_Index_dbg_Cmd_Act_Information__Foot_2FR +#define Cmd_Target_Act_Index_dbg_Cmd_Act_Information__Foot_2FR (8) +#endif + +#ifndef Cmd_Target_Act_Index_dbg_Cmd_Act_Information__Foot_1FR +#define Cmd_Target_Act_Index_dbg_Cmd_Act_Information__Foot_1FR (7) +#endif + +#ifndef Cmd_Target_Act_Index_dbg_Cmd_Act_Information__Vent_SFR +#define Cmd_Target_Act_Index_dbg_Cmd_Act_Information__Vent_SFR (6) +#endif + +#ifndef Cmd_Target_Act_Index_dbg_Cmd_Act_Information__Vent_CFR +#define Cmd_Target_Act_Index_dbg_Cmd_Act_Information__Vent_CFR (5) +#endif + +#ifndef Cmd_Target_Act_Index_dbg_Cmd_Act_Information__Foot_2FL +#define Cmd_Target_Act_Index_dbg_Cmd_Act_Information__Foot_2FL (4) +#endif + +#ifndef Cmd_Target_Act_Index_dbg_Cmd_Act_Information__Foot_1FL +#define Cmd_Target_Act_Index_dbg_Cmd_Act_Information__Foot_1FL (3) +#endif + +#ifndef Cmd_Target_Act_Index_dbg_Cmd_Act_Information__Vent_CFL +#define Cmd_Target_Act_Index_dbg_Cmd_Act_Information__Vent_CFL (2) +#endif + +#ifndef Cmd_Target_Act_Index_dbg_Cmd_Act_Information__Vent_SFL +#define Cmd_Target_Act_Index_dbg_Cmd_Act_Information__Vent_SFL (1) +#endif + +#ifndef Cmd_Target_Act_Index_dbg_Cmd_Act_Information__Def +#define Cmd_Target_Act_Index_dbg_Cmd_Act_Information__Def (0) +#endif + + +typedef struct +{ +#ifdef CANDB_DBG_USE_BITS_SIGNAL + + // 63 : "AutoChange" + // 23 : "23_SealingValve" + // 22 : "22_OSA" + // 21 : "21_Rec" + // 20 : "20_Temp_RR" + // 19 : "19_Temp_RL" + // 18 : "18_TempL_FR" + // 17 : "17_TempU_FR" + // 16 : "16_TempL_FL" + // 15 : "15_TempU_FL" + // 14 : "14_Foot_RR" + // 13 : "13_Vent_SRR" + // 12 : "12_Vent_CRR" + // 11 : "11_Foot_RL" + // 10 : "10_Vent_CRL" + // 9 : "09_Vent_SRL" + // 8 : "08_Foot_2FR" + // 7 : "07_Foot_1FR" + // 6 : "06_Vent_SFR" + // 5 : "05_Vent_CFR" + // 4 : "04_Foot_2FL" + // 3 : "03_Foot_1FL" + // 2 : "02_Vent_CFL" + // 1 : "01_Vent_SFL" + // 0 : "00_Def" + uint8_t Cmd_Target_Act_Index : 6; // Bits= 6 Unit:'Index' + +#else + + // 63 : "AutoChange" + // 23 : "23_SealingValve" + // 22 : "22_OSA" + // 21 : "21_Rec" + // 20 : "20_Temp_RR" + // 19 : "19_Temp_RL" + // 18 : "18_TempL_FR" + // 17 : "17_TempU_FR" + // 16 : "16_TempL_FL" + // 15 : "15_TempU_FL" + // 14 : "14_Foot_RR" + // 13 : "13_Vent_SRR" + // 12 : "12_Vent_CRR" + // 11 : "11_Foot_RL" + // 10 : "10_Vent_CRL" + // 9 : "09_Vent_SRL" + // 8 : "08_Foot_2FR" + // 7 : "07_Foot_1FR" + // 6 : "06_Vent_SFR" + // 5 : "05_Vent_CFR" + // 4 : "04_Foot_2FL" + // 3 : "03_Foot_1FL" + // 2 : "02_Vent_CFL" + // 1 : "01_Vent_SFL" + // 0 : "00_Def" + uint8_t Cmd_Target_Act_Index; // Bits= 6 Unit:'Index' + +#endif // CANDB_DBG_USE_BITS_SIGNAL + +#ifdef CANDB_DBG_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_DBG_USE_DIAG_MONITORS + +} dbg_Cmd_Act_Information_t; + +// def @dbg_Info_Act1 CAN Message (1025 0x401) +#define dbg_Info_Act1_IDE (0U) +#define dbg_Info_Act1_DLC (8U) +#define dbg_Info_Act1_CANID (0x401U) + +// Value tables for @dbg_Info_Act_Index signal + +#ifndef dbg_Info_Act_Index_dbg_Info_Act1__SealingValve +#define dbg_Info_Act_Index_dbg_Info_Act1__SealingValve (23) +#endif + +#ifndef dbg_Info_Act_Index_dbg_Info_Act1__OSA +#define dbg_Info_Act_Index_dbg_Info_Act1__OSA (22) +#endif + +#ifndef dbg_Info_Act_Index_dbg_Info_Act1__Rec +#define dbg_Info_Act_Index_dbg_Info_Act1__Rec (21) +#endif + +#ifndef dbg_Info_Act_Index_dbg_Info_Act1__Temp_RR +#define dbg_Info_Act_Index_dbg_Info_Act1__Temp_RR (20) +#endif + +#ifndef dbg_Info_Act_Index_dbg_Info_Act1__Temp_RL +#define dbg_Info_Act_Index_dbg_Info_Act1__Temp_RL (19) +#endif + +#ifndef dbg_Info_Act_Index_dbg_Info_Act1__TempL_FR +#define dbg_Info_Act_Index_dbg_Info_Act1__TempL_FR (18) +#endif + +#ifndef dbg_Info_Act_Index_dbg_Info_Act1__TempU_FR +#define dbg_Info_Act_Index_dbg_Info_Act1__TempU_FR (17) +#endif + +#ifndef dbg_Info_Act_Index_dbg_Info_Act1__TempL_FL +#define dbg_Info_Act_Index_dbg_Info_Act1__TempL_FL (16) +#endif + +#ifndef dbg_Info_Act_Index_dbg_Info_Act1__TempU_FL +#define dbg_Info_Act_Index_dbg_Info_Act1__TempU_FL (15) +#endif + +#ifndef dbg_Info_Act_Index_dbg_Info_Act1__Foot_RR +#define dbg_Info_Act_Index_dbg_Info_Act1__Foot_RR (14) +#endif + +#ifndef dbg_Info_Act_Index_dbg_Info_Act1__Vent_SRR +#define dbg_Info_Act_Index_dbg_Info_Act1__Vent_SRR (13) +#endif + +#ifndef dbg_Info_Act_Index_dbg_Info_Act1__Vent_CRR +#define dbg_Info_Act_Index_dbg_Info_Act1__Vent_CRR (12) +#endif + +#ifndef dbg_Info_Act_Index_dbg_Info_Act1__Foot_RL +#define dbg_Info_Act_Index_dbg_Info_Act1__Foot_RL (11) +#endif + +#ifndef dbg_Info_Act_Index_dbg_Info_Act1__Vent_CRL +#define dbg_Info_Act_Index_dbg_Info_Act1__Vent_CRL (10) +#endif + +#ifndef dbg_Info_Act_Index_dbg_Info_Act1__Vent_SRL +#define dbg_Info_Act_Index_dbg_Info_Act1__Vent_SRL (9) +#endif + +#ifndef dbg_Info_Act_Index_dbg_Info_Act1__Foot_2FR +#define dbg_Info_Act_Index_dbg_Info_Act1__Foot_2FR (8) +#endif + +#ifndef dbg_Info_Act_Index_dbg_Info_Act1__Foot_1FR +#define dbg_Info_Act_Index_dbg_Info_Act1__Foot_1FR (7) +#endif + +#ifndef dbg_Info_Act_Index_dbg_Info_Act1__Vent_SFR +#define dbg_Info_Act_Index_dbg_Info_Act1__Vent_SFR (6) +#endif + +#ifndef dbg_Info_Act_Index_dbg_Info_Act1__Vent_CFR +#define dbg_Info_Act_Index_dbg_Info_Act1__Vent_CFR (5) +#endif + +#ifndef dbg_Info_Act_Index_dbg_Info_Act1__Foot_2FL +#define dbg_Info_Act_Index_dbg_Info_Act1__Foot_2FL (4) +#endif + +#ifndef dbg_Info_Act_Index_dbg_Info_Act1__Foot_1FL +#define dbg_Info_Act_Index_dbg_Info_Act1__Foot_1FL (3) +#endif + +#ifndef dbg_Info_Act_Index_dbg_Info_Act1__Vent_CFL +#define dbg_Info_Act_Index_dbg_Info_Act1__Vent_CFL (2) +#endif + +#ifndef dbg_Info_Act_Index_dbg_Info_Act1__Vent_SFL +#define dbg_Info_Act_Index_dbg_Info_Act1__Vent_SFL (1) +#endif + +#ifndef dbg_Info_Act_Index_dbg_Info_Act1__Def +#define dbg_Info_Act_Index_dbg_Info_Act1__Def (0) +#endif + +// signal: @dbg_Info_Act_App_Percent_ro +#define CANDB_DBG_dbg_Info_Act_App_Percent_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Info_Act_App_Percent_ro_toS(x) ( (uint16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Info_Act_App_Percent_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @dbg_Info_Act_with_Limit_Percent_ro +#define CANDB_DBG_dbg_Info_Act_with_Limit_Percent_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Info_Act_with_Limit_Percent_ro_toS(x) ( (uint16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Info_Act_with_Limit_Percent_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) + +typedef struct +{ +#ifdef CANDB_DBG_USE_BITS_SIGNAL + + // 23 : "23_SealingValve" + // 22 : "22_OSA" + // 21 : "21_Rec" + // 20 : "20_Temp_RR" + // 19 : "19_Temp_RL" + // 18 : "18_TempL_FR" + // 17 : "17_TempU_FR" + // 16 : "16_TempL_FL" + // 15 : "15_TempU_FL" + // 14 : "14_Foot_RR" + // 13 : "13_Vent_SRR" + // 12 : "12_Vent_CRR" + // 11 : "11_Foot_RL" + // 10 : "10_Vent_CRL" + // 9 : "09_Vent_SRL" + // 8 : "08_Foot_2FR" + // 7 : "07_Foot_1FR" + // 6 : "06_Vent_SFR" + // 5 : "05_Vent_CFR" + // 4 : "04_Foot_2FL" + // 3 : "03_Foot_1FL" + // 2 : "02_Vent_CFL" + // 1 : "01_Vent_SFL" + // 0 : "00_Def" + uint8_t dbg_Info_Act_Index : 6; // Bits= 6 Unit:'Idx' + + uint16_t dbg_Info_Act_App_Percent_ro; // Bits=10 Factor= 0.1 Unit:'%' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Info_Act_App_Percent_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + uint16_t dbg_Info_Act_with_Limit_Percent_ro; // Bits=10 Factor= 0.1 Unit:'%' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Info_Act_with_Limit_Percent_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + uint16_t dbg_Info_Act_Current_Count; // Bits=12 Unit:'Count' + + uint16_t dbg_Info_Act_Range_Count; // Bits=12 Unit:'Count' + + uint16_t dbg_Info_Act_Default_Count; // Bits=12 Unit:'Count' + +#else + + // 23 : "23_SealingValve" + // 22 : "22_OSA" + // 21 : "21_Rec" + // 20 : "20_Temp_RR" + // 19 : "19_Temp_RL" + // 18 : "18_TempL_FR" + // 17 : "17_TempU_FR" + // 16 : "16_TempL_FL" + // 15 : "15_TempU_FL" + // 14 : "14_Foot_RR" + // 13 : "13_Vent_SRR" + // 12 : "12_Vent_CRR" + // 11 : "11_Foot_RL" + // 10 : "10_Vent_CRL" + // 9 : "09_Vent_SRL" + // 8 : "08_Foot_2FR" + // 7 : "07_Foot_1FR" + // 6 : "06_Vent_SFR" + // 5 : "05_Vent_CFR" + // 4 : "04_Foot_2FL" + // 3 : "03_Foot_1FL" + // 2 : "02_Vent_CFL" + // 1 : "01_Vent_SFL" + // 0 : "00_Def" + uint8_t dbg_Info_Act_Index; // Bits= 6 Unit:'Idx' + + uint16_t dbg_Info_Act_App_Percent_ro; // Bits=10 Factor= 0.1 Unit:'%' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Info_Act_App_Percent_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + uint16_t dbg_Info_Act_with_Limit_Percent_ro; // Bits=10 Factor= 0.1 Unit:'%' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Info_Act_with_Limit_Percent_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + uint16_t dbg_Info_Act_Current_Count; // Bits=12 Unit:'Count' + + uint16_t dbg_Info_Act_Range_Count; // Bits=12 Unit:'Count' + + uint16_t dbg_Info_Act_Default_Count; // Bits=12 Unit:'Count' + +#endif // CANDB_DBG_USE_BITS_SIGNAL + +#ifdef CANDB_DBG_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_DBG_USE_DIAG_MONITORS + +} dbg_Info_Act1_t; + +// def @dbg_Info_Act2 CAN Message (1026 0x402) +#define dbg_Info_Act2_IDE (0U) +#define dbg_Info_Act2_DLC (8U) +#define dbg_Info_Act2_CANID (0x402U) + +typedef struct +{ +#ifdef CANDB_DBG_USE_BITS_SIGNAL + + uint8_t dbg_Info_Act_Msg_Missing_Flag : 1; // Bits= 1 Unit:'(clear 0, set 1)' + + uint8_t dbg_Info_Act_Internal_Fail_Flag : 1; // Bits= 1 Unit:'(clear 0, set 1)' + + uint8_t dbg_Info_Act_Homing_Err_Flag : 1; // Bits= 1 Unit:'(clear 0, set 1)' + + uint8_t dbg_Info_Act_Range_Err_Flag : 1; // Bits= 1 Unit:'(clear 0, set 1)' + + uint8_t dbg_Info_Act_Range_Fail_Flag : 1; // Bits= 1 Unit:'(clear 0, set 1)' + + uint8_t dbg_Info_Act_Range_Err_Operation : 1; // Bits= 1 Unit:'(clear 0, set 1)' + + uint8_t dbg_Info_Act_Range_Err_Check_Cnt; // Bits= 8 Unit:'count' + + uint16_t dbg_Info_Act_Range_Err_Timer; // Bits=10 Unit:'sec' + +#else + + uint8_t dbg_Info_Act_Msg_Missing_Flag; // Bits= 1 Unit:'(clear 0, set 1)' + + uint8_t dbg_Info_Act_Internal_Fail_Flag; // Bits= 1 Unit:'(clear 0, set 1)' + + uint8_t dbg_Info_Act_Homing_Err_Flag; // Bits= 1 Unit:'(clear 0, set 1)' + + uint8_t dbg_Info_Act_Range_Err_Flag; // Bits= 1 Unit:'(clear 0, set 1)' + + uint8_t dbg_Info_Act_Range_Fail_Flag; // Bits= 1 Unit:'(clear 0, set 1)' + + uint8_t dbg_Info_Act_Range_Err_Operation; // Bits= 1 Unit:'(clear 0, set 1)' + + uint8_t dbg_Info_Act_Range_Err_Check_Cnt; // Bits= 8 Unit:'count' + + uint16_t dbg_Info_Act_Range_Err_Timer; // Bits=10 Unit:'sec' + +#endif // CANDB_DBG_USE_BITS_SIGNAL + +#ifdef CANDB_DBG_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_DBG_USE_DIAG_MONITORS + +} dbg_Info_Act2_t; + +// def @dbg_Sen_Eva CAN Message (1284 0x504) +#define dbg_Sen_Eva_IDE (0U) +#define dbg_Sen_Eva_DLC (8U) +#define dbg_Sen_Eva_CANID (0x504U) +// signal: @dbg_Sen_Eva_Target_ro +#define CANDB_DBG_dbg_Sen_Eva_Target_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Sen_Eva_Target_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Sen_Eva_Target_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @dbg_Sen_Eva_Diff_FrontRear_ro +#define CANDB_DBG_dbg_Sen_Eva_Diff_FrontRear_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Sen_Eva_Diff_FrontRear_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Sen_Eva_Diff_FrontRear_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @dbg_Sen_Eva_F_ro +#define CANDB_DBG_dbg_Sen_Eva_F_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Sen_Eva_F_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Sen_Eva_F_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @dbg_Sen_Eva_R_ro +#define CANDB_DBG_dbg_Sen_Eva_R_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Sen_Eva_R_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Sen_Eva_R_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) + +typedef struct +{ +#ifdef CANDB_DBG_USE_BITS_SIGNAL + + int16_t dbg_Sen_Eva_Target_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_Eva_Target_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + int16_t dbg_Sen_Eva_Diff_FrontRear_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_Eva_Diff_FrontRear_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + int16_t dbg_Sen_Eva_F_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_Eva_F_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + int16_t dbg_Sen_Eva_R_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_Eva_R_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + +#else + + int16_t dbg_Sen_Eva_Target_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_Eva_Target_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + int16_t dbg_Sen_Eva_Diff_FrontRear_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_Eva_Diff_FrontRear_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + int16_t dbg_Sen_Eva_F_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_Eva_F_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + int16_t dbg_Sen_Eva_R_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_Eva_R_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + +#endif // CANDB_DBG_USE_BITS_SIGNAL + +#ifdef CANDB_DBG_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_DBG_USE_DIAG_MONITORS + +} dbg_Sen_Eva_t; + +// def @dbg_Sen_Duct CAN Message (1285 0x505) +#define dbg_Sen_Duct_IDE (0U) +#define dbg_Sen_Duct_DLC (8U) +#define dbg_Sen_Duct_CANID (0x505U) +#define dbg_Sen_Duct_CYC (250U) + +// Value tables for @dbg_Sen_Duct_MultMsg_Idx signal + +#ifndef dbg_Sen_Duct_MultMsg_Idx_dbg_Sen_Duct_RR +#define dbg_Sen_Duct_MultMsg_Idx_dbg_Sen_Duct_RR (3) +#endif + +#ifndef dbg_Sen_Duct_MultMsg_Idx_dbg_Sen_Duct_RL +#define dbg_Sen_Duct_MultMsg_Idx_dbg_Sen_Duct_RL (2) +#endif + +#ifndef dbg_Sen_Duct_MultMsg_Idx_dbg_Sen_Duct_FR +#define dbg_Sen_Duct_MultMsg_Idx_dbg_Sen_Duct_FR (1) +#endif + +#ifndef dbg_Sen_Duct_MultMsg_Idx_dbg_Sen_Duct_FL +#define dbg_Sen_Duct_MultMsg_Idx_dbg_Sen_Duct_FL (0) +#endif + + +// Value tables for @dbg_Sen_Duct_FL_Fb_Select signal + +#ifndef dbg_Sen_Duct_FL_Fb_Select_dbg_Sen_Duct_Side +#define dbg_Sen_Duct_FL_Fb_Select_dbg_Sen_Duct_Side (1) +#endif + +#ifndef dbg_Sen_Duct_FL_Fb_Select_dbg_Sen_Duct_Central +#define dbg_Sen_Duct_FL_Fb_Select_dbg_Sen_Duct_Central (0) +#endif + + +// Value tables for @dbg_Sen_Duct_RR_Fb_Select signal + +#ifndef dbg_Sen_Duct_RR_Fb_Select_dbg_Sen_Duct_Side +#define dbg_Sen_Duct_RR_Fb_Select_dbg_Sen_Duct_Side (1) +#endif + +#ifndef dbg_Sen_Duct_RR_Fb_Select_dbg_Sen_Duct_Central +#define dbg_Sen_Duct_RR_Fb_Select_dbg_Sen_Duct_Central (0) +#endif + + +// Value tables for @dbg_Sen_Duct_RL_Fb_Select signal + +#ifndef dbg_Sen_Duct_RL_Fb_Select_dbg_Sen_Duct_Side +#define dbg_Sen_Duct_RL_Fb_Select_dbg_Sen_Duct_Side (1) +#endif + +#ifndef dbg_Sen_Duct_RL_Fb_Select_dbg_Sen_Duct_Central +#define dbg_Sen_Duct_RL_Fb_Select_dbg_Sen_Duct_Central (0) +#endif + + +// Value tables for @dbg_Sen_Duct_FR_Fb_Select signal + +#ifndef dbg_Sen_Duct_FR_Fb_Select_dbg_Sen_Duct_Side +#define dbg_Sen_Duct_FR_Fb_Select_dbg_Sen_Duct_Side (1) +#endif + +#ifndef dbg_Sen_Duct_FR_Fb_Select_dbg_Sen_Duct_Central +#define dbg_Sen_Duct_FR_Fb_Select_dbg_Sen_Duct_Central (0) +#endif + +// signal: @dbg_Sen_Duct_RL_Tgt_ro +#define CANDB_DBG_dbg_Sen_Duct_RL_Tgt_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Sen_Duct_RL_Tgt_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Sen_Duct_RL_Tgt_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @dbg_Sen_Duct_FR_Upper_Tgt_ro +#define CANDB_DBG_dbg_Sen_Duct_FR_Upper_Tgt_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Sen_Duct_FR_Upper_Tgt_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Sen_Duct_FR_Upper_Tgt_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @dbg_Sen_Duct_RR_Tgt_ro +#define CANDB_DBG_dbg_Sen_Duct_RR_Tgt_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Sen_Duct_RR_Tgt_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Sen_Duct_RR_Tgt_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @dbg_Sen_Duct_FL_Upper_Tgt_ro +#define CANDB_DBG_dbg_Sen_Duct_FL_Upper_Tgt_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Sen_Duct_FL_Upper_Tgt_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Sen_Duct_FL_Upper_Tgt_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @dbg_Sen_Duct_RR_Fb_ro +#define CANDB_DBG_dbg_Sen_Duct_RR_Fb_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Sen_Duct_RR_Fb_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Sen_Duct_RR_Fb_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @dbg_Sen_Duct_RL_Fb_ro +#define CANDB_DBG_dbg_Sen_Duct_RL_Fb_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Sen_Duct_RL_Fb_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Sen_Duct_RL_Fb_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @dbg_Sen_Duct_FR_Upper_Fb_ro +#define CANDB_DBG_dbg_Sen_Duct_FR_Upper_Fb_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Sen_Duct_FR_Upper_Fb_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Sen_Duct_FR_Upper_Fb_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @dbg_Sen_Duct_FL_Upper_Fb_ro +#define CANDB_DBG_dbg_Sen_Duct_FL_Upper_Fb_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Sen_Duct_FL_Upper_Fb_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Sen_Duct_FL_Upper_Fb_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @dbg_Sen_Duct_FR_Side_Fb_ro +#define CANDB_DBG_dbg_Sen_Duct_FR_Side_Fb_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Sen_Duct_FR_Side_Fb_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Sen_Duct_FR_Side_Fb_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @dbg_Sen_Duct_FL_Side_Fb_ro +#define CANDB_DBG_dbg_Sen_Duct_FL_Side_Fb_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Sen_Duct_FL_Side_Fb_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Sen_Duct_FL_Side_Fb_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @dbg_Sen_Duct_RL_Side_Fb_ro +#define CANDB_DBG_dbg_Sen_Duct_RL_Side_Fb_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Sen_Duct_RL_Side_Fb_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Sen_Duct_RL_Side_Fb_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @dbg_Sen_Duct_RR_Side_Fb_ro +#define CANDB_DBG_dbg_Sen_Duct_RR_Side_Fb_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Sen_Duct_RR_Side_Fb_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Sen_Duct_RR_Side_Fb_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @dbg_Sen_Duct_FR_Lower_Tgt_ro +#define CANDB_DBG_dbg_Sen_Duct_FR_Lower_Tgt_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Sen_Duct_FR_Lower_Tgt_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Sen_Duct_FR_Lower_Tgt_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @dbg_Sen_Duct_FL_Lower_Tgt_ro +#define CANDB_DBG_dbg_Sen_Duct_FL_Lower_Tgt_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Sen_Duct_FL_Lower_Tgt_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Sen_Duct_FL_Lower_Tgt_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @dbg_Sen_Duct_FR_Lower_Fb_ro +#define CANDB_DBG_dbg_Sen_Duct_FR_Lower_Fb_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Sen_Duct_FR_Lower_Fb_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Sen_Duct_FR_Lower_Fb_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @dbg_Sen_Duct_FL_Lower_Fb_ro +#define CANDB_DBG_dbg_Sen_Duct_FL_Lower_Fb_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Sen_Duct_FL_Lower_Fb_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Sen_Duct_FL_Lower_Fb_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) + +typedef struct +{ +#ifdef CANDB_DBG_USE_BITS_SIGNAL + + // 3 : "RR" + // 2 : "RL" + // 1 : "FR" + // 0 : "FL" + // MULTIPLEX master signal + uint8_t dbg_Sen_Duct_MultMsg_Idx : 2; // Bits= 2 + + // 1 : "Side" + // 0 : "Central" + // multiplex variable + uint8_t dbg_Sen_Duct_FL_Fb_Select : 1; // Bits= 1 Unit:'(central 0, side 1)' + + // 1 : "Side" + // 0 : "Central" + // multiplex variable + uint8_t dbg_Sen_Duct_RR_Fb_Select : 1; // Bits= 1 Unit:'(central 0, side 1)' + + // 1 : "Side" + // 0 : "Central" + // multiplex variable + uint8_t dbg_Sen_Duct_RL_Fb_Select : 1; // Bits= 1 Unit:'(central 0, side 1)' + + // 1 : "Side" + // 0 : "Central" + // multiplex variable + uint8_t dbg_Sen_Duct_FR_Fb_Select : 1; // Bits= 1 Unit:'(central 0, side 1)' + + // multiplex variable + int16_t dbg_Sen_Duct_RL_Tgt_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_Duct_RL_Tgt_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Sen_Duct_FR_Upper_Tgt_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_Duct_FR_Upper_Tgt_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Sen_Duct_RR_Tgt_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_Duct_RR_Tgt_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Sen_Duct_FL_Upper_Tgt_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_Duct_FL_Upper_Tgt_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Sen_Duct_RR_Fb_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_Duct_RR_Fb_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Sen_Duct_RL_Fb_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_Duct_RL_Fb_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Sen_Duct_FR_Upper_Fb_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_Duct_FR_Upper_Fb_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Sen_Duct_FL_Upper_Fb_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_Duct_FL_Upper_Fb_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Sen_Duct_FR_Side_Fb_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_Duct_FR_Side_Fb_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Sen_Duct_FL_Side_Fb_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_Duct_FL_Side_Fb_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Sen_Duct_RL_Side_Fb_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_Duct_RL_Side_Fb_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Sen_Duct_RR_Side_Fb_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_Duct_RR_Side_Fb_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Sen_Duct_FR_Lower_Tgt_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_Duct_FR_Lower_Tgt_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Sen_Duct_FL_Lower_Tgt_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_Duct_FL_Lower_Tgt_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Sen_Duct_FR_Lower_Fb_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_Duct_FR_Lower_Fb_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Sen_Duct_FL_Lower_Fb_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_Duct_FL_Lower_Fb_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + +#else + + // 3 : "RR" + // 2 : "RL" + // 1 : "FR" + // 0 : "FL" + // MULTIPLEX master signal + uint8_t dbg_Sen_Duct_MultMsg_Idx; // Bits= 2 + + // 1 : "Side" + // 0 : "Central" + // multiplex variable + uint8_t dbg_Sen_Duct_FL_Fb_Select; // Bits= 1 Unit:'(central 0, side 1)' + + // 1 : "Side" + // 0 : "Central" + // multiplex variable + uint8_t dbg_Sen_Duct_RR_Fb_Select; // Bits= 1 Unit:'(central 0, side 1)' + + // 1 : "Side" + // 0 : "Central" + // multiplex variable + uint8_t dbg_Sen_Duct_RL_Fb_Select; // Bits= 1 Unit:'(central 0, side 1)' + + // 1 : "Side" + // 0 : "Central" + // multiplex variable + uint8_t dbg_Sen_Duct_FR_Fb_Select; // Bits= 1 Unit:'(central 0, side 1)' + + // multiplex variable + int16_t dbg_Sen_Duct_RL_Tgt_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_Duct_RL_Tgt_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Sen_Duct_FR_Upper_Tgt_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_Duct_FR_Upper_Tgt_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Sen_Duct_RR_Tgt_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_Duct_RR_Tgt_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Sen_Duct_FL_Upper_Tgt_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_Duct_FL_Upper_Tgt_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Sen_Duct_RR_Fb_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_Duct_RR_Fb_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Sen_Duct_RL_Fb_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_Duct_RL_Fb_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Sen_Duct_FR_Upper_Fb_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_Duct_FR_Upper_Fb_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Sen_Duct_FL_Upper_Fb_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_Duct_FL_Upper_Fb_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Sen_Duct_FR_Side_Fb_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_Duct_FR_Side_Fb_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Sen_Duct_FL_Side_Fb_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_Duct_FL_Side_Fb_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Sen_Duct_RL_Side_Fb_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_Duct_RL_Side_Fb_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Sen_Duct_RR_Side_Fb_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_Duct_RR_Side_Fb_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Sen_Duct_FR_Lower_Tgt_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_Duct_FR_Lower_Tgt_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Sen_Duct_FL_Lower_Tgt_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_Duct_FL_Lower_Tgt_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Sen_Duct_FR_Lower_Fb_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_Duct_FR_Lower_Fb_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Sen_Duct_FL_Lower_Fb_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_Duct_FL_Lower_Fb_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + +#endif // CANDB_DBG_USE_BITS_SIGNAL + +#ifdef CANDB_DBG_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_DBG_USE_DIAG_MONITORS + +} dbg_Sen_Duct_t; + +// def @dbg_Sen_Demist CAN Message (1289 0x509) +#define dbg_Sen_Demist_IDE (0U) +#define dbg_Sen_Demist_DLC (6U) +#define dbg_Sen_Demist_CANID (0x509U) +// signal: @dbg_Sen_DewPoint_Diff_ro +#define CANDB_DBG_dbg_Sen_DewPoint_Diff_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Sen_DewPoint_Diff_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Sen_DewPoint_Diff_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @dbg_Sen_WindShield_Humidity_ro +#define CANDB_DBG_dbg_Sen_WindShield_Humidity_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Sen_WindShield_Humidity_ro_toS(x) ( (uint16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Sen_WindShield_Humidity_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @dbg_Sen_WindShield_Temp_ro +#define CANDB_DBG_dbg_Sen_WindShield_Temp_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Sen_WindShield_Temp_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Sen_WindShield_Temp_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) + +typedef struct +{ +#ifdef CANDB_DBG_USE_BITS_SIGNAL + + int16_t dbg_Sen_DewPoint_Diff_ro; // [-] Bits=16 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_DewPoint_Diff_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + uint16_t dbg_Sen_WindShield_Humidity_ro; // Bits=10 Factor= 0.1 Unit:'%' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_WindShield_Humidity_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + int16_t dbg_Sen_WindShield_Temp_ro; // [-] Bits=16 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_WindShield_Temp_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + +#else + + int16_t dbg_Sen_DewPoint_Diff_ro; // [-] Bits=16 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_DewPoint_Diff_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + uint16_t dbg_Sen_WindShield_Humidity_ro; // Bits=10 Factor= 0.1 Unit:'%' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_WindShield_Humidity_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + int16_t dbg_Sen_WindShield_Temp_ro; // [-] Bits=16 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Sen_WindShield_Temp_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + +#endif // CANDB_DBG_USE_BITS_SIGNAL + +#ifdef CANDB_DBG_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_DBG_USE_DIAG_MONITORS + +} dbg_Sen_Demist_t; + +// def @dbg_LIN_AirQS_Stat CAN Message (1296 0x510) +#define dbg_LIN_AirQS_Stat_IDE (0U) +#define dbg_LIN_AirQS_Stat_DLC (3U) +#define dbg_LIN_AirQS_Stat_CANID (0x510U) + +// Value tables for @LIN_AirQS_LinRespErr_Stat signal + +#ifndef LIN_AirQS_LinRespErr_Stat_dbg_LIN_AirQS_Stat_Error +#define LIN_AirQS_LinRespErr_Stat_dbg_LIN_AirQS_Stat_Error (1) +#endif + +#ifndef LIN_AirQS_LinRespErr_Stat_dbg_LIN_AirQS_Stat_No_Error +#define LIN_AirQS_LinRespErr_Stat_dbg_LIN_AirQS_Stat_No_Error (0) +#endif + + +// Value tables for @LIN_AirQualSen_Stat signal + +#ifndef LIN_AirQualSen_Stat_dbg_LIN_AirQS_Stat_Sensor_is_off_standby_mode +#define LIN_AirQualSen_Stat_dbg_LIN_AirQS_Stat_Sensor_is_off_standby_mode (2) +#endif + +#ifndef LIN_AirQualSen_Stat_dbg_LIN_AirQS_Stat_Sensor_is_on_active_mode +#define LIN_AirQualSen_Stat_dbg_LIN_AirQS_Stat_Sensor_is_on_active_mode (1) +#endif + +#ifndef LIN_AirQualSen_Stat_dbg_LIN_AirQS_Stat_Initializing +#define LIN_AirQualSen_Stat_dbg_LIN_AirQS_Stat_Initializing (0) +#endif + + +// Value tables for @LIN_AirQualSenCombined_Val signal + +#ifndef LIN_AirQualSenCombined_Val_dbg_LIN_AirQS_Stat_Low_air_quality_ +#define LIN_AirQualSenCombined_Val_dbg_LIN_AirQS_Stat_Low_air_quality_ (3) +#endif + +#ifndef LIN_AirQualSenCombined_Val_dbg_LIN_AirQS_Stat_Medium_air_quality +#define LIN_AirQualSenCombined_Val_dbg_LIN_AirQS_Stat_Medium_air_quality (2) +#endif + +#ifndef LIN_AirQualSenCombined_Val_dbg_LIN_AirQS_Stat_Hight_air_quality +#define LIN_AirQualSenCombined_Val_dbg_LIN_AirQS_Stat_Hight_air_quality (1) +#endif + +#ifndef LIN_AirQualSenCombined_Val_dbg_LIN_AirQS_Stat_No_Clean_air +#define LIN_AirQualSenCombined_Val_dbg_LIN_AirQS_Stat_No_Clean_air (0) +#endif + + +// Value tables for @LIN_AirQualSen_Error_Stat signal + +#ifndef LIN_AirQualSen_Error_Stat_dbg_LIN_AirQS_Stat_Component_malfunction +#define LIN_AirQualSen_Error_Stat_dbg_LIN_AirQS_Stat_Component_malfunction (3) +#endif + +#ifndef LIN_AirQualSen_Error_Stat_dbg_LIN_AirQS_Stat_Supply_chain_short +#define LIN_AirQualSen_Error_Stat_dbg_LIN_AirQS_Stat_Supply_chain_short (2) +#endif + +#ifndef LIN_AirQualSen_Error_Stat_dbg_LIN_AirQS_Stat_Supply_chain_break +#define LIN_AirQualSen_Error_Stat_dbg_LIN_AirQS_Stat_Supply_chain_break (1) +#endif + +#ifndef LIN_AirQualSen_Error_Stat_dbg_LIN_AirQS_Stat_No_error +#define LIN_AirQualSen_Error_Stat_dbg_LIN_AirQS_Stat_No_error (0) +#endif + + +// Value tables for @LIN_AirQualSenCOlvl_Val signal + +#ifndef LIN_AirQualSenCOlvl_Val_dbg_LIN_AirQS_Stat_Level_10_100_pollunion_ +#define LIN_AirQualSenCOlvl_Val_dbg_LIN_AirQS_Stat_Level_10_100_pollunion_ (10) +#endif + +#ifndef LIN_AirQualSenCOlvl_Val_dbg_LIN_AirQS_Stat_Level_9_90_pollunion_ +#define LIN_AirQualSenCOlvl_Val_dbg_LIN_AirQS_Stat_Level_9_90_pollunion_ (9) +#endif + +#ifndef LIN_AirQualSenCOlvl_Val_dbg_LIN_AirQS_Stat_Level_8_80_pollunion_ +#define LIN_AirQualSenCOlvl_Val_dbg_LIN_AirQS_Stat_Level_8_80_pollunion_ (8) +#endif + +#ifndef LIN_AirQualSenCOlvl_Val_dbg_LIN_AirQS_Stat_Level_7_70_pollunion_ +#define LIN_AirQualSenCOlvl_Val_dbg_LIN_AirQS_Stat_Level_7_70_pollunion_ (7) +#endif + +#ifndef LIN_AirQualSenCOlvl_Val_dbg_LIN_AirQS_Stat_Level_6_60_pollunion_ +#define LIN_AirQualSenCOlvl_Val_dbg_LIN_AirQS_Stat_Level_6_60_pollunion_ (6) +#endif + +#ifndef LIN_AirQualSenCOlvl_Val_dbg_LIN_AirQS_Stat_Level_5_50_pollunion +#define LIN_AirQualSenCOlvl_Val_dbg_LIN_AirQS_Stat_Level_5_50_pollunion (5) +#endif + +#ifndef LIN_AirQualSenCOlvl_Val_dbg_LIN_AirQS_Stat_Level_4_40_pollunion_ +#define LIN_AirQualSenCOlvl_Val_dbg_LIN_AirQS_Stat_Level_4_40_pollunion_ (4) +#endif + +#ifndef LIN_AirQualSenCOlvl_Val_dbg_LIN_AirQS_Stat_Level_3_30_pollunion +#define LIN_AirQualSenCOlvl_Val_dbg_LIN_AirQS_Stat_Level_3_30_pollunion (3) +#endif + +#ifndef LIN_AirQualSenCOlvl_Val_dbg_LIN_AirQS_Stat_Level_2_20_pollunion +#define LIN_AirQualSenCOlvl_Val_dbg_LIN_AirQS_Stat_Level_2_20_pollunion (2) +#endif + +#ifndef LIN_AirQualSenCOlvl_Val_dbg_LIN_AirQS_Stat_Level_1_10_pollunion_ +#define LIN_AirQualSenCOlvl_Val_dbg_LIN_AirQS_Stat_Level_1_10_pollunion_ (1) +#endif + +#ifndef LIN_AirQualSenCOlvl_Val_dbg_LIN_AirQS_Stat_Level_0_clean_air +#define LIN_AirQualSenCOlvl_Val_dbg_LIN_AirQS_Stat_Level_0_clean_air (0) +#endif + + +// Value tables for @LIN_AirQualSenNOxlvl_Val signal + +#ifndef LIN_AirQualSenNOxlvl_Val_dbg_LIN_AirQS_Stat_Level_10_100_pollunion_ +#define LIN_AirQualSenNOxlvl_Val_dbg_LIN_AirQS_Stat_Level_10_100_pollunion_ (10) +#endif + +#ifndef LIN_AirQualSenNOxlvl_Val_dbg_LIN_AirQS_Stat_Level_9_90_pollunion_ +#define LIN_AirQualSenNOxlvl_Val_dbg_LIN_AirQS_Stat_Level_9_90_pollunion_ (9) +#endif + +#ifndef LIN_AirQualSenNOxlvl_Val_dbg_LIN_AirQS_Stat_Level_8_80_pollunion_ +#define LIN_AirQualSenNOxlvl_Val_dbg_LIN_AirQS_Stat_Level_8_80_pollunion_ (8) +#endif + +#ifndef LIN_AirQualSenNOxlvl_Val_dbg_LIN_AirQS_Stat_Level_7_70_pollunion_ +#define LIN_AirQualSenNOxlvl_Val_dbg_LIN_AirQS_Stat_Level_7_70_pollunion_ (7) +#endif + +#ifndef LIN_AirQualSenNOxlvl_Val_dbg_LIN_AirQS_Stat_Level_6_60_pollunion_ +#define LIN_AirQualSenNOxlvl_Val_dbg_LIN_AirQS_Stat_Level_6_60_pollunion_ (6) +#endif + +#ifndef LIN_AirQualSenNOxlvl_Val_dbg_LIN_AirQS_Stat_Level_5_50_pollunion +#define LIN_AirQualSenNOxlvl_Val_dbg_LIN_AirQS_Stat_Level_5_50_pollunion (5) +#endif + +#ifndef LIN_AirQualSenNOxlvl_Val_dbg_LIN_AirQS_Stat_Level_4_40_pollunion_ +#define LIN_AirQualSenNOxlvl_Val_dbg_LIN_AirQS_Stat_Level_4_40_pollunion_ (4) +#endif + +#ifndef LIN_AirQualSenNOxlvl_Val_dbg_LIN_AirQS_Stat_Level_3_30_pollunion +#define LIN_AirQualSenNOxlvl_Val_dbg_LIN_AirQS_Stat_Level_3_30_pollunion (3) +#endif + +#ifndef LIN_AirQualSenNOxlvl_Val_dbg_LIN_AirQS_Stat_Level_2_20_pollunion +#define LIN_AirQualSenNOxlvl_Val_dbg_LIN_AirQS_Stat_Level_2_20_pollunion (2) +#endif + +#ifndef LIN_AirQualSenNOxlvl_Val_dbg_LIN_AirQS_Stat_Level_1_10_pollunion_ +#define LIN_AirQualSenNOxlvl_Val_dbg_LIN_AirQS_Stat_Level_1_10_pollunion_ (1) +#endif + +#ifndef LIN_AirQualSenNOxlvl_Val_dbg_LIN_AirQS_Stat_Level_0_clean_air +#define LIN_AirQualSenNOxlvl_Val_dbg_LIN_AirQS_Stat_Level_0_clean_air (0) +#endif + + +// Value tables for @LIN_AirQualSenNH3lvl_Val signal + +#ifndef LIN_AirQualSenNH3lvl_Val_dbg_LIN_AirQS_Stat_Level_10_100_pollunion_ +#define LIN_AirQualSenNH3lvl_Val_dbg_LIN_AirQS_Stat_Level_10_100_pollunion_ (10) +#endif + +#ifndef LIN_AirQualSenNH3lvl_Val_dbg_LIN_AirQS_Stat_Level_9_90_pollunion_ +#define LIN_AirQualSenNH3lvl_Val_dbg_LIN_AirQS_Stat_Level_9_90_pollunion_ (9) +#endif + +#ifndef LIN_AirQualSenNH3lvl_Val_dbg_LIN_AirQS_Stat_Level_8_80_pollunion_ +#define LIN_AirQualSenNH3lvl_Val_dbg_LIN_AirQS_Stat_Level_8_80_pollunion_ (8) +#endif + +#ifndef LIN_AirQualSenNH3lvl_Val_dbg_LIN_AirQS_Stat_Level_7_70_pollunion_ +#define LIN_AirQualSenNH3lvl_Val_dbg_LIN_AirQS_Stat_Level_7_70_pollunion_ (7) +#endif + +#ifndef LIN_AirQualSenNH3lvl_Val_dbg_LIN_AirQS_Stat_Level_6_60_pollunion_ +#define LIN_AirQualSenNH3lvl_Val_dbg_LIN_AirQS_Stat_Level_6_60_pollunion_ (6) +#endif + +#ifndef LIN_AirQualSenNH3lvl_Val_dbg_LIN_AirQS_Stat_Level_5_50_pollunion +#define LIN_AirQualSenNH3lvl_Val_dbg_LIN_AirQS_Stat_Level_5_50_pollunion (5) +#endif + +#ifndef LIN_AirQualSenNH3lvl_Val_dbg_LIN_AirQS_Stat_Level_4_40_pollunion_ +#define LIN_AirQualSenNH3lvl_Val_dbg_LIN_AirQS_Stat_Level_4_40_pollunion_ (4) +#endif + +#ifndef LIN_AirQualSenNH3lvl_Val_dbg_LIN_AirQS_Stat_Level_3_30_pollunion +#define LIN_AirQualSenNH3lvl_Val_dbg_LIN_AirQS_Stat_Level_3_30_pollunion (3) +#endif + +#ifndef LIN_AirQualSenNH3lvl_Val_dbg_LIN_AirQS_Stat_Level_2_20_pollunion +#define LIN_AirQualSenNH3lvl_Val_dbg_LIN_AirQS_Stat_Level_2_20_pollunion (2) +#endif + +#ifndef LIN_AirQualSenNH3lvl_Val_dbg_LIN_AirQS_Stat_Level_1_10_pollunion_ +#define LIN_AirQualSenNH3lvl_Val_dbg_LIN_AirQS_Stat_Level_1_10_pollunion_ (1) +#endif + +#ifndef LIN_AirQualSenNH3lvl_Val_dbg_LIN_AirQS_Stat_Level_0_clean_air +#define LIN_AirQualSenNH3lvl_Val_dbg_LIN_AirQS_Stat_Level_0_clean_air (0) +#endif + + +typedef struct +{ +#ifdef CANDB_DBG_USE_BITS_SIGNAL + + // 1 : "Error" + // 0 : "No_Error" + uint8_t LIN_AirQS_LinRespErr_Stat : 1; // Bits= 1 + + // 2 : "Sensor is off (standby mode)" + // 1 : "Sensor is on (active mode)" + // 0 : "Initializing" + uint8_t LIN_AirQualSen_Stat : 2; // Bits= 2 + + // 3 : "Low air quality " + // 2 : "Medium air quality" + // 1 : "Hight air quality" + // 0 : "No (Clean air)" + uint8_t LIN_AirQualSenCombined_Val : 2; // Bits= 2 + + // 3 : "Component malfunction" + // 2 : "Supply chain short" + // 1 : "Supply chain break" + // 0 : "No error" + uint8_t LIN_AirQualSen_Error_Stat : 2; // Bits= 2 + + // 10 : "Level 10 (100% pollunion) " + // 9 : "Level 9 (90% pollunion) " + // 8 : "Level 8 (80% pollunion) " + // 7 : "Level 7 (70% pollunion) " + // 6 : "Level 6 (60% pollunion) " + // 5 : "Level 5 (50% pollunion)" + // 4 : "Level 4 (40% pollunion) " + // 3 : "Level 3 (30% pollunion)" + // 2 : "Level 2 (20% pollunion)" + // 1 : "Level 1 (10% pollunion) " + // 0 : "Level 0 (clean air)" + uint8_t LIN_AirQualSenCOlvl_Val : 4; // Bits= 4 + + // 10 : "Level 10 (100% pollunion) " + // 9 : "Level 9 (90% pollunion) " + // 8 : "Level 8 (80% pollunion) " + // 7 : "Level 7 (70% pollunion) " + // 6 : "Level 6 (60% pollunion) " + // 5 : "Level 5 (50% pollunion)" + // 4 : "Level 4 (40% pollunion) " + // 3 : "Level 3 (30% pollunion)" + // 2 : "Level 2 (20% pollunion)" + // 1 : "Level 1 (10% pollunion) " + // 0 : "Level 0 (clean air)" + uint8_t LIN_AirQualSenNOxlvl_Val : 4; // Bits= 4 + + // 10 : "Level 10 (100% pollunion) " + // 9 : "Level 9 (90% pollunion) " + // 8 : "Level 8 (80% pollunion) " + // 7 : "Level 7 (70% pollunion) " + // 6 : "Level 6 (60% pollunion) " + // 5 : "Level 5 (50% pollunion)" + // 4 : "Level 4 (40% pollunion) " + // 3 : "Level 3 (30% pollunion)" + // 2 : "Level 2 (20% pollunion)" + // 1 : "Level 1 (10% pollunion) " + // 0 : "Level 0 (clean air)" + uint8_t LIN_AirQualSenNH3lvl_Val : 4; // Bits= 4 + +#else + + // 1 : "Error" + // 0 : "No_Error" + uint8_t LIN_AirQS_LinRespErr_Stat; // Bits= 1 + + // 2 : "Sensor is off (standby mode)" + // 1 : "Sensor is on (active mode)" + // 0 : "Initializing" + uint8_t LIN_AirQualSen_Stat; // Bits= 2 + + // 3 : "Low air quality " + // 2 : "Medium air quality" + // 1 : "Hight air quality" + // 0 : "No (Clean air)" + uint8_t LIN_AirQualSenCombined_Val; // Bits= 2 + + // 3 : "Component malfunction" + // 2 : "Supply chain short" + // 1 : "Supply chain break" + // 0 : "No error" + uint8_t LIN_AirQualSen_Error_Stat; // Bits= 2 + + // 10 : "Level 10 (100% pollunion) " + // 9 : "Level 9 (90% pollunion) " + // 8 : "Level 8 (80% pollunion) " + // 7 : "Level 7 (70% pollunion) " + // 6 : "Level 6 (60% pollunion) " + // 5 : "Level 5 (50% pollunion)" + // 4 : "Level 4 (40% pollunion) " + // 3 : "Level 3 (30% pollunion)" + // 2 : "Level 2 (20% pollunion)" + // 1 : "Level 1 (10% pollunion) " + // 0 : "Level 0 (clean air)" + uint8_t LIN_AirQualSenCOlvl_Val; // Bits= 4 + + // 10 : "Level 10 (100% pollunion) " + // 9 : "Level 9 (90% pollunion) " + // 8 : "Level 8 (80% pollunion) " + // 7 : "Level 7 (70% pollunion) " + // 6 : "Level 6 (60% pollunion) " + // 5 : "Level 5 (50% pollunion)" + // 4 : "Level 4 (40% pollunion) " + // 3 : "Level 3 (30% pollunion)" + // 2 : "Level 2 (20% pollunion)" + // 1 : "Level 1 (10% pollunion) " + // 0 : "Level 0 (clean air)" + uint8_t LIN_AirQualSenNOxlvl_Val; // Bits= 4 + + // 10 : "Level 10 (100% pollunion) " + // 9 : "Level 9 (90% pollunion) " + // 8 : "Level 8 (80% pollunion) " + // 7 : "Level 7 (70% pollunion) " + // 6 : "Level 6 (60% pollunion) " + // 5 : "Level 5 (50% pollunion)" + // 4 : "Level 4 (40% pollunion) " + // 3 : "Level 3 (30% pollunion)" + // 2 : "Level 2 (20% pollunion)" + // 1 : "Level 1 (10% pollunion) " + // 0 : "Level 0 (clean air)" + uint8_t LIN_AirQualSenNH3lvl_Val; // Bits= 4 + +#endif // CANDB_DBG_USE_BITS_SIGNAL + +#ifdef CANDB_DBG_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_DBG_USE_DIAG_MONITORS + +} dbg_LIN_AirQS_Stat_t; + +// def @dbg_LIN_Aroma_Stat CAN Message (1297 0x511) +#define dbg_LIN_Aroma_Stat_IDE (0U) +#define dbg_LIN_Aroma_Stat_DLC (5U) +#define dbg_LIN_Aroma_Stat_CANID (0x511U) + +// Value tables for @LIN_AromaLinRespErr_Stat signal + +#ifndef LIN_AromaLinRespErr_Stat_dbg_LIN_Aroma_Stat_Error +#define LIN_AromaLinRespErr_Stat_dbg_LIN_Aroma_Stat_Error (1) +#endif + +#ifndef LIN_AromaLinRespErr_Stat_dbg_LIN_Aroma_Stat_No_Error +#define LIN_AromaLinRespErr_Stat_dbg_LIN_Aroma_Stat_No_Error (0) +#endif + + +// Value tables for @LIN_Aroma_1CartridgeSw signal + +#ifndef LIN_Aroma_1CartridgeSw_dbg_LIN_Aroma_Stat_Cartridge_removed +#define LIN_Aroma_1CartridgeSw_dbg_LIN_Aroma_Stat_Cartridge_removed (1) +#endif + +#ifndef LIN_Aroma_1CartridgeSw_dbg_LIN_Aroma_Stat_Cartridge_installed +#define LIN_Aroma_1CartridgeSw_dbg_LIN_Aroma_Stat_Cartridge_installed (0) +#endif + + +// Value tables for @LIN_Aroma_2CartridgeSw signal + +#ifndef LIN_Aroma_2CartridgeSw_dbg_LIN_Aroma_Stat_Cartridge_removed +#define LIN_Aroma_2CartridgeSw_dbg_LIN_Aroma_Stat_Cartridge_removed (1) +#endif + +#ifndef LIN_Aroma_2CartridgeSw_dbg_LIN_Aroma_Stat_Cartridge_installed +#define LIN_Aroma_2CartridgeSw_dbg_LIN_Aroma_Stat_Cartridge_installed (0) +#endif + + +// Value tables for @LIN_Aroma_3CartridgeSw signal + +#ifndef LIN_Aroma_3CartridgeSw_dbg_LIN_Aroma_Stat_Cartridge_removed +#define LIN_Aroma_3CartridgeSw_dbg_LIN_Aroma_Stat_Cartridge_removed (1) +#endif + +#ifndef LIN_Aroma_3CartridgeSw_dbg_LIN_Aroma_Stat_Cartridge_installed +#define LIN_Aroma_3CartridgeSw_dbg_LIN_Aroma_Stat_Cartridge_installed (0) +#endif + + +// Value tables for @LIN_Aroma_Error_Stat signal + +#ifndef LIN_Aroma_Error_Stat_dbg_LIN_Aroma_Stat_Aroma_malfunction +#define LIN_Aroma_Error_Stat_dbg_LIN_Aroma_Stat_Aroma_malfunction (3) +#endif + +#ifndef LIN_Aroma_Error_Stat_dbg_LIN_Aroma_Stat_Supply_chain_short_circuit +#define LIN_Aroma_Error_Stat_dbg_LIN_Aroma_Stat_Supply_chain_short_circuit (2) +#endif + +#ifndef LIN_Aroma_Error_Stat_dbg_LIN_Aroma_Stat_Supply_chain_break +#define LIN_Aroma_Error_Stat_dbg_LIN_Aroma_Stat_Supply_chain_break (1) +#endif + +#ifndef LIN_Aroma_Error_Stat_dbg_LIN_Aroma_Stat_No_error +#define LIN_Aroma_Error_Stat_dbg_LIN_Aroma_Stat_No_error (0) +#endif + + +// Value tables for @LIN_Aroma_Intens signal + +#ifndef LIN_Aroma_Intens_dbg_LIN_Aroma_Stat_Aroma_malfunction +#define LIN_Aroma_Intens_dbg_LIN_Aroma_Stat_Aroma_malfunction (3) +#endif + +#ifndef LIN_Aroma_Intens_dbg_LIN_Aroma_Stat_Aromatization_mode_2_step +#define LIN_Aroma_Intens_dbg_LIN_Aroma_Stat_Aromatization_mode_2_step (2) +#endif + +#ifndef LIN_Aroma_Intens_dbg_LIN_Aroma_Stat_Aromatization_mode_1_step +#define LIN_Aroma_Intens_dbg_LIN_Aroma_Stat_Aromatization_mode_1_step (1) +#endif + +#ifndef LIN_Aroma_Intens_dbg_LIN_Aroma_Stat_Aromatization_off +#define LIN_Aroma_Intens_dbg_LIN_Aroma_Stat_Aromatization_off (0) +#endif + + +// Value tables for @LIN_Aroma_CartridgeSel signal + +#ifndef LIN_Aroma_CartridgeSel_dbg_LIN_Aroma_Stat_Third_cartridge_selected +#define LIN_Aroma_CartridgeSel_dbg_LIN_Aroma_Stat_Third_cartridge_selected (3) +#endif + +#ifndef LIN_Aroma_CartridgeSel_dbg_LIN_Aroma_Stat_Second_cartridge_selected +#define LIN_Aroma_CartridgeSel_dbg_LIN_Aroma_Stat_Second_cartridge_selected (2) +#endif + +#ifndef LIN_Aroma_CartridgeSel_dbg_LIN_Aroma_Stat_First_cartridge_selected +#define LIN_Aroma_CartridgeSel_dbg_LIN_Aroma_Stat_First_cartridge_selected (1) +#endif + +#ifndef LIN_Aroma_CartridgeSel_dbg_LIN_Aroma_Stat_No_cartridge_selected +#define LIN_Aroma_CartridgeSel_dbg_LIN_Aroma_Stat_No_cartridge_selected (0) +#endif + + +// Value tables for @LIN_Aroma_1CartridgeFlavor signal + +#ifndef LIN_Aroma_1CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_16 +#define LIN_Aroma_1CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_16 (15) +#endif + +#ifndef LIN_Aroma_1CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_15 +#define LIN_Aroma_1CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_15 (14) +#endif + +#ifndef LIN_Aroma_1CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_14 +#define LIN_Aroma_1CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_14 (13) +#endif + +#ifndef LIN_Aroma_1CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_13 +#define LIN_Aroma_1CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_13 (12) +#endif + +#ifndef LIN_Aroma_1CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_12 +#define LIN_Aroma_1CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_12 (11) +#endif + +#ifndef LIN_Aroma_1CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_11 +#define LIN_Aroma_1CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_11 (10) +#endif + +#ifndef LIN_Aroma_1CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_10 +#define LIN_Aroma_1CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_10 (9) +#endif + +#ifndef LIN_Aroma_1CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_9 +#define LIN_Aroma_1CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_9 (8) +#endif + +#ifndef LIN_Aroma_1CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_8 +#define LIN_Aroma_1CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_8 (7) +#endif + +#ifndef LIN_Aroma_1CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_7 +#define LIN_Aroma_1CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_7 (6) +#endif + +#ifndef LIN_Aroma_1CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_6 +#define LIN_Aroma_1CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_6 (5) +#endif + +#ifndef LIN_Aroma_1CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_5 +#define LIN_Aroma_1CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_5 (4) +#endif + +#ifndef LIN_Aroma_1CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_4 +#define LIN_Aroma_1CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_4 (3) +#endif + +#ifndef LIN_Aroma_1CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_3 +#define LIN_Aroma_1CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_3 (2) +#endif + +#ifndef LIN_Aroma_1CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_2 +#define LIN_Aroma_1CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_2 (1) +#endif + +#ifndef LIN_Aroma_1CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_1 +#define LIN_Aroma_1CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_1 (0) +#endif + + +// Value tables for @LIN_Aroma_2CartridgeFlavor signal + +#ifndef LIN_Aroma_2CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_16 +#define LIN_Aroma_2CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_16 (15) +#endif + +#ifndef LIN_Aroma_2CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_15 +#define LIN_Aroma_2CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_15 (14) +#endif + +#ifndef LIN_Aroma_2CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_14 +#define LIN_Aroma_2CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_14 (13) +#endif + +#ifndef LIN_Aroma_2CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_13 +#define LIN_Aroma_2CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_13 (12) +#endif + +#ifndef LIN_Aroma_2CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_12 +#define LIN_Aroma_2CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_12 (11) +#endif + +#ifndef LIN_Aroma_2CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_11 +#define LIN_Aroma_2CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_11 (10) +#endif + +#ifndef LIN_Aroma_2CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_10 +#define LIN_Aroma_2CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_10 (9) +#endif + +#ifndef LIN_Aroma_2CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_9 +#define LIN_Aroma_2CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_9 (8) +#endif + +#ifndef LIN_Aroma_2CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_8 +#define LIN_Aroma_2CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_8 (7) +#endif + +#ifndef LIN_Aroma_2CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_7 +#define LIN_Aroma_2CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_7 (6) +#endif + +#ifndef LIN_Aroma_2CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_6 +#define LIN_Aroma_2CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_6 (5) +#endif + +#ifndef LIN_Aroma_2CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_5 +#define LIN_Aroma_2CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_5 (4) +#endif + +#ifndef LIN_Aroma_2CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_4 +#define LIN_Aroma_2CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_4 (3) +#endif + +#ifndef LIN_Aroma_2CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_3 +#define LIN_Aroma_2CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_3 (2) +#endif + +#ifndef LIN_Aroma_2CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_2 +#define LIN_Aroma_2CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_2 (1) +#endif + +#ifndef LIN_Aroma_2CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_1 +#define LIN_Aroma_2CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_1 (0) +#endif + + +// Value tables for @LIN_Aroma_3CartridgeFlavor signal + +#ifndef LIN_Aroma_3CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_16 +#define LIN_Aroma_3CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_16 (15) +#endif + +#ifndef LIN_Aroma_3CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_15 +#define LIN_Aroma_3CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_15 (14) +#endif + +#ifndef LIN_Aroma_3CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_14 +#define LIN_Aroma_3CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_14 (13) +#endif + +#ifndef LIN_Aroma_3CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_13 +#define LIN_Aroma_3CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_13 (12) +#endif + +#ifndef LIN_Aroma_3CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_12 +#define LIN_Aroma_3CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_12 (11) +#endif + +#ifndef LIN_Aroma_3CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_11 +#define LIN_Aroma_3CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_11 (10) +#endif + +#ifndef LIN_Aroma_3CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_10 +#define LIN_Aroma_3CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_10 (9) +#endif + +#ifndef LIN_Aroma_3CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_9 +#define LIN_Aroma_3CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_9 (8) +#endif + +#ifndef LIN_Aroma_3CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_8 +#define LIN_Aroma_3CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_8 (7) +#endif + +#ifndef LIN_Aroma_3CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_7 +#define LIN_Aroma_3CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_7 (6) +#endif + +#ifndef LIN_Aroma_3CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_6 +#define LIN_Aroma_3CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_6 (5) +#endif + +#ifndef LIN_Aroma_3CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_5 +#define LIN_Aroma_3CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_5 (4) +#endif + +#ifndef LIN_Aroma_3CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_4 +#define LIN_Aroma_3CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_4 (3) +#endif + +#ifndef LIN_Aroma_3CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_3 +#define LIN_Aroma_3CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_3 (2) +#endif + +#ifndef LIN_Aroma_3CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_2 +#define LIN_Aroma_3CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_2 (1) +#endif + +#ifndef LIN_Aroma_3CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_1 +#define LIN_Aroma_3CartridgeFlavor_dbg_LIN_Aroma_Stat_Flavor_1 (0) +#endif + +// signal: @LIN_Aroma_1CartridgeCapacity_ro +#define CANDB_DBG_LIN_Aroma_1CartridgeCapacity_ro_CovFactor (10) +#define CANDB_DBG_LIN_Aroma_1CartridgeCapacity_ro_toS(x) ( (uint8_t) ((x) / (10)) ) +#define CANDB_DBG_LIN_Aroma_1CartridgeCapacity_ro_fromS(x) ( ((x) * (10)) ) +// signal: @LIN_Aroma_2CartridgeCapacity_ro +#define CANDB_DBG_LIN_Aroma_2CartridgeCapacity_ro_CovFactor (10) +#define CANDB_DBG_LIN_Aroma_2CartridgeCapacity_ro_toS(x) ( (uint8_t) ((x) / (10)) ) +#define CANDB_DBG_LIN_Aroma_2CartridgeCapacity_ro_fromS(x) ( ((x) * (10)) ) +// signal: @LIN_Aroma_3CartridgeCapacity_ro +#define CANDB_DBG_LIN_Aroma_3CartridgeCapacity_ro_CovFactor (10) +#define CANDB_DBG_LIN_Aroma_3CartridgeCapacity_ro_toS(x) ( (uint8_t) ((x) / (10)) ) +#define CANDB_DBG_LIN_Aroma_3CartridgeCapacity_ro_fromS(x) ( ((x) * (10)) ) + +typedef struct +{ +#ifdef CANDB_DBG_USE_BITS_SIGNAL + + // 1 : "Error" + // 0 : "No_Error" + uint8_t LIN_AromaLinRespErr_Stat : 1; // Bits= 1 + + // 1 : "Cartridge removed" + // 0 : "Cartridge installed" + uint8_t LIN_Aroma_1CartridgeSw : 1; // Bits= 1 + + // 1 : "Cartridge removed" + // 0 : "Cartridge installed" + uint8_t LIN_Aroma_2CartridgeSw : 1; // Bits= 1 + + // 1 : "Cartridge removed" + // 0 : "Cartridge installed" + uint8_t LIN_Aroma_3CartridgeSw : 1; // Bits= 1 + + // 3 : "Aroma malfunction" + // 2 : "Supply chain short circuit" + // 1 : "Supply chain break" + // 0 : "No error" + uint8_t LIN_Aroma_Error_Stat : 2; // Bits= 2 + + // 3 : "Aroma malfunction" + // 2 : "Aromatization mode 2 step" + // 1 : "Aromatization mode 1 step" + // 0 : "Aromatization off" + uint8_t LIN_Aroma_Intens : 2; // Bits= 2 + + // 3 : "Third cartridge selected" + // 2 : "Second cartridge selected" + // 1 : "First cartridge selected" + // 0 : "No cartridge selected" + uint8_t LIN_Aroma_CartridgeSel : 2; // Bits= 2 + + // 15 : "Flavor 16" + // 14 : "Flavor 15" + // 13 : "Flavor 14" + // 12 : "Flavor 13" + // 11 : "Flavor 12" + // 10 : "Flavor 11" + // 9 : "Flavor 10" + // 8 : "Flavor 9" + // 7 : "Flavor 8" + // 6 : "Flavor 7" + // 5 : "Flavor 6" + // 4 : "Flavor 5" + // 3 : "Flavor 4" + // 2 : "Flavor 3" + // 1 : "Flavor 2" + // 0 : "Flavor 1" + uint8_t LIN_Aroma_1CartridgeFlavor : 4; // Bits= 4 + + // 15 : "Flavor 16" + // 14 : "Flavor 15" + // 13 : "Flavor 14" + // 12 : "Flavor 13" + // 11 : "Flavor 12" + // 10 : "Flavor 11" + // 9 : "Flavor 10" + // 8 : "Flavor 9" + // 7 : "Flavor 8" + // 6 : "Flavor 7" + // 5 : "Flavor 6" + // 4 : "Flavor 5" + // 3 : "Flavor 4" + // 2 : "Flavor 3" + // 1 : "Flavor 2" + // 0 : "Flavor 1" + uint8_t LIN_Aroma_2CartridgeFlavor : 4; // Bits= 4 + + // 15 : "Flavor 16" + // 14 : "Flavor 15" + // 13 : "Flavor 14" + // 12 : "Flavor 13" + // 11 : "Flavor 12" + // 10 : "Flavor 11" + // 9 : "Flavor 10" + // 8 : "Flavor 9" + // 7 : "Flavor 8" + // 6 : "Flavor 7" + // 5 : "Flavor 6" + // 4 : "Flavor 5" + // 3 : "Flavor 4" + // 2 : "Flavor 3" + // 1 : "Flavor 2" + // 0 : "Flavor 1" + uint8_t LIN_Aroma_3CartridgeFlavor : 4; // Bits= 4 + + uint8_t LIN_Aroma_1CartridgeCapacity_ro : 4; // Bits= 4 Factor= 10 Unit:'%' + +#ifdef CANDB_DBG_USE_SIGFLOAT + uint8_t LIN_Aroma_1CartridgeCapacity_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + uint8_t LIN_Aroma_2CartridgeCapacity_ro : 4; // Bits= 4 Factor= 10 Unit:'%' + +#ifdef CANDB_DBG_USE_SIGFLOAT + uint8_t LIN_Aroma_2CartridgeCapacity_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + uint8_t LIN_Aroma_3CartridgeCapacity_ro : 4; // Bits= 4 Factor= 10 Unit:'%' + +#ifdef CANDB_DBG_USE_SIGFLOAT + uint8_t LIN_Aroma_3CartridgeCapacity_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + +#else + + // 1 : "Error" + // 0 : "No_Error" + uint8_t LIN_AromaLinRespErr_Stat; // Bits= 1 + + // 1 : "Cartridge removed" + // 0 : "Cartridge installed" + uint8_t LIN_Aroma_1CartridgeSw; // Bits= 1 + + // 1 : "Cartridge removed" + // 0 : "Cartridge installed" + uint8_t LIN_Aroma_2CartridgeSw; // Bits= 1 + + // 1 : "Cartridge removed" + // 0 : "Cartridge installed" + uint8_t LIN_Aroma_3CartridgeSw; // Bits= 1 + + // 3 : "Aroma malfunction" + // 2 : "Supply chain short circuit" + // 1 : "Supply chain break" + // 0 : "No error" + uint8_t LIN_Aroma_Error_Stat; // Bits= 2 + + // 3 : "Aroma malfunction" + // 2 : "Aromatization mode 2 step" + // 1 : "Aromatization mode 1 step" + // 0 : "Aromatization off" + uint8_t LIN_Aroma_Intens; // Bits= 2 + + // 3 : "Third cartridge selected" + // 2 : "Second cartridge selected" + // 1 : "First cartridge selected" + // 0 : "No cartridge selected" + uint8_t LIN_Aroma_CartridgeSel; // Bits= 2 + + // 15 : "Flavor 16" + // 14 : "Flavor 15" + // 13 : "Flavor 14" + // 12 : "Flavor 13" + // 11 : "Flavor 12" + // 10 : "Flavor 11" + // 9 : "Flavor 10" + // 8 : "Flavor 9" + // 7 : "Flavor 8" + // 6 : "Flavor 7" + // 5 : "Flavor 6" + // 4 : "Flavor 5" + // 3 : "Flavor 4" + // 2 : "Flavor 3" + // 1 : "Flavor 2" + // 0 : "Flavor 1" + uint8_t LIN_Aroma_1CartridgeFlavor; // Bits= 4 + + // 15 : "Flavor 16" + // 14 : "Flavor 15" + // 13 : "Flavor 14" + // 12 : "Flavor 13" + // 11 : "Flavor 12" + // 10 : "Flavor 11" + // 9 : "Flavor 10" + // 8 : "Flavor 9" + // 7 : "Flavor 8" + // 6 : "Flavor 7" + // 5 : "Flavor 6" + // 4 : "Flavor 5" + // 3 : "Flavor 4" + // 2 : "Flavor 3" + // 1 : "Flavor 2" + // 0 : "Flavor 1" + uint8_t LIN_Aroma_2CartridgeFlavor; // Bits= 4 + + // 15 : "Flavor 16" + // 14 : "Flavor 15" + // 13 : "Flavor 14" + // 12 : "Flavor 13" + // 11 : "Flavor 12" + // 10 : "Flavor 11" + // 9 : "Flavor 10" + // 8 : "Flavor 9" + // 7 : "Flavor 8" + // 6 : "Flavor 7" + // 5 : "Flavor 6" + // 4 : "Flavor 5" + // 3 : "Flavor 4" + // 2 : "Flavor 3" + // 1 : "Flavor 2" + // 0 : "Flavor 1" + uint8_t LIN_Aroma_3CartridgeFlavor; // Bits= 4 + + uint8_t LIN_Aroma_1CartridgeCapacity_ro; // Bits= 4 Factor= 10 Unit:'%' + +#ifdef CANDB_DBG_USE_SIGFLOAT + uint8_t LIN_Aroma_1CartridgeCapacity_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + uint8_t LIN_Aroma_2CartridgeCapacity_ro; // Bits= 4 Factor= 10 Unit:'%' + +#ifdef CANDB_DBG_USE_SIGFLOAT + uint8_t LIN_Aroma_2CartridgeCapacity_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + uint8_t LIN_Aroma_3CartridgeCapacity_ro; // Bits= 4 Factor= 10 Unit:'%' + +#ifdef CANDB_DBG_USE_SIGFLOAT + uint8_t LIN_Aroma_3CartridgeCapacity_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + +#endif // CANDB_DBG_USE_BITS_SIGNAL + +#ifdef CANDB_DBG_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_DBG_USE_DIAG_MONITORS + +} dbg_LIN_Aroma_Stat_t; + +// def @dbg_LIN_Ionizer_Stat CAN Message (1299 0x513) +#define dbg_LIN_Ionizer_Stat_IDE (0U) +#define dbg_LIN_Ionizer_Stat_DLC (2U) +#define dbg_LIN_Ionizer_Stat_CANID (0x513U) + +// Value tables for @LIN_Ionizer_Err_Stat signal + +#ifndef LIN_Ionizer_Err_Stat_dbg_LIN_Ionizer_Stat_Component_malfunction +#define LIN_Ionizer_Err_Stat_dbg_LIN_Ionizer_Stat_Component_malfunction (3) +#endif + +#ifndef LIN_Ionizer_Err_Stat_dbg_LIN_Ionizer_Stat_Supply_chain_short +#define LIN_Ionizer_Err_Stat_dbg_LIN_Ionizer_Stat_Supply_chain_short (2) +#endif + +#ifndef LIN_Ionizer_Err_Stat_dbg_LIN_Ionizer_Stat_Supply_chain_break +#define LIN_Ionizer_Err_Stat_dbg_LIN_Ionizer_Stat_Supply_chain_break (1) +#endif + +#ifndef LIN_Ionizer_Err_Stat_dbg_LIN_Ionizer_Stat_No_error +#define LIN_Ionizer_Err_Stat_dbg_LIN_Ionizer_Stat_No_error (0) +#endif + + +// Value tables for @LIN_Ionizer_LinRespErr signal + +#ifndef LIN_Ionizer_LinRespErr_dbg_LIN_Ionizer_Stat_Error +#define LIN_Ionizer_LinRespErr_dbg_LIN_Ionizer_Stat_Error (1) +#endif + +#ifndef LIN_Ionizer_LinRespErr_dbg_LIN_Ionizer_Stat_No_Error +#define LIN_Ionizer_LinRespErr_dbg_LIN_Ionizer_Stat_No_Error (0) +#endif + + +// Value tables for @LIN_Ionizer_Ionization signal + +#ifndef LIN_Ionizer_Ionization_dbg_LIN_Ionizer_Stat_Ionization_is_off_standby_mode +#define LIN_Ionizer_Ionization_dbg_LIN_Ionizer_Stat_Ionization_is_off_standby_mode (2) +#endif + +#ifndef LIN_Ionizer_Ionization_dbg_LIN_Ionizer_Stat_Ionization_is_on_active_mode +#define LIN_Ionizer_Ionization_dbg_LIN_Ionizer_Stat_Ionization_is_on_active_mode (1) +#endif + +#ifndef LIN_Ionizer_Ionization_dbg_LIN_Ionizer_Stat_Initializing +#define LIN_Ionizer_Ionization_dbg_LIN_Ionizer_Stat_Initializing (0) +#endif + + +typedef struct +{ +#ifdef CANDB_DBG_USE_BITS_SIGNAL + + // 3 : "Component malfunction" + // 2 : "Supply chain short" + // 1 : "Supply chain break" + // 0 : "No error" + uint8_t LIN_Ionizer_Err_Stat : 2; // Bits= 2 + + // 1 : "Error" + // 0 : "No_Error" + uint8_t LIN_Ionizer_LinRespErr : 1; // Bits= 1 + + // 2 : "Ionization is off (standby mode)" + // 1 : "Ionization is on (active mode)" + // 0 : "Initializing" + uint8_t LIN_Ionizer_Ionization : 2; // Bits= 2 + +#else + + // 3 : "Component malfunction" + // 2 : "Supply chain short" + // 1 : "Supply chain break" + // 0 : "No error" + uint8_t LIN_Ionizer_Err_Stat; // Bits= 2 + + // 1 : "Error" + // 0 : "No_Error" + uint8_t LIN_Ionizer_LinRespErr; // Bits= 1 + + // 2 : "Ionization is off (standby mode)" + // 1 : "Ionization is on (active mode)" + // 0 : "Initializing" + uint8_t LIN_Ionizer_Ionization; // Bits= 2 + +#endif // CANDB_DBG_USE_BITS_SIGNAL + +#ifdef CANDB_DBG_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_DBG_USE_DIAG_MONITORS + +} dbg_LIN_Ionizer_Stat_t; + +// def @dbg_LIN_eTXV_Stat CAN Message (1300 0x514) +#define dbg_LIN_eTXV_Stat_IDE (0U) +#define dbg_LIN_eTXV_Stat_DLC (8U) +#define dbg_LIN_eTXV_Stat_CANID (0x514U) + +// Value tables for @LIN_eTXV1_LinRespErr_Stat signal + +#ifndef LIN_eTXV1_LinRespErr_Stat_dbg_LIN_eTXV_Stat_Error +#define LIN_eTXV1_LinRespErr_Stat_dbg_LIN_eTXV_Stat_Error (1) +#endif + +#ifndef LIN_eTXV1_LinRespErr_Stat_dbg_LIN_eTXV_Stat_No_error +#define LIN_eTXV1_LinRespErr_Stat_dbg_LIN_eTXV_Stat_No_error (0) +#endif + + +// Value tables for @LIN_eTXVee1_Err_Stat signal + +#ifndef LIN_eTXVee1_Err_Stat_dbg_LIN_eTXV_Stat_Component_malfunction +#define LIN_eTXVee1_Err_Stat_dbg_LIN_eTXV_Stat_Component_malfunction (3) +#endif + +#ifndef LIN_eTXVee1_Err_Stat_dbg_LIN_eTXV_Stat_Supply_chain_short_circuit +#define LIN_eTXVee1_Err_Stat_dbg_LIN_eTXV_Stat_Supply_chain_short_circuit (2) +#endif + +#ifndef LIN_eTXVee1_Err_Stat_dbg_LIN_eTXV_Stat_Supply_chain_break +#define LIN_eTXVee1_Err_Stat_dbg_LIN_eTXV_Stat_Supply_chain_break (1) +#endif + +#ifndef LIN_eTXVee1_Err_Stat_dbg_LIN_eTXV_Stat_No_error +#define LIN_eTXVee1_Err_Stat_dbg_LIN_eTXV_Stat_No_error (0) +#endif + + +// Value tables for @LIN_eTXV2_LinRespErr_Stat signal + +#ifndef LIN_eTXV2_LinRespErr_Stat_dbg_LIN_eTXV_Stat_Error +#define LIN_eTXV2_LinRespErr_Stat_dbg_LIN_eTXV_Stat_Error (1) +#endif + +#ifndef LIN_eTXV2_LinRespErr_Stat_dbg_LIN_eTXV_Stat_No_error +#define LIN_eTXV2_LinRespErr_Stat_dbg_LIN_eTXV_Stat_No_error (0) +#endif + + +// Value tables for @LIN_eTXVee2_Err_Stat signal + +#ifndef LIN_eTXVee2_Err_Stat_dbg_LIN_eTXV_Stat_Component_malfunction +#define LIN_eTXVee2_Err_Stat_dbg_LIN_eTXV_Stat_Component_malfunction (3) +#endif + +#ifndef LIN_eTXVee2_Err_Stat_dbg_LIN_eTXV_Stat_Supply_chain_short_circuit +#define LIN_eTXVee2_Err_Stat_dbg_LIN_eTXV_Stat_Supply_chain_short_circuit (2) +#endif + +#ifndef LIN_eTXVee2_Err_Stat_dbg_LIN_eTXV_Stat_Supply_chain_break +#define LIN_eTXVee2_Err_Stat_dbg_LIN_eTXV_Stat_Supply_chain_break (1) +#endif + +#ifndef LIN_eTXVee2_Err_Stat_dbg_LIN_eTXV_Stat_No_error +#define LIN_eTXVee2_Err_Stat_dbg_LIN_eTXV_Stat_No_error (0) +#endif + + +// Value tables for @LIN_eTXV3_LinRespErr_Stat signal + +#ifndef LIN_eTXV3_LinRespErr_Stat_dbg_LIN_eTXV_Stat_Error +#define LIN_eTXV3_LinRespErr_Stat_dbg_LIN_eTXV_Stat_Error (1) +#endif + +#ifndef LIN_eTXV3_LinRespErr_Stat_dbg_LIN_eTXV_Stat_No_error +#define LIN_eTXV3_LinRespErr_Stat_dbg_LIN_eTXV_Stat_No_error (0) +#endif + + +// Value tables for @LIN_eTXVeeChiller1_Err_Stat signal + +#ifndef LIN_eTXVeeChiller1_Err_Stat_dbg_LIN_eTXV_Stat_Component_malfunction +#define LIN_eTXVeeChiller1_Err_Stat_dbg_LIN_eTXV_Stat_Component_malfunction (3) +#endif + +#ifndef LIN_eTXVeeChiller1_Err_Stat_dbg_LIN_eTXV_Stat_Supply_chain_short_circuit +#define LIN_eTXVeeChiller1_Err_Stat_dbg_LIN_eTXV_Stat_Supply_chain_short_circuit (2) +#endif + +#ifndef LIN_eTXVeeChiller1_Err_Stat_dbg_LIN_eTXV_Stat_Supply_chain_break +#define LIN_eTXVeeChiller1_Err_Stat_dbg_LIN_eTXV_Stat_Supply_chain_break (1) +#endif + +#ifndef LIN_eTXVeeChiller1_Err_Stat_dbg_LIN_eTXV_Stat_No_error +#define LIN_eTXVeeChiller1_Err_Stat_dbg_LIN_eTXV_Stat_No_error (0) +#endif + + +// Value tables for @LIN_eTXV4_LinRespErr_Stat signal + +#ifndef LIN_eTXV4_LinRespErr_Stat_dbg_LIN_eTXV_Stat_Error +#define LIN_eTXV4_LinRespErr_Stat_dbg_LIN_eTXV_Stat_Error (1) +#endif + +#ifndef LIN_eTXV4_LinRespErr_Stat_dbg_LIN_eTXV_Stat_No_error +#define LIN_eTXV4_LinRespErr_Stat_dbg_LIN_eTXV_Stat_No_error (0) +#endif + + +// Value tables for @LIN_eTXVeeChiller2_Err_Stat signal + +#ifndef LIN_eTXVeeChiller2_Err_Stat_dbg_LIN_eTXV_Stat_Component_malfunction +#define LIN_eTXVeeChiller2_Err_Stat_dbg_LIN_eTXV_Stat_Component_malfunction (3) +#endif + +#ifndef LIN_eTXVeeChiller2_Err_Stat_dbg_LIN_eTXV_Stat_Supply_chain_short_circuit +#define LIN_eTXVeeChiller2_Err_Stat_dbg_LIN_eTXV_Stat_Supply_chain_short_circuit (2) +#endif + +#ifndef LIN_eTXVeeChiller2_Err_Stat_dbg_LIN_eTXV_Stat_Supply_chain_break +#define LIN_eTXVeeChiller2_Err_Stat_dbg_LIN_eTXV_Stat_Supply_chain_break (1) +#endif + +#ifndef LIN_eTXVeeChiller2_Err_Stat_dbg_LIN_eTXV_Stat_No_error +#define LIN_eTXVeeChiller2_Err_Stat_dbg_LIN_eTXV_Stat_No_error (0) +#endif + + +typedef struct +{ +#ifdef CANDB_DBG_USE_BITS_SIGNAL + + uint8_t LIN_eTXVee1_Pos_Stat : 7; // Bits= 7 Unit:'%' + + // 1 : "Error" + // 0 : "No error" + uint8_t LIN_eTXV1_LinRespErr_Stat : 1; // Bits= 1 + + // 3 : "Component malfunction" + // 2 : "Supply chain short circuit" + // 1 : "Supply chain break" + // 0 : "No error" + uint8_t LIN_eTXVee1_Err_Stat : 2; // Bits= 2 + + uint8_t LIN_eTXVee2_Pos_Stat : 7; // Bits= 7 Unit:'%' + + // 1 : "Error" + // 0 : "No error" + uint8_t LIN_eTXV2_LinRespErr_Stat : 1; // Bits= 1 + + // 3 : "Component malfunction" + // 2 : "Supply chain short circuit" + // 1 : "Supply chain break" + // 0 : "No error" + uint8_t LIN_eTXVee2_Err_Stat : 2; // Bits= 2 + + uint8_t LIN_eTXVeeChiller1_Pos_Stat : 7; // Bits= 7 Unit:'%' + + // 1 : "Error" + // 0 : "No error" + uint8_t LIN_eTXV3_LinRespErr_Stat : 1; // Bits= 1 + + // 3 : "Component malfunction" + // 2 : "Supply chain short circuit" + // 1 : "Supply chain break" + // 0 : "No error" + uint8_t LIN_eTXVeeChiller1_Err_Stat : 2; // Bits= 2 + + uint8_t LIN_eTXVeeChiller2_Pos_Stat : 7; // Bits= 7 Unit:'%' + + // 1 : "Error" + // 0 : "No error" + uint8_t LIN_eTXV4_LinRespErr_Stat : 1; // Bits= 1 + + // 3 : "Component malfunction" + // 2 : "Supply chain short circuit" + // 1 : "Supply chain break" + // 0 : "No error" + uint8_t LIN_eTXVeeChiller2_Err_Stat : 2; // Bits= 2 + +#else + + uint8_t LIN_eTXVee1_Pos_Stat; // Bits= 7 Unit:'%' + + // 1 : "Error" + // 0 : "No error" + uint8_t LIN_eTXV1_LinRespErr_Stat; // Bits= 1 + + // 3 : "Component malfunction" + // 2 : "Supply chain short circuit" + // 1 : "Supply chain break" + // 0 : "No error" + uint8_t LIN_eTXVee1_Err_Stat; // Bits= 2 + + uint8_t LIN_eTXVee2_Pos_Stat; // Bits= 7 Unit:'%' + + // 1 : "Error" + // 0 : "No error" + uint8_t LIN_eTXV2_LinRespErr_Stat; // Bits= 1 + + // 3 : "Component malfunction" + // 2 : "Supply chain short circuit" + // 1 : "Supply chain break" + // 0 : "No error" + uint8_t LIN_eTXVee2_Err_Stat; // Bits= 2 + + uint8_t LIN_eTXVeeChiller1_Pos_Stat; // Bits= 7 Unit:'%' + + // 1 : "Error" + // 0 : "No error" + uint8_t LIN_eTXV3_LinRespErr_Stat; // Bits= 1 + + // 3 : "Component malfunction" + // 2 : "Supply chain short circuit" + // 1 : "Supply chain break" + // 0 : "No error" + uint8_t LIN_eTXVeeChiller1_Err_Stat; // Bits= 2 + + uint8_t LIN_eTXVeeChiller2_Pos_Stat; // Bits= 7 Unit:'%' + + // 1 : "Error" + // 0 : "No error" + uint8_t LIN_eTXV4_LinRespErr_Stat; // Bits= 1 + + // 3 : "Component malfunction" + // 2 : "Supply chain short circuit" + // 1 : "Supply chain break" + // 0 : "No error" + uint8_t LIN_eTXVeeChiller2_Err_Stat; // Bits= 2 + +#endif // CANDB_DBG_USE_BITS_SIGNAL + +#ifdef CANDB_DBG_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_DBG_USE_DIAG_MONITORS + +} dbg_LIN_eTXV_Stat_t; + +// def @dbg_LIN_DRS_Stat CAN Message (1304 0x518) +#define dbg_LIN_DRS_Stat_IDE (0U) +#define dbg_LIN_DRS_Stat_DLC (5U) +#define dbg_LIN_DRS_Stat_CANID (0x518U) +// signal: @LIN_DRS_BCM_IndFadingTime_ro +#define CANDB_DBG_LIN_DRS_BCM_IndFadingTime_ro_CovFactor (0.1) +#define CANDB_DBG_LIN_DRS_BCM_IndFadingTime_ro_toS(x) ( (uint8_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_LIN_DRS_BCM_IndFadingTime_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) + +// Value tables for @LIN_DRS_BCM_SwIndIntens signal + +#ifndef LIN_DRS_BCM_SwIndIntens_dbg_LIN_DRS_Stat_Low_level +#define LIN_DRS_BCM_SwIndIntens_dbg_LIN_DRS_Stat_Low_level (1) +#endif + +#ifndef LIN_DRS_BCM_SwIndIntens_dbg_LIN_DRS_Stat_Hight_level +#define LIN_DRS_BCM_SwIndIntens_dbg_LIN_DRS_Stat_Hight_level (0) +#endif + + +typedef struct +{ +#ifdef CANDB_DBG_USE_BITS_SIGNAL + + uint8_t LIN_DRS_DLLed1 : 1; // Bits= 1 + + uint8_t LIN_DRS_DLLed2 : 1; // Bits= 1 + + uint8_t LIN_DRS_DLLed3 : 1; // Bits= 1 + + uint8_t LIN_DRS_DRLed1 : 1; // Bits= 1 + + uint8_t LIN_DRS_DRLed2 : 1; // Bits= 1 + + uint8_t LIN_DRS_DRLed3 : 1; // Bits= 1 + + uint8_t LIN_DRS_FPLLed1 : 1; // Bits= 1 + + uint8_t LIN_DRS_FPLLed2 : 1; // Bits= 1 + + uint8_t LIN_DRS_FPLLed3 : 1; // Bits= 1 + + uint8_t LIN_DRS_FPRLed1 : 1; // Bits= 1 + + uint8_t LIN_DRS_FPRLed2 : 1; // Bits= 1 + + uint8_t LIN_DRS_FPRLed3 : 1; // Bits= 1 + + uint8_t LIN_DRS_RLBLed1 : 1; // Bits= 1 + + uint8_t LIN_DRS_RLBLed2 : 1; // Bits= 1 + + uint8_t LIN_DRS_RLBLed3 : 1; // Bits= 1 + + uint8_t LIN_DRS_RRBLed1 : 1; // Bits= 1 + + uint8_t LIN_DRS_RRBLed2 : 1; // Bits= 1 + + uint8_t LIN_DRS_RRBLed3 : 1; // Bits= 1 + + uint8_t LIN_DRS_FCLLed1 : 1; // Bits= 1 + + uint8_t LIN_DRS_FCLLed2 : 1; // Bits= 1 + + uint8_t LIN_DRS_FCLLed3 : 1; // Bits= 1 + + uint8_t LIN_DRS_FCRLed1 : 1; // Bits= 1 + + uint8_t LIN_DRS_FCRLed2 : 1; // Bits= 1 + + uint8_t LIN_DRS_FCRLed3 : 1; // Bits= 1 + + uint8_t LIN_DRS_BCM_IndFadingTime_ro : 5; // Bits= 5 Factor= 0.1 Unit:'sec' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t LIN_DRS_BCM_IndFadingTime_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // 1 : "Low level" + // 0 : "Hight level" + uint8_t LIN_DRS_BCM_SwIndIntens : 1; // Bits= 1 + +#else + + uint8_t LIN_DRS_DLLed1; // Bits= 1 + + uint8_t LIN_DRS_DLLed2; // Bits= 1 + + uint8_t LIN_DRS_DLLed3; // Bits= 1 + + uint8_t LIN_DRS_DRLed1; // Bits= 1 + + uint8_t LIN_DRS_DRLed2; // Bits= 1 + + uint8_t LIN_DRS_DRLed3; // Bits= 1 + + uint8_t LIN_DRS_FPLLed1; // Bits= 1 + + uint8_t LIN_DRS_FPLLed2; // Bits= 1 + + uint8_t LIN_DRS_FPLLed3; // Bits= 1 + + uint8_t LIN_DRS_FPRLed1; // Bits= 1 + + uint8_t LIN_DRS_FPRLed2; // Bits= 1 + + uint8_t LIN_DRS_FPRLed3; // Bits= 1 + + uint8_t LIN_DRS_RLBLed1; // Bits= 1 + + uint8_t LIN_DRS_RLBLed2; // Bits= 1 + + uint8_t LIN_DRS_RLBLed3; // Bits= 1 + + uint8_t LIN_DRS_RRBLed1; // Bits= 1 + + uint8_t LIN_DRS_RRBLed2; // Bits= 1 + + uint8_t LIN_DRS_RRBLed3; // Bits= 1 + + uint8_t LIN_DRS_FCLLed1; // Bits= 1 + + uint8_t LIN_DRS_FCLLed2; // Bits= 1 + + uint8_t LIN_DRS_FCLLed3; // Bits= 1 + + uint8_t LIN_DRS_FCRLed1; // Bits= 1 + + uint8_t LIN_DRS_FCRLed2; // Bits= 1 + + uint8_t LIN_DRS_FCRLed3; // Bits= 1 + + uint8_t LIN_DRS_BCM_IndFadingTime_ro; // Bits= 5 Factor= 0.1 Unit:'sec' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t LIN_DRS_BCM_IndFadingTime_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // 1 : "Low level" + // 0 : "Hight level" + uint8_t LIN_DRS_BCM_SwIndIntens; // Bits= 1 + +#endif // CANDB_DBG_USE_BITS_SIGNAL + +#ifdef CANDB_DBG_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_DBG_USE_DIAG_MONITORS + +} dbg_LIN_DRS_Stat_t; + +// def @dbg_Auto_AF CAN Message (1312 0x520) +#define dbg_Auto_AF_IDE (0U) +#define dbg_Auto_AF_DLC (8U) +#define dbg_Auto_AF_CANID (0x520U) +#define dbg_Auto_AF_CYC (250U) + +// Value tables for @dbg_Auto_AF_MultMsg_Idx signal + +#ifndef dbg_Auto_AF_MultMsg_Idx_dbg_Auto_AF_RR +#define dbg_Auto_AF_MultMsg_Idx_dbg_Auto_AF_RR (3) +#endif + +#ifndef dbg_Auto_AF_MultMsg_Idx_dbg_Auto_AF_RL +#define dbg_Auto_AF_MultMsg_Idx_dbg_Auto_AF_RL (2) +#endif + +#ifndef dbg_Auto_AF_MultMsg_Idx_dbg_Auto_AF_FR +#define dbg_Auto_AF_MultMsg_Idx_dbg_Auto_AF_FR (1) +#endif + +#ifndef dbg_Auto_AF_MultMsg_Idx_dbg_Auto_AF_FL +#define dbg_Auto_AF_MultMsg_Idx_dbg_Auto_AF_FL (0) +#endif + + +typedef struct +{ +#ifdef CANDB_DBG_USE_BITS_SIGNAL + + // 3 : "RR" + // 2 : "RL" + // 1 : "FR" + // 0 : "FL" + // MULTIPLEX master signal + uint8_t dbg_Auto_AF_MultMsg_Idx : 2; // Bits= 2 + + // multiplex variable + int16_t dbg_Auto_AF_Correct_FL; // [-] Bits=12 Unit:'AF' + + // multiplex variable + int16_t dbg_Auto_AF_Correct_FR; // [-] Bits=12 Unit:'AF' + + // multiplex variable + int16_t dbg_Auto_AF_Correct_RL; // [-] Bits=12 Unit:'AF' + + // multiplex variable + int16_t dbg_Auto_AF_Correct_RR; // [-] Bits=12 Unit:'AF' + + // multiplex variable + int16_t dbg_Auto_AF_Vtg_RL; // [-] Bits=12 Unit:'AF' + + // multiplex variable + int16_t dbg_Auto_AF_Vtg_FL; // [-] Bits=12 Unit:'AF' + + // multiplex variable + int16_t dbg_Auto_AF_Vtg_FR; // [-] Bits=12 Unit:'AF' + + // multiplex variable + int16_t dbg_Auto_AF_Vtg_RR; // [-] Bits=12 Unit:'AF' + + // multiplex variable + int16_t dbg_Auto_AF_Incar_RL; // [-] Bits=12 Unit:'AF' + + // multiplex variable + int16_t dbg_Auto_AF_Incar_FR; // [-] Bits=12 Unit:'AF' + + // multiplex variable + int16_t dbg_Auto_AF_Incar_RR; // [-] Bits=12 Unit:'AF' + + // multiplex variable + int16_t dbg_Auto_AF_Incar_FL; // [-] Bits=12 Unit:'AF' + + // multiplex variable + int16_t dbg_Auto_AF_Amb_RL; // [-] Bits=12 Unit:'AF' + + // multiplex variable + int16_t dbg_Auto_AF_Amb_FR; // [-] Bits=12 Unit:'AF' + + // multiplex variable + int16_t dbg_Auto_AF_Sun_RR; // [-] Bits=12 Unit:'AF' + + // multiplex variable + int16_t dbg_Auto_AF_Amb_FL; // [-] Bits=12 Unit:'AF' + + // multiplex variable + int16_t dbg_Auto_AF_Sun_FR; // [-] Bits=12 Unit:'AF' + + // multiplex variable + int16_t dbg_Auto_AF_Sun_RL; // [-] Bits=12 Unit:'AF' + + // multiplex variable + int16_t dbg_Auto_AF_Amb_RR; // [-] Bits=12 Unit:'AF' + + // multiplex variable + int16_t dbg_Auto_AF_Sun_FL; // [-] Bits=12 Unit:'AF' + +#else + + // 3 : "RR" + // 2 : "RL" + // 1 : "FR" + // 0 : "FL" + // MULTIPLEX master signal + uint8_t dbg_Auto_AF_MultMsg_Idx; // Bits= 2 + + // multiplex variable + int16_t dbg_Auto_AF_Correct_FL; // [-] Bits=12 Unit:'AF' + + // multiplex variable + int16_t dbg_Auto_AF_Correct_FR; // [-] Bits=12 Unit:'AF' + + // multiplex variable + int16_t dbg_Auto_AF_Correct_RL; // [-] Bits=12 Unit:'AF' + + // multiplex variable + int16_t dbg_Auto_AF_Correct_RR; // [-] Bits=12 Unit:'AF' + + // multiplex variable + int16_t dbg_Auto_AF_Vtg_RL; // [-] Bits=12 Unit:'AF' + + // multiplex variable + int16_t dbg_Auto_AF_Vtg_FL; // [-] Bits=12 Unit:'AF' + + // multiplex variable + int16_t dbg_Auto_AF_Vtg_FR; // [-] Bits=12 Unit:'AF' + + // multiplex variable + int16_t dbg_Auto_AF_Vtg_RR; // [-] Bits=12 Unit:'AF' + + // multiplex variable + int16_t dbg_Auto_AF_Incar_RL; // [-] Bits=12 Unit:'AF' + + // multiplex variable + int16_t dbg_Auto_AF_Incar_FR; // [-] Bits=12 Unit:'AF' + + // multiplex variable + int16_t dbg_Auto_AF_Incar_RR; // [-] Bits=12 Unit:'AF' + + // multiplex variable + int16_t dbg_Auto_AF_Incar_FL; // [-] Bits=12 Unit:'AF' + + // multiplex variable + int16_t dbg_Auto_AF_Amb_RL; // [-] Bits=12 Unit:'AF' + + // multiplex variable + int16_t dbg_Auto_AF_Amb_FR; // [-] Bits=12 Unit:'AF' + + // multiplex variable + int16_t dbg_Auto_AF_Sun_RR; // [-] Bits=12 Unit:'AF' + + // multiplex variable + int16_t dbg_Auto_AF_Amb_FL; // [-] Bits=12 Unit:'AF' + + // multiplex variable + int16_t dbg_Auto_AF_Sun_FR; // [-] Bits=12 Unit:'AF' + + // multiplex variable + int16_t dbg_Auto_AF_Sun_RL; // [-] Bits=12 Unit:'AF' + + // multiplex variable + int16_t dbg_Auto_AF_Amb_RR; // [-] Bits=12 Unit:'AF' + + // multiplex variable + int16_t dbg_Auto_AF_Sun_FL; // [-] Bits=12 Unit:'AF' + +#endif // CANDB_DBG_USE_BITS_SIGNAL + +#ifdef CANDB_DBG_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_DBG_USE_DIAG_MONITORS + +} dbg_Auto_AF_t; + +// def @dbg_Auto_Duct CAN Message (1316 0x524) +#define dbg_Auto_Duct_IDE (0U) +#define dbg_Auto_Duct_DLC (8U) +#define dbg_Auto_Duct_CANID (0x524U) +#define dbg_Auto_Duct_CYC (250U) + +// Value tables for @dbg_Auto_Duct_MultMsg_Idx signal + +#ifndef dbg_Auto_Duct_MultMsg_Idx_dbg_Auto_Duct_IncarTg +#define dbg_Auto_Duct_MultMsg_Idx_dbg_Auto_Duct_IncarTg (6) +#endif + +#ifndef dbg_Auto_Duct_MultMsg_Idx_dbg_Auto_Duct_RR +#define dbg_Auto_Duct_MultMsg_Idx_dbg_Auto_Duct_RR (5) +#endif + +#ifndef dbg_Auto_Duct_MultMsg_Idx_dbg_Auto_Duct_RL +#define dbg_Auto_Duct_MultMsg_Idx_dbg_Auto_Duct_RL (4) +#endif + +#ifndef dbg_Auto_Duct_MultMsg_Idx_dbg_Auto_Duct_FR_Lower +#define dbg_Auto_Duct_MultMsg_Idx_dbg_Auto_Duct_FR_Lower (3) +#endif + +#ifndef dbg_Auto_Duct_MultMsg_Idx_dbg_Auto_Duct_FR_Upper +#define dbg_Auto_Duct_MultMsg_Idx_dbg_Auto_Duct_FR_Upper (2) +#endif + +#ifndef dbg_Auto_Duct_MultMsg_Idx_dbg_Auto_Duct_FL_Lower +#define dbg_Auto_Duct_MultMsg_Idx_dbg_Auto_Duct_FL_Lower (1) +#endif + +#ifndef dbg_Auto_Duct_MultMsg_Idx_dbg_Auto_Duct_FL_Upper +#define dbg_Auto_Duct_MultMsg_Idx_dbg_Auto_Duct_FL_Upper (0) +#endif + +// signal: @dbg_Auto_Duct_Tgt_FL_Upper_ro +#define CANDB_DBG_dbg_Auto_Duct_Tgt_FL_Upper_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Auto_Duct_Tgt_FL_Upper_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Auto_Duct_Tgt_FL_Upper_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @dbg_Auto_Duct_Tg_Incar_FL_Upper_ro +#define CANDB_DBG_dbg_Auto_Duct_Tg_Incar_FL_Upper_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Auto_Duct_Tg_Incar_FL_Upper_ro_toS(x) ( (int16_t) (((x) - (20.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Auto_Duct_Tg_Incar_FL_Upper_ro_fromS(x) ( (((x) * (0.1)) + (20.0)) ) +// signal: @dbg_Auto_Duct_Tgt_RR_ro +#define CANDB_DBG_dbg_Auto_Duct_Tgt_RR_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Auto_Duct_Tgt_RR_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Auto_Duct_Tgt_RR_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @dbg_Auto_Duct_Tgt_RL_ro +#define CANDB_DBG_dbg_Auto_Duct_Tgt_RL_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Auto_Duct_Tgt_RL_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Auto_Duct_Tgt_RL_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @dbg_Auto_Duct_Tgt_FR_Upper_ro +#define CANDB_DBG_dbg_Auto_Duct_Tgt_FR_Upper_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Auto_Duct_Tgt_FR_Upper_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Auto_Duct_Tgt_FR_Upper_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @dbg_Auto_Duct_Tgt_FR_Lower_ro +#define CANDB_DBG_dbg_Auto_Duct_Tgt_FR_Lower_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Auto_Duct_Tgt_FR_Lower_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Auto_Duct_Tgt_FR_Lower_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @dbg_Auto_Duct_Tgt_FL_Lower_ro +#define CANDB_DBG_dbg_Auto_Duct_Tgt_FL_Lower_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Auto_Duct_Tgt_FL_Lower_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Auto_Duct_Tgt_FL_Lower_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @dbg_Auto_Duct_Tg_Incar_FR_Upper_ro +#define CANDB_DBG_dbg_Auto_Duct_Tg_Incar_FR_Upper_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Auto_Duct_Tg_Incar_FR_Upper_ro_toS(x) ( (int16_t) (((x) - (20.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Auto_Duct_Tg_Incar_FR_Upper_ro_fromS(x) ( (((x) * (0.1)) + (20.0)) ) +// signal: @dbg_Auto_Duct_Tg_FL_Upper_ro +#define CANDB_DBG_dbg_Auto_Duct_Tg_FL_Upper_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Auto_Duct_Tg_FL_Upper_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Auto_Duct_Tg_FL_Upper_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @dbg_Auto_Duct_Tg_FL_Lower_ro +#define CANDB_DBG_dbg_Auto_Duct_Tg_FL_Lower_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Auto_Duct_Tg_FL_Lower_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Auto_Duct_Tg_FL_Lower_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @dbg_Auto_Duct_Tg_FR_Lower_ro +#define CANDB_DBG_dbg_Auto_Duct_Tg_FR_Lower_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Auto_Duct_Tg_FR_Lower_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Auto_Duct_Tg_FR_Lower_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @dbg_Auto_Duct_Tg_FR_Upper_ro +#define CANDB_DBG_dbg_Auto_Duct_Tg_FR_Upper_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Auto_Duct_Tg_FR_Upper_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Auto_Duct_Tg_FR_Upper_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @dbg_Auto_Duct_Tg_RL_ro +#define CANDB_DBG_dbg_Auto_Duct_Tg_RL_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Auto_Duct_Tg_RL_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Auto_Duct_Tg_RL_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @dbg_Auto_Duct_Tg_RR_ro +#define CANDB_DBG_dbg_Auto_Duct_Tg_RR_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Auto_Duct_Tg_RR_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Auto_Duct_Tg_RR_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @dbg_Auto_Duct_Tg_Incar_FL_Lower_ro +#define CANDB_DBG_dbg_Auto_Duct_Tg_Incar_FL_Lower_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Auto_Duct_Tg_Incar_FL_Lower_ro_toS(x) ( (int16_t) (((x) - (20.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Auto_Duct_Tg_Incar_FL_Lower_ro_fromS(x) ( (((x) * (0.1)) + (20.0)) ) +// signal: @dbg_Auto_Duct_Incar_FL_Lower_ro +#define CANDB_DBG_dbg_Auto_Duct_Incar_FL_Lower_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Auto_Duct_Incar_FL_Lower_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Auto_Duct_Incar_FL_Lower_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @dbg_Auto_Duct_Incar_RR_ro +#define CANDB_DBG_dbg_Auto_Duct_Incar_RR_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Auto_Duct_Incar_RR_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Auto_Duct_Incar_RR_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @dbg_Auto_Duct_Incar_RL_ro +#define CANDB_DBG_dbg_Auto_Duct_Incar_RL_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Auto_Duct_Incar_RL_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Auto_Duct_Incar_RL_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @dbg_Auto_Duct_Incar_FR_Upper_ro +#define CANDB_DBG_dbg_Auto_Duct_Incar_FR_Upper_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Auto_Duct_Incar_FR_Upper_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Auto_Duct_Incar_FR_Upper_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @dbg_Auto_Duct_Incar_FR_Lower_ro +#define CANDB_DBG_dbg_Auto_Duct_Incar_FR_Lower_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Auto_Duct_Incar_FR_Lower_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Auto_Duct_Incar_FR_Lower_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @dbg_Auto_Duct_Incar_FL_Upper_ro +#define CANDB_DBG_dbg_Auto_Duct_Incar_FL_Upper_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Auto_Duct_Incar_FL_Upper_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Auto_Duct_Incar_FL_Upper_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @dbg_Auto_Duct_Tg_Incar_FR_Lower_ro +#define CANDB_DBG_dbg_Auto_Duct_Tg_Incar_FR_Lower_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Auto_Duct_Tg_Incar_FR_Lower_ro_toS(x) ( (int16_t) (((x) - (20.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Auto_Duct_Tg_Incar_FR_Lower_ro_fromS(x) ( (((x) * (0.1)) + (20.0)) ) +// signal: @dbg_Auto_Duct_Amb_RL_ro +#define CANDB_DBG_dbg_Auto_Duct_Amb_RL_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Auto_Duct_Amb_RL_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Auto_Duct_Amb_RL_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @dbg_Auto_Duct_Amb_FR_Upper_ro +#define CANDB_DBG_dbg_Auto_Duct_Amb_FR_Upper_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Auto_Duct_Amb_FR_Upper_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Auto_Duct_Amb_FR_Upper_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @dbg_Auto_Duct_Amb_FR_Lower_ro +#define CANDB_DBG_dbg_Auto_Duct_Amb_FR_Lower_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Auto_Duct_Amb_FR_Lower_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Auto_Duct_Amb_FR_Lower_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @dbg_Auto_Duct_Amb_RR_ro +#define CANDB_DBG_dbg_Auto_Duct_Amb_RR_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Auto_Duct_Amb_RR_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Auto_Duct_Amb_RR_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @dbg_Auto_Duct_Amb_FL_Lower_ro +#define CANDB_DBG_dbg_Auto_Duct_Amb_FL_Lower_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Auto_Duct_Amb_FL_Lower_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Auto_Duct_Amb_FL_Lower_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @dbg_Auto_Duct_Amb_FL_Upper_ro +#define CANDB_DBG_dbg_Auto_Duct_Amb_FL_Upper_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Auto_Duct_Amb_FL_Upper_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Auto_Duct_Amb_FL_Upper_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @dbg_Auto_Duct_Tg_Incar_RL_ro +#define CANDB_DBG_dbg_Auto_Duct_Tg_Incar_RL_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Auto_Duct_Tg_Incar_RL_ro_toS(x) ( (int16_t) (((x) - (20.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Auto_Duct_Tg_Incar_RL_ro_fromS(x) ( (((x) * (0.1)) + (20.0)) ) +// signal: @dbg_Auto_Duct_Sun_FL_Lower_ro +#define CANDB_DBG_dbg_Auto_Duct_Sun_FL_Lower_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Auto_Duct_Sun_FL_Lower_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Auto_Duct_Sun_FL_Lower_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @dbg_Auto_Duct_Sun_FR_Lower_ro +#define CANDB_DBG_dbg_Auto_Duct_Sun_FR_Lower_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Auto_Duct_Sun_FR_Lower_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Auto_Duct_Sun_FR_Lower_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @dbg_Auto_Duct_Sun_FR_Upper_ro +#define CANDB_DBG_dbg_Auto_Duct_Sun_FR_Upper_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Auto_Duct_Sun_FR_Upper_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Auto_Duct_Sun_FR_Upper_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @dbg_Auto_Duct_Sun_RL_ro +#define CANDB_DBG_dbg_Auto_Duct_Sun_RL_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Auto_Duct_Sun_RL_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Auto_Duct_Sun_RL_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @dbg_Auto_Duct_Sun_FL_Upper_ro +#define CANDB_DBG_dbg_Auto_Duct_Sun_FL_Upper_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Auto_Duct_Sun_FL_Upper_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Auto_Duct_Sun_FL_Upper_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @dbg_Auto_Duct_Sun_RR_ro +#define CANDB_DBG_dbg_Auto_Duct_Sun_RR_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Auto_Duct_Sun_RR_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Auto_Duct_Sun_RR_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @dbg_Auto_Duct_Tg_Incar_RR_ro +#define CANDB_DBG_dbg_Auto_Duct_Tg_Incar_RR_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Auto_Duct_Tg_Incar_RR_ro_toS(x) ( (int16_t) (((x) - (20.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Auto_Duct_Tg_Incar_RR_ro_fromS(x) ( (((x) * (0.1)) + (20.0)) ) + +typedef struct +{ +#ifdef CANDB_DBG_USE_BITS_SIGNAL + + // 6 : "IncarTg" + // 5 : "RR" + // 4 : "RL" + // 3 : "FR_Lower" + // 2 : "FR_Upper" + // 1 : "FL_Lower" + // 0 : "FL_Upper" + // MULTIPLEX master signal + uint8_t dbg_Auto_Duct_MultMsg_Idx : 4; // Bits= 4 + + // multiplex variable + int16_t dbg_Auto_Duct_Tgt_FL_Upper_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Tgt_FL_Upper_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Tg_Incar_FL_Upper_ro; // [-] Bits=10 Offset= 20.0 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Tg_Incar_FL_Upper_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Tgt_RR_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Tgt_RR_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Tgt_RL_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Tgt_RL_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Tgt_FR_Upper_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Tgt_FR_Upper_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Tgt_FR_Lower_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Tgt_FR_Lower_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Tgt_FL_Lower_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Tgt_FL_Lower_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Tg_Incar_FR_Upper_ro; // [-] Bits=10 Offset= 20.0 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Tg_Incar_FR_Upper_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Tg_FL_Upper_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Tg_FL_Upper_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Tg_FL_Lower_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Tg_FL_Lower_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Tg_FR_Lower_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Tg_FR_Lower_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Tg_FR_Upper_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Tg_FR_Upper_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Tg_RL_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Tg_RL_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Tg_RR_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Tg_RR_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Tg_Incar_FL_Lower_ro; // [-] Bits=10 Offset= 20.0 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Tg_Incar_FL_Lower_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Incar_FL_Lower_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Incar_FL_Lower_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Incar_RR_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Incar_RR_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Incar_RL_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Incar_RL_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Incar_FR_Upper_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Incar_FR_Upper_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Incar_FR_Lower_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Incar_FR_Lower_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Incar_FL_Upper_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Incar_FL_Upper_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Tg_Incar_FR_Lower_ro; // [-] Bits=10 Offset= 20.0 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Tg_Incar_FR_Lower_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Amb_RL_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Amb_RL_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Amb_FR_Upper_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Amb_FR_Upper_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Amb_FR_Lower_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Amb_FR_Lower_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Amb_RR_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Amb_RR_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Amb_FL_Lower_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Amb_FL_Lower_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Amb_FL_Upper_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Amb_FL_Upper_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Tg_Incar_RL_ro; // [-] Bits=10 Offset= 20.0 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Tg_Incar_RL_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Sun_FL_Lower_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Sun_FL_Lower_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Sun_FR_Lower_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Sun_FR_Lower_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Sun_FR_Upper_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Sun_FR_Upper_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Sun_RL_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Sun_RL_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Sun_FL_Upper_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Sun_FL_Upper_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Sun_RR_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Sun_RR_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Tg_Incar_RR_ro; // [-] Bits=10 Offset= 20.0 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Tg_Incar_RR_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + +#else + + // 6 : "IncarTg" + // 5 : "RR" + // 4 : "RL" + // 3 : "FR_Lower" + // 2 : "FR_Upper" + // 1 : "FL_Lower" + // 0 : "FL_Upper" + // MULTIPLEX master signal + uint8_t dbg_Auto_Duct_MultMsg_Idx; // Bits= 4 + + // multiplex variable + int16_t dbg_Auto_Duct_Tgt_FL_Upper_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Tgt_FL_Upper_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Tg_Incar_FL_Upper_ro; // [-] Bits=10 Offset= 20.0 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Tg_Incar_FL_Upper_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Tgt_RR_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Tgt_RR_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Tgt_RL_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Tgt_RL_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Tgt_FR_Upper_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Tgt_FR_Upper_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Tgt_FR_Lower_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Tgt_FR_Lower_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Tgt_FL_Lower_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Tgt_FL_Lower_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Tg_Incar_FR_Upper_ro; // [-] Bits=10 Offset= 20.0 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Tg_Incar_FR_Upper_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Tg_FL_Upper_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Tg_FL_Upper_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Tg_FL_Lower_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Tg_FL_Lower_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Tg_FR_Lower_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Tg_FR_Lower_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Tg_FR_Upper_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Tg_FR_Upper_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Tg_RL_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Tg_RL_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Tg_RR_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Tg_RR_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Tg_Incar_FL_Lower_ro; // [-] Bits=10 Offset= 20.0 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Tg_Incar_FL_Lower_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Incar_FL_Lower_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Incar_FL_Lower_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Incar_RR_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Incar_RR_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Incar_RL_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Incar_RL_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Incar_FR_Upper_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Incar_FR_Upper_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Incar_FR_Lower_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Incar_FR_Lower_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Incar_FL_Upper_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Incar_FL_Upper_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Tg_Incar_FR_Lower_ro; // [-] Bits=10 Offset= 20.0 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Tg_Incar_FR_Lower_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Amb_RL_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Amb_RL_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Amb_FR_Upper_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Amb_FR_Upper_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Amb_FR_Lower_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Amb_FR_Lower_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Amb_RR_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Amb_RR_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Amb_FL_Lower_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Amb_FL_Lower_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Amb_FL_Upper_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Amb_FL_Upper_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Tg_Incar_RL_ro; // [-] Bits=10 Offset= 20.0 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Tg_Incar_RL_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Sun_FL_Lower_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Sun_FL_Lower_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Sun_FR_Lower_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Sun_FR_Lower_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Sun_FR_Upper_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Sun_FR_Upper_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Sun_RL_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Sun_RL_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Sun_FL_Upper_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Sun_FL_Upper_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Sun_RR_ro; // [-] Bits=12 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Sun_RR_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + // multiplex variable + int16_t dbg_Auto_Duct_Tg_Incar_RR_ro; // [-] Bits=10 Offset= 20.0 Factor= 0.1 Unit:'กษ' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Duct_Tg_Incar_RR_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + +#endif // CANDB_DBG_USE_BITS_SIGNAL + +#ifdef CANDB_DBG_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_DBG_USE_DIAG_MONITORS + +} dbg_Auto_Duct_t; + +// def @dbg_Auto_Valve_Plus CAN Message (1328 0x530) +#define dbg_Auto_Valve_Plus_IDE (0U) +#define dbg_Auto_Valve_Plus_DLC (8U) +#define dbg_Auto_Valve_Plus_CANID (0x530U) +// signal: @dbg_Auto_Valve_Plus_Vent_SFL_ro +#define CANDB_DBG_dbg_Auto_Valve_Plus_Vent_SFL_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Auto_Valve_Plus_Vent_SFL_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Auto_Valve_Plus_Vent_SFL_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @dbg_Auto_Valve_Plus_Vent_CFL_ro +#define CANDB_DBG_dbg_Auto_Valve_Plus_Vent_CFL_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Auto_Valve_Plus_Vent_CFL_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Auto_Valve_Plus_Vent_CFL_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @dbg_Auto_Valve_Plus_Foot_FL_ro +#define CANDB_DBG_dbg_Auto_Valve_Plus_Foot_FL_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Auto_Valve_Plus_Foot_FL_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Auto_Valve_Plus_Foot_FL_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @dbg_Auto_Valve_Plus_Vent_SFR_ro +#define CANDB_DBG_dbg_Auto_Valve_Plus_Vent_SFR_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Auto_Valve_Plus_Vent_SFR_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Auto_Valve_Plus_Vent_SFR_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @dbg_Auto_Valve_Plus_Vent_CFR_ro +#define CANDB_DBG_dbg_Auto_Valve_Plus_Vent_CFR_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Auto_Valve_Plus_Vent_CFR_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Auto_Valve_Plus_Vent_CFR_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) +// signal: @dbg_Auto_Valve_Plus_Foot_FR_ro +#define CANDB_DBG_dbg_Auto_Valve_Plus_Foot_FR_ro_CovFactor (0.1) +#define CANDB_DBG_dbg_Auto_Valve_Plus_Foot_FR_ro_toS(x) ( (int16_t) (((x) - (0.0)) / (0.1)) ) +#define CANDB_DBG_dbg_Auto_Valve_Plus_Foot_FR_ro_fromS(x) ( (((x) * (0.1)) + (0.0)) ) + +typedef struct +{ +#ifdef CANDB_DBG_USE_BITS_SIGNAL + + int16_t dbg_Auto_Valve_Plus_Vent_SFL_ro; // [-] Bits=10 Factor= 0.1 Unit:'0.1%' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Valve_Plus_Vent_SFL_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + int16_t dbg_Auto_Valve_Plus_Vent_CFL_ro; // [-] Bits=10 Factor= 0.1 Unit:'0.1%' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Valve_Plus_Vent_CFL_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + int16_t dbg_Auto_Valve_Plus_Foot_FL_ro; // [-] Bits=10 Factor= 0.1 Unit:'0.1%' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Valve_Plus_Foot_FL_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + int16_t dbg_Auto_Valve_Plus_Vent_SFR_ro; // [-] Bits=10 Factor= 0.1 Unit:'0.1%' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Valve_Plus_Vent_SFR_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + int16_t dbg_Auto_Valve_Plus_Vent_CFR_ro; // [-] Bits=10 Factor= 0.1 Unit:'0.1%' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Valve_Plus_Vent_CFR_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + int16_t dbg_Auto_Valve_Plus_Foot_FR_ro; // [-] Bits=10 Factor= 0.1 Unit:'0.1%' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Valve_Plus_Foot_FR_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + +#else + + int16_t dbg_Auto_Valve_Plus_Vent_SFL_ro; // [-] Bits=10 Factor= 0.1 Unit:'0.1%' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Valve_Plus_Vent_SFL_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + int16_t dbg_Auto_Valve_Plus_Vent_CFL_ro; // [-] Bits=10 Factor= 0.1 Unit:'0.1%' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Valve_Plus_Vent_CFL_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + int16_t dbg_Auto_Valve_Plus_Foot_FL_ro; // [-] Bits=10 Factor= 0.1 Unit:'0.1%' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Valve_Plus_Foot_FL_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + int16_t dbg_Auto_Valve_Plus_Vent_SFR_ro; // [-] Bits=10 Factor= 0.1 Unit:'0.1%' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Valve_Plus_Vent_SFR_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + int16_t dbg_Auto_Valve_Plus_Vent_CFR_ro; // [-] Bits=10 Factor= 0.1 Unit:'0.1%' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Valve_Plus_Vent_CFR_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + + int16_t dbg_Auto_Valve_Plus_Foot_FR_ro; // [-] Bits=10 Factor= 0.1 Unit:'0.1%' + +#ifdef CANDB_DBG_USE_SIGFLOAT + sigfloat_t dbg_Auto_Valve_Plus_Foot_FR_phys; +#endif // CANDB_DBG_USE_SIGFLOAT + +#endif // CANDB_DBG_USE_BITS_SIGNAL + +#ifdef CANDB_DBG_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_DBG_USE_DIAG_MONITORS + +} dbg_Auto_Valve_Plus_t; + +// def @XCP_CCU_RX CAN Message (1707 0x6ab) +#define XCP_CCU_RX_IDE (0U) +#define XCP_CCU_RX_DLC (8U) +#define XCP_CCU_RX_CANID (0x6abU) + +typedef struct +{ +#ifdef CANDB_DBG_USE_BITS_SIGNAL + + int64_t XcpCcuRx; // [-] Bits=64 Unit:'-' + +#else + + int64_t XcpCcuRx; // [-] Bits=64 Unit:'-' + +#endif // CANDB_DBG_USE_BITS_SIGNAL + +#ifdef CANDB_DBG_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_DBG_USE_DIAG_MONITORS + +} XCP_CCU_RX_t; + +// def @XCP_CCU_TX CAN Message (1723 0x6bb) +#define XCP_CCU_TX_IDE (0U) +#define XCP_CCU_TX_DLC (8U) +#define XCP_CCU_TX_CANID (0x6bbU) + +typedef struct +{ +#ifdef CANDB_DBG_USE_BITS_SIGNAL + + int64_t XcpCcuTx; // [-] Bits=64 Unit:'-' + +#else + + int64_t XcpCcuTx; // [-] Bits=64 Unit:'-' + +#endif // CANDB_DBG_USE_BITS_SIGNAL + +#ifdef CANDB_DBG_USE_DIAG_MONITORS + + FrameMonitor_t mon1; + +#endif // CANDB_DBG_USE_DIAG_MONITORS + +} XCP_CCU_TX_t; + +// Function signatures + +uint32_t Unpack_dbg_Logic_State_candb_dbg(dbg_Logic_State_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_DBG_USE_CANSTRUCT +uint32_t Pack_dbg_Logic_State_candb_dbg(dbg_Logic_State_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_dbg_Logic_State_candb_dbg(dbg_Logic_State_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_DBG_USE_CANSTRUCT + +uint32_t Unpack_dbg_Logic_KM_Status_candb_dbg(dbg_Logic_KM_Status_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_DBG_USE_CANSTRUCT +uint32_t Pack_dbg_Logic_KM_Status_candb_dbg(dbg_Logic_KM_Status_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_dbg_Logic_KM_Status_candb_dbg(dbg_Logic_KM_Status_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_DBG_USE_CANSTRUCT + +uint32_t Unpack_dbg_Logic_Valve_candb_dbg(dbg_Logic_Valve_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_DBG_USE_CANSTRUCT +uint32_t Pack_dbg_Logic_Valve_candb_dbg(dbg_Logic_Valve_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_dbg_Logic_Valve_candb_dbg(dbg_Logic_Valve_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_DBG_USE_CANSTRUCT + +uint32_t Unpack_dbg_Logic_Blower_candb_dbg(dbg_Logic_Blower_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_DBG_USE_CANSTRUCT +uint32_t Pack_dbg_Logic_Blower_candb_dbg(dbg_Logic_Blower_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_dbg_Logic_Blower_candb_dbg(dbg_Logic_Blower_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_DBG_USE_CANSTRUCT + +uint32_t Unpack_dbg_Logic_Ac_candb_dbg(dbg_Logic_Ac_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_DBG_USE_CANSTRUCT +uint32_t Pack_dbg_Logic_Ac_candb_dbg(dbg_Logic_Ac_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_dbg_Logic_Ac_candb_dbg(dbg_Logic_Ac_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_DBG_USE_CANSTRUCT + +uint32_t Unpack_dbg_Logic_Rec_candb_dbg(dbg_Logic_Rec_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_DBG_USE_CANSTRUCT +uint32_t Pack_dbg_Logic_Rec_candb_dbg(dbg_Logic_Rec_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_dbg_Logic_Rec_candb_dbg(dbg_Logic_Rec_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_DBG_USE_CANSTRUCT + +uint32_t Unpack_dbg_DiffBlr_ValveOpen_candb_dbg(dbg_DiffBlr_ValveOpen_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_DBG_USE_CANSTRUCT +uint32_t Pack_dbg_DiffBlr_ValveOpen_candb_dbg(dbg_DiffBlr_ValveOpen_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_dbg_DiffBlr_ValveOpen_candb_dbg(dbg_DiffBlr_ValveOpen_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_DBG_USE_CANSTRUCT + +uint32_t Unpack_dbg_Act0_candb_dbg(dbg_Act0_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_DBG_USE_CANSTRUCT +uint32_t Pack_dbg_Act0_candb_dbg(dbg_Act0_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_dbg_Act0_candb_dbg(dbg_Act0_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_DBG_USE_CANSTRUCT + +uint32_t Unpack_dbg_Act1_candb_dbg(dbg_Act1_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_DBG_USE_CANSTRUCT +uint32_t Pack_dbg_Act1_candb_dbg(dbg_Act1_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_dbg_Act1_candb_dbg(dbg_Act1_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_DBG_USE_CANSTRUCT + +uint32_t Unpack_dbg_Act2_candb_dbg(dbg_Act2_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_DBG_USE_CANSTRUCT +uint32_t Pack_dbg_Act2_candb_dbg(dbg_Act2_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_dbg_Act2_candb_dbg(dbg_Act2_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_DBG_USE_CANSTRUCT + +uint32_t Unpack_dbg_Sen_Amb_candb_dbg(dbg_Sen_Amb_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_DBG_USE_CANSTRUCT +uint32_t Pack_dbg_Sen_Amb_candb_dbg(dbg_Sen_Amb_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_dbg_Sen_Amb_candb_dbg(dbg_Sen_Amb_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_DBG_USE_CANSTRUCT + +uint32_t Unpack_dbg_Sen_0_candb_dbg(dbg_Sen_0_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_DBG_USE_CANSTRUCT +uint32_t Pack_dbg_Sen_0_candb_dbg(dbg_Sen_0_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_dbg_Sen_0_candb_dbg(dbg_Sen_0_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_DBG_USE_CANSTRUCT + +uint32_t Unpack_dbg_CCU_IO_candb_dbg(dbg_CCU_IO_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_DBG_USE_CANSTRUCT +uint32_t Pack_dbg_CCU_IO_candb_dbg(dbg_CCU_IO_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_dbg_CCU_IO_candb_dbg(dbg_CCU_IO_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_DBG_USE_CANSTRUCT + +uint32_t Unpack_dbg_CCU_Info_candb_dbg(dbg_CCU_Info_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_DBG_USE_CANSTRUCT +uint32_t Pack_dbg_CCU_Info_candb_dbg(dbg_CCU_Info_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_dbg_CCU_Info_candb_dbg(dbg_CCU_Info_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_DBG_USE_CANSTRUCT + +uint32_t Unpack_dbg_Drs_candb_dbg(dbg_Drs_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_DBG_USE_CANSTRUCT +uint32_t Pack_dbg_Drs_candb_dbg(dbg_Drs_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_dbg_Drs_candb_dbg(dbg_Drs_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_DBG_USE_CANSTRUCT + +uint32_t Unpack_dbg_Sen_Incar_candb_dbg(dbg_Sen_Incar_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_DBG_USE_CANSTRUCT +uint32_t Pack_dbg_Sen_Incar_candb_dbg(dbg_Sen_Incar_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_dbg_Sen_Incar_candb_dbg(dbg_Sen_Incar_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_DBG_USE_CANSTRUCT + +uint32_t Unpack_dbg_Cmd_Act_Information_candb_dbg(dbg_Cmd_Act_Information_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_DBG_USE_CANSTRUCT +uint32_t Pack_dbg_Cmd_Act_Information_candb_dbg(dbg_Cmd_Act_Information_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_dbg_Cmd_Act_Information_candb_dbg(dbg_Cmd_Act_Information_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_DBG_USE_CANSTRUCT + +uint32_t Unpack_dbg_Info_Act1_candb_dbg(dbg_Info_Act1_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_DBG_USE_CANSTRUCT +uint32_t Pack_dbg_Info_Act1_candb_dbg(dbg_Info_Act1_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_dbg_Info_Act1_candb_dbg(dbg_Info_Act1_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_DBG_USE_CANSTRUCT + +uint32_t Unpack_dbg_Info_Act2_candb_dbg(dbg_Info_Act2_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_DBG_USE_CANSTRUCT +uint32_t Pack_dbg_Info_Act2_candb_dbg(dbg_Info_Act2_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_dbg_Info_Act2_candb_dbg(dbg_Info_Act2_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_DBG_USE_CANSTRUCT + +uint32_t Unpack_dbg_Sen_Eva_candb_dbg(dbg_Sen_Eva_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_DBG_USE_CANSTRUCT +uint32_t Pack_dbg_Sen_Eva_candb_dbg(dbg_Sen_Eva_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_dbg_Sen_Eva_candb_dbg(dbg_Sen_Eva_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_DBG_USE_CANSTRUCT + +uint32_t Unpack_dbg_Sen_Duct_candb_dbg(dbg_Sen_Duct_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_DBG_USE_CANSTRUCT +uint32_t Pack_dbg_Sen_Duct_candb_dbg(dbg_Sen_Duct_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_dbg_Sen_Duct_candb_dbg(dbg_Sen_Duct_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_DBG_USE_CANSTRUCT + +uint32_t Unpack_dbg_Sen_Demist_candb_dbg(dbg_Sen_Demist_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_DBG_USE_CANSTRUCT +uint32_t Pack_dbg_Sen_Demist_candb_dbg(dbg_Sen_Demist_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_dbg_Sen_Demist_candb_dbg(dbg_Sen_Demist_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_DBG_USE_CANSTRUCT + +uint32_t Unpack_dbg_LIN_AirQS_Stat_candb_dbg(dbg_LIN_AirQS_Stat_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_DBG_USE_CANSTRUCT +uint32_t Pack_dbg_LIN_AirQS_Stat_candb_dbg(dbg_LIN_AirQS_Stat_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_dbg_LIN_AirQS_Stat_candb_dbg(dbg_LIN_AirQS_Stat_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_DBG_USE_CANSTRUCT + +uint32_t Unpack_dbg_LIN_Aroma_Stat_candb_dbg(dbg_LIN_Aroma_Stat_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_DBG_USE_CANSTRUCT +uint32_t Pack_dbg_LIN_Aroma_Stat_candb_dbg(dbg_LIN_Aroma_Stat_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_dbg_LIN_Aroma_Stat_candb_dbg(dbg_LIN_Aroma_Stat_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_DBG_USE_CANSTRUCT + +uint32_t Unpack_dbg_LIN_Ionizer_Stat_candb_dbg(dbg_LIN_Ionizer_Stat_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_DBG_USE_CANSTRUCT +uint32_t Pack_dbg_LIN_Ionizer_Stat_candb_dbg(dbg_LIN_Ionizer_Stat_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_dbg_LIN_Ionizer_Stat_candb_dbg(dbg_LIN_Ionizer_Stat_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_DBG_USE_CANSTRUCT + +uint32_t Unpack_dbg_LIN_eTXV_Stat_candb_dbg(dbg_LIN_eTXV_Stat_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_DBG_USE_CANSTRUCT +uint32_t Pack_dbg_LIN_eTXV_Stat_candb_dbg(dbg_LIN_eTXV_Stat_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_dbg_LIN_eTXV_Stat_candb_dbg(dbg_LIN_eTXV_Stat_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_DBG_USE_CANSTRUCT + +uint32_t Unpack_dbg_LIN_DRS_Stat_candb_dbg(dbg_LIN_DRS_Stat_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_DBG_USE_CANSTRUCT +uint32_t Pack_dbg_LIN_DRS_Stat_candb_dbg(dbg_LIN_DRS_Stat_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_dbg_LIN_DRS_Stat_candb_dbg(dbg_LIN_DRS_Stat_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_DBG_USE_CANSTRUCT + +uint32_t Unpack_dbg_Auto_AF_candb_dbg(dbg_Auto_AF_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_DBG_USE_CANSTRUCT +uint32_t Pack_dbg_Auto_AF_candb_dbg(dbg_Auto_AF_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_dbg_Auto_AF_candb_dbg(dbg_Auto_AF_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_DBG_USE_CANSTRUCT + +uint32_t Unpack_dbg_Auto_Duct_candb_dbg(dbg_Auto_Duct_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_DBG_USE_CANSTRUCT +uint32_t Pack_dbg_Auto_Duct_candb_dbg(dbg_Auto_Duct_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_dbg_Auto_Duct_candb_dbg(dbg_Auto_Duct_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_DBG_USE_CANSTRUCT + +uint32_t Unpack_dbg_Auto_Valve_Plus_candb_dbg(dbg_Auto_Valve_Plus_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_DBG_USE_CANSTRUCT +uint32_t Pack_dbg_Auto_Valve_Plus_candb_dbg(dbg_Auto_Valve_Plus_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_dbg_Auto_Valve_Plus_candb_dbg(dbg_Auto_Valve_Plus_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_DBG_USE_CANSTRUCT + +uint32_t Unpack_XCP_CCU_RX_candb_dbg(XCP_CCU_RX_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_DBG_USE_CANSTRUCT +uint32_t Pack_XCP_CCU_RX_candb_dbg(XCP_CCU_RX_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_XCP_CCU_RX_candb_dbg(XCP_CCU_RX_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_DBG_USE_CANSTRUCT + +uint32_t Unpack_XCP_CCU_TX_candb_dbg(XCP_CCU_TX_t* _m, const uint8_t* _d, uint8_t dlc_); +#ifdef CANDB_DBG_USE_CANSTRUCT +uint32_t Pack_XCP_CCU_TX_candb_dbg(XCP_CCU_TX_t* _m, __CoderDbcCanFrame_t__* cframe); +#else +uint32_t Pack_XCP_CCU_TX_candb_dbg(XCP_CCU_TX_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide); +#endif // CANDB_DBG_USE_CANSTRUCT + +#ifdef __cplusplus +} +#endif diff --git a/modular.json b/modular.json new file mode 100644 index 0000000..35ce3f4 --- /dev/null +++ b/modular.json @@ -0,0 +1,15 @@ +{ + "cmake": { + "inc_dirs": [ + "inc", + "butl", + "conf", + "lib" + ], + "srcs": [ + "butl/**.c", + "lib/**.c", + "usr/**.c" + ] + } +} \ No newline at end of file diff --git a/usr/candb_dbg-fmon.c b/usr/candb_dbg-fmon.c new file mode 100644 index 0000000..5477f17 --- /dev/null +++ b/usr/candb_dbg-fmon.c @@ -0,0 +1,216 @@ +// Generator version : v3.1 +// DBC filename : CCUdbg.dbc +#include "candb_dbg-fmon.h" + +#ifdef CANDB_DBG_USE_DIAG_MONITORS + +/* +Put the monitor function content here, keep in mind - +next generation will completely clear all manually added code (!) +*/ + +#ifdef CANDB_DBG_USE_MONO_FMON + +void _FMon_MONO_candb_dbg(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +#else + +void _FMon_dbg_Logic_State_candb_dbg(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_dbg_Logic_KM_Status_candb_dbg(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_dbg_Logic_Valve_candb_dbg(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_dbg_Logic_Blower_candb_dbg(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_dbg_Logic_Ac_candb_dbg(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_dbg_Logic_Rec_candb_dbg(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_dbg_DiffBlr_ValveOpen_candb_dbg(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_dbg_Act0_candb_dbg(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_dbg_Act1_candb_dbg(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_dbg_Act2_candb_dbg(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_dbg_Sen_Amb_candb_dbg(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_dbg_Sen_0_candb_dbg(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_dbg_CCU_IO_candb_dbg(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_dbg_CCU_Info_candb_dbg(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_dbg_Drs_candb_dbg(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_dbg_Sen_Incar_candb_dbg(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_dbg_Cmd_Act_Information_candb_dbg(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_dbg_Info_Act1_candb_dbg(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_dbg_Info_Act2_candb_dbg(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_dbg_Sen_Eva_candb_dbg(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_dbg_Sen_Duct_candb_dbg(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_dbg_Sen_Demist_candb_dbg(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_dbg_LIN_AirQS_Stat_candb_dbg(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_dbg_LIN_Aroma_Stat_candb_dbg(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_dbg_LIN_Ionizer_Stat_candb_dbg(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_dbg_LIN_eTXV_Stat_candb_dbg(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_dbg_LIN_DRS_Stat_candb_dbg(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_dbg_Auto_AF_candb_dbg(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_dbg_Auto_Duct_candb_dbg(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_dbg_Auto_Valve_Plus_candb_dbg(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_XCP_CCU_RX_candb_dbg(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +void _FMon_XCP_CCU_TX_candb_dbg(FrameMonitor_t* _mon, uint32_t msgid) +{ + (void)_mon; + (void)msgid; +} + +#endif // CANDB_DBG_USE_MONO_FMON + +#endif // CANDB_DBG_USE_DIAG_MONITORS