/* * File: Mount_Drv_FDR2023.h * * Code generated for Simulink model 'Mount_Drv_FDR2023'. * * Model version : 9.56 * Simulink Coder version : 9.8 (R2022b) 13-May-2022 * C/C++ source code generated on : Fri Jun 2 18:11:08 2023 * * Target selection: ert.tlc * Embedded hardware selection: Intel->x86-64 (Linux 64) * Code generation objective: Execution efficiency * Validation result: All passed */ #ifndef RTW_HEADER_Mount_Drv_FDR2023_h_ #define RTW_HEADER_Mount_Drv_FDR2023_h_ #ifndef Mount_Drv_FDR2023_COMMON_INCLUDES_ #define Mount_Drv_FDR2023_COMMON_INCLUDES_ #include "rtwtypes.h" #endif /* Mount_Drv_FDR2023_COMMON_INCLUDES_ */ #include "Mount_Drv_FDR2023_types.h" #include "rt_defines.h" /* Block signals and states (default storage) for system '/AZ DT Lugre Fr mode' */ typedef struct { real_T Sum; /* '/Sum' */ real_T Sum_i; /* '/Sum' */ real_T Divide; /* '/Divide' */ real_T DiscreteTimeIntegrator_DSTATE;/* '/Discrete-Time Integrator' */ } DW_AZDTLugreFrmode_Mount_Drv__T; /* Block signals and states (default storage) for system '' */ typedef struct { DW_AZDTLugreFrmode_Mount_Drv__T ELDTLugreFrmodel;/* '/EL DT Lugre Fr model' */ DW_AZDTLugreFrmode_Mount_Drv__T AZDTLugreFrmode;/* '/AZ DT Lugre Fr mode' */ real_T UD_DSTATE[3]; /* '/UD' */ real_T DRVdelay_DSTATE[12]; /* '/DRV delay' */ real_T DRV_dyn_states[3]; /* '/DRV_dyn' */ real_T Sum2; /* '/Sum2' */ real_T Sum2_m; /* '/Sum2' */ real_T Sum2_i; /* '/Sum2' */ real_T Sum; /* '/Sum' */ real_T Divide; /* '/Divide' */ real_T Sum_i; /* '/Sum' */ real_T Sum_d; /* '/Sum' */ real_T UnitDelay2_DSTATE; /* '/Unit Delay2' */ real_T DiscreteTimeIntegrator_DSTATE;/* '/Discrete-Time Integrator' */ real_T DiscreteTransferFcn_states; /* '/Discrete Transfer Fcn' */ uint32_T CircBufIdx; /* '/DRV delay' */ } DW_Mount_Drv_FDR2023_T; /* Constant parameters (default storage) */ typedef struct { /* Pooled Parameter (Expression: oParasitic.oEmf.SpAmp_NPerA) * Referenced by: * '/EMF Spatial Pattern (N//A)' * '/EMF Spatial Pattern (N//A)' */ real_T pooled5[6]; /* Pooled Parameter (Expression: oParasitic.oEmf.SpFreq_mmInv*2*pi) * Referenced by: * '/EMF Spatial Pattern (N//A)' * '/EMF Spatial Pattern (N//A)' */ real_T pooled6[6]; /* Pooled Parameter (Expression: oParasitic.oEmf.SpPhase_rad) * Referenced by: * '/EMF Spatial Pattern (N//A)' * '/EMF Spatial Pattern (N//A)' */ real_T pooled7[6]; /* Expression: oParasitic.PhaseShifts_mm' * Referenced by: '/Bias' */ real_T Bias_Bias[8]; /* Expression: blkdiag(1/4*ones(1,4),1/6*ones(1,6),1/4*ones(1,4)) * Referenced by: '/Drv_Pos_avg' */ real_T Drv_Pos_avg_Gain[42]; /* Expression: oToothContact.oInterp.TorqueRate * Referenced by: '/1-D Lookup Table' */ real_T uDLookupTable_tableData[521]; /* Expression: oToothContact.oInterp.Pos * Referenced by: '/1-D Lookup Table' */ real_T uDLookupTable_bp01Data[521]; /* Expression: oToothContact.oInterp.TorqueRate * Referenced by: '/1-D Lookup Table' */ real_T uDLookupTable_tableData_c[261]; /* Expression: oToothContact.oInterp.Pos * Referenced by: '/1-D Lookup Table' */ real_T uDLookupTable_bp01Data_p[261]; /* Expression: blkdiag(1/8*ones(8,1),1/4*ones(4,1),1/4*ones(4,1)) * Referenced by: '/Split_Drv_To' */ real_T Split_Drv_To_Gain[48]; } ConstP_Mount_Drv_FDR2023_T; /* External inputs (root inport signals with default storage) */ typedef struct { real_T Mount_cmd[3]; /* '/Mount_cmd' */ real_T Mount_drv_Po[14]; /* '/Mount_drv_Po' */ } ExtU_Mount_Drv_FDR2023_T; /* External outputs (root outports fed by signals with default storage) */ typedef struct { real_T Mount_T[16]; /* '/Mount_T' */ real_T ToothCAxialFo; /* '/ToothCAxialFo' */ } ExtY_Mount_Drv_FDR2023_T; /* Real-time Model Data Structure */ struct tag_RTM_Mount_Drv_FDR2023_T { DW_Mount_Drv_FDR2023_T *dwork; }; /* Constant parameters (default storage) */ extern const ConstP_Mount_Drv_FDR2023_T Mount_Drv_FDR2023_ConstP; /* Model entry point functions */ extern void Mount_Drv_FDR2023_initialize(RT_MODEL_Mount_Drv_FDR2023_T *const Mount_Drv_FDR2023_M); extern void Mount_Drv_FDR2023_step(RT_MODEL_Mount_Drv_FDR2023_T *const Mount_Drv_FDR2023_M, ExtU_Mount_Drv_FDR2023_T *Mount_Drv_FDR2023_U, ExtY_Mount_Drv_FDR2023_T *Mount_Drv_FDR2023_Y); extern void Mount_Drv_FDR2023_terminate(RT_MODEL_Mount_Drv_FDR2023_T *const Mount_Drv_FDR2023_M); /*- * These blocks were eliminated from the model due to optimizations: * * Block '/Data Type Duplicate' : 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 /block_name, where system is the system number (uniquely * assigned by Simulink) and block_name is the name of the block. * * Note that this particular code originates from a subsystem build, * and has its own system numbers different from the parent model. * Refer to the system hierarchy for this subsystem below, and use the * MATLAB hilite_system command to trace the generated code back * to the parent model. For example, * * hilite_system('mount_2_rust/Mount_Drv_FDR2023') - opens subsystem mount_2_rust/Mount_Drv_FDR2023 * hilite_system('mount_2_rust/Mount_Drv_FDR2023/Kp') - opens and selects block Kp * * Here is the system hierarchy for this model * * '' : 'mount_2_rust' * '' : 'mount_2_rust/Mount_Drv_FDR2023' * '' : 'mount_2_rust/Mount_Drv_FDR2023/DRV Friction' * '' : 'mount_2_rust/Mount_Drv_FDR2023/Discrete Derivative' * '' : 'mount_2_rust/Mount_Drv_FDR2023/Parasitic torque model' * '' : 'mount_2_rust/Mount_Drv_FDR2023/ToothContact Torques' * '' : 'mount_2_rust/Mount_Drv_FDR2023/DRV Friction/AZ DT Lugre Fr mode' * '' : 'mount_2_rust/Mount_Drv_FDR2023/DRV Friction/EL DT Lugre Fr model' * '' : 'mount_2_rust/Mount_Drv_FDR2023/DRV Friction/GIR DT Lugre Fr model' * '' : 'mount_2_rust/Mount_Drv_FDR2023/DRV Friction/AZ DT Lugre Fr mode/g(v)' * '' : 'mount_2_rust/Mount_Drv_FDR2023/DRV Friction/AZ DT Lugre Fr mode/v2z' * '' : 'mount_2_rust/Mount_Drv_FDR2023/DRV Friction/AZ DT Lugre Fr mode/g(v)/gs' * '' : 'mount_2_rust/Mount_Drv_FDR2023/DRV Friction/EL DT Lugre Fr model/g(v)' * '' : 'mount_2_rust/Mount_Drv_FDR2023/DRV Friction/EL DT Lugre Fr model/v2z' * '' : 'mount_2_rust/Mount_Drv_FDR2023/DRV Friction/EL DT Lugre Fr model/g(v)/gs' * '' : 'mount_2_rust/Mount_Drv_FDR2023/DRV Friction/GIR DT Lugre Fr model/g(v)' * '' : 'mount_2_rust/Mount_Drv_FDR2023/DRV Friction/GIR DT Lugre Fr model/v2z' * '' : 'mount_2_rust/Mount_Drv_FDR2023/DRV Friction/GIR DT Lugre Fr model/g(v)/gs' * '' : 'mount_2_rust/Mount_Drv_FDR2023/Parasitic torque model/Parasitic AZ' * '' : 'mount_2_rust/Mount_Drv_FDR2023/Parasitic torque model/Parasitic EL' * '' : 'mount_2_rust/Mount_Drv_FDR2023/Parasitic torque model/Parasitic GIR' * '' : 'mount_2_rust/Mount_Drv_FDR2023/Parasitic torque model/Radians to Degrees' * '' : 'mount_2_rust/Mount_Drv_FDR2023/Parasitic torque model/Parasitic AZ/For Each Subsystem' * '' : 'mount_2_rust/Mount_Drv_FDR2023/Parasitic torque model/Parasitic AZ/For Each Subsystem1' * '' : 'mount_2_rust/Mount_Drv_FDR2023/Parasitic torque model/Parasitic EL/For Each Subsystem' * '' : 'mount_2_rust/Mount_Drv_FDR2023/Parasitic torque model/Parasitic EL/For Each Subsystem1' * '' : 'mount_2_rust/Mount_Drv_FDR2023/Parasitic torque model/Parasitic GIR/For Each Subsystem' * '' : 'mount_2_rust/Mount_Drv_FDR2023/Parasitic torque model/Parasitic GIR/For Each Subsystem1' * '' : 'mount_2_rust/Mount_Drv_FDR2023/ToothContact Torques/Radians to Degrees' * '' : 'mount_2_rust/Mount_Drv_FDR2023/ToothContact Torques/ToothContact GIR (Norm)' * '' : 'mount_2_rust/Mount_Drv_FDR2023/ToothContact Torques/ToothContact GIR (Peak)' */ #endif /* RTW_HEADER_Mount_Drv_FDR2023_h_ */ /* * File trailer for generated code. * * [EOF] */