Правки в задаче модели
This commit is contained in:
parent
23d7bef9a6
commit
75f09a30e2
|
|
@ -628,14 +628,13 @@ static _Noreturn void ModelTask_Thread(tModelTask *env) {
|
||||||
|
|
||||||
rtDW.t_now = SystemGetMs();
|
rtDW.t_now = SystemGetMs();
|
||||||
|
|
||||||
|
//начало--------------------------------------------------ВХОД МОДЕЛИ ADC----------------------------------------------
|
||||||
getCmdBusADCData(env->adc0Task, &rtDW.ADC_Data_Model);
|
getCmdBusADCData(env->adc0Task, &rtDW.ADC_Data_Model);
|
||||||
|
getCmdBusADC2Data(env->adc1Task,(CmdBusADC2Data *) &rtDW.ADC_Data_Model.VN7008AJ_DIAG_FrontLINActuatorPowerDriverAB);
|
||||||
|
//конец--------------------------------------------------ВХОД МОДЕЛИ ADC------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
getCmdBusADC2Data(env->adc1Task,
|
//начало--------------------------------------------------ВХОД МОДЕЛИ PWM-----------------------------------------------
|
||||||
(CmdBusADC2Data *) &rtDW.ADC_Data_Model.VN7008AJ_DIAG_FrontLINActuatorPowerDriverAB);
|
|
||||||
|
|
||||||
|
|
||||||
//начало--------------------------------------------------PWM-----------------------------------------------------------
|
|
||||||
// PWM_Get.pwmPercentFront = env->pwms->pwmFrontCaptureIO.getPwm(env->pwms->pwmFrontCaptureIO.env);
|
// PWM_Get.pwmPercentFront = env->pwms->pwmFrontCaptureIO.getPwm(env->pwms->pwmFrontCaptureIO.env);
|
||||||
// PWM_Get.pwmPercentRear = env->pwms->pwmRearCaptureIO.getPwm(env->pwms->pwmRearCaptureIO.env);
|
// PWM_Get.pwmPercentRear = env->pwms->pwmRearCaptureIO.getPwm(env->pwms->pwmRearCaptureIO.env);
|
||||||
// PWM_Get.pwmPercentFrontReserved = env->pwms->pwmFrontCaptureIO.getPwm(
|
// PWM_Get.pwmPercentFrontReserved = env->pwms->pwmFrontCaptureIO.getPwm(
|
||||||
|
|
@ -645,54 +644,64 @@ static _Noreturn void ModelTask_Thread(tModelTask *env) {
|
||||||
|
|
||||||
// model_Status_Pwm_For_Model_input.Pwm_Front = PWM_Get.pwmPercentFront * 10;
|
// model_Status_Pwm_For_Model_input.Pwm_Front = PWM_Get.pwmPercentFront * 10;
|
||||||
// model_Status_Pwm_For_Model_input.Pwm_Rear = PWM_Get.pwmPercentRear * 10;
|
// model_Status_Pwm_For_Model_input.Pwm_Rear = PWM_Get.pwmPercentRear * 10;
|
||||||
//конец--------------------------------------------------PWM------------------------------------------------------------
|
//конец--------------------------------------------------ВХОД МОДЕЛИ PWM------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
//начало--------------------------------------------------CAN-----------------------------------------------------------
|
//начало--------------------------------------------------ВХОД МОДЕЛИ CAN-----------------------------------------------
|
||||||
get_CanSpamReceiver(env->canSpamReceiver);
|
get_CanSpamReceiver(env->canSpamReceiver);
|
||||||
|
|
||||||
|
// Если был захват в UDS (подмена)
|
||||||
if (model_Status_Set_For_Model_output.EMS == 1) {
|
if (model_Status_Set_For_Model_output.EMS == 1) {
|
||||||
rtDW.CCUCAN_EMS_HVC_REQ_MSG_MODEL.EMS_eCompChiller_Req = model_Status_EMS_For_Model_output.EMS_Chiller_Req;
|
rtDW.CCUCAN_EMS_HVC_REQ_MSG_MODEL.EMS_eCompChiller_Req = model_Status_EMS_For_Model_output.EMS_Chiller_Req;
|
||||||
}
|
}
|
||||||
|
|
||||||
model_Status_EMS_For_Model_input.EMS_Chiller_Req = rtDW.CCUCAN_EMS_HVC_REQ_MSG_MODEL.EMS_eCompChiller_Req;
|
model_Status_EMS_For_Model_input.EMS_Chiller_Req = rtDW.CCUCAN_EMS_HVC_REQ_MSG_MODEL.EMS_eCompChiller_Req;
|
||||||
|
|
||||||
|
|
||||||
bool isT15 = rtDW.CCUCAN_BCM_VEH_STATE_model.BCM_T15_Stat;
|
bool isT15 = rtDW.CCUCAN_BCM_VEH_STATE_model.BCM_T15_Stat;
|
||||||
//конец--------------------------------------------------CAN------------------------------------------------------------
|
//конец--------------------------------------------------ВХОД МОДЕЛИ CAN------------------------------------------------
|
||||||
|
|
||||||
|
//начало-------------------------------------------------ВХОД МОДЕЛИ SlEEP----------------------------------------------
|
||||||
|
|
||||||
//начало-------------------------------------------------SlEEP----------------------------------------------------------
|
memcpy((void *) &rtDW.CCU_STAT1_WAKEUP_MODEL, (void *) &CCU_STAT1_MODEL_SAVE, sizeof(CmdCAN_CCU_STAT1_WakeUp_Bus));
|
||||||
|
memcpy((void *) &rtDW.CCU_STAT2_WAKEUP_MODEL, (void *) &CCU_STAT2_MODEL_SAVE, sizeof(CmdCAN_CCU_STAT2_WakeUp_Bus));
|
||||||
memcpy((void *) &rtDW.CCU_STAT1_WAKEUP_MODEL, (void *) &CCU_STAT1_MODEL_SAVE,
|
memcpy((void *) &rtDW.CCU_STAT3_WAKEUP_MODEL, (void *) &CCU_STAT3_MODEL_SAVE, sizeof(CmdCAN_CCU_STAT3_WakeUp_Bus));
|
||||||
sizeof(CmdCAN_CCU_STAT1_WakeUp_Bus));
|
|
||||||
memcpy((void *) &rtDW.CCU_STAT2_WAKEUP_MODEL, (void *) &CCU_STAT2_MODEL_SAVE,
|
|
||||||
sizeof(CmdCAN_CCU_STAT2_WakeUp_Bus));
|
|
||||||
memcpy((void *) &rtDW.CCU_STAT3_WAKEUP_MODEL, (void *) &CCU_STAT3_MODEL_SAVE,
|
|
||||||
sizeof(CmdCAN_CCU_STAT3_WakeUp_Bus));
|
|
||||||
memcpy((void *) &rtDW.CCU_Msg1_WakeUp_model, (void *) &CCU_MSG1_MODEL_SAVE, sizeof(CCU_Msg1_WakeUp_Bus));
|
memcpy((void *) &rtDW.CCU_Msg1_WakeUp_model, (void *) &CCU_MSG1_MODEL_SAVE, sizeof(CCU_Msg1_WakeUp_Bus));
|
||||||
|
|
||||||
|
//конец--------------------------------------------------ВХОД МОДЕЛИ SLEEP----------------------------------------------
|
||||||
|
|
||||||
//конец--------------------------------------------------SLEEP----------------------------------------------------------
|
//начало-------------------------------------------------ВХОД МОДЕЛИ LIN4 LIN5------------------------------------------
|
||||||
|
|
||||||
Lin4_Output_Get_From_Model(env->lin4TaskSensor);
|
Lin4_Output_Get_From_Model(env->lin4TaskSensor);
|
||||||
Lin5_Output_Get_From_Model(env->lin5TaskSensor);
|
Lin5_Output_Get_From_Model(env->lin5TaskSensor);
|
||||||
|
//конец--------------------------------------------------ВХОД МОДЕЛИ LIN4 LIN5------------------------------------------
|
||||||
|
|
||||||
|
//ШАГ МОДЕЛИ------------------------------------------------------------------------------------------------------------
|
||||||
|
//ШАГ МОДЕЛИ------------------------------------------------------------------------------------------------------------
|
||||||
|
//ШАГ МОДЕЛИ------------------------------------------------------------------------------------------------------------
|
||||||
|
//ШАГ МОДЕЛИ------------------------------------------------------------------------------------------------------------
|
||||||
|
//ШАГ МОДЕЛИ------------------------------------------------------------------------------------------------------------
|
||||||
HVAC_model_step();
|
HVAC_model_step();
|
||||||
|
|
||||||
|
|
||||||
rtDW.sleep_model = 0;
|
rtDW.sleep_model = 0;
|
||||||
|
|
||||||
|
//ШАГ МОДЕЛИ------------------------------------------------------------------------------------------------------------
|
||||||
|
//ШАГ МОДЕЛИ------------------------------------------------------------------------------------------------------------
|
||||||
|
//ШАГ МОДЕЛИ------------------------------------------------------------------------------------------------------------
|
||||||
|
//ШАГ МОДЕЛИ------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
//начало-------------------------------------------------ВЫХОД МОДЕЛИ ДЛЯ LIN5------------------------------------------
|
||||||
Lin5_Input_Set_From_Model(env->lin5TaskSensor);
|
Lin5_Input_Set_From_Model(env->lin5TaskSensor);
|
||||||
|
//конец--------------------------------------------------ВЫХОД МОДЕЛИ ДЛЯ LIN5------------------------------------------
|
||||||
|
|
||||||
|
//начало-------------------------------------------------ВЫХОД МОДЕЛИ ДЛЯ UDS-------------------------------------------
|
||||||
CanUdsOutput_Get_Model(env->canUds);
|
CanUdsOutput_Get_Model(env->canUds);
|
||||||
|
//конец--------------------------------------------------ВЫХОД МОДЕЛИ ДЛЯ UDS-------------------------------------------
|
||||||
|
|
||||||
|
//начало-------------------------------------------------ВЫХОД МОДЕЛИ ДЛЯ LIN1, LIN2, LIN3------------------------------
|
||||||
setActuatorBusy(env);
|
setActuatorBusy(env);
|
||||||
|
//конец--------------------------------------------------ВЫХОД МОДЕЛИ ДЛЯ LIN1, LIN2, LIN3------------------------------
|
||||||
|
|
||||||
|
//начало--------------------------------------------------ВЫХОД МОДЕЛИ ДЛЯ GPIO-----------------------------------------
|
||||||
//начало--------------------------------------------------GPIO----------------------------------------------------------
|
|
||||||
// Включение 5V (1 - ВКЛ)
|
// Включение 5V (1 - ВКЛ)
|
||||||
GpioPinSet(&env->gpios->power.SW5V_EN, rtY.PowerEnable_Model.SW5V_EN);
|
GpioPinSet(&env->gpios->power.SW5V_EN, rtY.PowerEnable_Model.SW5V_EN);
|
||||||
// Контроль напряжения борт-сети (1 - ВКЛ)
|
// Контроль напряжения борт-сети (1 - ВКЛ)
|
||||||
|
|
@ -707,6 +716,7 @@ static _Noreturn void ModelTask_Thread(tModelTask *env) {
|
||||||
env->PtcRelayDriver1_EN = rtY.PowerEnable_Model.PtcRelayDriver1_EN;
|
env->PtcRelayDriver1_EN = rtY.PowerEnable_Model.PtcRelayDriver1_EN;
|
||||||
env->PtcRelayDriver2_EN = rtY.PowerEnable_Model.PtcRelayDriver2_EN;
|
env->PtcRelayDriver2_EN = rtY.PowerEnable_Model.PtcRelayDriver2_EN;
|
||||||
|
|
||||||
|
// Для UDS (подмена)
|
||||||
if (model_Status_Set_For_Model_output.IO == 1) {
|
if (model_Status_Set_For_Model_output.IO == 1) {
|
||||||
|
|
||||||
if (model_Status_IO_For_Model_output._2_Way_Valve == 0) {
|
if (model_Status_IO_For_Model_output._2_Way_Valve == 0) {
|
||||||
|
|
@ -785,6 +795,7 @@ static _Noreturn void ModelTask_Thread(tModelTask *env) {
|
||||||
env->PtcRelayDriver2_EN);
|
env->PtcRelayDriver2_EN);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Для UDS
|
||||||
model_Status_IO_For_Model_input._2_Way_Valve = env->TwoWayValve_EN;
|
model_Status_IO_For_Model_input._2_Way_Valve = env->TwoWayValve_EN;
|
||||||
model_Status_IO_For_Model_input.IncarMotor_Front = env->Incar_Motor_Front_EN;
|
model_Status_IO_For_Model_input.IncarMotor_Front = env->Incar_Motor_Front_EN;
|
||||||
model_Status_IO_For_Model_input.IncarMotor_Rear = env->Incar_Motor_Rear_EN;
|
model_Status_IO_For_Model_input.IncarMotor_Rear = env->Incar_Motor_Rear_EN;
|
||||||
|
|
@ -795,7 +806,6 @@ static _Noreturn void ModelTask_Thread(tModelTask *env) {
|
||||||
model_Status_IO_For_Model_input.PTC_2 = env->PtcRelayDriver2_EN;
|
model_Status_IO_For_Model_input.PTC_2 = env->PtcRelayDriver2_EN;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// GpioPinSet(&env->gpios->power.BTS4175SGAXUMA1_ReservePowerOutput.EN_ReservePower, rtY.PowerEnable_Model.EN_ReservePower);
|
// GpioPinSet(&env->gpios->power.BTS4175SGAXUMA1_ReservePowerOutput.EN_ReservePower, rtY.PowerEnable_Model.EN_ReservePower);
|
||||||
GpioPinSet(&env->gpios->power.BTS4175SGAXUMA1_PowerReserve.EN_PowerReserve,
|
GpioPinSet(&env->gpios->power.BTS4175SGAXUMA1_PowerReserve.EN_PowerReserve,
|
||||||
rtY.PowerEnable_Model.EN_PowerReserve);
|
rtY.PowerEnable_Model.EN_PowerReserve);
|
||||||
|
|
@ -813,11 +823,11 @@ static _Noreturn void ModelTask_Thread(tModelTask *env) {
|
||||||
GpioPinSet(&env->gpios->power.BTS5120_2EKA_ShutoffValvePowerTXV.ShutOffTXV_EN_Diag, true);
|
GpioPinSet(&env->gpios->power.BTS5120_2EKA_ShutoffValvePowerTXV.ShutOffTXV_EN_Diag, true);
|
||||||
GpioPinSet(&env->gpios->power.BTS5120_2EKA_ShutoffValvePowerTXV.ShutOffTXV2_EN,
|
GpioPinSet(&env->gpios->power.BTS5120_2EKA_ShutoffValvePowerTXV.ShutOffTXV2_EN,
|
||||||
rtY.PowerEnable_Model.ShutOffTXV2_EN);
|
rtY.PowerEnable_Model.ShutOffTXV2_EN);
|
||||||
//конец--------------------------------------------------GPIO-----------------------------------------------------------
|
//конец--------------------------------------------------ВЫХОД МОДЕЛИ ДЛЯ GPIO------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//начало--------------------------------------------------PWM-----------------------------------------------------------
|
//начало--------------------------------------------------ВЫХОД МОДЕЛИ ДЛЯ PWM------------------------------------------
|
||||||
if (model_Status_Set_For_Model_output.Pwm == 1) {
|
if (model_Status_Set_For_Model_output.Pwm == 1) {
|
||||||
|
|
||||||
env->pwms->pwmFrontIo.setActivePercent(env->pwms->pwmFrontIo.env, model_Status_Pwm_For_Model_output.Pwm_Front / 10);
|
env->pwms->pwmFrontIo.setActivePercent(env->pwms->pwmFrontIo.env, model_Status_Pwm_For_Model_output.Pwm_Front / 10);
|
||||||
|
|
@ -836,18 +846,18 @@ static _Noreturn void ModelTask_Thread(tModelTask *env) {
|
||||||
env->pwms->pwmRearReservedIo.setActivePercent(env->pwms->pwmRearReservedIo.env,
|
env->pwms->pwmRearReservedIo.setActivePercent(env->pwms->pwmRearReservedIo.env,
|
||||||
rtY.PWM_Get_f.pwmPercentRearReserved);
|
rtY.PWM_Get_f.pwmPercentRearReserved);
|
||||||
}
|
}
|
||||||
//конец--------------------------------------------------PWM------------------------------------------------------------
|
//конец--------------------------------------------------ВЫХОД МОДЕЛИ ДЛЯ PWM-------------------------------------------
|
||||||
|
|
||||||
//начало-------------------------------------------------SlEEP----------------------------------------------------------
|
//начало-------------------------------------------------ВЫХОД МОДЕЛИ ДЛЯ SlEEP-----------------------------------------
|
||||||
if (isT15) {
|
if (isT15) {
|
||||||
memcpy((void *) &CCU_STAT1_MODEL_SAVE, &rtY.CCU_Stat1_model, sizeof(CmdCAN_CCU_STAT1_Bus));
|
memcpy((void *) &CCU_STAT1_MODEL_SAVE, &rtY.CCU_Stat1_model, sizeof(CmdCAN_CCU_STAT1_Bus));
|
||||||
memcpy((void *) &CCU_STAT2_MODEL_SAVE, &rtY.CCU_Stat2_model, sizeof(CmdCAN_CCU_STAT2_Bus));
|
memcpy((void *) &CCU_STAT2_MODEL_SAVE, &rtY.CCU_Stat2_model, sizeof(CmdCAN_CCU_STAT2_Bus));
|
||||||
memcpy((void *) &CCU_STAT3_MODEL_SAVE, &rtY.CCU_Stat3_model, sizeof(CmdCAN_CCU_STAT3_Bus));
|
memcpy((void *) &CCU_STAT3_MODEL_SAVE, &rtY.CCU_Stat3_model, sizeof(CmdCAN_CCU_STAT3_Bus));
|
||||||
memcpy((void *) &CCU_MSG1_MODEL_SAVE, &rtY.CCU_Msg1_model, sizeof(CCU_Msg1_Bus));
|
memcpy((void *) &CCU_MSG1_MODEL_SAVE, &rtY.CCU_Msg1_model, sizeof(CCU_Msg1_Bus));
|
||||||
}
|
}
|
||||||
//конец--------------------------------------------------SLEEP----------------------------------------------------------
|
//конец--------------------------------------------------ВЫХОД МОДЕЛИ ДЛЯ SLEEP-----------------------------------------
|
||||||
|
|
||||||
//начало--------------------------------------------------CAN-----------------------------------------------------------
|
//начало--------------------------------------------------ВЫХОД МОДЕЛИ ДЛЯ CAN------------------------------------------
|
||||||
memcpy(&env->ccu_candb_tx.CCU_Errors, &rtY.CCU_Errors_model, sizeof(env->ccu_candb_tx.CCU_Errors));
|
memcpy(&env->ccu_candb_tx.CCU_Errors, &rtY.CCU_Errors_model, sizeof(env->ccu_candb_tx.CCU_Errors));
|
||||||
memcpy(&env->ccu_candb_tx.CCU_Stat1, &rtY.CCU_Stat1_model, sizeof(env->ccu_candb_tx.CCU_Stat1));
|
memcpy(&env->ccu_candb_tx.CCU_Stat1, &rtY.CCU_Stat1_model, sizeof(env->ccu_candb_tx.CCU_Stat1));
|
||||||
memcpy(&env->ccu_candb_tx.CCU_Stat2, &rtY.CCU_Stat2_model, sizeof(env->ccu_candb_tx.CCU_Stat2));
|
memcpy(&env->ccu_candb_tx.CCU_Stat2, &rtY.CCU_Stat2_model, sizeof(env->ccu_candb_tx.CCU_Stat2));
|
||||||
|
|
@ -857,6 +867,7 @@ static _Noreturn void ModelTask_Thread(tModelTask *env) {
|
||||||
memcpy(&env->ccu_candb_tx.CCU_Msg1, &rtY.CCU_Msg1_model, sizeof(env->ccu_candb_tx.CCU_Msg1));
|
memcpy(&env->ccu_candb_tx.CCU_Msg1, &rtY.CCU_Msg1_model, sizeof(env->ccu_candb_tx.CCU_Msg1));
|
||||||
|
|
||||||
|
|
||||||
|
// Для UDS (подмена)
|
||||||
if (model_Status_Set_For_Model_output.eComp == 1) {
|
if (model_Status_Set_For_Model_output.eComp == 1) {
|
||||||
env->ccu_candb_tx.CCU_HVC_Req_Msg.CCU_eCompSpeedReq_Val_ro = model_Status_eComp_For_Model_output.Pwm_Front;
|
env->ccu_candb_tx.CCU_HVC_Req_Msg.CCU_eCompSpeedReq_Val_ro = model_Status_eComp_For_Model_output.Pwm_Front;
|
||||||
|
|
||||||
|
|
@ -927,29 +938,18 @@ static _Noreturn void ModelTask_Thread(tModelTask *env) {
|
||||||
model_Status_Pwm_For_Model_input.Pwm_Rear = env->ccu_candb_dbg_tx.dbg_Logic_Blower.Logic_Blower_Pwm_Rear * 10;
|
model_Status_Pwm_For_Model_input.Pwm_Rear = env->ccu_candb_dbg_tx.dbg_Logic_Blower.Logic_Blower_Pwm_Rear * 10;
|
||||||
|
|
||||||
|
|
||||||
memcpy(&env->ccu_candb_dbg_tx.dbg_Sen_Amb, &rtY.dbgCAN_dbg_Sen_Amb_model,
|
memcpy(&env->ccu_candb_dbg_tx.dbg_Sen_Amb, &rtY.dbgCAN_dbg_Sen_Amb_model, sizeof(env->ccu_candb_dbg_tx.dbg_Sen_Amb));
|
||||||
sizeof(env->ccu_candb_dbg_tx.dbg_Sen_Amb));
|
memcpy(&env->ccu_candb_dbg_tx.dbg_Sen_Incar, &rtY.dbgCAN_dbg_Sen_Incar_model, sizeof(env->ccu_candb_dbg_tx.dbg_Sen_Incar));
|
||||||
memcpy(&env->ccu_candb_dbg_tx.dbg_Sen_Incar, &rtY.dbgCAN_dbg_Sen_Incar_model,
|
memcpy(&env->ccu_candb_dbg_tx.dbg_Sen_0, &rtY.dbgCAN_dbg_Sen_0_model, sizeof(env->ccu_candb_dbg_tx.dbg_Sen_0));
|
||||||
sizeof(env->ccu_candb_dbg_tx.dbg_Sen_Incar));
|
memcpy(&env->ccu_candb_dbg_tx.dbg_Logic_Ac, &rtY.dbg_Logic_Ac_model, sizeof(env->ccu_candb_dbg_tx.dbg_Logic_Ac));
|
||||||
memcpy(&env->ccu_candb_dbg_tx.dbg_Sen_0, &rtY.dbgCAN_dbg_Sen_0_model,
|
memcpy(&env->ccu_candb_dbg_tx.dbg_CCU_IO, &rtY.dbgCAN_CCU_IO_model, sizeof(env->ccu_candb_dbg_tx.dbg_CCU_IO));
|
||||||
sizeof(env->ccu_candb_dbg_tx.dbg_Sen_0));
|
memcpy(&env->ccu_candb_dbg_tx.dbg_Logic_Rec, &rtY.dbgCAN_Logic_Rec_model, sizeof(env->ccu_candb_dbg_tx.dbg_Logic_Rec));
|
||||||
memcpy(&env->ccu_candb_dbg_tx.dbg_Logic_Ac, &rtY.dbg_Logic_Ac_model,
|
memcpy(&env->ccu_candb_dbg_tx.dbg_Logic_State, &rtY.dbgCAN_Logic_State_model, sizeof(env->ccu_candb_dbg_tx.dbg_Logic_State));
|
||||||
sizeof(env->ccu_candb_dbg_tx.dbg_Logic_Ac));
|
memcpy(&env->ccu_candb_dbg_tx.dbg_Auto_AF, &rtY.dbgCAN_Auto_AF_model, sizeof(env->ccu_candb_dbg_tx.dbg_Auto_AF));
|
||||||
memcpy(&env->ccu_candb_dbg_tx.dbg_CCU_IO, &rtY.dbgCAN_CCU_IO_model,
|
memcpy(&env->ccu_candb_dbg_tx.dbg_Auto_Duct, &rtY.dbgCAN_Auto_Duct_model, sizeof(env->ccu_candb_dbg_tx.dbg_Auto_Duct));
|
||||||
sizeof(env->ccu_candb_dbg_tx.dbg_CCU_IO));
|
memcpy(&env->ccu_candb_dbg_tx.dbg_Logic_Valve, &rtY.dbg_Logic_Valve_model, sizeof(env->ccu_candb_dbg_tx.dbg_Logic_Valve));
|
||||||
memcpy(&env->ccu_candb_dbg_tx.dbg_Logic_Rec, &rtY.dbgCAN_Logic_Rec_model,
|
memcpy(&env->ccu_candb_dbg_tx.dbg_Drs, &rtY.dbg_Drs_t_model, sizeof(env->ccu_candb_dbg_tx.dbg_Drs));
|
||||||
sizeof(env->ccu_candb_dbg_tx.dbg_Logic_Rec));
|
memcpy(&env->ccu_candb_dbg_tx.dbg_LIN_AirQS_Stat, &rtY.dbg_LIN_AirQS_Stat_t_model, sizeof(env->ccu_candb_dbg_tx.dbg_Logic_Valve));
|
||||||
memcpy(&env->ccu_candb_dbg_tx.dbg_Logic_State, &rtY.dbgCAN_Logic_State_model,
|
|
||||||
sizeof(env->ccu_candb_dbg_tx.dbg_Logic_State));
|
|
||||||
|
|
||||||
memcpy(&env->ccu_candb_dbg_tx.dbg_Auto_AF, &rtY.dbgCAN_Auto_AF_model,
|
|
||||||
sizeof(env->ccu_candb_dbg_tx.dbg_Auto_AF));
|
|
||||||
memcpy(&env->ccu_candb_dbg_tx.dbg_Auto_Duct, &rtY.dbgCAN_Auto_Duct_model,
|
|
||||||
sizeof(env->ccu_candb_dbg_tx.dbg_Auto_Duct));
|
|
||||||
|
|
||||||
memcpy(&env->ccu_candb_dbg_tx.dbg_Logic_Valve, &rtY.dbg_Logic_Valve_model,
|
|
||||||
sizeof(env->ccu_candb_dbg_tx.dbg_Logic_Valve));
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
env->ccu_candb_dbg_tx.dbg_stat_PID.P_FUL = 501 + 2048;
|
env->ccu_candb_dbg_tx.dbg_stat_PID.P_FUL = 501 + 2048;
|
||||||
env->ccu_candb_dbg_tx.dbg_stat_PID.I_FUL = 502 + 2048;
|
env->ccu_candb_dbg_tx.dbg_stat_PID.I_FUL = 502 + 2048;
|
||||||
|
|
@ -984,19 +984,23 @@ static _Noreturn void ModelTask_Thread(tModelTask *env) {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//конец--------------------------------------------------CAN------------------------------------------------------------
|
//конец--------------------------------------------------ВЫХОД МОДЕЛИ ДЛЯ CAN-------------------------------------------
|
||||||
|
|
||||||
memcpy(&env->ccu_candb_dbg_tx.dbg_Drs, &rtY.dbg_Drs_t_model, sizeof(env->ccu_candb_dbg_tx.dbg_Drs));
|
|
||||||
memcpy(&env->ccu_candb_dbg_tx.dbg_LIN_AirQS_Stat, &rtY.dbg_LIN_AirQS_Stat_t_model,
|
|
||||||
sizeof(env->ccu_candb_dbg_tx.dbg_Logic_Valve));
|
|
||||||
|
|
||||||
|
//начало--------------------------------------------------ВЫХОД МОДЕЛИ ДЛЯ Lin4-----------------------------------------
|
||||||
Lin4_Input_Set_From_Model(env->lin4TaskSensor);
|
Lin4_Input_Set_From_Model(env->lin4TaskSensor);
|
||||||
|
//конец--------------------------------------------------ВЫХОД МОДЕЛИ ДЛЯ Lin4------------------------------------------
|
||||||
|
|
||||||
|
//начало--------------------------------------------------ВЫХОД МОДЕЛИ ДЛЯ CAN DEBUG------------------------------------
|
||||||
set_CanDebugSpamTransmitter(env->canSpamDebugTransmitter, &env->ccu_candb_dbg_tx);
|
set_CanDebugSpamTransmitter(env->canSpamDebugTransmitter, &env->ccu_candb_dbg_tx);
|
||||||
|
//конец--------------------------------------------------ВЫХОД МОДЕЛИ ДЛЯ Lin4------------------------------------------
|
||||||
|
|
||||||
set_Dtc_state(env->diagnostic);
|
//начало--------------------------------------------------ВЫХОД МОДЕЛИ ДЛЯ CAN DEBUG------------------------------------
|
||||||
|
|
||||||
CanUdsInput_Set_Model(env->canUds);
|
CanUdsInput_Set_Model(env->canUds);
|
||||||
|
//конец--------------------------------------------------ВЫХОД МОДЕЛИ ДЛЯ UDS-------------------------------------------
|
||||||
|
|
||||||
|
//начало--------------------------------------------------ВЫХОД МОДЕЛИ ДЛЯ DTC------------------------------------------
|
||||||
|
set_Dtc_state(env->diagnostic);
|
||||||
|
//конец--------------------------------------------------ВЫХОД МОДЕЛИ ДЛЯ DTC-------------------------------------------
|
||||||
|
|
||||||
env->isRunning = true;
|
env->isRunning = true;
|
||||||
osMutexRelease(env->access);
|
osMutexRelease(env->access);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue