Slave controller for AEB and QA item

Committer:
AndreaAndreoli
Date:
Mon Jul 11 10:15:51 2016 +0000
Revision:
1:370626c9b451
Parent:
0:88fb7562377b
bug fixed;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AndreaAndreoli 0:88fb7562377b 1 /*
AndreaAndreoli 0:88fb7562377b 2 * Academic License - for use in teaching, academic research, and meeting
AndreaAndreoli 0:88fb7562377b 3 * course requirements at degree granting institutions only. Not for
AndreaAndreoli 0:88fb7562377b 4 * government, commercial, or other organizational use.
AndreaAndreoli 0:88fb7562377b 5 *
AndreaAndreoli 0:88fb7562377b 6 * File: Controller_Slave.c
AndreaAndreoli 0:88fb7562377b 7 *
AndreaAndreoli 0:88fb7562377b 8 * Code generated for Simulink model 'Controller_Slave'.
AndreaAndreoli 0:88fb7562377b 9 *
AndreaAndreoli 1:370626c9b451 10 * Model version : 1.7
AndreaAndreoli 0:88fb7562377b 11 * Simulink Coder version : 8.10 (R2016a) 10-Feb-2016
AndreaAndreoli 1:370626c9b451 12 * C/C++ source code generated on : Sun Jul 10 15:19:51 2016
AndreaAndreoli 0:88fb7562377b 13 *
AndreaAndreoli 0:88fb7562377b 14 * Target selection: ert.tlc
AndreaAndreoli 1:370626c9b451 15 * Embedded hardware selection: ARM Compatible->ARM Cortex
AndreaAndreoli 0:88fb7562377b 16 * Code generation objectives: Unspecified
AndreaAndreoli 0:88fb7562377b 17 * Validation result: Not run
AndreaAndreoli 0:88fb7562377b 18 */
AndreaAndreoli 0:88fb7562377b 19
AndreaAndreoli 0:88fb7562377b 20 #include "Controller_Slave.h"
AndreaAndreoli 0:88fb7562377b 21
AndreaAndreoli 0:88fb7562377b 22 /* Named constants for Chart: '<S1>/AEB_QA' */
AndreaAndreoli 0:88fb7562377b 23 #define Controller_S_IN_NO_ACTIVE_CHILD ((uint8_T)0U)
AndreaAndreoli 0:88fb7562377b 24 #define Controller_Slave_IN_ACCELERATE ((uint8_T)1U)
AndreaAndreoli 0:88fb7562377b 25 #define Controller_Slave_IN_AEB_ACTIVE ((uint8_T)1U)
AndreaAndreoli 1:370626c9b451 26 #define Controller_Slave_IN_BRAKE ((uint8_T)1U)
AndreaAndreoli 1:370626c9b451 27 #define Controller_Slave_IN_BRAKE_i ((uint8_T)2U)
AndreaAndreoli 0:88fb7562377b 28 #define Controller_Slave_IN_ERR ((uint8_T)1U)
AndreaAndreoli 1:370626c9b451 29 #define Controller_Slave_IN_IDLE ((uint8_T)2U)
AndreaAndreoli 1:370626c9b451 30 #define Controller_Slave_IN_IDLE_b ((uint8_T)3U)
AndreaAndreoli 0:88fb7562377b 31 #define Controller_Slave_IN_OK ((uint8_T)2U)
AndreaAndreoli 0:88fb7562377b 32 #define Controller_Slave_IN_QA_ACTIVE ((uint8_T)2U)
AndreaAndreoli 0:88fb7562377b 33 #define Controller_Slave_IN_READY ((uint8_T)3U)
AndreaAndreoli 0:88fb7562377b 34 #define Controller_Slave_IN_WARNING ((uint8_T)3U)
AndreaAndreoli 0:88fb7562377b 35 #define Controller__IN_SLAVE_ACTIVATION ((uint8_T)3U)
AndreaAndreoli 0:88fb7562377b 36
AndreaAndreoli 0:88fb7562377b 37 /* Named constants for Chart: '<S1>/select_command' */
AndreaAndreoli 0:88fb7562377b 38 #define Controller_Slave_IN_BLINK ((uint8_T)1U)
AndreaAndreoli 0:88fb7562377b 39 #define Controller_Slave_IN_BLINK_OFF ((uint8_T)1U)
AndreaAndreoli 0:88fb7562377b 40 #define Controller_Slave_IN_BLINK_ON ((uint8_T)2U)
AndreaAndreoli 0:88fb7562377b 41 #define Controller_Slave_IN_OFF1 ((uint8_T)2U)
AndreaAndreoli 0:88fb7562377b 42 #define Controller_Slave_IN_ON ((uint8_T)3U)
AndreaAndreoli 0:88fb7562377b 43
AndreaAndreoli 0:88fb7562377b 44 /* Forward declaration for local functions */
AndreaAndreoli 0:88fb7562377b 45 static void Controller_Slave_AEB_QA(const uint8_T *Memory, real_T
AndreaAndreoli 0:88fb7562377b 46 Controller_Slave_U_V, real_T Controller_Slave_U_D_S, boolean_T
AndreaAndreoli 0:88fb7562377b 47 Controller_Slave_U_QA_EN, uint8_T *Controller_Slave_Y_BRAKE, uint8_T
AndreaAndreoli 0:88fb7562377b 48 *Controller_Slave_Y_ACC, uint8_T *Controller_Slave_Y_LED_RED, uint8_T
AndreaAndreoli 0:88fb7562377b 49 *Controller_Slave_Y_LED_GREEN, uint8_T *Controller_Slave_Y_SLAVE,
AndreaAndreoli 0:88fb7562377b 50 B_Controller_Slave_T *Controller_Slave_B, DW_Controller_Slave_T
AndreaAndreoli 0:88fb7562377b 51 *Controller_Slave_DW);
AndreaAndreoli 0:88fb7562377b 52
AndreaAndreoli 0:88fb7562377b 53 /*===========*
AndreaAndreoli 0:88fb7562377b 54 * Constants *
AndreaAndreoli 0:88fb7562377b 55 *===========*/
AndreaAndreoli 0:88fb7562377b 56 #define RT_PI 3.14159265358979323846
AndreaAndreoli 0:88fb7562377b 57 #define RT_PIF 3.1415927F
AndreaAndreoli 0:88fb7562377b 58 #define RT_LN_10 2.30258509299404568402
AndreaAndreoli 0:88fb7562377b 59 #define RT_LN_10F 2.3025851F
AndreaAndreoli 0:88fb7562377b 60 #define RT_LOG10E 0.43429448190325182765
AndreaAndreoli 0:88fb7562377b 61 #define RT_LOG10EF 0.43429449F
AndreaAndreoli 0:88fb7562377b 62 #define RT_E 2.7182818284590452354
AndreaAndreoli 0:88fb7562377b 63 #define RT_EF 2.7182817F
AndreaAndreoli 0:88fb7562377b 64
AndreaAndreoli 0:88fb7562377b 65 /*
AndreaAndreoli 0:88fb7562377b 66 * UNUSED_PARAMETER(x)
AndreaAndreoli 0:88fb7562377b 67 * Used to specify that a function parameter (argument) is required but not
AndreaAndreoli 0:88fb7562377b 68 * accessed by the function body.
AndreaAndreoli 0:88fb7562377b 69 */
AndreaAndreoli 0:88fb7562377b 70 #ifndef UNUSED_PARAMETER
AndreaAndreoli 0:88fb7562377b 71 # if defined(__LCC__)
AndreaAndreoli 0:88fb7562377b 72 # define UNUSED_PARAMETER(x) /* do nothing */
AndreaAndreoli 0:88fb7562377b 73 # else
AndreaAndreoli 0:88fb7562377b 74
AndreaAndreoli 0:88fb7562377b 75 /*
AndreaAndreoli 0:88fb7562377b 76 * This is the semi-ANSI standard way of indicating that an
AndreaAndreoli 0:88fb7562377b 77 * unused function parameter is required.
AndreaAndreoli 0:88fb7562377b 78 */
AndreaAndreoli 0:88fb7562377b 79 # define UNUSED_PARAMETER(x) (void) (x)
AndreaAndreoli 0:88fb7562377b 80 # endif
AndreaAndreoli 0:88fb7562377b 81 #endif
AndreaAndreoli 0:88fb7562377b 82
AndreaAndreoli 0:88fb7562377b 83 /* Function for Chart: '<S1>/AEB_QA' */
AndreaAndreoli 0:88fb7562377b 84 static void Controller_Slave_AEB_QA(const uint8_T *Memory, real_T
AndreaAndreoli 0:88fb7562377b 85 Controller_Slave_U_V, real_T Controller_Slave_U_D_S, boolean_T
AndreaAndreoli 0:88fb7562377b 86 Controller_Slave_U_QA_EN, uint8_T *Controller_Slave_Y_BRAKE, uint8_T
AndreaAndreoli 0:88fb7562377b 87 *Controller_Slave_Y_ACC, uint8_T *Controller_Slave_Y_LED_RED, uint8_T
AndreaAndreoli 0:88fb7562377b 88 *Controller_Slave_Y_LED_GREEN, uint8_T *Controller_Slave_Y_SLAVE,
AndreaAndreoli 0:88fb7562377b 89 B_Controller_Slave_T *Controller_Slave_B, DW_Controller_Slave_T
AndreaAndreoli 0:88fb7562377b 90 *Controller_Slave_DW)
AndreaAndreoli 0:88fb7562377b 91 {
AndreaAndreoli 0:88fb7562377b 92 real_T K;
AndreaAndreoli 0:88fb7562377b 93
AndreaAndreoli 0:88fb7562377b 94 /* During 'AEB_QA': '<S2>:35' */
AndreaAndreoli 0:88fb7562377b 95 /* During 'ERRORS_CHECK_THREAD': '<S2>:80' */
AndreaAndreoli 0:88fb7562377b 96 switch (Controller_Slave_DW->is_ERRORS_CHECK_THREAD) {
AndreaAndreoli 0:88fb7562377b 97 case Controller_Slave_IN_ERR:
AndreaAndreoli 0:88fb7562377b 98 /* During 'ERR': '<S2>:89' */
AndreaAndreoli 0:88fb7562377b 99 break;
AndreaAndreoli 0:88fb7562377b 100
AndreaAndreoli 0:88fb7562377b 101 case Controller_Slave_IN_OK:
AndreaAndreoli 0:88fb7562377b 102 /* Inport: '<Root>/V' incorporates:
AndreaAndreoli 0:88fb7562377b 103 * Inport: '<Root>/D_S'
AndreaAndreoli 0:88fb7562377b 104 */
AndreaAndreoli 0:88fb7562377b 105 /* During 'OK': '<S2>:94' */
AndreaAndreoli 0:88fb7562377b 106 /* '<S2>:83:1' sf_internal_predicateOutput = ... */
AndreaAndreoli 0:88fb7562377b 107 /* '<S2>:83:1' V > 180 || D > 200; */
AndreaAndreoli 0:88fb7562377b 108 if ((Controller_Slave_U_V > 180.0) || (Controller_Slave_U_D_S > 200.0)) {
AndreaAndreoli 0:88fb7562377b 109 /* Transition: '<S2>:83' */
AndreaAndreoli 0:88fb7562377b 110 Controller_Slave_DW->is_ERRORS_CHECK_THREAD = Controller_Slave_IN_ERR;
AndreaAndreoli 0:88fb7562377b 111
AndreaAndreoli 0:88fb7562377b 112 /* Entry 'ERR': '<S2>:89' */
AndreaAndreoli 0:88fb7562377b 113 /* '<S2>:89:1' Led_Red = uint8(1); */
AndreaAndreoli 0:88fb7562377b 114 *Controller_Slave_Y_LED_RED = 1U;
AndreaAndreoli 0:88fb7562377b 115
AndreaAndreoli 0:88fb7562377b 116 /* '<S2>:89:1' Slave = uint8(0); */
AndreaAndreoli 0:88fb7562377b 117 *Controller_Slave_Y_SLAVE = 0U;
AndreaAndreoli 0:88fb7562377b 118
AndreaAndreoli 0:88fb7562377b 119 /* '<S2>:89:3' En = false; */
AndreaAndreoli 0:88fb7562377b 120 Controller_Slave_DW->En = false;
AndreaAndreoli 0:88fb7562377b 121
AndreaAndreoli 0:88fb7562377b 122 /* '<S2>:89:3' Brake = uint8(0); */
AndreaAndreoli 0:88fb7562377b 123 *Controller_Slave_Y_BRAKE = 0U;
AndreaAndreoli 0:88fb7562377b 124
AndreaAndreoli 0:88fb7562377b 125 /* '<S2>:89:4' Led_Blue = 0; */
AndreaAndreoli 0:88fb7562377b 126 Controller_Slave_B->Led_Blue = 0.0;
AndreaAndreoli 0:88fb7562377b 127 } else {
AndreaAndreoli 0:88fb7562377b 128 /* '<S2>:82:1' sf_internal_predicateOutput = ... */
AndreaAndreoli 0:88fb7562377b 129 /* '<S2>:82:1' D == 0; */
AndreaAndreoli 0:88fb7562377b 130 if (Controller_Slave_U_D_S == 0.0) {
AndreaAndreoli 0:88fb7562377b 131 /* Transition: '<S2>:82' */
AndreaAndreoli 0:88fb7562377b 132 Controller_Slave_DW->is_ERRORS_CHECK_THREAD = Controller_Slave_IN_ERR;
AndreaAndreoli 0:88fb7562377b 133
AndreaAndreoli 0:88fb7562377b 134 /* Entry 'ERR': '<S2>:89' */
AndreaAndreoli 0:88fb7562377b 135 /* '<S2>:89:1' Led_Red = uint8(1); */
AndreaAndreoli 0:88fb7562377b 136 *Controller_Slave_Y_LED_RED = 1U;
AndreaAndreoli 0:88fb7562377b 137
AndreaAndreoli 0:88fb7562377b 138 /* '<S2>:89:1' Slave = uint8(0); */
AndreaAndreoli 0:88fb7562377b 139 *Controller_Slave_Y_SLAVE = 0U;
AndreaAndreoli 0:88fb7562377b 140
AndreaAndreoli 0:88fb7562377b 141 /* '<S2>:89:3' En = false; */
AndreaAndreoli 0:88fb7562377b 142 Controller_Slave_DW->En = false;
AndreaAndreoli 0:88fb7562377b 143
AndreaAndreoli 0:88fb7562377b 144 /* '<S2>:89:3' Brake = uint8(0); */
AndreaAndreoli 0:88fb7562377b 145 *Controller_Slave_Y_BRAKE = 0U;
AndreaAndreoli 0:88fb7562377b 146
AndreaAndreoli 0:88fb7562377b 147 /* '<S2>:89:4' Led_Blue = 0; */
AndreaAndreoli 0:88fb7562377b 148 Controller_Slave_B->Led_Blue = 0.0;
AndreaAndreoli 0:88fb7562377b 149 } else {
AndreaAndreoli 0:88fb7562377b 150 /* '<S2>:85:1' sf_internal_predicateOutput = ... */
AndreaAndreoli 0:88fb7562377b 151 /* '<S2>:85:1' Master ~= 1 && En == false; */
AndreaAndreoli 0:88fb7562377b 152 if ((*Memory != 1) && (!Controller_Slave_DW->En)) {
AndreaAndreoli 0:88fb7562377b 153 /* Transition: '<S2>:85' */
AndreaAndreoli 0:88fb7562377b 154 Controller_Slave_DW->is_ERRORS_CHECK_THREAD =
AndreaAndreoli 0:88fb7562377b 155 Controller__IN_SLAVE_ACTIVATION;
AndreaAndreoli 0:88fb7562377b 156
AndreaAndreoli 0:88fb7562377b 157 /* Entry 'SLAVE_ACTIVATION': '<S2>:95' */
AndreaAndreoli 0:88fb7562377b 158 /* '<S2>:95:1' En = true; */
AndreaAndreoli 0:88fb7562377b 159 Controller_Slave_DW->En = true;
AndreaAndreoli 0:88fb7562377b 160 }
AndreaAndreoli 0:88fb7562377b 161 }
AndreaAndreoli 0:88fb7562377b 162 }
AndreaAndreoli 0:88fb7562377b 163 break;
AndreaAndreoli 0:88fb7562377b 164
AndreaAndreoli 0:88fb7562377b 165 default:
AndreaAndreoli 0:88fb7562377b 166 /* During 'SLAVE_ACTIVATION': '<S2>:95' */
AndreaAndreoli 0:88fb7562377b 167 /* Transition: '<S2>:84' */
AndreaAndreoli 0:88fb7562377b 168 Controller_Slave_DW->is_ERRORS_CHECK_THREAD = Controller_Slave_IN_OK;
AndreaAndreoli 0:88fb7562377b 169
AndreaAndreoli 0:88fb7562377b 170 /* Entry 'OK': '<S2>:94' */
AndreaAndreoli 0:88fb7562377b 171 /* '<S2>:94:1' Led_Red = uint8(0); */
AndreaAndreoli 0:88fb7562377b 172 *Controller_Slave_Y_LED_RED = 0U;
AndreaAndreoli 0:88fb7562377b 173
AndreaAndreoli 0:88fb7562377b 174 /* '<S2>:94:1' Slave = uint8(1); */
AndreaAndreoli 0:88fb7562377b 175 *Controller_Slave_Y_SLAVE = 1U;
AndreaAndreoli 0:88fb7562377b 176 break;
AndreaAndreoli 0:88fb7562377b 177 }
AndreaAndreoli 1:370626c9b451 178
AndreaAndreoli 1:370626c9b451 179 /* During 'APPLICATION_THREAD': '<S2>:97' */
AndreaAndreoli 1:370626c9b451 180 switch (Controller_Slave_DW->is_APPLICATION_THREAD) {
AndreaAndreoli 1:370626c9b451 181 case Controller_Slave_IN_AEB_ACTIVE:
AndreaAndreoli 1:370626c9b451 182 /* During 'AEB_ACTIVE': '<S2>:106' */
AndreaAndreoli 1:370626c9b451 183 /* '<S2>:100:1' sf_internal_predicateOutput = ... */
AndreaAndreoli 1:370626c9b451 184 /* '<S2>:100:1' En == false; */
AndreaAndreoli 1:370626c9b451 185 if (!Controller_Slave_DW->En) {
AndreaAndreoli 1:370626c9b451 186 /* Transition: '<S2>:100' */
AndreaAndreoli 1:370626c9b451 187 /* Exit Internal 'AEB_ACTIVE': '<S2>:106' */
AndreaAndreoli 1:370626c9b451 188 Controller_Slave_DW->is_AEB_ACTIVE = Controller_S_IN_NO_ACTIVE_CHILD;
AndreaAndreoli 1:370626c9b451 189
AndreaAndreoli 1:370626c9b451 190 /* Exit 'AEB_ACTIVE': '<S2>:106' */
AndreaAndreoli 1:370626c9b451 191 /* '<S2>:106:2' Brake = uint8(0); */
AndreaAndreoli 1:370626c9b451 192 /* '<S2>:106:3' Led_Blue = 0; */
AndreaAndreoli 1:370626c9b451 193 Controller_Slave_DW->is_APPLICATION_THREAD = Controller_Slave_IN_READY;
AndreaAndreoli 1:370626c9b451 194
AndreaAndreoli 1:370626c9b451 195 /* Entry 'READY': '<S2>:115' */
AndreaAndreoli 1:370626c9b451 196 /* '<S2>:115:1' Brake = uint8(0); */
AndreaAndreoli 1:370626c9b451 197 *Controller_Slave_Y_BRAKE = 0U;
AndreaAndreoli 1:370626c9b451 198
AndreaAndreoli 1:370626c9b451 199 /* '<S2>:115:1' Led_Blue = 0; */
AndreaAndreoli 1:370626c9b451 200 Controller_Slave_B->Led_Blue = 0.0;
AndreaAndreoli 1:370626c9b451 201
AndreaAndreoli 1:370626c9b451 202 /* '<S2>:115:1' Led_Green = uint8(0); */
AndreaAndreoli 1:370626c9b451 203 *Controller_Slave_Y_LED_GREEN = 0U;
AndreaAndreoli 1:370626c9b451 204
AndreaAndreoli 1:370626c9b451 205 /* '<S2>:115:4' Acc = uint8(0); */
AndreaAndreoli 1:370626c9b451 206 *Controller_Slave_Y_ACC = 0U;
AndreaAndreoli 1:370626c9b451 207 } else {
AndreaAndreoli 1:370626c9b451 208 /* Inport: '<Root>/QA_EN' incorporates:
AndreaAndreoli 1:370626c9b451 209 * Inport: '<Root>/V'
AndreaAndreoli 1:370626c9b451 210 */
AndreaAndreoli 1:370626c9b451 211 /* '<S2>:102:1' sf_internal_predicateOutput = ... */
AndreaAndreoli 1:370626c9b451 212 /* '<S2>:102:1' QA_En == true && V<30; */
AndreaAndreoli 1:370626c9b451 213 if (Controller_Slave_U_QA_EN && (Controller_Slave_U_V < 30.0)) {
AndreaAndreoli 1:370626c9b451 214 /* Transition: '<S2>:102' */
AndreaAndreoli 1:370626c9b451 215 /* Exit Internal 'AEB_ACTIVE': '<S2>:106' */
AndreaAndreoli 1:370626c9b451 216 Controller_Slave_DW->is_AEB_ACTIVE = Controller_S_IN_NO_ACTIVE_CHILD;
AndreaAndreoli 1:370626c9b451 217
AndreaAndreoli 1:370626c9b451 218 /* Exit 'AEB_ACTIVE': '<S2>:106' */
AndreaAndreoli 1:370626c9b451 219 /* '<S2>:106:2' Brake = uint8(0); */
AndreaAndreoli 1:370626c9b451 220 /* '<S2>:106:3' Led_Blue = 0; */
AndreaAndreoli 1:370626c9b451 221 Controller_Slave_DW->is_APPLICATION_THREAD =
AndreaAndreoli 1:370626c9b451 222 Controller_Slave_IN_QA_ACTIVE;
AndreaAndreoli 1:370626c9b451 223
AndreaAndreoli 1:370626c9b451 224 /* Entry 'QA_ACTIVE': '<S2>:118' */
AndreaAndreoli 1:370626c9b451 225 /* '<S2>:118:1' K = (V^2)/D; */
AndreaAndreoli 1:370626c9b451 226 /* Entry Internal 'QA_ACTIVE': '<S2>:118' */
AndreaAndreoli 1:370626c9b451 227 /* Transition: '<S2>:119' */
AndreaAndreoli 1:370626c9b451 228 Controller_Slave_DW->is_QA_ACTIVE = Controller_Slave_IN_IDLE_b;
AndreaAndreoli 1:370626c9b451 229
AndreaAndreoli 1:370626c9b451 230 /* Entry 'IDLE': '<S2>:124' */
AndreaAndreoli 1:370626c9b451 231 /* '<S2>:124:1' Brake = uint8(0); */
AndreaAndreoli 1:370626c9b451 232 *Controller_Slave_Y_BRAKE = 0U;
AndreaAndreoli 1:370626c9b451 233
AndreaAndreoli 1:370626c9b451 234 /* '<S2>:124:1' Led_Blue = 0; */
AndreaAndreoli 1:370626c9b451 235 Controller_Slave_B->Led_Blue = 0.0;
AndreaAndreoli 1:370626c9b451 236
AndreaAndreoli 1:370626c9b451 237 /* '<S2>:124:1' Led_Green = uint8(0); */
AndreaAndreoli 1:370626c9b451 238 *Controller_Slave_Y_LED_GREEN = 0U;
AndreaAndreoli 1:370626c9b451 239
AndreaAndreoli 1:370626c9b451 240 /* '<S2>:124:4' Acc = uint8(0); */
AndreaAndreoli 1:370626c9b451 241 *Controller_Slave_Y_ACC = 0U;
AndreaAndreoli 1:370626c9b451 242 } else {
AndreaAndreoli 1:370626c9b451 243 /* Inport: '<Root>/D_S' */
AndreaAndreoli 1:370626c9b451 244 /* '<S2>:106:1' K = (V^2)/D; */
AndreaAndreoli 1:370626c9b451 245 K = Controller_Slave_U_V * Controller_Slave_U_V / Controller_Slave_U_D_S;
AndreaAndreoli 1:370626c9b451 246 switch (Controller_Slave_DW->is_AEB_ACTIVE) {
AndreaAndreoli 1:370626c9b451 247 case Controller_Slave_IN_BRAKE:
AndreaAndreoli 1:370626c9b451 248 /* During 'BRAKE': '<S2>:114' */
AndreaAndreoli 1:370626c9b451 249 /* '<S2>:111:1' sf_internal_predicateOutput = ... */
AndreaAndreoli 1:370626c9b451 250 /* '<S2>:111:1' K < 100; */
AndreaAndreoli 1:370626c9b451 251 if (K < 100.0) {
AndreaAndreoli 1:370626c9b451 252 /* Transition: '<S2>:111' */
AndreaAndreoli 1:370626c9b451 253 Controller_Slave_DW->is_AEB_ACTIVE = Controller_Slave_IN_WARNING;
AndreaAndreoli 1:370626c9b451 254
AndreaAndreoli 1:370626c9b451 255 /* Entry 'WARNING': '<S2>:113' */
AndreaAndreoli 1:370626c9b451 256 /* '<S2>:113:1' Brake = uint8(0); */
AndreaAndreoli 1:370626c9b451 257 *Controller_Slave_Y_BRAKE = 0U;
AndreaAndreoli 1:370626c9b451 258 }
AndreaAndreoli 1:370626c9b451 259 break;
AndreaAndreoli 1:370626c9b451 260
AndreaAndreoli 1:370626c9b451 261 case Controller_Slave_IN_IDLE:
AndreaAndreoli 1:370626c9b451 262 /* During 'IDLE': '<S2>:112' */
AndreaAndreoli 1:370626c9b451 263 /* '<S2>:108:1' sf_internal_predicateOutput = ... */
AndreaAndreoli 1:370626c9b451 264 /* '<S2>:108:1' K >= 70; */
AndreaAndreoli 1:370626c9b451 265 if (K >= 70.0) {
AndreaAndreoli 1:370626c9b451 266 /* Transition: '<S2>:108' */
AndreaAndreoli 1:370626c9b451 267 Controller_Slave_DW->is_AEB_ACTIVE = Controller_Slave_IN_WARNING;
AndreaAndreoli 1:370626c9b451 268
AndreaAndreoli 1:370626c9b451 269 /* Entry 'WARNING': '<S2>:113' */
AndreaAndreoli 1:370626c9b451 270 /* '<S2>:113:1' Brake = uint8(0); */
AndreaAndreoli 1:370626c9b451 271 *Controller_Slave_Y_BRAKE = 0U;
AndreaAndreoli 1:370626c9b451 272 }
AndreaAndreoli 1:370626c9b451 273 break;
AndreaAndreoli 1:370626c9b451 274
AndreaAndreoli 1:370626c9b451 275 default:
AndreaAndreoli 1:370626c9b451 276 /* During 'WARNING': '<S2>:113' */
AndreaAndreoli 1:370626c9b451 277 /* '<S2>:110:1' sf_internal_predicateOutput = ... */
AndreaAndreoli 1:370626c9b451 278 /* '<S2>:110:1' K >= 100; */
AndreaAndreoli 1:370626c9b451 279 if (K >= 100.0) {
AndreaAndreoli 1:370626c9b451 280 /* Transition: '<S2>:110' */
AndreaAndreoli 1:370626c9b451 281 Controller_Slave_DW->is_AEB_ACTIVE = Controller_Slave_IN_BRAKE;
AndreaAndreoli 1:370626c9b451 282
AndreaAndreoli 1:370626c9b451 283 /* Entry 'BRAKE': '<S2>:114' */
AndreaAndreoli 1:370626c9b451 284 /* '<S2>:114:1' Brake = uint8(1); */
AndreaAndreoli 1:370626c9b451 285 *Controller_Slave_Y_BRAKE = 1U;
AndreaAndreoli 1:370626c9b451 286
AndreaAndreoli 1:370626c9b451 287 /* '<S2>:114:1' Led_Blue = 1; */
AndreaAndreoli 1:370626c9b451 288 Controller_Slave_B->Led_Blue = 1.0;
AndreaAndreoli 1:370626c9b451 289 } else {
AndreaAndreoli 1:370626c9b451 290 /* '<S2>:109:1' sf_internal_predicateOutput = ... */
AndreaAndreoli 1:370626c9b451 291 /* '<S2>:109:1' K < 70; */
AndreaAndreoli 1:370626c9b451 292 if (K < 70.0) {
AndreaAndreoli 1:370626c9b451 293 /* Transition: '<S2>:109' */
AndreaAndreoli 1:370626c9b451 294 Controller_Slave_DW->is_AEB_ACTIVE = Controller_Slave_IN_IDLE;
AndreaAndreoli 1:370626c9b451 295
AndreaAndreoli 1:370626c9b451 296 /* Entry 'IDLE': '<S2>:112' */
AndreaAndreoli 1:370626c9b451 297 /* '<S2>:112:1' Brake = uint8(0); */
AndreaAndreoli 1:370626c9b451 298 *Controller_Slave_Y_BRAKE = 0U;
AndreaAndreoli 1:370626c9b451 299
AndreaAndreoli 1:370626c9b451 300 /* '<S2>:112:1' Led_Blue = 0; */
AndreaAndreoli 1:370626c9b451 301 Controller_Slave_B->Led_Blue = 0.0;
AndreaAndreoli 1:370626c9b451 302 } else {
AndreaAndreoli 1:370626c9b451 303 /* '<S2>:113:1' Led_Blue = (K-70)/30; */
AndreaAndreoli 1:370626c9b451 304 Controller_Slave_B->Led_Blue = (K - 70.0) / 30.0;
AndreaAndreoli 1:370626c9b451 305 }
AndreaAndreoli 1:370626c9b451 306 }
AndreaAndreoli 1:370626c9b451 307 break;
AndreaAndreoli 1:370626c9b451 308 }
AndreaAndreoli 1:370626c9b451 309 }
AndreaAndreoli 1:370626c9b451 310 }
AndreaAndreoli 1:370626c9b451 311 break;
AndreaAndreoli 1:370626c9b451 312
AndreaAndreoli 1:370626c9b451 313 case Controller_Slave_IN_QA_ACTIVE:
AndreaAndreoli 1:370626c9b451 314 /* Inport: '<Root>/QA_EN' incorporates:
AndreaAndreoli 1:370626c9b451 315 * Inport: '<Root>/V'
AndreaAndreoli 1:370626c9b451 316 */
AndreaAndreoli 1:370626c9b451 317 /* During 'QA_ACTIVE': '<S2>:118' */
AndreaAndreoli 1:370626c9b451 318 /* '<S2>:103:1' sf_internal_predicateOutput = ... */
AndreaAndreoli 1:370626c9b451 319 /* '<S2>:103:1' QA_En ~= true || V>=30; */
AndreaAndreoli 1:370626c9b451 320 if ((!Controller_Slave_U_QA_EN) || (Controller_Slave_U_V >= 30.0)) {
AndreaAndreoli 1:370626c9b451 321 /* Transition: '<S2>:103' */
AndreaAndreoli 1:370626c9b451 322 /* Exit Internal 'QA_ACTIVE': '<S2>:118' */
AndreaAndreoli 1:370626c9b451 323 Controller_Slave_DW->is_QA_ACTIVE = Controller_S_IN_NO_ACTIVE_CHILD;
AndreaAndreoli 1:370626c9b451 324
AndreaAndreoli 1:370626c9b451 325 /* Exit 'QA_ACTIVE': '<S2>:118' */
AndreaAndreoli 1:370626c9b451 326 /* '<S2>:118:2' Brake = uint8(0); */
AndreaAndreoli 1:370626c9b451 327 /* '<S2>:118:3' Led_Blue = 0; */
AndreaAndreoli 1:370626c9b451 328 /* '<S2>:118:4' Led_Green = uint8(0); */
AndreaAndreoli 1:370626c9b451 329 *Controller_Slave_Y_LED_GREEN = 0U;
AndreaAndreoli 1:370626c9b451 330
AndreaAndreoli 1:370626c9b451 331 /* '<S2>:118:5' Acc = uint8(0); */
AndreaAndreoli 1:370626c9b451 332 *Controller_Slave_Y_ACC = 0U;
AndreaAndreoli 1:370626c9b451 333 Controller_Slave_DW->is_APPLICATION_THREAD =
AndreaAndreoli 1:370626c9b451 334 Controller_Slave_IN_AEB_ACTIVE;
AndreaAndreoli 1:370626c9b451 335
AndreaAndreoli 1:370626c9b451 336 /* Entry 'AEB_ACTIVE': '<S2>:106' */
AndreaAndreoli 1:370626c9b451 337 /* '<S2>:106:1' K = (V^2)/D; */
AndreaAndreoli 1:370626c9b451 338 /* Entry Internal 'AEB_ACTIVE': '<S2>:106' */
AndreaAndreoli 1:370626c9b451 339 /* Transition: '<S2>:107' */
AndreaAndreoli 1:370626c9b451 340 Controller_Slave_DW->is_AEB_ACTIVE = Controller_Slave_IN_IDLE;
AndreaAndreoli 1:370626c9b451 341
AndreaAndreoli 1:370626c9b451 342 /* Entry 'IDLE': '<S2>:112' */
AndreaAndreoli 1:370626c9b451 343 /* '<S2>:112:1' Brake = uint8(0); */
AndreaAndreoli 1:370626c9b451 344 *Controller_Slave_Y_BRAKE = 0U;
AndreaAndreoli 1:370626c9b451 345
AndreaAndreoli 1:370626c9b451 346 /* '<S2>:112:1' Led_Blue = 0; */
AndreaAndreoli 1:370626c9b451 347 Controller_Slave_B->Led_Blue = 0.0;
AndreaAndreoli 1:370626c9b451 348 } else {
AndreaAndreoli 1:370626c9b451 349 /* '<S2>:101:1' sf_internal_predicateOutput = ... */
AndreaAndreoli 1:370626c9b451 350 /* '<S2>:101:1' En == false; */
AndreaAndreoli 1:370626c9b451 351 if (!Controller_Slave_DW->En) {
AndreaAndreoli 1:370626c9b451 352 /* Transition: '<S2>:101' */
AndreaAndreoli 1:370626c9b451 353 /* Exit Internal 'QA_ACTIVE': '<S2>:118' */
AndreaAndreoli 1:370626c9b451 354 Controller_Slave_DW->is_QA_ACTIVE = Controller_S_IN_NO_ACTIVE_CHILD;
AndreaAndreoli 1:370626c9b451 355
AndreaAndreoli 1:370626c9b451 356 /* Exit 'QA_ACTIVE': '<S2>:118' */
AndreaAndreoli 1:370626c9b451 357 /* '<S2>:118:2' Brake = uint8(0); */
AndreaAndreoli 1:370626c9b451 358 /* '<S2>:118:3' Led_Blue = 0; */
AndreaAndreoli 1:370626c9b451 359 /* '<S2>:118:4' Led_Green = uint8(0); */
AndreaAndreoli 1:370626c9b451 360 /* '<S2>:118:5' Acc = uint8(0); */
AndreaAndreoli 1:370626c9b451 361 Controller_Slave_DW->is_APPLICATION_THREAD = Controller_Slave_IN_READY;
AndreaAndreoli 1:370626c9b451 362
AndreaAndreoli 1:370626c9b451 363 /* Entry 'READY': '<S2>:115' */
AndreaAndreoli 1:370626c9b451 364 /* '<S2>:115:1' Brake = uint8(0); */
AndreaAndreoli 1:370626c9b451 365 *Controller_Slave_Y_BRAKE = 0U;
AndreaAndreoli 1:370626c9b451 366
AndreaAndreoli 1:370626c9b451 367 /* '<S2>:115:1' Led_Blue = 0; */
AndreaAndreoli 1:370626c9b451 368 Controller_Slave_B->Led_Blue = 0.0;
AndreaAndreoli 1:370626c9b451 369
AndreaAndreoli 1:370626c9b451 370 /* '<S2>:115:1' Led_Green = uint8(0); */
AndreaAndreoli 1:370626c9b451 371 *Controller_Slave_Y_LED_GREEN = 0U;
AndreaAndreoli 1:370626c9b451 372
AndreaAndreoli 1:370626c9b451 373 /* '<S2>:115:4' Acc = uint8(0); */
AndreaAndreoli 1:370626c9b451 374 *Controller_Slave_Y_ACC = 0U;
AndreaAndreoli 1:370626c9b451 375 } else {
AndreaAndreoli 1:370626c9b451 376 /* Inport: '<Root>/D_S' */
AndreaAndreoli 1:370626c9b451 377 /* '<S2>:118:1' K = (V^2)/D; */
AndreaAndreoli 1:370626c9b451 378 K = Controller_Slave_U_V * Controller_Slave_U_V / Controller_Slave_U_D_S;
AndreaAndreoli 1:370626c9b451 379 switch (Controller_Slave_DW->is_QA_ACTIVE) {
AndreaAndreoli 1:370626c9b451 380 case Controller_Slave_IN_ACCELERATE:
AndreaAndreoli 1:370626c9b451 381 /* During 'ACCELERATE': '<S2>:125' */
AndreaAndreoli 1:370626c9b451 382 /* '<S2>:120:1' sf_internal_predicateOutput = ... */
AndreaAndreoli 1:370626c9b451 383 /* '<S2>:120:1' K >= 100; */
AndreaAndreoli 1:370626c9b451 384 if (K >= 100.0) {
AndreaAndreoli 1:370626c9b451 385 /* Transition: '<S2>:120' */
AndreaAndreoli 1:370626c9b451 386 Controller_Slave_DW->is_QA_ACTIVE = Controller_Slave_IN_IDLE_b;
AndreaAndreoli 1:370626c9b451 387
AndreaAndreoli 1:370626c9b451 388 /* Entry 'IDLE': '<S2>:124' */
AndreaAndreoli 1:370626c9b451 389 /* '<S2>:124:1' Brake = uint8(0); */
AndreaAndreoli 1:370626c9b451 390 *Controller_Slave_Y_BRAKE = 0U;
AndreaAndreoli 1:370626c9b451 391
AndreaAndreoli 1:370626c9b451 392 /* '<S2>:124:1' Led_Blue = 0; */
AndreaAndreoli 1:370626c9b451 393 Controller_Slave_B->Led_Blue = 0.0;
AndreaAndreoli 1:370626c9b451 394
AndreaAndreoli 1:370626c9b451 395 /* '<S2>:124:1' Led_Green = uint8(0); */
AndreaAndreoli 1:370626c9b451 396 *Controller_Slave_Y_LED_GREEN = 0U;
AndreaAndreoli 1:370626c9b451 397
AndreaAndreoli 1:370626c9b451 398 /* '<S2>:124:4' Acc = uint8(0); */
AndreaAndreoli 1:370626c9b451 399 *Controller_Slave_Y_ACC = 0U;
AndreaAndreoli 1:370626c9b451 400 }
AndreaAndreoli 1:370626c9b451 401 break;
AndreaAndreoli 1:370626c9b451 402
AndreaAndreoli 1:370626c9b451 403 case Controller_Slave_IN_BRAKE_i:
AndreaAndreoli 1:370626c9b451 404 /* During 'BRAKE': '<S2>:126' */
AndreaAndreoli 1:370626c9b451 405 /* '<S2>:122:1' sf_internal_predicateOutput = ... */
AndreaAndreoli 1:370626c9b451 406 /* '<S2>:122:1' K <= 100; */
AndreaAndreoli 1:370626c9b451 407 if (K <= 100.0) {
AndreaAndreoli 1:370626c9b451 408 /* Transition: '<S2>:122' */
AndreaAndreoli 1:370626c9b451 409 Controller_Slave_DW->is_QA_ACTIVE = Controller_Slave_IN_IDLE_b;
AndreaAndreoli 1:370626c9b451 410
AndreaAndreoli 1:370626c9b451 411 /* Entry 'IDLE': '<S2>:124' */
AndreaAndreoli 1:370626c9b451 412 /* '<S2>:124:1' Brake = uint8(0); */
AndreaAndreoli 1:370626c9b451 413 *Controller_Slave_Y_BRAKE = 0U;
AndreaAndreoli 1:370626c9b451 414
AndreaAndreoli 1:370626c9b451 415 /* '<S2>:124:1' Led_Blue = 0; */
AndreaAndreoli 1:370626c9b451 416 Controller_Slave_B->Led_Blue = 0.0;
AndreaAndreoli 1:370626c9b451 417
AndreaAndreoli 1:370626c9b451 418 /* '<S2>:124:1' Led_Green = uint8(0); */
AndreaAndreoli 1:370626c9b451 419 *Controller_Slave_Y_LED_GREEN = 0U;
AndreaAndreoli 1:370626c9b451 420
AndreaAndreoli 1:370626c9b451 421 /* '<S2>:124:4' Acc = uint8(0); */
AndreaAndreoli 1:370626c9b451 422 *Controller_Slave_Y_ACC = 0U;
AndreaAndreoli 1:370626c9b451 423 }
AndreaAndreoli 1:370626c9b451 424 break;
AndreaAndreoli 1:370626c9b451 425
AndreaAndreoli 1:370626c9b451 426 default:
AndreaAndreoli 1:370626c9b451 427 /* During 'IDLE': '<S2>:124' */
AndreaAndreoli 1:370626c9b451 428 /* '<S2>:121:1' sf_internal_predicateOutput = ... */
AndreaAndreoli 1:370626c9b451 429 /* '<S2>:121:1' K > 100; */
AndreaAndreoli 1:370626c9b451 430 if (K > 100.0) {
AndreaAndreoli 1:370626c9b451 431 /* Transition: '<S2>:121' */
AndreaAndreoli 1:370626c9b451 432 Controller_Slave_DW->is_QA_ACTIVE = Controller_Slave_IN_BRAKE_i;
AndreaAndreoli 1:370626c9b451 433
AndreaAndreoli 1:370626c9b451 434 /* Entry 'BRAKE': '<S2>:126' */
AndreaAndreoli 1:370626c9b451 435 /* '<S2>:126:1' Brake = uint8(1); */
AndreaAndreoli 1:370626c9b451 436 *Controller_Slave_Y_BRAKE = 1U;
AndreaAndreoli 1:370626c9b451 437
AndreaAndreoli 1:370626c9b451 438 /* '<S2>:126:1' Led_Blue = 1; */
AndreaAndreoli 1:370626c9b451 439 Controller_Slave_B->Led_Blue = 1.0;
AndreaAndreoli 1:370626c9b451 440 } else {
AndreaAndreoli 1:370626c9b451 441 /* '<S2>:123:1' sf_internal_predicateOutput = ... */
AndreaAndreoli 1:370626c9b451 442 /* '<S2>:123:1' K < 100; */
AndreaAndreoli 1:370626c9b451 443 if (K < 100.0) {
AndreaAndreoli 1:370626c9b451 444 /* Transition: '<S2>:123' */
AndreaAndreoli 1:370626c9b451 445 Controller_Slave_DW->is_QA_ACTIVE = Controller_Slave_IN_ACCELERATE;
AndreaAndreoli 1:370626c9b451 446
AndreaAndreoli 1:370626c9b451 447 /* Entry 'ACCELERATE': '<S2>:125' */
AndreaAndreoli 1:370626c9b451 448 /* '<S2>:125:1' Led_Green = uint8(1); */
AndreaAndreoli 1:370626c9b451 449 *Controller_Slave_Y_LED_GREEN = 1U;
AndreaAndreoli 1:370626c9b451 450
AndreaAndreoli 1:370626c9b451 451 /* '<S2>:125:1' Acc = uint8(1); */
AndreaAndreoli 1:370626c9b451 452 *Controller_Slave_Y_ACC = 1U;
AndreaAndreoli 1:370626c9b451 453 }
AndreaAndreoli 1:370626c9b451 454 }
AndreaAndreoli 1:370626c9b451 455 break;
AndreaAndreoli 1:370626c9b451 456 }
AndreaAndreoli 1:370626c9b451 457 }
AndreaAndreoli 1:370626c9b451 458 }
AndreaAndreoli 1:370626c9b451 459 break;
AndreaAndreoli 1:370626c9b451 460
AndreaAndreoli 1:370626c9b451 461 default:
AndreaAndreoli 1:370626c9b451 462 /* During 'READY': '<S2>:115' */
AndreaAndreoli 1:370626c9b451 463 /* '<S2>:99:1' sf_internal_predicateOutput = ... */
AndreaAndreoli 1:370626c9b451 464 /* '<S2>:99:1' En == true; */
AndreaAndreoli 1:370626c9b451 465 if (Controller_Slave_DW->En) {
AndreaAndreoli 1:370626c9b451 466 /* Transition: '<S2>:99' */
AndreaAndreoli 1:370626c9b451 467 Controller_Slave_DW->is_APPLICATION_THREAD =
AndreaAndreoli 1:370626c9b451 468 Controller_Slave_IN_AEB_ACTIVE;
AndreaAndreoli 1:370626c9b451 469
AndreaAndreoli 1:370626c9b451 470 /* Entry 'AEB_ACTIVE': '<S2>:106' */
AndreaAndreoli 1:370626c9b451 471 /* '<S2>:106:1' K = (V^2)/D; */
AndreaAndreoli 1:370626c9b451 472 /* Entry Internal 'AEB_ACTIVE': '<S2>:106' */
AndreaAndreoli 1:370626c9b451 473 /* Transition: '<S2>:107' */
AndreaAndreoli 1:370626c9b451 474 Controller_Slave_DW->is_AEB_ACTIVE = Controller_Slave_IN_IDLE;
AndreaAndreoli 1:370626c9b451 475
AndreaAndreoli 1:370626c9b451 476 /* Entry 'IDLE': '<S2>:112' */
AndreaAndreoli 1:370626c9b451 477 /* '<S2>:112:1' Brake = uint8(0); */
AndreaAndreoli 1:370626c9b451 478 *Controller_Slave_Y_BRAKE = 0U;
AndreaAndreoli 1:370626c9b451 479
AndreaAndreoli 1:370626c9b451 480 /* '<S2>:112:1' Led_Blue = 0; */
AndreaAndreoli 1:370626c9b451 481 Controller_Slave_B->Led_Blue = 0.0;
AndreaAndreoli 1:370626c9b451 482 }
AndreaAndreoli 1:370626c9b451 483 break;
AndreaAndreoli 1:370626c9b451 484 }
AndreaAndreoli 0:88fb7562377b 485 }
AndreaAndreoli 0:88fb7562377b 486
AndreaAndreoli 0:88fb7562377b 487 /* Model step function */
AndreaAndreoli 0:88fb7562377b 488 void Controller_Slave_step(RT_MODEL_Controller_Slave_T *const Controller_Slave_M,
AndreaAndreoli 0:88fb7562377b 489 real_T Controller_Slave_U_V, real_T Controller_Slave_U_D_S, uint8_T
AndreaAndreoli 0:88fb7562377b 490 Controller_Slave_U_Master, boolean_T Controller_Slave_U_QA_EN, uint8_T
AndreaAndreoli 0:88fb7562377b 491 *Controller_Slave_Y_BRAKE, uint8_T *Controller_Slave_Y_ACC, uint8_T
AndreaAndreoli 0:88fb7562377b 492 *Controller_Slave_Y_LED_RED, uint8_T *Controller_Slave_Y_LED_GREEN, uint8_T
AndreaAndreoli 0:88fb7562377b 493 *Controller_Slave_Y_LED_BLUE, uint8_T *Controller_Slave_Y_SLAVE)
AndreaAndreoli 0:88fb7562377b 494 {
AndreaAndreoli 0:88fb7562377b 495 B_Controller_Slave_T *Controller_Slave_B = ((B_Controller_Slave_T *)
AndreaAndreoli 0:88fb7562377b 496 Controller_Slave_M->ModelData.blockIO);
AndreaAndreoli 0:88fb7562377b 497 DW_Controller_Slave_T *Controller_Slave_DW = ((DW_Controller_Slave_T *)
AndreaAndreoli 0:88fb7562377b 498 Controller_Slave_M->ModelData.dwork);
AndreaAndreoli 0:88fb7562377b 499 uint8_T Memory;
AndreaAndreoli 0:88fb7562377b 500
AndreaAndreoli 0:88fb7562377b 501 /* Outputs for Atomic SubSystem: '<Root>/Controller_Slave' */
AndreaAndreoli 0:88fb7562377b 502 /* Memory: '<S1>/Memory' */
AndreaAndreoli 0:88fb7562377b 503 Memory = Controller_Slave_DW->Memory_PreviousInput;
AndreaAndreoli 0:88fb7562377b 504
AndreaAndreoli 0:88fb7562377b 505 /* Chart: '<S1>/AEB_QA' */
AndreaAndreoli 0:88fb7562377b 506 /* Gateway: Controller_Slave/AEB_QA */
AndreaAndreoli 0:88fb7562377b 507 /* During: Controller_Slave/AEB_QA */
AndreaAndreoli 0:88fb7562377b 508 if (Controller_Slave_DW->is_active_c5_Controller_Slave == 0U) {
AndreaAndreoli 0:88fb7562377b 509 /* Entry: Controller_Slave/AEB_QA */
AndreaAndreoli 0:88fb7562377b 510 Controller_Slave_DW->is_active_c5_Controller_Slave = 1U;
AndreaAndreoli 0:88fb7562377b 511
AndreaAndreoli 0:88fb7562377b 512 /* Entry Internal: Controller_Slave/AEB_QA */
AndreaAndreoli 0:88fb7562377b 513 /* Entry Internal 'AEB_QA': '<S2>:35' */
AndreaAndreoli 0:88fb7562377b 514 /* Entry Internal 'ERRORS_CHECK_THREAD': '<S2>:80' */
AndreaAndreoli 0:88fb7562377b 515 /* Transition: '<S2>:81' */
AndreaAndreoli 0:88fb7562377b 516 Controller_Slave_DW->is_ERRORS_CHECK_THREAD = Controller_Slave_IN_OK;
AndreaAndreoli 0:88fb7562377b 517
AndreaAndreoli 0:88fb7562377b 518 /* Outport: '<Root>/LED_RED' */
AndreaAndreoli 0:88fb7562377b 519 /* Entry 'OK': '<S2>:94' */
AndreaAndreoli 0:88fb7562377b 520 /* '<S2>:94:1' Led_Red = uint8(0); */
AndreaAndreoli 0:88fb7562377b 521 *Controller_Slave_Y_LED_RED = 0U;
AndreaAndreoli 0:88fb7562377b 522
AndreaAndreoli 0:88fb7562377b 523 /* Outport: '<Root>/SLAVE' */
AndreaAndreoli 0:88fb7562377b 524 /* '<S2>:94:1' Slave = uint8(1); */
AndreaAndreoli 0:88fb7562377b 525 *Controller_Slave_Y_SLAVE = 1U;
AndreaAndreoli 1:370626c9b451 526
AndreaAndreoli 1:370626c9b451 527 /* Entry Internal 'APPLICATION_THREAD': '<S2>:97' */
AndreaAndreoli 1:370626c9b451 528 /* Transition: '<S2>:98' */
AndreaAndreoli 1:370626c9b451 529 Controller_Slave_DW->is_APPLICATION_THREAD = Controller_Slave_IN_READY;
AndreaAndreoli 1:370626c9b451 530
AndreaAndreoli 1:370626c9b451 531 /* Outport: '<Root>/BRAKE' */
AndreaAndreoli 1:370626c9b451 532 /* Entry 'READY': '<S2>:115' */
AndreaAndreoli 1:370626c9b451 533 /* '<S2>:115:1' Brake = uint8(0); */
AndreaAndreoli 1:370626c9b451 534 *Controller_Slave_Y_BRAKE = 0U;
AndreaAndreoli 1:370626c9b451 535
AndreaAndreoli 1:370626c9b451 536 /* '<S2>:115:1' Led_Blue = 0; */
AndreaAndreoli 1:370626c9b451 537 Controller_Slave_B->Led_Blue = 0.0;
AndreaAndreoli 1:370626c9b451 538
AndreaAndreoli 1:370626c9b451 539 /* Outport: '<Root>/LED_GREEN' */
AndreaAndreoli 1:370626c9b451 540 /* '<S2>:115:1' Led_Green = uint8(0); */
AndreaAndreoli 1:370626c9b451 541 *Controller_Slave_Y_LED_GREEN = 0U;
AndreaAndreoli 1:370626c9b451 542
AndreaAndreoli 1:370626c9b451 543 /* Outport: '<Root>/ACC' */
AndreaAndreoli 1:370626c9b451 544 /* '<S2>:115:4' Acc = uint8(0); */
AndreaAndreoli 1:370626c9b451 545 *Controller_Slave_Y_ACC = 0U;
AndreaAndreoli 0:88fb7562377b 546 } else {
AndreaAndreoli 0:88fb7562377b 547 Controller_Slave_AEB_QA(&Memory, Controller_Slave_U_V,
AndreaAndreoli 0:88fb7562377b 548 Controller_Slave_U_D_S, Controller_Slave_U_QA_EN, Controller_Slave_Y_BRAKE,
AndreaAndreoli 0:88fb7562377b 549 Controller_Slave_Y_ACC, Controller_Slave_Y_LED_RED,
AndreaAndreoli 0:88fb7562377b 550 Controller_Slave_Y_LED_GREEN, Controller_Slave_Y_SLAVE, Controller_Slave_B,
AndreaAndreoli 0:88fb7562377b 551 Controller_Slave_DW);
AndreaAndreoli 0:88fb7562377b 552 }
AndreaAndreoli 0:88fb7562377b 553
AndreaAndreoli 0:88fb7562377b 554 /* End of Chart: '<S1>/AEB_QA' */
AndreaAndreoli 0:88fb7562377b 555
AndreaAndreoli 0:88fb7562377b 556 /* Chart: '<S1>/select_command' */
AndreaAndreoli 0:88fb7562377b 557 if (Controller_Slave_DW->temporalCounter_i1 < MAX_uint32_T) {
AndreaAndreoli 0:88fb7562377b 558 Controller_Slave_DW->temporalCounter_i1++;
AndreaAndreoli 0:88fb7562377b 559 }
AndreaAndreoli 0:88fb7562377b 560
AndreaAndreoli 0:88fb7562377b 561 /* Gateway: Controller_Slave/select_command */
AndreaAndreoli 0:88fb7562377b 562 /* During: Controller_Slave/select_command */
AndreaAndreoli 0:88fb7562377b 563 if (Controller_Slave_DW->is_active_c6_Controller_Slave == 0U) {
AndreaAndreoli 0:88fb7562377b 564 /* Entry: Controller_Slave/select_command */
AndreaAndreoli 0:88fb7562377b 565 Controller_Slave_DW->is_active_c6_Controller_Slave = 1U;
AndreaAndreoli 0:88fb7562377b 566
AndreaAndreoli 0:88fb7562377b 567 /* Entry Internal: Controller_Slave/select_command */
AndreaAndreoli 0:88fb7562377b 568 /* Transition: '<S3>:2' */
AndreaAndreoli 0:88fb7562377b 569 Controller_Slave_DW->is_c6_Controller_Slave = Controller_Slave_IN_OFF1;
AndreaAndreoli 0:88fb7562377b 570
AndreaAndreoli 0:88fb7562377b 571 /* Outport: '<Root>/LED_BLUE' */
AndreaAndreoli 0:88fb7562377b 572 /* Entry 'OFF1': '<S3>:3' */
AndreaAndreoli 0:88fb7562377b 573 /* '<S3>:3:1' led = uint8(0); */
AndreaAndreoli 0:88fb7562377b 574 *Controller_Slave_Y_LED_BLUE = 0U;
AndreaAndreoli 0:88fb7562377b 575 } else {
AndreaAndreoli 0:88fb7562377b 576 switch (Controller_Slave_DW->is_c6_Controller_Slave) {
AndreaAndreoli 0:88fb7562377b 577 case Controller_Slave_IN_BLINK:
AndreaAndreoli 0:88fb7562377b 578 /* During 'BLINK': '<S3>:20' */
AndreaAndreoli 0:88fb7562377b 579 /* '<S3>:7:1' sf_internal_predicateOutput = ... */
AndreaAndreoli 0:88fb7562377b 580 /* '<S3>:7:1' enable == 1; */
AndreaAndreoli 0:88fb7562377b 581 if (Controller_Slave_B->Led_Blue == 1.0) {
AndreaAndreoli 0:88fb7562377b 582 /* Transition: '<S3>:7' */
AndreaAndreoli 0:88fb7562377b 583 /* Exit Internal 'BLINK': '<S3>:20' */
AndreaAndreoli 0:88fb7562377b 584 Controller_Slave_DW->is_BLINK = Controller_S_IN_NO_ACTIVE_CHILD;
AndreaAndreoli 0:88fb7562377b 585 Controller_Slave_DW->is_c6_Controller_Slave = Controller_Slave_IN_ON;
AndreaAndreoli 0:88fb7562377b 586
AndreaAndreoli 0:88fb7562377b 587 /* Outport: '<Root>/LED_BLUE' */
AndreaAndreoli 0:88fb7562377b 588 /* Entry 'ON': '<S3>:6' */
AndreaAndreoli 0:88fb7562377b 589 /* '<S3>:6:1' led = uint8(1); */
AndreaAndreoli 0:88fb7562377b 590 *Controller_Slave_Y_LED_BLUE = 1U;
AndreaAndreoli 0:88fb7562377b 591 } else {
AndreaAndreoli 0:88fb7562377b 592 /* '<S3>:21:1' sf_internal_predicateOutput = ... */
AndreaAndreoli 0:88fb7562377b 593 /* '<S3>:21:1' enable == 0; */
AndreaAndreoli 0:88fb7562377b 594 if (Controller_Slave_B->Led_Blue == 0.0) {
AndreaAndreoli 0:88fb7562377b 595 /* Transition: '<S3>:21' */
AndreaAndreoli 0:88fb7562377b 596 /* Exit Internal 'BLINK': '<S3>:20' */
AndreaAndreoli 0:88fb7562377b 597 Controller_Slave_DW->is_BLINK = Controller_S_IN_NO_ACTIVE_CHILD;
AndreaAndreoli 0:88fb7562377b 598 Controller_Slave_DW->is_c6_Controller_Slave = Controller_Slave_IN_OFF1;
AndreaAndreoli 0:88fb7562377b 599
AndreaAndreoli 0:88fb7562377b 600 /* Outport: '<Root>/LED_BLUE' */
AndreaAndreoli 0:88fb7562377b 601 /* Entry 'OFF1': '<S3>:3' */
AndreaAndreoli 0:88fb7562377b 602 /* '<S3>:3:1' led = uint8(0); */
AndreaAndreoli 0:88fb7562377b 603 *Controller_Slave_Y_LED_BLUE = 0U;
AndreaAndreoli 0:88fb7562377b 604 } else if (Controller_Slave_DW->is_BLINK ==
AndreaAndreoli 0:88fb7562377b 605 Controller_Slave_IN_BLINK_OFF) {
AndreaAndreoli 0:88fb7562377b 606 /* During 'BLINK_OFF': '<S3>:11' */
AndreaAndreoli 0:88fb7562377b 607 /* '<S3>:14:1' sf_internal_predicateOutput = ... */
AndreaAndreoli 0:88fb7562377b 608 /* '<S3>:14:1' after(1-enable,sec); */
AndreaAndreoli 0:88fb7562377b 609 if (Controller_Slave_DW->temporalCounter_i1 >= (uint32_T)ceil((1.0 -
AndreaAndreoli 0:88fb7562377b 610 Controller_Slave_B->Led_Blue) / 0.1 - 1.0E-9)) {
AndreaAndreoli 0:88fb7562377b 611 /* Transition: '<S3>:14' */
AndreaAndreoli 0:88fb7562377b 612 Controller_Slave_DW->is_BLINK = Controller_Slave_IN_BLINK_ON;
AndreaAndreoli 0:88fb7562377b 613 Controller_Slave_DW->temporalCounter_i1 = 0U;
AndreaAndreoli 0:88fb7562377b 614
AndreaAndreoli 0:88fb7562377b 615 /* Outport: '<Root>/LED_BLUE' */
AndreaAndreoli 0:88fb7562377b 616 /* Entry 'BLINK_ON': '<S3>:13' */
AndreaAndreoli 0:88fb7562377b 617 /* '<S3>:13:1' led = uint8(1); */
AndreaAndreoli 0:88fb7562377b 618 *Controller_Slave_Y_LED_BLUE = 1U;
AndreaAndreoli 0:88fb7562377b 619 }
AndreaAndreoli 0:88fb7562377b 620 } else {
AndreaAndreoli 0:88fb7562377b 621 /* During 'BLINK_ON': '<S3>:13' */
AndreaAndreoli 0:88fb7562377b 622 /* '<S3>:15:1' sf_internal_predicateOutput = ... */
AndreaAndreoli 0:88fb7562377b 623 /* '<S3>:15:1' after(0.1,sec); */
AndreaAndreoli 0:88fb7562377b 624 if (Controller_Slave_DW->temporalCounter_i1 >= 1U) {
AndreaAndreoli 0:88fb7562377b 625 /* Transition: '<S3>:15' */
AndreaAndreoli 0:88fb7562377b 626 Controller_Slave_DW->is_BLINK = Controller_Slave_IN_BLINK_OFF;
AndreaAndreoli 0:88fb7562377b 627 Controller_Slave_DW->temporalCounter_i1 = 0U;
AndreaAndreoli 0:88fb7562377b 628
AndreaAndreoli 0:88fb7562377b 629 /* Outport: '<Root>/LED_BLUE' */
AndreaAndreoli 0:88fb7562377b 630 /* Entry 'BLINK_OFF': '<S3>:11' */
AndreaAndreoli 0:88fb7562377b 631 /* '<S3>:11:1' led = uint8(0); */
AndreaAndreoli 0:88fb7562377b 632 *Controller_Slave_Y_LED_BLUE = 0U;
AndreaAndreoli 0:88fb7562377b 633 }
AndreaAndreoli 0:88fb7562377b 634 }
AndreaAndreoli 0:88fb7562377b 635 }
AndreaAndreoli 0:88fb7562377b 636 break;
AndreaAndreoli 0:88fb7562377b 637
AndreaAndreoli 0:88fb7562377b 638 case Controller_Slave_IN_OFF1:
AndreaAndreoli 0:88fb7562377b 639 /* During 'OFF1': '<S3>:3' */
AndreaAndreoli 0:88fb7562377b 640 /* '<S3>:22:1' sf_internal_predicateOutput = ... */
AndreaAndreoli 0:88fb7562377b 641 /* '<S3>:22:1' enable == 1; */
AndreaAndreoli 0:88fb7562377b 642 if (Controller_Slave_B->Led_Blue == 1.0) {
AndreaAndreoli 0:88fb7562377b 643 /* Transition: '<S3>:22' */
AndreaAndreoli 0:88fb7562377b 644 Controller_Slave_DW->is_c6_Controller_Slave = Controller_Slave_IN_ON;
AndreaAndreoli 0:88fb7562377b 645
AndreaAndreoli 0:88fb7562377b 646 /* Outport: '<Root>/LED_BLUE' */
AndreaAndreoli 0:88fb7562377b 647 /* Entry 'ON': '<S3>:6' */
AndreaAndreoli 0:88fb7562377b 648 /* '<S3>:6:1' led = uint8(1); */
AndreaAndreoli 0:88fb7562377b 649 *Controller_Slave_Y_LED_BLUE = 1U;
AndreaAndreoli 0:88fb7562377b 650 } else {
AndreaAndreoli 0:88fb7562377b 651 /* '<S3>:12:1' sf_internal_predicateOutput = ... */
AndreaAndreoli 0:88fb7562377b 652 /* '<S3>:12:1' enable >0 && enable <1; */
AndreaAndreoli 0:88fb7562377b 653 if ((Controller_Slave_B->Led_Blue > 0.0) &&
AndreaAndreoli 0:88fb7562377b 654 (Controller_Slave_B->Led_Blue < 1.0)) {
AndreaAndreoli 0:88fb7562377b 655 /* Transition: '<S3>:12' */
AndreaAndreoli 0:88fb7562377b 656 Controller_Slave_DW->is_c6_Controller_Slave =
AndreaAndreoli 0:88fb7562377b 657 Controller_Slave_IN_BLINK;
AndreaAndreoli 0:88fb7562377b 658
AndreaAndreoli 0:88fb7562377b 659 /* Entry Internal 'BLINK': '<S3>:20' */
AndreaAndreoli 0:88fb7562377b 660 /* Transition: '<S3>:24' */
AndreaAndreoli 0:88fb7562377b 661 Controller_Slave_DW->is_BLINK = Controller_Slave_IN_BLINK_OFF;
AndreaAndreoli 0:88fb7562377b 662 Controller_Slave_DW->temporalCounter_i1 = 0U;
AndreaAndreoli 0:88fb7562377b 663
AndreaAndreoli 0:88fb7562377b 664 /* Outport: '<Root>/LED_BLUE' */
AndreaAndreoli 0:88fb7562377b 665 /* Entry 'BLINK_OFF': '<S3>:11' */
AndreaAndreoli 0:88fb7562377b 666 /* '<S3>:11:1' led = uint8(0); */
AndreaAndreoli 0:88fb7562377b 667 *Controller_Slave_Y_LED_BLUE = 0U;
AndreaAndreoli 0:88fb7562377b 668 }
AndreaAndreoli 0:88fb7562377b 669 }
AndreaAndreoli 0:88fb7562377b 670 break;
AndreaAndreoli 0:88fb7562377b 671
AndreaAndreoli 0:88fb7562377b 672 default:
AndreaAndreoli 0:88fb7562377b 673 /* During 'ON': '<S3>:6' */
AndreaAndreoli 0:88fb7562377b 674 /* '<S3>:4:1' sf_internal_predicateOutput = ... */
AndreaAndreoli 0:88fb7562377b 675 /* '<S3>:4:1' enable == 0; */
AndreaAndreoli 0:88fb7562377b 676 if (Controller_Slave_B->Led_Blue == 0.0) {
AndreaAndreoli 0:88fb7562377b 677 /* Transition: '<S3>:4' */
AndreaAndreoli 0:88fb7562377b 678 Controller_Slave_DW->is_c6_Controller_Slave = Controller_Slave_IN_OFF1;
AndreaAndreoli 0:88fb7562377b 679
AndreaAndreoli 0:88fb7562377b 680 /* Outport: '<Root>/LED_BLUE' */
AndreaAndreoli 0:88fb7562377b 681 /* Entry 'OFF1': '<S3>:3' */
AndreaAndreoli 0:88fb7562377b 682 /* '<S3>:3:1' led = uint8(0); */
AndreaAndreoli 0:88fb7562377b 683 *Controller_Slave_Y_LED_BLUE = 0U;
AndreaAndreoli 0:88fb7562377b 684 } else {
AndreaAndreoli 0:88fb7562377b 685 /* '<S3>:23:1' sf_internal_predicateOutput = ... */
AndreaAndreoli 0:88fb7562377b 686 /* '<S3>:23:1' enable >0 && enable <1; */
AndreaAndreoli 0:88fb7562377b 687 if ((Controller_Slave_B->Led_Blue > 0.0) &&
AndreaAndreoli 0:88fb7562377b 688 (Controller_Slave_B->Led_Blue < 1.0)) {
AndreaAndreoli 0:88fb7562377b 689 /* Transition: '<S3>:23' */
AndreaAndreoli 0:88fb7562377b 690 Controller_Slave_DW->is_c6_Controller_Slave =
AndreaAndreoli 0:88fb7562377b 691 Controller_Slave_IN_BLINK;
AndreaAndreoli 0:88fb7562377b 692
AndreaAndreoli 0:88fb7562377b 693 /* Entry Internal 'BLINK': '<S3>:20' */
AndreaAndreoli 0:88fb7562377b 694 /* Transition: '<S3>:24' */
AndreaAndreoli 0:88fb7562377b 695 Controller_Slave_DW->is_BLINK = Controller_Slave_IN_BLINK_OFF;
AndreaAndreoli 0:88fb7562377b 696 Controller_Slave_DW->temporalCounter_i1 = 0U;
AndreaAndreoli 0:88fb7562377b 697
AndreaAndreoli 0:88fb7562377b 698 /* Outport: '<Root>/LED_BLUE' */
AndreaAndreoli 0:88fb7562377b 699 /* Entry 'BLINK_OFF': '<S3>:11' */
AndreaAndreoli 0:88fb7562377b 700 /* '<S3>:11:1' led = uint8(0); */
AndreaAndreoli 0:88fb7562377b 701 *Controller_Slave_Y_LED_BLUE = 0U;
AndreaAndreoli 0:88fb7562377b 702 }
AndreaAndreoli 0:88fb7562377b 703 }
AndreaAndreoli 0:88fb7562377b 704 break;
AndreaAndreoli 0:88fb7562377b 705 }
AndreaAndreoli 0:88fb7562377b 706 }
AndreaAndreoli 0:88fb7562377b 707
AndreaAndreoli 0:88fb7562377b 708 /* End of Chart: '<S1>/select_command' */
AndreaAndreoli 0:88fb7562377b 709
AndreaAndreoli 0:88fb7562377b 710 /* Update for Memory: '<S1>/Memory' incorporates:
AndreaAndreoli 0:88fb7562377b 711 * Update for Inport: '<Root>/MASTER'
AndreaAndreoli 0:88fb7562377b 712 */
AndreaAndreoli 0:88fb7562377b 713 Controller_Slave_DW->Memory_PreviousInput = Controller_Slave_U_Master;
AndreaAndreoli 0:88fb7562377b 714
AndreaAndreoli 0:88fb7562377b 715 /* End of Outputs for SubSystem: '<Root>/Controller_Slave' */
AndreaAndreoli 0:88fb7562377b 716 }
AndreaAndreoli 0:88fb7562377b 717
AndreaAndreoli 0:88fb7562377b 718 /* Model initialize function */
AndreaAndreoli 0:88fb7562377b 719 void Controller_Slave_initialize(RT_MODEL_Controller_Slave_T *const
AndreaAndreoli 0:88fb7562377b 720 Controller_Slave_M, real_T *Controller_Slave_U_V, real_T
AndreaAndreoli 0:88fb7562377b 721 *Controller_Slave_U_D_S, uint8_T *Controller_Slave_U_Master, boolean_T
AndreaAndreoli 0:88fb7562377b 722 *Controller_Slave_U_QA_EN, uint8_T *Controller_Slave_Y_BRAKE, uint8_T
AndreaAndreoli 0:88fb7562377b 723 *Controller_Slave_Y_ACC, uint8_T *Controller_Slave_Y_LED_RED, uint8_T
AndreaAndreoli 0:88fb7562377b 724 *Controller_Slave_Y_LED_GREEN, uint8_T *Controller_Slave_Y_LED_BLUE, uint8_T
AndreaAndreoli 0:88fb7562377b 725 *Controller_Slave_Y_SLAVE)
AndreaAndreoli 0:88fb7562377b 726 {
AndreaAndreoli 1:370626c9b451 727 P_Controller_Slave_T *Controller_Slave_P = ((P_Controller_Slave_T *)
AndreaAndreoli 1:370626c9b451 728 Controller_Slave_M->ModelData.defaultParam);
AndreaAndreoli 0:88fb7562377b 729 DW_Controller_Slave_T *Controller_Slave_DW = ((DW_Controller_Slave_T *)
AndreaAndreoli 0:88fb7562377b 730 Controller_Slave_M->ModelData.dwork);
AndreaAndreoli 0:88fb7562377b 731 B_Controller_Slave_T *Controller_Slave_B = ((B_Controller_Slave_T *)
AndreaAndreoli 0:88fb7562377b 732 Controller_Slave_M->ModelData.blockIO);
AndreaAndreoli 0:88fb7562377b 733
AndreaAndreoli 0:88fb7562377b 734 /* Registration code */
AndreaAndreoli 0:88fb7562377b 735
AndreaAndreoli 0:88fb7562377b 736 /* block I/O */
AndreaAndreoli 0:88fb7562377b 737 (void) memset(((void *) Controller_Slave_B), 0,
AndreaAndreoli 0:88fb7562377b 738 sizeof(B_Controller_Slave_T));
AndreaAndreoli 0:88fb7562377b 739
AndreaAndreoli 0:88fb7562377b 740 /* states (dwork) */
AndreaAndreoli 0:88fb7562377b 741 (void) memset((void *)Controller_Slave_DW, 0,
AndreaAndreoli 0:88fb7562377b 742 sizeof(DW_Controller_Slave_T));
AndreaAndreoli 0:88fb7562377b 743
AndreaAndreoli 0:88fb7562377b 744 /* external inputs */
AndreaAndreoli 0:88fb7562377b 745 (*Controller_Slave_U_V) = 0.0;
AndreaAndreoli 0:88fb7562377b 746 (*Controller_Slave_U_D_S) = 0.0;
AndreaAndreoli 0:88fb7562377b 747 (*Controller_Slave_U_Master) = 0U;
AndreaAndreoli 0:88fb7562377b 748 (*Controller_Slave_U_QA_EN) = false;
AndreaAndreoli 0:88fb7562377b 749
AndreaAndreoli 0:88fb7562377b 750 /* external outputs */
AndreaAndreoli 0:88fb7562377b 751 (*Controller_Slave_Y_BRAKE) = 0U;
AndreaAndreoli 0:88fb7562377b 752 (*Controller_Slave_Y_ACC) = 0U;
AndreaAndreoli 0:88fb7562377b 753 (*Controller_Slave_Y_LED_RED) = 0U;
AndreaAndreoli 0:88fb7562377b 754 (*Controller_Slave_Y_LED_GREEN) = 0U;
AndreaAndreoli 0:88fb7562377b 755 (*Controller_Slave_Y_LED_BLUE) = 0U;
AndreaAndreoli 0:88fb7562377b 756 (*Controller_Slave_Y_SLAVE) = 0U;
AndreaAndreoli 0:88fb7562377b 757
AndreaAndreoli 0:88fb7562377b 758 /* SystemInitialize for Atomic SubSystem: '<Root>/Controller_Slave' */
AndreaAndreoli 0:88fb7562377b 759 /* InitializeConditions for Memory: '<S1>/Memory' */
AndreaAndreoli 1:370626c9b451 760 Controller_Slave_DW->Memory_PreviousInput = Controller_Slave_P->Memory_X0;
AndreaAndreoli 0:88fb7562377b 761
AndreaAndreoli 0:88fb7562377b 762 /* SystemInitialize for Chart: '<S1>/AEB_QA' */
AndreaAndreoli 0:88fb7562377b 763 Controller_Slave_DW->is_APPLICATION_THREAD = Controller_S_IN_NO_ACTIVE_CHILD;
AndreaAndreoli 0:88fb7562377b 764 Controller_Slave_DW->is_AEB_ACTIVE = Controller_S_IN_NO_ACTIVE_CHILD;
AndreaAndreoli 0:88fb7562377b 765 Controller_Slave_DW->is_QA_ACTIVE = Controller_S_IN_NO_ACTIVE_CHILD;
AndreaAndreoli 0:88fb7562377b 766 Controller_Slave_DW->is_ERRORS_CHECK_THREAD = Controller_S_IN_NO_ACTIVE_CHILD;
AndreaAndreoli 0:88fb7562377b 767 Controller_Slave_DW->is_active_c5_Controller_Slave = 0U;
AndreaAndreoli 0:88fb7562377b 768 Controller_Slave_DW->En = false;
AndreaAndreoli 0:88fb7562377b 769
AndreaAndreoli 0:88fb7562377b 770 /* SystemInitialize for Chart: '<S1>/select_command' */
AndreaAndreoli 0:88fb7562377b 771 Controller_Slave_DW->is_BLINK = Controller_S_IN_NO_ACTIVE_CHILD;
AndreaAndreoli 0:88fb7562377b 772 Controller_Slave_DW->temporalCounter_i1 = 0U;
AndreaAndreoli 0:88fb7562377b 773 Controller_Slave_DW->is_active_c6_Controller_Slave = 0U;
AndreaAndreoli 0:88fb7562377b 774 Controller_Slave_DW->is_c6_Controller_Slave = Controller_S_IN_NO_ACTIVE_CHILD;
AndreaAndreoli 0:88fb7562377b 775
AndreaAndreoli 0:88fb7562377b 776 /* End of SystemInitialize for SubSystem: '<Root>/Controller_Slave' */
AndreaAndreoli 0:88fb7562377b 777 }
AndreaAndreoli 0:88fb7562377b 778
AndreaAndreoli 0:88fb7562377b 779 /* Model terminate function */
AndreaAndreoli 0:88fb7562377b 780 void Controller_Slave_terminate(RT_MODEL_Controller_Slave_T *const
AndreaAndreoli 0:88fb7562377b 781 Controller_Slave_M)
AndreaAndreoli 0:88fb7562377b 782 {
AndreaAndreoli 0:88fb7562377b 783 /* (no terminate code required) */
AndreaAndreoli 0:88fb7562377b 784 UNUSED_PARAMETER(Controller_Slave_M);
AndreaAndreoli 0:88fb7562377b 785 }
AndreaAndreoli 0:88fb7562377b 786
AndreaAndreoli 0:88fb7562377b 787 /*
AndreaAndreoli 0:88fb7562377b 788 * File trailer for generated code.
AndreaAndreoli 0:88fb7562377b 789 *
AndreaAndreoli 0:88fb7562377b 790 * [EOF]
AndreaAndreoli 0:88fb7562377b 791 */
AndreaAndreoli 0:88fb7562377b 792