This repository has been archived on 2025-04-28. You can view files and clone it, but cannot push or open issues or pull requests.
EMS/1.Software/Verify/simulink/fuc_ert_rtw/fuc.h

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]
*/