192 lines
5.1 KiB
C
192 lines
5.1 KiB
C
/*
|
|
* File: fuc.h
|
|
*
|
|
* Code generated for Simulink model 'fuc'.
|
|
*
|
|
* Model version : 1.18
|
|
* Simulink Coder version : 9.8 (R2022b) 13-May-2022
|
|
* C/C++ source code generated on : Sat Jan 6 10:24:46 2024
|
|
*
|
|
* Target selection: ert.tlc
|
|
* Embedded hardware selection: ARM Compatible->ARM 64-bit (LP64)
|
|
* Code generation objectives: Unspecified
|
|
* Validation result: Not run
|
|
*/
|
|
|
|
#ifndef RTW_HEADER_fuc_h_
|
|
#define RTW_HEADER_fuc_h_
|
|
#ifndef fuc_COMMON_INCLUDES_
|
|
#define fuc_COMMON_INCLUDES_
|
|
#include "rtwtypes.h"
|
|
#include "rtw_continuous.h"
|
|
#include "rtw_solver.h"
|
|
#endif /* fuc_COMMON_INCLUDES_ */
|
|
|
|
#include "fuc_types.h"
|
|
#include <string.h>
|
|
#include "rt_nonfinite.h"
|
|
|
|
/* 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
|
|
|
|
#ifndef rtmGetStopRequested
|
|
#define rtmGetStopRequested(rtm) ((rtm)->Timing.stopRequestedFlag)
|
|
#endif
|
|
|
|
#ifndef rtmSetStopRequested
|
|
#define rtmSetStopRequested(rtm, val) ((rtm)->Timing.stopRequestedFlag = (val))
|
|
#endif
|
|
|
|
#ifndef rtmGetStopRequestedPtr
|
|
#define rtmGetStopRequestedPtr(rtm) (&((rtm)->Timing.stopRequestedFlag))
|
|
#endif
|
|
|
|
#ifndef rtmGetT
|
|
#define rtmGetT(rtm) (rtmGetTPtr((rtm))[0])
|
|
#endif
|
|
|
|
#ifndef rtmGetTPtr
|
|
#define rtmGetTPtr(rtm) ((rtm)->Timing.t)
|
|
#endif
|
|
|
|
/* Block signals (default storage) */
|
|
typedef struct {
|
|
real_T x2; /* '<Root>/Integrator' */
|
|
real_T y; /* '<Root>/u(1)//u(3)*u(2)^3' */
|
|
real_T y_j; /* '<Root>/-u(3)//u(2)*u(1)^3+u(4)//u(2)' */
|
|
} B_fuc_T;
|
|
|
|
/* Continuous states (default storage) */
|
|
typedef struct {
|
|
real_T sys_CSTATE; /* '<Root>/sys' */
|
|
real_T Integrator_CSTATE; /* '<Root>/Integrator' */
|
|
real_T Integrator1_CSTATE; /* '<Root>/Integrator1' */
|
|
} X_fuc_T;
|
|
|
|
/* State derivatives (default storage) */
|
|
typedef struct {
|
|
real_T sys_CSTATE; /* '<Root>/sys' */
|
|
real_T Integrator_CSTATE; /* '<Root>/Integrator' */
|
|
real_T Integrator1_CSTATE; /* '<Root>/Integrator1' */
|
|
} XDot_fuc_T;
|
|
|
|
/* State disabled */
|
|
typedef struct {
|
|
boolean_T sys_CSTATE; /* '<Root>/sys' */
|
|
boolean_T Integrator_CSTATE; /* '<Root>/Integrator' */
|
|
boolean_T Integrator1_CSTATE; /* '<Root>/Integrator1' */
|
|
} XDis_fuc_T;
|
|
|
|
#ifndef ODE3_INTG
|
|
#define ODE3_INTG
|
|
|
|
/* ODE3 Integration Data */
|
|
typedef struct {
|
|
real_T *y; /* output */
|
|
real_T *f[3]; /* derivatives */
|
|
} ODE3_IntgData;
|
|
|
|
#endif
|
|
|
|
/* Real-time Model Data Structure */
|
|
struct tag_RTM_fuc_T {
|
|
const char_T *errorStatus;
|
|
RTWSolverInfo solverInfo;
|
|
X_fuc_T *contStates;
|
|
int_T *periodicContStateIndices;
|
|
real_T *periodicContStateRanges;
|
|
real_T *derivs;
|
|
XDis_fuc_T *contStateDisabled;
|
|
boolean_T zCCacheNeedsReset;
|
|
boolean_T derivCacheNeedsReset;
|
|
boolean_T CTOutputIncnstWithState;
|
|
real_T odeY[3];
|
|
real_T odeF[3][3];
|
|
ODE3_IntgData intgData;
|
|
|
|
/*
|
|
* Sizes:
|
|
* The following substructure contains sizes information
|
|
* for many of the model attributes such as inputs, outputs,
|
|
* dwork, sample times, etc.
|
|
*/
|
|
struct {
|
|
int_T numContStates;
|
|
int_T numPeriodicContStates;
|
|
int_T numSampTimes;
|
|
} Sizes;
|
|
|
|
/*
|
|
* Timing:
|
|
* The following substructure contains information regarding
|
|
* the timing information for the model.
|
|
*/
|
|
struct {
|
|
uint16_T clockTick0;
|
|
time_T stepSize0;
|
|
uint16_T clockTick1;
|
|
SimTimeStep simTimeStep;
|
|
boolean_T stopRequestedFlag;
|
|
time_T *t;
|
|
time_T tArray[2];
|
|
} Timing;
|
|
};
|
|
|
|
/* Block signals (default storage) */
|
|
extern B_fuc_T fuc_B;
|
|
|
|
/* Continuous states (default storage) */
|
|
extern X_fuc_T fuc_X;
|
|
|
|
/* Model entry point functions */
|
|
extern void fuc_initialize(void);
|
|
extern void fuc_step(void);
|
|
extern void fuc_terminate(void);
|
|
|
|
/* Real-time Model object */
|
|
extern RT_MODEL_fuc_T *const fuc_M;
|
|
|
|
/*-
|
|
* These blocks were eliminated from the model due to optimizations:
|
|
*
|
|
* Block '<Root>/Scope' : Unused code path elimination
|
|
*/
|
|
|
|
/*-
|
|
* 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.
|
|
*
|
|
* Use the MATLAB hilite_system command to trace the generated code back
|
|
* to the model. For example,
|
|
*
|
|
* hilite_system('<S3>') - opens system 3
|
|
* hilite_system('<S3>/Kp') - opens and selects block Kp which resides in S3
|
|
*
|
|
* Here is the system hierarchy for this model
|
|
*
|
|
* '<Root>' : 'fuc'
|
|
* '<S1>' : 'fuc/-u(3)//u(2)*u(1)^3+u(4)//u(2)'
|
|
* '<S2>' : 'fuc/Subsystem'
|
|
* '<S3>' : 'fuc/u'
|
|
* '<S4>' : 'fuc/u(1)//u(3)*u(2)^3'
|
|
* '<S5>' : 'fuc/u(2)+u(1)*u(3)-u(4)'
|
|
* '<S6>' : 'fuc/Subsystem/ddsint'
|
|
* '<S7>' : 'fuc/Subsystem/dsint'
|
|
* '<S8>' : 'fuc/Subsystem/sint'
|
|
*/
|
|
#endif /* RTW_HEADER_fuc_h_ */
|
|
|
|
/*
|
|
* File trailer for generated code.
|
|
*
|
|
* [EOF]
|
|
*/
|