


/*
* File: pro2mbd.c
*
* Code generated for Simulink model 'pro2mbd'.
*
* Model version : 1.1
* Simulink Coder version : 9.5 (R2021a) 14-Nov-2020
* C/C++ source code generated on : Fri Jul 14 20:58:34 2023
*
* Target selection: autosar.tlc
* Embedded hardware selection: Intel->x86-64 (Windows64)
* Code generation objectives: Unspecified
* Validation result: Not run
*/
#include "pro2mbd.h"
#include "pro2mbd_private.h"
/* Named constants for Chart: '<S3>/Chart' */
#define pro2mbd_IN_Condition1 ((uint8)1U)
#define pro2mbd_IN_Condition2 ((uint8)2U)
/* Named constants for Chart: '<S4>/Chart' */
#define pro2mbd_IN_Condotion1 ((uint8)1U)
#define pro2mbd_IN_Condotion2 ((uint8)2U)
/* Block states (default storage) */
DW_pro2mbd_T pro2mbd_DW;
/* Model step function */
void pro2mbd_step_1(void)
{
sint32 rtb_Highway_Display_Mode_1;
sint32 rtb_Highway_Display_Mode_3;
sint32 rtb_Lane_Display_Mode_1;
sint32 rtb_Lane_Display_Mode_2;
sint32 rtb_Lane_Display_Mode_3;
sint32 rtb_Lane_Display_Mode_4;
sint32 tmp_0;
uint8 tmp;
/* Chart: '<S3>/Chart' incorporates:
* Inport: '<Root>/Enable_Display'
* Inport: '<Root>/Highway_Input_Signal'
* Inport: '<Root>/Input_Switch'
*/
if (pro2mbd_DW.is_active_c3_pro2mbd == 0U) {
pro2mbd_DW.is_active_c3_pro2mbd = 1U;
pro2mbd_DW.is_c3_pro2mbd = pro2mbd_IN_Condition1;
rtb_Highway_Display_Mode_1 = 232;
rtb_Highway_Display_Mode_3 = 41;
} else if (pro2mbd_DW.is_c3_pro2mbd == pro2mbd_IN_Condition1) {
rtb_Highway_Display_Mode_1 = 232;
rtb_Highway_Display_Mode_3 = 41;
if ((Rte_IRead_pro2mbd_step_1_Highway_Input_Signal_Highway_Input_Signal() ==
1) && (Rte_IRead_pro2mbd_step_1_Enable_Display_Enable_Display() == 1) &&
(Rte_IRead_pro2mbd_step_1_Input_Switch_Input_Switch() == 1)) {
pro2mbd_DW.is_c3_pro2mbd = pro2mbd_IN_Condition2;
rtb_Highway_Display_Mode_1 = 213;
rtb_Highway_Display_Mode_3 = 9;
}
} else {
/* case IN_Condition2: */
rtb_Highway_Display_Mode_1 = 213;
rtb_Highway_Display_Mode_3 = 9;
if ((Rte_IRead_pro2mbd_step_1_Highway_Input_Signal_Highway_Input_Signal() ==
1) && (Rte_IRead_pro2mbd_step_1_Enable_Display_Enable_Display() == 0) &&
(Rte_IRead_pro2mbd_step_1_Input_Switch_Input_Switch() == 1)) {
pro2mbd_DW.is_c3_pro2mbd = pro2mbd_IN_Condition1;
rtb_Highway_Display_Mode_1 = 232;
rtb_Highway_Display_Mode_3 = 41;
}
}
/* End of Chart: '<S3>/Chart' */
/* Chart: '<S4>/Chart' incorporates:
* Inport: '<Root>/Enable_Display'
* Inport: '<Root>/Input_Switch'
* Inport: '<Root>/Lane_Input_Signal'
*/
if (pro2mbd_DW.is_active_c1_pro2mbd == 0U) {
pro2mbd_DW.is_active_c1_pro2mbd = 1U;
pro2mbd_DW.is_c1_pro2mbd = pro2mbd_IN_Condotion1;
rtb_Lane_Display_Mode_1 = 132;
rtb_Lane_Display_Mode_2 = 185;
rtb_Lane_Display_Mode_3 = 54;
rtb_Lane_Display_Mode_4 = 67;
} else if (pro2mbd_DW.is_c1_pro2mbd == pro2mbd_IN_Condotion1) {
rtb_Lane_Display_Mode_1 = 132;
rtb_Lane_Display_Mode_2 = 185;
rtb_Lane_Display_Mode_3 = 54;
rtb_Lane_Display_Mode_4 = 67;
if ((Rte_IRead_pro2mbd_step_1_Lane_Input_Signal_Lane_Input_Signal() == 6) &&
(Rte_IRead_pro2mbd_step_1_Enable_Display_Enable_Display() == 1) &&
(Rte_IRead_pro2mbd_step_1_Input_Switch_Input_Switch() == 1)) {
pro2mbd_DW.is_c1_pro2mbd = pro2mbd_IN_Condotion2;
rtb_Lane_Display_Mode_1 = 127;
rtb_Lane_Display_Mode_2 = 248;
rtb_Lane_Display_Mode_3 = 186;
rtb_Lane_Display_Mode_4 = 84;
}
} else {
/* case IN_Condotion2: */
rtb_Lane_Display_Mode_1 = 127;
rtb_Lane_Display_Mode_2 = 248;
rtb_Lane_Display_Mode_3 = 186;
rtb_Lane_Display_Mode_4 = 84;
if ((Rte_IRead_pro2mbd_step_1_Lane_Input_Signal_Lane_Input_Signal() == 6) &&
(Rte_IRead_pro2mbd_step_1_Enable_Display_Enable_Display() == 0) &&
(Rte_IRead_pro2mbd_step_1_Input_Switch_Input_Switch() == 1)) {
pro2mbd_DW.is_c1_pro2mbd = pro2mbd_IN_Condotion1;
rtb_Lane_Display_Mode_1 = 132;
rtb_Lane_Display_Mode_2 = 185;
rtb_Lane_Display_Mode_3 = 54;
rtb_Lane_Display_Mode_4 = 67;
}
}
/* End of Chart: '<S4>/Chart' */
/* Switch: '<S2>/Switch' incorporates:
* Inport: '<Root>/Highway_Input_Signal'
* Switch: '<S2>/Switch1'
* Switch: '<S2>/Switch2'
* Switch: '<S2>/Switch3'
*/
tmp_0 = Rte_IRead_pro2mbd_step_1_Highway_Input_Signal_Highway_Input_Signal();
if (tmp_0 > 0) {
tmp = (uint8)rtb_Highway_Display_Mode_1;
} else {
tmp = (uint8)rtb_Lane_Display_Mode_1;
}
/* End of Switch: '<S2>/Switch' */
/* Outport: '<Root>/Highway_Display_Mode_1' */
Rte_IWrite_pro2mbd_step_1_Highway_Display_Mode_1_Highway_Display_Mode_1(tmp);
/* Switch: '<S2>/Switch1' */
if (tmp_0 > 0) {
tmp = 183U;
} else {
tmp = (uint8)rtb_Lane_Display_Mode_2;
}
/* Outport: '<Root>/Highway_Display_Mode_2' */
Rte_IWrite_pro2mbd_step_1_Highway_Display_Mode_2_Highway_Display_Mode_2(tmp);
/* Switch: '<S2>/Switch2' */
if (tmp_0 > 0) {
tmp = (uint8)rtb_Highway_Display_Mode_3;
} else {
tmp = (uint8)rtb_Lane_Display_Mode_3;
}
/* Outport: '<Root>/Highway_Display_Mode_3' */
Rte_IWrite_pro2mbd_step_1_Highway_Display_Mode_3_Highway_Display_Mode_3(tmp);
/* Switch: '<S2>/Switch3' */
if (tmp_0 > 0) {
tmp = 94U;
} else {
tmp = (uint8)rtb_Lane_Display_Mode_4;
}
/* Outport: '<Root>/Highway_Display_Mode_4' */
Rte_IWrite_pro2mbd_step_1_Highway_Display_Mode_4_Highway_Display_Mode_4(tmp);
}
/* Model initialize function */
void pro2mbd_Init(void)
{
/* (no initialization code required) */
}
/*
* File trailer for generated code.
*
* [EOF]
*/