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.h
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 #ifndef RTW_HEADER_Controller_Master_h_
AndreaAndreoli 0:ae1df001727e 21 #define RTW_HEADER_Controller_Master_h_
AndreaAndreoli 0:ae1df001727e 22 #include <math.h>
AndreaAndreoli 0:ae1df001727e 23 #include <string.h>
AndreaAndreoli 0:ae1df001727e 24 #ifndef Controller_Master_COMMON_INCLUDES_
AndreaAndreoli 0:ae1df001727e 25 # define Controller_Master_COMMON_INCLUDES_
AndreaAndreoli 0:ae1df001727e 26 #include "rtwtypes.h"
AndreaAndreoli 0:ae1df001727e 27 #endif /* Controller_Master_COMMON_INCLUDES_ */
AndreaAndreoli 0:ae1df001727e 28
AndreaAndreoli 0:ae1df001727e 29 /* Macros for accessing real-time model data structure */
AndreaAndreoli 0:ae1df001727e 30 #ifndef rtmGetErrorStatus
AndreaAndreoli 0:ae1df001727e 31 # define rtmGetErrorStatus(rtm) ((rtm)->errorStatus)
AndreaAndreoli 0:ae1df001727e 32 #endif
AndreaAndreoli 0:ae1df001727e 33
AndreaAndreoli 0:ae1df001727e 34 #ifndef rtmSetErrorStatus
AndreaAndreoli 0:ae1df001727e 35 # define rtmSetErrorStatus(rtm, val) ((rtm)->errorStatus = (val))
AndreaAndreoli 0:ae1df001727e 36 #endif
AndreaAndreoli 0:ae1df001727e 37
AndreaAndreoli 0:ae1df001727e 38 /* Forward declaration for rtModel */
AndreaAndreoli 0:ae1df001727e 39 typedef struct tag_RTM_Controller_Master_T RT_MODEL_Controller_Master_T;
AndreaAndreoli 0:ae1df001727e 40
AndreaAndreoli 0:ae1df001727e 41 /* Block signals (auto storage) */
AndreaAndreoli 0:ae1df001727e 42 typedef struct {
AndreaAndreoli 0:ae1df001727e 43 real_T Led_Blue; /* '<S1>/AEB' */
AndreaAndreoli 0:ae1df001727e 44 } B_Controller_Master_T;
AndreaAndreoli 0:ae1df001727e 45
AndreaAndreoli 0:ae1df001727e 46 /* Block states (auto storage) for system '<Root>' */
AndreaAndreoli 0:ae1df001727e 47 typedef struct {
AndreaAndreoli 0:ae1df001727e 48 uint32_T temporalCounter_i1; /* '<S1>/select_command' */
AndreaAndreoli 0:ae1df001727e 49 uint8_T Memory_PreviousInput; /* '<S1>/Memory' */
AndreaAndreoli 0:ae1df001727e 50 uint8_T is_active_c2_Controller_Master;/* '<S1>/select_command' */
AndreaAndreoli 0:ae1df001727e 51 uint8_T is_c2_Controller_Master; /* '<S1>/select_command' */
AndreaAndreoli 0:ae1df001727e 52 uint8_T is_BLINK; /* '<S1>/select_command' */
AndreaAndreoli 0:ae1df001727e 53 uint8_T is_active_c3_Controller_Master;/* '<S1>/AEB' */
AndreaAndreoli 0:ae1df001727e 54 uint8_T is_ERRORS_CHECK_THREAD; /* '<S1>/AEB' */
AndreaAndreoli 0:ae1df001727e 55 uint8_T is_APPLICATION_THREAD; /* '<S1>/AEB' */
AndreaAndreoli 0:ae1df001727e 56 uint8_T is_ACTIVE; /* '<S1>/AEB' */
AndreaAndreoli 0:ae1df001727e 57 boolean_T En; /* '<S1>/AEB' */
AndreaAndreoli 0:ae1df001727e 58 } DW_Controller_Master_T;
AndreaAndreoli 0:ae1df001727e 59
AndreaAndreoli 0:ae1df001727e 60 /* Real-time Model Data Structure */
AndreaAndreoli 0:ae1df001727e 61 struct tag_RTM_Controller_Master_T {
AndreaAndreoli 0:ae1df001727e 62 const char_T * volatile errorStatus;
AndreaAndreoli 0:ae1df001727e 63
AndreaAndreoli 0:ae1df001727e 64 /*
AndreaAndreoli 0:ae1df001727e 65 * ModelData:
AndreaAndreoli 0:ae1df001727e 66 * The following substructure contains information regarding
AndreaAndreoli 0:ae1df001727e 67 * the data used in the model.
AndreaAndreoli 0:ae1df001727e 68 */
AndreaAndreoli 0:ae1df001727e 69 struct {
AndreaAndreoli 0:ae1df001727e 70 B_Controller_Master_T *blockIO;
AndreaAndreoli 0:ae1df001727e 71 DW_Controller_Master_T *dwork;
AndreaAndreoli 0:ae1df001727e 72 } ModelData;
AndreaAndreoli 0:ae1df001727e 73 };
AndreaAndreoli 0:ae1df001727e 74
AndreaAndreoli 0:ae1df001727e 75 /* Model entry point functions */
AndreaAndreoli 0:ae1df001727e 76 extern void Controller_Master_initialize(RT_MODEL_Controller_Master_T *const
AndreaAndreoli 0:ae1df001727e 77 Controller_Master_M, real_T *Controller_Master_U_V, real_T
AndreaAndreoli 0:ae1df001727e 78 *Controller_Master_U_D_M, uint8_T *Controller_Master_U_Slave, uint8_T
AndreaAndreoli 0:ae1df001727e 79 *Controller_Master_Y_BRAKE, uint8_T *Controller_Master_Y_LED_BLUE, uint8_T
AndreaAndreoli 0:ae1df001727e 80 *Controller_Master_Y_LED_RED, uint8_T *Controller_Master_Y_MASTER);
AndreaAndreoli 0:ae1df001727e 81 extern void Controller_Master_step(RT_MODEL_Controller_Master_T *const
AndreaAndreoli 0:ae1df001727e 82 Controller_Master_M, real_T Controller_Master_U_V, real_T
AndreaAndreoli 0:ae1df001727e 83 Controller_Master_U_D_M, uint8_T Controller_Master_U_Slave, uint8_T
AndreaAndreoli 0:ae1df001727e 84 *Controller_Master_Y_BRAKE, uint8_T *Controller_Master_Y_LED_BLUE, uint8_T
AndreaAndreoli 0:ae1df001727e 85 *Controller_Master_Y_LED_RED, uint8_T *Controller_Master_Y_MASTER);
AndreaAndreoli 0:ae1df001727e 86 extern void Controller_Master_terminate(RT_MODEL_Controller_Master_T *const
AndreaAndreoli 0:ae1df001727e 87 Controller_Master_M);
AndreaAndreoli 0:ae1df001727e 88
AndreaAndreoli 0:ae1df001727e 89 /*-
AndreaAndreoli 0:ae1df001727e 90 * The generated code includes comments that allow you to trace directly
AndreaAndreoli 0:ae1df001727e 91 * back to the appropriate location in the model. The basic format
AndreaAndreoli 0:ae1df001727e 92 * is <system>/block_name, where system is the system number (uniquely
AndreaAndreoli 0:ae1df001727e 93 * assigned by Simulink) and block_name is the name of the block.
AndreaAndreoli 0:ae1df001727e 94 *
AndreaAndreoli 0:ae1df001727e 95 * Note that this particular code originates from a subsystem build,
AndreaAndreoli 0:ae1df001727e 96 * and has its own system numbers different from the parent model.
AndreaAndreoli 0:ae1df001727e 97 * Refer to the system hierarchy for this subsystem below, and use the
AndreaAndreoli 0:ae1df001727e 98 * MATLAB hilite_system command to trace the generated code back
AndreaAndreoli 0:ae1df001727e 99 * to the parent model. For example,
AndreaAndreoli 0:ae1df001727e 100 *
AndreaAndreoli 0:ae1df001727e 101 * hilite_system('untitled/Controller/Controller_Master') - opens subsystem untitled/Controller/Controller_Master
AndreaAndreoli 0:ae1df001727e 102 * hilite_system('untitled/Controller/Controller_Master/Kp') - opens and selects block Kp
AndreaAndreoli 0:ae1df001727e 103 *
AndreaAndreoli 0:ae1df001727e 104 * Here is the system hierarchy for this model
AndreaAndreoli 0:ae1df001727e 105 *
AndreaAndreoli 0:ae1df001727e 106 * '<Root>' : 'untitled/Controller'
AndreaAndreoli 0:ae1df001727e 107 * '<S1>' : 'untitled/Controller/Controller_Master'
AndreaAndreoli 0:ae1df001727e 108 * '<S2>' : 'untitled/Controller/Controller_Master/AEB'
AndreaAndreoli 0:ae1df001727e 109 * '<S3>' : 'untitled/Controller/Controller_Master/select_command'
AndreaAndreoli 0:ae1df001727e 110 */
AndreaAndreoli 0:ae1df001727e 111 #endif /* RTW_HEADER_Controller_Master_h_ */
AndreaAndreoli 0:ae1df001727e 112
AndreaAndreoli 0:ae1df001727e 113 /*
AndreaAndreoli 0:ae1df001727e 114 * File trailer for generated code.
AndreaAndreoli 0:ae1df001727e 115 *
AndreaAndreoli 0:ae1df001727e 116 * [EOF]
AndreaAndreoli 0:ae1df001727e 117 */
AndreaAndreoli 0:ae1df001727e 118