initial commit
This commit is contained in:
4
.gitignore
vendored
Normal file
4
.gitignore
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
build
|
||||
*.zip
|
||||
*.user
|
||||
app/.qtcreator/CMakeLists.txt.user
|
||||
517
.qtcreator/CMakeLists.txt.user.fc8d3b1
Normal file
517
.qtcreator/CMakeLists.txt.user.fc8d3b1
Normal file
@@ -0,0 +1,517 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE QtCreatorProject>
|
||||
<!-- Written by QtCreator 19.0.0, 2026-03-20T23:55:42. -->
|
||||
<qtcreator>
|
||||
<data>
|
||||
<variable>EnvironmentId</variable>
|
||||
<value type="QByteArray">{fc8d3b14-ba13-41ed-9488-a8a57abc777a}</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.ActiveTarget</variable>
|
||||
<value type="qlonglong">0</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.EditorSettings</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<value type="bool" key="EditorConfiguration.AutoDetect">true</value>
|
||||
<value type="bool" key="EditorConfiguration.AutoIndent">true</value>
|
||||
<value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
|
||||
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
|
||||
<value type="QString" key="language">Cpp</value>
|
||||
<valuemap type="QVariantMap" key="value">
|
||||
<value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
|
||||
</valuemap>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
|
||||
<value type="QString" key="language">QmlJS</value>
|
||||
<valuemap type="QVariantMap" key="value">
|
||||
<value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
|
||||
</valuemap>
|
||||
</valuemap>
|
||||
<value type="qlonglong" key="EditorConfiguration.CodeStyle.Count">2</value>
|
||||
<value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
|
||||
<value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
|
||||
<value type="int" key="EditorConfiguration.IndentSize">4</value>
|
||||
<value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
|
||||
<value type="int" key="EditorConfiguration.LineEndingBehavior">0</value>
|
||||
<value type="int" key="EditorConfiguration.MarginColumn">80</value>
|
||||
<value type="bool" key="EditorConfiguration.MouseHiding">true</value>
|
||||
<value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
|
||||
<value type="int" key="EditorConfiguration.PaddingMode">1</value>
|
||||
<value type="int" key="EditorConfiguration.PreferAfterWhitespaceComments">0</value>
|
||||
<value type="bool" key="EditorConfiguration.PreferSingleLineComments">false</value>
|
||||
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
|
||||
<value type="bool" key="EditorConfiguration.ShowMargin">false</value>
|
||||
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">2</value>
|
||||
<value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
|
||||
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
|
||||
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
|
||||
<value type="int" key="EditorConfiguration.TabSize">8</value>
|
||||
<value type="bool" key="EditorConfiguration.UseGlobal">true</value>
|
||||
<value type="bool" key="EditorConfiguration.UseIndenter">false</value>
|
||||
<value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
|
||||
<value type="bool" key="EditorConfiguration.addFinalNewLine">false</value>
|
||||
<value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
|
||||
<value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
|
||||
<value type="QString" key="EditorConfiguration.ignoreFileTypes">*.md, *.MD, Makefile</value>
|
||||
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
|
||||
<value type="bool" key="EditorConfiguration.skipTrailingWhitespace">true</value>
|
||||
<value type="bool" key="EditorConfiguration.tintMarginArea">true</value>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.PluginSettings</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<valuemap type="QVariantMap" key="AutoTest.ActiveFrameworks">
|
||||
<value type="bool" key="AutoTest.Framework.Boost">true</value>
|
||||
<value type="bool" key="AutoTest.Framework.CTest">false</value>
|
||||
<value type="bool" key="AutoTest.Framework.Catch">true</value>
|
||||
<value type="bool" key="AutoTest.Framework.GTest">true</value>
|
||||
<value type="bool" key="AutoTest.Framework.QtQuickTest">true</value>
|
||||
<value type="bool" key="AutoTest.Framework.QtTest">true</value>
|
||||
</valuemap>
|
||||
<value type="bool" key="AutoTest.ApplyFilter">false</value>
|
||||
<valuemap type="QVariantMap" key="AutoTest.CheckStates"/>
|
||||
<valuelist type="QVariantList" key="AutoTest.PathFilters"/>
|
||||
<value type="int" key="AutoTest.RunAfterBuild">0</value>
|
||||
<value type="bool" key="AutoTest.UseGlobal">true</value>
|
||||
<valuemap type="QVariantMap" key="ClangTools">
|
||||
<value type="bool" key="ClangTools.AnalyzeOpenFiles">true</value>
|
||||
<value type="bool" key="ClangTools.BuildBeforeAnalysis">true</value>
|
||||
<value type="QString" key="ClangTools.DiagnosticConfig">Builtin.DefaultTidyAndClazy</value>
|
||||
<value type="int" key="ClangTools.ParallelJobs">8</value>
|
||||
<value type="bool" key="ClangTools.PreferConfigFile">true</value>
|
||||
<valuelist type="QVariantList" key="ClangTools.SelectedDirs">
|
||||
<value type="QString">/home/yoct/evaluation/cli/tmp-bbr-algo/bbr-algo/CMakeLists.txt</value>
|
||||
</valuelist>
|
||||
<valuelist type="QVariantList" key="ClangTools.SelectedFiles"/>
|
||||
<valuelist type="QVariantList" key="ClangTools.SuppressedDiagnostics"/>
|
||||
<value type="bool" key="ClangTools.UseGlobalSettings">true</value>
|
||||
</valuemap>
|
||||
<value type="int" key="RcSync">0</value>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.Target.0</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<value type="QString" key="DeviceType">Desktop</value>
|
||||
<value type="bool" key="HasPerBcDcs">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop Qt 6.10.2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop Qt 6.10.2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">qt.qt6.6102.linux_gcc_64_kit</value>
|
||||
<value type="qlonglong" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
|
||||
<value type="qlonglong" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
|
||||
<value type="qlonglong" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
|
||||
<value type="QString" key="CMake.Build.Type">Debug</value>
|
||||
<value type="int" key="CMake.Configure.BaseEnvironment">2</value>
|
||||
<value type="bool" key="CMake.Configure.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="CMake.Configure.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="CMake.Initial.Parameters">-DCMAKE_BUILD_TYPE:STRING=Debug
|
||||
-DCMAKE_COLOR_DIAGNOSTICS:BOOL=ON
|
||||
-DCMAKE_CXX_COMPILER:FILEPATH=%{Compiler:Executable:Cxx}
|
||||
-DCMAKE_C_COMPILER:FILEPATH=%{Compiler:Executable:C}
|
||||
-DCMAKE_GENERATOR:STRING=Ninja
|
||||
-DCMAKE_MAKE_PROGRAM:STRING=/usr/bin/ninja
|
||||
-DCMAKE_PREFIX_PATH:PATH=%{Qt:QT_INSTALL_PREFIX}
|
||||
-DCMAKE_PROJECT_INCLUDE_BEFORE:FILEPATH=%{BuildConfig:BuildDirectory:NativeFilePath}/.qtcreator/cmake-helper/qtcreator-project.cmake
|
||||
-DQT_CREATOR_ENABLE_MAINTENANCE_TOOL_PROVIDER:BOOL=ON
|
||||
-DQT_ENABLE_QML_DEBUG:BOOL=%{Qt:QT_ENABLE_QML_DEBUG}
|
||||
-DQT_QMAKE_EXECUTABLE:FILEPATH=%{Qt:qmakeExecutable}</value>
|
||||
<value type="int" key="EnableQmlDebugging">0</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">./build/%{Asciify:%{Kit:FileSystemName}-%{BuildConfig:Name}}</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="QString" key="CMakeProjectManager.MakeStep.BuildPreset"></value>
|
||||
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
|
||||
<value type="QString">all</value>
|
||||
</valuelist>
|
||||
<value type="bool" key="CMakeProjectManager.MakeStep.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.UserEnvironmentChanges"/>
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Erstellen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
|
||||
</valuemap>
|
||||
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Erstellen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Erstellen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="QString" key="CMakeProjectManager.MakeStep.BuildPreset"></value>
|
||||
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
|
||||
<value type="QString">clean</value>
|
||||
</valuelist>
|
||||
<value type="bool" key="CMakeProjectManager.MakeStep.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.UserEnvironmentChanges"/>
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Erstellen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
|
||||
</valuemap>
|
||||
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Bereinigen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Bereinigen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeBuildConfiguration</value>
|
||||
<value type="qlonglong" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
|
||||
<value type="qlonglong" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deployment</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Deployment</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.DeployConfiguration.CustomData"/>
|
||||
<value type="bool" key="ProjectExplorer.DeployConfiguration.CustomDataEnabled">false</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="QString" key="CMakeProjectManager.MakeStep.BuildPreset"></value>
|
||||
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
|
||||
<value type="QString"></value>
|
||||
</valuelist>
|
||||
<value type="bool" key="CMakeProjectManager.MakeStep.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.UserEnvironmentChanges"/>
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ApplicationManagerPlugin.Deploy.CMakePackageStep</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="QString" key="ApplicationManagerPlugin.Deploy.InstallPackageStep.Arguments">install-package --acknowledge</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Application Manager-Paket installieren</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ApplicationManagerPlugin.Deploy.InstallPackageStep</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.RunConfiguration.LastDeployedFiles"/>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.RunConfiguration.LastDeployedHosts"/>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.RunConfiguration.LastDeployedRemotePaths"/>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.RunConfiguration.LastDeployedSysroots"/>
|
||||
<valuelist type="QVariantList" key="RemoteLinux.LastDeployedLocalTimes"/>
|
||||
<valuelist type="QVariantList" key="RemoteLinux.LastDeployedRemoteTimes"/>
|
||||
</valuemap>
|
||||
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deployment</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Deployment</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.DeployConfiguration.CustomData"/>
|
||||
<value type="bool" key="ProjectExplorer.DeployConfiguration.CustomDataEnabled">false</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ApplicationManagerPlugin.Deploy.Configuration</value>
|
||||
</valuemap>
|
||||
<value type="qlonglong" key="ProjectExplorer.Target.DeployConfigurationCount">2</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings">
|
||||
<value type="bool" key="AndroidBuildTargetDirSupport">false</value>
|
||||
<valuelist type="QVariantList" key="ApplicationmanagerPackageTargets"/>
|
||||
<value type="bool" key="UseAndroidBuildTargetDir">false</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
|
||||
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
|
||||
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
|
||||
<value type="int" key="Analyzer.Valgrind.Callgrind.CostFormat">0</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.SuppressionFiles"/>
|
||||
<valuelist type="QVariantList" key="CustomOutputParsers"/>
|
||||
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
||||
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||
<value type="bool" key="PE.EnvironmentAspect.PrintOnRun">false</value>
|
||||
<value type="QString" key="PerfRecordArgsId">-e cpu-cycles --call-graph dwarf,4096 -F 250</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeRunConfiguration.</value>
|
||||
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">app</value>
|
||||
<value type="bool" key="ProjectExplorer.RunConfiguration.Customized">false</value>
|
||||
<value type="QString" key="ProjectExplorer.RunConfiguration.UniqueId"></value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||
<value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>
|
||||
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||
<value type="QString" key="RunConfiguration.WorkingDirectory.default">%{RunConfig:Executable:Path}</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.1">
|
||||
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
|
||||
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
|
||||
<value type="int" key="Analyzer.Valgrind.Callgrind.CostFormat">0</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.SuppressionFiles"/>
|
||||
<valuelist type="QVariantList" key="CustomOutputParsers"/>
|
||||
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
||||
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||
<value type="bool" key="PE.EnvironmentAspect.PrintOnRun">false</value>
|
||||
<value type="QString" key="PerfRecordArgsId">-e cpu-cycles --call-graph dwarf,4096 -F 250</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeRunConfiguration.</value>
|
||||
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">tests</value>
|
||||
<value type="bool" key="ProjectExplorer.RunConfiguration.Customized">false</value>
|
||||
<value type="QString" key="ProjectExplorer.RunConfiguration.UniqueId"></value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||
<value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>
|
||||
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||
<value type="QString" key="RunConfiguration.WorkingDirectory.default">%{RunConfig:Executable:Path}</value>
|
||||
</valuemap>
|
||||
<value type="qlonglong" key="ProjectExplorer.Target.RunConfigurationCount">2</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
|
||||
<value type="QString" key="CMake.Build.Type">Release</value>
|
||||
<value type="int" key="CMake.Configure.BaseEnvironment">2</value>
|
||||
<value type="bool" key="CMake.Configure.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="CMake.Configure.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="CMake.Initial.Parameters">-DCMAKE_BUILD_TYPE:STRING=Release
|
||||
-DCMAKE_COLOR_DIAGNOSTICS:BOOL=ON
|
||||
-DCMAKE_CXX_COMPILER:FILEPATH=%{Compiler:Executable:Cxx}
|
||||
-DCMAKE_C_COMPILER:FILEPATH=%{Compiler:Executable:C}
|
||||
-DCMAKE_GENERATOR:STRING=Ninja
|
||||
-DCMAKE_MAKE_PROGRAM:STRING=/usr/bin/ninja
|
||||
-DCMAKE_PREFIX_PATH:PATH=%{Qt:QT_INSTALL_PREFIX}
|
||||
-DCMAKE_PROJECT_INCLUDE_BEFORE:FILEPATH=%{BuildConfig:BuildDirectory:NativeFilePath}/.qtcreator/cmake-helper/qtcreator-project.cmake
|
||||
-DQT_CREATOR_ENABLE_MAINTENANCE_TOOL_PROVIDER:BOOL=ON
|
||||
-DQT_ENABLE_QML_DEBUG:BOOL=%{Qt:QT_ENABLE_QML_DEBUG}
|
||||
-DQT_QMAKE_EXECUTABLE:FILEPATH=%{Qt:qmakeExecutable}</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">./build/%{Asciify:%{Kit:FileSystemName}-%{BuildConfig:Name}}</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="QString" key="CMakeProjectManager.MakeStep.BuildPreset"></value>
|
||||
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
|
||||
<value type="QString">all</value>
|
||||
</valuelist>
|
||||
<value type="bool" key="CMakeProjectManager.MakeStep.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.UserEnvironmentChanges"/>
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
|
||||
</valuemap>
|
||||
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Erstellen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Erstellen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="QString" key="CMakeProjectManager.MakeStep.BuildPreset"></value>
|
||||
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
|
||||
<value type="QString">clean</value>
|
||||
</valuelist>
|
||||
<value type="bool" key="CMakeProjectManager.MakeStep.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.UserEnvironmentChanges"/>
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
|
||||
</valuemap>
|
||||
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Bereinigen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Bereinigen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeBuildConfiguration</value>
|
||||
<value type="qlonglong" key="ProjectExplorer.Target.ActiveDeployConfiguration">1</value>
|
||||
<value type="qlonglong" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deployment</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Deployment</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.DeployConfiguration.CustomData"/>
|
||||
<value type="bool" key="ProjectExplorer.DeployConfiguration.CustomDataEnabled">false</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="QString" key="CMakeProjectManager.MakeStep.BuildPreset"></value>
|
||||
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
|
||||
<value type="QString"></value>
|
||||
</valuelist>
|
||||
<value type="bool" key="CMakeProjectManager.MakeStep.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.UserEnvironmentChanges"/>
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ApplicationManagerPlugin.Deploy.CMakePackageStep</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="QString" key="ApplicationManagerPlugin.Deploy.InstallPackageStep.Arguments">install-package --acknowledge</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Application Manager-Paket installieren</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ApplicationManagerPlugin.Deploy.InstallPackageStep</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.RunConfiguration.LastDeployedFiles"/>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.RunConfiguration.LastDeployedHosts"/>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.RunConfiguration.LastDeployedRemotePaths"/>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.RunConfiguration.LastDeployedSysroots"/>
|
||||
<valuelist type="QVariantList" key="RemoteLinux.LastDeployedLocalTimes"/>
|
||||
<valuelist type="QVariantList" key="RemoteLinux.LastDeployedRemoteTimes"/>
|
||||
</valuemap>
|
||||
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deployment</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Deployment</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.DeployConfiguration.CustomData"/>
|
||||
<value type="bool" key="ProjectExplorer.DeployConfiguration.CustomDataEnabled">false</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ApplicationManagerPlugin.Deploy.Configuration</value>
|
||||
</valuemap>
|
||||
<value type="qlonglong" key="ProjectExplorer.Target.DeployConfigurationCount">2</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings">
|
||||
<value type="bool" key="AndroidBuildTargetDirSupport">false</value>
|
||||
<valuelist type="QVariantList" key="ApplicationmanagerPackageTargets"/>
|
||||
<value type="bool" key="UseAndroidBuildTargetDir">false</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
|
||||
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
|
||||
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
|
||||
<value type="int" key="Analyzer.Valgrind.Callgrind.CostFormat">0</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.SuppressionFiles"/>
|
||||
<valuelist type="QVariantList" key="CustomOutputParsers"/>
|
||||
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
||||
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||
<value type="bool" key="PE.EnvironmentAspect.PrintOnRun">false</value>
|
||||
<value type="QString" key="PerfRecordArgsId">-e cpu-cycles --call-graph dwarf,4096 -F 250</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeRunConfiguration.</value>
|
||||
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">app</value>
|
||||
<value type="bool" key="ProjectExplorer.RunConfiguration.Customized">false</value>
|
||||
<value type="QString" key="ProjectExplorer.RunConfiguration.UniqueId"></value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||
<value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>
|
||||
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||
<value type="QString" key="RunConfiguration.WorkingDirectory.default">%{RunConfig:Executable:Path}</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.1">
|
||||
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
|
||||
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
|
||||
<value type="int" key="Analyzer.Valgrind.Callgrind.CostFormat">0</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.SuppressionFiles"/>
|
||||
<valuelist type="QVariantList" key="CustomOutputParsers"/>
|
||||
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
||||
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||
<value type="bool" key="PE.EnvironmentAspect.PrintOnRun">false</value>
|
||||
<value type="QString" key="PerfRecordArgsId">-e cpu-cycles --call-graph dwarf,4096 -F 250</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeRunConfiguration.</value>
|
||||
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">tests</value>
|
||||
<value type="bool" key="ProjectExplorer.RunConfiguration.Customized">false</value>
|
||||
<value type="QString" key="ProjectExplorer.RunConfiguration.UniqueId"></value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||
<value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>
|
||||
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||
<value type="QString" key="RunConfiguration.WorkingDirectory.default">%{RunConfig:Executable:Path}</value>
|
||||
</valuemap>
|
||||
<value type="qlonglong" key="ProjectExplorer.Target.RunConfigurationCount">2</value>
|
||||
</valuemap>
|
||||
<value type="qlonglong" key="ProjectExplorer.Target.BuildConfigurationCount">2</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deployment</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Deployment</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.DeployConfiguration.CustomData"/>
|
||||
<value type="bool" key="ProjectExplorer.DeployConfiguration.CustomDataEnabled">false</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="QString" key="CMakeProjectManager.MakeStep.BuildPreset"></value>
|
||||
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
|
||||
<value type="QString"></value>
|
||||
</valuelist>
|
||||
<value type="bool" key="CMakeProjectManager.MakeStep.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.UserEnvironmentChanges"/>
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ApplicationManagerPlugin.Deploy.CMakePackageStep</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="QString" key="ApplicationManagerPlugin.Deploy.InstallPackageStep.Arguments">install-package --acknowledge</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Application Manager-Paket installieren</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ApplicationManagerPlugin.Deploy.InstallPackageStep</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.RunConfiguration.LastDeployedFiles"/>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.RunConfiguration.LastDeployedHosts"/>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.RunConfiguration.LastDeployedRemotePaths"/>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.RunConfiguration.LastDeployedSysroots"/>
|
||||
<valuelist type="QVariantList" key="RemoteLinux.LastDeployedLocalTimes"/>
|
||||
<valuelist type="QVariantList" key="RemoteLinux.LastDeployedRemoteTimes"/>
|
||||
</valuemap>
|
||||
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deployment</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Deployment</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.DeployConfiguration.CustomData"/>
|
||||
<value type="bool" key="ProjectExplorer.DeployConfiguration.CustomDataEnabled">false</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ApplicationManagerPlugin.Deploy.Configuration</value>
|
||||
</valuemap>
|
||||
<value type="qlonglong" key="ProjectExplorer.Target.DeployConfigurationCount">2</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
|
||||
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
|
||||
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
|
||||
<value type="int" key="Analyzer.Valgrind.Callgrind.CostFormat">0</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.SuppressionFiles"/>
|
||||
<valuelist type="QVariantList" key="CustomOutputParsers"/>
|
||||
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
||||
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||
<value type="bool" key="PE.EnvironmentAspect.PrintOnRun">false</value>
|
||||
<value type="QString" key="PerfRecordArgsId">-e cpu-cycles --call-graph dwarf,4096 -F 250</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeRunConfiguration.</value>
|
||||
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">app</value>
|
||||
<value type="bool" key="ProjectExplorer.RunConfiguration.Customized">false</value>
|
||||
<value type="QString" key="ProjectExplorer.RunConfiguration.UniqueId"></value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||
<value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>
|
||||
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||
<value type="QString" key="RunConfiguration.WorkingDirectory.default">%{RunConfig:Executable:Path}</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.1">
|
||||
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
|
||||
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
|
||||
<value type="int" key="Analyzer.Valgrind.Callgrind.CostFormat">0</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.SuppressionFiles"/>
|
||||
<valuelist type="QVariantList" key="CustomOutputParsers"/>
|
||||
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
||||
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||
<value type="bool" key="PE.EnvironmentAspect.PrintOnRun">false</value>
|
||||
<value type="QString" key="PerfRecordArgsId">-e cpu-cycles --call-graph dwarf,4096 -F 250</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeRunConfiguration.</value>
|
||||
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">tests</value>
|
||||
<value type="bool" key="ProjectExplorer.RunConfiguration.Customized">false</value>
|
||||
<value type="QString" key="ProjectExplorer.RunConfiguration.UniqueId"></value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||
<value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>
|
||||
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||
<value type="QString" key="RunConfiguration.WorkingDirectory.default">%{RunConfig:Executable:Path}</value>
|
||||
</valuemap>
|
||||
<value type="qlonglong" key="ProjectExplorer.Target.RunConfigurationCount">2</value>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.TargetCount</variable>
|
||||
<value type="qlonglong">1</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>Version</variable>
|
||||
<value type="int">22</value>
|
||||
</data>
|
||||
</qtcreator>
|
||||
27
CMakeLists.txt
Normal file
27
CMakeLists.txt
Normal file
@@ -0,0 +1,27 @@
|
||||
cmake_minimum_required(VERSION 3.19)
|
||||
project(bbr-algo LANGUAGES CXX)
|
||||
|
||||
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
||||
|
||||
find_package(Qt6 REQUIRED COMPONENTS Core)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
|
||||
|
||||
option(BUILD_TARGET_SOM "TARGET_SOM" OFF)
|
||||
|
||||
|
||||
include_directories(app)
|
||||
add_subdirectory(app)
|
||||
|
||||
# Ks the 'plant' of the regulatroy system
|
||||
# commented as long as 'MATLAB/extern/include' not avaliable
|
||||
# include_directories(ks)
|
||||
# add_subdirectory(ks)
|
||||
|
||||
# add_subdirectory(config)
|
||||
|
||||
enable_testing()
|
||||
add_subdirectory(tests)
|
||||
2
Jenkinsfile
vendored
2
Jenkinsfile
vendored
@@ -10,7 +10,7 @@ pipeline {
|
||||
stage('Clean-Jenkinsfile') {
|
||||
steps {
|
||||
//sh 'rm -rf build'
|
||||
echo "Building branch ${env.BRANCH_NAME}"
|
||||
echo "Cleaning branch ${env.BRANCH_NAME}"
|
||||
}
|
||||
}
|
||||
stage('Configure') {
|
||||
|
||||
1
Testing/Temporary/CTestCostData.txt
Normal file
1
Testing/Temporary/CTestCostData.txt
Normal file
@@ -0,0 +1 @@
|
||||
---
|
||||
3
Testing/Temporary/LastTest.log
Normal file
3
Testing/Temporary/LastTest.log
Normal file
@@ -0,0 +1,3 @@
|
||||
Start testing: Mar 19 16:16 CET
|
||||
----------------------------------------------------------
|
||||
End testing: Mar 19 16:16 CET
|
||||
29
app/CMakeLists.txt
Normal file
29
app/CMakeLists.txt
Normal file
@@ -0,0 +1,29 @@
|
||||
|
||||
|
||||
|
||||
qt_standard_project_setup()
|
||||
|
||||
qt_add_executable(app main.cpp
|
||||
)
|
||||
|
||||
qt_add_library(app_lib STATIC
|
||||
filter.h main.cpp filter.cpp
|
||||
Controller.hpp main.cpp Controller.cpp
|
||||
pwm.h pwm.cpp
|
||||
climate-algorithm.h climate-algorithm.cpp
|
||||
pid.h pid.cpp
|
||||
datamodel.h datamodel.cpp
|
||||
dataset.h dataset.cpp
|
||||
|
||||
text-templates.h
|
||||
|
||||
)
|
||||
|
||||
target_include_directories(app_lib PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
target_include_directories(app_lib PRIVATE ${Qt6Core_INCLUDE_DIRS})
|
||||
|
||||
# add_executable(app main.cpp filter.cpp)
|
||||
target_link_libraries(app PRIVATE
|
||||
app_lib
|
||||
Qt::Core
|
||||
)
|
||||
224
app/Controller.cpp
Normal file
224
app/Controller.cpp
Normal file
@@ -0,0 +1,224 @@
|
||||
#include "Controller.hpp"
|
||||
|
||||
|
||||
#ifdef BUILD_TARGET_SOM
|
||||
#include "application/AppLogic.hpp"
|
||||
#include "application/Environment.hpp"
|
||||
#include "application/EventLogger.hpp"
|
||||
#include "deviceConfig/model/DeviceConfiguration.hpp"
|
||||
#include "deviceConfig/model/state/GuardedAnalogConfiguration.hpp"
|
||||
#include "state/DeviceState.hpp"
|
||||
|
||||
|
||||
|
||||
bool Controller::initialize(const char *configFilePath, appengine::IAppLogic *appLogic) {
|
||||
appLogic_ = appLogic;
|
||||
auto deviceState = appLogic->deviceState();
|
||||
|
||||
|
||||
|
||||
|
||||
// Beispiel:
|
||||
SV_Temperatur_Variable_ = deviceState.getVariableByKey("Temperatur_Innenraum");
|
||||
SV_Feuchte_Variable_ = deviceState.getVariableByKey("Humidity");
|
||||
SV_Tuer_Variable_ = deviceState.getVariableByKey("Temperatur_Tuer");
|
||||
Wasserstand_Oben_Config_ = deviceState.getVariableByKey("Wasserstand_Hoch");
|
||||
Wasserstand_Unten_Config_ = deviceState.getVariableByKey("Wasserstand_Tief");
|
||||
Fuellstand_Config_ = deviceState.getVariableByKey("Fuellstand");
|
||||
Heizung_Bef_Config_ = deviceState.getVariableByKey("Heizung_Bef");
|
||||
MV_Kuehlung_Config_ = deviceState.getVariableByKey("MV_Kuehlung");
|
||||
Abschlaemmen_Config_ = deviceState.getVariableByKey("Abschlaemmen");
|
||||
Entleerpumpe_Config_ = deviceState.getVariableByKey("Entleerpumpe");
|
||||
Heizung_Kesselrand_Config_ = deviceState.getVariableByKey("Heizung_Kesselrand");
|
||||
Freigabe_Verfluessigerluefter_Config_ = deviceState.getVariableByKey("Freigabe_Verfluessigerluefter");
|
||||
Heizung_Innenraum_Config_ = deviceState.getVariableByKey("Heizung_Innenraum");
|
||||
Heizung_Tuer_Config_ = deviceState.getVariableByKey("Heizung_Tuer");
|
||||
Uebertemperatur_Config_ = deviceState.getVariableByKey("Uebertemperatur");
|
||||
MV_Entfeuchtung_Config_ = deviceState.getVariableByKey("MV_Entfeuchtung");
|
||||
MV_Druckluft_Config_ = deviceState.getVariableByKey("MV_Druckluft");
|
||||
Ansteuerung_Wassereinlass_Config_ = deviceState.getVariableByKey("Ansteuerung_Wassereinlass");
|
||||
Ansteuerung_Verdichter_Config_ = deviceState.getVariableByKey("Ansteuerung_Verdichter");
|
||||
Luefter_Innenraum_Config_ = deviceState.getVariableByKey("Luefter_Innenraum");
|
||||
SV_Verdampferausgang_ = deviceState.getVariableByKey("Temperatur_Verdampferausgang");
|
||||
SV_Befeuchtungsmodul_ = deviceState.getVariableByKey("Temperatur_Befeuchtungsmodul");
|
||||
const_duty_cycle_ = deviceState.getVariableByKey("steady_duty");
|
||||
const_freq_ = deviceState.getVariableByKey("steady_freq");
|
||||
Verdichter_Duty_Config = deviceState.getVariableByKey("Ansteuerung_Verdichter_duty");
|
||||
SV_Stellgrad_Heizung = deviceState.getVariableByKey("Stellgrad_Heizung");
|
||||
SV_Stellgrad_Kuehlung = deviceState.getVariableByKey("Stellgrad_Kuehlung");
|
||||
SV_Stellgrad_Befeuchtung = deviceState.getVariableByKey("Stellgrad_Befeuchtung");
|
||||
SV_Stellgrad_Entfeuchtung = deviceState.getVariableByKey("Stellgrad_Entfeuchtung");
|
||||
SV_Verdichter_on_ = deviceState.getVariableByKey("Verdichter_on");
|
||||
Startup_ = deviceState.getVariableByKey("Startup_finished");
|
||||
CounterTuer_ = deviceState.getVariableByKey("Counter_Tuer");
|
||||
|
||||
const_duty_cycle_ ->setValue(1000.0);
|
||||
const_freq_->setValue(1000.0);
|
||||
|
||||
auto TempConfig = dynamic_cast<appengine::deviceConfig::DeviceParameterConfiguration &>(SV_Temperatur_Variable_->configuration());
|
||||
auto FeuchteConfig = dynamic_cast<appengine::deviceConfig::DeviceParameterConfiguration &>(SV_Feuchte_Variable_->configuration());
|
||||
|
||||
|
||||
auto Sollwert_Temp_Config = TempConfig.setPointConfiguration();
|
||||
auto Sollwert_Feuchte_Config = FeuchteConfig.setPointConfiguration();
|
||||
SV_Sollwert_Temperatur_ = deviceState.getVariableByKey(Sollwert_Temp_Config->name());
|
||||
SV_Sollwert_Feuchte_ = deviceState.getVariableByKey(Sollwert_Feuchte_Config->name());
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// std::vector<appengine::asio::SignalConnectionPtr> subscriptions_{};
|
||||
// std::shared_ptr<appengine::state::StateVariable> Heizung_Bef_;
|
||||
// std::shared_ptr<appengine::state::StateVariable> MV_Kuehlung_;
|
||||
// std::shared_ptr<appengine::state::StateVariable> Abschlaemmen_;
|
||||
// std::shared_ptr<appengine::state::StateVariable> Entleerpumpe_;
|
||||
// std::shared_ptr<appengine::state::StateVariable> Heizung_Kesselrand;
|
||||
// std::shared_ptr<appengine::state::StateVariable> Freigabe_Verfluessigerluefter;
|
||||
// std::shared_ptr<appengine::state::StateVariable> Heizung_Innenraum;
|
||||
// std::shared_ptr<appengine::state::StateVariable> Heizung_Tuer;
|
||||
// std::shared_ptr<appengine::state::StateVariable> Uebertemperatur;
|
||||
// std::shared_ptr<appengine::state::StateVariable> MV_Entfeuchtung;
|
||||
// std::shared_ptr<appengine::state::StateVariable> MV_Druckluft;
|
||||
// std::shared_ptr<appengine::state::StateVariable> Ansteuerung_Wassereinlass;
|
||||
// std::shared_ptr<appengine::state::StateVariable> Wasserstand_oben_Config_;
|
||||
// std::shared_ptr<appengine::state::StateVariable> Wasserstand_oben_Config_;
|
||||
// std::shared_ptr<appengine::state::StateVariable> Ansteuerung_Verdichter;
|
||||
// std::shared_ptr<appengine::state::StateVariable> Luefter_Innenraum;
|
||||
// std::shared_ptr<appengine::state::StateVariable> heatingPower_Freq_;
|
||||
// std::vector<appengine::asio::SignalConnectionPtr> subscriptions_{};
|
||||
// std::shared_ptr<appengine::state::StateVariable> SV_Sollwert_Temperatur_;
|
||||
// std::shared_ptr<appengine::state::StateVariable> SV_Temperatur_Variable_;
|
||||
// std::shared_ptr<appengine::state::StateVariable> SV_Sollwert_Feuchte_;
|
||||
// std::shared_ptr<appengine::state::StateVariable> SV_Feuchte_Variable_;
|
||||
// std::shared_ptr<appengine::state::StateVariable> SV_Tuer_Variable_;
|
||||
|
||||
// tempSetPointVariable_ = deviceState.getVariableByKey("Temperature_Setpoint");
|
||||
|
||||
// TODO: alle bool_inXX/real_inXX und bool_outXX/real_outXX/alarm_XX Variablen hier holen.
|
||||
// struct Inputs {
|
||||
// // Eingangswerte aus bool_inXX / real_inXX / reset_flag
|
||||
// bool reset_flag{};
|
||||
// bool Sammelalarm_quittiert{};
|
||||
// bool Tuer_offen{};
|
||||
// bool Sollwert_Feuchte_aktiv{};
|
||||
// bool Steuerkontakt_Standby{};
|
||||
// bool Steuerkontakt_Befeuchtung_aus{};
|
||||
// bool Steuerkontakt_Entfeuchtung_aus{};
|
||||
// bool Entleerbehaelter_Oben{};
|
||||
// bool Wasserkanister_leer{};
|
||||
// bool Entleerbehaelter_Unten{};
|
||||
// bool Sammelalarm{};
|
||||
|
||||
// double Istwert_Temperatur{};
|
||||
// double Sollwert_Temperatur{};
|
||||
// double Temperaturband{};
|
||||
// double Istwert_Ueberwachungsregler{};
|
||||
// double Klasse_Ueberwachungsregler{};
|
||||
// double Grenzwert_Untertemperatur{};
|
||||
// double Istwert_Feuchte{};
|
||||
// double Sollwert_Feuchte{};
|
||||
// double Feuchteband{};
|
||||
// double Sollwert_Luefter{};
|
||||
// double Istwert_Temperatur_Tuer{};
|
||||
// double Istwert_Temperatur_Verdampferausgang{};
|
||||
// double Temperatur_Feuchtemodul{};
|
||||
// double Bandalarm_nach{};
|
||||
// double Betauungsschutz{};
|
||||
// double real_in11{}; // du nutzt real_in11 später direkt in alarm_15
|
||||
// };
|
||||
|
||||
//Initialize PT1 Filter
|
||||
|
||||
FILTERED_TEMP.initialize(0.25,1);
|
||||
FILTER_TUER.initialize(0.25,1);
|
||||
return true;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
void Controller::step() {
|
||||
#ifdef BUILD_TARGET_SOM
|
||||
ClimateAlgorithm::Inputs in{};
|
||||
in.Istwert_Temperatur = FILTERED_TEMP.step(SV_Temperatur_Variable_->toType<double>());
|
||||
in.Sollwert_Temperatur = SV_Sollwert_Temperatur_ ->toType<double>();
|
||||
in.Entleerbehaelter_Oben = Wasserstand_Oben_Config_->toType<bool>();
|
||||
in.Entleerbehaelter_Unten = Wasserstand_Unten_Config_->toType<bool>();
|
||||
in.Istwert_Feuchte = SV_Feuchte_Variable_->toType<double>();
|
||||
in.Sollwert_Feuchte = SV_Sollwert_Feuchte_->toType<double>();
|
||||
in.Istwert_Temperatur_Tuer = FILTER_TUER.step(SV_Tuer_Variable_->toType<double>());
|
||||
in.Betauungsschutz = 50.0;
|
||||
in.Grenzwert_Untertemperatur = -80.0;
|
||||
in.Feuchteband=10.0;
|
||||
in.Istwert_Temperatur_Verdampferausgang = SV_Verdampferausgang_->toType<double>();
|
||||
in.Sollwert_Feuchte = SV_Sollwert_Feuchte_->toType<double>();
|
||||
in.Istwert_Ueberwachungsregler=in.Istwert_Temperatur;
|
||||
in.Klasse_Ueberwachungsregler = 3.0;
|
||||
in.reset_flag =false;
|
||||
in.Sammelalarm = false;
|
||||
in.Sollwert_Feuchte_aktiv = true;
|
||||
in.Temperaturband = 5.0;
|
||||
in.Temperatur_Feuchtemodul = SV_Befeuchtungsmodul_->toType<double>();
|
||||
in.Wasserkanister_leer = false;
|
||||
in.Tuer_offen = false;
|
||||
|
||||
|
||||
// TODO: reset_flag und bool_inXX lesen:
|
||||
// in.reset_flag = deviceState.getVariableByKey("reset_flag")->toType<bool>();
|
||||
// in.Sammelalarm_quittiert = ... bool_in01
|
||||
// ...
|
||||
// in.Istwert_Temperatur = real_in01
|
||||
// ...
|
||||
|
||||
// Minimal-Beispiel (falls du erstmal nur Temperatur/Setpoint testest):
|
||||
//in.Istwert_Temperatur = tempVariable_ ? tempVariable_->toType<double>() : 0.0;
|
||||
//in.Sollwert_Temperatur = tempSetPointVariable_ ? tempSetPointVariable_->toType<double>() : 25.0;
|
||||
|
||||
auto out = algo_.step(in);
|
||||
|
||||
Heizung_Bef_Config_ -> setValue(out.bool_out17);
|
||||
MV_Kuehlung_Config_ ->setValue(out.bool_out18);
|
||||
Abschlaemmen_Config_->setValue(out.bool_out20);
|
||||
Entleerpumpe_Config_->setValue(out.bool_out16);
|
||||
Heizung_Kesselrand_Config_->setValue(out.bool_out12);
|
||||
Freigabe_Verfluessigerluefter_Config_->setValue(out.bool_out13);
|
||||
Heizung_Innenraum_Config_->setValue(out.bool_out09);
|
||||
Heizung_Tuer_Config_->setValue(out.bool_out11);
|
||||
Uebertemperatur_Config_->setValue(true);
|
||||
MV_Entfeuchtung_Config_->setValue(out.bool_out19);
|
||||
MV_Druckluft_Config_->setValue(false);
|
||||
|
||||
Ansteuerung_Wassereinlass_Config_->setValue(out.bool_out14);
|
||||
//Ansteuerung_Verdichter_Config_->setValue(out.real_out21*20.0);
|
||||
SV_Verdichter_on_->setValue(1);
|
||||
Ansteuerung_Verdichter_Config_->setValue(static_cast<int> (out.real_out21*10.0));
|
||||
Verdichter_Duty_Config->setValue(500);
|
||||
|
||||
SV_Stellgrad_Heizung->setValue(out.Stellgrad_Heizung);
|
||||
SV_Stellgrad_Kuehlung->setValue(out.Stellgrad_Kuehlung);
|
||||
SV_Stellgrad_Befeuchtung ->setValue(out.Stellgrad_Befeuchtung);
|
||||
SV_Stellgrad_Entfeuchtung->setValue(out.Stellgrad_Entfeuchtung);
|
||||
Startup_->setValue(out.Startup);
|
||||
CounterTuer_->setValue(out.Counter_Tuer);
|
||||
|
||||
// TODO: bool_outXX / real_outXX / alarm_XX setzen:
|
||||
// deviceState.getVariableByKey("bool_out01")->set(out.bool_out01);
|
||||
// deviceState.getVariableByKey("real_out09")->set(out.real_out09);
|
||||
#endif
|
||||
}
|
||||
|
||||
void Controller::terminate() {
|
||||
#ifdef BUILD_TARGET_SOM
|
||||
subscriptions_.clear();
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef BUILD_TARGET_SOM
|
||||
ControllerBase *create() {
|
||||
|
||||
return new Controller;
|
||||
}
|
||||
#endif
|
||||
2530
app/Controller.hpp
Normal file
2530
app/Controller.hpp
Normal file
File diff suppressed because it is too large
Load Diff
1
app/climate-algorithm.cpp
Normal file
1
app/climate-algorithm.cpp
Normal file
@@ -0,0 +1 @@
|
||||
// todo: create, import file header
|
||||
22
app/climate-algorithm.h
Normal file
22
app/climate-algorithm.h
Normal file
@@ -0,0 +1,22 @@
|
||||
// todo: create, import file header
|
||||
|
||||
#ifndef CLIMATE_ALGORITHM_H
|
||||
#define CLIMATE_ALGORITHM_H
|
||||
#include <iostream>
|
||||
#include <vector>
|
||||
|
||||
//todo - install
|
||||
// #include <nlohmann/json.hpp>
|
||||
|
||||
#include "filter.h"
|
||||
#include "pwm.hpp"
|
||||
#include "pid.h"
|
||||
|
||||
|
||||
class ClimateAlgorithm {
|
||||
public:
|
||||
private:
|
||||
|
||||
}
|
||||
|
||||
#endif // CLIMATE_ALGORITHM_H
|
||||
29
app/datamodel.cpp
Normal file
29
app/datamodel.cpp
Normal file
@@ -0,0 +1,29 @@
|
||||
|
||||
/*
|
||||
File: datamodel.cpp
|
||||
Description: This is a C++ source file containing implementation code for a data collection (called model) used for
|
||||
the realisation of a climate chamber control algorithm
|
||||
Rev: 0.1 - draft
|
||||
Created: 20.03.26
|
||||
Author: Uwe Jakobeit
|
||||
Copyright: Binder GmbH TUT
|
||||
Purpose: Configuration data and run-time datasets are provided for a controller simulation
|
||||
|
||||
Notes: [Any relevant details, such as dependencies, usage examples, or known issues.]
|
||||
*/
|
||||
|
||||
#include "datamodel.h"
|
||||
|
||||
DataModel::DataModel()
|
||||
{
|
||||
|
||||
// uj todo - set defaults, if JSON input fails
|
||||
// for now only hard-coded data
|
||||
Kennfeld_Ueberhitzung = Kennfeld_Ueberhitzung_Default;
|
||||
// In English:
|
||||
HeadlineOverheat = HeadlineOverheatDefault;
|
||||
|
||||
Kennfeld_Entfeuchtung = Kennfeld_Entfeuchtung_Default;
|
||||
|
||||
Kennfeld_Ueberhitzung = Kennfeld_Ueberhitzung_Default;
|
||||
}
|
||||
64
app/datamodel.h
Normal file
64
app/datamodel.h
Normal file
@@ -0,0 +1,64 @@
|
||||
#ifndef DATAMODEL_H
|
||||
#define DATAMODEL_H
|
||||
|
||||
#include "dataset.h"
|
||||
|
||||
|
||||
#define HeadlineOverheat Kennfeld_Ueberhitzung
|
||||
#define HeadlineOverheatDefault Kennfeld_Ueberhitzung_Default
|
||||
|
||||
|
||||
class DataModel{
|
||||
public:
|
||||
DataModel();
|
||||
|
||||
private:
|
||||
QList<QList<double>> Kennfeld_Ueberhitzung;
|
||||
QList<QList<double>> Kennfeld_Entfeuchtung;
|
||||
QList<QList<double>> Kennfeld_Regler_Heizung_Xp;
|
||||
|
||||
QList<QList<double>> Kennfeld_Ueberhitzung_Default = {
|
||||
{-20.0, -10.0, 0.0, 10.0, 20.0, 30.0, 40.0, 50.0, 60.0, 70.0, 80.0, 90.0, 100.0}, // 0: Temperatur
|
||||
{0.01, 0.02, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.0}, // 1: Skalierung Min
|
||||
{0.01, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.0, 1.0, 1.0}, // 1: Skalierung Max
|
||||
{-6.0, -8.0, -10.0, -8.0, -6.0, -8.0, -10.0, -12.0, -16.0, -20.0, -24.0, -28.0, -32.0} // 3: Sollwert Überhitzung
|
||||
};
|
||||
|
||||
QList<QList<double>> Kennfeld_Entfeuchtung_Default{
|
||||
{ -20.0, -10.0, 0.0, 10.0, 20.0, 30.0, 40.0, 50.0, 60.0, 70.0, 80.0, 90.0, 100.0}, // 0: Temperatur
|
||||
{ 0.08, 0.08, 0.08, 0.10, 0.12, 0.14, 0.16, 0.18, 0.20, 0.22, 0.24, 0.26, 0.28}, // 1: Skalierung Entfeuchtung
|
||||
{ 120.0, 120.0, 120.0, 120.0, 120.0, 90.0, 60.0, 60.0, 60.0, 0.0, 0.0, 0.0, 0.0}, // 2: Abtauzyklus Pause
|
||||
{ 60.0, 60.0, 60.0, 30.0, 20.0, 10.0, 8.0, 4.0, 2.0, 0.0, 0.0, 0.0, 0.0} // 3: Abtauzyklus Dauer
|
||||
};
|
||||
|
||||
QList<double> Kennfeld_Regler_Heizung_Xp_Default{
|
||||
0.2, 0.5, 0.8, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
|
||||
|
||||
QList<double> Kennfeld_Regler_Kuehlung_Xp{
|
||||
0.1, 0.1, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.0};
|
||||
|
||||
QList<QList<double>> Kennfeld_Regler_Befeuchtung_Xp{
|
||||
{1.00, 0.54, 0.31, 0.18, 0.11, 0.07, 0.05, 0.03, 0.02},
|
||||
{1.00, 0.54, 0.31, 0.18, 0.11, 0.07, 0.05, 0.03, 0.02},
|
||||
{1.00, 0.54, 0.31, 0.18, 0.11, 0.07, 0.05, 0.03, 0.02},
|
||||
{1.00, 0.54, 0.31, 0.18, 0.11, 0.07, 0.05, 0.03, 0.02},
|
||||
{1.00, 0.54, 0.31, 0.18, 0.11, 0.07, 0.05, 0.03, 0.02},
|
||||
{1.00, 0.54, 0.31, 0.18, 0.11, 0.07, 0.05, 0.03, 0.02},
|
||||
{1.00, 0.54, 0.31, 0.18, 0.11, 0.07, 0.05, 0.03, 0.02},
|
||||
{1.00, 0.54, 0.31, 0.18, 0.11, 0.07, 0.05, 0.03, 0.02},
|
||||
{1.00, 0.54, 0.31, 0.18, 0.11, 0.07, 0.05, 0.03, 0.02}};
|
||||
|
||||
QList<QList<double>> Kennfeld_Regler_Entfeuchtung_Xp{
|
||||
{1.00, 0.80, 0.60, 0.50, 0.40, 0.35, 0.30, 0.25, 0.20},
|
||||
{1.00, 0.80, 0.60, 0.50, 0.40, 0.35, 0.30, 0.25, 0.20},
|
||||
{1.00, 0.80, 0.60, 0.50, 0.40, 0.35, 0.30, 0.25, 0.20},
|
||||
{1.00, 0.80, 0.60, 0.50, 0.40, 0.35, 0.30, 0.25, 0.20},
|
||||
{1.00, 0.80, 0.60, 0.50, 0.40, 0.35, 0.30, 0.25, 0.20},
|
||||
{1.00, 0.80, 0.60, 0.50, 0.40, 0.35, 0.30, 0.25, 0.20},
|
||||
{1.00, 0.80, 0.60, 0.50, 0.40, 0.35, 0.30, 0.25, 0.20},
|
||||
{1.00, 0.80, 0.60, 0.50, 0.40, 0.35, 0.30, 0.25, 0.20},
|
||||
{1.00, 0.80, 0.60, 0.50, 0.40, 0.35, 0.30, 0.25, 0.20}};
|
||||
};
|
||||
|
||||
|
||||
#endif // DATAMODEL_H
|
||||
60
app/dataset.cpp
Normal file
60
app/dataset.cpp
Normal file
@@ -0,0 +1,60 @@
|
||||
/*
|
||||
File: dataset.cpp
|
||||
Description: This is a C++ source file containing implementation code handling configuration data
|
||||
Rev: 0.1
|
||||
Created: 20.03.2026
|
||||
Author: Uwe Jakobeit
|
||||
Copyright: Binder GmbH, TUT 2026
|
||||
Purpose: [Briefly describe the file's functionality, e.g., "Implements a class for managing user data."]
|
||||
Implementation of classes which provide changes of dataset without (re-)comiling
|
||||
Notes: [Any relevant details, such as dependencies, usage examples, or known issues.]
|
||||
*/
|
||||
|
||||
|
||||
#include "dataset.h"
|
||||
|
||||
|
||||
using namespace std;
|
||||
|
||||
// Read config file and setup headlines ( characteristics )
|
||||
Dataset::Dataset(QString& configFile)
|
||||
{
|
||||
// headline << &mHeadLineTemperature
|
||||
// << &mHeadLineHumidity
|
||||
// << &mHeadLineOverheat;
|
||||
|
||||
|
||||
// Now you can create a QVector of pointers to QVectorBase
|
||||
QVector<QVectorBase*> mixedVectors;
|
||||
|
||||
// QVector<QVectorBase*> mHeadlineVector;
|
||||
|
||||
|
||||
|
||||
|
||||
// Usage
|
||||
QVector<int> intVec = {1, 2, 3};
|
||||
QVector<double> dblVec = {1.0, 2, 3};
|
||||
|
||||
QVector<QString> stringVec = {"hello", "world"};
|
||||
|
||||
mixedVectors.append(new QVectorWrapper<int>(intVec));
|
||||
mixedVectors.append(new QVectorWrapper<QString>(stringVec));
|
||||
|
||||
mHeadlineVector.append(new QVectorWrapper<int>(intVec));
|
||||
mHeadlineVector.append(new QVectorWrapper<QString>(stringVec));
|
||||
|
||||
// Iterate and use polymorphic behavior
|
||||
for (QVectorBase* vec : mixedVectors) {
|
||||
vec->print();
|
||||
}
|
||||
// // Clean up
|
||||
// qDeleteAll(mixedVectors);
|
||||
// mixedVectors.clear();
|
||||
}
|
||||
|
||||
QVectorBase* Dataset::HeadLine(uint8_t LineId)
|
||||
{
|
||||
|
||||
return mHeadlineVector.at(LineId);
|
||||
}
|
||||
69
app/dataset.h
Normal file
69
app/dataset.h
Normal file
@@ -0,0 +1,69 @@
|
||||
// #include <memory>
|
||||
// #include <vector>
|
||||
// #include <string>
|
||||
#include <QVector>
|
||||
#include <QDebug>
|
||||
|
||||
using namespace std;
|
||||
enum class LineId {
|
||||
Temperature,
|
||||
Humidity,
|
||||
OverHeat
|
||||
};
|
||||
|
||||
|
||||
#if 0
|
||||
class Dataset{
|
||||
|
||||
public:
|
||||
Dataset(QString& configFile);
|
||||
|
||||
// return headlines (Kennlinien) of known types from ST code
|
||||
QVector* HeadLine(enum class LineId);
|
||||
private:
|
||||
|
||||
// Class members (m_, but don't like the '_' )
|
||||
vector<std::unique_ptr> headline;
|
||||
|
||||
vector mHeadLineTemperature;
|
||||
vector mHeadLineOverheat;
|
||||
vector mHeadLineHumidity;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
#include <QVector>
|
||||
#include <QMetaType>
|
||||
|
||||
|
||||
|
||||
|
||||
// Forward declaration of a base class for polymorphic behavior
|
||||
class QVectorBase {
|
||||
public:
|
||||
virtual ~QVectorBase() = default;
|
||||
virtual void print() const = 0;
|
||||
};
|
||||
|
||||
// Template class to wrap a QVector<T> and inherit from QVectorBase
|
||||
template<typename T>
|
||||
class QVectorWrapper : public QVectorBase {
|
||||
public:
|
||||
QVector<T> vec;
|
||||
|
||||
QVectorWrapper() = default;
|
||||
explicit QVectorWrapper(const QVector<T>& v) : vec(v) {}
|
||||
|
||||
void print() const override {
|
||||
qDebug() << "Vector of" << sizeof(T) << "bytes:" << vec;
|
||||
}
|
||||
};
|
||||
|
||||
class Dataset{
|
||||
public:
|
||||
Dataset(QString& configFile);
|
||||
QVectorBase *HeadLine(uint8_t LineId);
|
||||
|
||||
private:
|
||||
QVector<QVectorBase*> mHeadlineVector;
|
||||
};
|
||||
20
app/filter.cpp
Normal file
20
app/filter.cpp
Normal file
@@ -0,0 +1,20 @@
|
||||
#include "filter.h"
|
||||
|
||||
PT1Filter::PT1Filter(double tau, double dt) : output(0.0) {
|
||||
filterFactor = dt / (tau + dt);
|
||||
}
|
||||
|
||||
double PT1Filter::update(double input) {
|
||||
output += filterFactor * (input - output);
|
||||
return output;
|
||||
}
|
||||
|
||||
double PT1Filter::step(double input) {
|
||||
output += filterFactor * (input - output);
|
||||
return output;
|
||||
};
|
||||
|
||||
|
||||
void PT1Filter::reset() {
|
||||
output = 0.0;
|
||||
}
|
||||
20
app/filter.h
Normal file
20
app/filter.h
Normal file
@@ -0,0 +1,20 @@
|
||||
#ifndef FILTER_H
|
||||
#define FILTER_H
|
||||
|
||||
#pragma once
|
||||
|
||||
class PT1Filter {
|
||||
private:
|
||||
double output;
|
||||
double filterFactor;
|
||||
|
||||
public:
|
||||
PT1Filter(double tau, double dt);
|
||||
double update(double input);
|
||||
double step(double input);
|
||||
void reset();
|
||||
};
|
||||
|
||||
|
||||
|
||||
#endif // FILTER_H
|
||||
30
app/main.cpp
Normal file
30
app/main.cpp
Normal file
@@ -0,0 +1,30 @@
|
||||
#include <QCoreApplication>
|
||||
#include <QDebug>
|
||||
|
||||
#include "Controller.hpp"
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
QCoreApplication a(argc, argv);
|
||||
|
||||
// Set up code that uses the Qt event loop here.
|
||||
// Call QCoreApplication::quit() or QCoreApplication::exit() to quit the application.
|
||||
// A not very useful example would be including
|
||||
// #include <QTimer>
|
||||
// near the top of the file and calling
|
||||
// QTimer::singleShot(5000, &a, &QCoreApplication::quit);
|
||||
// which quits the application after 5 seconds.
|
||||
|
||||
// If you do not need a running Qt event loop, remove the call
|
||||
// to QCoreApplication::exec() or use the Non-Qt Plain C++ Application template.
|
||||
|
||||
Controller bbr;
|
||||
|
||||
|
||||
qDebug() << "Perform one bbr setp";
|
||||
bbr.step();
|
||||
|
||||
return 0;
|
||||
|
||||
// return QCoreApplication::exec();
|
||||
}
|
||||
9
app/pid.cpp
Normal file
9
app/pid.cpp
Normal file
@@ -0,0 +1,9 @@
|
||||
// todo: create, import file header
|
||||
|
||||
#include "pid.h"
|
||||
|
||||
PID::PID()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
12
app/pid.h
Normal file
12
app/pid.h
Normal file
@@ -0,0 +1,12 @@
|
||||
#ifndef PWM_H
|
||||
#define PWM_H
|
||||
|
||||
class PID{
|
||||
public:
|
||||
PID();
|
||||
|
||||
private:
|
||||
|
||||
};
|
||||
|
||||
#endif //PWM_H
|
||||
18
app/pwm.cpp
Normal file
18
app/pwm.cpp
Normal file
@@ -0,0 +1,18 @@
|
||||
// todo: create, import file header
|
||||
|
||||
#include "pwm.h"
|
||||
|
||||
PWM::PWM(double cycleTime_Min,double cycleTime_Max)
|
||||
{
|
||||
m_cycle = 0.0;
|
||||
m_out = 0.0;
|
||||
m_cycleTime = 0.0;
|
||||
m_cycleTime_Min = cycleTime_Min;
|
||||
m_cycleTime_Max = cycleTime_Max;
|
||||
}
|
||||
|
||||
bool PWM::step(double setValue,double samplingTime)
|
||||
{
|
||||
bool output_bool;
|
||||
return output_bool;
|
||||
}
|
||||
20
app/pwm.h
Normal file
20
app/pwm.h
Normal file
@@ -0,0 +1,20 @@
|
||||
#ifndef PWM_H
|
||||
#define PWM_H
|
||||
|
||||
#include <stdbool.h>
|
||||
|
||||
class PWM
|
||||
{
|
||||
public:
|
||||
PWM(double cycleTime_Min,double cycleTime_Max);
|
||||
|
||||
bool step(double setValue,double samplingTime);
|
||||
|
||||
private:
|
||||
double m_cycle = 0.0;
|
||||
double m_out = 0.0;
|
||||
double m_cycleTime = 0.0;
|
||||
double m_cycleTime_Min = 0.0;
|
||||
double m_cycleTime_Max = 0.0;
|
||||
};
|
||||
#endif // PWM_H
|
||||
19
app/text-templates.h
Normal file
19
app/text-templates.h
Normal file
@@ -0,0 +1,19 @@
|
||||
// CPP Source file header ( as well h-file header, so far (20.03.26)
|
||||
|
||||
/*
|
||||
File: filename.cpp
|
||||
Description: This is a C++ source file containing implementation code for a program or library component.
|
||||
Rev: 0.1
|
||||
Created: [Date]
|
||||
Author: [Your Name]
|
||||
Copyright: [Your Organization or Name] [Year(s)]
|
||||
Purpose: [Briefly describe the file's functionality, e.g., "Implements a class for managing user data."]
|
||||
Notes: [Any relevant details, such as dependencies, usage examples, or known issues.]
|
||||
*/
|
||||
|
||||
|
||||
// CPP Source function header
|
||||
// todo
|
||||
|
||||
// Header file function header
|
||||
// todo
|
||||
38
config/CMakeLists.txt
Normal file
38
config/CMakeLists.txt
Normal file
@@ -0,0 +1,38 @@
|
||||
|
||||
if(0)
|
||||
|
||||
# qt_standard_project_setup()
|
||||
|
||||
# qt_add_executable(app main.cpp
|
||||
# )
|
||||
|
||||
add_library(config_lib STATIC dataset.h dataset.cpp
|
||||
)
|
||||
|
||||
target_include_directories(config_lib PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
target_include_directories(config_lib PRIVATE ${Qt6Core_INCLUDE_DIRS})
|
||||
|
||||
# add_executable(app main.cpp filter.cpp)
|
||||
target_link_libraries(app PRIVATE config_lib
|
||||
)
|
||||
endif()
|
||||
|
||||
|
||||
qt_standard_project_setup()
|
||||
|
||||
qt_add_executable(app main.cpp
|
||||
)
|
||||
|
||||
qt_add_library(config_lib STATIC dataset.h dataset.cpp
|
||||
)
|
||||
|
||||
|
||||
target_include_directories(config_lib PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
target_include_directories(config_lib PRIVATE ${Qt6Core_INCLUDE_DIRS})
|
||||
|
||||
# add_executable(app main.cpp filter.cpp)
|
||||
target_link_libraries(app PRIVATE
|
||||
config_lib
|
||||
Qt::Core
|
||||
)
|
||||
|
||||
25
ks/CMakeLists.txt
Normal file
25
ks/CMakeLists.txt
Normal file
@@ -0,0 +1,25 @@
|
||||
cmake_minimum_required(VERSION 3.28)
|
||||
project(ks_lib LANGUAGES CXX)
|
||||
|
||||
qt_standard_project_setup()
|
||||
|
||||
file(GLOB_RECURSE SOURCES CONFIGURE_DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp")
|
||||
file(GLOB_RECURSE HEADERS CONFIGURE_DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/*.hpp")
|
||||
|
||||
|
||||
# qt_add_executable(ks main.cpp
|
||||
# )
|
||||
|
||||
qt_add_library(${PROJECT_NAME} STATIC main.cpp
|
||||
${SOURCES}
|
||||
${HEADERS}
|
||||
)
|
||||
|
||||
target_include_directories(${PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/Models/FP56/Model_grt_rtw)
|
||||
target_include_directories(${PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
target_include_directories(${PROJECT_NAME} PRIVATE ${Qt6Core_INCLUDE_DIRS})
|
||||
|
||||
# add_executable(app main.cpp filter.cpp)
|
||||
target_link_libraries(${PROJECT_NAME} PRIVATE
|
||||
Qt::Core
|
||||
)
|
||||
BIN
ks/Models/FP56/Model.slx
Executable file
BIN
ks/Models/FP56/Model.slx
Executable file
Binary file not shown.
BIN
ks/Models/FP56/Model.slx.autosave
Executable file
BIN
ks/Models/FP56/Model.slx.autosave
Executable file
Binary file not shown.
BIN
ks/Models/FP56/Model.slxc
Executable file
BIN
ks/Models/FP56/Model.slxc
Executable file
Binary file not shown.
16
ks/Models/FP56/Model_grt_rtw/Model.bat
Executable file
16
ks/Models/FP56/Model_grt_rtw/Model.bat
Executable file
@@ -0,0 +1,16 @@
|
||||
|
||||
set skipSetupArg=%2
|
||||
if "%skipSetupArg%" NEQ "skip_setup_msvc" (
|
||||
call "setup_msvc.bat"
|
||||
)
|
||||
|
||||
cd .
|
||||
|
||||
if "%1"=="" (nmake -f Model.mk all) else (nmake -f Model.mk %1)
|
||||
@if errorlevel 1 goto error_exit
|
||||
|
||||
exit /B 0
|
||||
|
||||
:error_exit
|
||||
echo The make command returned an error of %errorlevel%
|
||||
exit /B 1
|
||||
358
ks/Models/FP56/Model_grt_rtw/Model.cpp
Executable file
358
ks/Models/FP56/Model_grt_rtw/Model.cpp
Executable file
@@ -0,0 +1,358 @@
|
||||
/*
|
||||
* Model.cpp
|
||||
*
|
||||
* Code generation for model "Model".
|
||||
*
|
||||
* Model version : 1.2
|
||||
* Simulink Coder version : 9.7 (R2022a) 13-Nov-2021
|
||||
* C++ source code generated on : Sat Mar 28 11:28:04 2026
|
||||
*
|
||||
* Target selection: grt.tlc
|
||||
* Note: GRT includes extra infrastructure and instrumentation for prototyping
|
||||
* Embedded hardware selection: Intel->x86-64 (Windows64)
|
||||
* Code generation objectives: Unspecified
|
||||
* Validation result: Not run
|
||||
*/
|
||||
|
||||
#include "Model.h"
|
||||
#include "rtwtypes.h"
|
||||
#include "Model_private.h"
|
||||
|
||||
extern "C" {
|
||||
|
||||
#include "rt_nonfinite.h"
|
||||
|
||||
}
|
||||
/*
|
||||
* This function updates continuous states using the ODE3 fixed-step
|
||||
* solver algorithm
|
||||
*/
|
||||
void Model::rt_ertODEUpdateContinuousStates(RTWSolverInfo *si )
|
||||
{
|
||||
/* Solver Matrices */
|
||||
static const real_T rt_ODE3_A[3]{
|
||||
1.0/2.0, 3.0/4.0, 1.0
|
||||
};
|
||||
|
||||
static const real_T rt_ODE3_B[3][3]{
|
||||
{ 1.0/2.0, 0.0, 0.0 },
|
||||
|
||||
{ 0.0, 3.0/4.0, 0.0 },
|
||||
|
||||
{ 2.0/9.0, 1.0/3.0, 4.0/9.0 }
|
||||
};
|
||||
|
||||
time_T t { rtsiGetT(si) };
|
||||
|
||||
time_T tnew { rtsiGetSolverStopTime(si) };
|
||||
|
||||
time_T h { rtsiGetStepSize(si) };
|
||||
|
||||
real_T *x { rtsiGetContStates(si) };
|
||||
|
||||
ODE3_IntgData *id { static_cast<ODE3_IntgData *>(rtsiGetSolverData(si)) };
|
||||
|
||||
real_T *y { id->y };
|
||||
|
||||
real_T *f0 { id->f[0] };
|
||||
|
||||
real_T *f1 { id->f[1] };
|
||||
|
||||
real_T *f2 { id->f[2] };
|
||||
|
||||
real_T hB[3];
|
||||
int_T i;
|
||||
int_T nXc { 3 };
|
||||
|
||||
rtsiSetSimTimeStep(si,MINOR_TIME_STEP);
|
||||
|
||||
/* Save the state values at time t in y, we'll use x as ynew. */
|
||||
(void) std::memcpy(y, x,
|
||||
static_cast<uint_T>(nXc)*sizeof(real_T));
|
||||
|
||||
/* Assumes that rtsiSetT and ModelOutputs are up-to-date */
|
||||
/* f0 = f(t,y) */
|
||||
rtsiSetdX(si, f0);
|
||||
Model_derivatives();
|
||||
|
||||
/* f(:,2) = feval(odefile, t + hA(1), y + f*hB(:,1), args(:)(*)); */
|
||||
hB[0] = h * rt_ODE3_B[0][0];
|
||||
for (i = 0; i < nXc; i++) {
|
||||
x[i] = y[i] + (f0[i]*hB[0]);
|
||||
}
|
||||
|
||||
rtsiSetT(si, t + h*rt_ODE3_A[0]);
|
||||
rtsiSetdX(si, f1);
|
||||
this->step();
|
||||
Model_derivatives();
|
||||
|
||||
/* f(:,3) = feval(odefile, t + hA(2), y + f*hB(:,2), args(:)(*)); */
|
||||
for (i = 0; i <= 1; i++) {
|
||||
hB[i] = h * rt_ODE3_B[1][i];
|
||||
}
|
||||
|
||||
for (i = 0; i < nXc; i++) {
|
||||
x[i] = y[i] + (f0[i]*hB[0] + f1[i]*hB[1]);
|
||||
}
|
||||
|
||||
rtsiSetT(si, t + h*rt_ODE3_A[1]);
|
||||
rtsiSetdX(si, f2);
|
||||
this->step();
|
||||
Model_derivatives();
|
||||
|
||||
/* tnew = t + hA(3);
|
||||
ynew = y + f*hB(:,3); */
|
||||
for (i = 0; i <= 2; i++) {
|
||||
hB[i] = h * rt_ODE3_B[2][i];
|
||||
}
|
||||
|
||||
for (i = 0; i < nXc; i++) {
|
||||
x[i] = y[i] + (f0[i]*hB[0] + f1[i]*hB[1] + f2[i]*hB[2]);
|
||||
}
|
||||
|
||||
rtsiSetT(si, tnew);
|
||||
rtsiSetSimTimeStep(si,MAJOR_TIME_STEP);
|
||||
}
|
||||
|
||||
/* Model step function */
|
||||
void Model::step()
|
||||
{
|
||||
real_T rtb_Gain1;
|
||||
real_T rtb_Gain4;
|
||||
if (rtmIsMajorTimeStep((&Model_M))) {
|
||||
/* set solver stop time */
|
||||
if (!((&Model_M)->Timing.clockTick0+1)) {
|
||||
rtsiSetSolverStopTime(&(&Model_M)->solverInfo, (((&Model_M)
|
||||
->Timing.clockTickH0 + 1) * (&Model_M)->Timing.stepSize0 * 4294967296.0));
|
||||
} else {
|
||||
rtsiSetSolverStopTime(&(&Model_M)->solverInfo, (((&Model_M)
|
||||
->Timing.clockTick0 + 1) * (&Model_M)->Timing.stepSize0 + (&Model_M)
|
||||
->Timing.clockTickH0 * (&Model_M)->Timing.stepSize0 * 4294967296.0));
|
||||
}
|
||||
} /* end MajorTimeStep */
|
||||
|
||||
/* Update absolute time of base rate at minor time step */
|
||||
if (rtmIsMinorTimeStep((&Model_M))) {
|
||||
(&Model_M)->Timing.t[0] = rtsiGetT(&(&Model_M)->solverInfo);
|
||||
}
|
||||
|
||||
/* Outport: '<Root>/Temperatur' incorporates:
|
||||
* Integrator: '<S1>/Integrator1'
|
||||
*/
|
||||
Model_Y.Temperatur = Model_X.Integrator1_CSTATE;
|
||||
|
||||
/* Gain: '<S1>/Gain1' incorporates:
|
||||
* Integrator: '<S1>/Integrator'
|
||||
* Integrator: '<S1>/Integrator1'
|
||||
* Sum: '<S1>/Plus1'
|
||||
*/
|
||||
rtb_Gain1 = Model_P.alphaHD * Model_P.AHD * (Model_X.Integrator_CSTATE -
|
||||
Model_X.Integrator1_CSTATE);
|
||||
|
||||
/* Gain: '<S1>/Gain' incorporates:
|
||||
* Inport: '<Root>/Stellgrad'
|
||||
* Sum: '<S1>/Plus'
|
||||
*/
|
||||
Model_B.Gain = 1.0 / (Model_P.mHD * Model_P.CHD) * (Model_U.Stellgrad -
|
||||
rtb_Gain1);
|
||||
|
||||
/* Gain: '<S1>/Gain4' incorporates:
|
||||
* Integrator: '<S1>/Integrator1'
|
||||
* Integrator: '<S1>/Integrator2'
|
||||
* Sum: '<S1>/Plus4'
|
||||
*/
|
||||
rtb_Gain4 = Model_P.alphaSW * Model_P.Ai * (Model_X.Integrator1_CSTATE -
|
||||
Model_X.Integrator2_CSTATE);
|
||||
|
||||
/* Gain: '<S1>/Gain2' incorporates:
|
||||
* Sum: '<S1>/Plus2'
|
||||
*/
|
||||
Model_B.Gain2 = 1.0 / (Model_P.ml * Model_P.Cl + Model_P.mES * Model_P.CES) *
|
||||
(rtb_Gain1 - rtb_Gain4);
|
||||
|
||||
/* Gain: '<S1>/Gain5' incorporates:
|
||||
* Constant: '<Root>/Constant'
|
||||
* Gain: '<S1>/Gain7'
|
||||
* Integrator: '<S1>/Integrator2'
|
||||
* Sum: '<S1>/Plus5'
|
||||
* Sum: '<S1>/Plus7'
|
||||
*/
|
||||
Model_B.Gain5 = (rtb_Gain4 - Model_P.alpha_aussen * Model_P.A_Aussen *
|
||||
(Model_X.Integrator2_CSTATE - Model_P.Constant_Value)) * (1.0
|
||||
/ (Model_P.mSW * Model_P.CSW));
|
||||
if (rtmIsMajorTimeStep((&Model_M))) {
|
||||
/* Matfile logging */
|
||||
rt_UpdateTXYLogVars((&Model_M)->rtwLogInfo, ((&Model_M)->Timing.t));
|
||||
} /* end MajorTimeStep */
|
||||
|
||||
if (rtmIsMajorTimeStep((&Model_M))) {
|
||||
/* signal main to stop simulation */
|
||||
{ /* Sample time: [0.0s, 0.0s] */
|
||||
if ((rtmGetTFinal((&Model_M))!=-1) &&
|
||||
!((rtmGetTFinal((&Model_M))-((((&Model_M)->Timing.clockTick1+(&Model_M)
|
||||
->Timing.clockTickH1* 4294967296.0)) * 0.05)) > ((((&Model_M)
|
||||
->Timing.clockTick1+(&Model_M)->Timing.clockTickH1* 4294967296.0))
|
||||
* 0.05) * (DBL_EPSILON))) {
|
||||
rtmSetErrorStatus((&Model_M), "Simulation finished");
|
||||
}
|
||||
}
|
||||
|
||||
rt_ertODEUpdateContinuousStates(&(&Model_M)->solverInfo);
|
||||
|
||||
/* Update absolute time for base rate */
|
||||
/* The "clockTick0" counts the number of times the code of this task has
|
||||
* been executed. The absolute time is the multiplication of "clockTick0"
|
||||
* and "Timing.stepSize0". Size of "clockTick0" ensures timer will not
|
||||
* overflow during the application lifespan selected.
|
||||
* Timer of this task consists of two 32 bit unsigned integers.
|
||||
* The two integers represent the low bits Timing.clockTick0 and the high bits
|
||||
* Timing.clockTickH0. When the low bit overflows to 0, the high bits increment.
|
||||
*/
|
||||
if (!(++(&Model_M)->Timing.clockTick0)) {
|
||||
++(&Model_M)->Timing.clockTickH0;
|
||||
}
|
||||
|
||||
(&Model_M)->Timing.t[0] = rtsiGetSolverStopTime(&(&Model_M)->solverInfo);
|
||||
|
||||
{
|
||||
/* Update absolute timer for sample time: [0.05s, 0.0s] */
|
||||
/* The "clockTick1" counts the number of times the code of this task has
|
||||
* been executed. The resolution of this integer timer is 0.05, which is the step size
|
||||
* of the task. Size of "clockTick1" ensures timer will not overflow during the
|
||||
* application lifespan selected.
|
||||
* Timer of this task consists of two 32 bit unsigned integers.
|
||||
* The two integers represent the low bits Timing.clockTick1 and the high bits
|
||||
* Timing.clockTickH1. When the low bit overflows to 0, the high bits increment.
|
||||
*/
|
||||
(&Model_M)->Timing.clockTick1++;
|
||||
if (!(&Model_M)->Timing.clockTick1) {
|
||||
(&Model_M)->Timing.clockTickH1++;
|
||||
}
|
||||
}
|
||||
} /* end MajorTimeStep */
|
||||
}
|
||||
|
||||
/* Derivatives for root system: '<Root>' */
|
||||
void Model::Model_derivatives()
|
||||
{
|
||||
XDot_Model_T *_rtXdot;
|
||||
_rtXdot = ((XDot_Model_T *) (&Model_M)->derivs);
|
||||
|
||||
/* Derivatives for Integrator: '<S1>/Integrator1' */
|
||||
_rtXdot->Integrator1_CSTATE = Model_B.Gain2;
|
||||
|
||||
/* Derivatives for Integrator: '<S1>/Integrator' */
|
||||
_rtXdot->Integrator_CSTATE = Model_B.Gain;
|
||||
|
||||
/* Derivatives for Integrator: '<S1>/Integrator2' */
|
||||
_rtXdot->Integrator2_CSTATE = Model_B.Gain5;
|
||||
}
|
||||
|
||||
/* Model initialize function */
|
||||
void Model::initialize()
|
||||
{
|
||||
/* Registration code */
|
||||
|
||||
/* initialize non-finites */
|
||||
rt_InitInfAndNaN(sizeof(real_T));
|
||||
|
||||
{
|
||||
/* Setup solver object */
|
||||
rtsiSetSimTimeStepPtr(&(&Model_M)->solverInfo, &(&Model_M)
|
||||
->Timing.simTimeStep);
|
||||
rtsiSetTPtr(&(&Model_M)->solverInfo, &rtmGetTPtr((&Model_M)));
|
||||
rtsiSetStepSizePtr(&(&Model_M)->solverInfo, &(&Model_M)->Timing.stepSize0);
|
||||
rtsiSetdXPtr(&(&Model_M)->solverInfo, &(&Model_M)->derivs);
|
||||
rtsiSetContStatesPtr(&(&Model_M)->solverInfo, (real_T **) &(&Model_M)
|
||||
->contStates);
|
||||
rtsiSetNumContStatesPtr(&(&Model_M)->solverInfo, &(&Model_M)
|
||||
->Sizes.numContStates);
|
||||
rtsiSetNumPeriodicContStatesPtr(&(&Model_M)->solverInfo, &(&Model_M)
|
||||
->Sizes.numPeriodicContStates);
|
||||
rtsiSetPeriodicContStateIndicesPtr(&(&Model_M)->solverInfo, &(&Model_M)
|
||||
->periodicContStateIndices);
|
||||
rtsiSetPeriodicContStateRangesPtr(&(&Model_M)->solverInfo, &(&Model_M)
|
||||
->periodicContStateRanges);
|
||||
rtsiSetErrorStatusPtr(&(&Model_M)->solverInfo, (&rtmGetErrorStatus((&Model_M))));
|
||||
rtsiSetRTModelPtr(&(&Model_M)->solverInfo, (&Model_M));
|
||||
}
|
||||
|
||||
rtsiSetSimTimeStep(&(&Model_M)->solverInfo, MAJOR_TIME_STEP);
|
||||
(&Model_M)->intgData.y = (&Model_M)->odeY;
|
||||
(&Model_M)->intgData.f[0] = (&Model_M)->odeF[0];
|
||||
(&Model_M)->intgData.f[1] = (&Model_M)->odeF[1];
|
||||
(&Model_M)->intgData.f[2] = (&Model_M)->odeF[2];
|
||||
(&Model_M)->contStates = ((X_Model_T *) &Model_X);
|
||||
rtsiSetSolverData(&(&Model_M)->solverInfo, static_cast<void *>(&(&Model_M)
|
||||
->intgData));
|
||||
rtsiSetIsMinorTimeStepWithModeChange(&(&Model_M)->solverInfo, false);
|
||||
rtsiSetSolverName(&(&Model_M)->solverInfo,"ode3");
|
||||
rtmSetTPtr((&Model_M), &(&Model_M)->Timing.tArray[0]);
|
||||
rtmSetTFinal((&Model_M), 10.0);
|
||||
(&Model_M)->Timing.stepSize0 = 0.05;
|
||||
|
||||
/* Setup for data logging */
|
||||
{
|
||||
static RTWLogInfo rt_DataLoggingInfo;
|
||||
rt_DataLoggingInfo.loggingInterval = (nullptr);
|
||||
(&Model_M)->rtwLogInfo = &rt_DataLoggingInfo;
|
||||
}
|
||||
|
||||
/* Setup for data logging */
|
||||
{
|
||||
rtliSetLogXSignalInfo((&Model_M)->rtwLogInfo, (nullptr));
|
||||
rtliSetLogXSignalPtrs((&Model_M)->rtwLogInfo, (nullptr));
|
||||
rtliSetLogT((&Model_M)->rtwLogInfo, "tout");
|
||||
rtliSetLogX((&Model_M)->rtwLogInfo, "");
|
||||
rtliSetLogXFinal((&Model_M)->rtwLogInfo, "");
|
||||
rtliSetLogVarNameModifier((&Model_M)->rtwLogInfo, "rt_");
|
||||
rtliSetLogFormat((&Model_M)->rtwLogInfo, 4);
|
||||
rtliSetLogMaxRows((&Model_M)->rtwLogInfo, 0);
|
||||
rtliSetLogDecimation((&Model_M)->rtwLogInfo, 1);
|
||||
rtliSetLogY((&Model_M)->rtwLogInfo, "");
|
||||
rtliSetLogYSignalInfo((&Model_M)->rtwLogInfo, (nullptr));
|
||||
rtliSetLogYSignalPtrs((&Model_M)->rtwLogInfo, (nullptr));
|
||||
}
|
||||
|
||||
/* Matfile logging */
|
||||
rt_StartDataLoggingWithStartTime((&Model_M)->rtwLogInfo, 0.0, rtmGetTFinal
|
||||
((&Model_M)), (&Model_M)->Timing.stepSize0, (&rtmGetErrorStatus((&Model_M))));
|
||||
|
||||
/* InitializeConditions for Integrator: '<S1>/Integrator1' */
|
||||
Model_X.Integrator1_CSTATE = Model_P.T_amb;
|
||||
|
||||
/* InitializeConditions for Integrator: '<S1>/Integrator' */
|
||||
Model_X.Integrator_CSTATE = Model_P.T_amb;
|
||||
|
||||
/* InitializeConditions for Integrator: '<S1>/Integrator2' */
|
||||
Model_X.Integrator2_CSTATE = Model_P.T_amb;
|
||||
}
|
||||
|
||||
/* Model terminate function */
|
||||
void Model::terminate()
|
||||
{
|
||||
/* (no terminate code required) */
|
||||
}
|
||||
|
||||
/* Constructor */
|
||||
Model::Model() :
|
||||
Model_U(),
|
||||
Model_Y(),
|
||||
Model_B(),
|
||||
Model_X(),
|
||||
Model_M()
|
||||
{
|
||||
/* Currently there is no constructor body generated.*/
|
||||
}
|
||||
|
||||
/* Destructor */
|
||||
Model::~Model()
|
||||
{
|
||||
/* Currently there is no destructor body generated.*/
|
||||
}
|
||||
|
||||
/* Real-Time Model get method */
|
||||
RT_MODEL_Model_T * Model::getRTM()
|
||||
{
|
||||
return (&Model_M);
|
||||
}
|
||||
408
ks/Models/FP56/Model_grt_rtw/Model.h
Normal file
408
ks/Models/FP56/Model_grt_rtw/Model.h
Normal file
@@ -0,0 +1,408 @@
|
||||
/*
|
||||
* Model.h
|
||||
*
|
||||
* Code generation for model "Model".
|
||||
*
|
||||
* Model version : 1.1
|
||||
* Simulink Coder version : 9.7 (R2022a) 13-Nov-2021
|
||||
* C++ source code generated on : Thu Mar 26 17:54:04 2026
|
||||
*
|
||||
* Target selection: grt.tlc
|
||||
* Note: GRT includes extra infrastructure and instrumentation for prototyping
|
||||
* Embedded hardware selection: Intel->x86-64 (Windows64)
|
||||
* Code generation objectives: Unspecified
|
||||
* Validation result: Not run
|
||||
*/
|
||||
|
||||
#ifndef RTW_HEADER_Model_h_
|
||||
#define RTW_HEADER_Model_h_
|
||||
#include "rtwtypes.h"
|
||||
#include "rtw_continuous.h"
|
||||
#include "rtw_solver.h"
|
||||
#include "rt_logging.h"
|
||||
#include "Model_types.h"
|
||||
#include <cfloat>
|
||||
#include <cstring>
|
||||
|
||||
extern "C" {
|
||||
|
||||
#include "rt_nonfinite.h"
|
||||
|
||||
}
|
||||
/* Macros for accessing real-time model data structure */
|
||||
#ifndef rtmGetContStateDisabled
|
||||
#define rtmGetContStateDisabled(rtm) ((rtm)->contStateDisabled)
|
||||
#endif
|
||||
|
||||
#ifndef rtmSetContStateDisabled
|
||||
#define rtmSetContStateDisabled(rtm, val) ((rtm)->contStateDisabled = (val))
|
||||
#endif
|
||||
|
||||
#ifndef rtmGetContStates
|
||||
#define rtmGetContStates(rtm) ((rtm)->contStates)
|
||||
#endif
|
||||
|
||||
#ifndef rtmSetContStates
|
||||
#define rtmSetContStates(rtm, val) ((rtm)->contStates = (val))
|
||||
#endif
|
||||
|
||||
#ifndef rtmGetContTimeOutputInconsistentWithStateAtMajorStepFlag
|
||||
#define rtmGetContTimeOutputInconsistentWithStateAtMajorStepFlag(rtm) ((rtm)->CTOutputIncnstWithState)
|
||||
#endif
|
||||
|
||||
#ifndef rtmSetContTimeOutputInconsistentWithStateAtMajorStepFlag
|
||||
#define rtmSetContTimeOutputInconsistentWithStateAtMajorStepFlag(rtm, val) ((rtm)->CTOutputIncnstWithState = (val))
|
||||
#endif
|
||||
|
||||
#ifndef rtmGetDerivCacheNeedsReset
|
||||
#define rtmGetDerivCacheNeedsReset(rtm) ((rtm)->derivCacheNeedsReset)
|
||||
#endif
|
||||
|
||||
#ifndef rtmSetDerivCacheNeedsReset
|
||||
#define rtmSetDerivCacheNeedsReset(rtm, val) ((rtm)->derivCacheNeedsReset = (val))
|
||||
#endif
|
||||
|
||||
#ifndef rtmGetFinalTime
|
||||
#define rtmGetFinalTime(rtm) ((rtm)->Timing.tFinal)
|
||||
#endif
|
||||
|
||||
#ifndef rtmGetIntgData
|
||||
#define rtmGetIntgData(rtm) ((rtm)->intgData)
|
||||
#endif
|
||||
|
||||
#ifndef rtmSetIntgData
|
||||
#define rtmSetIntgData(rtm, val) ((rtm)->intgData = (val))
|
||||
#endif
|
||||
|
||||
#ifndef rtmGetOdeF
|
||||
#define rtmGetOdeF(rtm) ((rtm)->odeF)
|
||||
#endif
|
||||
|
||||
#ifndef rtmSetOdeF
|
||||
#define rtmSetOdeF(rtm, val) ((rtm)->odeF = (val))
|
||||
#endif
|
||||
|
||||
#ifndef rtmGetOdeY
|
||||
#define rtmGetOdeY(rtm) ((rtm)->odeY)
|
||||
#endif
|
||||
|
||||
#ifndef rtmSetOdeY
|
||||
#define rtmSetOdeY(rtm, val) ((rtm)->odeY = (val))
|
||||
#endif
|
||||
|
||||
#ifndef rtmGetPeriodicContStateIndices
|
||||
#define rtmGetPeriodicContStateIndices(rtm) ((rtm)->periodicContStateIndices)
|
||||
#endif
|
||||
|
||||
#ifndef rtmSetPeriodicContStateIndices
|
||||
#define rtmSetPeriodicContStateIndices(rtm, val) ((rtm)->periodicContStateIndices = (val))
|
||||
#endif
|
||||
|
||||
#ifndef rtmGetPeriodicContStateRanges
|
||||
#define rtmGetPeriodicContStateRanges(rtm) ((rtm)->periodicContStateRanges)
|
||||
#endif
|
||||
|
||||
#ifndef rtmSetPeriodicContStateRanges
|
||||
#define rtmSetPeriodicContStateRanges(rtm, val) ((rtm)->periodicContStateRanges = (val))
|
||||
#endif
|
||||
|
||||
#ifndef rtmGetRTWLogInfo
|
||||
#define rtmGetRTWLogInfo(rtm) ((rtm)->rtwLogInfo)
|
||||
#endif
|
||||
|
||||
#ifndef rtmGetZCCacheNeedsReset
|
||||
#define rtmGetZCCacheNeedsReset(rtm) ((rtm)->zCCacheNeedsReset)
|
||||
#endif
|
||||
|
||||
#ifndef rtmSetZCCacheNeedsReset
|
||||
#define rtmSetZCCacheNeedsReset(rtm, val) ((rtm)->zCCacheNeedsReset = (val))
|
||||
#endif
|
||||
|
||||
#ifndef rtmGetdX
|
||||
#define rtmGetdX(rtm) ((rtm)->derivs)
|
||||
#endif
|
||||
|
||||
#ifndef rtmSetdX
|
||||
#define rtmSetdX(rtm, val) ((rtm)->derivs = (val))
|
||||
#endif
|
||||
|
||||
#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 rtmGetTFinal
|
||||
#define rtmGetTFinal(rtm) ((rtm)->Timing.tFinal)
|
||||
#endif
|
||||
|
||||
#ifndef rtmGetTPtr
|
||||
#define rtmGetTPtr(rtm) ((rtm)->Timing.t)
|
||||
#endif
|
||||
|
||||
/* Block signals (default storage) */
|
||||
struct B_Model_T {
|
||||
real_T Gain; /* '<S1>/Gain' */
|
||||
real_T Gain2; /* '<S1>/Gain2' */
|
||||
real_T Gain5; /* '<S1>/Gain5' */
|
||||
};
|
||||
|
||||
/* Continuous states (default storage) */
|
||||
struct X_Model_T {
|
||||
real_T Integrator1_CSTATE; /* '<S1>/Integrator1' */
|
||||
real_T Integrator_CSTATE; /* '<S1>/Integrator' */
|
||||
real_T Integrator2_CSTATE; /* '<S1>/Integrator2' */
|
||||
};
|
||||
|
||||
/* State derivatives (default storage) */
|
||||
struct XDot_Model_T {
|
||||
real_T Integrator1_CSTATE; /* '<S1>/Integrator1' */
|
||||
real_T Integrator_CSTATE; /* '<S1>/Integrator' */
|
||||
real_T Integrator2_CSTATE; /* '<S1>/Integrator2' */
|
||||
};
|
||||
|
||||
/* State disabled */
|
||||
struct XDis_Model_T {
|
||||
boolean_T Integrator1_CSTATE; /* '<S1>/Integrator1' */
|
||||
boolean_T Integrator_CSTATE; /* '<S1>/Integrator' */
|
||||
boolean_T Integrator2_CSTATE; /* '<S1>/Integrator2' */
|
||||
};
|
||||
|
||||
#ifndef ODE3_INTG
|
||||
#define ODE3_INTG
|
||||
|
||||
/* ODE3 Integration Data */
|
||||
struct ODE3_IntgData {
|
||||
real_T *y; /* output */
|
||||
real_T *f[3]; /* derivatives */
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
/* External inputs (root inport signals with default storage) */
|
||||
struct ExtU_Model_T {
|
||||
real_T Stellgrad; /* '<Root>/Stellgrad' */
|
||||
};
|
||||
|
||||
/* External outputs (root outports fed by signals with default storage) */
|
||||
struct ExtY_Model_T {
|
||||
real_T Temperatur; /* '<Root>/Temperatur' */
|
||||
};
|
||||
|
||||
/* Parameters (default storage) */
|
||||
struct P_Model_T_ {
|
||||
real_T AHD; /* Variable: AHD
|
||||
* Referenced by: '<S1>/Gain1'
|
||||
*/
|
||||
real_T A_Aussen; /* Variable: A_Aussen
|
||||
* Referenced by: '<S1>/Gain7'
|
||||
*/
|
||||
real_T Ai; /* Variable: Ai
|
||||
* Referenced by: '<S1>/Gain4'
|
||||
*/
|
||||
real_T CES; /* Variable: CES
|
||||
* Referenced by: '<S1>/Gain2'
|
||||
*/
|
||||
real_T CHD; /* Variable: CHD
|
||||
* Referenced by: '<S1>/Gain'
|
||||
*/
|
||||
real_T CSW; /* Variable: CSW
|
||||
* Referenced by: '<S1>/Gain5'
|
||||
*/
|
||||
real_T Cl; /* Variable: Cl
|
||||
* Referenced by: '<S1>/Gain2'
|
||||
*/
|
||||
real_T T_amb; /* Variable: T_amb
|
||||
* Referenced by:
|
||||
* '<S1>/Integrator'
|
||||
* '<S1>/Integrator1'
|
||||
* '<S1>/Integrator2'
|
||||
*/
|
||||
real_T alphaHD; /* Variable: alphaHD
|
||||
* Referenced by: '<S1>/Gain1'
|
||||
*/
|
||||
real_T alphaSW; /* Variable: alphaSW
|
||||
* Referenced by: '<S1>/Gain4'
|
||||
*/
|
||||
real_T alpha_aussen; /* Variable: alpha_aussen
|
||||
* Referenced by: '<S1>/Gain7'
|
||||
*/
|
||||
real_T mES; /* Variable: mES
|
||||
* Referenced by: '<S1>/Gain2'
|
||||
*/
|
||||
real_T mHD; /* Variable: mHD
|
||||
* Referenced by: '<S1>/Gain'
|
||||
*/
|
||||
real_T mSW; /* Variable: mSW
|
||||
* Referenced by: '<S1>/Gain5'
|
||||
*/
|
||||
real_T ml; /* Variable: ml
|
||||
* Referenced by: '<S1>/Gain2'
|
||||
*/
|
||||
real_T Constant_Value; /* Expression: 0
|
||||
* Referenced by: '<Root>/Constant'
|
||||
*/
|
||||
};
|
||||
|
||||
/* Real-time Model Data Structure */
|
||||
struct tag_RTM_Model_T {
|
||||
const char_T *errorStatus;
|
||||
RTWLogInfo *rtwLogInfo;
|
||||
RTWSolverInfo solverInfo;
|
||||
X_Model_T *contStates;
|
||||
int_T *periodicContStateIndices;
|
||||
real_T *periodicContStateRanges;
|
||||
real_T *derivs;
|
||||
boolean_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 {
|
||||
uint32_T clockTick0;
|
||||
uint32_T clockTickH0;
|
||||
time_T stepSize0;
|
||||
uint32_T clockTick1;
|
||||
uint32_T clockTickH1;
|
||||
time_T tFinal;
|
||||
SimTimeStep simTimeStep;
|
||||
boolean_T stopRequestedFlag;
|
||||
time_T *t;
|
||||
time_T tArray[2];
|
||||
} Timing;
|
||||
};
|
||||
|
||||
/* Block parameters (default storage) */
|
||||
#ifdef __cplusplus
|
||||
|
||||
extern "C" {
|
||||
|
||||
#endif
|
||||
|
||||
extern P_Model_T Model_P;
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Block signals (default storage) */
|
||||
#ifdef __cplusplus
|
||||
|
||||
extern "C" {
|
||||
|
||||
#endif
|
||||
|
||||
extern struct B_Model_T Model_B;
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Continuous states (default storage) */
|
||||
extern X_Model_T Model_X;
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
extern "C" {
|
||||
|
||||
#endif
|
||||
|
||||
/* External inputs (root inport signals with default storage) */
|
||||
extern struct ExtU_Model_T Model_U;
|
||||
|
||||
/* External outputs (root outports fed by signals with default storage) */
|
||||
extern struct ExtY_Model_T Model_Y;
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
extern "C" {
|
||||
|
||||
#endif
|
||||
|
||||
/* Model entry point functions */
|
||||
extern void Model_initialize(void);
|
||||
extern void Model_step(void);
|
||||
extern void Model_terminate(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Real-time Model object */
|
||||
#ifdef __cplusplus
|
||||
|
||||
extern "C" {
|
||||
|
||||
#endif
|
||||
|
||||
extern RT_MODEL_Model_T *const Model_M;
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
}
|
||||
#endif
|
||||
|
||||
/*-
|
||||
* 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>' : 'Model'
|
||||
* '<S1>' : 'Model/Subsystem3'
|
||||
*/
|
||||
#endif /* RTW_HEADER_Model_h_ */
|
||||
426
ks/Models/FP56/Model_grt_rtw/Model.mk
Executable file
426
ks/Models/FP56/Model_grt_rtw/Model.mk
Executable file
@@ -0,0 +1,426 @@
|
||||
###########################################################################
|
||||
## Makefile generated for component 'Model'.
|
||||
##
|
||||
## Makefile : Model.mk
|
||||
## Generated on : Sat Mar 28 11:28:08 2026
|
||||
## Final product: $(RELATIVE_PATH_TO_ANCHOR)\Model.exe
|
||||
## Product type : executable
|
||||
##
|
||||
###########################################################################
|
||||
|
||||
###########################################################################
|
||||
## MACROS
|
||||
###########################################################################
|
||||
|
||||
# Macro Descriptions:
|
||||
# PRODUCT_NAME Name of the system to build
|
||||
# MAKEFILE Name of this makefile
|
||||
# COMPILER_COMMAND_FILE Compiler command listing model reference header paths
|
||||
# CMD_FILE Command file
|
||||
|
||||
PRODUCT_NAME = Model
|
||||
MAKEFILE = Model.mk
|
||||
MATLAB_ROOT = C:\PROGRA~1\MATLAB\R2022a
|
||||
MATLAB_BIN = C:\PROGRA~1\MATLAB\R2022a\bin
|
||||
MATLAB_ARCH_BIN = $(MATLAB_BIN)\win64
|
||||
START_DIR = E:\Repositories\Binder_Beispiel_ReglerBBR\Models\FP56
|
||||
SOLVER =
|
||||
SOLVER_OBJ =
|
||||
CLASSIC_INTERFACE = 0
|
||||
TGT_FCN_LIB = GNU
|
||||
MODEL_HAS_DYNAMICALLY_LOADED_SFCNS = 0
|
||||
RELATIVE_PATH_TO_ANCHOR = ..
|
||||
COMPILER_COMMAND_FILE = Model_comp.rsp
|
||||
CMD_FILE = Model.rsp
|
||||
C_STANDARD_OPTS =
|
||||
CPP_STANDARD_OPTS =
|
||||
NODEBUG = 1
|
||||
|
||||
###########################################################################
|
||||
## TOOLCHAIN SPECIFICATIONS
|
||||
###########################################################################
|
||||
|
||||
# Toolchain Name: Microsoft Visual C++ 2019 v16.0 | nmake (64-bit Windows)
|
||||
# Supported Version(s): 16.0
|
||||
# ToolchainInfo Version: 2022a
|
||||
# Specification Revision: 1.0
|
||||
#
|
||||
#-------------------------------------------
|
||||
# Macros assumed to be defined elsewhere
|
||||
#-------------------------------------------
|
||||
|
||||
# NODEBUG
|
||||
# cvarsdll
|
||||
# cvarsmt
|
||||
# conlibsmt
|
||||
# ldebug
|
||||
# conflags
|
||||
# cflags
|
||||
|
||||
#-----------
|
||||
# MACROS
|
||||
#-----------
|
||||
|
||||
MW_EXTERNLIB_DIR = $(MATLAB_ROOT)\extern\lib\win64\microsoft
|
||||
MW_LIB_DIR = $(MATLAB_ROOT)\lib\win64
|
||||
CPU = AMD64
|
||||
APPVER = 5.02
|
||||
CVARSFLAG = $(cvarsmt)
|
||||
CFLAGS_ADDITIONAL = -D_CRT_SECURE_NO_WARNINGS
|
||||
CPPFLAGS_ADDITIONAL = -EHs -D_CRT_SECURE_NO_WARNINGS /wd4251 /Zc:__cplusplus
|
||||
LIBS_TOOLCHAIN = $(conlibs)
|
||||
|
||||
TOOLCHAIN_SRCS =
|
||||
TOOLCHAIN_INCS =
|
||||
TOOLCHAIN_LIBS =
|
||||
|
||||
#------------------------
|
||||
# BUILD TOOL COMMANDS
|
||||
#------------------------
|
||||
|
||||
# C Compiler: Microsoft Visual C Compiler
|
||||
CC = cl
|
||||
|
||||
# Linker: Microsoft Visual C Linker
|
||||
LD = link
|
||||
|
||||
# C++ Compiler: Microsoft Visual C++ Compiler
|
||||
CPP = cl
|
||||
|
||||
# C++ Linker: Microsoft Visual C++ Linker
|
||||
CPP_LD = link
|
||||
|
||||
# Archiver: Microsoft Visual C/C++ Archiver
|
||||
AR = lib
|
||||
|
||||
# MEX Tool: MEX Tool
|
||||
MEX_PATH = $(MATLAB_ARCH_BIN)
|
||||
MEX = "$(MEX_PATH)\mex"
|
||||
|
||||
# Download: Download
|
||||
DOWNLOAD =
|
||||
|
||||
# Execute: Execute
|
||||
EXECUTE = $(PRODUCT)
|
||||
|
||||
# Builder: NMAKE Utility
|
||||
MAKE = nmake
|
||||
|
||||
|
||||
#-------------------------
|
||||
# Directives/Utilities
|
||||
#-------------------------
|
||||
|
||||
CDEBUG = -Zi
|
||||
C_OUTPUT_FLAG = -Fo
|
||||
LDDEBUG = /DEBUG
|
||||
OUTPUT_FLAG = -out:
|
||||
CPPDEBUG = -Zi
|
||||
CPP_OUTPUT_FLAG = -Fo
|
||||
CPPLDDEBUG = /DEBUG
|
||||
OUTPUT_FLAG = -out:
|
||||
ARDEBUG =
|
||||
STATICLIB_OUTPUT_FLAG = -out:
|
||||
MEX_DEBUG = -g
|
||||
RM = @del
|
||||
ECHO = @echo
|
||||
MV = @ren
|
||||
RUN = @cmd /C
|
||||
|
||||
#----------------------------------------
|
||||
# "Faster Builds" Build Configuration
|
||||
#----------------------------------------
|
||||
|
||||
ARFLAGS = /nologo
|
||||
CFLAGS = $(cflags) $(CVARSFLAG) $(CFLAGS_ADDITIONAL) \
|
||||
/Od /Oy-
|
||||
CPPFLAGS = /TP $(cflags) $(CVARSFLAG) $(CPPFLAGS_ADDITIONAL) \
|
||||
/Od /Oy-
|
||||
CPP_LDFLAGS = $(ldebug) $(conflags) $(LIBS_TOOLCHAIN)
|
||||
CPP_SHAREDLIB_LDFLAGS = $(ldebug) $(conflags) $(LIBS_TOOLCHAIN) \
|
||||
-dll -def:$(DEF_FILE)
|
||||
DOWNLOAD_FLAGS =
|
||||
EXECUTE_FLAGS =
|
||||
LDFLAGS = $(ldebug) $(conflags) $(LIBS_TOOLCHAIN)
|
||||
MEX_CPPFLAGS =
|
||||
MEX_CPPLDFLAGS =
|
||||
MEX_CFLAGS =
|
||||
MEX_LDFLAGS =
|
||||
MAKE_FLAGS = -f $(MAKEFILE)
|
||||
SHAREDLIB_LDFLAGS = $(ldebug) $(conflags) $(LIBS_TOOLCHAIN) \
|
||||
-dll -def:$(DEF_FILE)
|
||||
|
||||
|
||||
|
||||
###########################################################################
|
||||
## OUTPUT INFO
|
||||
###########################################################################
|
||||
|
||||
PRODUCT = $(RELATIVE_PATH_TO_ANCHOR)\Model.exe
|
||||
PRODUCT_TYPE = "executable"
|
||||
BUILD_TYPE = "Top-Level Standalone Executable"
|
||||
|
||||
###########################################################################
|
||||
## INCLUDE PATHS
|
||||
###########################################################################
|
||||
|
||||
INCLUDES_BUILDINFO =
|
||||
|
||||
INCLUDES = $(INCLUDES_BUILDINFO)
|
||||
|
||||
###########################################################################
|
||||
## DEFINES
|
||||
###########################################################################
|
||||
|
||||
DEFINES_BUILD_ARGS = -DCLASSIC_INTERFACE=0 -DALLOCATIONFCN=0 -DMAT_FILE=1 -DONESTEPFCN=1 -DTERMFCN=1 -DMULTI_INSTANCE_CODE=1 -DINTEGER_CODE=0 -DMT=0
|
||||
DEFINES_CUSTOM =
|
||||
DEFINES_OPTS = -DTID01EQ=1
|
||||
DEFINES_STANDARD = -DMODEL=Model -DNUMST=2 -DNCSTATES=3 -DHAVESTDIO -DRT -DUSE_RTMODEL
|
||||
|
||||
DEFINES = $(DEFINES_BUILD_ARGS) $(DEFINES_CUSTOM) $(DEFINES_OPTS) $(DEFINES_STANDARD)
|
||||
|
||||
###########################################################################
|
||||
## SOURCE FILES
|
||||
###########################################################################
|
||||
|
||||
SRCS = $(MATLAB_ROOT)\rtw\c\src\rt_logging.c $(START_DIR)\Model_grt_rtw\Model.cpp $(START_DIR)\Model_grt_rtw\Model_data.cpp $(START_DIR)\Model_grt_rtw\rtGetInf.cpp $(START_DIR)\Model_grt_rtw\rtGetNaN.cpp $(START_DIR)\Model_grt_rtw\rt_nonfinite.cpp
|
||||
|
||||
MAIN_SRC = $(MATLAB_ROOT)\rtw\c\src\common\rt_cppclass_main.cpp
|
||||
|
||||
ALL_SRCS = $(SRCS) $(MAIN_SRC)
|
||||
|
||||
###########################################################################
|
||||
## OBJECTS
|
||||
###########################################################################
|
||||
|
||||
OBJS = rt_logging.obj Model.obj Model_data.obj rtGetInf.obj rtGetNaN.obj rt_nonfinite.obj
|
||||
|
||||
MAIN_OBJ = rt_cppclass_main.obj
|
||||
|
||||
ALL_OBJS = $(OBJS) $(MAIN_OBJ)
|
||||
|
||||
###########################################################################
|
||||
## PREBUILT OBJECT FILES
|
||||
###########################################################################
|
||||
|
||||
PREBUILT_OBJS =
|
||||
|
||||
###########################################################################
|
||||
## LIBRARIES
|
||||
###########################################################################
|
||||
|
||||
LIBS =
|
||||
|
||||
###########################################################################
|
||||
## SYSTEM LIBRARIES
|
||||
###########################################################################
|
||||
|
||||
SYSTEM_LIBS =
|
||||
|
||||
###########################################################################
|
||||
## ADDITIONAL TOOLCHAIN FLAGS
|
||||
###########################################################################
|
||||
|
||||
#---------------
|
||||
# C Compiler
|
||||
#---------------
|
||||
|
||||
CFLAGS_BASIC = $(DEFINES) @$(COMPILER_COMMAND_FILE)
|
||||
|
||||
CFLAGS = $(CFLAGS) $(CFLAGS_BASIC)
|
||||
|
||||
#-----------------
|
||||
# C++ Compiler
|
||||
#-----------------
|
||||
|
||||
CPPFLAGS_BASIC = $(DEFINES) @$(COMPILER_COMMAND_FILE)
|
||||
|
||||
CPPFLAGS = $(CPPFLAGS) $(CPPFLAGS_BASIC)
|
||||
|
||||
###########################################################################
|
||||
## INLINED COMMANDS
|
||||
###########################################################################
|
||||
|
||||
|
||||
!include $(MATLAB_ROOT)\rtw\c\tools\vcdefs.mak
|
||||
|
||||
|
||||
###########################################################################
|
||||
## PHONY TARGETS
|
||||
###########################################################################
|
||||
|
||||
.PHONY : all build buildobj clean info prebuild download execute set_environment_variables
|
||||
|
||||
|
||||
all : build
|
||||
@cmd /C "@echo ### Successfully generated all binary outputs."
|
||||
|
||||
|
||||
build : set_environment_variables prebuild $(PRODUCT)
|
||||
|
||||
|
||||
buildobj : set_environment_variables prebuild $(OBJS) $(PREBUILT_OBJS)
|
||||
@cmd /C "@echo ### Successfully generated all binary outputs."
|
||||
|
||||
|
||||
prebuild :
|
||||
|
||||
|
||||
download : $(PRODUCT)
|
||||
|
||||
|
||||
execute : download
|
||||
@cmd /C "@echo ### Invoking postbuild tool "Execute" ..."
|
||||
$(EXECUTE) $(EXECUTE_FLAGS)
|
||||
@cmd /C "@echo ### Done invoking postbuild tool."
|
||||
|
||||
|
||||
set_environment_variables :
|
||||
@set INCLUDE=$(INCLUDES);$(INCLUDE)
|
||||
@set LIB=$(LIB)
|
||||
|
||||
|
||||
###########################################################################
|
||||
## FINAL TARGET
|
||||
###########################################################################
|
||||
|
||||
#-------------------------------------------
|
||||
# Create a standalone executable
|
||||
#-------------------------------------------
|
||||
|
||||
$(PRODUCT) : $(OBJS) $(PREBUILT_OBJS) $(MAIN_OBJ)
|
||||
@cmd /C "@echo ### Creating standalone executable "$(PRODUCT)" ..."
|
||||
$(CPP_LD) $(CPP_LDFLAGS) -out:$(PRODUCT) @$(CMD_FILE) $(SYSTEM_LIBS) $(TOOLCHAIN_LIBS)
|
||||
@cmd /C "@echo ### Created: $(PRODUCT)"
|
||||
|
||||
|
||||
###########################################################################
|
||||
## INTERMEDIATE TARGETS
|
||||
###########################################################################
|
||||
|
||||
#---------------------
|
||||
# SOURCE-TO-OBJECT
|
||||
#---------------------
|
||||
|
||||
.c.obj :
|
||||
$(CC) $(CFLAGS) -Fo"$@" "$<"
|
||||
|
||||
|
||||
.cpp.obj :
|
||||
$(CPP) $(CPPFLAGS) -Fo"$@" "$<"
|
||||
|
||||
|
||||
{$(RELATIVE_PATH_TO_ANCHOR)}.c.obj :
|
||||
$(CC) $(CFLAGS) -Fo"$@" "$<"
|
||||
|
||||
|
||||
{$(RELATIVE_PATH_TO_ANCHOR)}.cpp.obj :
|
||||
$(CPP) $(CPPFLAGS) -Fo"$@" "$<"
|
||||
|
||||
|
||||
{$(START_DIR)}.c.obj :
|
||||
$(CC) $(CFLAGS) -Fo"$@" "$<"
|
||||
|
||||
|
||||
{$(START_DIR)}.cpp.obj :
|
||||
$(CPP) $(CPPFLAGS) -Fo"$@" "$<"
|
||||
|
||||
|
||||
{$(START_DIR)\Model_grt_rtw}.c.obj :
|
||||
$(CC) $(CFLAGS) -Fo"$@" "$<"
|
||||
|
||||
|
||||
{$(START_DIR)\Model_grt_rtw}.cpp.obj :
|
||||
$(CPP) $(CPPFLAGS) -Fo"$@" "$<"
|
||||
|
||||
|
||||
{$(MATLAB_ROOT)\rtw\c\src}.c.obj :
|
||||
$(CC) $(CFLAGS) -Fo"$@" "$<"
|
||||
|
||||
|
||||
{$(MATLAB_ROOT)\rtw\c\src}.cpp.obj :
|
||||
$(CPP) $(CPPFLAGS) -Fo"$@" "$<"
|
||||
|
||||
|
||||
{$(MATLAB_ROOT)\simulink\src}.c.obj :
|
||||
$(CC) $(CFLAGS) -Fo"$@" "$<"
|
||||
|
||||
|
||||
{$(MATLAB_ROOT)\simulink\src}.cpp.obj :
|
||||
$(CPP) $(CPPFLAGS) -Fo"$@" "$<"
|
||||
|
||||
|
||||
rt_logging.obj : "$(MATLAB_ROOT)\rtw\c\src\rt_logging.c"
|
||||
$(CC) $(CFLAGS) -Fo"$@" "$(MATLAB_ROOT)\rtw\c\src\rt_logging.c"
|
||||
|
||||
|
||||
Model.obj : "$(START_DIR)\Model_grt_rtw\Model.cpp"
|
||||
$(CPP) $(CPPFLAGS) -Fo"$@" "$(START_DIR)\Model_grt_rtw\Model.cpp"
|
||||
|
||||
|
||||
Model_data.obj : "$(START_DIR)\Model_grt_rtw\Model_data.cpp"
|
||||
$(CPP) $(CPPFLAGS) -Fo"$@" "$(START_DIR)\Model_grt_rtw\Model_data.cpp"
|
||||
|
||||
|
||||
rtGetInf.obj : "$(START_DIR)\Model_grt_rtw\rtGetInf.cpp"
|
||||
$(CPP) $(CPPFLAGS) -Fo"$@" "$(START_DIR)\Model_grt_rtw\rtGetInf.cpp"
|
||||
|
||||
|
||||
rtGetNaN.obj : "$(START_DIR)\Model_grt_rtw\rtGetNaN.cpp"
|
||||
$(CPP) $(CPPFLAGS) -Fo"$@" "$(START_DIR)\Model_grt_rtw\rtGetNaN.cpp"
|
||||
|
||||
|
||||
rt_nonfinite.obj : "$(START_DIR)\Model_grt_rtw\rt_nonfinite.cpp"
|
||||
$(CPP) $(CPPFLAGS) -Fo"$@" "$(START_DIR)\Model_grt_rtw\rt_nonfinite.cpp"
|
||||
|
||||
|
||||
rt_cppclass_main.obj : "$(MATLAB_ROOT)\rtw\c\src\common\rt_cppclass_main.cpp"
|
||||
$(CPP) $(CPPFLAGS) -Fo"$@" "$(MATLAB_ROOT)\rtw\c\src\common\rt_cppclass_main.cpp"
|
||||
|
||||
|
||||
###########################################################################
|
||||
## DEPENDENCIES
|
||||
###########################################################################
|
||||
|
||||
$(ALL_OBJS) : rtw_proj.tmw $(COMPILER_COMMAND_FILE) $(MAKEFILE)
|
||||
|
||||
|
||||
###########################################################################
|
||||
## MISCELLANEOUS TARGETS
|
||||
###########################################################################
|
||||
|
||||
info :
|
||||
@cmd /C "@echo ### PRODUCT = $(PRODUCT)"
|
||||
@cmd /C "@echo ### PRODUCT_TYPE = $(PRODUCT_TYPE)"
|
||||
@cmd /C "@echo ### BUILD_TYPE = $(BUILD_TYPE)"
|
||||
@cmd /C "@echo ### INCLUDES = $(INCLUDES)"
|
||||
@cmd /C "@echo ### DEFINES = $(DEFINES)"
|
||||
@cmd /C "@echo ### ALL_SRCS = $(ALL_SRCS)"
|
||||
@cmd /C "@echo ### ALL_OBJS = $(ALL_OBJS)"
|
||||
@cmd /C "@echo ### LIBS = $(LIBS)"
|
||||
@cmd /C "@echo ### MODELREF_LIBS = $(MODELREF_LIBS)"
|
||||
@cmd /C "@echo ### SYSTEM_LIBS = $(SYSTEM_LIBS)"
|
||||
@cmd /C "@echo ### TOOLCHAIN_LIBS = $(TOOLCHAIN_LIBS)"
|
||||
@cmd /C "@echo ### CFLAGS = $(CFLAGS)"
|
||||
@cmd /C "@echo ### LDFLAGS = $(LDFLAGS)"
|
||||
@cmd /C "@echo ### SHAREDLIB_LDFLAGS = $(SHAREDLIB_LDFLAGS)"
|
||||
@cmd /C "@echo ### CPPFLAGS = $(CPPFLAGS)"
|
||||
@cmd /C "@echo ### CPP_LDFLAGS = $(CPP_LDFLAGS)"
|
||||
@cmd /C "@echo ### CPP_SHAREDLIB_LDFLAGS = $(CPP_SHAREDLIB_LDFLAGS)"
|
||||
@cmd /C "@echo ### ARFLAGS = $(ARFLAGS)"
|
||||
@cmd /C "@echo ### MEX_CFLAGS = $(MEX_CFLAGS)"
|
||||
@cmd /C "@echo ### MEX_CPPFLAGS = $(MEX_CPPFLAGS)"
|
||||
@cmd /C "@echo ### MEX_LDFLAGS = $(MEX_LDFLAGS)"
|
||||
@cmd /C "@echo ### MEX_CPPLDFLAGS = $(MEX_CPPLDFLAGS)"
|
||||
@cmd /C "@echo ### DOWNLOAD_FLAGS = $(DOWNLOAD_FLAGS)"
|
||||
@cmd /C "@echo ### EXECUTE_FLAGS = $(EXECUTE_FLAGS)"
|
||||
@cmd /C "@echo ### MAKE_FLAGS = $(MAKE_FLAGS)"
|
||||
|
||||
|
||||
clean :
|
||||
$(ECHO) "### Deleting all derived files..."
|
||||
@if exist $(PRODUCT) $(RM) $(PRODUCT)
|
||||
$(RM) $(ALL_OBJS)
|
||||
$(ECHO) "### Deleted all derived files."
|
||||
|
||||
|
||||
7
ks/Models/FP56/Model_grt_rtw/Model.rsp
Executable file
7
ks/Models/FP56/Model_grt_rtw/Model.rsp
Executable file
@@ -0,0 +1,7 @@
|
||||
rt_logging.obj
|
||||
Model.obj
|
||||
Model_data.obj
|
||||
rtGetInf.obj
|
||||
rtGetNaN.obj
|
||||
rt_nonfinite.obj
|
||||
rt_cppclass_main.obj
|
||||
6
ks/Models/FP56/Model_grt_rtw/Model_comp.rsp
Executable file
6
ks/Models/FP56/Model_grt_rtw/Model_comp.rsp
Executable file
@@ -0,0 +1,6 @@
|
||||
-IE:\Repositories\Binder_Beispiel_ReglerBBR\Models\FP56
|
||||
-IE:\Repositories\Binder_Beispiel_ReglerBBR\Models\FP56\Model_grt_rtw
|
||||
-I"C:\Program Files\MATLAB\R2022a\extern\include"
|
||||
-I"C:\Program Files\MATLAB\R2022a\simulink\include"
|
||||
-I"C:\Program Files\MATLAB\R2022a\rtw\c\src"
|
||||
-I"C:\Program Files\MATLAB\R2022a\rtw\c\src\ext_mode\common"
|
||||
103
ks/Models/FP56/Model_grt_rtw/Model_data.cpp
Executable file
103
ks/Models/FP56/Model_grt_rtw/Model_data.cpp
Executable file
@@ -0,0 +1,103 @@
|
||||
/*
|
||||
* Model_data.cpp
|
||||
*
|
||||
* Code generation for model "Model".
|
||||
*
|
||||
* Model version : 1.2
|
||||
* Simulink Coder version : 9.7 (R2022a) 13-Nov-2021
|
||||
* C++ source code generated on : Sat Mar 28 11:28:04 2026
|
||||
*
|
||||
* Target selection: grt.tlc
|
||||
* Note: GRT includes extra infrastructure and instrumentation for prototyping
|
||||
* Embedded hardware selection: Intel->x86-64 (Windows64)
|
||||
* Code generation objectives: Unspecified
|
||||
* Validation result: Not run
|
||||
*/
|
||||
|
||||
#include "Model.h"
|
||||
|
||||
/* Block parameters (default storage) */
|
||||
P_Model_T Model::Model_P{
|
||||
/* Variable: AHD
|
||||
* Referenced by: '<S1>/Gain1'
|
||||
*/
|
||||
0.0255,
|
||||
|
||||
/* Variable: A_Aussen
|
||||
* Referenced by: '<S1>/Gain7'
|
||||
*/
|
||||
4.361516,
|
||||
|
||||
/* Variable: Ai
|
||||
* Referenced by: '<S1>/Gain4'
|
||||
*/
|
||||
0.164002,
|
||||
|
||||
/* Variable: CES
|
||||
* Referenced by: '<S1>/Gain2'
|
||||
*/
|
||||
520.5763,
|
||||
|
||||
/* Variable: CHD
|
||||
* Referenced by: '<S1>/Gain'
|
||||
*/
|
||||
1002.4,
|
||||
|
||||
/* Variable: CSW
|
||||
* Referenced by: '<S1>/Gain5'
|
||||
*/
|
||||
966.0,
|
||||
|
||||
/* Variable: Cl
|
||||
* Referenced by: '<S1>/Gain2'
|
||||
*/
|
||||
900.0,
|
||||
|
||||
/* Variable: T_amb
|
||||
* Referenced by:
|
||||
* '<S1>/Integrator'
|
||||
* '<S1>/Integrator1'
|
||||
* '<S1>/Integrator2'
|
||||
*/
|
||||
25.0,
|
||||
|
||||
/* Variable: alphaHD
|
||||
* Referenced by: '<S1>/Gain1'
|
||||
*/
|
||||
397.2681,
|
||||
|
||||
/* Variable: alphaSW
|
||||
* Referenced by: '<S1>/Gain4'
|
||||
*/
|
||||
85.2918,
|
||||
|
||||
/* Variable: alpha_aussen
|
||||
* Referenced by: '<S1>/Gain7'
|
||||
*/
|
||||
0.4507,
|
||||
|
||||
/* Variable: mES
|
||||
* Referenced by: '<S1>/Gain2'
|
||||
*/
|
||||
5.914,
|
||||
|
||||
/* Variable: mHD
|
||||
* Referenced by: '<S1>/Gain'
|
||||
*/
|
||||
0.12,
|
||||
|
||||
/* Variable: mSW
|
||||
* Referenced by: '<S1>/Gain5'
|
||||
*/
|
||||
2.82,
|
||||
|
||||
/* Variable: ml
|
||||
* Referenced by: '<S1>/Gain2'
|
||||
*/
|
||||
0.078321408,
|
||||
|
||||
/* Expression: 0
|
||||
* Referenced by: '<Root>/Constant'
|
||||
*/
|
||||
0.0
|
||||
};
|
||||
43
ks/Models/FP56/Model_grt_rtw/Model_private.h
Normal file
43
ks/Models/FP56/Model_grt_rtw/Model_private.h
Normal file
@@ -0,0 +1,43 @@
|
||||
/*
|
||||
* Model_private.h
|
||||
*
|
||||
* Code generation for model "Model".
|
||||
*
|
||||
* Model version : 1.1
|
||||
* Simulink Coder version : 9.7 (R2022a) 13-Nov-2021
|
||||
* C++ source code generated on : Thu Mar 26 17:54:04 2026
|
||||
*
|
||||
* Target selection: grt.tlc
|
||||
* Note: GRT includes extra infrastructure and instrumentation for prototyping
|
||||
* Embedded hardware selection: Intel->x86-64 (Windows64)
|
||||
* Code generation objectives: Unspecified
|
||||
* Validation result: Not run
|
||||
*/
|
||||
|
||||
#ifndef RTW_HEADER_Model_private_h_
|
||||
#define RTW_HEADER_Model_private_h_
|
||||
#include "rtwtypes.h"
|
||||
#include "builtin_typeid_types.h"
|
||||
#include "multiword_types.h"
|
||||
|
||||
/* Private macros used by the generated code to access rtModel */
|
||||
#ifndef rtmIsMajorTimeStep
|
||||
#define rtmIsMajorTimeStep(rtm) (((rtm)->Timing.simTimeStep) == MAJOR_TIME_STEP)
|
||||
#endif
|
||||
|
||||
#ifndef rtmIsMinorTimeStep
|
||||
#define rtmIsMinorTimeStep(rtm) (((rtm)->Timing.simTimeStep) == MINOR_TIME_STEP)
|
||||
#endif
|
||||
|
||||
#ifndef rtmSetTFinal
|
||||
#define rtmSetTFinal(rtm, val) ((rtm)->Timing.tFinal = (val))
|
||||
#endif
|
||||
|
||||
#ifndef rtmSetTPtr
|
||||
#define rtmSetTPtr(rtm, val) ((rtm)->Timing.t = (val))
|
||||
#endif
|
||||
|
||||
/* private model entry point functions */
|
||||
extern void Model_derivatives(void);
|
||||
|
||||
#endif /* RTW_HEADER_Model_private_h_ */
|
||||
1
ks/Models/FP56/Model_grt_rtw/Model_ref.rsp
Executable file
1
ks/Models/FP56/Model_grt_rtw/Model_ref.rsp
Executable file
@@ -0,0 +1 @@
|
||||
|
||||
28
ks/Models/FP56/Model_grt_rtw/Model_types.h
Normal file
28
ks/Models/FP56/Model_grt_rtw/Model_types.h
Normal file
@@ -0,0 +1,28 @@
|
||||
/*
|
||||
* Model_types.h
|
||||
*
|
||||
* Code generation for model "Model".
|
||||
*
|
||||
* Model version : 1.1
|
||||
* Simulink Coder version : 9.7 (R2022a) 13-Nov-2021
|
||||
* C++ source code generated on : Thu Mar 26 17:54:04 2026
|
||||
*
|
||||
* Target selection: grt.tlc
|
||||
* Note: GRT includes extra infrastructure and instrumentation for prototyping
|
||||
* Embedded hardware selection: Intel->x86-64 (Windows64)
|
||||
* Code generation objectives: Unspecified
|
||||
* Validation result: Not run
|
||||
*/
|
||||
|
||||
#ifndef RTW_HEADER_Model_types_h_
|
||||
#define RTW_HEADER_Model_types_h_
|
||||
|
||||
/* Model Code Variants */
|
||||
|
||||
/* Parameters (default storage) */
|
||||
typedef struct P_Model_T_ P_Model_T;
|
||||
|
||||
/* Forward declaration for rtModel */
|
||||
typedef struct tag_RTM_Model_T RT_MODEL_Model_T;
|
||||
|
||||
#endif /* RTW_HEADER_Model_types_h_ */
|
||||
BIN
ks/Models/FP56/Model_grt_rtw/buildInfo.mat
Executable file
BIN
ks/Models/FP56/Model_grt_rtw/buildInfo.mat
Executable file
Binary file not shown.
52
ks/Models/FP56/Model_grt_rtw/builtin_typeid_types.h
Normal file
52
ks/Models/FP56/Model_grt_rtw/builtin_typeid_types.h
Normal file
@@ -0,0 +1,52 @@
|
||||
/*
|
||||
* builtin_typeid_types.h
|
||||
*
|
||||
* Code generation for model "Model".
|
||||
*
|
||||
* Model version : 1.1
|
||||
* Simulink Coder version : 9.7 (R2022a) 13-Nov-2021
|
||||
* C++ source code generated on : Thu Mar 26 17:54:04 2026
|
||||
*
|
||||
* Target selection: grt.tlc
|
||||
* Note: GRT includes extra infrastructure and instrumentation for prototyping
|
||||
* Embedded hardware selection: Intel->x86-64 (Windows64)
|
||||
* Code generation objectives: Unspecified
|
||||
* Validation result: Not run
|
||||
*/
|
||||
|
||||
#ifndef BUILTIN_TYPEID_TYPES_H
|
||||
#define BUILTIN_TYPEID_TYPES_H
|
||||
#include "rtwtypes.h"
|
||||
#ifndef BUILTIN_TYPEID_TYPES
|
||||
#define BUILTIN_TYPEID_TYPES
|
||||
|
||||
/* Enumeration of built-in data types */
|
||||
typedef enum {
|
||||
SS_DOUBLE = 0, /* real_T */
|
||||
SS_SINGLE = 1, /* real32_T */
|
||||
SS_INT8 = 2, /* int8_T */
|
||||
SS_UINT8 = 3, /* uint8_T */
|
||||
SS_INT16 = 4, /* int16_T */
|
||||
SS_UINT16 = 5, /* uint16_T */
|
||||
SS_INT32 = 6, /* int32_T */
|
||||
SS_UINT32 = 7, /* uint32_T */
|
||||
SS_BOOLEAN = 8 /* boolean_T */
|
||||
} BuiltInDTypeId;
|
||||
|
||||
#define SS_NUM_BUILT_IN_DTYPE ((int_T)SS_BOOLEAN+1)
|
||||
|
||||
/* Enumeration for MAT-file logging code */
|
||||
typedef int_T DTypeId;
|
||||
|
||||
/* Enumeration of pre-defined data types */
|
||||
typedef enum {
|
||||
SS_FCN_CALL = 9,
|
||||
SS_INTEGER = 10,
|
||||
SS_POINTER = 11,
|
||||
SS_INTERNAL_DTYPE2 = 12,
|
||||
SS_TIMER_UINT32_PAIR = 13,
|
||||
SS_CONNECTION_TYPE = 14
|
||||
} PreDefinedDTypeId;
|
||||
|
||||
#endif /* BUILTIN_TYPEID_TYPES */
|
||||
#endif /* BUILTIN_TYPEID_TYPES_H */
|
||||
BIN
ks/Models/FP56/Model_grt_rtw/codeInfo.mat
Executable file
BIN
ks/Models/FP56/Model_grt_rtw/codeInfo.mat
Executable file
Binary file not shown.
BIN
ks/Models/FP56/Model_grt_rtw/codedescriptor.dmr
Executable file
BIN
ks/Models/FP56/Model_grt_rtw/codedescriptor.dmr
Executable file
Binary file not shown.
BIN
ks/Models/FP56/Model_grt_rtw/compileInfo.mat
Executable file
BIN
ks/Models/FP56/Model_grt_rtw/compileInfo.mat
Executable file
Binary file not shown.
1169
ks/Models/FP56/Model_grt_rtw/multiword_types.h
Normal file
1169
ks/Models/FP56/Model_grt_rtw/multiword_types.h
Normal file
File diff suppressed because it is too large
Load Diff
163
ks/Models/FP56/Model_grt_rtw/rtGetInf.cpp
Executable file
163
ks/Models/FP56/Model_grt_rtw/rtGetInf.cpp
Executable file
@@ -0,0 +1,163 @@
|
||||
/*
|
||||
* rtGetInf.cpp
|
||||
*
|
||||
* Code generation for model "Model".
|
||||
*
|
||||
* Model version : 1.2
|
||||
* Simulink Coder version : 9.7 (R2022a) 13-Nov-2021
|
||||
* C++ source code generated on : Sat Mar 28 11:28:04 2026
|
||||
*
|
||||
* Target selection: grt.tlc
|
||||
* Note: GRT includes extra infrastructure and instrumentation for prototyping
|
||||
* Embedded hardware selection: Intel->x86-64 (Windows64)
|
||||
* Code generation objectives: Unspecified
|
||||
* Validation result: Not run
|
||||
*/
|
||||
|
||||
#include "rtwtypes.h"
|
||||
|
||||
extern "C" {
|
||||
|
||||
#include "rtGetInf.h"
|
||||
|
||||
}
|
||||
#include <stddef.h>
|
||||
|
||||
extern "C" {
|
||||
|
||||
#include "rt_nonfinite.h"
|
||||
|
||||
}
|
||||
#define NumBitsPerChar 8U
|
||||
|
||||
extern "C" {
|
||||
/*
|
||||
* Initialize rtInf needed by the generated code.
|
||||
* Inf is initialized as non-signaling. Assumes IEEE.
|
||||
*/
|
||||
real_T rtGetInf(void)
|
||||
{
|
||||
size_t bitsPerReal{ sizeof(real_T) * (NumBitsPerChar) };
|
||||
|
||||
real_T inf{ 0.0 };
|
||||
|
||||
if (bitsPerReal == 32U) {
|
||||
inf = rtGetInfF();
|
||||
} else {
|
||||
uint16_T one{ 1U };
|
||||
|
||||
enum {
|
||||
LittleEndian,
|
||||
BigEndian
|
||||
} machByteOrder
|
||||
{
|
||||
(*((uint8_T *) &one) == 1U) ? LittleEndian : BigEndian
|
||||
};
|
||||
switch (machByteOrder) {
|
||||
case LittleEndian:
|
||||
{
|
||||
union {
|
||||
LittleEndianIEEEDouble bitVal;
|
||||
real_T fltVal;
|
||||
} tmpVal;
|
||||
|
||||
tmpVal.bitVal.words.wordH = 0x7FF00000U;
|
||||
tmpVal.bitVal.words.wordL = 0x00000000U;
|
||||
inf = tmpVal.fltVal;
|
||||
break;
|
||||
}
|
||||
|
||||
case BigEndian:
|
||||
{
|
||||
union {
|
||||
BigEndianIEEEDouble bitVal;
|
||||
real_T fltVal;
|
||||
} tmpVal;
|
||||
|
||||
tmpVal.bitVal.words.wordH = 0x7FF00000U;
|
||||
tmpVal.bitVal.words.wordL = 0x00000000U;
|
||||
inf = tmpVal.fltVal;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return inf;
|
||||
}
|
||||
|
||||
/*
|
||||
* Initialize rtInfF needed by the generated code.
|
||||
* Inf is initialized as non-signaling. Assumes IEEE.
|
||||
*/
|
||||
real32_T rtGetInfF(void)
|
||||
{
|
||||
IEEESingle infF;
|
||||
infF.wordL.wordLuint = 0x7F800000U;
|
||||
return infF.wordL.wordLreal;
|
||||
}
|
||||
|
||||
/*
|
||||
* Initialize rtMinusInf needed by the generated code.
|
||||
* Inf is initialized as non-signaling. Assumes IEEE.
|
||||
*/
|
||||
real_T rtGetMinusInf(void)
|
||||
{
|
||||
size_t bitsPerReal{ sizeof(real_T) * (NumBitsPerChar) };
|
||||
|
||||
real_T minf{ 0.0 };
|
||||
|
||||
if (bitsPerReal == 32U) {
|
||||
minf = rtGetMinusInfF();
|
||||
} else {
|
||||
uint16_T one{ 1U };
|
||||
|
||||
enum {
|
||||
LittleEndian,
|
||||
BigEndian
|
||||
} machByteOrder
|
||||
{
|
||||
(*((uint8_T *) &one) == 1U) ? LittleEndian : BigEndian
|
||||
};
|
||||
switch (machByteOrder) {
|
||||
case LittleEndian:
|
||||
{
|
||||
union {
|
||||
LittleEndianIEEEDouble bitVal;
|
||||
real_T fltVal;
|
||||
} tmpVal;
|
||||
|
||||
tmpVal.bitVal.words.wordH = 0xFFF00000U;
|
||||
tmpVal.bitVal.words.wordL = 0x00000000U;
|
||||
minf = tmpVal.fltVal;
|
||||
break;
|
||||
}
|
||||
|
||||
case BigEndian:
|
||||
{
|
||||
union {
|
||||
BigEndianIEEEDouble bitVal;
|
||||
real_T fltVal;
|
||||
} tmpVal;
|
||||
|
||||
tmpVal.bitVal.words.wordH = 0xFFF00000U;
|
||||
tmpVal.bitVal.words.wordL = 0x00000000U;
|
||||
minf = tmpVal.fltVal;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return minf;
|
||||
}
|
||||
|
||||
/*
|
||||
* Initialize rtMinusInfF needed by the generated code.
|
||||
* Inf is initialized as non-signaling. Assumes IEEE.
|
||||
*/
|
||||
real32_T rtGetMinusInfF(void)
|
||||
{
|
||||
IEEESingle minfF;
|
||||
minfF.wordL.wordLuint = 0xFF800000U;
|
||||
return minfF.wordL.wordLreal;
|
||||
}
|
||||
}
|
||||
36
ks/Models/FP56/Model_grt_rtw/rtGetInf.h
Normal file
36
ks/Models/FP56/Model_grt_rtw/rtGetInf.h
Normal file
@@ -0,0 +1,36 @@
|
||||
/*
|
||||
* rtGetInf.h
|
||||
*
|
||||
* Code generation for model "Model".
|
||||
*
|
||||
* Model version : 1.1
|
||||
* Simulink Coder version : 9.7 (R2022a) 13-Nov-2021
|
||||
* C++ source code generated on : Thu Mar 26 17:54:04 2026
|
||||
*
|
||||
* Target selection: grt.tlc
|
||||
* Note: GRT includes extra infrastructure and instrumentation for prototyping
|
||||
* Embedded hardware selection: Intel->x86-64 (Windows64)
|
||||
* Code generation objectives: Unspecified
|
||||
* Validation result: Not run
|
||||
*/
|
||||
|
||||
#ifndef RTW_HEADER_rtGetInf_h_
|
||||
#define RTW_HEADER_rtGetInf_h_
|
||||
#ifdef __cplusplus
|
||||
|
||||
#include "tmwtypes.h"
|
||||
|
||||
extern "C" {
|
||||
|
||||
#endif
|
||||
|
||||
extern real_T rtGetInf(void);
|
||||
extern real32_T rtGetInfF(void);
|
||||
extern real_T rtGetMinusInf(void);
|
||||
extern real32_T rtGetMinusInfF(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
#endif /* RTW_HEADER_rtGetInf_h_ */
|
||||
120
ks/Models/FP56/Model_grt_rtw/rtGetNaN.cpp
Executable file
120
ks/Models/FP56/Model_grt_rtw/rtGetNaN.cpp
Executable file
@@ -0,0 +1,120 @@
|
||||
/*
|
||||
* rtGetNaN.cpp
|
||||
*
|
||||
* Code generation for model "Model".
|
||||
*
|
||||
* Model version : 1.2
|
||||
* Simulink Coder version : 9.7 (R2022a) 13-Nov-2021
|
||||
* C++ source code generated on : Sat Mar 28 11:28:04 2026
|
||||
*
|
||||
* Target selection: grt.tlc
|
||||
* Note: GRT includes extra infrastructure and instrumentation for prototyping
|
||||
* Embedded hardware selection: Intel->x86-64 (Windows64)
|
||||
* Code generation objectives: Unspecified
|
||||
* Validation result: Not run
|
||||
*/
|
||||
|
||||
#include "rtwtypes.h"
|
||||
|
||||
extern "C" {
|
||||
|
||||
#include "rtGetNaN.h"
|
||||
|
||||
}
|
||||
#include <stddef.h>
|
||||
|
||||
extern "C" {
|
||||
|
||||
#include "rt_nonfinite.h"
|
||||
|
||||
}
|
||||
#define NumBitsPerChar 8U
|
||||
|
||||
extern "C" {
|
||||
/*
|
||||
* Initialize rtNaN needed by the generated code.
|
||||
* NaN is initialized as non-signaling. Assumes IEEE.
|
||||
*/
|
||||
real_T rtGetNaN(void)
|
||||
{
|
||||
size_t bitsPerReal{ sizeof(real_T) * (NumBitsPerChar) };
|
||||
|
||||
real_T nan{ 0.0 };
|
||||
|
||||
if (bitsPerReal == 32U) {
|
||||
nan = rtGetNaNF();
|
||||
} else {
|
||||
uint16_T one = 1U;
|
||||
enum {
|
||||
LittleEndian,
|
||||
BigEndian
|
||||
} machByteOrder
|
||||
{
|
||||
(*((uint8_T *) &one) == 1U) ? LittleEndian : BigEndian
|
||||
};
|
||||
switch (machByteOrder) {
|
||||
case LittleEndian:
|
||||
{
|
||||
union {
|
||||
LittleEndianIEEEDouble bitVal;
|
||||
real_T fltVal;
|
||||
} tmpVal;
|
||||
|
||||
tmpVal.bitVal.words.wordH = 0xFFF80000U;
|
||||
tmpVal.bitVal.words.wordL = 0x00000000U;
|
||||
nan = tmpVal.fltVal;
|
||||
break;
|
||||
}
|
||||
|
||||
case BigEndian:
|
||||
{
|
||||
union {
|
||||
BigEndianIEEEDouble bitVal;
|
||||
real_T fltVal;
|
||||
} tmpVal;
|
||||
|
||||
tmpVal.bitVal.words.wordH = 0x7FFFFFFFU;
|
||||
tmpVal.bitVal.words.wordL = 0xFFFFFFFFU;
|
||||
nan = tmpVal.fltVal;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return nan;
|
||||
}
|
||||
|
||||
/*
|
||||
* Initialize rtNaNF needed by the generated code.
|
||||
* NaN is initialized as non-signaling. Assumes IEEE.
|
||||
*/
|
||||
real32_T rtGetNaNF(void)
|
||||
{
|
||||
IEEESingle nanF{ { 0.0F } };
|
||||
|
||||
uint16_T one{ 1U };
|
||||
|
||||
enum {
|
||||
LittleEndian,
|
||||
BigEndian
|
||||
} machByteOrder
|
||||
{
|
||||
(*((uint8_T *) &one) == 1U) ? LittleEndian : BigEndian
|
||||
};
|
||||
switch (machByteOrder) {
|
||||
case LittleEndian:
|
||||
{
|
||||
nanF.wordL.wordLuint = 0xFFC00000U;
|
||||
break;
|
||||
}
|
||||
|
||||
case BigEndian:
|
||||
{
|
||||
nanF.wordL.wordLuint = 0x7FFFFFFFU;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return nanF.wordL.wordLreal;
|
||||
}
|
||||
}
|
||||
34
ks/Models/FP56/Model_grt_rtw/rtGetNaN.h
Normal file
34
ks/Models/FP56/Model_grt_rtw/rtGetNaN.h
Normal file
@@ -0,0 +1,34 @@
|
||||
/*
|
||||
* rtGetNaN.h
|
||||
*
|
||||
* Code generation for model "Model".
|
||||
*
|
||||
* Model version : 1.1
|
||||
* Simulink Coder version : 9.7 (R2022a) 13-Nov-2021
|
||||
* C++ source code generated on : Thu Mar 26 17:54:04 2026
|
||||
*
|
||||
* Target selection: grt.tlc
|
||||
* Note: GRT includes extra infrastructure and instrumentation for prototyping
|
||||
* Embedded hardware selection: Intel->x86-64 (Windows64)
|
||||
* Code generation objectives: Unspecified
|
||||
* Validation result: Not run
|
||||
*/
|
||||
|
||||
#ifndef RTW_HEADER_rtGetNaN_h_
|
||||
#define RTW_HEADER_rtGetNaN_h_
|
||||
|
||||
#include "tmwtypes.h"
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
extern real_T rtGetNaN(void);
|
||||
extern real32_T rtGetNaNF(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
#endif /* RTW_HEADER_rtGetNaN_h_ */
|
||||
0
ks/Models/FP56/Model_grt_rtw/rt_logging.h
Normal file
0
ks/Models/FP56/Model_grt_rtw/rt_logging.h
Normal file
109
ks/Models/FP56/Model_grt_rtw/rt_nonfinite.cpp
Executable file
109
ks/Models/FP56/Model_grt_rtw/rt_nonfinite.cpp
Executable file
@@ -0,0 +1,109 @@
|
||||
/*
|
||||
* rt_nonfinite.cpp
|
||||
*
|
||||
* Code generation for model "Model".
|
||||
*
|
||||
* Model version : 1.2
|
||||
* Simulink Coder version : 9.7 (R2022a) 13-Nov-2021
|
||||
* C++ source code generated on : Sat Mar 28 11:28:04 2026
|
||||
*
|
||||
* Target selection: grt.tlc
|
||||
* Note: GRT includes extra infrastructure and instrumentation for prototyping
|
||||
* Embedded hardware selection: Intel->x86-64 (Windows64)
|
||||
* Code generation objectives: Unspecified
|
||||
* Validation result: Not run
|
||||
*/
|
||||
|
||||
extern "C" {
|
||||
|
||||
#include "rtGetNaN.h"
|
||||
|
||||
}
|
||||
extern "C"
|
||||
{
|
||||
|
||||
#include "rtGetInf.h"
|
||||
|
||||
}
|
||||
|
||||
#include <stddef.h>
|
||||
#include "rtwtypes.h"
|
||||
|
||||
extern "C" {
|
||||
|
||||
#include "rt_nonfinite.h"
|
||||
|
||||
}
|
||||
#define NumBitsPerChar 8U
|
||||
|
||||
extern "C" {
|
||||
real_T rtInf;
|
||||
real_T rtMinusInf;
|
||||
real_T rtNaN;
|
||||
real32_T rtInfF;
|
||||
real32_T rtMinusInfF;
|
||||
real32_T rtNaNF;
|
||||
}
|
||||
extern "C"
|
||||
{
|
||||
/*
|
||||
* Initialize the rtInf, rtMinusInf, and rtNaN needed by the
|
||||
* generated code. NaN is initialized as non-signaling. Assumes IEEE.
|
||||
*/
|
||||
void rt_InitInfAndNaN(size_t realSize)
|
||||
{
|
||||
(void) (realSize);
|
||||
rtNaN = rtGetNaN();
|
||||
rtNaNF = rtGetNaNF();
|
||||
rtInf = rtGetInf();
|
||||
rtInfF = rtGetInfF();
|
||||
rtMinusInf = rtGetMinusInf();
|
||||
rtMinusInfF = rtGetMinusInfF();
|
||||
}
|
||||
|
||||
/* Test if value is infinite */
|
||||
boolean_T rtIsInf(real_T value)
|
||||
{
|
||||
return (boolean_T)((value==rtInf || value==rtMinusInf) ? 1U : 0U);
|
||||
}
|
||||
|
||||
/* Test if single-precision value is infinite */
|
||||
boolean_T rtIsInfF(real32_T value)
|
||||
{
|
||||
return (boolean_T)(((value)==rtInfF || (value)==rtMinusInfF) ? 1U : 0U);
|
||||
}
|
||||
|
||||
/* Test if value is not a number */
|
||||
boolean_T rtIsNaN(real_T value)
|
||||
{
|
||||
boolean_T result{ (boolean_T) 0 };
|
||||
|
||||
size_t bitsPerReal{ sizeof(real_T) * (NumBitsPerChar) };
|
||||
|
||||
if (bitsPerReal == 32U) {
|
||||
result = rtIsNaNF((real32_T)value);
|
||||
} else {
|
||||
union {
|
||||
LittleEndianIEEEDouble bitVal;
|
||||
real_T fltVal;
|
||||
} tmpVal;
|
||||
|
||||
tmpVal.fltVal = value;
|
||||
result = (boolean_T)((tmpVal.bitVal.words.wordH & 0x7FF00000) ==
|
||||
0x7FF00000 &&
|
||||
( (tmpVal.bitVal.words.wordH & 0x000FFFFF) != 0 ||
|
||||
(tmpVal.bitVal.words.wordL != 0) ));
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
/* Test if single-precision value is not a number */
|
||||
boolean_T rtIsNaNF(real32_T value)
|
||||
{
|
||||
IEEESingle tmp;
|
||||
tmp.wordL.wordLreal = value;
|
||||
return (boolean_T)( (tmp.wordL.wordLuint & 0x7F800000) == 0x7F800000 &&
|
||||
(tmp.wordL.wordLuint & 0x007FFFFF) != 0 );
|
||||
}
|
||||
}
|
||||
64
ks/Models/FP56/Model_grt_rtw/rt_nonfinite.h
Normal file
64
ks/Models/FP56/Model_grt_rtw/rt_nonfinite.h
Normal file
@@ -0,0 +1,64 @@
|
||||
/*
|
||||
* rt_nonfinite.h
|
||||
*
|
||||
* Code generation for model "Model".
|
||||
*
|
||||
* Model version : 1.1
|
||||
* Simulink Coder version : 9.7 (R2022a) 13-Nov-2021
|
||||
* C++ source code generated on : Thu Mar 26 17:54:04 2026
|
||||
*
|
||||
* Target selection: grt.tlc
|
||||
* Note: GRT includes extra infrastructure and instrumentation for prototyping
|
||||
* Embedded hardware selection: Intel->x86-64 (Windows64)
|
||||
* Code generation objectives: Unspecified
|
||||
* Validation result: Not run
|
||||
*/
|
||||
|
||||
#ifndef RTW_HEADER_rt_nonfinite_h_
|
||||
#define RTW_HEADER_rt_nonfinite_h_
|
||||
#include <stddef.h>
|
||||
#include "tmwtypes.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
extern "C" {
|
||||
|
||||
#endif
|
||||
|
||||
extern real_T rtInf;
|
||||
extern real_T rtMinusInf;
|
||||
extern real_T rtNaN;
|
||||
extern real32_T rtInfF;
|
||||
extern real32_T rtMinusInfF;
|
||||
extern real32_T rtNaNF;
|
||||
extern void rt_InitInfAndNaN(size_t realSize);
|
||||
extern boolean_T rtIsInf(real_T value);
|
||||
extern boolean_T rtIsInfF(real32_T value);
|
||||
extern boolean_T rtIsNaN(real_T value);
|
||||
extern boolean_T rtIsNaNF(real32_T value);
|
||||
struct BigEndianIEEEDouble {
|
||||
struct {
|
||||
uint32_T wordH;
|
||||
uint32_T wordL;
|
||||
} words;
|
||||
};
|
||||
|
||||
struct LittleEndianIEEEDouble {
|
||||
struct {
|
||||
uint32_T wordL;
|
||||
uint32_T wordH;
|
||||
} words;
|
||||
};
|
||||
|
||||
struct IEEESingle {
|
||||
union {
|
||||
real32_T wordLreal;
|
||||
uint32_T wordLuint;
|
||||
} wordL;
|
||||
};
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
#endif /* RTW_HEADER_rt_nonfinite_h_ */
|
||||
21
ks/Models/FP56/Model_grt_rtw/rtmodel.h
Normal file
21
ks/Models/FP56/Model_grt_rtw/rtmodel.h
Normal file
@@ -0,0 +1,21 @@
|
||||
/*
|
||||
* rtmodel.h:
|
||||
*
|
||||
* Code generation for model "Model".
|
||||
*
|
||||
* Model version : 1.1
|
||||
* Simulink Coder version : 9.7 (R2022a) 13-Nov-2021
|
||||
* C++ source code generated on : Thu Mar 26 17:54:04 2026
|
||||
*
|
||||
* Target selection: grt.tlc
|
||||
* Note: GRT includes extra infrastructure and instrumentation for prototyping
|
||||
* Embedded hardware selection: Intel->x86-64 (Windows64)
|
||||
* Code generation objectives: Unspecified
|
||||
* Validation result: Not run
|
||||
*/
|
||||
|
||||
#ifndef RTW_HEADER_rtmodel_h_
|
||||
#define RTW_HEADER_rtmodel_h_
|
||||
#include "Model.h"
|
||||
#define GRTINTERFACE 0
|
||||
#endif /* RTW_HEADER_rtmodel_h_ */
|
||||
0
ks/Models/FP56/Model_grt_rtw/rtw_continuous.h
Normal file
0
ks/Models/FP56/Model_grt_rtw/rtw_continuous.h
Normal file
4
ks/Models/FP56/Model_grt_rtw/rtw_proj.tmw
Executable file
4
ks/Models/FP56/Model_grt_rtw/rtw_proj.tmw
Executable file
@@ -0,0 +1,4 @@
|
||||
Simulink Coder project for Model using . MATLAB root = C:\Program Files\MATLAB\R2022a. SimStruct date: 13-Nov-2021 07:40:36
|
||||
This file is generated by Simulink Coder for use by the make utility
|
||||
to determine when to rebuild objects when the name of the current Simulink Coder project changes.
|
||||
The rtwinfomat located at: ..\slprj\grt\Model\tmwinternal\binfo.mat
|
||||
0
ks/Models/FP56/Model_grt_rtw/rtw_solver.h
Normal file
0
ks/Models/FP56/Model_grt_rtw/rtw_solver.h
Normal file
37
ks/Models/FP56/Model_grt_rtw/rtwtypes.h
Normal file
37
ks/Models/FP56/Model_grt_rtw/rtwtypes.h
Normal file
@@ -0,0 +1,37 @@
|
||||
/*
|
||||
* rtwtypes.h
|
||||
*
|
||||
* Code generation for model "Model".
|
||||
*
|
||||
* Model version : 1.1
|
||||
* Simulink Coder version : 9.7 (R2022a) 13-Nov-2021
|
||||
* C++ source code generated on : Thu Mar 26 17:54:04 2026
|
||||
*
|
||||
* Target selection: grt.tlc
|
||||
* Note: GRT includes extra infrastructure and instrumentation for prototyping
|
||||
* Embedded hardware selection: Intel->x86-64 (Windows64)
|
||||
* Code generation objectives: Unspecified
|
||||
* Validation result: Not run
|
||||
*/
|
||||
|
||||
#ifndef RTWTYPES_H
|
||||
#define RTWTYPES_H
|
||||
#ifndef POINTER_T
|
||||
#define POINTER_T
|
||||
|
||||
|
||||
typedef void * pointer_T;
|
||||
|
||||
#endif
|
||||
|
||||
/* Logical type definitions */
|
||||
#if (!defined(__cplusplus))
|
||||
#ifndef false
|
||||
#define false (0U)
|
||||
#endif
|
||||
|
||||
#ifndef true
|
||||
#define true (1U)
|
||||
#endif
|
||||
#endif
|
||||
#endif /* RTWTYPES_H */
|
||||
BIN
ks/Models/FP56/Model_grt_rtw/rtwtypeschksum.mat
Executable file
BIN
ks/Models/FP56/Model_grt_rtw/rtwtypeschksum.mat
Executable file
Binary file not shown.
2
ks/Models/FP56/Model_grt_rtw/setup_msvc.bat
Executable file
2
ks/Models/FP56/Model_grt_rtw/setup_msvc.bat
Executable file
@@ -0,0 +1,2 @@
|
||||
set "VSCMD_START_DIR=%CD%"
|
||||
CALL "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\VCVARSALL.BAT " amd64
|
||||
6
ks/Models/FP56/Model_grt_rtw/tmwinternal/simulink_cache.xml
Executable file
6
ks/Models/FP56/Model_grt_rtw/tmwinternal/simulink_cache.xml
Executable file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<MF0 version="1.1" packageUris="http://schema.mathworks.com/mf0/SlCache/19700101">
|
||||
<slcache.FileAttributes type="slcache.FileAttributes" uuid="4627df2f-e397-46c6-ada1-b8556b8aa2bb">
|
||||
<checksum>NTDKrwFlC2KuvSUsd+ruOI8Dyv3nMQrYVV99I0a14oaIUdnclSWEQvWIPl0hwuNNm1YfQasnRGmWFrGc9HOJzA==</checksum>
|
||||
</slcache.FileAttributes>
|
||||
</MF0>
|
||||
888
ks/Models/FP56/Model_grt_rtw/tmwtypes.h
Executable file
888
ks/Models/FP56/Model_grt_rtw/tmwtypes.h
Executable file
@@ -0,0 +1,888 @@
|
||||
/*
|
||||
* Copyright 1984-2018 The MathWorks, Inc.
|
||||
*/
|
||||
|
||||
#if defined(_MSC_VER)
|
||||
# pragma once
|
||||
#endif
|
||||
#if defined(__GNUC__) && (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 3))
|
||||
# pragma once
|
||||
#endif
|
||||
|
||||
#ifndef tmwtypes_h
|
||||
#define tmwtypes_h
|
||||
|
||||
#ifndef __TMWTYPES__
|
||||
#define __TMWTYPES__
|
||||
/*
|
||||
* File : tmwtypes.h
|
||||
* Abstract:
|
||||
* Data types for use with MATLAB/SIMULINK and the Real-Time Workshop.
|
||||
*
|
||||
* When compiling stand-alone model code, data types can be overridden
|
||||
* via compiler switches.
|
||||
*
|
||||
* Define NO_FLOATS to eliminate reference to real_T, etc.
|
||||
*/
|
||||
|
||||
#ifdef MW_LIBTOOLING
|
||||
#include "mwstdint.h"
|
||||
#endif
|
||||
|
||||
#include <limits.h>
|
||||
|
||||
/* __STDC_VERSION__ version check below means "check for a C99 compiler".
|
||||
|
||||
Visual Studio (checked on versions 2015 and 2017) does
|
||||
not define __STDC_VERSION__, however it has stdbool.h available,
|
||||
thus a separate check for _MSC_VER below.
|
||||
*/
|
||||
#if defined(__APPLE_CC__) \
|
||||
|| (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)) \
|
||||
|| (defined(_MSC_VER) && (_MSC_VER >= 1900))
|
||||
#ifndef tmwtypes_do_not_include_stdbool
|
||||
#include <stdbool.h>
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#define LOGICAL_IS_A_TYPE
|
||||
#define SPARSE_GENERALIZATION
|
||||
|
||||
#ifdef NO_FLOATS
|
||||
# define double double_not_allowed
|
||||
# define float float_not_allowed
|
||||
#endif /*NO_FLOATS*/
|
||||
|
||||
#ifndef NO_FLOATS
|
||||
|
||||
#ifndef __MWERKS__
|
||||
# ifdef __STDC__
|
||||
# include <float.h>
|
||||
# else
|
||||
# ifndef FLT_MANT_DIG
|
||||
# define FLT_MANT_DIG 24
|
||||
# endif
|
||||
# ifndef DBL_MANT_DIG
|
||||
# define DBL_MANT_DIG 53
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#endif /*NO_FLOATS*/
|
||||
|
||||
/*
|
||||
* The following data types cannot be overridden when building MEX files.
|
||||
*/
|
||||
#ifdef MATLAB_MEX_FILE
|
||||
# undef CHARACTER_T
|
||||
# undef INTEGER_T
|
||||
# undef BOOLEAN_T
|
||||
# undef REAL_T
|
||||
# undef TIME_T
|
||||
#endif
|
||||
|
||||
/*
|
||||
* The uchar_T, ushort_T and ulong_T types are needed for compilers which do
|
||||
* not allow defines to be specified, at the command line, with spaces in them.
|
||||
*/
|
||||
|
||||
typedef unsigned char uchar_T;
|
||||
typedef unsigned short ushort_T;
|
||||
typedef unsigned long ulong_T;
|
||||
|
||||
#if (defined(_MSC_VER) && _MSC_VER >= 1500) \
|
||||
|| defined(__x86_64__) || defined(__LP64__) \
|
||||
|| defined(__LCC64__)
|
||||
|
||||
typedef unsigned long long ulonglong_T;
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
/*=======================================================================*
|
||||
* Fixed width word size data types: *
|
||||
* int8_T, int16_T, int32_T - signed 8, 16, or 32 bit integers *
|
||||
* uint8_T, uint16_T, uint32_T - unsigned 8, 16, or 32 bit integers *
|
||||
* real32_T, real64_T - 32 and 64 bit floating point numbers *
|
||||
*=======================================================================*/
|
||||
|
||||
/* When used with Real Time Workshop generated code, this
|
||||
* header file can be used with a variety of compilers.
|
||||
*
|
||||
* The compiler could be for an 8 bit embedded processor that
|
||||
* only had 8 bits per integer and 16 bits per long.
|
||||
* In that example, a 32 bit integer size is not even available.
|
||||
* This header file should be robust to that.
|
||||
*
|
||||
* For the case of an 8 bit processor, the preprocessor
|
||||
* may be limited to 16 bit math like its target. That limitation
|
||||
* would mean that 32 bit comparisons can't be done accurately.
|
||||
* To increase robustness to this, comparisons are done against
|
||||
* smaller values first. An inaccurate 32 bit comparison isn't
|
||||
* attempted if the 16 bit comparison has already succeeded.
|
||||
*
|
||||
* Limitations on preprocessor math can also be stricter than
|
||||
* for the target. There are known cases where a compiler
|
||||
* targeting processors with 64 bit longs can't do accurate
|
||||
* preprocessor comparisons on more than 32 bits.
|
||||
*/
|
||||
|
||||
/* Determine the number of bits for int, long, short, and char.
|
||||
* If one fails to be determined, set the number of bits to -1
|
||||
*/
|
||||
|
||||
#ifndef TMW_BITS_PER_INT
|
||||
# if INT_MAX == 0x7FL
|
||||
# define TMW_BITS_PER_INT 8
|
||||
# elif INT_MAX == 0x7FFFL
|
||||
# define TMW_BITS_PER_INT 16
|
||||
# elif INT_MAX == 0x7FFFFFFFL
|
||||
# define TMW_BITS_PER_INT 32
|
||||
# else
|
||||
# define TMW_BITS_PER_INT -1
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef TMW_BITS_PER_LONG
|
||||
# if LONG_MAX == 0x7FL
|
||||
# define TMW_BITS_PER_LONG 8
|
||||
# elif LONG_MAX == 0x7FFFL
|
||||
# define TMW_BITS_PER_LONG 16
|
||||
# elif LONG_MAX == 0x7FFFFFFFL
|
||||
# define TMW_BITS_PER_LONG 32
|
||||
# else
|
||||
# define TMW_BITS_PER_LONG -1
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef TMW_BITS_PER_SHRT
|
||||
# if SHRT_MAX == 0x7FL
|
||||
# define TMW_BITS_PER_SHRT 8
|
||||
# elif SHRT_MAX == 0x7FFFL
|
||||
# define TMW_BITS_PER_SHRT 16
|
||||
# elif SHRT_MAX == 0x7FFFFFFFL
|
||||
# define TMW_BITS_PER_SHRT 32
|
||||
# else
|
||||
# define TMW_BITS_PER_SHRT -1
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef TMW_BITS_PER_SCHAR
|
||||
# if SCHAR_MAX == 0x7FL
|
||||
# define TMW_BITS_PER_SCHAR 8
|
||||
# elif SCHAR_MAX == 0x7FFFL
|
||||
# define TMW_BITS_PER_SCHAR 16
|
||||
# elif SCHAR_MAX == 0x7FFFFFFFL
|
||||
# define TMW_BITS_PER_SCHAR 32
|
||||
# else
|
||||
# define TMW_BITS_PER_SCHAR -1
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef TMW_CHAR_SIGNED
|
||||
# if SCHAR_MAX == CHAR_MAX
|
||||
# define TMW_CHAR_SIGNED 1
|
||||
# else
|
||||
# define TMW_CHAR_SIGNED 0
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* It is common for one or more of the integer types
|
||||
* to be the same size. For example, on many embedded
|
||||
* processors, both shorts and ints are 16 bits. On
|
||||
* processors used for workstations, it is quite common
|
||||
* for both int and long to be 32 bits.
|
||||
* When there is more than one choice for typdef'ing
|
||||
* a portable type like int16_T or uint32_T, in
|
||||
* concept, it should not matter which choice is made.
|
||||
* However, some style guides and some code checking
|
||||
* tools do identify and complain about seemingly
|
||||
* irrelevant differences. For example, a code
|
||||
* checking tool may complain about an implicit
|
||||
* conversion from int to short even though both
|
||||
* are 16 bits. To reduce these types of
|
||||
* complaints, it is best to make int the
|
||||
* preferred choice when more than one is available.
|
||||
*/
|
||||
|
||||
#ifndef INT8_T
|
||||
# if defined(MW_LIBTOOLING)
|
||||
# define INT8_T int8_t
|
||||
# elif TMW_BITS_PER_INT == 8
|
||||
# define INT8_T int
|
||||
# elif TMW_BITS_PER_LONG == 8
|
||||
# define INT8_T long
|
||||
# elif TMW_BITS_PER_SCHAR == 8
|
||||
# define INT8_T signed char
|
||||
# elif TMW_BITS_PER_SHRT == 8
|
||||
# define INT8_T short
|
||||
# endif
|
||||
#endif
|
||||
#ifdef INT8_T
|
||||
typedef INT8_T int8_T;
|
||||
#endif
|
||||
|
||||
#ifndef UINT8_T
|
||||
# if defined(MW_LIBTOOLING)
|
||||
# define UINT8_T uint8_t
|
||||
# elif TMW_BITS_PER_INT == 8
|
||||
# define UINT8_T unsigned int
|
||||
# elif TMW_BITS_PER_LONG == 8
|
||||
# define UINT8_T unsigned long
|
||||
# elif TMW_BITS_PER_SCHAR == 8
|
||||
# define UINT8_T unsigned char
|
||||
# elif TMW_BITS_PER_SHRT == 8
|
||||
# define UINT8_T unsigned short
|
||||
# endif
|
||||
#endif
|
||||
#ifdef UINT8_T
|
||||
typedef UINT8_T uint8_T;
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef INT16_T
|
||||
# if defined(MW_LIBTOOLING)
|
||||
# define INT16_T int16_t
|
||||
# elif TMW_BITS_PER_INT == 16
|
||||
# define INT16_T int
|
||||
# elif TMW_BITS_PER_LONG == 16
|
||||
# define INT16_T long
|
||||
# elif TMW_BITS_PER_SCHAR == 16
|
||||
# define INT16_T signed char
|
||||
# elif TMW_BITS_PER_SHRT == 16
|
||||
# define INT16_T short
|
||||
# endif
|
||||
#endif
|
||||
#ifdef INT16_T
|
||||
typedef INT16_T int16_T;
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef UINT16_T
|
||||
# if defined(MW_LIBTOOLING)
|
||||
# define UINT16_T uint16_t
|
||||
# elif TMW_BITS_PER_INT == 16
|
||||
# define UINT16_T unsigned int
|
||||
# elif TMW_BITS_PER_LONG == 16
|
||||
# define UINT16_T unsigned long
|
||||
# elif TMW_BITS_PER_SCHAR == 16
|
||||
# define UINT16_T unsigned char
|
||||
# elif TMW_BITS_PER_SHRT == 16
|
||||
# define UINT16_T unsigned short
|
||||
# endif
|
||||
#endif
|
||||
#ifdef UINT16_T
|
||||
typedef UINT16_T uint16_T;
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef INT32_T
|
||||
# if defined(MW_LIBTOOLING)
|
||||
# define INT32_T int32_t
|
||||
# elif TMW_BITS_PER_INT == 32
|
||||
# define INT32_T int
|
||||
# elif TMW_BITS_PER_LONG == 32
|
||||
# define INT32_T long
|
||||
# elif TMW_BITS_PER_SCHAR == 32
|
||||
# define INT32_T signed char
|
||||
# elif TMW_BITS_PER_SHRT == 32
|
||||
# define INT32_T short
|
||||
# endif
|
||||
#endif
|
||||
#ifdef INT32_T
|
||||
typedef INT32_T int32_T;
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef UINT32_T
|
||||
# if defined(MW_LIBTOOLING)
|
||||
# define UINT32_T uint32_t
|
||||
# elif TMW_BITS_PER_INT == 32
|
||||
# define UINT32_T unsigned int
|
||||
# elif TMW_BITS_PER_LONG == 32
|
||||
# define UINT32_T unsigned long
|
||||
# elif TMW_BITS_PER_SCHAR == 32
|
||||
# define UINT32_T unsigned char
|
||||
# elif TMW_BITS_PER_SHRT == 32
|
||||
# define UINT32_T unsigned short
|
||||
# endif
|
||||
#endif
|
||||
#ifdef UINT32_T
|
||||
typedef UINT32_T uint32_T;
|
||||
#endif
|
||||
|
||||
/* The following is used to emulate smaller integer types when only
|
||||
* larger types are available. For example, compilers for TI C3x/C4x DSPs
|
||||
* define char and short to be 32 bits, so 8 and 16 bits are not directly
|
||||
* available. This target is commonly used with RTW rapid prototyping.
|
||||
* Other DSPs define char to be 16 bits, so 8 bits is not directly
|
||||
* available.
|
||||
*/
|
||||
#ifndef INT8_T
|
||||
# ifdef INT16_T
|
||||
# define INT8_T INT16_T
|
||||
typedef INT8_T int8_T;
|
||||
# else
|
||||
# ifdef INT32_T
|
||||
# define INT8_T INT32_T
|
||||
typedef INT8_T int8_T;
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef UINT8_T
|
||||
# ifdef UINT16_T
|
||||
# define UINT8_T UINT16_T
|
||||
typedef UINT8_T uint8_T;
|
||||
# else
|
||||
# ifdef UINT32_T
|
||||
# define UINT8_T UINT32_T
|
||||
typedef UINT8_T uint8_T;
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef INT16_T
|
||||
# ifdef INT32_T
|
||||
# define INT16_T INT32_T
|
||||
typedef INT16_T int16_T;
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef UINT16_T
|
||||
# ifdef UINT32_T
|
||||
# define UINT16_T UINT32_T
|
||||
typedef UINT16_T uint16_T;
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NO_FLOATS
|
||||
|
||||
#ifndef REAL32_T
|
||||
# ifndef __MWERKS__
|
||||
# if FLT_MANT_DIG >= 23
|
||||
# define REAL32_T float
|
||||
# endif
|
||||
# else
|
||||
# define REAL32_T float
|
||||
# endif
|
||||
#endif
|
||||
#ifdef REAL32_T
|
||||
typedef REAL32_T real32_T;
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef REAL64_T
|
||||
# ifndef __MWERKS__
|
||||
# if DBL_MANT_DIG >= 52
|
||||
# define REAL64_T double
|
||||
# endif
|
||||
# else
|
||||
# define REAL64_T double
|
||||
# endif
|
||||
#endif
|
||||
#ifdef REAL64_T
|
||||
typedef REAL64_T real64_T;
|
||||
#endif
|
||||
|
||||
#endif /* NO_FLOATS*/
|
||||
|
||||
/*=======================================================================*
|
||||
* Fixed width word size data types: *
|
||||
* int64_T - signed 64 bit integers *
|
||||
* uint64_T - unsigned 64 bit integers *
|
||||
*=======================================================================*/
|
||||
|
||||
# if defined(MW_LIBTOOLING)
|
||||
# ifdef INT64_T
|
||||
# undef INT64_T
|
||||
# endif
|
||||
# define INT64_T int64_t
|
||||
# ifdef UINT64_T
|
||||
# undef UINT64_T
|
||||
# endif
|
||||
# define UINT64_T uint64_t
|
||||
# endif
|
||||
#if !defined(INT64_T) || !defined(UINT64_T) || !defined(FMT64)
|
||||
# if defined(__APPLE__) || defined(__clang__)
|
||||
# ifndef INT64_T
|
||||
# define INT64_T long long
|
||||
# endif
|
||||
# ifndef UINT64_T
|
||||
# define UINT64_T unsigned long long
|
||||
# endif
|
||||
# ifndef FMT64
|
||||
# define FMT64 "ll"
|
||||
# endif
|
||||
# if defined(__LP64__) && !defined(INT_TYPE_64_IS_LONG)
|
||||
# define INT_TYPE_64_IS_LONG
|
||||
# endif
|
||||
# elif (defined(__x86_64__) || defined(__LP64__))&& !defined(__MINGW64__)
|
||||
# ifndef INT64_T
|
||||
# define INT64_T long
|
||||
# endif
|
||||
# ifndef UINT64_T
|
||||
# define UINT64_T unsigned long
|
||||
# endif
|
||||
# ifndef FMT64
|
||||
# define FMT64 "l"
|
||||
# endif
|
||||
# if !defined(INT_TYPE_64_IS_LONG)
|
||||
# define INT_TYPE_64_IS_LONG
|
||||
# endif
|
||||
# elif defined(_MSC_VER) || (defined(__BORLANDC__) && __BORLANDC__ >= 0x530) \
|
||||
|| (defined(__WATCOMC__) && __WATCOMC__ >= 1100)
|
||||
# ifndef INT64_T
|
||||
# define INT64_T __int64
|
||||
# endif
|
||||
# ifndef UINT64_T
|
||||
# define UINT64_T unsigned __int64
|
||||
# endif
|
||||
# ifndef FMT64
|
||||
# define FMT64 "I64"
|
||||
# endif
|
||||
# elif defined(__GNUC__) || defined(TMW_ENABLE_INT64) \
|
||||
|| defined(__LCC64__)
|
||||
# ifndef INT64_T
|
||||
# define INT64_T long long
|
||||
# endif
|
||||
# ifndef UINT64_T
|
||||
# define UINT64_T unsigned long long
|
||||
# endif
|
||||
# ifndef FMT64
|
||||
# define FMT64 "ll"
|
||||
# endif
|
||||
# endif
|
||||
|
||||
#endif
|
||||
|
||||
#if defined(INT64_T)
|
||||
# if defined(__GNUC__) && \
|
||||
((__GNUC__ > 2) || ((__GNUC__ == 2) && (__GNUC_MINOR__ >=9)))
|
||||
__extension__
|
||||
# endif
|
||||
typedef INT64_T int64_T;
|
||||
#endif
|
||||
|
||||
#if defined(_WIN64) || (defined(__APPLE__) && defined(__LP64__)) \
|
||||
|| defined(__x86_64__) \
|
||||
|| defined(__LP64__)
|
||||
# define INT_TYPE_64_IS_SUPPORTED
|
||||
#endif
|
||||
|
||||
#if defined(UINT64_T)
|
||||
# if defined(__GNUC__) && \
|
||||
((__GNUC__ > 2) || ((__GNUC__ == 2) && (__GNUC_MINOR__ >=9)))
|
||||
__extension__
|
||||
# endif
|
||||
typedef UINT64_T uint64_T;
|
||||
#endif
|
||||
|
||||
/*===========================================================================*
|
||||
* Format string modifiers for using size_t variables in printf statements. *
|
||||
*===========================================================================*/
|
||||
|
||||
#ifndef FMT_SIZE_T
|
||||
# if (defined( __GNUC__ ) || defined(_STDC_C99))&& !defined(__MINGW64__)
|
||||
# define FMT_SIZE_T "z"
|
||||
# elif defined (__WATCOMC__)
|
||||
# define FMT_SIZE_T "l"
|
||||
# elif defined (_WIN32 )
|
||||
# define FMT_SIZE_T "I"
|
||||
# else
|
||||
# define FMT_SIZE_T "l"
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef FMT_PTRDIFF_T
|
||||
# if defined(__APPLE__)
|
||||
# define FMT_PTRDIFF_T "l"
|
||||
# elif defined( __GNUC__ ) || defined(_STDC_C99)
|
||||
# define FMT_PTRDIFF_T "t"
|
||||
# elif defined (__WATCOMC__)
|
||||
# define FMT_PTRDIFF_T "l"
|
||||
# elif defined (_WIN32 )
|
||||
# define FMT_PTRDIFF_T "I"
|
||||
# else
|
||||
# define FMT_PTRDIFF_T "l"
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/*===========================================================================*
|
||||
* General or logical data types where the word size is not guaranteed. *
|
||||
* real_T - possible settings include real32_T or real64_T *
|
||||
* time_T - possible settings include real32_T or real64_T *
|
||||
* boolean_T *
|
||||
* char_T *
|
||||
* int_T *
|
||||
* uint_T *
|
||||
* byte_T *
|
||||
*===========================================================================*/
|
||||
|
||||
#ifndef NO_FLOATS
|
||||
|
||||
#ifndef REAL_T
|
||||
# ifdef REAL64_T
|
||||
# define REAL_T real64_T
|
||||
# else
|
||||
# ifdef REAL32_T
|
||||
# define REAL_T real32_T
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
#ifdef REAL_T
|
||||
typedef REAL_T real_T;
|
||||
#endif
|
||||
|
||||
#ifndef TIME_T
|
||||
# ifdef REAL_T
|
||||
# define TIME_T real_T
|
||||
# endif
|
||||
#endif
|
||||
#ifdef TIME_T
|
||||
typedef TIME_T time_T;
|
||||
#endif
|
||||
|
||||
#endif /* NO_FLOATS */
|
||||
|
||||
#ifndef BOOLEAN_T
|
||||
# if defined(UINT8_T)
|
||||
# define BOOLEAN_T UINT8_T
|
||||
# else
|
||||
# define BOOLEAN_T unsigned int
|
||||
# endif
|
||||
#endif
|
||||
typedef BOOLEAN_T boolean_T;
|
||||
|
||||
|
||||
#ifndef CHARACTER_T
|
||||
# define CHARACTER_T char
|
||||
#endif
|
||||
typedef CHARACTER_T char_T;
|
||||
|
||||
|
||||
#ifndef INTEGER_T
|
||||
# define INTEGER_T int
|
||||
#endif
|
||||
typedef INTEGER_T int_T;
|
||||
|
||||
|
||||
#ifndef UINTEGER_T
|
||||
# define UINTEGER_T unsigned
|
||||
#endif
|
||||
typedef UINTEGER_T uint_T;
|
||||
|
||||
|
||||
#ifndef BYTE_T
|
||||
# define BYTE_T unsigned char
|
||||
#endif
|
||||
typedef BYTE_T byte_T;
|
||||
|
||||
|
||||
/*===========================================================================*
|
||||
* Define Complex Structures *
|
||||
*===========================================================================*/
|
||||
#ifndef NO_FLOATS
|
||||
|
||||
#ifndef CREAL32_T
|
||||
# ifdef REAL32_T
|
||||
typedef struct {
|
||||
real32_T re, im;
|
||||
} creal32_T;
|
||||
# define CREAL32_T creal32_T
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef CREAL64_T
|
||||
# ifdef REAL64_T
|
||||
typedef struct {
|
||||
real64_T re, im;
|
||||
} creal64_T;
|
||||
# define CREAL64_T creal64_T
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef CREAL_T
|
||||
# ifdef REAL_T
|
||||
typedef struct {
|
||||
real_T re, im;
|
||||
} creal_T;
|
||||
# define CREAL_T creal_T
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#endif /* NO_FLOATS */
|
||||
|
||||
#ifndef CINT8_T
|
||||
# ifdef INT8_T
|
||||
typedef struct {
|
||||
int8_T re, im;
|
||||
} cint8_T;
|
||||
# define CINT8_T cint8_T
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef CUINT8_T
|
||||
# ifdef UINT8_T
|
||||
typedef struct {
|
||||
uint8_T re, im;
|
||||
} cuint8_T;
|
||||
# define CUINT8_T cuint8_T
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef CINT16_T
|
||||
# ifdef INT16_T
|
||||
typedef struct {
|
||||
int16_T re, im;
|
||||
} cint16_T;
|
||||
# define CINT16_T cint16_T
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef CUINT16_T
|
||||
# ifdef UINT16_T
|
||||
typedef struct {
|
||||
uint16_T re, im;
|
||||
} cuint16_T;
|
||||
# define CUINT16_T cuint16_T
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef CINT32_T
|
||||
# ifdef INT32_T
|
||||
typedef struct {
|
||||
int32_T re, im;
|
||||
} cint32_T;
|
||||
# define CINT32_T cint32_T
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef CUINT32_T
|
||||
# ifdef UINT32_T
|
||||
typedef struct {
|
||||
uint32_T re, im;
|
||||
} cuint32_T;
|
||||
# define CUINT32_T cuint32_T
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef CINT64_T
|
||||
# ifdef INT64_T
|
||||
typedef struct {
|
||||
int64_T re, im;
|
||||
} cint64_T;
|
||||
# define CINT64_T cint64_T
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef CUINT64_T
|
||||
# ifdef UINT64_T
|
||||
typedef struct {
|
||||
uint64_T re, im;
|
||||
} cuint64_T;
|
||||
# define CUINT64_T cuint64_T
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/*=======================================================================*
|
||||
* Min and Max: *
|
||||
* int8_T, int16_T, int32_T - signed 8, 16, or 32 bit integers *
|
||||
* uint8_T, uint16_T, uint32_T - unsigned 8, 16, or 32 bit integers *
|
||||
*=======================================================================*/
|
||||
|
||||
#define MAX_int8_T ((int8_T)(127)) /* 127 */
|
||||
#define MIN_int8_T ((int8_T)(-128)) /* -128 */
|
||||
#define MAX_uint8_T ((uint8_T)(255)) /* 255 */
|
||||
#define MIN_uint8_T ((uint8_T)(0))
|
||||
|
||||
#define MAX_int16_T ((int16_T)(32767)) /* 32767 */
|
||||
#define MIN_int16_T ((int16_T)(-32768)) /* -32768 */
|
||||
#define MAX_uint16_T ((uint16_T)(65535)) /* 65535 */
|
||||
#define MIN_uint16_T ((uint16_T)(0))
|
||||
|
||||
#define MAX_int32_T ((int32_T)(2147483647)) /* 2147483647 */
|
||||
#define MIN_int32_T ((int32_T)(-2147483647-1)) /* -2147483648 */
|
||||
#define MAX_uint32_T ((uint32_T)(0xFFFFFFFFU)) /* 4294967295 */
|
||||
#define MIN_uint32_T ((uint32_T)(0))
|
||||
|
||||
#if defined(_MSC_VER) || (defined(__BORLANDC__) && __BORLANDC__ >= 0x530) \
|
||||
|| (defined(__WATCOMC__) && __WATCOMC__ >= 1100) \
|
||||
|| defined(__LCC64__)
|
||||
# ifdef INT64_T
|
||||
# define MAX_int64_T ((int64_T)(9223372036854775807LL))
|
||||
# define MIN_int64_T ((int64_T)(-9223372036854775807LL-1LL))
|
||||
# endif
|
||||
# ifdef UINT64_T
|
||||
# define MAX_uint64_T ((uint64_T)(0xFFFFFFFFFFFFFFFFULL))
|
||||
# define MIN_uint64_T ((uint64_T)(0))
|
||||
# endif
|
||||
#else
|
||||
# ifdef INT64_T
|
||||
# ifdef INT_TYPE_64_IS_LONG
|
||||
# define MAX_int64_T ((int64_T)(9223372036854775807L))
|
||||
# define MIN_int64_T ((int64_T)(-9223372036854775807L-1L))
|
||||
# else
|
||||
# define MAX_int64_T ((int64_T)(9223372036854775807LL))
|
||||
# define MIN_int64_T ((int64_T)(-9223372036854775807LL-1LL))
|
||||
# endif
|
||||
# endif
|
||||
# ifdef UINT64_T
|
||||
# ifdef INT_TYPE_64_IS_LONG
|
||||
# define MAX_uint64_T ((uint64_T)(0xFFFFFFFFFFFFFFFFUL))
|
||||
# define MIN_uint64_T ((uint64_T)(0))
|
||||
# else
|
||||
# define MAX_uint64_T ((uint64_T)(0xFFFFFFFFFFFFFFFFULL))
|
||||
# define MIN_uint64_T ((uint64_T)(0))
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if (defined(_MSC_VER) && !defined(__clang__))
|
||||
|
||||
/* Conversion from unsigned __int64 to double is not implemented in Visual Studio
|
||||
* and results in a compile error, thus the value must first be cast to
|
||||
* signed __int64, and then to double.
|
||||
*
|
||||
* If the 64 bit int value is greater than 2^63-1, which is the signed int64 max,
|
||||
* the macro below provides a workaround for casting a uint64 value to a double
|
||||
* in windows.
|
||||
*/
|
||||
# define uint64_to_double(u) ( ((u) > _I64_MAX) ? \
|
||||
(double)(__int64)((u) - _I64_MAX - 1) + (double)_I64_MAX + 1: \
|
||||
(double)(__int64)(u) )
|
||||
|
||||
/* The following inline function should only be used in the macro double_to_uint64,
|
||||
* as it only handles the specfic range of double between 2^63 and 2^64-1 */
|
||||
__forceinline
|
||||
uint64_T double_to_uint64_helper(double d) {
|
||||
union double_to_uint64_union_type {
|
||||
double dd;
|
||||
uint64_T i64;
|
||||
} di;
|
||||
di.dd = d;
|
||||
return (((di.i64 & 0x000fffffffffffff) | 0x0010000000000000) << 11);
|
||||
}
|
||||
|
||||
/* The largest double value that can be cast to uint64 in windows is the
|
||||
* signed int64 max, which is 2^63-1. The macro below provides
|
||||
* a workaround for casting large double values to uint64 in windows.
|
||||
*/
|
||||
/* The magic number 18446744073709551616.0 is 2^64 */
|
||||
/* The magic number 9223372036854775808.0 is 2^63 */
|
||||
# define double_to_uint64(d) ( ((d) >= 18446744073709551616.0) ? \
|
||||
0xffffffffffffffffULL : \
|
||||
((d) >= 0.0) ? \
|
||||
((d) >= 9223372036854775808.0) ? \
|
||||
double_to_uint64_helper(d) : \
|
||||
(unsigned __int64)(d) : \
|
||||
0ULL )
|
||||
#else
|
||||
# define uint64_to_double(u) ((double)(u))
|
||||
# if defined(__BORLANDC__) || defined(__WATCOMC__) || defined(__TICCSC__)
|
||||
/* double_to_uint64 defined only for MSVC and UNIX */
|
||||
# else
|
||||
# define double_to_uint64(d) ( ((d) >= 18446744073709551616.0) ? \
|
||||
(unsigned long long) 0xffffffffffffffffULL : \
|
||||
((d) >= 0) ? (unsigned long long)(d) : (unsigned long long) 0 )
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if !defined(__cplusplus) && !defined(__bool_true_false_are_defined)
|
||||
|
||||
#ifndef _bool_T
|
||||
#define _bool_T
|
||||
|
||||
typedef boolean_T bool;
|
||||
|
||||
#ifndef false
|
||||
#define false (0)
|
||||
#endif
|
||||
#ifndef true
|
||||
#define true (1)
|
||||
#endif
|
||||
|
||||
#endif /* _bool_T */
|
||||
|
||||
#endif /* !__cplusplus */
|
||||
|
||||
/*
|
||||
* This software assumes that the code is being compiled on a target using a
|
||||
* 2's complement representation for signed integer values.
|
||||
*/
|
||||
#if ((SCHAR_MIN + 1) != -SCHAR_MAX)
|
||||
#error "This code must be compiled using a 2's complement representation for signed integer values"
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Maximum length of a MATLAB identifier (function/variable/model)
|
||||
* including the null-termination character.
|
||||
*/
|
||||
#define TMW_NAME_LENGTH_MAX 64
|
||||
|
||||
/*
|
||||
* Maximum values for indices and dimensions
|
||||
*/
|
||||
#include <stddef.h>
|
||||
|
||||
#ifdef MX_COMPAT_32
|
||||
typedef int mwSize;
|
||||
typedef int mwIndex;
|
||||
typedef int mwSignedIndex;
|
||||
#else
|
||||
typedef size_t mwSize; /* unsigned pointer-width integer */
|
||||
typedef size_t mwIndex; /* unsigned pointer-width integer */
|
||||
typedef ptrdiff_t mwSignedIndex; /* a signed pointer-width integer */
|
||||
#endif
|
||||
|
||||
/* for the individual dim */
|
||||
/* If updating SLSize or SLIndex, update defintions in sl_types_def.h
|
||||
as well. */
|
||||
#ifndef SLSIZE_SLINDEX
|
||||
#define SLSIZE_SLINDEX
|
||||
#ifdef INT_TYPE_64_IS_SUPPORTED
|
||||
typedef int64_T SLIndex;
|
||||
typedef int64_T SLSize;
|
||||
#else
|
||||
typedef int SLIndex;
|
||||
typedef int SLSize;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* for the total size */
|
||||
#define SLIndexType size_t
|
||||
#define INVALID_SIZET_VALUE (std::numeric_limits<SLIndexType>::max())
|
||||
#define MAX_VALID_SIZET_VALUE (std::numeric_limits<SLIndexType>::max() -1)
|
||||
|
||||
|
||||
#if (defined(_LP64) || defined(_WIN64)) && !defined(MX_COMPAT_32)
|
||||
/* Currently 2^48 based on hardware limitations */
|
||||
# define MWSIZE_MAX 281474976710655UL
|
||||
# define MWINDEX_MAX 281474976710655UL
|
||||
# define MWSINDEX_MAX 281474976710655L
|
||||
# define MWSINDEX_MIN -281474976710655L
|
||||
#else
|
||||
# define MWSIZE_MAX 2147483647UL
|
||||
# define MWINDEX_MAX 2147483647UL
|
||||
# define MWSINDEX_MAX 2147483647L
|
||||
# define MWSINDEX_MIN -2147483647L
|
||||
#endif
|
||||
#define MWSIZE_MIN 0UL
|
||||
#define MWINDEX_MIN 0UL
|
||||
|
||||
/** UTF-16 character type */
|
||||
|
||||
#if (defined(__cplusplus) && (__cplusplus >= 201103L)) || (defined(_HAS_CHAR16_T_LANGUAGE_SUPPORT) && _HAS_CHAR16_T_LANGUAGE_SUPPORT)
|
||||
typedef char16_t CHAR16_T;
|
||||
#define U16_STRING_LITERAL_PREFIX u
|
||||
#elif defined(_MSC_VER)
|
||||
typedef wchar_t CHAR16_T;
|
||||
#define U16_STRING_LITERAL_PREFIX L
|
||||
#else
|
||||
typedef UINT16_T CHAR16_T;
|
||||
#endif
|
||||
|
||||
#endif /* __TMWTYPES__ */
|
||||
|
||||
#endif /* tmwtypes_h */
|
||||
BIN
ks/Models/FP56/Modell.slxc
Executable file
BIN
ks/Models/FP56/Modell.slxc
Executable file
Binary file not shown.
BIN
ks/Models/FP56/slprj/grt/Model/tmwinternal/BlockTraceInfo.mat
Executable file
BIN
ks/Models/FP56/slprj/grt/Model/tmwinternal/BlockTraceInfo.mat
Executable file
Binary file not shown.
392
ks/Models/FP56/slprj/grt/Model/tmwinternal/CompileInfo.xml
Executable file
392
ks/Models/FP56/slprj/grt/Model/tmwinternal/CompileInfo.xml
Executable file
@@ -0,0 +1,392 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<MF0 version="1.1" packageUris="http://schema.mathworks.com/mf0/ci/19700101 http://schema.mathworks.com/mf0/sl_modelref_info/R2022a http://schema.mathworks.com/mf0/slexec_mm_sto/R2022a_202107291127">
|
||||
<ModelRefInfoRepo.ModelRefInfoRoot type="ModelRefInfoRepo.ModelRefInfoRoot" uuid="45c12f31-9536-4847-bf5b-d0abfbf0af86">
|
||||
<childModelRefInfo type="ModelRefInfoRepo.ChildModelRefInfo" uuid="7a28a420-e4e1-41ac-9ac5-1491fe1298aa">
|
||||
<modelName>Model</modelName>
|
||||
<modelPath>Model</modelPath>
|
||||
</childModelRefInfo>
|
||||
<dataTransferInfos>AAFJTQAAAAAOAAAAOAAAAAYAAAAIAAAAAgAAAAAAAAAFAAAACAAAAAAAAAABAAAAAQAAAAAAAAAFAAQAAQAAAAEAAAAAAAAA</dataTransferInfos>
|
||||
<globalVariables>AHD</globalVariables>
|
||||
<globalVariables>A_Aussen</globalVariables>
|
||||
<globalVariables>Ai</globalVariables>
|
||||
<globalVariables>CES</globalVariables>
|
||||
<globalVariables>CHD</globalVariables>
|
||||
<globalVariables>CSW</globalVariables>
|
||||
<globalVariables>Cl</globalVariables>
|
||||
<globalVariables>T_amb</globalVariables>
|
||||
<globalVariables>alphaHD</globalVariables>
|
||||
<globalVariables>alphaSW</globalVariables>
|
||||
<globalVariables>alpha_aussen</globalVariables>
|
||||
<globalVariables>mES</globalVariables>
|
||||
<globalVariables>mHD</globalVariables>
|
||||
<globalVariables>mSW</globalVariables>
|
||||
<globalVariables>ml</globalVariables>
|
||||
<hasBwsAccessed>true</hasBwsAccessed>
|
||||
<hasBwsAccessedByAnyModel>true</hasBwsAccessedByAnyModel>
|
||||
<hasContinuousSampleTime>true</hasContinuousSampleTime>
|
||||
<inports type="ModelRefInfoRepo.InportInformation" uuid="9610b7aa-3883-47c0-99f0-d7492a5c23dc">
|
||||
<designMax>Inf</designMax>
|
||||
<designMin>-Inf</designMin>
|
||||
<indexType>2</indexType>
|
||||
<rateInfos type="ModelRefInfoRepo.RateInfo">
|
||||
<compiled>true</compiled>
|
||||
<period>0.0</period>
|
||||
<priority>40</priority>
|
||||
<rateIdx>0</rateIdx>
|
||||
</rateInfos>
|
||||
<resolvedSignalObject></resolvedSignalObject>
|
||||
<executionInterface type="ModelRefInfoRepo.InputExecutionInterface" uuid="d94ccbd2-f715-4fce-9d22-a317b679d47b"/>
|
||||
<sigNameToEMVCEMap type="ModelRefInfoRepo.SigNameEMVCEInfo" uuid="8600bc3b-0eab-406e-b533-e1f292ef49e3"/>
|
||||
</inports>
|
||||
<isBdInSimModeForSimCodegenVariants>false</isBdInSimModeForSimCodegenVariants>
|
||||
<isOrigInportVirtualBus>false</isOrigInportVirtualBus>
|
||||
<isOrigOutportVirtualBus>false</isOrigOutportVirtualBus>
|
||||
<loggingSaveFormat>2</loggingSaveFormat>
|
||||
<massMatrixNzMax>3</massMatrixNzMax>
|
||||
<maxFreqHz>-1.0</maxFreqHz>
|
||||
<numCStateRecs>3</numCStateRecs>
|
||||
<numContinuousStates>3</numContinuousStates>
|
||||
<numDataInputPorts>1</numDataInputPorts>
|
||||
<numLoggableCStateRecs>3</numLoggableCStateRecs>
|
||||
<numLoggableJacobianDStates>0</numLoggableJacobianDStates>
|
||||
<origInportBusType></origInportBusType>
|
||||
<origOutportBusOutputAsStruct>false</origOutportBusOutputAsStruct>
|
||||
<origOutportBusType></origOutportBusType>
|
||||
<outports type="ModelRefInfoRepo.OutportInformation" uuid="77990548-3279-4b80-bf28-f3b876e5667f">
|
||||
<designMax>Inf</designMax>
|
||||
<designMin>-Inf</designMin>
|
||||
<rateInfos type="ModelRefInfoRepo.RateInfo">
|
||||
<compiled>true</compiled>
|
||||
<period>0.0</period>
|
||||
<priority>40</priority>
|
||||
<rateIdx>0</rateIdx>
|
||||
</rateInfos>
|
||||
<resolvedSignalObject></resolvedSignalObject>
|
||||
<executionInterface type="ModelRefInfoRepo.OutputExecutionInterface" uuid="dd67143d-b9c8-4365-9b9a-e731c84cb805"/>
|
||||
<sigNameToEMVCEMap type="ModelRefInfoRepo.SigNameEMVCEInfo" uuid="c6f5bc71-7a3f-4cf9-9b5c-a01c20e4bed1"/>
|
||||
</outports>
|
||||
<runtimeNonFcnCallRateInfos type="ModelRefInfoRepo.RateInfo">
|
||||
<compiled>true</compiled>
|
||||
<period>0.0</period>
|
||||
<priority>40</priority>
|
||||
<rateIdx>0</rateIdx>
|
||||
</runtimeNonFcnCallRateInfos>
|
||||
<runtimeNonFcnCallRateInfos type="ModelRefInfoRepo.RateInfo">
|
||||
<compiled>true</compiled>
|
||||
<isEmpty>true</isEmpty>
|
||||
<nonFcnCallPartitionName>Cont</nonFcnCallPartitionName>
|
||||
<period>.05</period>
|
||||
<priority>40</priority>
|
||||
<rateIdx>1</rateIdx>
|
||||
</runtimeNonFcnCallRateInfos>
|
||||
<sampleTimeInheritanceRule>2</sampleTimeInheritanceRule>
|
||||
<solverStatusFlags>327</solverStatusFlags>
|
||||
<timingAndTaskingRegistry><?xml version="1.0"?>
|
||||
<slexec_sto version="1.1" packageUris="http://schema.mathworks.com/mf0/slexec_mm_sto/R2022a_202107291127">
|
||||
<sto.Registry type="sto.Registry" uuid="bb50d8a1-42f1-4048-8a3a-35f2fd3f30fd">
|
||||
<clocks type="sto.Timer" uuid="f5bed6c5-0a8f-4e1f-8e77-319416212ee8">
|
||||
<computedFundamentalDiscretePeriod>.05</computedFundamentalDiscretePeriod>
|
||||
<resolution>.05</resolution>
|
||||
<clockTickConstraint>PeriodicWithFixedResolution</clockTickConstraint>
|
||||
<rates type="sto.ContinuousRate" uuid="5c1afef0-06f1-4b2e-8657-34fdddc5bbfd">
|
||||
<annotation>Cont</annotation>
|
||||
<description>Continuous</description>
|
||||
<taskId>_task0</taskId>
|
||||
<rateSpec type="sto.RateSpec" uuid="6e6d6848-bde8-444d-9025-4ca60f2637b2"/>
|
||||
</rates>
|
||||
<rates type="sto.ClassicPeriodicDiscreteRate" uuid="6e67d6ff-8d57-46ff-8399-faa23430698f">
|
||||
<annotation>D1</annotation>
|
||||
<colorIndex>2</colorIndex>
|
||||
<description>Discrete 1</description>
|
||||
<rateIdx>1</rateIdx>
|
||||
<taskId>_task0</taskId>
|
||||
<rateSpec type="sto.RateSpec" uuid="dd6e73b8-19a4-4fcb-b01d-50659a0627df">
|
||||
<period>.05</period>
|
||||
<rateType>ClassicPeriodicDiscrete</rateType>
|
||||
</rateSpec>
|
||||
</rates>
|
||||
<timeAdvanceMode>FixedStep</timeAdvanceMode>
|
||||
<baseRate type="sto.ContinuousRate" uuid="3434c387-7d4f-4d79-a40a-fa4605633209">
|
||||
<annotation>Cont</annotation>
|
||||
<description>Continuous</description>
|
||||
<taskId>_task0</taskId>
|
||||
<rateSpec type="sto.RateSpec" uuid="dcb91da4-408d-4026-9c1f-23c122d8a84c"/>
|
||||
</baseRate>
|
||||
</clocks>
|
||||
<clocks type="sto.Event" uuid="5f34f5e6-05b6-4121-b292-403595d8c8f2">
|
||||
<eventType>PARAMETER_CHANGE_EVENT</eventType>
|
||||
<cNum>1</cNum>
|
||||
<clockType>Event</clockType>
|
||||
<identifier>ParameterChangeEvent</identifier>
|
||||
<rates type="sto.ModelWideEventRate" uuid="b7ece639-184b-44d7-a56a-1d9c82e20740">
|
||||
<clockId>ParameterChangeEvent</clockId>
|
||||
<rateIdx>-1</rateIdx>
|
||||
<taskId>ModelWideParameterChangeEvent</taskId>
|
||||
<useForExecution>NotForExecution</useForExecution>
|
||||
<rateSpec type="sto.RateSpec" uuid="9af2c701-dc83-4f74-8585-d32564d9bf43">
|
||||
<period>Inf</period>
|
||||
<rateType>ModelWideParameterChangeEvent</rateType>
|
||||
</rateSpec>
|
||||
</rates>
|
||||
<taskingMode>ExplicitTasking</taskingMode>
|
||||
<timeAdvanceMode>None</timeAdvanceMode>
|
||||
</clocks>
|
||||
<executionSpec>Undetermined</executionSpec>
|
||||
<taskPriorityDirection>HighNumberLast</taskPriorityDirection>
|
||||
<timeAdvanceMode>FixedStep</timeAdvanceMode>
|
||||
<taskRegistry type="sto.TaskRegistry" uuid="b1c3e180-f46a-4eca-8fad-1cbe120beb7e">
|
||||
<rootTaskHierarchyElements type="sto.Task" uuid="95dd5883-45cf-4bb0-8c9c-a47289ba229a">
|
||||
<isExplicit>true</isExplicit>
|
||||
<rates type="sto.ModelWideEventRate" uuid="3bfb8c8e-711b-462d-b7ca-bb130a422cd5">
|
||||
<clockId>ParameterChangeEvent</clockId>
|
||||
<rateIdx>-1</rateIdx>
|
||||
<taskId>ModelWideParameterChangeEvent</taskId>
|
||||
<useForExecution>NotForExecution</useForExecution>
|
||||
<rateSpec type="sto.RateSpec" uuid="94332274-d943-498f-a62c-669258e94020">
|
||||
<period>Inf</period>
|
||||
<rateType>ModelWideParameterChangeEvent</rateType>
|
||||
</rateSpec>
|
||||
</rates>
|
||||
<elementType>Task</elementType>
|
||||
<identifier>ModelWideParameterChangeEvent</identifier>
|
||||
<priority>-1</priority>
|
||||
<schedulingClockId>ParameterChangeEvent</schedulingClockId>
|
||||
</rootTaskHierarchyElements>
|
||||
<rootTaskHierarchyElements type="sto.Task" uuid="ec537706-4286-4fc1-8dc3-144701f6eedc">
|
||||
<isExecutable>true</isExecutable>
|
||||
<orderIndex>1</orderIndex>
|
||||
<rates type="sto.ContinuousRate" uuid="5d949003-959e-40c0-b549-03a769334b03">
|
||||
<annotation>Cont</annotation>
|
||||
<description>Continuous</description>
|
||||
<taskId>_task0</taskId>
|
||||
<rateSpec type="sto.RateSpec" uuid="6120e363-1c84-4b69-a3c7-fa4e6e7c8a43"/>
|
||||
</rates>
|
||||
<rates type="sto.ClassicPeriodicDiscreteRate" uuid="dbaaa966-0a0c-4251-b1ce-2c4a948055f7">
|
||||
<annotation>D1</annotation>
|
||||
<colorIndex>2</colorIndex>
|
||||
<description>Discrete 1</description>
|
||||
<rateIdx>1</rateIdx>
|
||||
<taskId>_task0</taskId>
|
||||
<rateSpec type="sto.RateSpec" uuid="22331311-3e9d-4fb8-9e2d-6c8c46fed61c">
|
||||
<period>.05</period>
|
||||
<rateType>ClassicPeriodicDiscrete</rateType>
|
||||
</rateSpec>
|
||||
</rates>
|
||||
<elementType>Task</elementType>
|
||||
<identifier>_task0</identifier>
|
||||
<priority>40</priority>
|
||||
</rootTaskHierarchyElements>
|
||||
<taskDependencyGraph type="sto.SerializedTaskConnectionList" uuid="2bd29f97-ba78-45a8-94ac-ff435ae73c67">
|
||||
<taskIdentifier>_task0</taskIdentifier>
|
||||
</taskDependencyGraph>
|
||||
<taskDependencyGraph type="sto.SerializedTaskConnectionList" uuid="ce15d9f2-1775-47a8-acec-a91bd12af7b1">
|
||||
<clockIdentifier>ParameterChangeEvent</clockIdentifier>
|
||||
<taskIdentifier>ModelWideParameterChangeEvent</taskIdentifier>
|
||||
</taskDependencyGraph>
|
||||
</taskRegistry>
|
||||
</sto.Registry>
|
||||
</slexec_sto></timingAndTaskingRegistry>
|
||||
<zeroInternalMemoryAtStartupUnchecked>true</zeroInternalMemoryAtStartupUnchecked>
|
||||
<FMUBlockMap type="ModelRefInfoRepo.FMUBlockInfo" uuid="937685d7-feda-43fd-864b-cab65b3f2f82"/>
|
||||
<codeGenInfo type="ModelRefInfoRepo.CodeGenInformation" uuid="f8a55f3d-0963-479d-8b7e-8d9f1e96456e"/>
|
||||
<compiledVariantInfos type="ModelRefInfoRepo.CompiledVariantInfoMap" uuid="196f8dfa-2142-42b7-9006-8aa2ac2f56ca"/>
|
||||
<configSettingsForConsistencyChecks type="ModelRefInfoRepo.ConfigSettingsForConsistencyChecks" uuid="ed9cf819-6cbe-429a-957b-544292522799">
|
||||
<consistentOutportInitialization>true</consistentOutportInitialization>
|
||||
<fixedStepSize>.05</fixedStepSize>
|
||||
<frameDiagnosticSetting>2</frameDiagnosticSetting>
|
||||
<hasHybridSampleTime>true</hasHybridSampleTime>
|
||||
<signalLoggingSaveFormat>2</signalLoggingSaveFormat>
|
||||
<simSIMDOptimization>1</simSIMDOptimization>
|
||||
<solverName>ode3</solverName>
|
||||
<solverType>SOLVER_TYPE_FIXEDSTEP</solverType>
|
||||
<hardwareSettings type="ModelRefInfoRepo.HardwareSettings" uuid="750ca51f-2459-4361-bcaf-cf9717e84503">
|
||||
<prodBitPerChar>8</prodBitPerChar>
|
||||
<prodBitPerDouble>64</prodBitPerDouble>
|
||||
<prodBitPerFloat>32</prodBitPerFloat>
|
||||
<prodBitPerInt>32</prodBitPerInt>
|
||||
<prodBitPerLong>32</prodBitPerLong>
|
||||
<prodBitPerLongLong>64</prodBitPerLongLong>
|
||||
<prodBitPerPointer>64</prodBitPerPointer>
|
||||
<prodBitPerPtrDiffT>64</prodBitPerPtrDiffT>
|
||||
<prodBitPerShort>16</prodBitPerShort>
|
||||
<prodBitPerSizeT>64</prodBitPerSizeT>
|
||||
<prodEndianess>1</prodEndianess>
|
||||
<prodShiftRight>true</prodShiftRight>
|
||||
<prodWordSize>64</prodWordSize>
|
||||
</hardwareSettings>
|
||||
</configSettingsForConsistencyChecks>
|
||||
<controllableInputRatesMap type="ModelRefInfoRepo.VarTsUIDMap" uuid="1aa810bd-1862-4c3c-ab94-147b2a2d0d69"/>
|
||||
<controllableOutputRatesMap type="ModelRefInfoRepo.VarTsUIDMap" uuid="626f6754-7b72-48b1-a6e3-023acaa676e2"/>
|
||||
<dataPortGroup type="ModelRefInfoRepo.DataPortGroup" uuid="f9c9f395-da67-48ca-b2f7-c9c22a926098">
|
||||
<compDataInputPorts>0</compDataInputPorts>
|
||||
<compDataOutputPorts>0</compDataOutputPorts>
|
||||
<dataInputPorts>0</dataInputPorts>
|
||||
<dataOutputPorts>0</dataOutputPorts>
|
||||
</dataPortGroup>
|
||||
<expFcnUnconnectedDataPortGroup type="ModelRefInfoRepo.DataPortGroup" uuid="b1d2f99a-37aa-465b-9336-36399fdfa2c3"/>
|
||||
<interfaceParameterInfo type="ModelRefInfoRepo.InterfaceParameterInfo" uuid="06a6dbcd-2ca2-4410-af48-8580dee72b9b">
|
||||
<globalVariables type="ModelRefInfoRepo.BuiltinParameter" uuid="e733a764-8f74-4d78-bb31-eb4d76727905">
|
||||
<dimensions>1</dimensions>
|
||||
<dimensions>1</dimensions>
|
||||
<isUsed>true</isUsed>
|
||||
<numDimensions>2</numDimensions>
|
||||
<parameterName>AHD</parameterName>
|
||||
</globalVariables>
|
||||
<globalVariables type="ModelRefInfoRepo.BuiltinParameter" uuid="cfbdc02f-1e78-4fb4-a176-f272276d3e0c">
|
||||
<dimensions>1</dimensions>
|
||||
<dimensions>1</dimensions>
|
||||
<isUsed>true</isUsed>
|
||||
<numDimensions>2</numDimensions>
|
||||
<parameterName>A_Aussen</parameterName>
|
||||
</globalVariables>
|
||||
<globalVariables type="ModelRefInfoRepo.BuiltinParameter" uuid="24b808c4-0727-4b18-ad3c-b29960f79a6c">
|
||||
<dimensions>1</dimensions>
|
||||
<dimensions>1</dimensions>
|
||||
<isUsed>true</isUsed>
|
||||
<numDimensions>2</numDimensions>
|
||||
<parameterName>Ai</parameterName>
|
||||
</globalVariables>
|
||||
<globalVariables type="ModelRefInfoRepo.BuiltinParameter" uuid="05f47fbe-7ce8-4bc2-9f6f-f37d6bc67593">
|
||||
<dimensions>1</dimensions>
|
||||
<dimensions>1</dimensions>
|
||||
<isUsed>true</isUsed>
|
||||
<numDimensions>2</numDimensions>
|
||||
<parameterName>CES</parameterName>
|
||||
</globalVariables>
|
||||
<globalVariables type="ModelRefInfoRepo.BuiltinParameter" uuid="f6986762-6e8d-4cdd-b2d6-508778c737a6">
|
||||
<dimensions>1</dimensions>
|
||||
<dimensions>1</dimensions>
|
||||
<isUsed>true</isUsed>
|
||||
<numDimensions>2</numDimensions>
|
||||
<parameterName>CHD</parameterName>
|
||||
</globalVariables>
|
||||
<globalVariables type="ModelRefInfoRepo.BuiltinParameter" uuid="0e4a0f32-46aa-471a-9554-c60eb5c7902b">
|
||||
<dimensions>1</dimensions>
|
||||
<dimensions>1</dimensions>
|
||||
<isUsed>true</isUsed>
|
||||
<numDimensions>2</numDimensions>
|
||||
<parameterName>CSW</parameterName>
|
||||
</globalVariables>
|
||||
<globalVariables type="ModelRefInfoRepo.BuiltinParameter" uuid="8f777ec0-0eab-460e-bd50-160ecca20a34">
|
||||
<dimensions>1</dimensions>
|
||||
<dimensions>1</dimensions>
|
||||
<isUsed>true</isUsed>
|
||||
<numDimensions>2</numDimensions>
|
||||
<parameterName>Cl</parameterName>
|
||||
</globalVariables>
|
||||
<globalVariables type="ModelRefInfoRepo.BuiltinParameter" uuid="4b810750-38bb-4ea6-9998-8902720e8127">
|
||||
<dimensions>1</dimensions>
|
||||
<dimensions>1</dimensions>
|
||||
<isUsed>true</isUsed>
|
||||
<numDimensions>2</numDimensions>
|
||||
<parameterName>T_amb</parameterName>
|
||||
</globalVariables>
|
||||
<globalVariables type="ModelRefInfoRepo.BuiltinParameter" uuid="7f053e15-181c-4b2c-8128-e7f9266d86b4">
|
||||
<dimensions>1</dimensions>
|
||||
<dimensions>1</dimensions>
|
||||
<isUsed>true</isUsed>
|
||||
<numDimensions>2</numDimensions>
|
||||
<parameterName>alphaHD</parameterName>
|
||||
</globalVariables>
|
||||
<globalVariables type="ModelRefInfoRepo.BuiltinParameter" uuid="cf2f4d24-fd2d-4093-a0e3-64023f5e4f7d">
|
||||
<dimensions>1</dimensions>
|
||||
<dimensions>1</dimensions>
|
||||
<isUsed>true</isUsed>
|
||||
<numDimensions>2</numDimensions>
|
||||
<parameterName>alphaSW</parameterName>
|
||||
</globalVariables>
|
||||
<globalVariables type="ModelRefInfoRepo.BuiltinParameter" uuid="1c5f6a88-1284-4c30-a91c-06b84f66beae">
|
||||
<dimensions>1</dimensions>
|
||||
<dimensions>1</dimensions>
|
||||
<isUsed>true</isUsed>
|
||||
<numDimensions>2</numDimensions>
|
||||
<parameterName>alpha_aussen</parameterName>
|
||||
</globalVariables>
|
||||
<globalVariables type="ModelRefInfoRepo.BuiltinParameter" uuid="5c505056-100a-4d0e-a626-9b6592044d4e">
|
||||
<dimensions>1</dimensions>
|
||||
<dimensions>1</dimensions>
|
||||
<isUsed>true</isUsed>
|
||||
<numDimensions>2</numDimensions>
|
||||
<parameterName>mES</parameterName>
|
||||
</globalVariables>
|
||||
<globalVariables type="ModelRefInfoRepo.BuiltinParameter" uuid="225bd6a7-c42e-41c5-aa0d-a101b84b7eba">
|
||||
<dimensions>1</dimensions>
|
||||
<dimensions>1</dimensions>
|
||||
<isUsed>true</isUsed>
|
||||
<numDimensions>2</numDimensions>
|
||||
<parameterName>mHD</parameterName>
|
||||
</globalVariables>
|
||||
<globalVariables type="ModelRefInfoRepo.BuiltinParameter" uuid="91e237c5-c71e-45c5-9cca-a197500d4253">
|
||||
<dimensions>1</dimensions>
|
||||
<dimensions>1</dimensions>
|
||||
<isUsed>true</isUsed>
|
||||
<numDimensions>2</numDimensions>
|
||||
<parameterName>mSW</parameterName>
|
||||
</globalVariables>
|
||||
<globalVariables type="ModelRefInfoRepo.BuiltinParameter" uuid="4d3af21f-e2d5-41b6-ace3-4eae4d8e2370">
|
||||
<dimensions>1</dimensions>
|
||||
<dimensions>1</dimensions>
|
||||
<isUsed>true</isUsed>
|
||||
<numDimensions>2</numDimensions>
|
||||
<parameterName>ml</parameterName>
|
||||
</globalVariables>
|
||||
</interfaceParameterInfo>
|
||||
<messageInfo type="ModelRefInfoRepo.MessageInformation" uuid="2abcd7d6-d927-4c3d-bb0f-afaae7cd4383"/>
|
||||
<methodInfo type="ModelRefInfoRepo.MethodExistenceInfo" uuid="ad5da10c-5e75-4790-8a4a-76fd4b1eab0e">
|
||||
<hasDerivMethod>true</hasDerivMethod>
|
||||
<hasForcingFunctionMethod>true</hasForcingFunctionMethod>
|
||||
<hasSystemInitializeMethod>true</hasSystemInitializeMethod>
|
||||
<hasSystemResetMethod>true</hasSystemResetMethod>
|
||||
<hasTerminateMethod>true</hasTerminateMethod>
|
||||
<hasUpdateMethod>true</hasUpdateMethod>
|
||||
</methodInfo>
|
||||
<periodicEventPortUnsupportedBlockInfo type="ModelRefInfoRepo.PeriodicEventPortUnsupportedBlockInfo" uuid="b847310c-3295-4ae0-a105-628a891c04a6"/>
|
||||
<portGroupsRequireSameRate type="ModelRefInfoRepo.PortGroupsRequireSameRate" uuid="0e9397aa-4409-438e-a67d-e38a243e3c28">
|
||||
<DSMPortGroups type="ModelRefInfoRepo.NameToPortGroupIdxVectMap" uuid="a5da630d-0401-4482-a7a0-8ab58acc4769"/>
|
||||
<GlobalDSMPortGroups type="ModelRefInfoRepo.NameToPortGroupIdxVectMap" uuid="ff546ced-ce35-4ace-ac9d-73d57ef05a1a"/>
|
||||
<mergedPortGroups type="ModelRefInfoRepo.NameToPortGroupIdxVectMap" uuid="91f942e8-0dfd-49b0-854d-3d026726babd"/>
|
||||
</portGroupsRequireSameRate>
|
||||
<rateBasedMdlGlobalDSMRateSpec type="ModelRefInfoRepo.GlobalDSMRateSpecMap" uuid="c5ae3403-3ec9-4bc8-9a39-5bcf7beec79f"/>
|
||||
<rateSpecOfGlobalDSMAccessedByDescExpFcnMdlMap type="ModelRefInfoRepo.GlobalDSMRateSpecMap" uuid="c9dfff1e-1998-4a29-a6cb-6ce4801cd5ee"/>
|
||||
<rootBlockDiagramInterface type="ci.Model" uuid="b350726c-d0c8-417d-a1df-5a641a0a5585">
|
||||
<p_RootComponentInterface type="ci.ComponentInterface" uuid="fcb80081-c3cc-4410-99cf-556853c0b253">
|
||||
<p_InputPorts type="ci.SignalInterface" uuid="41702897-5035-4d56-93c1-38079b04bf13">
|
||||
<p_ComputedNumericDimensions>1.0</p_ComputedNumericDimensions>
|
||||
<p_ComputedSampleTime>0.0</p_ComputedSampleTime>
|
||||
<p_ComputedSampleTime>0.0</p_ComputedSampleTime>
|
||||
</p_InputPorts>
|
||||
<p_Name>Model</p_Name>
|
||||
<p_OutputPorts type="ci.SignalInterface" uuid="8340ff4b-17e3-4a58-ac3c-84884e920dc8">
|
||||
<p_ComputedNumericDimensions>1.0</p_ComputedNumericDimensions>
|
||||
<p_ComputedSampleTime>0.0</p_ComputedSampleTime>
|
||||
<p_ComputedSampleTime>0.0</p_ComputedSampleTime>
|
||||
</p_OutputPorts>
|
||||
<p_Type>ROOT</p_Type>
|
||||
</p_RootComponentInterface>
|
||||
</rootBlockDiagramInterface>
|
||||
<simulinkFunctions type="ModelRefInfoRepo.SimulinkFunctions" uuid="d73d69b3-0b2c-4e47-8320-d9fa374f3e28">
|
||||
<compSimulinkFunctionCatalog></compSimulinkFunctionCatalog>
|
||||
</simulinkFunctions>
|
||||
<stateWriterToOwnerMap type="ModelRefInfoRepo.StateWriterInfo" uuid="a4ad432d-8842-45b2-a928-4d6fcdc75c87"/>
|
||||
<stoClientDataRegistry type="sto.ClientDataRegistry" uuid="3db2b3c3-0c78-43f0-b2d0-4a901521e148">
|
||||
<dataSets type="sto.ClientClockNamedDataSet" uuid="47d4a727-edea-4e76-9b32-495dc48c71f3">
|
||||
<tag>sltpEvents</tag>
|
||||
</dataSets>
|
||||
<dataSets type="sto.ClientTaskHierarchyElementNamedDataSet" uuid="6c8c1561-136c-4d20-9797-1593e7703ed8">
|
||||
<tag>sltpTaskGroups</tag>
|
||||
</dataSets>
|
||||
<dataSets type="sto.ClientTaskHierarchyElementNamedDataSet" uuid="92c27553-095b-4687-9fd9-4ecb15fdec64">
|
||||
<dSet type="ModelRefInfoRepo.SltpTaskData" uuid="fd134e8e-6d03-40b3-a888-7f4276aedb7c"/>
|
||||
<tSet type="ModelRefInfoRepo.SltpTaskData" uuid="fd134e8e-6d03-40b3-a888-7f4276aedb7c">
|
||||
<dataName>Cont</dataName>
|
||||
<linkedSet type="sto.ClientTaskHierarchyElementNamedDataSet" uuid="92c27553-095b-4687-9fd9-4ecb15fdec64"/>
|
||||
<id type="sto.TaskHierarchyElementId">
|
||||
<id>_task0</id>
|
||||
</id>
|
||||
</tSet>
|
||||
<tag>sltpTasks</tag>
|
||||
</dataSets>
|
||||
</stoClientDataRegistry>
|
||||
<varTsUIDMap type="ModelRefInfoRepo.VarTsUIDMap" uuid="cd8b8956-dac4-405d-a396-6bf3af87fbb7"/>
|
||||
</ModelRefInfoRepo.ModelRefInfoRoot>
|
||||
</MF0>
|
||||
BIN
ks/Models/FP56/slprj/grt/Model/tmwinternal/binfo.mat
Executable file
BIN
ks/Models/FP56/slprj/grt/Model/tmwinternal/binfo.mat
Executable file
Binary file not shown.
BIN
ks/Models/FP56/slprj/grt/Model/tmwinternal/minfo.mat
Executable file
BIN
ks/Models/FP56/slprj/grt/Model/tmwinternal/minfo.mat
Executable file
Binary file not shown.
BIN
ks/Models/FP56/slprj/grt/_sharedutils/shared_file.dmr
Executable file
BIN
ks/Models/FP56/slprj/grt/_sharedutils/shared_file.dmr
Executable file
Binary file not shown.
Binary file not shown.
BIN
ks/Models/FP56/slprj/sim/varcache/Model/checksumOfCache.mat
Executable file
BIN
ks/Models/FP56/slprj/sim/varcache/Model/checksumOfCache.mat
Executable file
Binary file not shown.
BIN
ks/Models/FP56/slprj/sim/varcache/Model/varInfo.mat
Executable file
BIN
ks/Models/FP56/slprj/sim/varcache/Model/varInfo.mat
Executable file
Binary file not shown.
BIN
ks/Models/FP56/slprj/sim/varcache/Modell/checksumOfCache.mat
Executable file
BIN
ks/Models/FP56/slprj/sim/varcache/Modell/checksumOfCache.mat
Executable file
Binary file not shown.
6
ks/Models/FP56/slprj/sim/varcache/Modell/tmwinternal/simulink_cache.xml
Executable file
6
ks/Models/FP56/slprj/sim/varcache/Modell/tmwinternal/simulink_cache.xml
Executable file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<MF0 version="1.1" packageUris="http://schema.mathworks.com/mf0/SlCache/19700101">
|
||||
<slcache.FileAttributes type="slcache.FileAttributes" uuid="7c781643-6a25-4b42-aef3-b3748dd146bc">
|
||||
<checksum>sLonxaz63rcjE+Tfc73PVxZSx3RtBUteMVCh7EdgFqnx/LrVH5YIdBfAMR5tWaUJO0VfY6qRmpBEwBrM1loXHQ==</checksum>
|
||||
</slcache.FileAttributes>
|
||||
</MF0>
|
||||
BIN
ks/Models/FP56/slprj/sim/varcache/Modell/varInfo.mat
Executable file
BIN
ks/Models/FP56/slprj/sim/varcache/Modell/varInfo.mat
Executable file
Binary file not shown.
2
ks/Models/FP56/slprj/sl_proj.tmw
Executable file
2
ks/Models/FP56/slprj/sl_proj.tmw
Executable file
@@ -0,0 +1,2 @@
|
||||
Simulink Coder project marker file. Please don't change it.
|
||||
slprjVersion: 10.5_091
|
||||
15
ks/main.cpp
Normal file
15
ks/main.cpp
Normal file
@@ -0,0 +1,15 @@
|
||||
/*
|
||||
File: main.cpp
|
||||
Description: This is a C++ source file containing implementation code for the 'ks' library component.
|
||||
Rev: 0.1
|
||||
Created: [29.03.26]
|
||||
Author: Uwe Jakobeit
|
||||
Copyright: Binder GmbH TUT
|
||||
Purpose: Just a dummy to start the project structure
|
||||
Notes: [Any relevant details, such as dependencies, usage examples, or known issues.]
|
||||
*/
|
||||
|
||||
|
||||
// Entry point for the lib
|
||||
int main(void)
|
||||
{}
|
||||
7
tests/CMakeLists.txt
Normal file
7
tests/CMakeLists.txt
Normal file
@@ -0,0 +1,7 @@
|
||||
find_package(GTest REQUIRED)
|
||||
|
||||
add_executable(tests filter-test.cpp)
|
||||
target_link_libraries(tests GTest::gtest_main app_lib)
|
||||
|
||||
include(GoogleTest)
|
||||
gtest_discover_tests(tests)
|
||||
26
tests/filter-test.cpp
Normal file
26
tests/filter-test.cpp
Normal file
@@ -0,0 +1,26 @@
|
||||
#ifndef FILTER_TEST_CPP
|
||||
#define FILTER_TEST_CPP
|
||||
#include <gtest/gtest.h>
|
||||
#include "filter.h"
|
||||
|
||||
TEST(PT1FilterTest, InitialOutputIsZero) {
|
||||
PT1Filter filter(0.1, 0.01);
|
||||
EXPECT_DOUBLE_EQ(filter.update(0.0), 0.0);
|
||||
}
|
||||
|
||||
TEST(PT1FilterTest, StepResponse) {
|
||||
PT1Filter filter(0.1, 0.01);
|
||||
double output = 0.0;
|
||||
for (int i = 0; i < 100; ++i) {
|
||||
output = filter.update(1.0);
|
||||
}
|
||||
EXPECT_NEAR(output, 1.0, 0.01);
|
||||
}
|
||||
|
||||
TEST(PT1FilterTest, FilterFactorEffect) {
|
||||
PT1Filter fastFilter(0.01, 0.01);
|
||||
PT1Filter slowFilter(0.5, 0.01);
|
||||
EXPECT_GT(fastFilter.update(1.0), slowFilter.update(1.0));
|
||||
}
|
||||
|
||||
#endif // FILTER_TEST_CPP
|
||||
Reference in New Issue
Block a user