/* This program is part of the TACLeBench benchmark suite. Version V 1.x Name: powerwindow_powerwindow_control.h Author: CoSys-Lab, University of Antwerp Function: headerfile Source: https://github.com/tacle/tacle-bench/blob/master/bench/app/PowerWindow/powerwindow_HeaderFiles/powerwindow_powerwindow_control.h Changes: a brief summary of major functional changes and formatting) License: GNU General Public License */ #ifndef powerwindow_RTW_HEADER_PowerWindow_control_h_ #define powerwindow_RTW_HEADER_PowerWindow_control_h_ #ifndef powerwindow_powerWindow_control_COMMON_INCLUDES_ # define powerwindow_powerWindow_control_COMMON_INCLUDES_ #include "../powerwindow_HeaderFiles/powerwindow_rtwtypes.h" #include "../powerwindow_HeaderFiles/powerwindow_rtw_solver.h" #endif /* PowerWindow_control_COMMON_INCLUDES_ */ #include "../powerwindow_HeaderFiles/powerwindow_powerwindow_control_types.h" #include "../powerwindow_HeaderFiles/powerwindow_powerwindow_control_private.h" /* Shared type includes */ #include "../powerwindow_HeaderFiles/powerwindow_model_reference_types.h" /* user code (top of header file) */ /* Block signals for model 'PowerWindow_control' */ typedef struct { powerwindow_uint8_T RateTransition1; /* '/Rate Transition1' */ powerwindow_boolean_T LogicalOperator; /* '/Logical Operator' */ powerwindow_boolean_T map[ 3 ]; /* '/map' */ } powerwindow_rtB_PowerWindow_control; /* Block states (auto storage) for model 'PowerWindow_control' */ typedef struct { powerwindow_int32_T clockTickCounter; /* '/period of 50ms' */ powerwindow_uint8_T is_active_c2_PowerWindow_contro;/* '/stateflow control model' */ powerwindow_uint8_T is_c2_PowerWindow_control; /* '/stateflow control model' */ powerwindow_uint8_T is_Up; /* '/stateflow control model' */ powerwindow_uint8_T is_Down; /* '/stateflow control model' */ powerwindow_uint8_T is_Logic; /* '/stateflow control model' */ powerwindow_uint8_T is_active_Logic; /* '/stateflow control model' */ powerwindow_uint8_T is_Sensing; /* '/stateflow control model' */ powerwindow_uint8_T is_active_Sensing; /* '/stateflow control model' */ powerwindow_uint8_T temporalCounter_i1; /* '/stateflow control model' */ powerwindow_uint8_T temporalCounter_i2; /* '/stateflow control model' */ } powerwindow_rtDW_PowerWindow_control; /* Zero-crossing (trigger) state for model 'PowerWindow_control' */ typedef struct { ZCSigState stateflowcontrolmodel_Trig_ZCE;/* '/stateflow control model' */ } powerwindow_rtZCE_PowerWindow_control; /* Real-time Model Data Structure */ struct powerwindow_tag_RTM_PowerWindow_control { const powerwindow_char_T **errorStatus; }; typedef struct { powerwindow_rtB_PowerWindow_control rtb; powerwindow_rtDW_PowerWindow_control rtdw; powerwindow_RT_MODEL_PowerWindow_control rtm; powerwindow_rtZCE_PowerWindow_control rtzce; } powerwindow_rtMdlrefDWork_PowerWindow_contr; /* Model reference registration function */ extern void powerwindow_powerwindow_control_initialize( const powerwindow_char_T **rt_errorStatus, powerwindow_RT_MODEL_PowerWindow_control *const PowerWindow_control_M, powerwindow_rtB_PowerWindow_control *localB, powerwindow_rtDW_PowerWindow_control *localDW, powerwindow_rtZCE_PowerWindow_control *localZCE ); extern void powerwindow_powerwindow_control_Init( powerwindow_boolean_T *rty_window_up, powerwindow_boolean_T *rty_window_down, powerwindow_boolean_T *rty_overcurrent, powerwindow_boolean_T *rty_pinch, powerwindow_boolean_T *rty_wake, powerwindow_rtDW_PowerWindow_control *localDW ); extern void powerwindow_powerwindow_control_Start( powerwindow_rtDW_PowerWindow_control *localDW ); extern void powerwindow_powerwindow_control_main( const powerwindow_boolean_T *rtu_up, const powerwindow_boolean_T *rtu_down, const powerwindow_boolean_T *rtu_endofdetectionrange, const powerwindow_uint8_T *rtu_currentsense, powerwindow_boolean_T *rty_window_up, powerwindow_boolean_T *rty_window_down, powerwindow_boolean_T *rty_overcurrent, powerwindow_boolean_T *rty_pinch, powerwindow_boolean_T *rty_wake, powerwindow_rtB_PowerWindow_control *localB, powerwindow_rtDW_PowerWindow_control *localDW, powerwindow_rtZCE_PowerWindow_control *localZCE ); /*- The generated code includes comments that allow you to trace directly back to the appropriate location in the model. The basic format is /block_name, where system is the system number (uniquely assigned by Simulink) and block_name is the name of the block. Use the MATLAB hilite_system command to trace the generated code back to the model. For example, hilite_system('') - opens system 3 hilite_system('/Kp') - opens and selects block Kp which resides in S3 Here is the system hierarchy for this model '' : 'PowerWindow_control' '' : 'PowerWindow_control/PW_PSG' '' : 'PowerWindow_control/PW_PSG/PW_PSG' '' : 'PowerWindow_control/PW_PSG/Tic' '' : 'PowerWindow_control/PW_PSG/Toc' '' : 'PowerWindow_control/PW_PSG/PW_PSG/stateflow control model' '' : 'PowerWindow_control/PW_PSG/Tic/Tic_T' '' : 'PowerWindow_control/PW_PSG/Toc/Toc_T' */ #endif /* powerwindow_RTW_HEADER_PowerWindow_control_h_ */ /* File trailer for generated code. [ EOF ] */