Project 2-Highway Assistant-Lane Changing Assistant



REQUIRMENT1:


REQUIRMENT 2:


REQUIRMENT 3:









/*
* File: Lane_Change_Assistance.c
*
* Code generated for Simulink model 'Lane_Change_Assistance'.
*
* Model version : 1.9
* Simulink Coder version : 9.6 (R2021b) 14-May-2021
* C/C++ source code generated on : Fri Jun 17 17:52:42 2022
*
* Target selection: autosar.tlc
* Embedded hardware selection: Intel->x86-64 (Windows64)
* Code generation objectives:
* 1. Execution efficiency
* 2. RAM efficiency
* Validation result: Not run
*/
#include "Lane_Change_Assistance.h"
/* Named constants for Chart: '<S3>/Chart' */
#define IN_Condition_1 ((uint8)1U)
#define IN_Condition_2 ((uint8)2U)
/* Block signals and states (default storage) */
DW rtDW;
/* Model step function */
void Lane_Change_Assistance_Step(void)
{
sint32 tmp;
uint8 rtb_Highway_Display_Mode_1;
uint8 rtb_Highway_Display_Mode_3;
uint8 rtb_Lane_Display_Mode_1;
uint8 rtb_Lane_Display_Mode_2;
uint8 rtb_Lane_Display_Mode_3;
uint8 rtb_Lane_Display_Mode_4;
/* Chart: '<S3>/Chart' incorporates:
* Inport: '<Root>/Enable_Display'
* Inport: '<Root>/Highway_Input_Signal'
* Inport: '<Root>/Input_Switch'
*/
if (rtDW.is_active_c3_Lane_Change_Assist == 0U) {
rtDW.is_active_c3_Lane_Change_Assist = 1U;
rtDW.is_c3_Lane_Change_Assistance = IN_Condition_1;
rtb_Highway_Display_Mode_1 = 232U;
rtb_Highway_Display_Mode_3 = 41U;
} else if (rtDW.is_c3_Lane_Change_Assistance == IN_Condition_1) {
rtb_Highway_Display_Mode_1 = 232U;
rtb_Highway_Display_Mode_3 = 41U;
if ((Rte_IRead_Lane_Change_Assistance_Step_Rp_Highway_Input_Signal_DE_Highway_Input_Signal
() == 1) &&
(Rte_IRead_Lane_Change_Assistance_Step_Rp_Enable_Display_DE_Enable_Display
() == 1) &&
(Rte_IRead_Lane_Change_Assistance_Step_Rp_Input_Switch_DE_Input_Switch()
== 1)) {
rtDW.is_c3_Lane_Change_Assistance = IN_Condition_2;
rtb_Highway_Display_Mode_1 = 213U;
rtb_Highway_Display_Mode_3 = 9U;
}
} else {
/* case IN_Condition_2: */
rtb_Highway_Display_Mode_1 = 213U;
rtb_Highway_Display_Mode_3 = 9U;
if ((Rte_IRead_Lane_Change_Assistance_Step_Rp_Highway_Input_Signal_DE_Highway_Input_Signal
() == 1) &&
(Rte_IRead_Lane_Change_Assistance_Step_Rp_Enable_Display_DE_Enable_Display
() == 0) &&
(Rte_IRead_Lane_Change_Assistance_Step_Rp_Input_Switch_DE_Input_Switch()
== 1)) {
rtDW.is_c3_Lane_Change_Assistance = IN_Condition_1;
rtb_Highway_Display_Mode_1 = 232U;
rtb_Highway_Display_Mode_3 = 41U;
}
}
/* End of Chart: '<S3>/Chart' */
/* Chart: '<S4>/Chart' incorporates:
* Inport: '<Root>/Enable_Display'
* Inport: '<Root>/Input_Switch'
* Inport: '<Root>/Lane_Input_signal'
*/
if (rtDW.is_active_c1_Lane_Change_Assist == 0U) {
rtDW.is_active_c1_Lane_Change_Assist = 1U;
rtDW.is_c1_Lane_Change_Assistance = IN_Condition_1;
rtb_Lane_Display_Mode_1 = 132U;
rtb_Lane_Display_Mode_2 = 185U;
rtb_Lane_Display_Mode_3 = 54U;
rtb_Lane_Display_Mode_4 = 67U;
} else if (rtDW.is_c1_Lane_Change_Assistance == IN_Condition_1) {
rtb_Lane_Display_Mode_1 = 132U;
rtb_Lane_Display_Mode_2 = 185U;
rtb_Lane_Display_Mode_3 = 54U;
rtb_Lane_Display_Mode_4 = 67U;
if ((Rte_IRead_Lane_Change_Assistance_Step_Rp_Lane_Input_signal_DE_Lane_Input_signal
() == 6) &&
(Rte_IRead_Lane_Change_Assistance_Step_Rp_Enable_Display_DE_Enable_Display
() == 0) &&
(Rte_IRead_Lane_Change_Assistance_Step_Rp_Input_Switch_DE_Input_Switch()
== 1)) {
rtDW.is_c1_Lane_Change_Assistance = IN_Condition_2;
rtb_Lane_Display_Mode_1 = 127U;
rtb_Lane_Display_Mode_2 = 248U;
rtb_Lane_Display_Mode_3 = 186U;
rtb_Lane_Display_Mode_4 = 84U;
}
} else {
/* case IN_Condition_2: */
rtb_Lane_Display_Mode_1 = 127U;
rtb_Lane_Display_Mode_2 = 248U;
rtb_Lane_Display_Mode_3 = 186U;
rtb_Lane_Display_Mode_4 = 84U;
if ((Rte_IRead_Lane_Change_Assistance_Step_Rp_Lane_Input_signal_DE_Lane_Input_signal
() == 6) &&
(Rte_IRead_Lane_Change_Assistance_Step_Rp_Enable_Display_DE_Enable_Display
() == 1) &&
(Rte_IRead_Lane_Change_Assistance_Step_Rp_Input_Switch_DE_Input_Switch()
== 1)) {
rtDW.is_c1_Lane_Change_Assistance = IN_Condition_1;
rtb_Lane_Display_Mode_1 = 132U;
rtb_Lane_Display_Mode_2 = 185U;
rtb_Lane_Display_Mode_3 = 54U;
rtb_Lane_Display_Mode_4 = 67U;
}
}
/* End of Chart: '<S4>/Chart' */
/* Switch: '<S2>/Switch' incorporates:
* Inport: '<Root>/Highway_Input_Signal'
* Switch: '<S2>/Switch1'
* Switch: '<S2>/Switch4'
*/
tmp =
Rte_IRead_Lane_Change_Assistance_Step_Rp_Highway_Input_Signal_DE_Highway_Input_Signal
();
if (tmp != 0) {
/* Outport: '<Root>/Display_Mode_1' */
Rte_IWrite_Lane_Change_Assistance_Step_Pp_Display_Mode_1_DE_Display_Mode_1
(rtb_Highway_Display_Mode_1);
rtb_Lane_Display_Mode_2 = 183U;
} else {
/* Outport: '<Root>/Display_Mode_1' */
Rte_IWrite_Lane_Change_Assistance_Step_Pp_Display_Mode_1_DE_Display_Mode_1
(rtb_Lane_Display_Mode_1);
}
/* End of Switch: '<S2>/Switch' */
/* Outport: '<Root>/Display_Mode_2' */
Rte_IWrite_Lane_Change_Assistance_Step_Pp_Display_Mode_2_DE_Display_Mode_2
(rtb_Lane_Display_Mode_2);
/* Switch: '<S2>/Switch1' incorporates:
* Switch: '<S2>/Switch2'
*/
if (tmp != 0) {
/* Outport: '<Root>/Display_Mode_3' */
Rte_IWrite_Lane_Change_Assistance_Step_Pp_Display_Mode_3_DE_Display_Mode_3
(rtb_Highway_Display_Mode_3);
rtb_Lane_Display_Mode_4 = 94U;
} else {
/* Outport: '<Root>/Display_Mode_3' */
Rte_IWrite_Lane_Change_Assistance_Step_Pp_Display_Mode_3_DE_Display_Mode_3
(rtb_Lane_Display_Mode_3);
}
/* Outport: '<Root>/Display_Mode_4' */
Rte_IWrite_Lane_Change_Assistance_Step_Pp_Display_Mode_4_DE_Display_Mode_4
(rtb_Lane_Display_Mode_4);
}
/* Model initialize function */
void Lane_Change_Assistance_Init(void)
{
/* (no initialization code required) */
}
/*
* File trailer for generated code.
*
* [EOF]
*/