Project 2-Highway Assistant-Lane Changing Assistant
More and more driver assistance systems are increasingly being fitted with radar sensors for driver assistance. One advantage of this technology is that radar sensors can achieve a precise measurement result regardless of the weather. For the main part, people associate the word "radar" with aviation or shipping. These systems have long become established and proven themselves in such applications. "Radar" is the abbreviation for Radio Detection and Ranging.
Put simply, a radar unit transmits focused electromagnetic waves, known as primary signals, at the speed of light. When these waves encounter an object, they are reflected as echoes (secondary signals) and received and evaluated by the system. Direction, distance and speed can then be determined in the system's evaluation electronics.
SLDD is as shown below

Requriment 1

Inside View as shown below

The chart is shown below with the requirement as given by Skill Lync

Configuration of the first requirement

Requriment 2

Inside view of requirement 2

The chart is given below as given By Skill Lync

Configuration od requriment 2

Requriment 3

Configuration of XML file for Autosar file

Receiver port

Sender Port

SR configuration

Within SR configuration

Within Input

Within Output

Model Advisor without Changes

Model advisor after changes

Code with Autosar
/*
* File: Highway_Lane_Assist.c
*
* Code generated for Simulink model 'Highway_Lane_Assist'.
*
* Model version : 1.8
* Simulink Coder version : 9.3 (R2022a) 04-Oct-2022
* C/C++ source code generated on : Thu Sep 04 19:33:33 2022
*
* Target selection: autosar.tlc
* Embedded hardware selection: Intel->x86-64 (Windows64)
* Code generation objectives: Unspecified
* Validation result: Not run
*/
#include "Highway_Lane_Assist.h"
#include "Highway_Lane_Assist_private.h"
/* Named constants for Chart: '/Highway_Display_Mode_Logic' */
#define Highway_Lane_Ass_IN_Condition_1 ((uint8)1U)
#define Highway_Lane_Ass_IN_Condition_2 ((uint8)2U)
/* Named constants for Chart: '/Chart' */
#define Highway_Lane_Assist_IN_Mode_1 ((uint8)1U)
#define Highway_Lane_Assist_IN_Mode_2 ((uint8)2U)
/* Block states (default storage) */
DW_Highway_Lane_Assist_T Highway_Lane_Assist_DW;
/* Model step function */
void Highway_Lane_Assist_Step(void)
{
sint32 rtb_Highway_Display_Mode_1;
sint32 rtb_Lane_Display_Mode_1;
sint32 rtb_Lane_Display_Mode_2;
sint32 rtb_Highway_Display_Mode_3;
sint32 rtb_Lane_Display_Mode_3;
sint32 rtb_Lane_Display_Mode_4;
float64 tmp;
/* Chart: '/Highway_Display_Mode_Logic' incorporates:
* Inport: '/Enable_Display'
* Inport: '/Highway_Input_Signal'
* Inport: '/Input_Switch'
*/
if (Highway_Lane_Assist_DW.is_active_c3_Highway_Lane_Assis == 0U) {
Highway_Lane_Assist_DW.is_active_c3_Highway_Lane_Assis = 1U;
Highway_Lane_Assist_DW.is_c3_Highway_Lane_Assist =
Highway_Lane_Ass_IN_Condition_1;
rtb_Highway_Display_Mode_1 = 232;
rtb_Highway_Display_Mode_3 = 41;
} else if (Highway_Lane_Assist_DW.is_c3_Highway_Lane_Assist ==
Highway_Lane_Ass_IN_Condition_1) {
if ((Rte_IRead_Highway_Lane_Assist_Step_Rp_Highway_Input_Signal_DE_Highway_Input_Signal
() == 1.0) &&
(Rte_IRead_Highway_Lane_Assist_Step_Rp_Enable_Display_Enable_Display() ==
1.0) &&
(Rte_IRead_Highway_Lane_Assist_Step_Rp_Input_Switch_Input_Switch() ==
1.0)) {
Highway_Lane_Assist_DW.is_c3_Highway_Lane_Assist =
Highway_Lane_Ass_IN_Condition_2;
rtb_Highway_Display_Mode_1 = 213;
rtb_Highway_Display_Mode_3 = 9;
} else {
rtb_Highway_Display_Mode_1 = 232;
rtb_Highway_Display_Mode_3 = 41;
}
} else {
/* case IN_Condition_2: */
if ((Rte_IRead_Highway_Lane_Assist_Step_Rp_Highway_Input_Signal_DE_Highway_Input_Signal
() == 1.0) &&
(Rte_IRead_Highway_Lane_Assist_Step_Rp_Enable_Display_Enable_Display() ==
0.0) &&
(Rte_IRead_Highway_Lane_Assist_Step_Rp_Input_Switch_Input_Switch() ==
1.0)) {
Highway_Lane_Assist_DW.is_c3_Highway_Lane_Assist =
Highway_Lane_Ass_IN_Condition_1;
rtb_Highway_Display_Mode_1 = 232;
rtb_Highway_Display_Mode_3 = 41;
} else {
rtb_Highway_Display_Mode_1 = 213;
rtb_Highway_Display_Mode_3 = 9;
}
}
/* End of Chart: '/Highway_Display_Mode_Logic' */
/* Chart: '/Chart' incorporates:
* Inport: '/Enable_Display'
* Inport: '/Input_Switch'
* Inport: '/Lane_Input_Signal'
*/
if (Highway_Lane_Assist_DW.is_active_c1_Highway_Lane_Assis == 0U) {
Highway_Lane_Assist_DW.is_active_c1_Highway_Lane_Assis = 1U;
Highway_Lane_Assist_DW.is_c1_Highway_Lane_Assist =
Highway_Lane_Assist_IN_Mode_1;
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 (Highway_Lane_Assist_DW.is_c1_Highway_Lane_Assist ==
Highway_Lane_Assist_IN_Mode_1) {
if ((Rte_IRead_Highway_Lane_Assist_Step_Rp_Lane_Input_Signal_Lane_Input_Signal
() == 6.0) &&
(Rte_IRead_Highway_Lane_Assist_Step_Rp_Enable_Display_Enable_Display() ==
1.0) &&
(Rte_IRead_Highway_Lane_Assist_Step_Rp_Input_Switch_Input_Switch() ==
1.0)) {
Highway_Lane_Assist_DW.is_c1_Highway_Lane_Assist =
Highway_Lane_Assist_IN_Mode_2;
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 {
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 {
/* case IN_Mode_2: */
if ((Rte_IRead_Highway_Lane_Assist_Step_Rp_Lane_Input_Signal_Lane_Input_Signal
() == 6.0) &&
(Rte_IRead_Highway_Lane_Assist_Step_Rp_Enable_Display_Enable_Display() ==
0.0) &&
(Rte_IRead_Highway_Lane_Assist_Step_Rp_Input_Switch_Input_Switch() ==
1.0)) {
Highway_Lane_Assist_DW.is_c1_Highway_Lane_Assist =
Highway_Lane_Assist_IN_Mode_1;
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 {
rtb_Lane_Display_Mode_1 = 127;
rtb_Lane_Display_Mode_2 = 248;
rtb_Lane_Display_Mode_3 = 186;
rtb_Lane_Display_Mode_4 = 84;
}
}
/* End of Chart: '/Chart' */
/* Switch: '/Switch' incorporates:
* Inport: '/Highway_Input_Signal'
* Switch: '/Switch1'
* Switch: '/Switch2'
*/
tmp =
Rte_IRead_Highway_Lane_Assist_Step_Rp_Highway_Input_Signal_DE_Highway_Input_Signal
();
if (tmp != 0.0) {
/* Outport: '/Display_Mode_1' */
Rte_IWrite_Highway_Lane_Assist_Step_Pp_Display_Mode_1_Display_Mode_1
(rtb_Highway_Display_Mode_1);
rtb_Lane_Display_Mode_2 = 183;
} else {
/* Outport: '/Display_Mode_1' */
Rte_IWrite_Highway_Lane_Assist_Step_Pp_Display_Mode_1_Display_Mode_1
(rtb_Lane_Display_Mode_1);
}
/* End of Switch: '/Switch' */
/* Outport: '/Display_Mode_2' */
Rte_IWrite_Highway_Lane_Assist_Step_Pp_Display_Mode_2_Display_Mode_2
(rtb_Lane_Display_Mode_2);
/* Switch: '/Switch2' incorporates:
* Switch: '/Switch3'
*/
if (tmp != 0.0) {
/* Outport: '/Display_Mode_3' */
Rte_IWrite_Highway_Lane_Assist_Step_Pp_Display_Mode_3_Display_Mode_3
(rtb_Highway_Display_Mode_3);
rtb_Lane_Display_Mode_4 = 94;
} else {
/* Outport: '/Display_Mode_3' */
Rte_IWrite_Highway_Lane_Assist_Step_Pp_Display_Mode_3_Display_Mode_3
(rtb_Lane_Display_Mode_3);
}
/* Outport: '/Display_Mode_4' */
Rte_IWrite_Highway_Lane_Assist_Step_Pp_Display_Mode_4_Display_Mode_4
(rtb_Lane_Display_Mode_4);
}
/* Model initialize function */
void Highway_Lane_Assist_Init(void)
{
/* (no initialization code required) */
}
/*
* File trailer for generated code.
*
* [EOF]
*/
Result:-Here we had models the model with autostart Comments and this model will comply with the autostart Rules then
this will be coming in the application layer and then it will comply with all of the rules of autosar.