Library for the master controller

Dependents:   Test_Controller_Master AEB

Committer:
AndreaAndreoli
Date:
Wed Jul 06 08:22:31 2016 +0000
Revision:
2:d114feef8f3b
Parent:
1:03ec2e1d1008
Child:
3:66d07e7a134a
added QA function

Who changed what in which revision?

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