Slave controller for AEB and QA item
Diff: Controller_Slave.h
- Revision:
- 0:88fb7562377b
- Child:
- 1:370626c9b451
diff -r 000000000000 -r 88fb7562377b Controller_Slave.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Controller_Slave.h Wed Jul 06 09:21:22 2016 +0000 @@ -0,0 +1,122 @@ +/* + * Academic License - for use in teaching, academic research, and meeting + * course requirements at degree granting institutions only. Not for + * government, commercial, or other organizational use. + * + * File: Controller_Slave.h + * + * Code generated for Simulink model 'Controller_Slave'. + * + * Model version : 1.6 + * Simulink Coder version : 8.10 (R2016a) 10-Feb-2016 + * C/C++ source code generated on : Wed Jul 06 11:19:35 2016 + * + * Target selection: ert.tlc + * Embedded hardware selection: NXP->Cortex-M4 + * Code generation objectives: Unspecified + * Validation result: Not run + */ + +#ifndef RTW_HEADER_Controller_Slave_h_ +#define RTW_HEADER_Controller_Slave_h_ +#include <math.h> +#include <string.h> +#ifndef Controller_Slave_COMMON_INCLUDES_ +# define Controller_Slave_COMMON_INCLUDES_ +#include "rtwtypes.h" +#endif /* Controller_Slave_COMMON_INCLUDES_ */ + +/* Macros for accessing real-time model data structure */ +#ifndef rtmGetErrorStatus +# define rtmGetErrorStatus(rtm) ((rtm)->errorStatus) +#endif + +#ifndef rtmSetErrorStatus +# define rtmSetErrorStatus(rtm, val) ((rtm)->errorStatus = (val)) +#endif + +/* Forward declaration for rtModel */ +typedef struct tag_RTM_Controller_Slave_T RT_MODEL_Controller_Slave_T; + +/* Block signals (auto storage) */ +typedef struct { + real_T Led_Blue; /* '<S1>/AEB_QA' */ +} B_Controller_Slave_T; + +/* Block states (auto storage) for system '<Root>' */ +typedef struct { + uint32_T temporalCounter_i1; /* '<S1>/select_command' */ + uint8_T Memory_PreviousInput; /* '<S1>/Memory' */ + uint8_T is_active_c6_Controller_Slave;/* '<S1>/select_command' */ + uint8_T is_c6_Controller_Slave; /* '<S1>/select_command' */ + uint8_T is_BLINK; /* '<S1>/select_command' */ + uint8_T is_active_c5_Controller_Slave;/* '<S1>/AEB_QA' */ + uint8_T is_QA_ACTIVE; /* '<S1>/AEB_QA' */ + uint8_T is_APPLICATION_THREAD; /* '<S1>/AEB_QA' */ + uint8_T is_AEB_ACTIVE; /* '<S1>/AEB_QA' */ + uint8_T is_ERRORS_CHECK_THREAD; /* '<S1>/AEB_QA' */ + boolean_T En; /* '<S1>/AEB_QA' */ +} DW_Controller_Slave_T; + +/* Real-time Model Data Structure */ +struct tag_RTM_Controller_Slave_T { + const char_T * volatile errorStatus; + + /* + * ModelData: + * The following substructure contains information regarding + * the data used in the model. + */ + struct { + B_Controller_Slave_T *blockIO; + DW_Controller_Slave_T *dwork; + } ModelData; +}; + +/* Model entry point functions */ +extern void Controller_Slave_initialize(RT_MODEL_Controller_Slave_T *const + Controller_Slave_M, real_T *Controller_Slave_U_V, real_T + *Controller_Slave_U_D_S, uint8_T *Controller_Slave_U_Master, boolean_T + *Controller_Slave_U_QA_EN, uint8_T *Controller_Slave_Y_BRAKE, uint8_T + *Controller_Slave_Y_ACC, uint8_T *Controller_Slave_Y_LED_RED, uint8_T + *Controller_Slave_Y_LED_GREEN, uint8_T *Controller_Slave_Y_LED_BLUE, uint8_T + *Controller_Slave_Y_SLAVE); +extern void Controller_Slave_step(RT_MODEL_Controller_Slave_T *const + Controller_Slave_M, real_T Controller_Slave_U_V, real_T Controller_Slave_U_D_S, + uint8_T Controller_Slave_U_Master, boolean_T Controller_Slave_U_QA_EN, uint8_T + *Controller_Slave_Y_BRAKE, uint8_T *Controller_Slave_Y_ACC, uint8_T + *Controller_Slave_Y_LED_RED, uint8_T *Controller_Slave_Y_LED_GREEN, uint8_T + *Controller_Slave_Y_LED_BLUE, uint8_T *Controller_Slave_Y_SLAVE); +extern void Controller_Slave_terminate(RT_MODEL_Controller_Slave_T *const + Controller_Slave_M); + +/*- + * The generated code includes comments that allow you to trace directly + * back to the appropriate location in the model. The basic format + * is <system>/block_name, where system is the system number (uniquely + * assigned by Simulink) and block_name is the name of the block. + * + * Note that this particular code originates from a subsystem build, + * and has its own system numbers different from the parent model. + * Refer to the system hierarchy for this subsystem below, and use the + * MATLAB hilite_system command to trace the generated code back + * to the parent model. For example, + * + * hilite_system('Controller_Model_07_05_v01/Controller/Controller_Slave') - opens subsystem Controller_Model_07_05_v01/Controller/Controller_Slave + * hilite_system('Controller_Model_07_05_v01/Controller/Controller_Slave/Kp') - opens and selects block Kp + * + * Here is the system hierarchy for this model + * + * '<Root>' : 'Controller_Model_07_05_v01/Controller' + * '<S1>' : 'Controller_Model_07_05_v01/Controller/Controller_Slave' + * '<S2>' : 'Controller_Model_07_05_v01/Controller/Controller_Slave/AEB_QA' + * '<S3>' : 'Controller_Model_07_05_v01/Controller/Controller_Slave/select_command' + */ +#endif /* RTW_HEADER_Controller_Slave_h_ */ + +/* + * File trailer for generated code. + * + * [EOF] + */ +