Challenge

Project 1- Traffic Jam Assistant Feature

First Create SLDD:-

Then Create Requirement1:-

Then create Requirement2:-

Model Generated as per requirements:-

Requirement Tagging:-

Parameter Configuration:-

MABB Check:-

Code Generation:-

Generated Code:-

/*
 
 
* Event Support License -- for demonstration use and event support. Not
 
 
* for government, research, commercial, or other organizational use.
 
 
*
 
 
* File: Traffic_Jam_Assistant_Feature0.c
 
 
*
 
 
* Code generated for Simulink model 'Traffic_Jam_Assistant_Feature0'.
 
 
*
 
 
* Model version : 1.16
 
 
* Simulink Coder version : 9.9 (R2023a) 19-Nov-2022
 
 
* C/C++ source code generated on : Thu Jul 20 20:13:46 2023
 
 
*
 
 
* Target selection: ert.tlc
 
 
* Embedded hardware selection: Intel->x86-64 (Windows64)
 
 
* Code generation objectives: Unspecified
 
 
* Validation result: Not run
 
 
*/
 
 
 
 
 
#include "Traffic_Jam_Assistant_Feature0.h"
 
 
#include "rtwtypes.h"
 
 
 
 
 
/* External inputs (root inport signals with default storage) */
 
 
ExtU_Traffic_Jam_Assistant_Fe_T Traffic_Jam_Assistant_Feature_U;
 
 
 
 
 
/* External outputs (root outports fed by signals with default storage) */
 
 
ExtY_Traffic_Jam_Assistant_Fe_T Traffic_Jam_Assistant_Feature_Y;
 
 
 
 
 
/* Real-time model */
 
 
static RT_MODEL_Traffic_Jam_Assistan_T Traffic_Jam_Assistant_Featur_M_;
 
 
RT_MODEL_Traffic_Jam_Assistan_T *const Traffic_Jam_Assistant_Featur_M =
 
 
&Traffic_Jam_Assistant_Featur_M_;
 
 
 
 
 
/* Model step function */
 
 
void Traffic_Jam_Assistant_Feature0_step(void)
 
 
{
 
 
uint8_T tmp;
 
 
 
 
 
/* Switch: '/Switch' incorporates:
 
 
* Inport: '/Input_Switch'
 
 
* Logic: '/AND'
 
 
* Logic: '/NOT'
 
 
*/
 
 
if ((!Traffic_Jam_Assistant_Feature_U.Input_Switch) &&
 
 
Traffic_Jam_Assistant_Fe_ConstB.RelationalOperator) {
 
 
/* Saturate: '/Saturation' incorporates:
 
 
* Inport: '/Enable_Display'
 
 
*/
 
 
if (Traffic_Jam_Assistant_Feature_U.Enable_Display <= 7) {
 
 
tmp = Traffic_Jam_Assistant_Feature_U.Enable_Display;
 
 
} else {
 
 
tmp = 7U;
 
 
}
 
 
 
 
 
/* MultiPortSwitch: '/Multiport ' incorporates:
 
 
* Saturate: '/Saturation'
 
 
*/
 
 
switch (tmp) {
 
 
case 0:
 
 
/* Outport: '/Output_Display' incorporates:
 
 
* Constant: '/ON_MODE'
 
 
*/
 
 
Traffic_Jam_Assistant_Feature_Y.Output_Display = 1U;
 
 
break;
 
 
 
 
 
case 1:
 
 
/* Outport: '/Output_Display' incorporates:
 
 
* Constant: '/ON_MODE'
 
 
*/
 
 
Traffic_Jam_Assistant_Feature_Y.Output_Display = 1U;
 
 
break;
 
 
 
 
 
case 2:
 
 
/* Outport: '/Output_Display' incorporates:
 
 
* Constant: '/OFF_MODE'
 
 
*/
 
 
Traffic_Jam_Assistant_Feature_Y.Output_Display = 2U;
 
 
break;
 
 
 
 
 
case 3:
 
 
/* Outport: '/Output_Display' incorporates:
 
 
* Constant: '/OFF_MODE'
 
 
*/
 
 
Traffic_Jam_Assistant_Feature_Y.Output_Display = 2U;
 
 
break;
 
 
 
 
 
default:
 
 
/* Outport: '/Output_Display' incorporates:
 
 
* Constant: '/STANDBY_MODE'
 
 
*/
 
 
Traffic_Jam_Assistant_Feature_Y.Output_Display = 3U;
 
 
break;
 
 
}
 
 
 
 
 
/* End of MultiPortSwitch: '/Multiport ' */
 
 
} else {
 
 
/* Outport: '/Output_Display' incorporates:
 
 
* Constant: '/NO_DISPLAY'
 
 
*/
 
 
Traffic_Jam_Assistant_Feature_Y.Output_Display = 0U;
 
 
}
 
 
 
 
 
/* End of Switch: '/Switch' */
 
 
}
 
 
 
 
 
/* Model initialize function */
 
 
void Traffic_Jam_Assistant_Feature0_initialize(void)
 
 
{
 
 
/* (no initialization code required) */
 
 
}
 
 
 
 
 
/* Model terminate function */
 
 
void Traffic_Jam_Assistant_Feature0_terminate(void)
 
 
{
 
 
/* (no terminate code required) */
 
 
}
 
 
 
 
 
/*
 
 
* File trailer for generated code.
 
 
*
 
 
* [EOF]
 
 
*/
 
 
 
Your portfolio, next

Ship work like this
in your own course.

Talk to a career counsellor

Free 20-minute call. We'll map the right course to where you want to work.

By submitting you agree to our Terms and Privacy Policy.