| 1 | /* |
| 2 | * PWM_sf.h |
| 3 | * |
| 4 | * Code generation for model "PWM_sf". |
| 5 | * |
| 6 | * Model version : 1.825 |
| 7 | * Simulink Coder version : 9.4 (R2020b) 29-Jul-2020 |
| 8 | * C source code generated on : Fri Apr 14 12:53:29 2023 |
| 9 | * |
| 10 | * Target selection: rtwsfcn.tlc |
| 11 | * Note: GRT includes extra infrastructure and instrumentation for prototyping |
| 12 | * Embedded hardware selection: ARM Compatible->ARM Cortex-M |
| 13 | * Emulation hardware selection: |
| 14 | * Differs from embedded hardware (MATLAB Host) |
| 15 | * Code generation objectives: |
| 16 | * 1. Execution efficiency |
| 17 | * 2. RAM efficiency |
| 18 | * Validation result: Not run |
| 19 | */ |
| 20 | |
| 21 | #ifndef RTW_HEADER_PWM_sf_h_ |
| 22 | #define RTW_HEADER_PWM_sf_h_ |
| 23 | #include <float.h> |
| 24 | #include <math.h> |
| 25 | #include <string.h> |
| 26 | #include <stddef.h> |
| 27 | #ifndef PWM_sf_COMMON_INCLUDES_ |
| 28 | #define PWM_sf_COMMON_INCLUDES_ |
| 29 | #include <stdlib.h> |
| 30 | #define S_FUNCTION_NAME PWM_sf |
| 31 | #define S_FUNCTION_LEVEL 2 |
| 32 | #define RTW_GENERATED_S_FUNCTION |
| 33 | #include "rtwtypes.h" |
| 34 | #include "simstruc.h" |
| 35 | #include "fixedpoint.h" |
| 36 | #if !defined(MATLAB_MEX_FILE) |
| 37 | #include "rt_matrx.h" |
| 38 | #endif |
| 39 | |
| 40 | #if !defined(RTW_SFUNCTION_DEFINES) |
| 41 | #define RTW_SFUNCTION_DEFINES |
| 42 | |
| 43 | typedef struct { |
| 44 | void *blockIO; |
| 45 | void *defaultParam; |
| 46 | void *nonContDerivSig; |
| 47 | } LocalS; |
| 48 | |
| 49 | #define ssSetLocalBlockIO(S, io) ((LocalS *)ssGetUserData(S))->blockIO = ((void *)(io)) |
| 50 | #define ssGetLocalBlockIO(S) ((LocalS *)ssGetUserData(S))->blockIO |
| 51 | #define ssSetLocalDefaultParam(S, paramVector) ((LocalS *)ssGetUserData(S))->defaultParam = (paramVector) |
| 52 | #define ssGetLocalDefaultParam(S) ((LocalS *)ssGetUserData(S))->defaultParam |
| 53 | #define ssSetLocalNonContDerivSig(S, pSig) ((LocalS *)ssGetUserData(S))->nonContDerivSig = (pSig) |
| 54 | #define ssGetLocalNonContDerivSig(S) ((LocalS *)ssGetUserData(S))->nonContDerivSig |
| 55 | #endif |
| 56 | #endif /* PWM_sf_COMMON_INCLUDES_ */ |
| 57 | |
| 58 | #include "PWM_sf_types.h" |
| 59 | |
| 60 | /* Shared type includes */ |
| 61 | #include "multiword_types.h" |
| 62 | #include "rtGetNaN.h" |
| 63 | #include "rt_nonfinite.h" |
| 64 | #include "rtGetInf.h" |
| 65 | #include "rt_defines.h" |
| 66 | |
| 67 | /* Block signals (default storage) */ |
| 68 | typedef struct { |
| 69 | real_T Product; /* '<S2>/Product' */ |
| 70 | real_T Product1; /* '<S2>/Product1' */ |
| 71 | real_T DataTypeConversion6; /* '<S2>/Data Type Conversion6' */ |
| 72 | real_T DataTypeConversion2; /* '<S2>/Data Type Conversion2' */ |
| 73 | real_T DataTypeConversion4; /* '<S2>/Data Type Conversion4' */ |
| 74 | } B_PWM_T; |
| 75 | |
| 76 | /* Constant parameters (default storage) */ |
| 77 | typedef struct { |
| 78 | /* Expression: rep_seq_y |
| 79 | * Referenced by: '<S3>/Look-Up Table1' |
| 80 | */ |
| 81 | real_T LookUpTable1_tableData[3]; |
| 82 | |
| 83 | /* Expression: rep_seq_t - min(rep_seq_t) |
| 84 | * Referenced by: '<S3>/Look-Up Table1' |
| 85 | */ |
| 86 | real_T LookUpTable1_bp01Data[3]; |
| 87 | } ConstP_PWM_T; |
| 88 | |
| 89 | /* External inputs (root inport signals with default storage) */ |
| 90 | typedef struct { |
| 91 | real_T *pwm_info[3]; /* '<Root>/pwm_info' */ |
| 92 | } ExternalUPtrs_PWM_T; |
| 93 | |
| 94 | /* External outputs (root outports fed by signals with default storage) */ |
| 95 | typedef struct { |
| 96 | real_T *PWMb[6]; /* '<Root>/PWMb' */ |
| 97 | } ExtY_PWM_T; |
| 98 | |
| 99 | /* Constant parameters (default storage) */ |
| 100 | extern const ConstP_PWM_T PWM_ConstP; |
| 101 | |
| 102 | /*- |
| 103 | * These blocks were eliminated from the model due to optimizations: |
| 104 | * |
| 105 | * Block '<S3>/Output' : Eliminate redundant signal conversion block |
| 106 | */ |
| 107 | |
| 108 | /*- |
| 109 | * The generated code includes comments that allow you to trace directly |
| 110 | * back to the appropriate location in the model. The basic format |
| 111 | * is <system>/block_name, where system is the system number (uniquely |
| 112 | * assigned by Simulink) and block_name is the name of the block. |
| 113 | * |
| 114 | * Note that this particular code originates from a subsystem build, |
| 115 | * and has its own system numbers different from the parent model. |
| 116 | * Refer to the system hierarchy for this subsystem below, and use the |
| 117 | * MATLAB hilite_system command to trace the generated code back |
| 118 | * to the parent model. For example, |
| 119 | * |
| 120 | * hilite_system('FOC_ADRC/PWM') - opens subsystem FOC_ADRC/PWM |
| 121 | * hilite_system('FOC_ADRC/PWM/Kp') - opens and selects block Kp |
| 122 | * |
| 123 | * Here is the system hierarchy for this model |
| 124 | * |
| 125 | * '<Root>' : 'FOC_ADRC' |
| 126 | * '<S1>' : 'FOC_ADRC/PWM' |
| 127 | * '<S2>' : 'FOC_ADRC/PWM/PWM Generator' |
| 128 | * '<S3>' : 'FOC_ADRC/PWM/modulated wave' |
| 129 | * '<S4>' : 'FOC_ADRC/PWM/PWM Generator/MATLAB Function1' |
| 130 | */ |
| 131 | #endif /* RTW_HEADER_PWM_sf_h_ */ |
| 132 |