Обновление платы на V2
This commit is contained in:
parent
d03380a269
commit
5470e4d85a
|
|
@ -7,6 +7,7 @@
|
|||
#include "CanPorts.h"
|
||||
#include "memory.h"
|
||||
#include "HVAC_model.h"
|
||||
#include "candb_dbg_fixed.h"
|
||||
|
||||
#define LOG_SIGN "CAN_DEBUG_TRANSMITTER"
|
||||
#define LOGGER env->logger
|
||||
|
|
@ -20,6 +21,12 @@ void CanSpamDebugTransmitter_Init(tCanSpamDebugTransmitter *env,
|
|||
env->logger = logger;
|
||||
env->canSpamDebugReceiver = canSpamDebugReceiver;
|
||||
env->access = osMutexNew(NULL);
|
||||
env->dbg_Sen_Duct_MultMsg_Idx = 0;
|
||||
env->dbg_Sen_Incar_MultMsg_Idx = 0;
|
||||
env->dbg_DiffBlr_ValveOpen_MultMsg_Idx = 0;
|
||||
env->dbg_CCU_Info_MultMsg_Idx = 0;
|
||||
env->dbg_Auto_Duct_MultMsg_Idx = 0;
|
||||
env->dbg_Auto_AF_MultMsg_Idx = 0;
|
||||
|
||||
InitThreadAtrStatic(&env->thread.attr, "CanSpamDebugTrans", env->thread.controlBlock, env->thread.stack,
|
||||
osPriorityNormal);
|
||||
|
|
@ -40,74 +47,6 @@ static void sendEventToCan(tCanSpamDebugTransmitter *env) {
|
|||
}
|
||||
|
||||
|
||||
uint32_t Pack_dbg_Sen_Duct_candb_dbg2(dbg_Sen_Duct_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide)
|
||||
{
|
||||
for (uint8_t i = 0u; i < CANDB_DBG_VALIDATE_DLC(dbg_Sen_Duct_DLC); _d[i++] = CANDB_DBG_INITIAL_BYTE_VALUE);
|
||||
|
||||
// Устанавливаем мультиплексор (биты 0-1)
|
||||
_d[0] |= (uint8_t) (_m->dbg_Sen_Duct_MultMsg_Idx & 0x03U);
|
||||
|
||||
// Выбираем набор сигналов в зависимости от мультиплексора
|
||||
switch(_m->dbg_Sen_Duct_MultMsg_Idx) {
|
||||
case 0: // FL (передний левый)
|
||||
_d[0] |= (uint8_t) ((_m->dbg_Sen_Duct_FL_Fb_Select & 0x01U) << 3U);
|
||||
// FL_Upper_Tgt (startbit 4, length 12)
|
||||
_d[0] |= (uint8_t) ((_m->dbg_Sen_Duct_FL_Upper_Tgt_ro & 0x0FU) << 4U);
|
||||
_d[1] |= (uint8_t) ((_m->dbg_Sen_Duct_FL_Upper_Tgt_ro >> 4U) & 0xFFU);
|
||||
// FL_Upper_Fb (startbit 16, length 12)
|
||||
_d[2] |= (uint8_t) (_m->dbg_Sen_Duct_FL_Upper_Fb_ro & 0xFFU);
|
||||
_d[3] |= (uint8_t) ((_m->dbg_Sen_Duct_FL_Upper_Fb_ro >> 8U) & 0x0FU);
|
||||
// FL_Side_Fb (startbit 28, length 12)
|
||||
_d[3] |= (uint8_t) ((_m->dbg_Sen_Duct_FL_Side_Fb_ro & 0x0FU) << 4U);
|
||||
_d[4] |= (uint8_t) ((_m->dbg_Sen_Duct_FL_Side_Fb_ro >> 4U) & 0xFFU);
|
||||
// FL_Lower_Tgt (startbit 40, length 12)
|
||||
_d[5] |= (uint8_t) (_m->dbg_Sen_Duct_FL_Lower_Tgt_ro & 0xFFU);
|
||||
_d[6] |= (uint8_t) ((_m->dbg_Sen_Duct_FL_Lower_Tgt_ro >> 8U) & 0x0FU);
|
||||
// FL_Lower_Fb (startbit 52, length 12)
|
||||
_d[6] |= (uint8_t) ((_m->dbg_Sen_Duct_FL_Lower_Fb_ro & 0x0FU) << 4U);
|
||||
_d[7] |= (uint8_t) ((_m->dbg_Sen_Duct_FL_Lower_Fb_ro >> 4U) & 0xFFU);
|
||||
break;
|
||||
|
||||
case 1: // FR (передний правый)
|
||||
_d[0] |= (uint8_t) ((_m->dbg_Sen_Duct_FR_Fb_Select & 0x01U) << 3U);
|
||||
_d[0] |= (uint8_t) ((_m->dbg_Sen_Duct_FR_Upper_Tgt_ro & 0x0FU) << 4U);
|
||||
_d[1] |= (uint8_t) ((_m->dbg_Sen_Duct_FR_Upper_Tgt_ro >> 4U) & 0xFFU);
|
||||
_d[2] |= (uint8_t) (_m->dbg_Sen_Duct_FR_Upper_Fb_ro & 0xFFU);
|
||||
_d[3] |= (uint8_t) ((_m->dbg_Sen_Duct_FR_Upper_Fb_ro >> 8U) & 0x0FU);
|
||||
_d[3] |= (uint8_t) ((_m->dbg_Sen_Duct_FR_Side_Fb_ro & 0x0FU) << 4U);
|
||||
_d[4] |= (uint8_t) ((_m->dbg_Sen_Duct_FR_Side_Fb_ro >> 4U) & 0xFFU);
|
||||
_d[5] |= (uint8_t) (_m->dbg_Sen_Duct_FR_Lower_Tgt_ro & 0xFFU);
|
||||
_d[6] |= (uint8_t) ((_m->dbg_Sen_Duct_FR_Lower_Tgt_ro >> 8U) & 0x0FU);
|
||||
_d[6] |= (uint8_t) ((_m->dbg_Sen_Duct_FR_Lower_Fb_ro & 0x0FU) << 4U);
|
||||
_d[7] |= (uint8_t) ((_m->dbg_Sen_Duct_FR_Lower_Fb_ro >> 4U) & 0xFFU);
|
||||
break;
|
||||
|
||||
case 2: // RL (задний левый)
|
||||
_d[0] |= (uint8_t) ((_m->dbg_Sen_Duct_RL_Fb_Select & 0x01U) << 3U);
|
||||
_d[0] |= (uint8_t) ((_m->dbg_Sen_Duct_RL_Tgt_ro & 0x0FU) << 4U);
|
||||
_d[1] |= (uint8_t) ((_m->dbg_Sen_Duct_RL_Tgt_ro >> 4U) & 0xFFU);
|
||||
_d[2] |= (uint8_t) (_m->dbg_Sen_Duct_RL_Fb_ro & 0xFFU);
|
||||
_d[3] |= (uint8_t) ((_m->dbg_Sen_Duct_RL_Fb_ro >> 8U) & 0x0FU);
|
||||
_d[3] |= (uint8_t) ((_m->dbg_Sen_Duct_RL_Side_Fb_ro & 0x0FU) << 4U);
|
||||
_d[4] |= (uint8_t) ((_m->dbg_Sen_Duct_RL_Side_Fb_ro >> 4U) & 0xFFU);
|
||||
break;
|
||||
|
||||
case 3: // RR (задний правый)
|
||||
_d[0] |= (uint8_t) ((_m->dbg_Sen_Duct_RR_Fb_Select & 0x01U) << 3U);
|
||||
_d[0] |= (uint8_t) ((_m->dbg_Sen_Duct_RR_Tgt_ro & 0x0FU) << 4U);
|
||||
_d[1] |= (uint8_t) ((_m->dbg_Sen_Duct_RR_Tgt_ro >> 4U) & 0xFFU);
|
||||
_d[2] |= (uint8_t) (_m->dbg_Sen_Duct_RR_Fb_ro & 0xFFU);
|
||||
_d[3] |= (uint8_t) ((_m->dbg_Sen_Duct_RR_Fb_ro >> 8U) & 0x0FU);
|
||||
_d[3] |= (uint8_t) ((_m->dbg_Sen_Duct_RR_Side_Fb_ro & 0x0FU) << 4U);
|
||||
_d[4] |= (uint8_t) ((_m->dbg_Sen_Duct_RR_Side_Fb_ro >> 4U) & 0xFFU);
|
||||
break;
|
||||
}
|
||||
|
||||
*_len = (uint8_t) dbg_Sen_Duct_DLC;
|
||||
*_ide = (uint8_t) dbg_Sen_Duct_IDE;
|
||||
return dbg_Sen_Duct_CANID;
|
||||
}
|
||||
|
||||
static eTimeEventDbgTransmit isEventTransmitter(tCanSpamDebugTransmitter *env) {
|
||||
|
||||
#if (dbg_Act0_SEND == 1)
|
||||
|
|
@ -148,7 +87,15 @@ static eTimeEventDbgTransmit isEventTransmitter(tCanSpamDebugTransmitter *env) {
|
|||
if (env->time_dbg_Auto_AF_CYC < env->timeMs) {
|
||||
env->time_dbg_Auto_AF_CYC = env->timeMs + dbg_Auto_AF_CYC;
|
||||
|
||||
env->can_id = Pack_dbg_Auto_AF_candb_dbg(&ccu_candb_dbg_tx.dbg_Auto_AF, env->canFrame.data, &env->canFrame.dlc, &env->ide);
|
||||
ccu_candb_dbg_tx.dbg_Auto_AF.dbg_Auto_AF_MultMsg_Idx = env->dbg_Auto_AF_MultMsg_Idx;
|
||||
|
||||
env->can_id = Pack_dbg_Auto_AF_candb_dbg2(&ccu_candb_dbg_tx.dbg_Auto_AF, env->canFrame.data,
|
||||
&env->canFrame.dlc, &env->ide);
|
||||
|
||||
++env->dbg_Auto_AF_MultMsg_Idx;
|
||||
if (env->dbg_Auto_AF_MultMsg_Idx > 3) {
|
||||
env->dbg_Auto_AF_MultMsg_Idx = 0;
|
||||
}
|
||||
|
||||
return event_dbg_Auto_AF_CYC;
|
||||
}
|
||||
|
|
@ -158,7 +105,15 @@ static eTimeEventDbgTransmit isEventTransmitter(tCanSpamDebugTransmitter *env) {
|
|||
if (env->time_dbg_Auto_Duct_CYC < env->timeMs) {
|
||||
env->time_dbg_Auto_Duct_CYC = env->timeMs + dbg_Auto_Duct_CYC;
|
||||
|
||||
env->can_id = Pack_dbg_Auto_Duct_candb_dbg(&ccu_candb_dbg_tx.dbg_Auto_Duct, env->canFrame.data, &env->canFrame.dlc, &env->ide);
|
||||
ccu_candb_dbg_tx.dbg_Auto_Duct.dbg_Auto_Duct_MultMsg_Idx = env->dbg_Auto_Duct_MultMsg_Idx;
|
||||
|
||||
env->can_id = Pack_dbg_Auto_Duct_candb_dbg2(&ccu_candb_dbg_tx.dbg_Auto_Duct, env->canFrame.data,
|
||||
&env->canFrame.dlc, &env->ide);
|
||||
|
||||
++env->dbg_Auto_Duct_MultMsg_Idx;
|
||||
if (env->dbg_Auto_Duct_MultMsg_Idx > 5) {
|
||||
env->dbg_Auto_Duct_MultMsg_Idx = 0;
|
||||
}
|
||||
|
||||
return event_dbg_Auto_Duct_CYC;
|
||||
}
|
||||
|
|
@ -168,7 +123,8 @@ static eTimeEventDbgTransmit isEventTransmitter(tCanSpamDebugTransmitter *env) {
|
|||
if (env->time_dbg_Auto_Valve_Plus_CYC < env->timeMs) {
|
||||
env->time_dbg_Auto_Valve_Plus_CYC = env->timeMs + dbg_Auto_Valve_Plus_CYC;
|
||||
|
||||
env->can_id = Pack_dbg_Auto_Valve_Plus_candb_dbg(&ccu_candb_dbg_tx.dbg_Auto_Valve_Plus, env->canFrame.data, &env->canFrame.dlc, &env->ide);
|
||||
env->can_id = Pack_dbg_Auto_Valve_Plus_candb_dbg(&ccu_candb_dbg_tx.dbg_Auto_Valve_Plus, env->canFrame.data,
|
||||
&env->canFrame.dlc, &env->ide);
|
||||
|
||||
return event_dbg_Auto_Valve_Plus_CYC;
|
||||
}
|
||||
|
|
@ -178,7 +134,15 @@ static eTimeEventDbgTransmit isEventTransmitter(tCanSpamDebugTransmitter *env) {
|
|||
if (env->time_dbg_CCU_Info_CYC < env->timeMs) {
|
||||
env->time_dbg_CCU_Info_CYC = env->timeMs + dbg_CCU_Info_CYC;
|
||||
|
||||
env->can_id = Pack_dbg_CCU_Info_candb_dbg(&ccu_candb_dbg_tx.dbg_CCU_Info, env->canFrame.data, &env->canFrame.dlc, &env->ide);
|
||||
ccu_candb_dbg_tx.dbg_CCU_Info.dbg_Info_MultMsg_Idx = env->dbg_CCU_Info_MultMsg_Idx;
|
||||
|
||||
env->can_id = Pack_dbg_CCU_Info_candb_dbg2(&ccu_candb_dbg_tx.dbg_CCU_Info, env->canFrame.data,
|
||||
&env->canFrame.dlc, &env->ide);
|
||||
|
||||
++env->dbg_CCU_Info_MultMsg_Idx;
|
||||
if (env->dbg_CCU_Info_MultMsg_Idx > 3) {
|
||||
env->dbg_CCU_Info_MultMsg_Idx = 0;
|
||||
}
|
||||
|
||||
return event_dbg_CCU_Info_CYC;
|
||||
}
|
||||
|
|
@ -188,7 +152,8 @@ static eTimeEventDbgTransmit isEventTransmitter(tCanSpamDebugTransmitter *env) {
|
|||
if (env->time_dbg_CCU_IO_CYC < env->timeMs) {
|
||||
env->time_dbg_CCU_IO_CYC = env->timeMs + dbg_CCU_IO_CYC;
|
||||
|
||||
env->can_id = Pack_dbg_CCU_IO_candb_dbg(&ccu_candb_dbg_tx.dbg_CCU_IO, env->canFrame.data, &env->canFrame.dlc, &env->ide);
|
||||
env->can_id = Pack_dbg_CCU_IO_candb_dbg(&ccu_candb_dbg_tx.dbg_CCU_IO, env->canFrame.data,
|
||||
&env->canFrame.dlc, &env->ide);
|
||||
|
||||
return event_dbg_CCU_IO_CYC;
|
||||
}
|
||||
|
|
@ -198,7 +163,15 @@ static eTimeEventDbgTransmit isEventTransmitter(tCanSpamDebugTransmitter *env) {
|
|||
if (env->time_dbg_DiffBlr_ValveOpen_CYC < env->timeMs) {
|
||||
env->time_dbg_DiffBlr_ValveOpen_CYC = env->timeMs + dbg_DiffBlr_ValveOpen_CYC;
|
||||
|
||||
env->can_id = Pack_dbg_DiffBlr_ValveOpen_candb_dbg(&ccu_candb_dbg_tx.dbg_DiffBlr_ValveOpen, env->canFrame.data, &env->canFrame.dlc, &env->ide);
|
||||
ccu_candb_dbg_tx.dbg_DiffBlr_ValveOpen.Logic_ValveOpen_MultMsg_Idx = env->dbg_DiffBlr_ValveOpen_MultMsg_Idx;
|
||||
|
||||
env->can_id = Pack_dbg_DiffBlr_ValveOpen_candb_dbg2(&ccu_candb_dbg_tx.dbg_DiffBlr_ValveOpen, env->canFrame.data,
|
||||
&env->canFrame.dlc, &env->ide);
|
||||
|
||||
++env->dbg_DiffBlr_ValveOpen_MultMsg_Idx;
|
||||
if (env->dbg_DiffBlr_ValveOpen_MultMsg_Idx > 3) {
|
||||
env->dbg_DiffBlr_ValveOpen_MultMsg_Idx = 0;
|
||||
}
|
||||
|
||||
return event_dbg_DiffBlr_ValveOpen_CYC;
|
||||
}
|
||||
|
|
@ -209,7 +182,8 @@ static eTimeEventDbgTransmit isEventTransmitter(tCanSpamDebugTransmitter *env) {
|
|||
if (env->time_dbg_Drs_CYC < env->timeMs) {
|
||||
env->time_dbg_Drs_CYC = env->timeMs + dbg_Drs_CYC;
|
||||
|
||||
env->can_id = Pack_dbg_Drs_candb_dbg(&ccu_candb_dbg_tx.dbg_Drs, env->canFrame.data, &env->canFrame.dlc, &env->ide);
|
||||
env->can_id = Pack_dbg_Drs_candb_dbg(&ccu_candb_dbg_tx.dbg_Drs, env->canFrame.data,
|
||||
&env->canFrame.dlc, &env->ide);
|
||||
|
||||
return event_dbg_Drs_CYC;
|
||||
}
|
||||
|
|
@ -219,7 +193,8 @@ static eTimeEventDbgTransmit isEventTransmitter(tCanSpamDebugTransmitter *env) {
|
|||
if (env->time_dbg_Info_Act1_CYC < env->timeMs) {
|
||||
env->time_dbg_Info_Act1_CYC = env->timeMs + dbg_Info_Act1_CYC;
|
||||
|
||||
env->can_id = Pack_dbg_Info_Act1_candb_dbg(&ccu_candb_dbg_tx.dbg_Info_Act1, env->canFrame.data, &env->canFrame.dlc, &env->ide);
|
||||
env->can_id = Pack_dbg_Info_Act1_candb_dbg(&ccu_candb_dbg_tx.dbg_Info_Act1, env->canFrame.data,
|
||||
&env->canFrame.dlc, &env->ide);
|
||||
|
||||
return event_dbg_Info_Act1_CYC;
|
||||
}
|
||||
|
|
@ -229,7 +204,8 @@ static eTimeEventDbgTransmit isEventTransmitter(tCanSpamDebugTransmitter *env) {
|
|||
if (env->time_dbg_Info_Act2_CYC < env->timeMs) {
|
||||
env->time_dbg_Info_Act2_CYC = env->timeMs + dbg_Info_Act2_CYC;
|
||||
|
||||
env->can_id = Pack_dbg_Info_Act2_candb_dbg(&ccu_candb_dbg_tx.dbg_Info_Act2, env->canFrame.data, &env->canFrame.dlc, &env->ide);
|
||||
env->can_id = Pack_dbg_Info_Act2_candb_dbg(&ccu_candb_dbg_tx.dbg_Info_Act2, env->canFrame.data,
|
||||
&env->canFrame.dlc, &env->ide);
|
||||
|
||||
return event_dbg_Info_Act2_CYC;
|
||||
}
|
||||
|
|
@ -239,7 +215,8 @@ static eTimeEventDbgTransmit isEventTransmitter(tCanSpamDebugTransmitter *env) {
|
|||
if (env->time_dbg_LIN_AirQS_Stat_CYC < env->timeMs) {
|
||||
env->time_dbg_LIN_AirQS_Stat_CYC = env->timeMs + dbg_LIN_AirQS_Stat_CYC;
|
||||
|
||||
env->can_id = Pack_dbg_LIN_AirQS_Stat_candb_dbg(&ccu_candb_dbg_tx.dbg_LIN_AirQS_Stat, env->canFrame.data, &env->canFrame.dlc, &env->ide);
|
||||
env->can_id = Pack_dbg_LIN_AirQS_Stat_candb_dbg(&ccu_candb_dbg_tx.dbg_LIN_AirQS_Stat, env->canFrame.data,
|
||||
&env->canFrame.dlc, &env->ide);
|
||||
|
||||
return event_dbg_LIN_AirQS_Stat_CYC;
|
||||
}
|
||||
|
|
@ -249,7 +226,8 @@ static eTimeEventDbgTransmit isEventTransmitter(tCanSpamDebugTransmitter *env) {
|
|||
if (env->time_dbg_LIN_Aroma_Stat_CYC < env->timeMs) {
|
||||
env->time_dbg_LIN_Aroma_Stat_CYC = env->timeMs + dbg_LIN_Aroma_Stat_CYC;
|
||||
|
||||
env->can_id = Pack_dbg_LIN_Aroma_Stat_candb_dbg(&ccu_candb_dbg_tx.dbg_LIN_Aroma_Stat, env->canFrame.data, &env->canFrame.dlc, &env->ide);
|
||||
env->can_id = Pack_dbg_LIN_Aroma_Stat_candb_dbg(&ccu_candb_dbg_tx.dbg_LIN_Aroma_Stat, env->canFrame.data,
|
||||
&env->canFrame.dlc, &env->ide);
|
||||
|
||||
return event_dbg_LIN_Aroma_Stat_CYC;
|
||||
}
|
||||
|
|
@ -259,7 +237,8 @@ static eTimeEventDbgTransmit isEventTransmitter(tCanSpamDebugTransmitter *env) {
|
|||
if (env->time_dbg_LIN_DRS_Stat_CYC < env->timeMs) {
|
||||
env->time_dbg_LIN_DRS_Stat_CYC = env->timeMs + dbg_LIN_DRS_Stat_CYC;
|
||||
|
||||
env->can_id = Pack_dbg_LIN_DRS_Stat_candb_dbg(&ccu_candb_dbg_tx.dbg_LIN_DRS_Stat, env->canFrame.data, &env->canFrame.dlc, &env->ide);
|
||||
env->can_id = Pack_dbg_LIN_DRS_Stat_candb_dbg(&ccu_candb_dbg_tx.dbg_LIN_DRS_Stat, env->canFrame.data,
|
||||
&env->canFrame.dlc, &env->ide);
|
||||
|
||||
return event_dbg_LIN_DRS_Stat_CYC;
|
||||
}
|
||||
|
|
@ -269,7 +248,8 @@ static eTimeEventDbgTransmit isEventTransmitter(tCanSpamDebugTransmitter *env) {
|
|||
if (env->time_dbg_LIN_eTXV_Stat_CYC < env->timeMs) {
|
||||
env->time_dbg_LIN_eTXV_Stat_CYC = env->timeMs + dbg_LIN_eTXV_Stat_CYC;
|
||||
|
||||
env->can_id = Pack_dbg_LIN_eTXV_Stat_candb_dbg(&ccu_candb_dbg_tx.dbg_LIN_eTXV_Stat, env->canFrame.data, &env->canFrame.dlc, &env->ide);
|
||||
env->can_id = Pack_dbg_LIN_eTXV_Stat_candb_dbg(&ccu_candb_dbg_tx.dbg_LIN_eTXV_Stat, env->canFrame.data,
|
||||
&env->canFrame.dlc, &env->ide);
|
||||
|
||||
return event_dbg_LIN_eTXV_Stat_CYC;
|
||||
}
|
||||
|
|
@ -279,7 +259,8 @@ static eTimeEventDbgTransmit isEventTransmitter(tCanSpamDebugTransmitter *env) {
|
|||
if (env->time_dbg_LIN_Ionizer_Stat_CYC < env->timeMs) {
|
||||
env->time_dbg_LIN_Ionizer_Stat_CYC = env->timeMs + dbg_LIN_Ionizer_Stat_CYC;
|
||||
|
||||
env->can_id = Pack_dbg_LIN_Ionizer_Stat_candb_dbg(&ccu_candb_dbg_tx.dbg_LIN_Ionizer_Stat, env->canFrame.data, &env->canFrame.dlc, &env->ide);
|
||||
env->can_id = Pack_dbg_LIN_Ionizer_Stat_candb_dbg(&ccu_candb_dbg_tx.dbg_LIN_Ionizer_Stat, env->canFrame.data,
|
||||
&env->canFrame.dlc, &env->ide);
|
||||
|
||||
return event_dbg_LIN_Ionizer_Stat_CYC;
|
||||
}
|
||||
|
|
@ -289,7 +270,8 @@ static eTimeEventDbgTransmit isEventTransmitter(tCanSpamDebugTransmitter *env) {
|
|||
if (env->time_dbg_Logic_Ac_CYC < env->timeMs) {
|
||||
env->time_dbg_Logic_Ac_CYC = env->timeMs + dbg_Logic_Ac_CYC;
|
||||
|
||||
env->can_id = Pack_dbg_Logic_Ac_candb_dbg(&ccu_candb_dbg_tx.dbg_Logic_Ac, env->canFrame.data, &env->canFrame.dlc, &env->ide);
|
||||
env->can_id = Pack_dbg_Logic_Ac_candb_dbg(&ccu_candb_dbg_tx.dbg_Logic_Ac, env->canFrame.data,
|
||||
&env->canFrame.dlc, &env->ide);
|
||||
|
||||
return event_dbg_Logic_Ac_CYC;
|
||||
}
|
||||
|
|
@ -310,7 +292,8 @@ static eTimeEventDbgTransmit isEventTransmitter(tCanSpamDebugTransmitter *env) {
|
|||
if (env->time_dbg_Logic_KM_Status_CYC < env->timeMs) {
|
||||
env->time_dbg_Logic_KM_Status_CYC = env->timeMs + dbg_Logic_KM_Status_CYC;
|
||||
|
||||
env->can_id = Pack_dbg_Logic_KM_Status_candb_dbg(&ccu_candb_dbg_tx.dbg_Logic_KM_Status, env->canFrame.data, &env->canFrame.dlc, &env->ide);
|
||||
env->can_id = Pack_dbg_Logic_KM_Status_candb_dbg(&ccu_candb_dbg_tx.dbg_Logic_KM_Status, env->canFrame.data,
|
||||
&env->canFrame.dlc, &env->ide);
|
||||
|
||||
return event_dbg_Logic_KM_Status_CYC;
|
||||
}
|
||||
|
|
@ -320,7 +303,8 @@ static eTimeEventDbgTransmit isEventTransmitter(tCanSpamDebugTransmitter *env) {
|
|||
if (env->time_dbg_Logic_Rec_CYC < env->timeMs) {
|
||||
env->time_dbg_Logic_Rec_CYC = env->timeMs + dbg_Logic_Rec_CYC;
|
||||
|
||||
env->can_id = Pack_dbg_Logic_Rec_candb_dbg(&ccu_candb_dbg_tx.dbg_Logic_Rec, env->canFrame.data, &env->canFrame.dlc, &env->ide);
|
||||
env->can_id = Pack_dbg_Logic_Rec_candb_dbg(&ccu_candb_dbg_tx.dbg_Logic_Rec, env->canFrame.data,
|
||||
&env->canFrame.dlc, &env->ide);
|
||||
|
||||
return event_dbg_Logic_Rec_CYC;
|
||||
}
|
||||
|
|
@ -330,7 +314,8 @@ static eTimeEventDbgTransmit isEventTransmitter(tCanSpamDebugTransmitter *env) {
|
|||
if (env->time_dbg_Logic_State_CYC < env->timeMs) {
|
||||
env->time_dbg_Logic_State_CYC = env->timeMs + dbg_Logic_State_CYC;
|
||||
|
||||
env->can_id = Pack_dbg_Logic_State_candb_dbg(&ccu_candb_dbg_tx.dbg_Logic_State, env->canFrame.data, &env->canFrame.dlc, &env->ide);
|
||||
env->can_id = Pack_dbg_Logic_State_candb_dbg(&ccu_candb_dbg_tx.dbg_Logic_State, env->canFrame.data,
|
||||
&env->canFrame.dlc, &env->ide);
|
||||
|
||||
return event_dbg_Logic_State_CYC;
|
||||
}
|
||||
|
|
@ -340,7 +325,8 @@ static eTimeEventDbgTransmit isEventTransmitter(tCanSpamDebugTransmitter *env) {
|
|||
if (env->time_dbg_Logic_Valve_CYC < env->timeMs) {
|
||||
env->time_dbg_Logic_Valve_CYC = env->timeMs + dbg_Logic_Valve_CYC;
|
||||
|
||||
env->can_id = Pack_dbg_Logic_Valve_candb_dbg(&ccu_candb_dbg_tx.dbg_Logic_Valve, env->canFrame.data, &env->canFrame.dlc, &env->ide);
|
||||
env->can_id = Pack_dbg_Logic_Valve_candb_dbg(&ccu_candb_dbg_tx.dbg_Logic_Valve, env->canFrame.data,
|
||||
&env->canFrame.dlc, &env->ide);
|
||||
|
||||
return event_dbg_Logic_Valve_CYC;
|
||||
}
|
||||
|
|
@ -350,7 +336,8 @@ static eTimeEventDbgTransmit isEventTransmitter(tCanSpamDebugTransmitter *env) {
|
|||
if (env->time_dbg_Sen_0_CYC < env->timeMs) {
|
||||
env->time_dbg_Sen_0_CYC = env->timeMs + dbg_Sen_0_CYC;
|
||||
|
||||
env->can_id = Pack_dbg_Sen_0_candb_dbg(&ccu_candb_dbg_tx.dbg_Sen_0, env->canFrame.data, &env->canFrame.dlc, &env->ide);
|
||||
env->can_id = Pack_dbg_Sen_0_candb_dbg(&ccu_candb_dbg_tx.dbg_Sen_0, env->canFrame.data,
|
||||
&env->canFrame.dlc, &env->ide);
|
||||
|
||||
return event_dbg_Sen_0_CYC;
|
||||
}
|
||||
|
|
@ -360,7 +347,8 @@ static eTimeEventDbgTransmit isEventTransmitter(tCanSpamDebugTransmitter *env) {
|
|||
if (env->time_dbg_Sen_Amb_CYC < env->timeMs) {
|
||||
env->time_dbg_Sen_Amb_CYC = env->timeMs + dbg_Sen_Amb_CYC;
|
||||
|
||||
env->can_id = Pack_dbg_Sen_Amb_candb_dbg(&ccu_candb_dbg_tx.dbg_Sen_Amb, env->canFrame.data, &env->canFrame.dlc, &env->ide);
|
||||
env->can_id = Pack_dbg_Sen_Amb_candb_dbg(&ccu_candb_dbg_tx.dbg_Sen_Amb, env->canFrame.data,
|
||||
&env->canFrame.dlc, &env->ide);
|
||||
|
||||
return event_dbg_Sen_Amb_CYC;
|
||||
}
|
||||
|
|
@ -370,7 +358,8 @@ static eTimeEventDbgTransmit isEventTransmitter(tCanSpamDebugTransmitter *env) {
|
|||
if (env->time_dbg_Sen_Demist_CYC < env->timeMs) {
|
||||
env->time_dbg_Sen_Demist_CYC = env->timeMs + dbg_Sen_Demist_CYC;
|
||||
|
||||
env->can_id = Pack_dbg_Sen_Demist_candb_dbg(&ccu_candb_dbg_tx.dbg_Sen_Demist, env->canFrame.data, &env->canFrame.dlc, &env->ide);
|
||||
env->can_id = Pack_dbg_Sen_Demist_candb_dbg(&ccu_candb_dbg_tx.dbg_Sen_Demist, env->canFrame.data,
|
||||
&env->canFrame.dlc, &env->ide);
|
||||
|
||||
return event_dbg_Sen_Demist_CYC;
|
||||
}
|
||||
|
|
@ -382,282 +371,14 @@ static eTimeEventDbgTransmit isEventTransmitter(tCanSpamDebugTransmitter *env) {
|
|||
|
||||
ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_MultMsg_Idx = env->dbg_Sen_Duct_MultMsg_Idx;
|
||||
|
||||
switch (ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_MultMsg_Idx) {
|
||||
|
||||
case 0: {
|
||||
|
||||
// 1 : "Side"
|
||||
// 0 : "Central"
|
||||
// multiplex variable
|
||||
//ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_FL_Fb_Select = 0;
|
||||
// 1 : "Side"
|
||||
// 0 : "Central"
|
||||
// multiplex variable
|
||||
ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_RR_Fb_Select = 0;
|
||||
// 1 : "Side"
|
||||
// 0 : "Central"
|
||||
// multiplex variable
|
||||
ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_RL_Fb_Select = 0;
|
||||
// 1 : "Side"
|
||||
// 0 : "Central"
|
||||
// multiplex variable
|
||||
ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_FR_Fb_Select = 0;
|
||||
|
||||
|
||||
|
||||
// multiplex variable
|
||||
ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_RL_Tgt_ro = 0;
|
||||
// multiplex variable
|
||||
ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_FR_Upper_Tgt_ro = 0;
|
||||
// multiplex variable
|
||||
ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_RR_Tgt_ro = 0;
|
||||
// multiplex variable
|
||||
//ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_FL_Upper_Tgt_ro = 0;
|
||||
|
||||
|
||||
|
||||
// multiplex variable
|
||||
ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_RR_Fb_ro = 0;
|
||||
// multiplex variable
|
||||
ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_RL_Fb_ro = 0;
|
||||
// multiplex variable
|
||||
ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_FR_Upper_Fb_ro = 0;
|
||||
// multiplex variable
|
||||
//ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_FL_Upper_Fb_ro = 0;
|
||||
|
||||
|
||||
|
||||
// multiplex variable
|
||||
ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_FR_Side_Fb_ro = 0;
|
||||
// multiplex variable
|
||||
//ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_FL_Side_Fb_ro = 0;
|
||||
// multiplex variable
|
||||
ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_RL_Side_Fb_ro = 0;
|
||||
// multiplex variable
|
||||
ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_RR_Side_Fb_ro = 0;
|
||||
|
||||
|
||||
|
||||
// multiplex variable
|
||||
ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_FR_Lower_Tgt_ro = 0;
|
||||
// multiplex variable
|
||||
//ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_FL_Lower_Tgt_ro = 0;
|
||||
// multiplex variable
|
||||
ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_FR_Lower_Fb_ro = 0;
|
||||
// multiplex variable
|
||||
//ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_FL_Lower_Fb_ro = 0;
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case 1: {
|
||||
|
||||
// 1 : "Side"
|
||||
// 0 : "Central"
|
||||
// multiplex variable
|
||||
ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_FL_Fb_Select = 0;
|
||||
// 1 : "Side"
|
||||
// 0 : "Central"
|
||||
// multiplex variable
|
||||
ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_RR_Fb_Select = 0;
|
||||
// 1 : "Side"
|
||||
// 0 : "Central"
|
||||
// multiplex variable
|
||||
ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_RL_Fb_Select = 0;
|
||||
// 1 : "Side"
|
||||
// 0 : "Central"
|
||||
// multiplex variable
|
||||
//ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_FR_Fb_Select = 0;
|
||||
|
||||
|
||||
|
||||
// multiplex variable
|
||||
ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_RL_Tgt_ro = 0;
|
||||
// multiplex variable
|
||||
//ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_FR_Upper_Tgt_ro = 0;
|
||||
// multiplex variable
|
||||
ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_RR_Tgt_ro = 0;
|
||||
// multiplex variable
|
||||
ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_FL_Upper_Tgt_ro = 0;
|
||||
|
||||
|
||||
|
||||
// multiplex variable
|
||||
ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_RR_Fb_ro = 0;
|
||||
// multiplex variable
|
||||
ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_RL_Fb_ro = 0;
|
||||
// multiplex variable
|
||||
//ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_FR_Upper_Fb_ro = 0;
|
||||
// multiplex variable
|
||||
ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_FL_Upper_Fb_ro = 0;
|
||||
|
||||
|
||||
|
||||
// multiplex variable
|
||||
//ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_FR_Side_Fb_ro = 0;
|
||||
// multiplex variable
|
||||
ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_FL_Side_Fb_ro = 0;
|
||||
// multiplex variable
|
||||
ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_RL_Side_Fb_ro = 0;
|
||||
// multiplex variable
|
||||
ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_RR_Side_Fb_ro = 0;
|
||||
|
||||
|
||||
|
||||
// multiplex variable
|
||||
//ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_FR_Lower_Tgt_ro = 0;
|
||||
// multiplex variable
|
||||
ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_FL_Lower_Tgt_ro = 0;
|
||||
// multiplex variable
|
||||
//ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_FR_Lower_Fb_ro = 0;
|
||||
// multiplex variable
|
||||
ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_FL_Lower_Fb_ro = 0;
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case 2: {
|
||||
|
||||
// 1 : "Side"
|
||||
// 0 : "Central"
|
||||
// multiplex variable
|
||||
ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_FL_Fb_Select = 0;
|
||||
// 1 : "Side"
|
||||
// 0 : "Central"
|
||||
// multiplex variable
|
||||
ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_RR_Fb_Select = 0;
|
||||
// 1 : "Side"
|
||||
// 0 : "Central"
|
||||
// multiplex variable
|
||||
//ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_RL_Fb_Select = 0;
|
||||
// 1 : "Side"
|
||||
// 0 : "Central"
|
||||
// multiplex variable
|
||||
ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_FR_Fb_Select = 0;
|
||||
|
||||
|
||||
|
||||
// multiplex variable
|
||||
//ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_RL_Tgt_ro = 0;
|
||||
// multiplex variable
|
||||
ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_FR_Upper_Tgt_ro = 0;
|
||||
// multiplex variable
|
||||
ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_RR_Tgt_ro = 0;
|
||||
// multiplex variable
|
||||
ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_FL_Upper_Tgt_ro = 0;
|
||||
|
||||
|
||||
|
||||
// multiplex variable
|
||||
ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_RR_Fb_ro = 0;
|
||||
// multiplex variable
|
||||
//ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_RL_Fb_ro = 0;
|
||||
// multiplex variable
|
||||
ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_FR_Upper_Fb_ro = 0;
|
||||
// multiplex variable
|
||||
ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_FL_Upper_Fb_ro = 0;
|
||||
|
||||
// multiplex variable
|
||||
ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_FR_Side_Fb_ro = 0;
|
||||
// multiplex variable
|
||||
ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_FL_Side_Fb_ro = 0;
|
||||
// multiplex variable
|
||||
//ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_RL_Side_Fb_ro = 0;
|
||||
// multiplex variable
|
||||
ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_RR_Side_Fb_ro = 0;
|
||||
|
||||
|
||||
|
||||
// multiplex variable
|
||||
ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_FR_Lower_Tgt_ro = 0;
|
||||
// multiplex variable
|
||||
ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_FL_Lower_Tgt_ro = 0;
|
||||
// multiplex variable
|
||||
ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_FR_Lower_Fb_ro = 0;
|
||||
// multiplex variable
|
||||
ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_FL_Lower_Fb_ro = 0;
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case 3: {
|
||||
// 1 : "Side"
|
||||
// 0 : "Central"
|
||||
// multiplex variable
|
||||
ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_FL_Fb_Select = 0;
|
||||
// 1 : "Side"
|
||||
// 0 : "Central"
|
||||
// multiplex variable
|
||||
//ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_RR_Fb_Select = 0;
|
||||
// 1 : "Side"
|
||||
// 0 : "Central"
|
||||
// multiplex variable
|
||||
ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_RL_Fb_Select = 0;
|
||||
// 1 : "Side"
|
||||
// 0 : "Central"
|
||||
// multiplex variable
|
||||
ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_FR_Fb_Select = 0;
|
||||
|
||||
|
||||
// multiplex variable
|
||||
ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_RL_Tgt_ro = 0;
|
||||
// multiplex variable
|
||||
ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_FR_Upper_Tgt_ro = 0;
|
||||
// multiplex variable
|
||||
//ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_RR_Tgt_ro = 0;
|
||||
// multiplex variable
|
||||
ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_FL_Upper_Tgt_ro = 0;
|
||||
|
||||
|
||||
|
||||
// multiplex variable
|
||||
//ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_RR_Fb_ro = 0;
|
||||
// multiplex variable
|
||||
ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_RL_Fb_ro = 0;
|
||||
// multiplex variable
|
||||
ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_FR_Upper_Fb_ro = 0;
|
||||
// multiplex variable
|
||||
ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_FL_Upper_Fb_ro = 0;
|
||||
|
||||
|
||||
|
||||
// multiplex variable
|
||||
ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_FR_Side_Fb_ro = 0;
|
||||
// multiplex variable
|
||||
ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_FL_Side_Fb_ro = 0;
|
||||
// multiplex variable
|
||||
ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_RL_Side_Fb_ro = 0;
|
||||
// multiplex variable
|
||||
//ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_RR_Side_Fb_ro = 0;
|
||||
|
||||
|
||||
|
||||
// multiplex variable
|
||||
ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_FR_Lower_Tgt_ro = 0;
|
||||
// multiplex variable
|
||||
ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_FL_Lower_Tgt_ro = 0;
|
||||
// multiplex variable
|
||||
ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_FR_Lower_Fb_ro = 0;
|
||||
// multiplex variable
|
||||
ccu_candb_dbg_tx.dbg_Sen_Duct.dbg_Sen_Duct_FL_Lower_Fb_ro = 0;
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
env->can_id = Pack_dbg_Sen_Duct_candb_dbg2(&ccu_candb_dbg_tx.dbg_Sen_Duct, env->canFrame.data,
|
||||
&env->canFrame.dlc, &env->ide);
|
||||
&env->canFrame.dlc, &env->ide);
|
||||
|
||||
++env->dbg_Sen_Duct_MultMsg_Idx;
|
||||
if (env->dbg_Sen_Duct_MultMsg_Idx > 3) {
|
||||
env->dbg_Sen_Duct_MultMsg_Idx = 0;
|
||||
}
|
||||
|
||||
|
||||
return event_dbg_Sen_Duct_CYC;
|
||||
}
|
||||
#endif
|
||||
|
|
@ -677,7 +398,15 @@ static eTimeEventDbgTransmit isEventTransmitter(tCanSpamDebugTransmitter *env) {
|
|||
if (env->time_dbg_Sen_Incar_CYC < env->timeMs) {
|
||||
env->time_dbg_Sen_Incar_CYC = env->timeMs + dbg_Sen_Incar_CYC;
|
||||
|
||||
env->can_id = Pack_dbg_Sen_Incar_candb_dbg(&ccu_candb_dbg_tx.dbg_Sen_Incar, env->canFrame.data, &env->canFrame.dlc, &env->ide);
|
||||
ccu_candb_dbg_tx.dbg_Sen_Incar.dbg_Sen_Incar_MultMsg_Idx = env->dbg_Sen_Incar_MultMsg_Idx;
|
||||
|
||||
env->can_id = Pack_dbg_Sen_Incar_candb_dbg2(&ccu_candb_dbg_tx.dbg_Sen_Incar, env->canFrame.data,
|
||||
&env->canFrame.dlc, &env->ide);
|
||||
|
||||
++env->dbg_Sen_Incar_MultMsg_Idx;
|
||||
if (env->dbg_Sen_Incar_MultMsg_Idx > 3) {
|
||||
env->dbg_Sen_Incar_MultMsg_Idx = 0;
|
||||
}
|
||||
|
||||
return event_dbg_Sen_Incar_CYC;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -45,8 +45,12 @@
|
|||
#define dbg_Act0_CYC 100
|
||||
#define dbg_Act1_CYC 100
|
||||
#define dbg_Act2_CYC 100
|
||||
#define dbg_Auto_AF_CYC 100
|
||||
#define dbg_Auto_Duct_CYC 100
|
||||
#define dbg_Auto_Valve_Plus_CYC 100
|
||||
#define dbg_CCU_Info_CYC 100
|
||||
#define dbg_CCU_IO_CYC 100
|
||||
#define dbg_DiffBlr_ValveOpen_CYC 100
|
||||
#define dbg_Drs_CYC 100
|
||||
#define dbg_Info_Act1_CYC 100
|
||||
#define dbg_Info_Act2_CYC 100
|
||||
|
|
@ -61,9 +65,12 @@
|
|||
#define dbg_Logic_Rec_CYC 100
|
||||
#define dbg_Logic_State_CYC 100
|
||||
#define dbg_Logic_Valve_CYC 100
|
||||
#define dbg_Sen_0_CYC 100
|
||||
#define dbg_Sen_Amb_CYC 100
|
||||
#define dbg_Sen_Demist_CYC 100
|
||||
#define dbg_Sen_Duct_CYC 100
|
||||
#define dbg_Sen_Eva_CYC 100
|
||||
#define dbg_Sen_Incar_CYC 100
|
||||
|
||||
typedef enum {
|
||||
event_dbg_none = 0x00,
|
||||
|
|
@ -143,7 +150,13 @@ typedef struct {
|
|||
|
||||
tLoggerInterface *logger;
|
||||
|
||||
// Индексы для мультиплексированных сообщений
|
||||
uint8_t dbg_Sen_Duct_MultMsg_Idx;
|
||||
uint8_t dbg_Sen_Incar_MultMsg_Idx;
|
||||
uint8_t dbg_DiffBlr_ValveOpen_MultMsg_Idx;
|
||||
uint8_t dbg_CCU_Info_MultMsg_Idx;
|
||||
uint8_t dbg_Auto_Duct_MultMsg_Idx;
|
||||
uint8_t dbg_Auto_AF_MultMsg_Idx;
|
||||
|
||||
struct {
|
||||
osThreadId_t id;
|
||||
|
|
@ -162,4 +175,4 @@ void CanSpamDebugTransmitter_StartThread(tCanSpamDebugTransmitter *env);
|
|||
|
||||
void set_CanDebugSpamTransmitter(tCanSpamDebugTransmitter *env);
|
||||
|
||||
#endif //HVAC_M7_CANSPAMDEBUGTRANSMITTER_H
|
||||
#endif //HVAC_M7_CANSPAMDEBUGTRANSMITTER_H
|
||||
|
|
@ -0,0 +1,394 @@
|
|||
// candb_dbg_fixed.c
|
||||
// Исправленные версии функций для мультиплексированных сообщений
|
||||
|
||||
#include "candb_dbg_fixed.h"
|
||||
|
||||
// candb_dbg_fixed.c
|
||||
// Исправленные версии функций для мультиплексированных сообщений
|
||||
|
||||
#include "candb_dbg_fixed.h"
|
||||
|
||||
// ============================================================================
|
||||
// 1. dbg_Sen_Incar - Датчики в салоне (MultMsg_Idx)
|
||||
// ============================================================================
|
||||
|
||||
uint32_t Pack_dbg_Sen_Incar_candb_dbg2(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);
|
||||
|
||||
switch(_m->dbg_Sen_Incar_MultMsg_Idx) {
|
||||
case 0: // Кадр 0: Raw_FL и FL
|
||||
_d[0] |= (uint8_t)((_m->dbg_Sen_Incar_MultMsg_Idx & 0x03) |
|
||||
((_m->dbg_Sen_Incar_Raw_FL_ro & 0x0F) << 4));
|
||||
_d[1] |= (uint8_t)((_m->dbg_Sen_Incar_Raw_FL_ro >> 4) & 0xFF);
|
||||
_d[2] |= (uint8_t)(_m->dbg_Sen_Incar_FL_ro & 0xFF);
|
||||
_d[3] |= (uint8_t)(((_m->dbg_Sen_Incar_FL_ro >> 8) & 0x0F) |
|
||||
((_m->dbg_Sen_Incar_Raw_FR_ro & 0x0F) << 4));
|
||||
_d[4] |= (uint8_t)((_m->dbg_Sen_Incar_Raw_FR_ro >> 4) & 0xFF);
|
||||
_d[5] |= (uint8_t)(_m->dbg_Sen_Incar_FR_ro & 0xFF);
|
||||
_d[6] |= (uint8_t)((_m->dbg_Sen_Incar_FR_ro >> 8) & 0x0F);
|
||||
break;
|
||||
|
||||
case 1: // Кадр 1: FR и Raw_FR
|
||||
_d[0] |= (uint8_t)((_m->dbg_Sen_Incar_MultMsg_Idx & 0x03) |
|
||||
((_m->dbg_Sen_Incar_FR_ro & 0x0F) << 4));
|
||||
_d[1] |= (uint8_t)((_m->dbg_Sen_Incar_FR_ro >> 4) & 0xFF);
|
||||
_d[2] |= (uint8_t)(_m->dbg_Sen_Incar_Raw_FR_ro & 0xFF);
|
||||
_d[3] |= (uint8_t)(((_m->dbg_Sen_Incar_Raw_FR_ro >> 8) & 0x0F) |
|
||||
((_m->dbg_Sen_Incar_Raw_RL_ro & 0x0F) << 4));
|
||||
_d[4] |= (uint8_t)((_m->dbg_Sen_Incar_Raw_RL_ro >> 4) & 0xFF);
|
||||
_d[5] |= (uint8_t)(_m->dbg_Sen_Incar_RL_ro & 0xFF);
|
||||
_d[6] |= (uint8_t)((_m->dbg_Sen_Incar_RL_ro >> 8) & 0x0F);
|
||||
break;
|
||||
|
||||
case 2: // Кадр 2: Raw_RL и RL
|
||||
_d[0] |= (uint8_t)((_m->dbg_Sen_Incar_MultMsg_Idx & 0x03) |
|
||||
((_m->dbg_Sen_Incar_Raw_RL_ro & 0x0F) << 4));
|
||||
_d[1] |= (uint8_t)((_m->dbg_Sen_Incar_Raw_RL_ro >> 4) & 0xFF);
|
||||
_d[2] |= (uint8_t)(_m->dbg_Sen_Incar_RL_ro & 0xFF);
|
||||
_d[3] |= (uint8_t)(((_m->dbg_Sen_Incar_RL_ro >> 8) & 0x0F) |
|
||||
((_m->dbg_Sen_Incar_Raw_RR_ro & 0x0F) << 4));
|
||||
_d[4] |= (uint8_t)((_m->dbg_Sen_Incar_Raw_RR_ro >> 4) & 0xFF);
|
||||
_d[5] |= (uint8_t)(_m->dbg_Sen_Incar_RR_ro & 0xFF);
|
||||
_d[6] |= (uint8_t)((_m->dbg_Sen_Incar_RR_ro >> 8) & 0x0F);
|
||||
break;
|
||||
|
||||
case 3: // Кадр 3: RR и Raw_RR
|
||||
_d[0] |= (uint8_t)((_m->dbg_Sen_Incar_MultMsg_Idx & 0x03) |
|
||||
((_m->dbg_Sen_Incar_RR_ro & 0x0F) << 4));
|
||||
_d[1] |= (uint8_t)((_m->dbg_Sen_Incar_RR_ro >> 4) & 0xFF);
|
||||
_d[2] |= (uint8_t)(_m->dbg_Sen_Incar_Raw_RR_ro & 0xFF);
|
||||
_d[3] |= (uint8_t)(((_m->dbg_Sen_Incar_Raw_RR_ro >> 8) & 0x0F));
|
||||
break;
|
||||
}
|
||||
|
||||
*_len = (uint8_t) dbg_Sen_Incar_DLC;
|
||||
*_ide = (uint8_t) dbg_Sen_Incar_IDE;
|
||||
return dbg_Sen_Incar_CANID;
|
||||
}
|
||||
|
||||
// ============================================================================
|
||||
// 2. dbg_DiffBlr_ValveOpen - Открытие клапанов DiffBlr (MultMsg_Idx)
|
||||
// ============================================================================
|
||||
|
||||
uint32_t Pack_dbg_DiffBlr_ValveOpen_candb_dbg2(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 & 0x03);
|
||||
|
||||
switch(_m->Logic_ValveOpen_MultMsg_Idx) {
|
||||
case 0: // Кадр 0: SFL позиции
|
||||
_d[1] |= (uint8_t)(_m->Logic_ValveOpen_R2_SFL & 0xFF);
|
||||
_d[2] |= (uint8_t)(_m->Logic_ValveOpen_R1_SFL & 0xFF);
|
||||
break;
|
||||
|
||||
case 1: // Кадр 1: CFL позиции
|
||||
_d[1] |= (uint8_t)(_m->Logic_ValveOpen_R2_CFL & 0xFF);
|
||||
_d[2] |= (uint8_t)(_m->Logic_ValveOpen_R1_CFL & 0xFF);
|
||||
break;
|
||||
|
||||
case 2: // Кадр 2: CFR позиции
|
||||
_d[3] |= (uint8_t)(_m->Logic_ValveOpen_R2_CFR & 0xFF);
|
||||
_d[4] |= (uint8_t)(_m->Logic_ValveOpen_R1_CFR & 0xFF);
|
||||
break;
|
||||
|
||||
case 3: // Кадр 3: SFR позиции
|
||||
_d[3] |= (uint8_t)(_m->Logic_ValveOpen_R2_SFR & 0xFF);
|
||||
_d[4] |= (uint8_t)(_m->Logic_ValveOpen_R1_SFR & 0xFF);
|
||||
break;
|
||||
}
|
||||
|
||||
*_len = (uint8_t) dbg_DiffBlr_ValveOpen_DLC;
|
||||
*_ide = (uint8_t) dbg_DiffBlr_ValveOpen_IDE;
|
||||
return dbg_DiffBlr_ValveOpen_CANID;
|
||||
}
|
||||
|
||||
// ============================================================================
|
||||
// 3. dbg_CCU_Info - Информация о CCU (MultMsg_Idx)
|
||||
// ============================================================================
|
||||
|
||||
uint32_t Pack_dbg_CCU_Info_candb_dbg2(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 & 0x03);
|
||||
|
||||
switch(_m->dbg_Info_MultMsg_Idx) {
|
||||
case 0: // Кадр 0: Информация о калибровке
|
||||
_d[0] |= (uint8_t)((_m->dbg_Info_Calibration_Ver_Date & 0x3F) << 2);
|
||||
_d[1] |= (uint8_t)((_m->dbg_Info_Calibration_Ver_Date >> 6) & 0xFF);
|
||||
_d[2] |= (uint8_t)((_m->dbg_Info_Calibration_Ver_Date >> 14) & 0xFF);
|
||||
_d[3] |= (uint8_t)(_m->dbg_Info_Calibration_Ver_Rev & 0xFF);
|
||||
break;
|
||||
|
||||
case 1: // Кадр 1: Информация о SW
|
||||
_d[0] |= (uint8_t)((_m->dbg_Info_CCU_SW_Ver_Date & 0x3F) << 2);
|
||||
_d[1] |= (uint8_t)((_m->dbg_Info_CCU_SW_Ver_Date >> 6) & 0xFF);
|
||||
_d[2] |= (uint8_t)((_m->dbg_Info_CCU_SW_Ver_Date >> 14) & 0xFF);
|
||||
_d[3] |= (uint8_t)(_m->dbg_Info_CCU_SW_Ver_Rev & 0xFF);
|
||||
break;
|
||||
|
||||
case 2: // Кадр 2: Конфигурация и MBD версия
|
||||
_d[4] |= (uint8_t)(_m->dbg_Info_ActivatedCAL & 0x0F);
|
||||
_d[4] |= (uint8_t)((_m->dbg_Info_CCU_Aroma_Cfg & 0x0F) << 4);
|
||||
_d[5] |= (uint8_t)(_m->dbg_Info_CCU_Algorithm_Cfg & 0x0F);
|
||||
_d[5] |= (uint8_t)((_m->dbg_Info_MBD_Ver_Date & 0x3F) << 2);
|
||||
_d[6] |= (uint8_t)((_m->dbg_Info_MBD_Ver_Date >> 6) & 0xFF);
|
||||
_d[7] |= (uint8_t)((_m->dbg_Info_MBD_Ver_Date >> 14) & 0xFF);
|
||||
_d[7] |= (uint8_t)(_m->dbg_Info_MBD_Ver_Rev & 0xFF);
|
||||
break;
|
||||
|
||||
case 3: // Кадр 3: Информация о кузове
|
||||
_d[6] |= (uint8_t)(_m->dbg_Info_VehicleBody & 0xFF);
|
||||
_d[7] |= (uint8_t)((_m->dbg_Info_VehicleBody >> 8) & 0xFF);
|
||||
break;
|
||||
}
|
||||
|
||||
*_len = (uint8_t) dbg_CCU_Info_DLC;
|
||||
*_ide = (uint8_t) dbg_CCU_Info_IDE;
|
||||
return dbg_CCU_Info_CANID;
|
||||
}
|
||||
|
||||
// ============================================================================
|
||||
// 4. dbg_Sen_Duct - Датчики воздуховодов (MultMsg_Idx)
|
||||
// ============================================================================
|
||||
|
||||
uint32_t Pack_dbg_Sen_Duct_candb_dbg2(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);
|
||||
|
||||
_d[0] |= (uint8_t)(_m->dbg_Sen_Duct_MultMsg_Idx & 0x03);
|
||||
|
||||
switch(_m->dbg_Sen_Duct_MultMsg_Idx) {
|
||||
case 0: // Кадр 0: Данные передних верхних датчиков
|
||||
_d[0] |= (uint8_t)(((_m->dbg_Sen_Duct_FL_Upper_Tgt_ro & 0x0F) << 4));
|
||||
_d[1] |= (uint8_t)((_m->dbg_Sen_Duct_FL_Upper_Tgt_ro >> 4) & 0xFF);
|
||||
_d[2] |= (uint8_t)(_m->dbg_Sen_Duct_FL_Upper_Fb_ro & 0xFF);
|
||||
_d[3] |= (uint8_t)((_m->dbg_Sen_Duct_FL_Upper_Fb_ro >> 8) & 0x0F);
|
||||
_d[3] |= (uint8_t)((_m->dbg_Sen_Duct_FR_Upper_Tgt_ro & 0x0F) << 4);
|
||||
_d[4] |= (uint8_t)((_m->dbg_Sen_Duct_FR_Upper_Tgt_ro >> 4) & 0xFF);
|
||||
_d[5] |= (uint8_t)(_m->dbg_Sen_Duct_FR_Upper_Fb_ro & 0xFF);
|
||||
_d[6] |= (uint8_t)((_m->dbg_Sen_Duct_FR_Upper_Fb_ro >> 8) & 0x0F);
|
||||
break;
|
||||
|
||||
case 1: // Кадр 1: Данные задних датчиков и боковых
|
||||
_d[0] |= (uint8_t)(((_m->dbg_Sen_Duct_RL_Tgt_ro & 0x0F) << 4));
|
||||
_d[1] |= (uint8_t)((_m->dbg_Sen_Duct_RL_Tgt_ro >> 4) & 0xFF);
|
||||
_d[2] |= (uint8_t)(_m->dbg_Sen_Duct_RL_Fb_ro & 0xFF);
|
||||
_d[3] |= (uint8_t)((_m->dbg_Sen_Duct_RL_Fb_ro >> 8) & 0x0F);
|
||||
_d[3] |= (uint8_t)((_m->dbg_Sen_Duct_RR_Tgt_ro & 0x0F) << 4);
|
||||
_d[4] |= (uint8_t)((_m->dbg_Sen_Duct_RR_Tgt_ro >> 4) & 0xFF);
|
||||
_d[5] |= (uint8_t)(_m->dbg_Sen_Duct_RR_Fb_ro & 0xFF);
|
||||
_d[6] |= (uint8_t)((_m->dbg_Sen_Duct_RR_Fb_ro >> 8) & 0x0F);
|
||||
_d[6] |= (uint8_t)((_m->dbg_Sen_Duct_FL_Side_Fb_ro & 0x0F) << 4);
|
||||
_d[7] |= (uint8_t)((_m->dbg_Sen_Duct_FL_Side_Fb_ro >> 4) & 0xFF);
|
||||
_d[7] |= (uint8_t)((_m->dbg_Sen_Duct_FR_Side_Fb_ro & 0x0F) << 4);
|
||||
break;
|
||||
|
||||
case 2: // Кадр 2: Данные нижних передних датчиков
|
||||
_d[0] |= (uint8_t)(((_m->dbg_Sen_Duct_FL_Lower_Tgt_ro & 0x0F) << 4));
|
||||
_d[1] |= (uint8_t)((_m->dbg_Sen_Duct_FL_Lower_Tgt_ro >> 4) & 0xFF);
|
||||
_d[2] |= (uint8_t)(_m->dbg_Sen_Duct_FL_Lower_Fb_ro & 0xFF);
|
||||
_d[3] |= (uint8_t)((_m->dbg_Sen_Duct_FL_Lower_Fb_ro >> 8) & 0x0F);
|
||||
_d[3] |= (uint8_t)((_m->dbg_Sen_Duct_FR_Lower_Tgt_ro & 0x0F) << 4);
|
||||
_d[4] |= (uint8_t)((_m->dbg_Sen_Duct_FR_Lower_Tgt_ro >> 4) & 0xFF);
|
||||
_d[5] |= (uint8_t)(_m->dbg_Sen_Duct_FR_Lower_Fb_ro & 0xFF);
|
||||
_d[6] |= (uint8_t)((_m->dbg_Sen_Duct_FR_Lower_Fb_ro >> 8) & 0x0F);
|
||||
_d[6] |= (uint8_t)((_m->dbg_Sen_Duct_RL_Side_Fb_ro & 0x0F) << 4);
|
||||
_d[7] |= (uint8_t)((_m->dbg_Sen_Duct_RL_Side_Fb_ro >> 4) & 0xFF);
|
||||
_d[7] |= (uint8_t)((_m->dbg_Sen_Duct_RR_Side_Fb_ro & 0x0F) << 4);
|
||||
break;
|
||||
|
||||
case 3: // Кадр 3: Данные боковых датчиков
|
||||
_d[0] |= (uint8_t)(((_m->dbg_Sen_Duct_FR_Side_Fb_ro & 0x0F) << 4));
|
||||
_d[1] |= (uint8_t)((_m->dbg_Sen_Duct_FR_Side_Fb_ro >> 4) & 0xFF);
|
||||
_d[2] |= (uint8_t)(_m->dbg_Sen_Duct_RR_Side_Fb_ro & 0xFF);
|
||||
_d[3] |= (uint8_t)((_m->dbg_Sen_Duct_RR_Side_Fb_ro >> 8) & 0x0F);
|
||||
_d[3] |= (uint8_t)((_m->dbg_Sen_Duct_FL_Side_Fb_ro & 0x0F) << 4);
|
||||
_d[4] |= (uint8_t)((_m->dbg_Sen_Duct_FL_Side_Fb_ro >> 4) & 0xFF);
|
||||
_d[5] |= (uint8_t)(_m->dbg_Sen_Duct_RL_Side_Fb_ro & 0xFF);
|
||||
_d[6] |= (uint8_t)((_m->dbg_Sen_Duct_RL_Side_Fb_ro >> 8) & 0x0F);
|
||||
break;
|
||||
}
|
||||
|
||||
*_len = (uint8_t) dbg_Sen_Duct_DLC;
|
||||
*_ide = (uint8_t) dbg_Sen_Duct_IDE;
|
||||
return dbg_Sen_Duct_CANID;
|
||||
}
|
||||
|
||||
// ============================================================================
|
||||
// 5. dbg_Auto_Duct - Автоматические воздуховоды (MultMsg_Idx)
|
||||
// ============================================================================
|
||||
|
||||
uint32_t Pack_dbg_Auto_Duct_candb_dbg2(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);
|
||||
|
||||
_d[0] |= (uint8_t)(_m->dbg_Auto_Duct_MultMsg_Idx & 0x0F);
|
||||
|
||||
switch(_m->dbg_Auto_Duct_MultMsg_Idx) {
|
||||
case 0: // Кадр 0: FL верхние параметры
|
||||
_d[0] |= (uint8_t)((_m->dbg_Auto_Duct_Tgt_FL_Upper_ro & 0x0F) << 4);
|
||||
_d[1] |= (uint8_t)((_m->dbg_Auto_Duct_Tgt_FL_Upper_ro >> 4) & 0xFF);
|
||||
_d[2] |= (uint8_t)(_m->dbg_Auto_Duct_Tg_FL_Upper_ro & 0xFF);
|
||||
_d[3] |= (uint8_t)((_m->dbg_Auto_Duct_Tg_FL_Upper_ro >> 8) & 0x0F);
|
||||
_d[3] |= (uint8_t)((_m->dbg_Auto_Duct_Incar_FL_Upper_ro & 0x0F) << 4);
|
||||
_d[4] |= (uint8_t)((_m->dbg_Auto_Duct_Incar_FL_Upper_ro >> 4) & 0xFF);
|
||||
_d[5] |= (uint8_t)(_m->dbg_Auto_Duct_Amb_FL_Upper_ro & 0xFF);
|
||||
_d[6] |= (uint8_t)((_m->dbg_Auto_Duct_Amb_FL_Upper_ro >> 8) & 0x0F);
|
||||
_d[6] |= (uint8_t)((_m->dbg_Auto_Duct_Sun_FL_Upper_ro & 0x0F) << 4);
|
||||
_d[7] |= (uint8_t)((_m->dbg_Auto_Duct_Sun_FL_Upper_ro >> 4) & 0xFF);
|
||||
break;
|
||||
|
||||
case 1: // Кадр 1: FR верхние параметры
|
||||
_d[0] |= (uint8_t)((_m->dbg_Auto_Duct_Tgt_FR_Upper_ro & 0x0F) << 4);
|
||||
_d[1] |= (uint8_t)((_m->dbg_Auto_Duct_Tgt_FR_Upper_ro >> 4) & 0xFF);
|
||||
_d[2] |= (uint8_t)(_m->dbg_Auto_Duct_Tg_FR_Upper_ro & 0xFF);
|
||||
_d[3] |= (uint8_t)((_m->dbg_Auto_Duct_Tg_FR_Upper_ro >> 8) & 0x0F);
|
||||
_d[3] |= (uint8_t)((_m->dbg_Auto_Duct_Incar_FR_Upper_ro & 0x0F) << 4);
|
||||
_d[4] |= (uint8_t)((_m->dbg_Auto_Duct_Incar_FR_Upper_ro >> 4) & 0xFF);
|
||||
_d[5] |= (uint8_t)(_m->dbg_Auto_Duct_Amb_FR_Upper_ro & 0xFF);
|
||||
_d[6] |= (uint8_t)((_m->dbg_Auto_Duct_Amb_FR_Upper_ro >> 8) & 0x0F);
|
||||
_d[6] |= (uint8_t)((_m->dbg_Auto_Duct_Sun_FR_Upper_ro & 0x0F) << 4);
|
||||
_d[7] |= (uint8_t)((_m->dbg_Auto_Duct_Sun_FR_Upper_ro >> 4) & 0xFF);
|
||||
break;
|
||||
|
||||
case 2: // Кадр 2: FL нижние параметры
|
||||
_d[0] |= (uint8_t)((_m->dbg_Auto_Duct_Tgt_FL_Lower_ro & 0x0F) << 4);
|
||||
_d[1] |= (uint8_t)((_m->dbg_Auto_Duct_Tgt_FL_Lower_ro >> 4) & 0xFF);
|
||||
_d[2] |= (uint8_t)(_m->dbg_Auto_Duct_Tg_FL_Lower_ro & 0xFF);
|
||||
_d[3] |= (uint8_t)((_m->dbg_Auto_Duct_Tg_FL_Lower_ro >> 8) & 0x0F);
|
||||
_d[3] |= (uint8_t)((_m->dbg_Auto_Duct_Incar_FL_Lower_ro & 0x0F) << 4);
|
||||
_d[4] |= (uint8_t)((_m->dbg_Auto_Duct_Incar_FL_Lower_ro >> 4) & 0xFF);
|
||||
_d[5] |= (uint8_t)(_m->dbg_Auto_Duct_Amb_FL_Lower_ro & 0xFF);
|
||||
_d[6] |= (uint8_t)((_m->dbg_Auto_Duct_Amb_FL_Lower_ro >> 8) & 0x0F);
|
||||
_d[6] |= (uint8_t)((_m->dbg_Auto_Duct_Sun_FL_Lower_ro & 0x0F) << 4);
|
||||
_d[7] |= (uint8_t)((_m->dbg_Auto_Duct_Sun_FL_Lower_ro >> 4) & 0xFF);
|
||||
break;
|
||||
|
||||
case 3: // Кадр 3: FR нижние параметры
|
||||
_d[0] |= (uint8_t)((_m->dbg_Auto_Duct_Tgt_FR_Lower_ro & 0x0F) << 4);
|
||||
_d[1] |= (uint8_t)((_m->dbg_Auto_Duct_Tgt_FR_Lower_ro >> 4) & 0xFF);
|
||||
_d[2] |= (uint8_t)(_m->dbg_Auto_Duct_Tg_FR_Lower_ro & 0xFF);
|
||||
_d[3] |= (uint8_t)((_m->dbg_Auto_Duct_Tg_FR_Lower_ro >> 8) & 0x0F);
|
||||
_d[3] |= (uint8_t)((_m->dbg_Auto_Duct_Incar_FR_Lower_ro & 0x0F) << 4);
|
||||
_d[4] |= (uint8_t)((_m->dbg_Auto_Duct_Incar_FR_Lower_ro >> 4) & 0xFF);
|
||||
_d[5] |= (uint8_t)(_m->dbg_Auto_Duct_Amb_FR_Lower_ro & 0xFF);
|
||||
_d[6] |= (uint8_t)((_m->dbg_Auto_Duct_Amb_FR_Lower_ro >> 8) & 0x0F);
|
||||
_d[6] |= (uint8_t)((_m->dbg_Auto_Duct_Sun_FR_Lower_ro & 0x0F) << 4);
|
||||
_d[7] |= (uint8_t)((_m->dbg_Auto_Duct_Sun_FR_Lower_ro >> 4) & 0xFF);
|
||||
break;
|
||||
|
||||
case 4: // Кадр 4: RL параметры
|
||||
_d[0] |= (uint8_t)((_m->dbg_Auto_Duct_Tgt_RL_ro & 0x0F) << 4);
|
||||
_d[1] |= (uint8_t)((_m->dbg_Auto_Duct_Tgt_RL_ro >> 4) & 0xFF);
|
||||
_d[2] |= (uint8_t)(_m->dbg_Auto_Duct_Tg_RL_ro & 0xFF);
|
||||
_d[3] |= (uint8_t)((_m->dbg_Auto_Duct_Tg_RL_ro >> 8) & 0x0F);
|
||||
_d[3] |= (uint8_t)((_m->dbg_Auto_Duct_Incar_RL_ro & 0x0F) << 4);
|
||||
_d[4] |= (uint8_t)((_m->dbg_Auto_Duct_Incar_RL_ro >> 4) & 0xFF);
|
||||
_d[5] |= (uint8_t)(_m->dbg_Auto_Duct_Amb_RL_ro & 0xFF);
|
||||
_d[6] |= (uint8_t)((_m->dbg_Auto_Duct_Amb_RL_ro >> 8) & 0x0F);
|
||||
_d[6] |= (uint8_t)((_m->dbg_Auto_Duct_Sun_RL_ro & 0x0F) << 4);
|
||||
_d[7] |= (uint8_t)((_m->dbg_Auto_Duct_Sun_RL_ro >> 4) & 0xFF);
|
||||
break;
|
||||
|
||||
case 5: // Кадр 5: RR параметры
|
||||
_d[0] |= (uint8_t)((_m->dbg_Auto_Duct_Tgt_RR_ro & 0x0F) << 4);
|
||||
_d[1] |= (uint8_t)((_m->dbg_Auto_Duct_Tgt_RR_ro >> 4) & 0xFF);
|
||||
_d[2] |= (uint8_t)(_m->dbg_Auto_Duct_Tg_RR_ro & 0xFF);
|
||||
_d[3] |= (uint8_t)((_m->dbg_Auto_Duct_Tg_RR_ro >> 8) & 0x0F);
|
||||
_d[3] |= (uint8_t)((_m->dbg_Auto_Duct_Incar_RR_ro & 0x0F) << 4);
|
||||
_d[4] |= (uint8_t)((_m->dbg_Auto_Duct_Incar_RR_ro >> 4) & 0xFF);
|
||||
_d[5] |= (uint8_t)(_m->dbg_Auto_Duct_Amb_RR_ro & 0xFF);
|
||||
_d[6] |= (uint8_t)((_m->dbg_Auto_Duct_Amb_RR_ro >> 8) & 0x0F);
|
||||
_d[6] |= (uint8_t)((_m->dbg_Auto_Duct_Sun_RR_ro & 0x0F) << 4);
|
||||
_d[7] |= (uint8_t)((_m->dbg_Auto_Duct_Sun_RR_ro >> 4) & 0xFF);
|
||||
break;
|
||||
}
|
||||
|
||||
*_len = (uint8_t) dbg_Auto_Duct_DLC;
|
||||
*_ide = (uint8_t) dbg_Auto_Duct_IDE;
|
||||
return dbg_Auto_Duct_CANID;
|
||||
}
|
||||
|
||||
// ============================================================================
|
||||
// 6. dbg_Auto_AF - Автоматическая коррекция AF (MultMsg_Idx)
|
||||
// ============================================================================
|
||||
|
||||
uint32_t Pack_dbg_Auto_AF_candb_dbg2(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 & 0x03);
|
||||
|
||||
switch(_m->dbg_Auto_AF_MultMsg_Idx) {
|
||||
case 0: // Кадр 0: FL коррекция
|
||||
_d[0] |= (uint8_t)((_m->dbg_Auto_AF_Correct_FL & 0x0F) << 4);
|
||||
_d[1] |= (uint8_t)((_m->dbg_Auto_AF_Correct_FL >> 4) & 0xFF);
|
||||
_d[2] |= (uint8_t)(_m->dbg_Auto_AF_Vtg_FL & 0xFF);
|
||||
_d[3] |= (uint8_t)((_m->dbg_Auto_AF_Vtg_FL >> 8) & 0x0F);
|
||||
_d[3] |= (uint8_t)((_m->dbg_Auto_AF_Incar_FL & 0x0F) << 4);
|
||||
_d[4] |= (uint8_t)((_m->dbg_Auto_AF_Incar_FL >> 4) & 0xFF);
|
||||
_d[5] |= (uint8_t)(_m->dbg_Auto_AF_Amb_FL & 0xFF);
|
||||
_d[6] |= (uint8_t)((_m->dbg_Auto_AF_Amb_FL >> 8) & 0x0F);
|
||||
_d[6] |= (uint8_t)((_m->dbg_Auto_AF_Sun_FL & 0x0F) << 4);
|
||||
_d[7] |= (uint8_t)((_m->dbg_Auto_AF_Sun_FL >> 4) & 0xFF);
|
||||
break;
|
||||
|
||||
case 1: // Кадр 1: FR коррекция
|
||||
_d[0] |= (uint8_t)((_m->dbg_Auto_AF_Correct_FR & 0x0F) << 4);
|
||||
_d[1] |= (uint8_t)((_m->dbg_Auto_AF_Correct_FR >> 4) & 0xFF);
|
||||
_d[2] |= (uint8_t)(_m->dbg_Auto_AF_Vtg_FR & 0xFF);
|
||||
_d[3] |= (uint8_t)((_m->dbg_Auto_AF_Vtg_FR >> 8) & 0x0F);
|
||||
_d[3] |= (uint8_t)((_m->dbg_Auto_AF_Incar_FR & 0x0F) << 4);
|
||||
_d[4] |= (uint8_t)((_m->dbg_Auto_AF_Incar_FR >> 4) & 0xFF);
|
||||
_d[5] |= (uint8_t)(_m->dbg_Auto_AF_Amb_FR & 0xFF);
|
||||
_d[6] |= (uint8_t)((_m->dbg_Auto_AF_Amb_FR >> 8) & 0x0F);
|
||||
_d[6] |= (uint8_t)((_m->dbg_Auto_AF_Sun_FR & 0x0F) << 4);
|
||||
_d[7] |= (uint8_t)((_m->dbg_Auto_AF_Sun_FR >> 4) & 0xFF);
|
||||
break;
|
||||
|
||||
case 2: // Кадр 2: RL коррекция
|
||||
_d[0] |= (uint8_t)((_m->dbg_Auto_AF_Correct_RL & 0x0F) << 4);
|
||||
_d[1] |= (uint8_t)((_m->dbg_Auto_AF_Correct_RL >> 4) & 0xFF);
|
||||
_d[2] |= (uint8_t)(_m->dbg_Auto_AF_Vtg_RL & 0xFF);
|
||||
_d[3] |= (uint8_t)((_m->dbg_Auto_AF_Vtg_RL >> 8) & 0x0F);
|
||||
_d[3] |= (uint8_t)((_m->dbg_Auto_AF_Incar_RL & 0x0F) << 4);
|
||||
_d[4] |= (uint8_t)((_m->dbg_Auto_AF_Incar_RL >> 4) & 0xFF);
|
||||
_d[5] |= (uint8_t)(_m->dbg_Auto_AF_Amb_RL & 0xFF);
|
||||
_d[6] |= (uint8_t)((_m->dbg_Auto_AF_Amb_RL >> 8) & 0x0F);
|
||||
_d[6] |= (uint8_t)((_m->dbg_Auto_AF_Sun_RL & 0x0F) << 4);
|
||||
_d[7] |= (uint8_t)((_m->dbg_Auto_AF_Sun_RL >> 4) & 0xFF);
|
||||
break;
|
||||
|
||||
case 3: // Кадр 3: RR коррекция
|
||||
_d[0] |= (uint8_t)((_m->dbg_Auto_AF_Correct_RR & 0x0F) << 4);
|
||||
_d[1] |= (uint8_t)((_m->dbg_Auto_AF_Correct_RR >> 4) & 0xFF);
|
||||
_d[2] |= (uint8_t)(_m->dbg_Auto_AF_Vtg_RR & 0xFF);
|
||||
_d[3] |= (uint8_t)((_m->dbg_Auto_AF_Vtg_RR >> 8) & 0x0F);
|
||||
_d[3] |= (uint8_t)((_m->dbg_Auto_AF_Incar_RR & 0x0F) << 4);
|
||||
_d[4] |= (uint8_t)((_m->dbg_Auto_AF_Incar_RR >> 4) & 0xFF);
|
||||
_d[5] |= (uint8_t)(_m->dbg_Auto_AF_Amb_RR & 0xFF);
|
||||
_d[6] |= (uint8_t)((_m->dbg_Auto_AF_Amb_RR >> 8) & 0x0F);
|
||||
_d[6] |= (uint8_t)((_m->dbg_Auto_AF_Sun_RR & 0x0F) << 4);
|
||||
_d[7] |= (uint8_t)((_m->dbg_Auto_AF_Sun_RR >> 4) & 0xFF);
|
||||
break;
|
||||
}
|
||||
|
||||
*_len = (uint8_t) dbg_Auto_AF_DLC;
|
||||
*_ide = (uint8_t) dbg_Auto_AF_IDE;
|
||||
return dbg_Auto_AF_CANID;
|
||||
}
|
||||
|
|
@ -0,0 +1,84 @@
|
|||
// candb_dbg_fixed.h
|
||||
// Исправленные версии функций для мультиплексированных сообщений
|
||||
// Версия без CANDB_DBG_USE_CANSTRUCT
|
||||
|
||||
#ifndef CANDB_DBG_FIXED_H
|
||||
#define CANDB_DBG_FIXED_H
|
||||
|
||||
#include "candb_dbg.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Упаковка данных датчиков салона (исправленная версия)
|
||||
* @param _m Указатель на структуру с данными
|
||||
* @param _d Указатель на буфер данных (8 байт)
|
||||
* @param _len Указатель на длину данных
|
||||
* @param _ide Указатель на флаг IDE
|
||||
* @return CAN ID сообщения
|
||||
* @note Мультиплексирование по полю dbg_Sen_Incar_MultMsg_Idx (0-3)
|
||||
*/
|
||||
uint32_t Pack_dbg_Sen_Incar_candb_dbg2(dbg_Sen_Incar_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide);
|
||||
|
||||
/**
|
||||
* @brief Упаковка данных открытия клапанов DiffBlr (исправленная версия)
|
||||
* @param _m Указатель на структуру с данными
|
||||
* @param _d Указатель на буфер данных (8 байт)
|
||||
* @param _len Указатель на длину данных
|
||||
* @param _ide Указатель на флаг IDE
|
||||
* @return CAN ID сообщения
|
||||
* @note Мультиплексирование по полю Logic_ValveOpen_MultMsg_Idx (0-3)
|
||||
*/
|
||||
uint32_t Pack_dbg_DiffBlr_ValveOpen_candb_dbg2(dbg_DiffBlr_ValveOpen_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide);
|
||||
|
||||
/**
|
||||
* @brief Упаковка информационных данных CCU (исправленная версия)
|
||||
* @param _m Указатель на структуру с данными
|
||||
* @param _d Указатель на буфер данных (8 байт)
|
||||
* @param _len Указатель на длину данных
|
||||
* @param _ide Указатель на флаг IDE
|
||||
* @return CAN ID сообщения
|
||||
* @note Мультиплексирование по полю dbg_Info_MultMsg_Idx (0-3)
|
||||
*/
|
||||
uint32_t Pack_dbg_CCU_Info_candb_dbg2(dbg_CCU_Info_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide);
|
||||
|
||||
/**
|
||||
* @brief Упаковка данных датчиков воздуховодов (исправленная версия)
|
||||
* @param _m Указатель на структуру с данными
|
||||
* @param _d Указатель на буфер данных (8 байт)
|
||||
* @param _len Указатель на длину данных
|
||||
* @param _ide Указатель на флаг IDE
|
||||
* @return CAN ID сообщения
|
||||
* @note Мультиплексирование по полю dbg_Sen_Duct_MultMsg_Idx (0-3)
|
||||
*/
|
||||
uint32_t Pack_dbg_Sen_Duct_candb_dbg2(dbg_Sen_Duct_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide);
|
||||
|
||||
/**
|
||||
* @brief Упаковка данных автоматических воздуховодов (исправленная версия)
|
||||
* @param _m Указатель на структуру с данными
|
||||
* @param _d Указатель на буфер данных (8 байт)
|
||||
* @param _len Указатель на длину данных
|
||||
* @param _ide Указатель на флаг IDE
|
||||
* @return CAN ID сообщения
|
||||
* @note Мультиплексирование по полю dbg_Auto_Duct_MultMsg_Idx (0-5)
|
||||
*/
|
||||
uint32_t Pack_dbg_Auto_Duct_candb_dbg2(dbg_Auto_Duct_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide);
|
||||
|
||||
/**
|
||||
* @brief Упаковка данных автоматической коррекции AF (исправленная версия)
|
||||
* @param _m Указатель на структуру с данными
|
||||
* @param _d Указатель на буфер данных (8 байт)
|
||||
* @param _len Указатель на длину данных
|
||||
* @param _ide Указатель на флаг IDE
|
||||
* @return CAN ID сообщения
|
||||
* @note Мультиплексирование по полю dbg_Auto_AF_MultMsg_Idx (0-3)
|
||||
*/
|
||||
uint32_t Pack_dbg_Auto_AF_candb_dbg2(dbg_Auto_AF_t* _m, uint8_t* _d, uint8_t* _len, uint8_t* _ide);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // CANDB_DBG_FIXED_H
|
||||
Loading…
Reference in New Issue