gmt_mount_ctrl_sampling1000_damping002_ze30_500Hz/controller/
mod.rs

1use simulink_binder::import;
2
3import! {Mount_Control,
4r##"
5#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION
6/*
7 * File: Mount_Control.h
8 *
9 * Code generated for Simulink model 'Mount_Control'.
10 *
11 * Model version                  : 1.980
12 * Simulink Coder version         : 9.0 (R2018b) 24-May-2018
13 * C/C++ source code generated on : Wed Mar  9 16:22:21 2022
14 *
15 * Target selection: ert.tlc
16 * Embedded hardware selection: Intel->x86-64 (Linux 64)
17 * Code generation objectives: Unspecified
18 * Validation result: Not run
19 */
20
21#ifndef RTW_HEADER_Mount_Control_h_
22#define RTW_HEADER_Mount_Control_h_
23#include <string.h>
24#ifndef Mount_Control_COMMON_INCLUDES_
25# define Mount_Control_COMMON_INCLUDES_
26#include "rtwtypes.h"
27#endif                                 /* Mount_Control_COMMON_INCLUDES_ */
28
29#include "Mount_Control_types.h"
30
31/* Macros for accessing real-time model data structure */
32#ifndef rtmGetErrorStatus
33# define rtmGetErrorStatus(rtm)        ((rtm)->errorStatus)
34#endif
35
36#ifndef rtmSetErrorStatus
37# define rtmSetErrorStatus(rtm, val)   ((rtm)->errorStatus = (val))
38#endif
39
40/* Block signals (default storage) */
41typedef struct {
42  real_T RTout;                        /* '<S3>/RTout' */
43  real_T RTout_p;                      /* '<S2>/RTout' */
44  real_T RTout_f;                      /* '<S5>/RTout' */
45  real_T RTout_j;                      /* '<S4>/RTout' */
46  real_T RTout_o;                      /* '<S7>/RTout' */
47  real_T RTout_pe;                     /* '<S6>/RTout' */
48  real_T RTin;                         /* '<S2>/RTin' */
49  real_T RTin_j;                       /* '<S3>/RTin' */
50  real_T RTin_p;                       /* '<S4>/RTin' */
51  real_T RTin_c;                       /* '<S5>/RTin' */
52  real_T RTin_n;                       /* '<S6>/RTin' */
53  real_T RTin_h;                       /* '<S7>/RTin' */
54} B_Mount_Control_T;
55
56/* Block states (default storage) for system '<Root>' */
57typedef struct {
58  real_T DiscreteSS_DSTATE[13];        /* '<S2>/Discrete SS' */
59  real_T DiscreteSS_DSTATE_h[2];       /* '<S3>/Discrete SS' */
60  real_T DiscreteSS_DSTATE_l[11];      /* '<S4>/Discrete SS' */
61  real_T DiscreteSS_DSTATE_o[2];       /* '<S5>/Discrete SS' */
62  real_T DiscreteSS_DSTATE_p[7];       /* '<S6>/Discrete SS' */
63  real_T DiscreteSS_DSTATE_oc[2];      /* '<S7>/Discrete SS' */
64  real_T RTout_Buffer0;                /* '<S3>/RTout' */
65  real_T RTout_Buffer0_m;              /* '<S2>/RTout' */
66  real_T RTout_Buffer0_g;              /* '<S5>/RTout' */
67  real_T RTout_Buffer0_e;              /* '<S4>/RTout' */
68  real_T RTout_Buffer0_o;              /* '<S7>/RTout' */
69  real_T RTout_Buffer0_h;              /* '<S6>/RTout' */
70} DW_Mount_Control_T;
71
72/* Constant parameters (default storage) */
73typedef struct {
74  /* Computed Parameter: DiscreteSS_A
75   * Referenced by: '<S2>/Discrete SS'
76   */
77  real_T DiscreteSS_A[145];
78
79  /* Computed Parameter: DiscreteSS_C
80   * Referenced by: '<S2>/Discrete SS'
81   */
82  real_T DiscreteSS_C[13];
83
84  /* Computed Parameter: DiscreteSS_A_i
85   * Referenced by: '<S4>/Discrete SS'
86   */
87  real_T DiscreteSS_A_i[101];
88
89  /* Computed Parameter: DiscreteSS_C_n
90   * Referenced by: '<S4>/Discrete SS'
91   */
92  real_T DiscreteSS_C_n[11];
93
94  /* Computed Parameter: DiscreteSS_A_b
95   * Referenced by: '<S6>/Discrete SS'
96   */
97  real_T DiscreteSS_A_b[37];
98
99  /* Computed Parameter: DiscreteSS_C_e
100   * Referenced by: '<S6>/Discrete SS'
101   */
102  real_T DiscreteSS_C_e[7];
103} ConstP_Mount_Control_T;
104
105/* External inputs (root inport signals with default storage) */
106typedef struct {
107  real_T Mount_SP[3];                  /* '<Root>/Mount_SP' */
108  real_T Mount_FB[14];                 /* '<Root>/Mount_FB' */
109} ExtU_Mount_Control_T;
110
111/* External outputs (root outports fed by signals with default storage) */
112typedef struct {
113  real_T Mount_cmd[3];                 /* '<Root>/Mount_cmd' */
114} ExtY_Mount_Control_T;
115
116/* Real-time Model Data Structure */
117struct tag_RTM_Mount_Control_T {
118  const char_T * volatile errorStatus;
119
120  /*
121   * Timing:
122   * The following substructure contains information regarding
123   * the timing information for the model.
124   */
125  struct {
126    struct {
127      uint8_T TID[2];
128    } TaskCounters;
129  } Timing;
130};
131
132/* Block signals (default storage) */
133extern B_Mount_Control_T Mount_Control_B;
134
135/* Block states (default storage) */
136extern DW_Mount_Control_T Mount_Control_DW;
137
138/* External inputs (root inport signals with default storage) */
139extern ExtU_Mount_Control_T Mount_Control_U;
140
141/* External outputs (root outports fed by signals with default storage) */
142extern ExtY_Mount_Control_T Mount_Control_Y;
143
144/* Constant parameters (default storage) */
145extern const ConstP_Mount_Control_T Mount_Control_ConstP;
146
147/* Model entry point functions */
148extern void Mount_Control_initialize(void);
149extern void Mount_Control_step(void);
150extern void Mount_Control_terminate(void);
151
152/* Real-time Model object */
153extern RT_MODEL_Mount_Control_T *const Mount_Control_M;
154
155/*-
156 * The generated code includes comments that allow you to trace directly
157 * back to the appropriate location in the model.  The basic format
158 * is <system>/block_name, where system is the system number (uniquely
159 * assigned by Simulink) and block_name is the name of the block.
160 *
161 * Note that this particular code originates from a subsystem build,
162 * and has its own system numbers different from the parent model.
163 * Refer to the system hierarchy for this subsystem below, and use the
164 * MATLAB hilite_system command to trace the generated code back
165 * to the parent model.  For example,
166 *
167 * hilite_system('ims_Build5pt1f/Mount_Control')    - opens subsystem ims_Build5pt1f/Mount_Control
168 * hilite_system('ims_Build5pt1f/Mount_Control/Kp') - opens and selects block Kp
169 *
170 * Here is the system hierarchy for this model
171 *
172 * '<Root>' : 'ims_Build5pt1f'
173 * '<S1>'   : 'ims_Build5pt1f/Mount_Control'
174 * '<S2>'   : 'ims_Build5pt1f/Mount_Control/AZ FB controller'
175 * '<S3>'   : 'ims_Build5pt1f/Mount_Control/AZ FF controller'
176 * '<S4>'   : 'ims_Build5pt1f/Mount_Control/EL FB controller'
177 * '<S5>'   : 'ims_Build5pt1f/Mount_Control/EL FF controller'
178 * '<S6>'   : 'ims_Build5pt1f/Mount_Control/GIR FB controller'
179 * '<S7>'   : 'ims_Build5pt1f/Mount_Control/GIR FF controller'
180 */
181#endif                                 /* RTW_HEADER_Mount_Control_h_ */
182
183/*
184 * File trailer for generated code.
185 *
186 * [EOF]
187 */
188"##}