diff --git a/MODULES/HVAC_M7_LIN_TASKS/LinSensorTasks.c b/MODULES/HVAC_M7_LIN_TASKS/LinSensorTasks.c index 31f053f..0ff3bb0 100644 --- a/MODULES/HVAC_M7_LIN_TASKS/LinSensorTasks.c +++ b/MODULES/HVAC_M7_LIN_TASKS/LinSensorTasks.c @@ -760,6 +760,8 @@ static void Lin5_Input_Get_From_Model(tLin5TaskSensor *env) { memcpy(env->linStateSensor.LED_COUNT, env->linStateSensorModelOutput.LED_COUNT, LIN5_SENSOR_COUNT); +// env->linStateSensor.LED_COUNT[2] = 1; + for (uint8_t i = 0; i < LIN5_SENSOR_COUNT; ++i) { set_led_group(&env->d_CCU_DRS_Req, i, env->linStateSensor.LED_COUNT[i]); } @@ -792,7 +794,7 @@ static void Lin5_Output_Set_Model(tLin5TaskSensor *env) { osStatus_t status = osOK; if (countQueue_led_count) { - memcpy(env->sensorButtonCmdBusInput.in_COUNT, env->linStateSensor.LED_COUNT, LIN5_SENSOR_COUNT); + memcpy(env->sensorButtonCmdBusInput.in_COUNT, env->linStateSensor.LED_COUNT_BTN_0_1, LIN5_SENSOR_COUNT); memcpy(env->sensorButtonCmdBusInput.in_error_connect, env->linStateSensor.error_connect, LIN5_SENSOR_COUNT); memcpy(env->sensorButtonCmdBusInput.LinRespErr_Stat, env->linStateSensor.LinRespErr_Stat, LIN5_SENSOR_COUNT); memcpy(env->sensorButtonCmdBusInput.Err_Stat, env->linStateSensor.Err_Stat, LIN5_SENSOR_COUNT); @@ -813,62 +815,66 @@ static lin_event_id_t Lin5_Scheduler(tLin5TaskSensor *env) { for (uint8_t i = 0; i < LIN5_SENSOR_COUNT; ++i) { -// if (env->linStateSensor.error_connect[i] == 0) { + if (env->linStateSensor.error_connect[i] == 0) { - ret = Get_DRS_Stat(env->linIo, env->linData, &env->linStateSensor.d_DRS_Stat[i], LIN5_SENSON_ADR_Stat[i]); + ret = Get_DRS_Stat(env->linIo, env->linData, &env->linStateSensor.d_DRS_Stat[i], LIN5_SENSON_ADR_Stat[i]); - uint8_t current_btn_state = env->linStateSensor.d_DRS_Stat[i].DRS_Btn_Stat; + uint8_t current_btn_state = env->linStateSensor.d_DRS_Stat[i].DRS_Btn_Stat; - if (current_btn_state) { - env->linStateSensor.LED_COUNT[i] = 1; - } else { - env->linStateSensor.LED_COUNT[i] = 0; - } + if (current_btn_state) { + env->linStateSensor.LED_COUNT_BTN_0_1[i] = 1; - /* - if ((current_btn_state) && (!env->linStateSensor.prev_btn_state[i])) { +// LoggerFormatInfo(LOGGER, LOG_SIGN5, "PRESS = %d", SystemGetMs()); - env->linStateSensor.LED_COUNT[i] = 1; - } - env->linStateSensor.prev_btn_state[i] = current_btn_state; -*/ + } else { + env->linStateSensor.LED_COUNT_BTN_0_1[i] = 0; + } - env->linStateSensor.LinRespErr_Stat[i] = env->linStateSensor.d_DRS_Stat[i].DRS_LinRespErr_Stat; - env->linStateSensor.Err_Stat[i] = env->linStateSensor.d_DRS_Stat[i].DRS_Err_Stat; + /* + if ((current_btn_state) && (!env->linStateSensor.prev_btn_state[i])) { - if (ret == LIN_RX_COMPLETED) { - env->linStateSensor.error_connect[i] = 0; + env->linStateSensor.LED_COUNT[i] = 1; + + } + env->linStateSensor.prev_btn_state[i] = current_btn_state; + */ + + env->linStateSensor.LinRespErr_Stat[i] = env->linStateSensor.d_DRS_Stat[i].DRS_LinRespErr_Stat; + env->linStateSensor.Err_Stat[i] = env->linStateSensor.d_DRS_Stat[i].DRS_Err_Stat; + + if (ret == LIN_RX_COMPLETED) { + env->linStateSensor.error_connect[i] = 0; #if (LOG_LIN5_SENSOR == 1) - if ((*((uint8_t *) &env->linStateSensor.d_DRS_Stat[i]) != - *((uint8_t *) &env->linStateSensor.d_old_DRS_Stat[i])) || - (env->linStateSensor.LED_COUNT[i] != env->linStateSensor.LED_OLD_COUNT[i])) { + if ((*((uint8_t *) &env->linStateSensor.d_DRS_Stat[i]) != + *((uint8_t *) &env->linStateSensor.d_old_DRS_Stat[i])) || + (env->linStateSensor.LED_COUNT[i] != env->linStateSensor.LED_OLD_COUNT[i])) { - *((uint8_t *) &env->linStateSensor.d_old_DRS_Stat[i]) = *((uint8_t *) &env->linStateSensor.d_DRS_Stat[i]); - env->linStateSensor.LED_OLD_COUNT[i] = env->linStateSensor.LED_COUNT[i]; + *((uint8_t *) &env->linStateSensor.d_old_DRS_Stat[i]) = *((uint8_t *) &env->linStateSensor.d_DRS_Stat[i]); + env->linStateSensor.LED_OLD_COUNT[i] = env->linStateSensor.LED_COUNT[i]; - LoggerFormatInfo(LOGGER, LOG_SIGN5, - "Sensor number %d: COUNT = %d DRS_Btn_Stat = %d DRS_LinRespErr_Stat = %d DRS_Err_Stat = %d", - i, - env->linStateSensor.LED_COUNT[i], - env->linStateSensor.d_DRS_Stat[i].DRS_Btn_Stat, - env->linStateSensor.d_DRS_Stat[i].DRS_LinRespErr_Stat, - env->linStateSensor.d_DRS_Stat[i].DRS_Err_Stat - ) - } + LoggerFormatInfo(LOGGER, LOG_SIGN5, + "Sensor number %d: COUNT = %d DRS_Btn_Stat = %d DRS_LinRespErr_Stat = %d DRS_Err_Stat = %d", + i, + env->linStateSensor.LED_COUNT[i], + env->linStateSensor.d_DRS_Stat[i].DRS_Btn_Stat, + env->linStateSensor.d_DRS_Stat[i].DRS_LinRespErr_Stat, + env->linStateSensor.d_DRS_Stat[i].DRS_Err_Stat + ) + } #endif - } else { - env->linStateSensor.error_connect[i] = 1; + } else { + env->linStateSensor.error_connect[i] = 1; #if (LOG_LIN5_SENSOR == 1) - if (env->linStateSensor.error_connect[i] != env->linStateSensor.error_old_connect[i]) { - env->linStateSensor.error_old_connect[i] = env->linStateSensor.error_connect[i]; - LoggerFormatInfo(LOGGER, LOG_SIGN5, "Sensor number %d: ERROR Get_FPL_Stat = %d", i, ret) - } + if (env->linStateSensor.error_connect[i] != env->linStateSensor.error_old_connect[i]) { + env->linStateSensor.error_old_connect[i] = env->linStateSensor.error_connect[i]; + LoggerFormatInfo(LOGGER, LOG_SIGN5, "Sensor number %d: ERROR Get_FPL_Stat = %d", i, ret) + } #endif - } + } -// } + } } @@ -879,6 +885,8 @@ static lin_event_id_t Lin5_Scheduler(tLin5TaskSensor *env) { if (*((uint32_t *) &env->d_CCU_DRS_Req) != *((uint32_t *) &env->d_old_CCU_DRS_Req)) { +// LoggerFormatInfo(LOGGER, LOG_SIGN5, "PRESS (MODEL) = %d", SystemGetMs()); + SystemDelayMs(40); ret = Set_CCU_DRS_Req(env->linIo, env->linData, &env->d_CCU_DRS_Req); diff --git a/MODULES/HVAC_M7_LIN_TASKS/LinSensorTasks.h b/MODULES/HVAC_M7_LIN_TASKS/LinSensorTasks.h index 89f6ae7..1362792 100644 --- a/MODULES/HVAC_M7_LIN_TASKS/LinSensorTasks.h +++ b/MODULES/HVAC_M7_LIN_TASKS/LinSensorTasks.h @@ -393,9 +393,8 @@ typedef struct { struct { tDRS_Stat d_DRS_Stat[LIN5_SENSOR_COUNT]; tDRS_Stat d_old_DRS_Stat[LIN5_SENSOR_COUNT]; + uint8_t LED_COUNT_BTN_0_1[LIN5_SENSOR_COUNT]; uint8_t LED_COUNT[LIN5_SENSOR_COUNT]; - - uint8_t LED_OLD_COUNT[LIN5_SENSOR_COUNT]; uint8_t error_connect[LIN5_SENSOR_COUNT]; uint8_t error_old_connect[LIN5_SENSOR_COUNT]; diff --git a/MODULES/HVAC_M7_MODEL/HVAC_model.c b/MODULES/HVAC_M7_MODEL/HVAC_model.c index d209b00..f92fdc2 100644 --- a/MODULES/HVAC_M7_MODEL/HVAC_model.c +++ b/MODULES/HVAC_M7_MODEL/HVAC_model.c @@ -3,9 +3,9 @@ * * Code generated for Simulink model 'HVAC_model'. * - * Model version : 1.1545 + * Model version : 1.1548 * Simulink Coder version : 24.1 (R2024a) 19-Nov-2023 - * C/C++ source code generated on : Fri Aug 28 17:49:34 2026 + * C/C++ source code generated on : Mon Sep 14 13:49:13 2026 * * Target selection: ert.tlc * Embedded hardware selection: ARM Compatible->ARM Cortex-M @@ -9640,7 +9640,7 @@ void HVAC_model_step(void) } if (rtDW.is_FRONT_CONTOUR == IN_Front_A_C_OFF) { - /* : sf_internal_predicateOutput = AC_Req_MMS == 1 && pwm_front>= (g_ausMIN_PWM(1)-1) && Error_PressSen == 0 && Error_Eva_F == 0 && Eva_F > 0 && amb_temp>g_assAC_CUT_OFF_AMB_F(1) && Pressure_Condition_table_OK == 1; */ + /* : sf_internal_predicateOutput = AC_Req_MMS == 1 && pwm_front>= (g_ausMIN_PWM(1)-1) && Error_PressSen == 0 && Error_Eva_F == 0 && Eva_F > 0 && amb_temp>g_assAC_CUT_OFF_AMB_F(2) && Pressure_Condition_table_OK == 1; */ rtb_Subtract = g_ausMIN_PWM[0] - 1U; if (g_ausMIN_PWM[0] - 1U > g_ausMIN_PWM[0]) { rtb_Subtract = 0U; @@ -9649,7 +9649,7 @@ void HVAC_model_step(void) if ((rtb_y_he != 0) && ((Gain >= (int32_t)rtb_Subtract) && ((rtDW.CCU_PressSenErr_Stat == 0) && (rtDW.CCU_EvaTempSenErrF_Stat == 0) && (rtDW.Eva_F > 0) && - ((rtDW.AMB > g_assAC_CUT_OFF_AMB_F[0]) && + ((rtDW.AMB > g_assAC_CUT_OFF_AMB_F[1]) && rtDW.Pressure_Condition_table_OK)))) { rtDW.is_FRONT_CONTOUR = IN_Front_A_C_ON; @@ -30578,40 +30578,40 @@ void HVAC_model_step(void) */ rtY.DRS_output[0] = rtDW.DRS_SFL; - /* DataStoreRead: '/Data Store Read88' incorporates: - * Outport: '/DRS_output' - */ - rtY.DRS_output[1] = rtDW.DRS_SFR; - /* DataStoreRead: '/Data Store Read89' incorporates: * Outport: '/DRS_output' */ - rtY.DRS_output[2] = rtDW.DRS_CFL; + rtY.DRS_output[1] = rtDW.DRS_CFL; /* DataStoreRead: '/Data Store Read90' incorporates: * Outport: '/DRS_output' */ - rtY.DRS_output[3] = rtDW.DRS_CFR; + rtY.DRS_output[2] = rtDW.DRS_CFR; - /* DataStoreRead: '/Data Store Read91' incorporates: + /* DataStoreRead: '/Data Store Read88' incorporates: * Outport: '/DRS_output' */ - rtY.DRS_output[4] = rtDW.DRS_CRL; - - /* DataStoreRead: '/Data Store Read92' incorporates: - * Outport: '/DRS_output' - */ - rtY.DRS_output[5] = rtDW.DRS_CRR; + rtY.DRS_output[3] = rtDW.DRS_SFR; /* DataStoreRead: '/Data Store Read93' incorporates: * Outport: '/DRS_output' */ - rtY.DRS_output[6] = rtDW.DRS_SRL; + rtY.DRS_output[4] = rtDW.DRS_SRL; /* DataStoreRead: '/Data Store Read94' incorporates: * Outport: '/DRS_output' */ - rtY.DRS_output[7] = rtDW.DRS_SRR; + rtY.DRS_output[5] = rtDW.DRS_SRR; + + /* DataStoreRead: '/Data Store Read91' incorporates: + * Outport: '/DRS_output' + */ + rtY.DRS_output[6] = rtDW.DRS_CRL; + + /* DataStoreRead: '/Data Store Read92' incorporates: + * Outport: '/DRS_output' + */ + rtY.DRS_output[7] = rtDW.DRS_CRR; /* Chart: '/Synchronization stateflow chart' */ if (rtDW.is_active_c618_HVAC_model == 0U) { diff --git a/MODULES/HVAC_M7_MODEL/HVAC_model.h b/MODULES/HVAC_M7_MODEL/HVAC_model.h index ab5183c..3f9f3d3 100644 --- a/MODULES/HVAC_M7_MODEL/HVAC_model.h +++ b/MODULES/HVAC_M7_MODEL/HVAC_model.h @@ -3,9 +3,9 @@ * * Code generated for Simulink model 'HVAC_model'. * - * Model version : 1.1545 + * Model version : 1.1548 * Simulink Coder version : 24.1 (R2024a) 19-Nov-2023 - * C/C++ source code generated on : Fri Aug 28 17:49:34 2026 + * C/C++ source code generated on : Mon Sep 14 13:49:13 2026 * * Target selection: ert.tlc * Embedded hardware selection: ARM Compatible->ARM Cortex-M diff --git a/MODULES/HVAC_M7_MODEL/HVAC_model_data.c b/MODULES/HVAC_M7_MODEL/HVAC_model_data.c index a8908a8..b0e8626 100644 --- a/MODULES/HVAC_M7_MODEL/HVAC_model_data.c +++ b/MODULES/HVAC_M7_MODEL/HVAC_model_data.c @@ -3,9 +3,9 @@ * * Code generated for Simulink model 'HVAC_model'. * - * Model version : 1.1545 + * Model version : 1.1548 * Simulink Coder version : 24.1 (R2024a) 19-Nov-2023 - * C/C++ source code generated on : Fri Aug 28 17:49:34 2026 + * C/C++ source code generated on : Mon Sep 14 13:49:13 2026 * * Target selection: ert.tlc * Embedded hardware selection: ARM Compatible->ARM Cortex-M diff --git a/MODULES/HVAC_M7_MODEL/HVAC_model_private.h b/MODULES/HVAC_M7_MODEL/HVAC_model_private.h index 984d448..e8d155d 100644 --- a/MODULES/HVAC_M7_MODEL/HVAC_model_private.h +++ b/MODULES/HVAC_M7_MODEL/HVAC_model_private.h @@ -3,9 +3,9 @@ * * Code generated for Simulink model 'HVAC_model'. * - * Model version : 1.1545 + * Model version : 1.1548 * Simulink Coder version : 24.1 (R2024a) 19-Nov-2023 - * C/C++ source code generated on : Fri Aug 28 17:49:34 2026 + * C/C++ source code generated on : Mon Sep 14 13:49:13 2026 * * Target selection: ert.tlc * Embedded hardware selection: ARM Compatible->ARM Cortex-M diff --git a/MODULES/HVAC_M7_MODEL/HVAC_model_types.h b/MODULES/HVAC_M7_MODEL/HVAC_model_types.h index c30cc45..6c9f775 100644 --- a/MODULES/HVAC_M7_MODEL/HVAC_model_types.h +++ b/MODULES/HVAC_M7_MODEL/HVAC_model_types.h @@ -3,9 +3,9 @@ * * Code generated for Simulink model 'HVAC_model'. * - * Model version : 1.1545 + * Model version : 1.1548 * Simulink Coder version : 24.1 (R2024a) 19-Nov-2023 - * C/C++ source code generated on : Fri Aug 28 17:49:34 2026 + * C/C++ source code generated on : Mon Sep 14 13:49:13 2026 * * Target selection: ert.tlc * Embedded hardware selection: ARM Compatible->ARM Cortex-M diff --git a/MODULES/HVAC_M7_StatusData/DiagnosticTask.h b/MODULES/HVAC_M7_StatusData/DiagnosticTask.h index 88168d7..a490e64 100644 --- a/MODULES/HVAC_M7_StatusData/DiagnosticTask.h +++ b/MODULES/HVAC_M7_StatusData/DiagnosticTask.h @@ -11,7 +11,7 @@ #include "CanSpamReceiver.h" #include "lfs.h" -#define LOG_DTC 1 +#define LOG_DTC 0 #define DTC_TEST_FAILED 1 #define DTC_TEST_CONFIRMED 8