Files
B_Current_Ctrl/gencode/Matlab/control_ert_rtw/control_capi.c
T
2025-09-18 20:39:22 +08:00

748 lines
27 KiB
C

/*
* File: control_capi.c
*
* Code generated for Simulink model 'control'.
*
* Model version : 1.249
* Simulink Coder version : 24.1 (R2024a) 19-Nov-2023
* C/C++ source code generated on : Wed Sep 17 15:56:46 2025
*
* Target selection: ert.tlc
* Embedded hardware selection: ARM Compatible->ARM Cortex
* Code generation objectives: Unspecified
* Validation result: Not run
*/
#include <stddef.h>
#include "rtw_capi.h"
#ifdef HOST_CAPI_BUILD
#include "control_capi_host.h"
#define sizeof(s) ((size_t)(0xFFFF))
#undef rt_offsetof
#define rt_offsetof(s,el) ((uint16_T)(0xFFFF))
#define TARGET_CONST
#define TARGET_STRING(s) (s)
#else /* HOST_CAPI_BUILD */
#include "builtin_typeid_types.h"
#include "control.h"
#include "control_capi.h"
#include "control_private.h"
#ifdef LIGHT_WEIGHT_CAPI
#define TARGET_CONST
#define TARGET_STRING(s) ((NULL))
#else
#define TARGET_CONST const
#define TARGET_STRING(s) (s)
#endif
#endif /* HOST_CAPI_BUILD */
/* Block output signal information */
static const rtwCAPI_Signals rtBlockSignals[] = {
/* addrMapIndex, sysNum, blockPath,
* signalName, portNumber, dataTypeIndex, dimIndex, fxpIndex, sTimeIndex
*/
{ 0, 1, TARGET_STRING("control/state"),
TARGET_STRING(""), 0, 0, 0, 0, 0 },
{ 1, 1, TARGET_STRING("control/state"),
TARGET_STRING(""), 1, 0, 0, 0, 0 },
{ 2, 1, TARGET_STRING("control/state"),
TARGET_STRING(""), 2, 0, 0, 0, 0 },
{ 3, 1, TARGET_STRING("control/state"),
TARGET_STRING(""), 3, 1, 0, 0, 0 },
{ 4, 1, TARGET_STRING("control/state"),
TARGET_STRING(""), 5, 1, 0, 0, 0 },
{ 5, 8, TARGET_STRING("control/1-D Lookup Table"),
TARGET_STRING(""), 0, 0, 0, 0, 1 },
{ 6, 8, TARGET_STRING("control/1-D Lookup Table1"),
TARGET_STRING(""), 0, 0, 0, 0, 1 },
{ 7, 8, TARGET_STRING("control/1-D Lookup Table2"),
TARGET_STRING(""), 0, 0, 0, 0, 1 },
{ 8, 8, TARGET_STRING("control/1-D Lookup Table3"),
TARGET_STRING(""), 0, 0, 0, 0, 1 },
{ 9, 8, TARGET_STRING("control/1-D Lookup Table4"),
TARGET_STRING(""), 0, 0, 0, 0, 1 },
{ 10, 3, TARGET_STRING("control/voltage_control/Current "),
TARGET_STRING(""), 0, 2, 0, 0, 0 },
{ 11, 7, TARGET_STRING(
"control/voltage_control/Voltage/Switch Case Action Subsystem1"),
TARGET_STRING(""), 0, 2, 0, 0, 0 },
{ 12, 7, TARGET_STRING(
"control/voltage_control/Voltage/Switch Case Action Subsystem2"),
TARGET_STRING(""), 0, 2, 0, 0, 0 },
{ 13, 7, TARGET_STRING("control/voltage_control/Voltage/Merge1"),
TARGET_STRING(""), 0, 2, 0, 0, 0 },
{ 14, 7, TARGET_STRING(
"control/voltage_control/Voltage/Switch Case Action Subsystem1/cmd_voltage"),
TARGET_STRING(""), 0, 2, 0, 0, 0 },
{ 15, 7, TARGET_STRING(
"control/voltage_control/Voltage/Switch Case Action Subsystem2/current_out"),
TARGET_STRING(""), 0, 2, 0, 0, 0 },
{ 16, 3, TARGET_STRING(
"control/voltage_control/Current /Current PID/Sum/Sum_PID/Sum"),
TARGET_STRING(""), 0, 2, 0, 0, 0 },
{
0, 0, (NULL), (NULL), 0, 0, 0, 0, 0
}
};
static const rtwCAPI_BlockParameters rtBlockParameters[] = {
/* addrMapIndex, blockPath,
* paramName, dataTypeIndex, dimIndex, fixPtIdx
*/
{ 17, TARGET_STRING("control/1-D Lookup Table"),
TARGET_STRING("Table"), 0, 1, 0 },
{ 18, TARGET_STRING("control/1-D Lookup Table"),
TARGET_STRING("BreakpointsForDimension1"), 0, 1, 0 },
{ 19, TARGET_STRING("control/1-D Lookup Table1"),
TARGET_STRING("Table"), 0, 1, 0 },
{ 20, TARGET_STRING("control/1-D Lookup Table1"),
TARGET_STRING("BreakpointsForDimension1"), 0, 1, 0 },
{ 21, TARGET_STRING("control/1-D Lookup Table2"),
TARGET_STRING("Table"), 0, 1, 0 },
{ 22, TARGET_STRING("control/1-D Lookup Table2"),
TARGET_STRING("BreakpointsForDimension1"), 0, 1, 0 },
{ 23, TARGET_STRING("control/1-D Lookup Table3"),
TARGET_STRING("Table"), 0, 1, 0 },
{ 24, TARGET_STRING("control/1-D Lookup Table3"),
TARGET_STRING("BreakpointsForDimension1"), 0, 1, 0 },
{ 25, TARGET_STRING("control/1-D Lookup Table4"),
TARGET_STRING("Table"), 0, 2, 0 },
{ 26, TARGET_STRING("control/1-D Lookup Table4"),
TARGET_STRING("BreakpointsForDimension1"), 0, 2, 0 },
{ 27, TARGET_STRING("control/1-D Lookup Table5"),
TARGET_STRING("Table"), 0, 3, 0 },
{ 28, TARGET_STRING("control/1-D Lookup Table5"),
TARGET_STRING("BreakpointsForDimension1"), 0, 3, 0 },
{ 29, TARGET_STRING("control/Analog Filter Design"),
TARGET_STRING("A_pr"), 0, 4, 0 },
{ 30, TARGET_STRING("control/Analog Filter Design"),
TARGET_STRING("A_ir"), 1, 4, 0 },
{ 31, TARGET_STRING("control/Analog Filter Design"),
TARGET_STRING("A_jc"), 1, 4, 0 },
{ 32, TARGET_STRING("control/Analog Filter Design"),
TARGET_STRING("B_pr"), 0, 0, 0 },
{ 33, TARGET_STRING("control/Analog Filter Design"),
TARGET_STRING("B_ir"), 1, 0, 0 },
{ 34, TARGET_STRING("control/Analog Filter Design"),
TARGET_STRING("B_jc"), 1, 5, 0 },
{ 35, TARGET_STRING("control/Analog Filter Design"),
TARGET_STRING("C_pr"), 0, 0, 0 },
{ 36, TARGET_STRING("control/Analog Filter Design"),
TARGET_STRING("C_ir"), 1, 0, 0 },
{ 37, TARGET_STRING("control/Analog Filter Design"),
TARGET_STRING("C_jc"), 1, 4, 0 },
{ 38, TARGET_STRING("control/Analog Filter Design"),
TARGET_STRING("InitialCondition"), 0, 0, 0 },
{ 39, TARGET_STRING("control/Analog Filter Design1"),
TARGET_STRING("A_pr"), 0, 4, 0 },
{ 40, TARGET_STRING("control/Analog Filter Design1"),
TARGET_STRING("A_ir"), 1, 4, 0 },
{ 41, TARGET_STRING("control/Analog Filter Design1"),
TARGET_STRING("A_jc"), 1, 4, 0 },
{ 42, TARGET_STRING("control/Analog Filter Design1"),
TARGET_STRING("B_pr"), 0, 0, 0 },
{ 43, TARGET_STRING("control/Analog Filter Design1"),
TARGET_STRING("B_ir"), 1, 0, 0 },
{ 44, TARGET_STRING("control/Analog Filter Design1"),
TARGET_STRING("B_jc"), 1, 5, 0 },
{ 45, TARGET_STRING("control/Analog Filter Design1"),
TARGET_STRING("C_pr"), 0, 0, 0 },
{ 46, TARGET_STRING("control/Analog Filter Design1"),
TARGET_STRING("C_ir"), 1, 0, 0 },
{ 47, TARGET_STRING("control/Analog Filter Design1"),
TARGET_STRING("C_jc"), 1, 4, 0 },
{ 48, TARGET_STRING("control/Analog Filter Design1"),
TARGET_STRING("InitialCondition"), 0, 0, 0 },
{ 49, TARGET_STRING("control/Analog Filter Design2"),
TARGET_STRING("A_pr"), 0, 4, 0 },
{ 50, TARGET_STRING("control/Analog Filter Design2"),
TARGET_STRING("A_ir"), 1, 4, 0 },
{ 51, TARGET_STRING("control/Analog Filter Design2"),
TARGET_STRING("A_jc"), 1, 4, 0 },
{ 52, TARGET_STRING("control/Analog Filter Design2"),
TARGET_STRING("B_pr"), 0, 0, 0 },
{ 53, TARGET_STRING("control/Analog Filter Design2"),
TARGET_STRING("B_ir"), 1, 0, 0 },
{ 54, TARGET_STRING("control/Analog Filter Design2"),
TARGET_STRING("B_jc"), 1, 5, 0 },
{ 55, TARGET_STRING("control/Analog Filter Design2"),
TARGET_STRING("C_pr"), 0, 0, 0 },
{ 56, TARGET_STRING("control/Analog Filter Design2"),
TARGET_STRING("C_ir"), 1, 0, 0 },
{ 57, TARGET_STRING("control/Analog Filter Design2"),
TARGET_STRING("C_jc"), 1, 4, 0 },
{ 58, TARGET_STRING("control/Analog Filter Design2"),
TARGET_STRING("InitialCondition"), 0, 0, 0 },
{ 59, TARGET_STRING("control/Analog Filter Design3"),
TARGET_STRING("A_pr"), 0, 4, 0 },
{ 60, TARGET_STRING("control/Analog Filter Design3"),
TARGET_STRING("A_ir"), 1, 4, 0 },
{ 61, TARGET_STRING("control/Analog Filter Design3"),
TARGET_STRING("A_jc"), 1, 4, 0 },
{ 62, TARGET_STRING("control/Analog Filter Design3"),
TARGET_STRING("B_pr"), 0, 0, 0 },
{ 63, TARGET_STRING("control/Analog Filter Design3"),
TARGET_STRING("B_ir"), 1, 0, 0 },
{ 64, TARGET_STRING("control/Analog Filter Design3"),
TARGET_STRING("B_jc"), 1, 5, 0 },
{ 65, TARGET_STRING("control/Analog Filter Design3"),
TARGET_STRING("C_pr"), 0, 0, 0 },
{ 66, TARGET_STRING("control/Analog Filter Design3"),
TARGET_STRING("C_ir"), 1, 0, 0 },
{ 67, TARGET_STRING("control/Analog Filter Design3"),
TARGET_STRING("C_jc"), 1, 4, 0 },
{ 68, TARGET_STRING("control/Analog Filter Design3"),
TARGET_STRING("InitialCondition"), 0, 0, 0 },
{ 69, TARGET_STRING("control/Analog Filter Design4"),
TARGET_STRING("A_pr"), 0, 4, 0 },
{ 70, TARGET_STRING("control/Analog Filter Design4"),
TARGET_STRING("A_ir"), 1, 4, 0 },
{ 71, TARGET_STRING("control/Analog Filter Design4"),
TARGET_STRING("A_jc"), 1, 4, 0 },
{ 72, TARGET_STRING("control/Analog Filter Design4"),
TARGET_STRING("B_pr"), 0, 0, 0 },
{ 73, TARGET_STRING("control/Analog Filter Design4"),
TARGET_STRING("B_ir"), 1, 0, 0 },
{ 74, TARGET_STRING("control/Analog Filter Design4"),
TARGET_STRING("B_jc"), 1, 5, 0 },
{ 75, TARGET_STRING("control/Analog Filter Design4"),
TARGET_STRING("C_pr"), 0, 0, 0 },
{ 76, TARGET_STRING("control/Analog Filter Design4"),
TARGET_STRING("C_ir"), 1, 0, 0 },
{ 77, TARGET_STRING("control/Analog Filter Design4"),
TARGET_STRING("C_jc"), 1, 4, 0 },
{ 78, TARGET_STRING("control/Analog Filter Design4"),
TARGET_STRING("InitialCondition"), 0, 0, 0 },
{ 79, TARGET_STRING("control/voltage_control/Current /current_out"),
TARGET_STRING("InitialOutput"), 2, 0, 0 },
{ 80, TARGET_STRING("control/voltage_control/Current /Current PID"),
TARGET_STRING("N"), 2, 0, 0 },
{ 81, TARGET_STRING("control/voltage_control/Current /Current PID"),
TARGET_STRING("InitialConditionForIntegrator"), 2, 0, 0 },
{ 82, TARGET_STRING("control/voltage_control/Current /Current PID"),
TARGET_STRING("InitialConditionForFilter"), 2, 0, 0 },
{ 83, TARGET_STRING("control/voltage_control/Voltage/Voltage out"),
TARGET_STRING("InitialOutput"), 0, 0, 0 },
{ 84, TARGET_STRING("control/voltage_control/Voltage/Voltage PID"),
TARGET_STRING("N"), 2, 0, 0 },
{ 85, TARGET_STRING("control/voltage_control/Voltage/Voltage PID"),
TARGET_STRING("InitialConditionForIntegrator"), 2, 0, 0 },
{ 86, TARGET_STRING("control/voltage_control/Voltage/Voltage PID"),
TARGET_STRING("InitialConditionForFilter"), 2, 0, 0 },
{ 87, TARGET_STRING("control/voltage_control/Voltage/Constant"),
TARGET_STRING("Value"), 0, 0, 0 },
{ 88, TARGET_STRING("control/voltage_control/Voltage/Constant2"),
TARGET_STRING("Value"), 0, 0, 0 },
{ 89, TARGET_STRING("control/voltage_control/Voltage/Merge1"),
TARGET_STRING("InitialOutput"), 2, 0, 0 },
{ 90, TARGET_STRING("control/voltage_control/Voltage/Saturation"),
TARGET_STRING("UpperLimit"), 0, 0, 0 },
{ 91, TARGET_STRING("control/voltage_control/Voltage/Saturation"),
TARGET_STRING("LowerLimit"), 0, 0, 0 },
{ 92, TARGET_STRING("control/voltage_control/Voltage/Switch Case Action Subsystem/Out1"),
TARGET_STRING("InitialOutput"), 0, 0, 0 },
{ 93, TARGET_STRING("control/voltage_control/Current /Current PID/Filter/Disc. Forward Euler Filter/Filter"),
TARGET_STRING("gainval"), 2, 0, 0 },
{ 94, TARGET_STRING("control/voltage_control/Current /Current PID/Integrator/Discrete/Integrator"),
TARGET_STRING("gainval"), 2, 0, 0 },
{ 95, TARGET_STRING("control/voltage_control/Voltage/Voltage PID/Filter/Disc. Forward Euler Filter/Filter"),
TARGET_STRING("gainval"), 2, 0, 0 },
{ 96, TARGET_STRING("control/voltage_control/Voltage/Voltage PID/Integrator/Discrete/Integrator"),
TARGET_STRING("gainval"), 2, 0, 0 },
{
0, (NULL), (NULL), 0, 0, 0
}
};
/* Block states information */
static const rtwCAPI_States rtBlockStates[] = {
/* addrMapIndex, contStateStartIndex, blockPath,
* stateName, pathAlias, dWorkIndex, dataTypeIndex, dimIndex,
* fixPtIdx, sTimeIndex, isContinuous, hierInfoIdx, flatElemIdx
*/
{ 97, 0, TARGET_STRING("control/Analog\nFilter Design"),
TARGET_STRING(""),
TARGET_STRING(""),
0, 0, 5, 0, 1, 1, -1, 0 },
{ 98, 2, TARGET_STRING("control/Analog\nFilter Design1"),
TARGET_STRING(""),
TARGET_STRING(""),
0, 0, 5, 0, 1, 1, -1, 0 },
{ 99, 4, TARGET_STRING("control/Analog\nFilter Design2"),
TARGET_STRING(""),
TARGET_STRING(""),
0, 0, 5, 0, 1, 1, -1, 0 },
{ 100, 6, TARGET_STRING("control/Analog\nFilter Design3"),
TARGET_STRING(""),
TARGET_STRING(""),
0, 0, 5, 0, 1, 1, -1, 0 },
{ 101, 8, TARGET_STRING("control/Analog\nFilter Design4"),
TARGET_STRING(""),
TARGET_STRING(""),
0, 0, 5, 0, 1, 1, -1, 0 },
{ 102, -1, TARGET_STRING(
"control/voltage_control/Current\n/Current PID/Filter/Disc. Forward Euler Filter/Filter"),
TARGET_STRING("DSTATE"), "", 0, 2, 0, 0, 0, 0, -1, 0 },
{ 103, -1, TARGET_STRING(
"control/voltage_control/Current\n/Current PID/Integrator/Discrete/Integrator"),
TARGET_STRING("DSTATE"), "", 0, 2, 0, 0, 0, 0, -1, 0 },
{ 104, -1, TARGET_STRING(
"control/voltage_control/Voltage/Voltage PID/Filter/Disc. Forward Euler Filter/Filter"),
TARGET_STRING("DSTATE"), "", 0, 2, 0, 0, 0, 0, -1, 0 },
{ 105, -1, TARGET_STRING(
"control/voltage_control/Voltage/Voltage PID/Integrator/Discrete/Integrator"),
TARGET_STRING("DSTATE"), "", 0, 2, 0, 0, 0, 0, -1, 0 },
{
0, -1, (NULL), (NULL), (NULL), 0, 0, 0, 0, 0, 0, -1, 0
}
};
/* Tunable variable parameters */
static const rtwCAPI_ModelParameters rtModelParameters[] = {
/* addrMapIndex, varName, dataTypeIndex, dimIndex, fixPtIndex */
{ 106, TARGET_STRING("NormalVol"), 0, 6, 0 },
{ 107, TARGET_STRING("current_d"), 2, 0, 0 },
{ 108, TARGET_STRING("current_i"), 2, 0, 0 },
{ 109, TARGET_STRING("current_p"), 2, 0, 0 },
{ 110, TARGET_STRING("voltage_d"), 2, 0, 0 },
{ 111, TARGET_STRING("voltage_i"), 2, 0, 0 },
{ 112, TARGET_STRING("voltage_p"), 2, 0, 0 },
{ 0, (NULL), 0, 0, 0 }
};
#ifndef HOST_CAPI_BUILD
/* Declare Data Addresses statically */
static void* rtDataAddrMap[] = {
&control_B.cmd_temp, /* 0: Signal */
&control_B.cmd_buck_in_relay, /* 1: Signal */
&control_B.cmd_buck_out_relay, /* 2: Signal */
&control_B.cmd_pwm_en, /* 3: Signal */
&control_B.cmd_CV_mode, /* 4: Signal */
&control_B.uDLookupTable, /* 5: Signal */
&control_B.uDLookupTable1, /* 6: Signal */
&control_B.uDLookupTable2, /* 7: Signal */
&control_B.uDLookupTable3, /* 8: Signal */
&control_B.uDLookupTable4, /* 9: Signal */
&control_B.Sum, /* 10: Signal */
&control_B.Merge1, /* 11: Signal */
&control_B.Merge1, /* 12: Signal */
&control_B.Merge1, /* 13: Signal */
&control_B.Merge1, /* 14: Signal */
&control_B.Merge1, /* 15: Signal */
&control_B.Sum, /* 16: Signal */
&control_P.uDLookupTable_tableData[0],/* 17: Block Parameter */
&control_P.uDLookupTable_bp01Data[0],/* 18: Block Parameter */
&control_P.uDLookupTable1_tableData[0],/* 19: Block Parameter */
&control_P.uDLookupTable1_bp01Data[0],/* 20: Block Parameter */
&control_P.uDLookupTable2_tableData[0],/* 21: Block Parameter */
&control_P.uDLookupTable2_bp01Data[0],/* 22: Block Parameter */
&control_P.uDLookupTable3_tableData[0],/* 23: Block Parameter */
&control_P.uDLookupTable3_bp01Data[0],/* 24: Block Parameter */
&control_P.uDLookupTable4_tableData[0],/* 25: Block Parameter */
&control_P.uDLookupTable4_bp01Data[0],/* 26: Block Parameter */
&control_P.uDLookupTable5_tableData[0],/* 27: Block Parameter */
&control_P.uDLookupTable5_bp01Data[0],/* 28: Block Parameter */
&control_P.AnalogFilterDesign_A_pr[0],/* 29: Block Parameter */
&control_P.AnalogFilterDesign_A_ir[0],/* 30: Block Parameter */
&control_P.AnalogFilterDesign_A_jc[0],/* 31: Block Parameter */
&control_P.AnalogFilterDesign_B_pr, /* 32: Block Parameter */
&control_P.AnalogFilterDesign_B_ir, /* 33: Block Parameter */
&control_P.AnalogFilterDesign_B_jc[0],/* 34: Block Parameter */
&control_P.AnalogFilterDesign_C_pr, /* 35: Block Parameter */
&control_P.AnalogFilterDesign_C_ir, /* 36: Block Parameter */
&control_P.AnalogFilterDesign_C_jc[0],/* 37: Block Parameter */
&control_P.AnalogFilterDesign_InitialCondi,/* 38: Block Parameter */
&control_P.AnalogFilterDesign1_A_pr[0],/* 39: Block Parameter */
&control_P.AnalogFilterDesign1_A_ir[0],/* 40: Block Parameter */
&control_P.AnalogFilterDesign1_A_jc[0],/* 41: Block Parameter */
&control_P.AnalogFilterDesign1_B_pr, /* 42: Block Parameter */
&control_P.AnalogFilterDesign1_B_ir, /* 43: Block Parameter */
&control_P.AnalogFilterDesign1_B_jc[0],/* 44: Block Parameter */
&control_P.AnalogFilterDesign1_C_pr, /* 45: Block Parameter */
&control_P.AnalogFilterDesign1_C_ir, /* 46: Block Parameter */
&control_P.AnalogFilterDesign1_C_jc[0],/* 47: Block Parameter */
&control_P.AnalogFilterDesign1_InitialCond,/* 48: Block Parameter */
&control_P.AnalogFilterDesign2_A_pr[0],/* 49: Block Parameter */
&control_P.AnalogFilterDesign2_A_ir[0],/* 50: Block Parameter */
&control_P.AnalogFilterDesign2_A_jc[0],/* 51: Block Parameter */
&control_P.AnalogFilterDesign2_B_pr, /* 52: Block Parameter */
&control_P.AnalogFilterDesign2_B_ir, /* 53: Block Parameter */
&control_P.AnalogFilterDesign2_B_jc[0],/* 54: Block Parameter */
&control_P.AnalogFilterDesign2_C_pr, /* 55: Block Parameter */
&control_P.AnalogFilterDesign2_C_ir, /* 56: Block Parameter */
&control_P.AnalogFilterDesign2_C_jc[0],/* 57: Block Parameter */
&control_P.AnalogFilterDesign2_InitialCond,/* 58: Block Parameter */
&control_P.AnalogFilterDesign3_A_pr[0],/* 59: Block Parameter */
&control_P.AnalogFilterDesign3_A_ir[0],/* 60: Block Parameter */
&control_P.AnalogFilterDesign3_A_jc[0],/* 61: Block Parameter */
&control_P.AnalogFilterDesign3_B_pr, /* 62: Block Parameter */
&control_P.AnalogFilterDesign3_B_ir, /* 63: Block Parameter */
&control_P.AnalogFilterDesign3_B_jc[0],/* 64: Block Parameter */
&control_P.AnalogFilterDesign3_C_pr, /* 65: Block Parameter */
&control_P.AnalogFilterDesign3_C_ir, /* 66: Block Parameter */
&control_P.AnalogFilterDesign3_C_jc[0],/* 67: Block Parameter */
&control_P.AnalogFilterDesign3_InitialCond,/* 68: Block Parameter */
&control_P.AnalogFilterDesign4_A_pr[0],/* 69: Block Parameter */
&control_P.AnalogFilterDesign4_A_ir[0],/* 70: Block Parameter */
&control_P.AnalogFilterDesign4_A_jc[0],/* 71: Block Parameter */
&control_P.AnalogFilterDesign4_B_pr, /* 72: Block Parameter */
&control_P.AnalogFilterDesign4_B_ir, /* 73: Block Parameter */
&control_P.AnalogFilterDesign4_B_jc[0],/* 74: Block Parameter */
&control_P.AnalogFilterDesign4_C_pr, /* 75: Block Parameter */
&control_P.AnalogFilterDesign4_C_ir, /* 76: Block Parameter */
&control_P.AnalogFilterDesign4_C_jc[0],/* 77: Block Parameter */
&control_P.AnalogFilterDesign4_InitialCond,/* 78: Block Parameter */
&control_P.current_out_Y0, /* 79: Block Parameter */
&control_P.CurrentPID_N, /* 80: Mask Parameter */
&control_P.CurrentPID_InitialConditionForI,/* 81: Mask Parameter */
&control_P.CurrentPID_InitialConditionForF,/* 82: Mask Parameter */
&control_P.Voltageout_Y0, /* 83: Block Parameter */
&control_P.VoltagePID_N, /* 84: Mask Parameter */
&control_P.VoltagePID_InitialConditionForI,/* 85: Mask Parameter */
&control_P.VoltagePID_InitialConditionForF,/* 86: Mask Parameter */
&control_P.Constant_Value, /* 87: Block Parameter */
&control_P.Constant2_Value, /* 88: Block Parameter */
&control_P.Merge1_InitialOutput, /* 89: Block Parameter */
&control_P.Saturation_UpperSat, /* 90: Block Parameter */
&control_P.Saturation_LowerSat, /* 91: Block Parameter */
&control_P.Out1_Y0, /* 92: Block Parameter */
&control_P.Filter_gainval, /* 93: Block Parameter */
&control_P.Integrator_gainval, /* 94: Block Parameter */
&control_P.Filter_gainval_h, /* 95: Block Parameter */
&control_P.Integrator_gainval_b, /* 96: Block Parameter */
&control_X.AnalogFilterDesign_CSTATE[0],/* 97: Continuous State */
&control_X.AnalogFilterDesign1_CSTATE[0],/* 98: Continuous State */
&control_X.AnalogFilterDesign2_CSTATE[0],/* 99: Continuous State */
&control_X.AnalogFilterDesign3_CSTATE[0],/* 100: Continuous State */
&control_X.AnalogFilterDesign4_CSTATE[0],/* 101: Continuous State */
&control_DW.Filter_DSTATE_i, /* 102: Discrete State */
&control_DW.Integrator_DSTATE_f, /* 103: Discrete State */
&control_DW.Filter_DSTATE, /* 104: Discrete State */
&control_DW.Integrator_DSTATE, /* 105: Discrete State */
NormalVol, /* 106: Model Parameter */
&current_d, /* 107: Model Parameter */
&current_i, /* 108: Model Parameter */
&current_p, /* 109: Model Parameter */
&voltage_d, /* 110: Model Parameter */
&voltage_i, /* 111: Model Parameter */
&voltage_p, /* 112: Model Parameter */
};
/* Declare Data Run-Time Dimension Buffer Addresses statically */
static int32_T* rtVarDimsAddrMap[] = {
(NULL)
};
#endif
/* Data Type Map - use dataTypeMapIndex to access this structure */
static TARGET_CONST rtwCAPI_DataTypeMap rtDataTypeMap[] = {
/* cName, mwName, numElements, elemMapIndex, dataSize, slDataId, *
* isComplex, isPointer, enumStorageType */
{ "double", "real_T", 0, 0, sizeof(real_T), (uint8_T)SS_DOUBLE, 0, 0, 0 },
{ "unsigned int", "uint32_T", 0, 0, sizeof(uint32_T), (uint8_T)SS_UINT32, 0, 0,
0 },
{ "float", "real32_T", 0, 0, sizeof(real32_T), (uint8_T)SS_SINGLE, 0, 0, 0 }
};
#ifdef HOST_CAPI_BUILD
#undef sizeof
#endif
/* Structure Element Map - use elemMapIndex to access this structure */
static TARGET_CONST rtwCAPI_ElementMap rtElementMap[] = {
/* elementName, elementOffset, dataTypeIndex, dimIndex, fxpIndex */
{ (NULL), 0, 0, 0, 0 },
};
/* Dimension Map - use dimensionMapIndex to access elements of ths structure*/
static const rtwCAPI_DimensionMap rtDimensionMap[] = {
/* dataOrientation, dimArrayIndex, numDims, vardimsIndex */
{ rtwCAPI_SCALAR, 0, 2, 0 },
{ rtwCAPI_VECTOR, 2, 2, 0 },
{ rtwCAPI_VECTOR, 4, 2, 0 },
{ rtwCAPI_VECTOR, 6, 2, 0 },
{ rtwCAPI_VECTOR, 8, 2, 0 },
{ rtwCAPI_VECTOR, 10, 2, 0 },
{ rtwCAPI_VECTOR, 12, 2, 0 }
};
/* Dimension Array- use dimArrayIndex to access elements of this array */
static const uint_T rtDimensionArray[] = {
1, /* 0 */
1, /* 1 */
1, /* 2 */
151, /* 3 */
1, /* 4 */
61, /* 5 */
1, /* 6 */
6, /* 7 */
3, /* 8 */
1, /* 9 */
2, /* 10 */
1, /* 11 */
1, /* 12 */
9 /* 13 */
};
/* C-API stores floating point values in an array. The elements of this *
* are unique. This ensures that values which are shared across the model*
* are stored in the most efficient way. These values are referenced by *
* - rtwCAPI_FixPtMap.fracSlopePtr, *
* - rtwCAPI_FixPtMap.biasPtr, *
* - rtwCAPI_SampleTimeMap.samplePeriodPtr, *
* - rtwCAPI_SampleTimeMap.sampleOffsetPtr */
static const real_T rtcapiStoredFloats[] = {
0.005, 0.0
};
/* Fixed Point Map */
static const rtwCAPI_FixPtMap rtFixPtMap[] = {
/* fracSlopePtr, biasPtr, scaleType, wordLength, exponent, isSigned */
{ (NULL), (NULL), rtwCAPI_FIX_RESERVED, 0, 0, (boolean_T)0 },
};
/* Sample Time Map - use sTimeIndex to access elements of ths structure */
static const rtwCAPI_SampleTimeMap rtSampleTimeMap[] = {
/* samplePeriodPtr, sampleOffsetPtr, tid, samplingMode */
{ (const void *) &rtcapiStoredFloats[0], (const void *) &rtcapiStoredFloats[1],
(int8_T)1, (uint8_T)0 },
{ (const void *) &rtcapiStoredFloats[1], (const void *) &rtcapiStoredFloats[1],
(int8_T)0, (uint8_T)0 }
};
static rtwCAPI_ModelMappingStaticInfo mmiStatic = {
/* Signals:{signals, numSignals,
* rootInputs, numRootInputs,
* rootOutputs, numRootOutputs},
* Params: {blockParameters, numBlockParameters,
* modelParameters, numModelParameters},
* States: {states, numStates},
* Maps: {dataTypeMap, dimensionMap, fixPtMap,
* elementMap, sampleTimeMap, dimensionArray},
* TargetType: targetType
*/
{ rtBlockSignals, 17,
(NULL), 0,
(NULL), 0 },
{ rtBlockParameters, 80,
rtModelParameters, 7 },
{ rtBlockStates, 9 },
{ rtDataTypeMap, rtDimensionMap, rtFixPtMap,
rtElementMap, rtSampleTimeMap, rtDimensionArray },
"float",
{ 1393361383U,
1647615080U,
3048665674U,
379207884U },
(NULL), 0,
(boolean_T)0
};
/* Function to get C API Model Mapping Static Info */
const rtwCAPI_ModelMappingStaticInfo*
control_GetCAPIStaticMap(void)
{
return &mmiStatic;
}
/* Cache pointers into DataMapInfo substructure of RTModel */
#ifndef HOST_CAPI_BUILD
void control_InitializeDataMapInfo(void)
{
/* Set C-API version */
rtwCAPI_SetVersion(control_M->DataMapInfo.mmi, 1);
/* Cache static C-API data into the Real-time Model Data structure */
rtwCAPI_SetStaticMap(control_M->DataMapInfo.mmi, &mmiStatic);
/* Cache static C-API logging data into the Real-time Model Data structure */
rtwCAPI_SetLoggingStaticMap(control_M->DataMapInfo.mmi, (NULL));
/* Cache C-API Data Addresses into the Real-Time Model Data structure */
rtwCAPI_SetDataAddressMap(control_M->DataMapInfo.mmi, rtDataAddrMap);
/* Cache C-API Data Run-Time Dimension Buffer Addresses into the Real-Time Model Data structure */
rtwCAPI_SetVarDimsAddressMap(control_M->DataMapInfo.mmi, rtVarDimsAddrMap);
/* Cache the instance C-API logging pointer */
rtwCAPI_SetInstanceLoggingInfo(control_M->DataMapInfo.mmi, (NULL));
/* Set reference to submodels */
rtwCAPI_SetChildMMIArray(control_M->DataMapInfo.mmi, (NULL));
rtwCAPI_SetChildMMIArrayLen(control_M->DataMapInfo.mmi, 0);
}
#else /* HOST_CAPI_BUILD */
#ifdef __cplusplus
extern "C"
{
#endif
void control_host_InitializeDataMapInfo(control_host_DataMapInfo_T *dataMap,
const char *path)
{
/* Set C-API version */
rtwCAPI_SetVersion(dataMap->mmi, 1);
/* Cache static C-API data into the Real-time Model Data structure */
rtwCAPI_SetStaticMap(dataMap->mmi, &mmiStatic);
/* host data address map is NULL */
rtwCAPI_SetDataAddressMap(dataMap->mmi, (NULL));
/* host vardims address map is NULL */
rtwCAPI_SetVarDimsAddressMap(dataMap->mmi, (NULL));
/* Set Instance specific path */
rtwCAPI_SetPath(dataMap->mmi, path);
rtwCAPI_SetFullPath(dataMap->mmi, (NULL));
/* Set reference to submodels */
rtwCAPI_SetChildMMIArray(dataMap->mmi, (NULL));
rtwCAPI_SetChildMMIArrayLen(dataMap->mmi, 0);
}
#ifdef __cplusplus
}
#endif
#endif /* HOST_CAPI_BUILD */
/*
* File trailer for generated code.
*
* [EOF]
*/