Test program for master controller

Dependencies:   Controller_Master mbed

Committer:
AndreaAndreoli
Date:
Sat Jun 04 16:58:50 2016 +0000
Revision:
0:ae1df001727e
First commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AndreaAndreoli 0:ae1df001727e 1 /*
AndreaAndreoli 0:ae1df001727e 2 * Academic License - for use in teaching, academic research, and meeting
AndreaAndreoli 0:ae1df001727e 3 * course requirements at degree granting institutions only. Not for
AndreaAndreoli 0:ae1df001727e 4 * government, commercial, or other organizational use.
AndreaAndreoli 0:ae1df001727e 5 *
AndreaAndreoli 0:ae1df001727e 6 * File: Controller_Master.c
AndreaAndreoli 0:ae1df001727e 7 *
AndreaAndreoli 0:ae1df001727e 8 * Code generated for Simulink model 'Controller_Master'.
AndreaAndreoli 0:ae1df001727e 9 *
AndreaAndreoli 0:ae1df001727e 10 * Model version : 1.0
AndreaAndreoli 0:ae1df001727e 11 * Simulink Coder version : 8.10 (R2016a) 10-Feb-2016
AndreaAndreoli 0:ae1df001727e 12 * C/C++ source code generated on : Sat Jun 04 17:59:52 2016
AndreaAndreoli 0:ae1df001727e 13 *
AndreaAndreoli 0:ae1df001727e 14 * Target selection: ert.tlc
AndreaAndreoli 0:ae1df001727e 15 * Embedded hardware selection: NXP->Cortex-M4
AndreaAndreoli 0:ae1df001727e 16 * Code generation objectives: Unspecified
AndreaAndreoli 0:ae1df001727e 17 * Validation result: Not run
AndreaAndreoli 0:ae1df001727e 18 */
AndreaAndreoli 0:ae1df001727e 19
AndreaAndreoli 0:ae1df001727e 20 #include "Controller_Master.h"
AndreaAndreoli 0:ae1df001727e 21
AndreaAndreoli 0:ae1df001727e 22 /* Named constants for Chart: '<S1>/AEB' */
AndreaAndreoli 0:ae1df001727e 23 #define Controller_M_IN_NO_ACTIVE_CHILD ((uint8_T)0U)
AndreaAndreoli 0:ae1df001727e 24 #define Controller_Master_IN_ACTIVE ((uint8_T)1U)
AndreaAndreoli 0:ae1df001727e 25 #define Controller_Master_IN_BRAKE ((uint8_T)1U)
AndreaAndreoli 0:ae1df001727e 26 #define Controller_Master_IN_ERR ((uint8_T)1U)
AndreaAndreoli 0:ae1df001727e 27 #define Controller_Master_IN_IDLE ((uint8_T)2U)
AndreaAndreoli 0:ae1df001727e 28 #define Controller_Master_IN_OK ((uint8_T)2U)
AndreaAndreoli 0:ae1df001727e 29 #define Controller_Master_IN_READY ((uint8_T)2U)
AndreaAndreoli 0:ae1df001727e 30 #define Controller_Master_IN_WARNING ((uint8_T)3U)
AndreaAndreoli 0:ae1df001727e 31
AndreaAndreoli 0:ae1df001727e 32 /* Named constants for Chart: '<S1>/select_command' */
AndreaAndreoli 0:ae1df001727e 33 #define Controller_Master_IN_BLINK ((uint8_T)1U)
AndreaAndreoli 0:ae1df001727e 34 #define Controller_Master_IN_BLINK_OFF ((uint8_T)1U)
AndreaAndreoli 0:ae1df001727e 35 #define Controller_Master_IN_BLINK_ON ((uint8_T)2U)
AndreaAndreoli 0:ae1df001727e 36 #define Controller_Master_IN_OFF1 ((uint8_T)2U)
AndreaAndreoli 0:ae1df001727e 37 #define Controller_Master_IN_ON ((uint8_T)3U)
AndreaAndreoli 0:ae1df001727e 38
AndreaAndreoli 0:ae1df001727e 39 /*===========*
AndreaAndreoli 0:ae1df001727e 40 * Constants *
AndreaAndreoli 0:ae1df001727e 41 *===========*/
AndreaAndreoli 0:ae1df001727e 42 #define RT_PI 3.14159265358979323846
AndreaAndreoli 0:ae1df001727e 43 #define RT_PIF 3.1415927F
AndreaAndreoli 0:ae1df001727e 44 #define RT_LN_10 2.30258509299404568402
AndreaAndreoli 0:ae1df001727e 45 #define RT_LN_10F 2.3025851F
AndreaAndreoli 0:ae1df001727e 46 #define RT_LOG10E 0.43429448190325182765
AndreaAndreoli 0:ae1df001727e 47 #define RT_LOG10EF 0.43429449F
AndreaAndreoli 0:ae1df001727e 48 #define RT_E 2.7182818284590452354
AndreaAndreoli 0:ae1df001727e 49 #define RT_EF 2.7182817F
AndreaAndreoli 0:ae1df001727e 50
AndreaAndreoli 0:ae1df001727e 51 /*
AndreaAndreoli 0:ae1df001727e 52 * UNUSED_PARAMETER(x)
AndreaAndreoli 0:ae1df001727e 53 * Used to specify that a function parameter (argument) is required but not
AndreaAndreoli 0:ae1df001727e 54 * accessed by the function body.
AndreaAndreoli 0:ae1df001727e 55 */
AndreaAndreoli 0:ae1df001727e 56 #ifndef UNUSED_PARAMETER
AndreaAndreoli 0:ae1df001727e 57 # if defined(__LCC__)
AndreaAndreoli 0:ae1df001727e 58 # define UNUSED_PARAMETER(x) /* do nothing */
AndreaAndreoli 0:ae1df001727e 59 # else
AndreaAndreoli 0:ae1df001727e 60
AndreaAndreoli 0:ae1df001727e 61 /*
AndreaAndreoli 0:ae1df001727e 62 * This is the semi-ANSI standard way of indicating that an
AndreaAndreoli 0:ae1df001727e 63 * unused function parameter is required.
AndreaAndreoli 0:ae1df001727e 64 */
AndreaAndreoli 0:ae1df001727e 65 # define UNUSED_PARAMETER(x) (void) (x)
AndreaAndreoli 0:ae1df001727e 66 # endif
AndreaAndreoli 0:ae1df001727e 67 #endif
AndreaAndreoli 0:ae1df001727e 68
AndreaAndreoli 0:ae1df001727e 69 /* Model step function */
AndreaAndreoli 0:ae1df001727e 70 void Controller_Master_step(RT_MODEL_Controller_Master_T *const
AndreaAndreoli 0:ae1df001727e 71 Controller_Master_M, real_T Controller_Master_U_V, real_T
AndreaAndreoli 0:ae1df001727e 72 Controller_Master_U_D_M, uint8_T Controller_Master_U_Slave, uint8_T
AndreaAndreoli 0:ae1df001727e 73 *Controller_Master_Y_BRAKE, uint8_T *Controller_Master_Y_LED_BLUE, uint8_T
AndreaAndreoli 0:ae1df001727e 74 *Controller_Master_Y_LED_RED, uint8_T *Controller_Master_Y_MASTER)
AndreaAndreoli 0:ae1df001727e 75 {
AndreaAndreoli 0:ae1df001727e 76 B_Controller_Master_T *Controller_Master_B = ((B_Controller_Master_T *)
AndreaAndreoli 0:ae1df001727e 77 Controller_Master_M->ModelData.blockIO);
AndreaAndreoli 0:ae1df001727e 78 DW_Controller_Master_T *Controller_Master_DW = ((DW_Controller_Master_T *)
AndreaAndreoli 0:ae1df001727e 79 Controller_Master_M->ModelData.dwork);
AndreaAndreoli 0:ae1df001727e 80 real_T K;
AndreaAndreoli 0:ae1df001727e 81
AndreaAndreoli 0:ae1df001727e 82 /* Outputs for Atomic SubSystem: '<Root>/Controller_Master' */
AndreaAndreoli 0:ae1df001727e 83 /* Chart: '<S1>/AEB' incorporates:
AndreaAndreoli 0:ae1df001727e 84 * Inport: '<Root>/D_M'
AndreaAndreoli 0:ae1df001727e 85 * Inport: '<Root>/V'
AndreaAndreoli 0:ae1df001727e 86 * Memory: '<S1>/Memory'
AndreaAndreoli 0:ae1df001727e 87 */
AndreaAndreoli 0:ae1df001727e 88 /* Gateway: Controller_Master/AEB */
AndreaAndreoli 0:ae1df001727e 89 /* During: Controller_Master/AEB */
AndreaAndreoli 0:ae1df001727e 90 if (Controller_Master_DW->is_active_c3_Controller_Master == 0U) {
AndreaAndreoli 0:ae1df001727e 91 /* Entry: Controller_Master/AEB */
AndreaAndreoli 0:ae1df001727e 92 Controller_Master_DW->is_active_c3_Controller_Master = 1U;
AndreaAndreoli 0:ae1df001727e 93
AndreaAndreoli 0:ae1df001727e 94 /* Entry Internal: Controller_Master/AEB */
AndreaAndreoli 0:ae1df001727e 95 /* Entry Internal 'AEB': '<S2>:35' */
AndreaAndreoli 0:ae1df001727e 96 /* Entry Internal 'ERRORS_CHECK_THREAD': '<S2>:33' */
AndreaAndreoli 0:ae1df001727e 97 /* Transition: '<S2>:38' */
AndreaAndreoli 0:ae1df001727e 98 Controller_Master_DW->is_ERRORS_CHECK_THREAD = Controller_Master_IN_OK;
AndreaAndreoli 0:ae1df001727e 99
AndreaAndreoli 0:ae1df001727e 100 /* Outport: '<Root>/LED_RED' */
AndreaAndreoli 0:ae1df001727e 101 /* Entry 'OK': '<S2>:37' */
AndreaAndreoli 0:ae1df001727e 102 /* '<S2>:37:1' Led_Red =uint8(0); */
AndreaAndreoli 0:ae1df001727e 103 *Controller_Master_Y_LED_RED = 0U;
AndreaAndreoli 0:ae1df001727e 104
AndreaAndreoli 0:ae1df001727e 105 /* Outport: '<Root>/MASTER' */
AndreaAndreoli 0:ae1df001727e 106 /* '<S2>:37:1' Master = uint8(1); */
AndreaAndreoli 0:ae1df001727e 107 *Controller_Master_Y_MASTER = 1U;
AndreaAndreoli 0:ae1df001727e 108
AndreaAndreoli 0:ae1df001727e 109 /* Entry Internal 'APPLICATION_THREAD': '<S2>:32' */
AndreaAndreoli 0:ae1df001727e 110 /* Transition: '<S2>:27' */
AndreaAndreoli 0:ae1df001727e 111 Controller_Master_DW->is_APPLICATION_THREAD = Controller_Master_IN_READY;
AndreaAndreoli 0:ae1df001727e 112
AndreaAndreoli 0:ae1df001727e 113 /* Outport: '<Root>/BRAKE' */
AndreaAndreoli 0:ae1df001727e 114 /* Entry 'READY': '<S2>:21' */
AndreaAndreoli 0:ae1df001727e 115 /* '<S2>:21:1' Brake = uint8(0); */
AndreaAndreoli 0:ae1df001727e 116 *Controller_Master_Y_BRAKE = 0U;
AndreaAndreoli 0:ae1df001727e 117
AndreaAndreoli 0:ae1df001727e 118 /* '<S2>:21:1' Led_Blue = 0; */
AndreaAndreoli 0:ae1df001727e 119 Controller_Master_B->Led_Blue = 0.0;
AndreaAndreoli 0:ae1df001727e 120 } else {
AndreaAndreoli 0:ae1df001727e 121 /* During 'AEB': '<S2>:35' */
AndreaAndreoli 0:ae1df001727e 122 /* During 'ERRORS_CHECK_THREAD': '<S2>:33' */
AndreaAndreoli 0:ae1df001727e 123 if (Controller_Master_DW->is_ERRORS_CHECK_THREAD != Controller_Master_IN_ERR)
AndreaAndreoli 0:ae1df001727e 124 {
AndreaAndreoli 0:ae1df001727e 125 /* During 'OK': '<S2>:37' */
AndreaAndreoli 0:ae1df001727e 126 /* '<S2>:46:1' sf_internal_predicateOutput = ... */
AndreaAndreoli 0:ae1df001727e 127 /* '<S2>:46:1' V > 180 || D > 200 || D < 0; */
AndreaAndreoli 0:ae1df001727e 128 if ((Controller_Master_U_V > 180.0) || (Controller_Master_U_D_M > 200.0) ||
AndreaAndreoli 0:ae1df001727e 129 (Controller_Master_U_D_M < 0.0)) {
AndreaAndreoli 0:ae1df001727e 130 /* Transition: '<S2>:46' */
AndreaAndreoli 0:ae1df001727e 131 Controller_Master_DW->is_ERRORS_CHECK_THREAD = Controller_Master_IN_ERR;
AndreaAndreoli 0:ae1df001727e 132
AndreaAndreoli 0:ae1df001727e 133 /* Outport: '<Root>/LED_RED' */
AndreaAndreoli 0:ae1df001727e 134 /* Entry 'ERR': '<S2>:42' */
AndreaAndreoli 0:ae1df001727e 135 /* '<S2>:42:1' Led_Red = uint8(1); */
AndreaAndreoli 0:ae1df001727e 136 *Controller_Master_Y_LED_RED = 1U;
AndreaAndreoli 0:ae1df001727e 137
AndreaAndreoli 0:ae1df001727e 138 /* Outport: '<Root>/MASTER' */
AndreaAndreoli 0:ae1df001727e 139 /* Entry 'SENSOR_ERR': '<S2>:39' */
AndreaAndreoli 0:ae1df001727e 140 /* '<S2>:39:1' Master = uint8(0) ; */
AndreaAndreoli 0:ae1df001727e 141 /* '<S2>:39:1' En = false; */
AndreaAndreoli 0:ae1df001727e 142 /* '<S2>:39:1' Brake = uint8(0); */
AndreaAndreoli 0:ae1df001727e 143 /* '<S2>:39:3' Led_Blue = 0; */
AndreaAndreoli 0:ae1df001727e 144 /* Entry 'MCU_ERR': '<S2>:40' */
AndreaAndreoli 0:ae1df001727e 145 /* '<S2>:40:1' Master = uint8(0) ; */
AndreaAndreoli 0:ae1df001727e 146 *Controller_Master_Y_MASTER = 0U;
AndreaAndreoli 0:ae1df001727e 147
AndreaAndreoli 0:ae1df001727e 148 /* '<S2>:40:1' En = false; */
AndreaAndreoli 0:ae1df001727e 149 Controller_Master_DW->En = false;
AndreaAndreoli 0:ae1df001727e 150
AndreaAndreoli 0:ae1df001727e 151 /* Outport: '<Root>/BRAKE' */
AndreaAndreoli 0:ae1df001727e 152 /* '<S2>:40:1' Brake = uint8(0); */
AndreaAndreoli 0:ae1df001727e 153 *Controller_Master_Y_BRAKE = 0U;
AndreaAndreoli 0:ae1df001727e 154
AndreaAndreoli 0:ae1df001727e 155 /* '<S2>:40:3' Led_Blue = 0; */
AndreaAndreoli 0:ae1df001727e 156 Controller_Master_B->Led_Blue = 0.0;
AndreaAndreoli 0:ae1df001727e 157 } else {
AndreaAndreoli 0:ae1df001727e 158 /* '<S2>:43:1' sf_internal_predicateOutput = ... */
AndreaAndreoli 0:ae1df001727e 159 /* '<S2>:43:1' D == 0; */
AndreaAndreoli 0:ae1df001727e 160 if (Controller_Master_U_D_M == 0.0) {
AndreaAndreoli 0:ae1df001727e 161 /* Transition: '<S2>:43' */
AndreaAndreoli 0:ae1df001727e 162 Controller_Master_DW->is_ERRORS_CHECK_THREAD =
AndreaAndreoli 0:ae1df001727e 163 Controller_Master_IN_ERR;
AndreaAndreoli 0:ae1df001727e 164
AndreaAndreoli 0:ae1df001727e 165 /* Outport: '<Root>/LED_RED' */
AndreaAndreoli 0:ae1df001727e 166 /* Entry 'ERR': '<S2>:42' */
AndreaAndreoli 0:ae1df001727e 167 /* '<S2>:42:1' Led_Red = uint8(1); */
AndreaAndreoli 0:ae1df001727e 168 *Controller_Master_Y_LED_RED = 1U;
AndreaAndreoli 0:ae1df001727e 169
AndreaAndreoli 0:ae1df001727e 170 /* Outport: '<Root>/MASTER' */
AndreaAndreoli 0:ae1df001727e 171 /* Entry 'SENSOR_ERR': '<S2>:39' */
AndreaAndreoli 0:ae1df001727e 172 /* '<S2>:39:1' Master = uint8(0) ; */
AndreaAndreoli 0:ae1df001727e 173 /* '<S2>:39:1' En = false; */
AndreaAndreoli 0:ae1df001727e 174 /* '<S2>:39:1' Brake = uint8(0); */
AndreaAndreoli 0:ae1df001727e 175 /* '<S2>:39:3' Led_Blue = 0; */
AndreaAndreoli 0:ae1df001727e 176 /* Entry 'MCU_ERR': '<S2>:40' */
AndreaAndreoli 0:ae1df001727e 177 /* '<S2>:40:1' Master = uint8(0) ; */
AndreaAndreoli 0:ae1df001727e 178 *Controller_Master_Y_MASTER = 0U;
AndreaAndreoli 0:ae1df001727e 179
AndreaAndreoli 0:ae1df001727e 180 /* '<S2>:40:1' En = false; */
AndreaAndreoli 0:ae1df001727e 181 Controller_Master_DW->En = false;
AndreaAndreoli 0:ae1df001727e 182
AndreaAndreoli 0:ae1df001727e 183 /* Outport: '<Root>/BRAKE' */
AndreaAndreoli 0:ae1df001727e 184 /* '<S2>:40:1' Brake = uint8(0); */
AndreaAndreoli 0:ae1df001727e 185 *Controller_Master_Y_BRAKE = 0U;
AndreaAndreoli 0:ae1df001727e 186
AndreaAndreoli 0:ae1df001727e 187 /* '<S2>:40:3' Led_Blue = 0; */
AndreaAndreoli 0:ae1df001727e 188 Controller_Master_B->Led_Blue = 0.0;
AndreaAndreoli 0:ae1df001727e 189 } else {
AndreaAndreoli 0:ae1df001727e 190 /* '<S2>:45:1' sf_internal_predicateOutput = ... */
AndreaAndreoli 0:ae1df001727e 191 /* '<S2>:45:1' Slave ~= 1; */
AndreaAndreoli 0:ae1df001727e 192 if (Controller_Master_DW->Memory_PreviousInput != 1) {
AndreaAndreoli 0:ae1df001727e 193 /* Transition: '<S2>:45' */
AndreaAndreoli 0:ae1df001727e 194 Controller_Master_DW->is_ERRORS_CHECK_THREAD =
AndreaAndreoli 0:ae1df001727e 195 Controller_Master_IN_ERR;
AndreaAndreoli 0:ae1df001727e 196
AndreaAndreoli 0:ae1df001727e 197 /* Outport: '<Root>/LED_RED' */
AndreaAndreoli 0:ae1df001727e 198 /* Entry 'ERR': '<S2>:42' */
AndreaAndreoli 0:ae1df001727e 199 /* '<S2>:42:1' Led_Red = uint8(1); */
AndreaAndreoli 0:ae1df001727e 200 *Controller_Master_Y_LED_RED = 1U;
AndreaAndreoli 0:ae1df001727e 201
AndreaAndreoli 0:ae1df001727e 202 /* Outport: '<Root>/MASTER' */
AndreaAndreoli 0:ae1df001727e 203 /* Entry 'SENSOR_ERR': '<S2>:39' */
AndreaAndreoli 0:ae1df001727e 204 /* '<S2>:39:1' Master = uint8(0) ; */
AndreaAndreoli 0:ae1df001727e 205 /* '<S2>:39:1' En = false; */
AndreaAndreoli 0:ae1df001727e 206 /* '<S2>:39:1' Brake = uint8(0); */
AndreaAndreoli 0:ae1df001727e 207 /* '<S2>:39:3' Led_Blue = 0; */
AndreaAndreoli 0:ae1df001727e 208 /* Entry 'MCU_ERR': '<S2>:40' */
AndreaAndreoli 0:ae1df001727e 209 /* '<S2>:40:1' Master = uint8(0) ; */
AndreaAndreoli 0:ae1df001727e 210 *Controller_Master_Y_MASTER = 0U;
AndreaAndreoli 0:ae1df001727e 211
AndreaAndreoli 0:ae1df001727e 212 /* '<S2>:40:1' En = false; */
AndreaAndreoli 0:ae1df001727e 213 Controller_Master_DW->En = false;
AndreaAndreoli 0:ae1df001727e 214
AndreaAndreoli 0:ae1df001727e 215 /* Outport: '<Root>/BRAKE' */
AndreaAndreoli 0:ae1df001727e 216 /* '<S2>:40:1' Brake = uint8(0); */
AndreaAndreoli 0:ae1df001727e 217 *Controller_Master_Y_BRAKE = 0U;
AndreaAndreoli 0:ae1df001727e 218
AndreaAndreoli 0:ae1df001727e 219 /* '<S2>:40:3' Led_Blue = 0; */
AndreaAndreoli 0:ae1df001727e 220 Controller_Master_B->Led_Blue = 0.0;
AndreaAndreoli 0:ae1df001727e 221 }
AndreaAndreoli 0:ae1df001727e 222 }
AndreaAndreoli 0:ae1df001727e 223 }
AndreaAndreoli 0:ae1df001727e 224 } else {
AndreaAndreoli 0:ae1df001727e 225 /* During 'ERR': '<S2>:42' */
AndreaAndreoli 0:ae1df001727e 226 /* During 'SENSOR_ERR': '<S2>:39' */
AndreaAndreoli 0:ae1df001727e 227 /* During 'MCU_ERR': '<S2>:40' */
AndreaAndreoli 0:ae1df001727e 228 /* During 'SLAVE_ERR': '<S2>:41' */
AndreaAndreoli 0:ae1df001727e 229 }
AndreaAndreoli 0:ae1df001727e 230
AndreaAndreoli 0:ae1df001727e 231 /* During 'APPLICATION_THREAD': '<S2>:32' */
AndreaAndreoli 0:ae1df001727e 232 if (Controller_Master_DW->is_APPLICATION_THREAD ==
AndreaAndreoli 0:ae1df001727e 233 Controller_Master_IN_ACTIVE) {
AndreaAndreoli 0:ae1df001727e 234 /* During 'ACTIVE': '<S2>:1' */
AndreaAndreoli 0:ae1df001727e 235 /* '<S2>:26:1' sf_internal_predicateOutput = ... */
AndreaAndreoli 0:ae1df001727e 236 /* '<S2>:26:1' En == false; */
AndreaAndreoli 0:ae1df001727e 237 if (!Controller_Master_DW->En) {
AndreaAndreoli 0:ae1df001727e 238 /* Transition: '<S2>:26' */
AndreaAndreoli 0:ae1df001727e 239 /* Exit Internal 'ACTIVE': '<S2>:1' */
AndreaAndreoli 0:ae1df001727e 240 Controller_Master_DW->is_ACTIVE = Controller_M_IN_NO_ACTIVE_CHILD;
AndreaAndreoli 0:ae1df001727e 241 Controller_Master_DW->is_APPLICATION_THREAD = Controller_Master_IN_READY;
AndreaAndreoli 0:ae1df001727e 242
AndreaAndreoli 0:ae1df001727e 243 /* Outport: '<Root>/BRAKE' */
AndreaAndreoli 0:ae1df001727e 244 /* Entry 'READY': '<S2>:21' */
AndreaAndreoli 0:ae1df001727e 245 /* '<S2>:21:1' Brake = uint8(0); */
AndreaAndreoli 0:ae1df001727e 246 *Controller_Master_Y_BRAKE = 0U;
AndreaAndreoli 0:ae1df001727e 247
AndreaAndreoli 0:ae1df001727e 248 /* '<S2>:21:1' Led_Blue = 0; */
AndreaAndreoli 0:ae1df001727e 249 Controller_Master_B->Led_Blue = 0.0;
AndreaAndreoli 0:ae1df001727e 250 } else {
AndreaAndreoli 0:ae1df001727e 251 /* '<S2>:1:1' K = (V^2)/D; */
AndreaAndreoli 0:ae1df001727e 252 K = Controller_Master_U_V * Controller_Master_U_V /
AndreaAndreoli 0:ae1df001727e 253 Controller_Master_U_D_M;
AndreaAndreoli 0:ae1df001727e 254 switch (Controller_Master_DW->is_ACTIVE) {
AndreaAndreoli 0:ae1df001727e 255 case Controller_Master_IN_BRAKE:
AndreaAndreoli 0:ae1df001727e 256 /* During 'BRAKE': '<S2>:3' */
AndreaAndreoli 0:ae1df001727e 257 /* '<S2>:10:1' sf_internal_predicateOutput = ... */
AndreaAndreoli 0:ae1df001727e 258 /* '<S2>:10:1' K < 100; */
AndreaAndreoli 0:ae1df001727e 259 if (K < 100.0) {
AndreaAndreoli 0:ae1df001727e 260 /* Transition: '<S2>:10' */
AndreaAndreoli 0:ae1df001727e 261 Controller_Master_DW->is_ACTIVE = Controller_Master_IN_WARNING;
AndreaAndreoli 0:ae1df001727e 262
AndreaAndreoli 0:ae1df001727e 263 /* Outport: '<Root>/BRAKE' */
AndreaAndreoli 0:ae1df001727e 264 /* Entry 'WARNING': '<S2>:5' */
AndreaAndreoli 0:ae1df001727e 265 /* '<S2>:5:1' Brake = uint8(0); */
AndreaAndreoli 0:ae1df001727e 266 *Controller_Master_Y_BRAKE = 0U;
AndreaAndreoli 0:ae1df001727e 267 }
AndreaAndreoli 0:ae1df001727e 268 break;
AndreaAndreoli 0:ae1df001727e 269
AndreaAndreoli 0:ae1df001727e 270 case Controller_Master_IN_IDLE:
AndreaAndreoli 0:ae1df001727e 271 /* During 'IDLE': '<S2>:6' */
AndreaAndreoli 0:ae1df001727e 272 /* '<S2>:12:1' sf_internal_predicateOutput = ... */
AndreaAndreoli 0:ae1df001727e 273 /* '<S2>:12:1' K >= 70; */
AndreaAndreoli 0:ae1df001727e 274 if (K >= 70.0) {
AndreaAndreoli 0:ae1df001727e 275 /* Transition: '<S2>:12' */
AndreaAndreoli 0:ae1df001727e 276 Controller_Master_DW->is_ACTIVE = Controller_Master_IN_WARNING;
AndreaAndreoli 0:ae1df001727e 277
AndreaAndreoli 0:ae1df001727e 278 /* Outport: '<Root>/BRAKE' */
AndreaAndreoli 0:ae1df001727e 279 /* Entry 'WARNING': '<S2>:5' */
AndreaAndreoli 0:ae1df001727e 280 /* '<S2>:5:1' Brake = uint8(0); */
AndreaAndreoli 0:ae1df001727e 281 *Controller_Master_Y_BRAKE = 0U;
AndreaAndreoli 0:ae1df001727e 282 }
AndreaAndreoli 0:ae1df001727e 283 break;
AndreaAndreoli 0:ae1df001727e 284
AndreaAndreoli 0:ae1df001727e 285 default:
AndreaAndreoli 0:ae1df001727e 286 /* During 'WARNING': '<S2>:5' */
AndreaAndreoli 0:ae1df001727e 287 /* '<S2>:9:1' sf_internal_predicateOutput = ... */
AndreaAndreoli 0:ae1df001727e 288 /* '<S2>:9:1' K >= 100; */
AndreaAndreoli 0:ae1df001727e 289 if (K >= 100.0) {
AndreaAndreoli 0:ae1df001727e 290 /* Transition: '<S2>:9' */
AndreaAndreoli 0:ae1df001727e 291 Controller_Master_DW->is_ACTIVE = Controller_Master_IN_BRAKE;
AndreaAndreoli 0:ae1df001727e 292
AndreaAndreoli 0:ae1df001727e 293 /* Outport: '<Root>/BRAKE' */
AndreaAndreoli 0:ae1df001727e 294 /* Entry 'BRAKE': '<S2>:3' */
AndreaAndreoli 0:ae1df001727e 295 /* '<S2>:3:1' Brake = uint8(1); */
AndreaAndreoli 0:ae1df001727e 296 *Controller_Master_Y_BRAKE = 1U;
AndreaAndreoli 0:ae1df001727e 297
AndreaAndreoli 0:ae1df001727e 298 /* '<S2>:3:1' Led_Blue = 1; */
AndreaAndreoli 0:ae1df001727e 299 Controller_Master_B->Led_Blue = 1.0;
AndreaAndreoli 0:ae1df001727e 300 } else {
AndreaAndreoli 0:ae1df001727e 301 /* '<S2>:11:1' sf_internal_predicateOutput = ... */
AndreaAndreoli 0:ae1df001727e 302 /* '<S2>:11:1' K < 70; */
AndreaAndreoli 0:ae1df001727e 303 if (K < 70.0) {
AndreaAndreoli 0:ae1df001727e 304 /* Transition: '<S2>:11' */
AndreaAndreoli 0:ae1df001727e 305 Controller_Master_DW->is_ACTIVE = Controller_Master_IN_IDLE;
AndreaAndreoli 0:ae1df001727e 306
AndreaAndreoli 0:ae1df001727e 307 /* Outport: '<Root>/BRAKE' */
AndreaAndreoli 0:ae1df001727e 308 /* Entry 'IDLE': '<S2>:6' */
AndreaAndreoli 0:ae1df001727e 309 /* '<S2>:6:1' Brake = uint8(0); */
AndreaAndreoli 0:ae1df001727e 310 *Controller_Master_Y_BRAKE = 0U;
AndreaAndreoli 0:ae1df001727e 311
AndreaAndreoli 0:ae1df001727e 312 /* '<S2>:6:1' Led_Blue = 0; */
AndreaAndreoli 0:ae1df001727e 313 Controller_Master_B->Led_Blue = 0.0;
AndreaAndreoli 0:ae1df001727e 314 } else {
AndreaAndreoli 0:ae1df001727e 315 /* '<S2>:5:1' Led_Blue = (K-70)/30; */
AndreaAndreoli 0:ae1df001727e 316 Controller_Master_B->Led_Blue = (K - 70.0) / 30.0;
AndreaAndreoli 0:ae1df001727e 317 }
AndreaAndreoli 0:ae1df001727e 318 }
AndreaAndreoli 0:ae1df001727e 319 break;
AndreaAndreoli 0:ae1df001727e 320 }
AndreaAndreoli 0:ae1df001727e 321 }
AndreaAndreoli 0:ae1df001727e 322 } else {
AndreaAndreoli 0:ae1df001727e 323 /* During 'READY': '<S2>:21' */
AndreaAndreoli 0:ae1df001727e 324 /* '<S2>:23:1' sf_internal_predicateOutput = ... */
AndreaAndreoli 0:ae1df001727e 325 /* '<S2>:23:1' En == true; */
AndreaAndreoli 0:ae1df001727e 326 if (Controller_Master_DW->En) {
AndreaAndreoli 0:ae1df001727e 327 /* Transition: '<S2>:23' */
AndreaAndreoli 0:ae1df001727e 328 Controller_Master_DW->is_APPLICATION_THREAD =
AndreaAndreoli 0:ae1df001727e 329 Controller_Master_IN_ACTIVE;
AndreaAndreoli 0:ae1df001727e 330
AndreaAndreoli 0:ae1df001727e 331 /* Entry 'ACTIVE': '<S2>:1' */
AndreaAndreoli 0:ae1df001727e 332 /* '<S2>:1:1' K = (V^2)/D; */
AndreaAndreoli 0:ae1df001727e 333 /* Entry Internal 'ACTIVE': '<S2>:1' */
AndreaAndreoli 0:ae1df001727e 334 /* Transition: '<S2>:51' */
AndreaAndreoli 0:ae1df001727e 335 Controller_Master_DW->is_ACTIVE = Controller_Master_IN_IDLE;
AndreaAndreoli 0:ae1df001727e 336
AndreaAndreoli 0:ae1df001727e 337 /* Outport: '<Root>/BRAKE' */
AndreaAndreoli 0:ae1df001727e 338 /* Entry 'IDLE': '<S2>:6' */
AndreaAndreoli 0:ae1df001727e 339 /* '<S2>:6:1' Brake = uint8(0); */
AndreaAndreoli 0:ae1df001727e 340 *Controller_Master_Y_BRAKE = 0U;
AndreaAndreoli 0:ae1df001727e 341
AndreaAndreoli 0:ae1df001727e 342 /* '<S2>:6:1' Led_Blue = 0; */
AndreaAndreoli 0:ae1df001727e 343 Controller_Master_B->Led_Blue = 0.0;
AndreaAndreoli 0:ae1df001727e 344 }
AndreaAndreoli 0:ae1df001727e 345 }
AndreaAndreoli 0:ae1df001727e 346 }
AndreaAndreoli 0:ae1df001727e 347
AndreaAndreoli 0:ae1df001727e 348 /* End of Chart: '<S1>/AEB' */
AndreaAndreoli 0:ae1df001727e 349
AndreaAndreoli 0:ae1df001727e 350 /* Chart: '<S1>/select_command' */
AndreaAndreoli 0:ae1df001727e 351 if (Controller_Master_DW->temporalCounter_i1 < MAX_uint32_T) {
AndreaAndreoli 0:ae1df001727e 352 Controller_Master_DW->temporalCounter_i1++;
AndreaAndreoli 0:ae1df001727e 353 }
AndreaAndreoli 0:ae1df001727e 354
AndreaAndreoli 0:ae1df001727e 355 /* Gateway: Controller_Master/select_command */
AndreaAndreoli 0:ae1df001727e 356 /* During: Controller_Master/select_command */
AndreaAndreoli 0:ae1df001727e 357 if (Controller_Master_DW->is_active_c2_Controller_Master == 0U) {
AndreaAndreoli 0:ae1df001727e 358 /* Entry: Controller_Master/select_command */
AndreaAndreoli 0:ae1df001727e 359 Controller_Master_DW->is_active_c2_Controller_Master = 1U;
AndreaAndreoli 0:ae1df001727e 360
AndreaAndreoli 0:ae1df001727e 361 /* Entry Internal: Controller_Master/select_command */
AndreaAndreoli 0:ae1df001727e 362 /* Transition: '<S3>:2' */
AndreaAndreoli 0:ae1df001727e 363 Controller_Master_DW->is_c2_Controller_Master = Controller_Master_IN_OFF1;
AndreaAndreoli 0:ae1df001727e 364
AndreaAndreoli 0:ae1df001727e 365 /* Outport: '<Root>/LED_BLUE' */
AndreaAndreoli 0:ae1df001727e 366 /* Entry 'OFF1': '<S3>:3' */
AndreaAndreoli 0:ae1df001727e 367 /* '<S3>:3:1' led = uint8(0); */
AndreaAndreoli 0:ae1df001727e 368 *Controller_Master_Y_LED_BLUE = 0U;
AndreaAndreoli 0:ae1df001727e 369 } else {
AndreaAndreoli 0:ae1df001727e 370 switch (Controller_Master_DW->is_c2_Controller_Master) {
AndreaAndreoli 0:ae1df001727e 371 case Controller_Master_IN_BLINK:
AndreaAndreoli 0:ae1df001727e 372 /* During 'BLINK': '<S3>:20' */
AndreaAndreoli 0:ae1df001727e 373 /* '<S3>:7:1' sf_internal_predicateOutput = ... */
AndreaAndreoli 0:ae1df001727e 374 /* '<S3>:7:1' enable == 1; */
AndreaAndreoli 0:ae1df001727e 375 if (Controller_Master_B->Led_Blue == 1.0) {
AndreaAndreoli 0:ae1df001727e 376 /* Transition: '<S3>:7' */
AndreaAndreoli 0:ae1df001727e 377 /* Exit Internal 'BLINK': '<S3>:20' */
AndreaAndreoli 0:ae1df001727e 378 Controller_Master_DW->is_BLINK = Controller_M_IN_NO_ACTIVE_CHILD;
AndreaAndreoli 0:ae1df001727e 379 Controller_Master_DW->is_c2_Controller_Master = Controller_Master_IN_ON;
AndreaAndreoli 0:ae1df001727e 380
AndreaAndreoli 0:ae1df001727e 381 /* Outport: '<Root>/LED_BLUE' */
AndreaAndreoli 0:ae1df001727e 382 /* Entry 'ON': '<S3>:6' */
AndreaAndreoli 0:ae1df001727e 383 /* '<S3>:6:1' led = uint8(1); */
AndreaAndreoli 0:ae1df001727e 384 *Controller_Master_Y_LED_BLUE = 1U;
AndreaAndreoli 0:ae1df001727e 385 } else {
AndreaAndreoli 0:ae1df001727e 386 /* '<S3>:21:1' sf_internal_predicateOutput = ... */
AndreaAndreoli 0:ae1df001727e 387 /* '<S3>:21:1' enable == 0; */
AndreaAndreoli 0:ae1df001727e 388 if (Controller_Master_B->Led_Blue == 0.0) {
AndreaAndreoli 0:ae1df001727e 389 /* Transition: '<S3>:21' */
AndreaAndreoli 0:ae1df001727e 390 /* Exit Internal 'BLINK': '<S3>:20' */
AndreaAndreoli 0:ae1df001727e 391 Controller_Master_DW->is_BLINK = Controller_M_IN_NO_ACTIVE_CHILD;
AndreaAndreoli 0:ae1df001727e 392 Controller_Master_DW->is_c2_Controller_Master =
AndreaAndreoli 0:ae1df001727e 393 Controller_Master_IN_OFF1;
AndreaAndreoli 0:ae1df001727e 394
AndreaAndreoli 0:ae1df001727e 395 /* Outport: '<Root>/LED_BLUE' */
AndreaAndreoli 0:ae1df001727e 396 /* Entry 'OFF1': '<S3>:3' */
AndreaAndreoli 0:ae1df001727e 397 /* '<S3>:3:1' led = uint8(0); */
AndreaAndreoli 0:ae1df001727e 398 *Controller_Master_Y_LED_BLUE = 0U;
AndreaAndreoli 0:ae1df001727e 399 } else if (Controller_Master_DW->is_BLINK ==
AndreaAndreoli 0:ae1df001727e 400 Controller_Master_IN_BLINK_OFF) {
AndreaAndreoli 0:ae1df001727e 401 /* During 'BLINK_OFF': '<S3>:11' */
AndreaAndreoli 0:ae1df001727e 402 /* '<S3>:14:1' sf_internal_predicateOutput = ... */
AndreaAndreoli 0:ae1df001727e 403 /* '<S3>:14:1' after(1-enable,sec); */
AndreaAndreoli 0:ae1df001727e 404 if (Controller_Master_DW->temporalCounter_i1 >= (uint32_T)ceil((1.0 -
AndreaAndreoli 0:ae1df001727e 405 Controller_Master_B->Led_Blue) / 0.2 - 2.0E-9)) {
AndreaAndreoli 0:ae1df001727e 406 /* Transition: '<S3>:14' */
AndreaAndreoli 0:ae1df001727e 407 Controller_Master_DW->is_BLINK = Controller_Master_IN_BLINK_ON;
AndreaAndreoli 0:ae1df001727e 408 Controller_Master_DW->temporalCounter_i1 = 0U;
AndreaAndreoli 0:ae1df001727e 409
AndreaAndreoli 0:ae1df001727e 410 /* Outport: '<Root>/LED_BLUE' */
AndreaAndreoli 0:ae1df001727e 411 /* Entry 'BLINK_ON': '<S3>:13' */
AndreaAndreoli 0:ae1df001727e 412 /* '<S3>:13:1' led = uint8(1); */
AndreaAndreoli 0:ae1df001727e 413 *Controller_Master_Y_LED_BLUE = 1U;
AndreaAndreoli 0:ae1df001727e 414 }
AndreaAndreoli 0:ae1df001727e 415 } else {
AndreaAndreoli 0:ae1df001727e 416 /* During 'BLINK_ON': '<S3>:13' */
AndreaAndreoli 0:ae1df001727e 417 /* '<S3>:15:1' sf_internal_predicateOutput = ... */
AndreaAndreoli 0:ae1df001727e 418 /* '<S3>:15:1' after(0.1,sec); */
AndreaAndreoli 0:ae1df001727e 419 if (Controller_Master_DW->temporalCounter_i1 >= 1U) {
AndreaAndreoli 0:ae1df001727e 420 /* Transition: '<S3>:15' */
AndreaAndreoli 0:ae1df001727e 421 Controller_Master_DW->is_BLINK = Controller_Master_IN_BLINK_OFF;
AndreaAndreoli 0:ae1df001727e 422 Controller_Master_DW->temporalCounter_i1 = 0U;
AndreaAndreoli 0:ae1df001727e 423
AndreaAndreoli 0:ae1df001727e 424 /* Outport: '<Root>/LED_BLUE' */
AndreaAndreoli 0:ae1df001727e 425 /* Entry 'BLINK_OFF': '<S3>:11' */
AndreaAndreoli 0:ae1df001727e 426 /* '<S3>:11:1' led = uint8(0); */
AndreaAndreoli 0:ae1df001727e 427 *Controller_Master_Y_LED_BLUE = 0U;
AndreaAndreoli 0:ae1df001727e 428 }
AndreaAndreoli 0:ae1df001727e 429 }
AndreaAndreoli 0:ae1df001727e 430 }
AndreaAndreoli 0:ae1df001727e 431 break;
AndreaAndreoli 0:ae1df001727e 432
AndreaAndreoli 0:ae1df001727e 433 case Controller_Master_IN_OFF1:
AndreaAndreoli 0:ae1df001727e 434 /* During 'OFF1': '<S3>:3' */
AndreaAndreoli 0:ae1df001727e 435 /* '<S3>:22:1' sf_internal_predicateOutput = ... */
AndreaAndreoli 0:ae1df001727e 436 /* '<S3>:22:1' enable == 1; */
AndreaAndreoli 0:ae1df001727e 437 if (Controller_Master_B->Led_Blue == 1.0) {
AndreaAndreoli 0:ae1df001727e 438 /* Transition: '<S3>:22' */
AndreaAndreoli 0:ae1df001727e 439 Controller_Master_DW->is_c2_Controller_Master = Controller_Master_IN_ON;
AndreaAndreoli 0:ae1df001727e 440
AndreaAndreoli 0:ae1df001727e 441 /* Outport: '<Root>/LED_BLUE' */
AndreaAndreoli 0:ae1df001727e 442 /* Entry 'ON': '<S3>:6' */
AndreaAndreoli 0:ae1df001727e 443 /* '<S3>:6:1' led = uint8(1); */
AndreaAndreoli 0:ae1df001727e 444 *Controller_Master_Y_LED_BLUE = 1U;
AndreaAndreoli 0:ae1df001727e 445 } else {
AndreaAndreoli 0:ae1df001727e 446 /* '<S3>:12:1' sf_internal_predicateOutput = ... */
AndreaAndreoli 0:ae1df001727e 447 /* '<S3>:12:1' enable >0 && enable <1; */
AndreaAndreoli 0:ae1df001727e 448 if ((Controller_Master_B->Led_Blue > 0.0) &&
AndreaAndreoli 0:ae1df001727e 449 (Controller_Master_B->Led_Blue < 1.0)) {
AndreaAndreoli 0:ae1df001727e 450 /* Transition: '<S3>:12' */
AndreaAndreoli 0:ae1df001727e 451 Controller_Master_DW->is_c2_Controller_Master =
AndreaAndreoli 0:ae1df001727e 452 Controller_Master_IN_BLINK;
AndreaAndreoli 0:ae1df001727e 453
AndreaAndreoli 0:ae1df001727e 454 /* Entry Internal 'BLINK': '<S3>:20' */
AndreaAndreoli 0:ae1df001727e 455 /* Transition: '<S3>:24' */
AndreaAndreoli 0:ae1df001727e 456 Controller_Master_DW->is_BLINK = Controller_Master_IN_BLINK_OFF;
AndreaAndreoli 0:ae1df001727e 457 Controller_Master_DW->temporalCounter_i1 = 0U;
AndreaAndreoli 0:ae1df001727e 458
AndreaAndreoli 0:ae1df001727e 459 /* Outport: '<Root>/LED_BLUE' */
AndreaAndreoli 0:ae1df001727e 460 /* Entry 'BLINK_OFF': '<S3>:11' */
AndreaAndreoli 0:ae1df001727e 461 /* '<S3>:11:1' led = uint8(0); */
AndreaAndreoli 0:ae1df001727e 462 *Controller_Master_Y_LED_BLUE = 0U;
AndreaAndreoli 0:ae1df001727e 463 }
AndreaAndreoli 0:ae1df001727e 464 }
AndreaAndreoli 0:ae1df001727e 465 break;
AndreaAndreoli 0:ae1df001727e 466
AndreaAndreoli 0:ae1df001727e 467 default:
AndreaAndreoli 0:ae1df001727e 468 /* During 'ON': '<S3>:6' */
AndreaAndreoli 0:ae1df001727e 469 /* '<S3>:4:1' sf_internal_predicateOutput = ... */
AndreaAndreoli 0:ae1df001727e 470 /* '<S3>:4:1' enable == 0; */
AndreaAndreoli 0:ae1df001727e 471 if (Controller_Master_B->Led_Blue == 0.0) {
AndreaAndreoli 0:ae1df001727e 472 /* Transition: '<S3>:4' */
AndreaAndreoli 0:ae1df001727e 473 Controller_Master_DW->is_c2_Controller_Master =
AndreaAndreoli 0:ae1df001727e 474 Controller_Master_IN_OFF1;
AndreaAndreoli 0:ae1df001727e 475
AndreaAndreoli 0:ae1df001727e 476 /* Outport: '<Root>/LED_BLUE' */
AndreaAndreoli 0:ae1df001727e 477 /* Entry 'OFF1': '<S3>:3' */
AndreaAndreoli 0:ae1df001727e 478 /* '<S3>:3:1' led = uint8(0); */
AndreaAndreoli 0:ae1df001727e 479 *Controller_Master_Y_LED_BLUE = 0U;
AndreaAndreoli 0:ae1df001727e 480 } else {
AndreaAndreoli 0:ae1df001727e 481 /* '<S3>:23:1' sf_internal_predicateOutput = ... */
AndreaAndreoli 0:ae1df001727e 482 /* '<S3>:23:1' enable >0 && enable <1; */
AndreaAndreoli 0:ae1df001727e 483 if ((Controller_Master_B->Led_Blue > 0.0) &&
AndreaAndreoli 0:ae1df001727e 484 (Controller_Master_B->Led_Blue < 1.0)) {
AndreaAndreoli 0:ae1df001727e 485 /* Transition: '<S3>:23' */
AndreaAndreoli 0:ae1df001727e 486 Controller_Master_DW->is_c2_Controller_Master =
AndreaAndreoli 0:ae1df001727e 487 Controller_Master_IN_BLINK;
AndreaAndreoli 0:ae1df001727e 488
AndreaAndreoli 0:ae1df001727e 489 /* Entry Internal 'BLINK': '<S3>:20' */
AndreaAndreoli 0:ae1df001727e 490 /* Transition: '<S3>:24' */
AndreaAndreoli 0:ae1df001727e 491 Controller_Master_DW->is_BLINK = Controller_Master_IN_BLINK_OFF;
AndreaAndreoli 0:ae1df001727e 492 Controller_Master_DW->temporalCounter_i1 = 0U;
AndreaAndreoli 0:ae1df001727e 493
AndreaAndreoli 0:ae1df001727e 494 /* Outport: '<Root>/LED_BLUE' */
AndreaAndreoli 0:ae1df001727e 495 /* Entry 'BLINK_OFF': '<S3>:11' */
AndreaAndreoli 0:ae1df001727e 496 /* '<S3>:11:1' led = uint8(0); */
AndreaAndreoli 0:ae1df001727e 497 *Controller_Master_Y_LED_BLUE = 0U;
AndreaAndreoli 0:ae1df001727e 498 }
AndreaAndreoli 0:ae1df001727e 499 }
AndreaAndreoli 0:ae1df001727e 500 break;
AndreaAndreoli 0:ae1df001727e 501 }
AndreaAndreoli 0:ae1df001727e 502 }
AndreaAndreoli 0:ae1df001727e 503
AndreaAndreoli 0:ae1df001727e 504 /* End of Chart: '<S1>/select_command' */
AndreaAndreoli 0:ae1df001727e 505
AndreaAndreoli 0:ae1df001727e 506 /* Update for Memory: '<S1>/Memory' incorporates:
AndreaAndreoli 0:ae1df001727e 507 * Update for Inport: '<Root>/SLAVE'
AndreaAndreoli 0:ae1df001727e 508 */
AndreaAndreoli 0:ae1df001727e 509 Controller_Master_DW->Memory_PreviousInput = Controller_Master_U_Slave;
AndreaAndreoli 0:ae1df001727e 510
AndreaAndreoli 0:ae1df001727e 511 /* End of Outputs for SubSystem: '<Root>/Controller_Master' */
AndreaAndreoli 0:ae1df001727e 512 }
AndreaAndreoli 0:ae1df001727e 513
AndreaAndreoli 0:ae1df001727e 514 /* Model initialize function */
AndreaAndreoli 0:ae1df001727e 515 void Controller_Master_initialize(RT_MODEL_Controller_Master_T *const
AndreaAndreoli 0:ae1df001727e 516 Controller_Master_M, real_T *Controller_Master_U_V, real_T
AndreaAndreoli 0:ae1df001727e 517 *Controller_Master_U_D_M, uint8_T *Controller_Master_U_Slave, uint8_T
AndreaAndreoli 0:ae1df001727e 518 *Controller_Master_Y_BRAKE, uint8_T *Controller_Master_Y_LED_BLUE, uint8_T
AndreaAndreoli 0:ae1df001727e 519 *Controller_Master_Y_LED_RED, uint8_T *Controller_Master_Y_MASTER)
AndreaAndreoli 0:ae1df001727e 520 {
AndreaAndreoli 0:ae1df001727e 521 DW_Controller_Master_T *Controller_Master_DW = ((DW_Controller_Master_T *)
AndreaAndreoli 0:ae1df001727e 522 Controller_Master_M->ModelData.dwork);
AndreaAndreoli 0:ae1df001727e 523 B_Controller_Master_T *Controller_Master_B = ((B_Controller_Master_T *)
AndreaAndreoli 0:ae1df001727e 524 Controller_Master_M->ModelData.blockIO);
AndreaAndreoli 0:ae1df001727e 525
AndreaAndreoli 0:ae1df001727e 526 /* Registration code */
AndreaAndreoli 0:ae1df001727e 527
AndreaAndreoli 0:ae1df001727e 528 /* block I/O */
AndreaAndreoli 0:ae1df001727e 529 (void) memset(((void *) Controller_Master_B), 0,
AndreaAndreoli 0:ae1df001727e 530 sizeof(B_Controller_Master_T));
AndreaAndreoli 0:ae1df001727e 531
AndreaAndreoli 0:ae1df001727e 532 /* states (dwork) */
AndreaAndreoli 0:ae1df001727e 533 (void) memset((void *)Controller_Master_DW, 0,
AndreaAndreoli 0:ae1df001727e 534 sizeof(DW_Controller_Master_T));
AndreaAndreoli 0:ae1df001727e 535
AndreaAndreoli 0:ae1df001727e 536 /* external inputs */
AndreaAndreoli 0:ae1df001727e 537 (*Controller_Master_U_V) = 0.0;
AndreaAndreoli 0:ae1df001727e 538 (*Controller_Master_U_D_M) = 0.0;
AndreaAndreoli 0:ae1df001727e 539 (*Controller_Master_U_Slave) = 0U;
AndreaAndreoli 0:ae1df001727e 540
AndreaAndreoli 0:ae1df001727e 541 /* external outputs */
AndreaAndreoli 0:ae1df001727e 542 (*Controller_Master_Y_BRAKE) = 0U;
AndreaAndreoli 0:ae1df001727e 543 (*Controller_Master_Y_LED_BLUE) = 0U;
AndreaAndreoli 0:ae1df001727e 544 (*Controller_Master_Y_LED_RED) = 0U;
AndreaAndreoli 0:ae1df001727e 545 (*Controller_Master_Y_MASTER) = 0U;
AndreaAndreoli 0:ae1df001727e 546
AndreaAndreoli 0:ae1df001727e 547 /* SystemInitialize for Atomic SubSystem: '<Root>/Controller_Master' */
AndreaAndreoli 0:ae1df001727e 548 /* InitializeConditions for Memory: '<S1>/Memory' */
AndreaAndreoli 0:ae1df001727e 549 Controller_Master_DW->Memory_PreviousInput = 1U;
AndreaAndreoli 0:ae1df001727e 550
AndreaAndreoli 0:ae1df001727e 551 /* SystemInitialize for Chart: '<S1>/AEB' */
AndreaAndreoli 0:ae1df001727e 552 Controller_Master_DW->is_APPLICATION_THREAD = Controller_M_IN_NO_ACTIVE_CHILD;
AndreaAndreoli 0:ae1df001727e 553 Controller_Master_DW->is_ACTIVE = Controller_M_IN_NO_ACTIVE_CHILD;
AndreaAndreoli 0:ae1df001727e 554 Controller_Master_DW->is_ERRORS_CHECK_THREAD = Controller_M_IN_NO_ACTIVE_CHILD;
AndreaAndreoli 0:ae1df001727e 555 Controller_Master_DW->is_active_c3_Controller_Master = 0U;
AndreaAndreoli 0:ae1df001727e 556 Controller_Master_DW->En = true;
AndreaAndreoli 0:ae1df001727e 557
AndreaAndreoli 0:ae1df001727e 558 /* SystemInitialize for Chart: '<S1>/select_command' */
AndreaAndreoli 0:ae1df001727e 559 Controller_Master_DW->is_BLINK = Controller_M_IN_NO_ACTIVE_CHILD;
AndreaAndreoli 0:ae1df001727e 560 Controller_Master_DW->temporalCounter_i1 = 0U;
AndreaAndreoli 0:ae1df001727e 561 Controller_Master_DW->is_active_c2_Controller_Master = 0U;
AndreaAndreoli 0:ae1df001727e 562 Controller_Master_DW->is_c2_Controller_Master =
AndreaAndreoli 0:ae1df001727e 563 Controller_M_IN_NO_ACTIVE_CHILD;
AndreaAndreoli 0:ae1df001727e 564
AndreaAndreoli 0:ae1df001727e 565 /* End of SystemInitialize for SubSystem: '<Root>/Controller_Master' */
AndreaAndreoli 0:ae1df001727e 566 }
AndreaAndreoli 0:ae1df001727e 567
AndreaAndreoli 0:ae1df001727e 568 /* Model terminate function */
AndreaAndreoli 0:ae1df001727e 569 void Controller_Master_terminate(RT_MODEL_Controller_Master_T *const
AndreaAndreoli 0:ae1df001727e 570 Controller_Master_M)
AndreaAndreoli 0:ae1df001727e 571 {
AndreaAndreoli 0:ae1df001727e 572 /* (no terminate code required) */
AndreaAndreoli 0:ae1df001727e 573 UNUSED_PARAMETER(Controller_Master_M);
AndreaAndreoli 0:ae1df001727e 574 }
AndreaAndreoli 0:ae1df001727e 575
AndreaAndreoli 0:ae1df001727e 576 /*
AndreaAndreoli 0:ae1df001727e 577 * File trailer for generated code.
AndreaAndreoli 0:ae1df001727e 578 *
AndreaAndreoli 0:ae1df001727e 579 * [EOF]
AndreaAndreoli 0:ae1df001727e 580 */
AndreaAndreoli 0:ae1df001727e 581