Обновление платы на V2
This commit is contained in:
parent
292fe8b914
commit
d03380a269
|
|
@ -39,6 +39,75 @@ static void sendEventToCan(tCanSpamDebugTransmitter *env) {
|
|||
env->can_id, env->canFrame.id_type, 100);
|
||||
}
|
||||
|
||||
|
||||
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)
|
||||
|
|
@ -488,8 +557,6 @@ static eTimeEventDbgTransmit isEventTransmitter(tCanSpamDebugTransmitter *env) {
|
|||
// 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
|
||||
|
|
@ -532,7 +599,6 @@ static eTimeEventDbgTransmit isEventTransmitter(tCanSpamDebugTransmitter *env) {
|
|||
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
|
||||
|
|
@ -583,7 +649,7 @@ static eTimeEventDbgTransmit isEventTransmitter(tCanSpamDebugTransmitter *env) {
|
|||
|
||||
|
||||
|
||||
env->can_id = Pack_dbg_Sen_Duct_candb_dbg(&ccu_candb_dbg_tx.dbg_Sen_Duct, env->canFrame.data,
|
||||
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->dbg_Sen_Duct_MultMsg_Idx;
|
||||
|
|
@ -629,8 +695,9 @@ void set_CanDebugSpamTransmitter(tCanSpamDebugTransmitter *env) {
|
|||
memcpy(&ccu_candb_dbg_tx.dbg_Sen_Duct, &rtY.dbgCAN_dbg_Sen_Duct_model, sizeof(ccu_candb_dbg_tx.dbg_Sen_Duct));
|
||||
memcpy(&ccu_candb_dbg_tx.dbg_Sen_Eva, &rtY.dbgCAN_dbg_Sen_Eva_model, sizeof(ccu_candb_dbg_tx.dbg_Sen_Eva));
|
||||
|
||||
memcpy(&ccu_candb_dbg_tx.dbg_Logic_Blower, &rtY.dbgCAN_dbg_Logic_Blower_model,
|
||||
sizeof(ccu_candb_dbg_tx.dbg_Logic_Blower));
|
||||
memcpy(&ccu_candb_dbg_tx.dbg_Logic_Blower, &rtY.dbgCAN_dbg_Logic_Blower_model, sizeof(ccu_candb_dbg_tx.dbg_Logic_Blower));
|
||||
|
||||
memcpy(&ccu_candb_dbg_tx.dbg_Sen_Amb, &rtY.dbgCAN_dbg_Sen_Amb_model, sizeof(ccu_candb_dbg_tx.dbg_Sen_Amb));
|
||||
|
||||
osMutexRelease(env->access);
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@
|
|||
#define dbg_Logic_State_SEND 0
|
||||
#define dbg_Logic_Valve_SEND 0
|
||||
#define dbg_Sen_0_SEND 0
|
||||
#define dbg_Sen_Amb_SEND 0
|
||||
#define dbg_Sen_Amb_SEND 1
|
||||
#define dbg_Sen_Demist_SEND 0
|
||||
#define dbg_Sen_Duct_SEND 1
|
||||
#define dbg_Sen_Eva_SEND 1
|
||||
|
|
|
|||
Loading…
Reference in New Issue