File: INFUSION_MGR_Functional.h1 /* 2 * Code generation for system model 'INFUSION_MGR_Functional' 3 * For more details, see corresponding source file INFUSION_MGR_Functional.c 4 * 5 */ 6 #ifndef RTW_HEADER_INFUSION_MGR_Functional_h_ 7 #define RTW_HEADER_INFUSION_MGR_Functional_h_ 8 #ifndef INFUSION_MGR_Functional_COMMON_INCLUDES_ 9 # define INFUSION_MGR_Functional_COMMON_INCLUDES_ 10 #include <string.h> 11 #include "rtwtypes.h" 12 #include "rtw_continuous.h" 13 #include "rtw_solver.h" 14 #endif /* INFUSION_MGR_Functional_COMMON_INCLUDES_ */ 15 16 #include "INFUSION_MGR_Functional_types.h" 17 18 /* Block signals for model 'INFUSION_MGR_Functional' */ 19 typedef struct { 20 uint8_T Highest_Level_Alarm; 21 uint8_T Infusion_Total_Duration; 22 uint8_T VTBI_Total; 23 uint8_T Flow_Rate_Basal; 24 uint8_T Flow_Rate_Intermittent_Bolus; 25 uint8_T Duration_Intermittent_Bolus; 26 uint8_T Interval_Intermittent_Bolus; 27 uint8_T Flow_Rate_Patient_Bolus; 28 uint8_T Duration_Patient_Bolus; 29 uint8_T Lockout_Period_Patient_Bolus; 30 uint8_T Max_Number_of_Patient_Bolus; 31 uint8_T Flow_Rate_KVO; 32 uint8_T Configured; 33 uint8_T Volume_Infused; 34 uint8_T IM_OUT_Flow_Rate_Commanded; /* '<Root>/Infusion Manager Sub-System' */ 35 uint8_T IM_OUT_Current_System_Mode; /* '<Root>/Infusion Manager Sub-System' */ 36 uint8_T IM_OUT_Log_Message_ID; /* '<Root>/Infusion Manager Sub-System' */ 37 uint8_T IM_OUT_Actual_Infusion_Duration;/* '<Root>/Infusion Manager Sub-System' */ 38 boolean_T Infusion_Initiate; 39 boolean_T Infusion_Inhibit; 40 boolean_T Infusion_Cancel; 41 boolean_T Patient_Bolus_Request; 42 boolean_T Reservoir_Empty; 43 boolean_T IM_OUT_New_Infusion; /* '<Root>/Infusion Manager Sub-System' */ 44 } B_INFUSION_MGR_Functional_c_T; 45 46 /* Block states (auto storage) for model 'INFUSION_MGR_Functional' */ 47 typedef struct { 48 uint8_T is_active_c2_INFUSION_MGR_Functional;/* '<Root>/Infusion Manager Sub-System' */ 49 uint8_T is_c2_INFUSION_MGR_Functional;/* '<Root>/Infusion Manager Sub-System' */ 50 uint8_T is_Infusion_Manager; /* '<Root>/Infusion Manager Sub-System' */ 51 uint8_T is_THERAPY; /* '<Root>/Infusion Manager Sub-System' */ 52 uint8_T is_Arbiter; /* '<Root>/Infusion Manager Sub-System' */ 53 uint8_T is_active_Arbiter; /* '<Root>/Infusion Manager Sub-System' */ 54 uint8_T is_Alarm_Paused; /* '<Root>/Infusion Manager Sub-System' */ 55 uint8_T is_active_Alarm_Paused; /* '<Root>/Infusion Manager Sub-System' */ 56 uint8_T is_Manual_Paused; /* '<Root>/Infusion Manager Sub-System' */ 57 uint8_T is_active_Manual_Paused; /* '<Root>/Infusion Manager Sub-System' */ 58 uint8_T is_BASAL; /* '<Root>/Infusion Manager Sub-System' */ 59 uint8_T is_active_BASAL; /* '<Root>/Infusion Manager Sub-System' */ 60 uint8_T is_Arbiter_d; /* '<Root>/Infusion Manager Sub-System' */ 61 uint8_T is_active_Arbiter_c; /* '<Root>/Infusion Manager Sub-System' */ 62 uint8_T is_PATIENT; /* '<Root>/Infusion Manager Sub-System' */ 63 uint8_T is_active_PATIENT; /* '<Root>/Infusion Manager Sub-System' */ 64 uint8_T is_INTERMITTENT; /* '<Root>/Infusion Manager Sub-System' */ 65 uint8_T is_active_INTERMITTENT; /* '<Root>/Infusion Manager Sub-System' */ 66 uint8_T sbolus_timer; /* '<Root>/Infusion Manager Sub-System' */ 67 uint8_T pbolus_timer; /* '<Root>/Infusion Manager Sub-System' */ 68 uint8_T lock_timer; /* '<Root>/Infusion Manager Sub-System' */ 69 uint8_T number_pbolus; /* '<Root>/Infusion Manager Sub-System' */ 70 uint8_T sbolusInter_timer; /* '<Root>/Infusion Manager Sub-System' */ 71 boolean_T sbolus_req; /* '<Root>/Infusion Manager Sub-System' */ 72 boolean_T inPatientBolus; /* '<Root>/Infusion Manager Sub-System' */ 73 } DW_INFUSION_MGR_Functional_f_T; 74 75 /* Real-time Model Data Structure */ 76 struct tag_RTM_INFUSION_MGR_Functional_T { 77 const char_T **errorStatus; 78 }; 79 80 typedef struct { 81 B_INFUSION_MGR_Functional_c_T rtb; 82 DW_INFUSION_MGR_Functional_f_T rtdw; 83 RT_MODEL_INFUSION_MGR_Functional_T rtm; 84 } MdlrefDW_INFUSION_MGR_Functional_T; 85 86 /* Model reference registration function */ 87 extern void INFUSION_MGR_Functional_initialize(const char_T **rt_errorStatus, 88 RT_MODEL_INFUSION_MGR_Functional_T *const INFUSION_MGR_Functional_M, 89 B_INFUSION_MGR_Functional_c_T *localB, DW_INFUSION_MGR_Functional_f_T *localDW); 90 extern void INFUSION_MGR_Functional_Init(B_INFUSION_MGR_Functional_c_T *localB, 91 DW_INFUSION_MGR_Functional_f_T *localDW); 92 extern void INFUSION_MGR_Functional(const Top_Level_Mode_Outputs 93 *rtu_TLM_MODE_IN, const Operator_Commands *rtu_OP_CMD_IN, const Patient_Inputs 94 *rtu_PATIENT_IN, const Config_Outputs *rtu_CONFIG_IN, const Alarm_Outputs 95 *rtu_ALARM_IN, const System_Status_Outputs *rtu_SYS_STAT_IN, 96 Infusion_Manager_Outputs *rty_IM_OUT, B_INFUSION_MGR_Functional_c_T *localB, 97 DW_INFUSION_MGR_Functional_f_T *localDW); 98 99 /*- 100 * The generated code includes comments that allow you to trace directly 101 * back to the appropriate location in the model. The basic format 102 * is <system>/block_name, where system is the system number (uniquely 103 * assigned by Simulink) and block_name is the name of the block. 104 * 105 * Use the MATLAB hilite_system command to trace the generated code back 106 * to the model. For example, 107 * 108 * hilite_system('<S3>') - opens system 3 109 * hilite_system('<S3>/Kp') - opens and selects block Kp which resides in S3 110 * 111 * Here is the system hierarchy for this model 112 * 113 * '<Root>' : 'INFUSION_MGR_Functional' 114 * '<S1>' : 'INFUSION_MGR_Functional/Infusion Manager Sub-System' 115 */ 116 #endif /* RTW_HEADER_INFUSION_MGR_Functional_h_ */ 117 |