流量计算修改完成,计算精确和标准一致
This commit is contained in:
parent
aab91996ec
commit
a2e4b6656b
191
Project/RVMDK/.rtt-studio/.cproject
Normal file
191
Project/RVMDK/.rtt-studio/.cproject
Normal file
@ -0,0 +1,191 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?fileVersion 4.0.0?>
|
||||
<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
|
||||
<storageModule moduleId="org.eclipse.cdt.core.settings">
|
||||
<cconfiguration id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.553091094">
|
||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.553091094" moduleId="org.eclipse.cdt.core.settings" name="Debug">
|
||||
<externalSettings></externalSettings>
|
||||
<extensions>
|
||||
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"></extension>
|
||||
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"></extension>
|
||||
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"></extension>
|
||||
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"></extension>
|
||||
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"></extension>
|
||||
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"></extension>
|
||||
</extensions>
|
||||
</storageModule>
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<configuration artifactName="rtthread" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" cleanCommand="${cross_rm} -rf" description="" id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.553091094" name="Debug" parent="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug">
|
||||
<folderInfo id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.553091094." name="/" resourcePath="">
|
||||
<toolChain id="ilg.gnuarmeclipse.managedbuild.cross.toolchain.elf.debug.1201710416" name="ARM Cross GCC" superClass="ilg.gnuarmeclipse.managedbuild.cross.toolchain.elf.debug">
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.createflash.251260409" name="Create flash image" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.createflash" useByScannerDiscovery="false" value="true" valueType="boolean"></option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.createlisting.1365878149" name="Create extended listing" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.createlisting" useByScannerDiscovery="false"></option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.printsize.709136944" name="Print size" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.addtools.printsize" useByScannerDiscovery="false" value="true" valueType="boolean"></option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level.1986446770" name="Optimization Level" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level" useByScannerDiscovery="true" value="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level.none" valueType="enumerated"></option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.messagelength.1312975261" name="Message length (-fmessage-length=0)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.messagelength" useByScannerDiscovery="true" value="false" valueType="boolean"></option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.signedchar.1538128212" name="'char' is signed (-fsigned-char)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.signedchar" useByScannerDiscovery="true" value="false" valueType="boolean"></option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.functionsections.2136804218" name="Function sections (-ffunction-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.functionsections" useByScannerDiscovery="true" value="true" valueType="boolean"></option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.datasections.244767666" name="Data sections (-fdata-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.datasections" useByScannerDiscovery="true" value="true" valueType="boolean"></option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.level.1055848773" name="Debug level" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.level" useByScannerDiscovery="true" value="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.level.default" valueType="enumerated"></option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.format.501941135" name="Debug format" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.format" useByScannerDiscovery="true" value="ilg.gnuarmeclipse.managedbuild.cross.option.debugging.format.dwarf2" valueType="enumerated"></option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.toolchain.name.1696308067" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.toolchain.name" useByScannerDiscovery="false" value="GNU Tools for ARM Embedded Processors" valueType="string"></option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.architecture.1558403188" name="Architecture" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.architecture" useByScannerDiscovery="false" value="ilg.gnuarmeclipse.managedbuild.cross.option.architecture.arm" valueType="enumerated"></option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.family.749415257" name="ARM family" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.family" useByScannerDiscovery="false" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.mcpu.cortex-m4" valueType="enumerated"></option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.instructionset.2114153533" name="Instruction set" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.instructionset" useByScannerDiscovery="false" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.instructionset.thumb" valueType="enumerated"></option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.prefix.1600865811" name="Prefix" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.prefix" useByScannerDiscovery="false" value="arm-none-eabi-" valueType="string"></option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.c.1109963929" name="C compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.c" useByScannerDiscovery="false" value="gcc" valueType="string"></option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.cpp.1040883831" name="C++ compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.cpp" useByScannerDiscovery="false" value="g++" valueType="string"></option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.ar.1678200391" name="Archiver" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.ar" useByScannerDiscovery="false" value="ar" valueType="string"></option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.objcopy.1171840296" name="Hex/Bin converter" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.objcopy" useByScannerDiscovery="false" value="objcopy" valueType="string"></option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.objdump.342604837" name="Listing generator" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.objdump" useByScannerDiscovery="false" value="objdump" valueType="string"></option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.size.898269225" name="Size command" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.size" useByScannerDiscovery="false" value="size" valueType="string"></option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.make.2016398076" name="Build command" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.make" useByScannerDiscovery="false" value="make" valueType="string"></option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.command.rm.1606171496" name="Remove command" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.command.rm" useByScannerDiscovery="false" value="rm" valueType="string"></option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.toolchain.id.540792084" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.toolchain.id" useByScannerDiscovery="false" value="1287942917" valueType="string"></option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.architecture.430121817" name="Architecture" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.architecture" useByScannerDiscovery="false" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.arch.none" valueType="enumerated"></option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi.966735324" name="Float ABI" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi" useByScannerDiscovery="true" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.abi.hard" valueType="enumerated"></option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.allwarn.1381561249" name="Enable all common warnings (-Wall)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.allwarn" useByScannerDiscovery="true" value="true" valueType="boolean"></option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.target.other.2041717463" name="Other target flags" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.target.other" useByScannerDiscovery="true" value="" valueType="string"></option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit.1463655269" name="FPU Type" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit" useByScannerDiscovery="true" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.fpu.unit.fpv4spd16" valueType="enumerated"></option>
|
||||
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="ilg.gnuarmeclipse.managedbuild.cross.targetPlatform.1798638225" isAbstract="false" osList="all" superClass="ilg.gnuarmeclipse.managedbuild.cross.targetPlatform"></targetPlatform>
|
||||
<builder buildPath="${workspace_loc:/qemu-vexpress-a9}/Debug" cleanBuildTarget="mdk_clean" id="ilg.gnuarmeclipse.managedbuild.cross.builder.1736709688" incrementalBuildTarget="mdk_all" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="ilg.gnuarmeclipse.managedbuild.cross.builder"></builder>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.1810966071" name="GNU ARM Cross Assembler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler">
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor.1072524326" name="Use preprocessor" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor" useByScannerDiscovery="false" value="true" valueType="boolean"></option>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.include.paths.161242639" name="Include paths (-I)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.include.paths" useByScannerDiscovery="true" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value="E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Project/RVMDK"></listOptionValue>
|
||||
</option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.defs.1521934876" name="Defined symbols (-D)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.defs" useByScannerDiscovery="true">
|
||||
</option>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.flags.1325367962" name="Assembler flags" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.flags" useByScannerDiscovery="false" valueType="stringList">
|
||||
<listOptionValue builtIn="false" value="-mimplicit-it=thumb"></listOptionValue>
|
||||
</option>
|
||||
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.input.1843333483" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.input"></inputType>
|
||||
</tool>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.1570350559" name="GNU ARM Cross C Compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler">
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.include.paths.634882052" name="Include paths (-I)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.include.paths" useByScannerDiscovery="true" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value="E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/CMSIS/Include"></listOptionValue>
|
||||
<listOptionValue builtIn="false" value="E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/CMSIS/Device/ST/STM32H7xx/Include"></listOptionValue>
|
||||
<listOptionValue builtIn="false" value="E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Inc"></listOptionValue>
|
||||
<listOptionValue builtIn="false" value="E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/rtthread/3.0.3/components/finsh"></listOptionValue>
|
||||
<listOptionValue builtIn="false" value="E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/rtthread/3.0.3/include"></listOptionValue>
|
||||
<listOptionValue builtIn="false" value="E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/rtthread/3.0.3/include/libc"></listOptionValue>
|
||||
<listOptionValue builtIn="false" value="E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/User"></listOptionValue>
|
||||
<listOptionValue builtIn="false" value="E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/User/bsp"></listOptionValue>
|
||||
<listOptionValue builtIn="false" value="E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/User/NG"></listOptionValue>
|
||||
</option>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.defs.100549972" name="Defined symbols (-D)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.defs" useByScannerDiscovery="true" valueType="definedSymbols">
|
||||
<listOptionValue builtIn="false" value="USE_HAL_DRIVER"></listOptionValue>
|
||||
<listOptionValue builtIn="false" value="STM32H743xx"></listOptionValue>
|
||||
</option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.other.2133065240" name="Other compiler flags" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.other" useByScannerDiscovery="true" value="" valueType="string"></option>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="true" id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.include.files.714348818" name="Include files (-include)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.include.files" useByScannerDiscovery="true" valueType="includeFiles"></option>
|
||||
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input.992053063" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input"></inputType>
|
||||
</tool>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.linker.869072473" name="Cross ARM C Linker" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.linker">
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.gcsections.1167322178" name="Remove unused sections (-Xlinker --gc-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.gcsections" useByScannerDiscovery="false" value="true" valueType="boolean"></option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.nostart.351692886" name="Do not use standard start files (-nostartfiles)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.nostart" useByScannerDiscovery="false" value="false" valueType="boolean"></option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.nostdlibs.1009243715" name="No startup or default libs (-nostdlib)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.nostdlibs" useByScannerDiscovery="false" value="false" valueType="boolean"></option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.nodeflibs.2016026082" name="Do not use default libraries (-nodefaultlibs)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.nodeflibs" useByScannerDiscovery="false" value="false" valueType="boolean"></option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.usenewlibnano.923990336" name="Use newlib-nano (--specs=nano.specs)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.usenewlibnano" useByScannerDiscovery="false" value="false" valueType="boolean"></option>
|
||||
<option defaultValue="true" id="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.shared.548869459" name="Shared (-shared)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.shared" useByScannerDiscovery="false" valueType="boolean"></option>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.scriptfile.1818777301" name="Script files (-T)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.scriptfile" useByScannerDiscovery="false" valueType="stringList">
|
||||
<listOptionValue builtIn="false" value='"${workspace_loc://${ProjName}//linkscripts//STM32F411RE//link.lds}"'></listOptionValue>
|
||||
</option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.libs.1135656995" name="Libraries (-l)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.libs" useByScannerDiscovery="false"></option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.paths.36884122" name="Library search path (-L)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.paths" useByScannerDiscovery="false"></option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.other.396049466" name="Other linker flags" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.other" useByScannerDiscovery="false" value="" valueType="string"></option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.cref.1645737861" name="Cross reference (-Xlinker --cref)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.cref" useByScannerDiscovery="false" value="true" valueType="boolean"></option>
|
||||
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.linker.input.334732222" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.linker.input">
|
||||
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"></additionalInput>
|
||||
<additionalInput kind="additionalinput" paths="$(LIBS)"></additionalInput>
|
||||
</inputType>
|
||||
</tool>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.linker.1601059928" name="GNU ARM Cross C++ Linker" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.linker">
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.gcsections.437759352" name="Remove unused sections (-Xlinker --gc-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.gcsections" value="true" valueType="boolean"></option>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.scriptfile.1101974459" name="Script files (-T)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.scriptfile" useByScannerDiscovery="false" valueType="stringList">
|
||||
<listOptionValue builtIn="false" value='"${workspace_loc://${ProjName}//linkscripts//STM32F411RE//link.lds}"'></listOptionValue>
|
||||
</option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.cref.2007675975" name="Cross reference (-Xlinker --cref)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.cref" useByScannerDiscovery="false" value="true" valueType="boolean"></option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.usenewlibnano.2105838438" name="Use newlib-nano (--specs=nano.specs)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.usenewlibnano" useByScannerDiscovery="false" value="true" valueType="boolean"></option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.libs.934137837" name="Libraries (-l)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.libs" useByScannerDiscovery="false"></option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.nostart.2118356996" name="Do not use standard start files (-nostartfiles)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.nostart" useByScannerDiscovery="false" value="false" valueType="boolean"></option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.nodeflibs.1427884346" name="Do not use default libraries (-nodefaultlibs)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.nodeflibs" useByScannerDiscovery="false" value="false" valueType="boolean"></option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.nostdlibs.1433863653" name="No startup or default libs (-nostdlib)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.nostdlibs" useByScannerDiscovery="false" value="false" valueType="boolean"></option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.printgcsections.1387745410" name="Print removed sections (-Xlinker --print-gc-sections)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.printgcsections" useByScannerDiscovery="false" value="false" valueType="boolean"></option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.strip.1230158061" name="Omit all symbol information (-s)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.strip" useByScannerDiscovery="false" value="false" valueType="boolean"></option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.printmap.1307581821" name="Print link map (-Xlinker --print-map)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.printmap" useByScannerDiscovery="false" value="false" valueType="boolean"></option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.useprintffloat.960778920" name="Use float with nano printf (-u _printf_float)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.useprintffloat" useByScannerDiscovery="false" value="false" valueType="boolean"></option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.usescanffloat.637205035" name="Use float with nano scanf (-u _scanf_float)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.usescanffloat" useByScannerDiscovery="false" value="false" valueType="boolean"></option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.usenewlibnosys.1948314201" name="Do not use syscalls (--specs=nosys.specs)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.usenewlibnosys" useByScannerDiscovery="false" value="false" valueType="boolean"></option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.verbose.273162112" name="Verbose (-v)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.verbose" useByScannerDiscovery="false" value="false" valueType="boolean"></option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.paths.1399535143" name="Library search path (-L)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.paths" useByScannerDiscovery="false"></option>
|
||||
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.linker.input.262373798" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.linker.input">
|
||||
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"></additionalInput>
|
||||
<additionalInput kind="additionalinput" paths="$(LIBS)"></additionalInput>
|
||||
</inputType>
|
||||
</tool>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.archiver.506412204" name="GNU ARM Cross Archiver" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.archiver"></tool>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.createflash.1461589245" name="GNU ARM Cross Create Flash Image" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.createflash">
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createflash.choice.1937707052" name="Output file format (-O)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createflash.choice" useByScannerDiscovery="false" value="ilg.gnuarmeclipse.managedbuild.cross.option.createflash.choice.binary" valueType="enumerated"></option>
|
||||
</tool>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.createlisting.82359725" name="GNU ARM Cross Create Listing" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.createlisting">
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.source.601724476" name="Display source (--source|-S)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.source" value="true" valueType="boolean"></option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.allheaders.692505279" name="Display all headers (--all-headers|-x)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.allheaders" value="true" valueType="boolean"></option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.demangle.97345172" name="Demangle names (--demangle|-C)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.demangle" value="true" valueType="boolean"></option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.linenumbers.1342893377" name="Display line numbers (--line-numbers|-l)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.linenumbers" value="true" valueType="boolean"></option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.wide.1533725981" name="Wide lines (--wide|-w)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.wide" value="true" valueType="boolean"></option>
|
||||
</tool>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.printsize.1073550295" name="GNU ARM Cross Print Size" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.printsize">
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.printsize.format.946451386" name="Size format" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.printsize.format" useByScannerDiscovery="false"></option>
|
||||
</tool>
|
||||
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.1302177015" name="GNU ARM Cross C++ Compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler">
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.defs.704468062" name="Defined symbols (-D)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.defs" useByScannerDiscovery="true" valueType="definedSymbols">
|
||||
<listOptionValue builtIn="false" value="SOC_FAMILY_STM32"></listOptionValue>
|
||||
<listOptionValue builtIn="false" value="SOC_SERIES_STM32F4"></listOptionValue>
|
||||
<listOptionValue builtIn="false" value="USE_HAL_DRIVER"></listOptionValue>
|
||||
<listOptionValue builtIn="false" value="STM32F411xE"></listOptionValue>
|
||||
</option>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.include.paths.302877723" name="Include paths (-I)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.include.paths" useByScannerDiscovery="true" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value='"${workspace_loc://${ProjName}/drivers}"'></listOptionValue>
|
||||
<listOptionValue builtIn="false" value='"${workspace_loc://${ProjName}/libraries//CMSIS//Device//ST//STM32F4xx//Include}"'></listOptionValue>
|
||||
<listOptionValue builtIn="false" value='"${workspace_loc://${ProjName}/libraries//CMSIS//Include}"'></listOptionValue>
|
||||
<listOptionValue builtIn="false" value='"${workspace_loc://${ProjName}/libraries//CMSIS//RTOS//Template}"'></listOptionValue>
|
||||
<listOptionValue builtIn="false" value='"${workspace_loc://${ProjName}/libraries//STM32F4xx_HAL_Driver//Inc}"'></listOptionValue>
|
||||
<listOptionValue builtIn="false" value='"${workspace_loc://${ProjName}/libraries//STM32F4xx_HAL_Driver//Inc//Legacy}"'></listOptionValue>
|
||||
<listOptionValue builtIn="false" value='"${workspace_loc://${ProjName}/applications}"'></listOptionValue>
|
||||
</option>
|
||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.include.files.343249373" name="Include files (-include)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.compiler.include.files" useByScannerDiscovery="true"></option>
|
||||
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.input.45918001" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.cpp.compiler.input"></inputType>
|
||||
</tool>
|
||||
</toolChain>
|
||||
</folderInfo>
|
||||
<sourceEntries>
|
||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="" excluding=""></entry>
|
||||
</sourceEntries>
|
||||
</configuration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"></storageModule>
|
||||
</cconfiguration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<project id="qemu-vexpress-a9.ilg.gnuarmeclipse.managedbuild.cross.target.elf.860020518" name="Executable" projectType="ilg.gnuarmeclipse.managedbuild.cross.target.elf"></project>
|
||||
</storageModule>
|
||||
<storageModule moduleId="scannerConfiguration">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""></autodiscovery>
|
||||
<scannerConfigBuildInfo instanceId="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.553091094;ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.553091094.;ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.1570350559;ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input.992053063">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""></autodiscovery>
|
||||
</scannerConfigBuildInfo>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"></storageModule>
|
||||
<storageModule moduleId="refreshScope" versionNumber="2">
|
||||
<configuration configurationName="Debug">
|
||||
<resource resourceType="PROJECT" workspacePath="/GasFlowMeter"></resource>
|
||||
</configuration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"></storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings">
|
||||
<doc-comment-owner id="org.eclipse.cdt.ui.doxygen">
|
||||
<path value=""></path>
|
||||
</doc-comment-owner>
|
||||
</storageModule>
|
||||
</cproject>
|
639
Project/RVMDK/.rtt-studio/.project
Normal file
639
Project/RVMDK/.rtt-studio/.project
Normal file
@ -0,0 +1,639 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>GasFlowMeter</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
|
||||
<triggers>clean,full,incremental,</triggers>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
|
||||
<triggers>full,incremental,</triggers>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.cdt.core.cnature</nature>
|
||||
<nature>org.rt-thread.studio.rttnature</nature>
|
||||
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
|
||||
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
|
||||
</natures>
|
||||
<linkedResources>
|
||||
<link>
|
||||
<name>CMSIS</name>
|
||||
<type>2</type>
|
||||
<locationURI>virtual:/virtual</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>DOC</name>
|
||||
<type>2</type>
|
||||
<locationURI>virtual:/virtual</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>STARTUP</name>
|
||||
<type>2</type>
|
||||
<locationURI>virtual:/virtual</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver</name>
|
||||
<type>2</type>
|
||||
<locationURI>virtual:/virtual</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>USER</name>
|
||||
<type>2</type>
|
||||
<locationURI>virtual:/virtual</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>rtt</name>
|
||||
<type>2</type>
|
||||
<locationURI>virtual:/virtual</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>CMSIS/system_stm32h7xx.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/CMSIS/Device/ST/STM32H7xx/Source/Templates/system_stm32h7xx.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>DOC/必读说明.txt</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/必读说明.txt</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STARTUP/startup_stm32h743xx.s</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/CMSIS/Device/ST/STM32H7xx/Source/Templates/arm/startup_stm32h743xx.s</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_adc.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_adc_ex.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_cec.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cec.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_comp.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_comp.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_cortex.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_crc.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_crc.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_crc_ex.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_crc_ex.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_cryp.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cryp.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_cryp_ex.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cryp_ex.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_dac.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dac.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_dac_ex.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dac_ex.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_dcmi.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dcmi.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_dfsdm.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dfsdm.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_dma.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_dma2d.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma2d.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_dma_ex.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma_ex.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_eth.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_eth.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_eth_ex.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_eth_ex.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_fdcan.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_fdcan.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_flash.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_flash_ex.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_gpio.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_gpio.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_hash.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hash.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_hash_ex.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hash_ex.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_hcd.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hcd.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_hrtim.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hrtim.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_hsem.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_i2c.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_i2c_ex.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c_ex.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_i2s.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2s.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_i2s_ex.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2s_ex.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_irda.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_irda.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_iwdg.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_iwdg.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_jpeg.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_jpeg.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_lptim.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_lptim.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_ltdc.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_ltdc.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_mdios.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdios.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_mdma.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdma.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_mmc.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mmc.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_mmc_ex.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mmc_ex.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_nand.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_nand.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_nor.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_nor.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_opamp.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_opamp.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_opamp_ex.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_opamp_ex.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_pcd.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_pcd_ex.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_pwr.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_pwr_ex.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_qspi.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_qspi.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_rcc.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_rcc_ex.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_rng.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rng.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_rtc.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rtc.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_rtc_ex.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rtc_ex.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_sai.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sai.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_sai_ex.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sai_ex.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_sd.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sd.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_sd_ex.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sd_ex.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_sdram.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sdram.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_smartcard.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_smartcard.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_smartcard_ex.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_smartcard_ex.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_smbus.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_smbus.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_spdifrx.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spdifrx.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_spi.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_spi_ex.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi_ex.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_sram.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sram.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_swpmi.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_swpmi.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_tim.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_tim_ex.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_uart.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_uart_ex.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_usart.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_usart.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_hal_wwdg.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_wwdg.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_ll_delayblock.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_delayblock.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_ll_fmc.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_fmc.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_ll_sdmmc.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_sdmmc.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>STM32H7xx_HAL_Driver/stm32h7xx_ll_usb.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_usb.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>USER/Detail.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/User/NG/Detail.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>USER/Detail.h</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/User/NG/Detail.h</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>USER/FlowCal.h</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/User/NG/FlowCal.h</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>USER/NGCal.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/User/NG/NGCal.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>USER/NGCal.h</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/User/NG/NGCal.h</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>USER/Therm.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/User/NG/Therm.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>USER/Therm.h</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/User/NG/Therm.h</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>USER/board.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/User/board.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>USER/board.h</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/User/board.h</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>USER/bsp_debug_usart.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/User/bsp/usart/bsp_debug_usart.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>USER/bsp_key.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/User/bsp/key/bsp_key.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>USER/bsp_led.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/User/bsp/led/bsp_led.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>USER/core_delay.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/User/bsp/delay/core_delay.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>USER/main.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/User/main.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>USER/rtconfig.h</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/User/rtconfig.h</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>USER/stm32h7xx_it.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/User/stm32h7xx_it.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>rtt/ports</name>
|
||||
<type>2</type>
|
||||
<locationURI>virtual:/virtual</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>rtt/source</name>
|
||||
<type>2</type>
|
||||
<locationURI>virtual:/virtual</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>rtt/ports/context_rvds.S</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/rtthread/3.0.3/libcpu/arm/cortex-m7/context_rvds.S</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>rtt/ports/cpuport.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/rtthread/3.0.3/libcpu/arm/cortex-m7/cpuport.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>rtt/source/clock.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/rtthread/3.0.3/src/clock.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>rtt/source/components.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/rtthread/3.0.3/src/components.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>rtt/source/device.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/rtthread/3.0.3/src/device.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>rtt/source/idle.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/rtthread/3.0.3/src/idle.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>rtt/source/ipc.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/rtthread/3.0.3/src/ipc.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>rtt/source/irq.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/rtthread/3.0.3/src/irq.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>rtt/source/kservice.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/rtthread/3.0.3/src/kservice.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>rtt/source/mem.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/rtthread/3.0.3/src/mem.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>rtt/source/memheap.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/rtthread/3.0.3/src/memheap.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>rtt/source/mempool.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/rtthread/3.0.3/src/mempool.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>rtt/source/object.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/rtthread/3.0.3/src/object.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>rtt/source/scheduler.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/rtthread/3.0.3/src/scheduler.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>rtt/source/signal.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/rtthread/3.0.3/src/signal.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>rtt/source/thread.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/rtthread/3.0.3/src/thread.c</location>
|
||||
</link>
|
||||
<link>
|
||||
<name>rtt/source/timer.c</name>
|
||||
<type>1</type>
|
||||
<location>E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/rtthread/3.0.3/src/timer.c</location>
|
||||
</link>
|
||||
</linkedResources>
|
||||
</projectDescription>
|
@ -0,0 +1,62 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<launchConfiguration type="ilg.gnumcueclipse.debug.gdbjtag.pyocd.launchConfigurationType">
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.pyocd.adapterName" value="DAP-LINK"/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.pyocd.binFlashStartAddress" value=""/>
|
||||
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.pyocd.doContinue" value="true"/>
|
||||
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.pyocd.doDebugInRam" value="false"/>
|
||||
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.pyocd.doFirstReset" value="true"/>
|
||||
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.pyocd.doGdbServerAllocateConsole" value="true"/>
|
||||
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.pyocd.doSecondReset" value="true"/>
|
||||
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.pyocd.doStartGdbServer" value="true"/>
|
||||
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.pyocd.enableSemihosting" value="true"/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.pyocd.firstResetType" value="init"/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.pyocd.gdbClientOtherCommands" value="set mem inaccessible-by-default off"/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.pyocd.gdbClientOtherOptions" value=""/>
|
||||
<intAttribute key="ilg.gnumcueclipse.debug.gdbjtag.pyocd.gdbServerBusSpeed" value="1000000"/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.pyocd.gdbServerConnectionAddress" value=""/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.pyocd.gdbServerDeviceName" value="unknown"/>
|
||||
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.pyocd.gdbServerEnableSemihosting" value="false"/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.pyocd.gdbServerExecutable" value="${debugger_install_path}/${daplink_debugger_relative_path}\pyocd.exe"/>
|
||||
<intAttribute key="ilg.gnumcueclipse.debug.gdbjtag.pyocd.gdbServerFlashMode" value="0"/>
|
||||
<intAttribute key="ilg.gnumcueclipse.debug.gdbjtag.pyocd.gdbServerGdbPortNumber" value="3333"/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.pyocd.gdbServerOther" value=""/>
|
||||
<intAttribute key="ilg.gnumcueclipse.debug.gdbjtag.pyocd.gdbServerTelnetPortNumber" value="4444"/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.pyocd.otherInitCommands" value=""/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.pyocd.otherRunCommands" value=""/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.pyocd.programMode" value="BIN"/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.pyocd.secondResetType" value="halt"/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.imageFileName" value=""/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.imageOffset" value=""/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.jtagDevice" value="GNU MCU PyOCD"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.loadImage" value="true"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.loadSymbols" value="true"/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.pcRegister" value=""/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setPcRegister" value="false"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setResume" value="false"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setStopAt" value="true"/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.stopAt" value="main"/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.symbolsFileName" value=""/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.symbolsOffset" value=""/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useFileForImage" value="false"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useFileForSymbols" value="false"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useProjBinaryForImage" value="true"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useProjBinaryForSymbols" value="true"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useRemoteTarget" value="false"/>
|
||||
<stringAttribute key="org.eclipse.cdt.dsf.gdb.DEBUG_NAME" value="${rtt_gnu_gcc}/arm-none-eabi-gdb.exe"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.UPDATE_THREADLIST_ON_SUSPEND" value="false"/>
|
||||
<intAttribute key="org.eclipse.cdt.launch.ATTR_BUILD_BEFORE_LAUNCH_ATTR" value="0"/>
|
||||
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="Debug/rtthread.elf"/>
|
||||
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_ATTR" value="GasFlowMeter"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_AUTO_ATTR" value="false"/>
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
|
||||
<listEntry value="/GasFlowMeter"/>
|
||||
</listAttribute>
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
|
||||
<listEntry value="4"/>
|
||||
</listAttribute>
|
||||
<stringAttribute key="org.eclipse.debug.core.source_locator_id" value="org.eclipse.cdt.debug.core.sourceLocator"/>
|
||||
<stringAttribute key="org.eclipse.debug.core.source_locator_memento" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <sourceLookupDirector> <sourceContainers duplicates="false"> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;default/&gt;&#13;&#10;" typeId="org.eclipse.debug.core.containerType.default"/> </sourceContainers> </sourceLookupDirector> "/>
|
||||
<stringAttribute key="org.eclipse.debug.ui.ATTR_CONSOLE_ENCODING" value="UTF-8"/>
|
||||
<booleanAttribute key="org.eclipse.debug.ui.ATTR_CONSOLE_OUTPUT_ON" value="true"/>
|
||||
<booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="true"/>
|
||||
</launchConfiguration>
|
@ -0,0 +1,90 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<launchConfiguration type="ilg.gnumcueclipse.debug.gdbjtag.jlink.launchConfigurationType">
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.adapterName" value="J-Link"/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.binFileStartAddress" value=""/>
|
||||
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.doConnectToRunning" value="false"/>
|
||||
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.doContinue" value="true"/>
|
||||
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.doDebugInRam" value="false"/>
|
||||
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.doFirstReset" value="true"/>
|
||||
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.doGdbServerAllocateConsole" value="true"/>
|
||||
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.doGdbServerAllocateSemihostingConsole" value="true"/>
|
||||
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.doGdbServerInitRegs" value="true"/>
|
||||
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.doGdbServerLocalOnly" value="true"/>
|
||||
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.doGdbServerSilent" value="false"/>
|
||||
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.doGdbServerVerifyDownload" value="true"/>
|
||||
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.doSecondReset" value="true"/>
|
||||
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.doStartGdbServer" value="true"/>
|
||||
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.enableFlashBreakpoints" value="true"/>
|
||||
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.enableSemihosting" value="true"/>
|
||||
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.enableSemihostingIoclientGdbClient" value="false"/>
|
||||
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.enableSemihostingIoclientTelnet" value="true"/>
|
||||
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.enableSwo" value="true"/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.eraseEndAddress" value=""/>
|
||||
<intAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.eraseMode" value="0"/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.eraseStartAddress" value=""/>
|
||||
<intAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.firstResetSpeed" value="1000"/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.firstResetType" value=""/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.flashDeviceName" value="unknown"/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.flashDownloadHex" value="false"/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.gdbClientOtherCommands" value="set mem inaccessible-by-default off"/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.gdbClientOtherOptions" value=""/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.gdbServerConnection" value="usb"/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.gdbServerConnectionAddress" value=""/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.gdbServerDebugInterface" value="swd"/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.gdbServerDeviceEndianness" value="little"/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.gdbServerDeviceName" value="unknown"/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.gdbServerDeviceSpeed" value="1000"/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.gdbServerExecutable" value="${debugger_install_path}/${jlink_debugger_relative_path}\JLinkGDBServerCL.exe"/>
|
||||
<intAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.gdbServerGdbPortNumber" value="2331"/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.gdbServerLog" value=""/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.gdbServerOther" value="-singlerun"/>
|
||||
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.gdbServerRunAfterStopDebug" value="true"/>
|
||||
<intAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.gdbServerSwoPortNumber" value="2332"/>
|
||||
<intAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.gdbServerTelnetPortNumber" value="2333"/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.interfaceSpeed" value="auto"/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.jlinkExecutable" value="${debugger_install_path}/${jlink_debugger_relative_path}\JLink.exe"/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.otherInitCommands" value=""/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.otherRunCommands" value=""/>
|
||||
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.runAfterDownload" value="true"/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.secondResetType" value=""/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.serailBaudRate" value="115200"/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.serailPort" value=""/>
|
||||
<intAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.swoEnableTargetCpuFreq" value="0"/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.swoEnableTargetPortMask" value="0x1"/>
|
||||
<intAttribute key="ilg.gnumcueclipse.debug.gdbjtag.jlink.swoEnableTargetSwoFreq" value="0"/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.imageFileName" value=""/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.imageOffset" value=""/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.jtagDevice" value="GNU MCU J-Link"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.loadImage" value="true"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.loadSymbols" value="true"/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.pcRegister" value=""/>
|
||||
<intAttribute key="org.eclipse.cdt.debug.gdbjtag.core.portNumber" value="2331"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setPcRegister" value="false"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setResume" value="false"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setStopAt" value="true"/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.stopAt" value="main"/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.symbolsFileName" value=""/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.symbolsOffset" value=""/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useFileForImage" value="false"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useFileForSymbols" value="false"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useProjBinaryForImage" value="true"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useProjBinaryForSymbols" value="true"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useRemoteTarget" value="true"/>
|
||||
<stringAttribute key="org.eclipse.cdt.dsf.gdb.DEBUG_NAME" value="${rtt_gnu_gcc}/arm-none-eabi-gdb.exe"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.UPDATE_THREADLIST_ON_SUSPEND" value="false"/>
|
||||
<intAttribute key="org.eclipse.cdt.launch.ATTR_BUILD_BEFORE_LAUNCH_ATTR" value="0"/>
|
||||
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="Debug/rtthread.elf"/>
|
||||
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_ATTR" value="GasFlowMeter"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_AUTO_ATTR" value="false"/>
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
|
||||
<listEntry value="/GasFlowMeter"/>
|
||||
</listAttribute>
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
|
||||
<listEntry value="4"/>
|
||||
</listAttribute>
|
||||
<stringAttribute key="org.eclipse.debug.core.source_locator_id" value="org.eclipse.cdt.debug.core.sourceLocator"/>
|
||||
<stringAttribute key="org.eclipse.debug.core.source_locator_memento" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <sourceLookupDirector> <sourceContainers duplicates="false"> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;default/&gt;&#13;&#10;" typeId="org.eclipse.debug.core.containerType.default"/> </sourceContainers> </sourceLookupDirector> "/>
|
||||
<stringAttribute key="org.eclipse.debug.ui.ATTR_CONSOLE_ENCODING" value="UTF-8"/>
|
||||
<booleanAttribute key="org.eclipse.debug.ui.ATTR_CONSOLE_OUTPUT_ON" value="true"/>
|
||||
<booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="true"/>
|
||||
</launchConfiguration>
|
@ -0,0 +1,57 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<launchConfiguration type="ilg.gnumcueclipse.debug.gdbjtag.qemu.launchConfigurationType">
|
||||
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.qemu.doContinue" value="true"/>
|
||||
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.qemu.doDebugInRam" value="false"/>
|
||||
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.qemu.doFirstReset" value="false"/>
|
||||
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.qemu.doSecondReset" value="true"/>
|
||||
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.qemu.doStartGdbServer" value="true"/>
|
||||
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.qemu.enableSemihosting" value="true"/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.qemu.gdbClientOtherCommands" value="set mem inaccessible-by-default off "/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.qemu.gdbClientOtherOptions" value=""/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.qemu.gdbServerBoardModel" value="?"/>
|
||||
<intAttribute key="ilg.gnumcueclipse.debug.gdbjtag.qemu.gdbServerCpuQuantity" value="1"/>
|
||||
<booleanAttribute key="ilg.gnumcueclipse.debug.gdbjtag.qemu.gdbServerEnableNetwork" value="false"/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.qemu.gdbServerExecutable" value="${debugger_install_path}/${qemu_debugger_relative_path}\qemu-system-arm.exe"/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.qemu.gdbServerExtraQemuCmd" value=""/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.qemu.gdbServerSdcardMemory" value="64.0"/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.qemu.gdbServerSerialPort" value="COM1"/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.qemu.gdbServerStartup" value="${studio_install_path}/repo/Extract/Debugger_Support_Packages/RealThread/QEMU/4.2.0.4/qemu-system-arm.exe -M ? -sd sd.bin -nographic -S -s"/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.qemu.gdbServerTapName" value=""/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.qemu.otherInitCommands" value=""/>
|
||||
<stringAttribute key="ilg.gnumcueclipse.debug.gdbjtag.qemu.otherRunCommands" value=""/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.imageFileName" value=""/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.imageOffset" value=""/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.jtagDevice" value="GNU MCU QEMU"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.loadImage" value="true"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.loadSymbols" value="true"/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.pcRegister" value=""/>
|
||||
<intAttribute key="org.eclipse.cdt.debug.gdbjtag.core.portNumber" value="1234"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setPcRegister" value="false"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setResume" value="false"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setStopAt" value="true"/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.stopAt" value="main"/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.symbolsFileName" value=""/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.symbolsOffset" value=""/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useFileForImage" value="false"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useFileForSymbols" value="false"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useProjBinaryForImage" value="true"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useProjBinaryForSymbols" value="true"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useRemoteTarget" value="true"/>
|
||||
<stringAttribute key="org.eclipse.cdt.dsf.gdb.DEBUG_NAME" value="${cross_prefix}gdb${cross_suffix}"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.UPDATE_THREADLIST_ON_SUSPEND" value="false"/>
|
||||
<intAttribute key="org.eclipse.cdt.launch.ATTR_BUILD_BEFORE_LAUNCH_ATTR" value="0"/>
|
||||
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="Debug/rtthread.elf"/>
|
||||
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_ATTR" value="GasFlowMeter"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_AUTO_ATTR" value="false"/>
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
|
||||
<listEntry value="/GasFlowMeter"/>
|
||||
</listAttribute>
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
|
||||
<listEntry value="4"/>
|
||||
</listAttribute>
|
||||
<stringAttribute key="org.eclipse.debug.core.source_locator_id" value="org.eclipse.cdt.debug.core.sourceLocator"/>
|
||||
<stringAttribute key="org.eclipse.debug.core.source_locator_memento" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <sourceLookupDirector> <sourceContainers duplicates="false"> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;default/&gt;&#13;&#10;" typeId="org.eclipse.debug.core.containerType.default"/> </sourceContainers> </sourceLookupDirector> "/>
|
||||
<stringAttribute key="org.eclipse.debug.ui.ATTR_CONSOLE_ENCODING" value="UTF-8"/>
|
||||
<booleanAttribute key="org.eclipse.debug.ui.ATTR_CONSOLE_OUTPUT_ON" value="true"/>
|
||||
<booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="true"/>
|
||||
</launchConfiguration>
|
@ -0,0 +1,56 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<launchConfiguration type="org.rtthread.studio.debug.gdbjtag.stlink.launchConfigurationType">
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.connectMode" value="NORMAL"/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.debugInterface" value="SWD"/>
|
||||
<intAttribute key="org.eclipse.cdt.debug.gdbjtag.core.delay" value="3"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.doHalt" value="false"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.doReset" value="false"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.flashVerify" value="false"/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.imageFileName" value=""/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.imageOffset" value=""/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.initCommands" value=""/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.ipAddress" value="localhost"/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.jtagDeviceId" value="org.eclipse.cdt.debug.gdbjtag.core.jtagdevice.genericDevice"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.loadImage" value="true"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.loadSymbols" value="true"/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.otherDownloadOption" value=""/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.otherGdbserverOption" value=""/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.pcRegister" value=""/>
|
||||
<intAttribute key="org.eclipse.cdt.debug.gdbjtag.core.portNumber" value="61235"/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.resetMode" value=" -hardRst"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.resetRun" value="true"/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.runCommands" value=""/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setPcRegister" value="false"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setStopAt" value="true"/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.stopAt" value="main"/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.symbolsFileName" value=""/>
|
||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.symbolsOffset" value=""/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useFileForImage" value="false"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useFileForSymbols" value="false"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useProjBinaryForImage" value="true"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useProjBinaryForSymbols" value="true"/>
|
||||
<stringAttribute key="org.eclipse.cdt.dsf.gdb.DEBUG_NAME" value="${rtt_gnu_gcc}/arm-none-eabi-gdb.exe"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.UPDATE_THREADLIST_ON_SUSPEND" value="false"/>
|
||||
<intAttribute key="org.eclipse.cdt.launch.ATTR_BUILD_BEFORE_LAUNCH_ATTR" value="0"/>
|
||||
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_START_MODE" value="remote"/>
|
||||
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="Debug/rtthread.elf"/>
|
||||
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_ATTR" value="GasFlowMeter"/>
|
||||
<booleanAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_AUTO_ATTR" value="false"/>
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
|
||||
<listEntry value="/GasFlowMeter"/>
|
||||
</listAttribute>
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
|
||||
<listEntry value="4"/>
|
||||
</listAttribute>
|
||||
<stringAttribute key="org.eclipse.debug.core.source_locator_id" value="org.eclipse.cdt.debug.core.sourceLocator"/>
|
||||
<stringAttribute key="org.eclipse.debug.core.source_locator_memento" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <sourceLookupDirector> <sourceContainers duplicates="false"> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;default/&gt;&#13;&#10;" typeId="org.eclipse.debug.core.containerType.default"/> </sourceContainers> </sourceLookupDirector> "/>
|
||||
<stringAttribute key="org.eclipse.debug.ui.ATTR_CONSOLE_ENCODING" value="UTF-8"/>
|
||||
<booleanAttribute key="org.eclipse.debug.ui.ATTR_CONSOLE_OUTPUT_ON" value="true"/>
|
||||
<booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="true"/>
|
||||
<stringAttribute key="org.rtthread.studio.stlink.debug.gdbjtag.adapterName" value="ST-LINK"/>
|
||||
<booleanAttribute key="org.rtthread.studio.stlink.debug.gdbjtag.doContinue" value="true"/>
|
||||
<stringAttribute key="org.rtthread.studio.stlink.debug.gdbjtag.gdbServerDeviceName" value="unknown"/>
|
||||
<stringAttribute key="org.rtthread.studio.stlink.debug.gdbjtag.gdbServerExecutable" value="${debugger_install_path}/${stlink_debugger_relative_path}/ST-LINK_gdbserver.exe"/>
|
||||
<stringAttribute key="org.rtthread.studio.stlink.debug.gdbjtag.stlinkGdbServer" value="${debugger_install_path}/${stlink_debugger_relative_path}/tools/bin/STM32_Programmer_CLI.exe"/>
|
||||
<booleanAttribute key="org.rtthread.studio.stlink.debug.gdbjtag.useRemoteTarget" value="true"/>
|
||||
</launchConfiguration>
|
14
Project/RVMDK/.rtt-studio/.settings/language.settings.xml
Normal file
14
Project/RVMDK/.rtt-studio/.settings/language.settings.xml
Normal file
@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<project>
|
||||
<configuration id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.553091094" name="Debug">
|
||||
<extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
|
||||
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
|
||||
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
|
||||
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
|
||||
<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="1330607034422298913" id="ilg.gnuarmeclipse.managedbuild.cross.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT ARM Cross GCC Built-in Compiler Settings " parameter="${COMMAND} ${FLAGS} ${cross_toolchain_flags} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true">
|
||||
<language-scope id="org.eclipse.cdt.core.gcc"/>
|
||||
<language-scope id="org.eclipse.cdt.core.g++"/>
|
||||
</provider>
|
||||
</extension>
|
||||
</configuration>
|
||||
</project>
|
134
Project/RVMDK/.rtt-studio/.settings/mdkconfig.json
Normal file
134
Project/RVMDK/.rtt-studio/.settings/mdkconfig.json
Normal file
@ -0,0 +1,134 @@
|
||||
{
|
||||
"global": {
|
||||
"use-micro-lib": true,
|
||||
"output-debug-info": true,
|
||||
"build-output-dir": "./.rtt-studio/Debug\\",
|
||||
"list-output-dir": "..\\..\\Listing\\",
|
||||
"mem-layout": {
|
||||
"rom": [
|
||||
{
|
||||
"name": "rom1",
|
||||
"checked": false,
|
||||
"address": "0x0",
|
||||
"size": "0x0",
|
||||
"is_entry": false
|
||||
},
|
||||
{
|
||||
"name": "rom2",
|
||||
"checked": false,
|
||||
"address": "0x0",
|
||||
"size": "0x0",
|
||||
"is_entry": false
|
||||
},
|
||||
{
|
||||
"name": "rom3",
|
||||
"checked": false,
|
||||
"address": "0x0",
|
||||
"size": "0x0",
|
||||
"is_entry": false
|
||||
},
|
||||
{
|
||||
"name": "irom1",
|
||||
"checked": true,
|
||||
"address": "0x8000000",
|
||||
"size": "0x20000",
|
||||
"is_entry": true
|
||||
},
|
||||
{
|
||||
"name": "irom2",
|
||||
"checked": false,
|
||||
"address": "0x0",
|
||||
"size": "0x0",
|
||||
"is_entry": false
|
||||
}
|
||||
],
|
||||
"ram": [
|
||||
{
|
||||
"name": "ram1",
|
||||
"checked": false,
|
||||
"noInit": false,
|
||||
"address": "0x0",
|
||||
"size": "0x0"
|
||||
},
|
||||
{
|
||||
"name": "ram2",
|
||||
"checked": false,
|
||||
"noInit": false,
|
||||
"address": "0x0",
|
||||
"size": "0x0"
|
||||
},
|
||||
{
|
||||
"name": "ram3",
|
||||
"checked": false,
|
||||
"noInit": false,
|
||||
"address": "0x0",
|
||||
"size": "0x0"
|
||||
},
|
||||
{
|
||||
"name": "iram1",
|
||||
"checked": true,
|
||||
"noInit": false,
|
||||
"address": "0x20000000",
|
||||
"size": "0x20000"
|
||||
},
|
||||
{
|
||||
"name": "iram2",
|
||||
"checked": true,
|
||||
"noInit": false,
|
||||
"address": "0x24000000",
|
||||
"size": "0x80000"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"c/cpp": {
|
||||
"include-list": [
|
||||
"..\\..\\Libraries\\CMSIS\\Include",
|
||||
"..\\..\\Libraries\\CMSIS\\Device\\ST\\STM32H7xx\\Include",
|
||||
"..\\..\\Libraries\\STM32H7xx_HAL_Driver\\Inc",
|
||||
"..\\..\\rtthread\\3.0.3\\components\\finsh",
|
||||
"..\\..\\rtthread\\3.0.3\\include",
|
||||
"..\\..\\rtthread\\3.0.3\\include\\libc",
|
||||
"..\\..\\User",
|
||||
"..\\..\\User\\bsp",
|
||||
"..\\..\\User\\NG"
|
||||
],
|
||||
"define-list": [
|
||||
"USE_HAL_DRIVER",
|
||||
"STM32H743xx"
|
||||
],
|
||||
"misc-controls": "",
|
||||
"execute-only-code": false,
|
||||
"read-only-position-independent": false,
|
||||
"read-write-position-independent": false,
|
||||
"split-load-and-store-multiple": false,
|
||||
"c99-mode": true,
|
||||
"optimization": 2,
|
||||
"optimize-for-time": false,
|
||||
"one-elf-section-per-function": true,
|
||||
"strict-ansi-c": false,
|
||||
"enum-container-always-int": false,
|
||||
"plain-char-is-signed": false,
|
||||
"gnu-extensions": false,
|
||||
"warnings": 2
|
||||
},
|
||||
"asm": {
|
||||
"include-list": [],
|
||||
"define-list": [],
|
||||
"misc-controls": "",
|
||||
"execute-only-code": false,
|
||||
"read-only-position-independent": false,
|
||||
"read-write-position-independent": false,
|
||||
"split-load-and-store-multiple": false,
|
||||
"thumb-mode": false,
|
||||
"no-warnings": false
|
||||
},
|
||||
"linker": {
|
||||
"auto-gen-scatter-file": true,
|
||||
"linker-scatter-file": "",
|
||||
"misc-controls": "",
|
||||
"read-only-position-independent": false,
|
||||
"read-write-position-independent": false,
|
||||
"not-search-std-libs": false
|
||||
}
|
||||
}
|
@ -0,0 +1,3 @@
|
||||
eclipse.preferences.project.mdk.projectRoot="E\:\\MyDocuments\\Documents\\project\\keilMCU\\GasFlowMeter\\Project\\RVMDK\\.rtt-studio"
|
||||
eclipse.preferences.project.mdk.uvprojxPath="E\:\\MyDocuments\\Documents\\project\\keilMCU\\GasFlowMeter\\Project\\RVMDK\\Fire_RT-Thread.uvprojx"
|
||||
eclipse.preferences.version=1
|
9
Project/RVMDK/.rtt-studio/.settings/projcfg.ini
Normal file
9
Project/RVMDK/.rtt-studio/.settings/projcfg.ini
Normal file
@ -0,0 +1,9 @@
|
||||
#RT-Thread Studio Project Configuration
|
||||
#Wed Jul 09 21:19:55 CST 2025
|
||||
project_type=mdk
|
||||
output_project_path=E\:MyDocumentsDocumentsprojectkeilMCUGasFlowMeterProjectRVMDK.rtt-studio
|
||||
hardware_adapter=J-Link
|
||||
chip_name=STM32H750XB
|
||||
import_project_name=Fire_RT-Thread.uvprojx
|
||||
project_name=GasFlowMeter
|
||||
cfg_version=v3.0
|
14
Project/RVMDK/.rtt-studio/makefile.targets
Normal file
14
Project/RVMDK/.rtt-studio/makefile.targets
Normal file
@ -0,0 +1,14 @@
|
||||
RM := rm -rf
|
||||
BRIDGE_EXE := studio-mdk-bridge.exe
|
||||
UV4_EXE := "D:\Keil_v5\UV4\UV4.exe"
|
||||
UVPROJX_LOC := "E:\MyDocuments\Documents\project\keilMCU\GasFlowMeter\Project\RVMDK\Fire_RT-Thread.uvprojx"
|
||||
|
||||
.PHONY: mdk_all
|
||||
|
||||
mdk_all:
|
||||
-$(BRIDGE_EXE) --build --uv4-path $(UV4_EXE) $(UVPROJX_LOC)
|
||||
|
||||
mdk_clean:
|
||||
-@$(RM) *
|
||||
@echo 'success'
|
||||
|
File diff suppressed because one or more lines are too long
1006
Project/RVMDK/Fire_RT-Thread.uvprojx
Normal file
1006
Project/RVMDK/Fire_RT-Thread.uvprojx
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
487
User/NG/Detail.c
487
User/NG/Detail.c
@ -4,37 +4,24 @@
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#define NUMBEROFCOMPONENTS 21
|
||||
|
||||
Detail *Detail_Construct(void) {
|
||||
Detail *pDetail = (Detail *) malloc(sizeof(Detail));
|
||||
if (!pDetail) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
memset(pDetail, 0, sizeof(Detail));
|
||||
|
||||
|
||||
pDetail->iNCC = 0;
|
||||
|
||||
|
||||
for (int i = 0; i < NUMBEROFCOMPONENTS; i++) {
|
||||
pDetail->aiCID[i] = -1;
|
||||
}
|
||||
|
||||
|
||||
pDetail->dOldMixID = 0.0;
|
||||
pDetail->dOldPb = 0.0;
|
||||
pDetail->dOldTb = 0.0;
|
||||
pDetail->dOldPf = 0.0;
|
||||
pDetail->dOldTf = 0.0;
|
||||
|
||||
|
||||
for (int i = 0; i < NUMBEROFCOMPONENTS; i++) {
|
||||
pDetail->dXi[i] = 0.0;
|
||||
}
|
||||
|
||||
|
||||
if (Detail_table(pDetail) != 0) {
|
||||
free(pDetail);
|
||||
return NULL;
|
||||
@ -48,26 +35,23 @@ void Detail_Destroy(Detail *pDetail) {
|
||||
}
|
||||
}
|
||||
|
||||
int Detail_compositionchange(Detail *pDetail, NGParSTRUCT *ptNGPar) {
|
||||
int Detail_compositionchange(Detail *pDetail, const NGParSTRUCT *ptNGPar) {
|
||||
double dMixID = 0.0;
|
||||
int i;
|
||||
for (i = 0; i < NUMBEROFCOMPONENTS; i++)
|
||||
for (int i = 0; i < NUMBEROFCOMPONENTS; i++)
|
||||
dMixID += ((i + 2) * ptNGPar->adMixture[i]);
|
||||
if (dMixID != pDetail->dOldMixID) {
|
||||
pDetail->dOldMixID = dMixID;
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
void Detail_Run(Detail *pDetail, NGParSTRUCT *ptNGPar) {
|
||||
int i;
|
||||
bool bCompChange = Detail_compositionchange(pDetail, ptNGPar);
|
||||
const int bCompChange = Detail_compositionchange(pDetail, ptNGPar);
|
||||
ptNGPar->bForceUpdate = ptNGPar->bForceUpdate || bCompChange;
|
||||
if (ptNGPar->bForceUpdate) {
|
||||
pDetail->iNCC = 0;
|
||||
for (i = 0; i < NUMBEROFCOMPONENTS; i++) {
|
||||
for (int i = 0; i < NUMBEROFCOMPONENTS; i++) {
|
||||
if (ptNGPar->adMixture[i] > 0.0) {
|
||||
pDetail->aiCID[pDetail->iNCC] = i;
|
||||
pDetail->dXi[pDetail->iNCC] = ptNGPar->adMixture[i];
|
||||
@ -77,9 +61,9 @@ void Detail_Run(Detail *pDetail, NGParSTRUCT *ptNGPar) {
|
||||
Detail_paramdl(pDetail);
|
||||
Detail_chardl(pDetail, ptNGPar);
|
||||
}
|
||||
if ((fabs(ptNGPar->dPb - pDetail->dOldPb) > P_CHG_TOL) ||
|
||||
(fabs(ptNGPar->dTb - pDetail->dOldTb) > T_CHG_TOL) ||
|
||||
(ptNGPar->bForceUpdate)) {
|
||||
if (fabs(ptNGPar->dPb - pDetail->dOldPb) > P_CHG_TOL ||
|
||||
fabs(ptNGPar->dTb - pDetail->dOldTb) > T_CHG_TOL ||
|
||||
ptNGPar->bForceUpdate) {
|
||||
pDetail->dP = ptNGPar->dPb * 1.0e-6;
|
||||
pDetail->dT = ptNGPar->dTb;
|
||||
Detail_temp(pDetail);
|
||||
@ -91,13 +75,13 @@ void Detail_Run(Detail *pDetail, NGParSTRUCT *ptNGPar) {
|
||||
ptNGPar->dRhob = pDetail->dRhoTP;
|
||||
pDetail->dOldTb = ptNGPar->dTb;
|
||||
pDetail->dOldPb = ptNGPar->dPb;
|
||||
ptNGPar->bForceUpdate = true;
|
||||
ptNGPar->bForceUpdate = 1;
|
||||
}
|
||||
pDetail->dP = ptNGPar->dPf * 1.0e-6;
|
||||
pDetail->dT = ptNGPar->dTf;
|
||||
if ((fabs(ptNGPar->dTf - pDetail->dOldTf) > T_CHG_TOL) || (ptNGPar->bForceUpdate)) {
|
||||
Detail_temp(pDetail);
|
||||
ptNGPar->bForceUpdate = true;
|
||||
ptNGPar->bForceUpdate = 1;
|
||||
}
|
||||
if ((fabs(ptNGPar->dPf - pDetail->dOldPf) > P_CHG_TOL) || (ptNGPar->bForceUpdate)) {
|
||||
Detail_ddetail(pDetail, ptNGPar);
|
||||
@ -112,7 +96,7 @@ void Detail_Run(Detail *pDetail, NGParSTRUCT *ptNGPar) {
|
||||
ptNGPar->dFpv = sqrt(ptNGPar->dZb / ptNGPar->dZf);
|
||||
} else {
|
||||
ptNGPar->lStatus = GENERAL_CALCULATION_FAILURE;
|
||||
ptNGPar->bForceUpdate = false;
|
||||
ptNGPar->bForceUpdate = 0;
|
||||
}
|
||||
}
|
||||
|
||||
@ -120,7 +104,6 @@ int Detail_table(Detail *pDetail) {
|
||||
if (!pDetail) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
double adAn[58];
|
||||
double adUn[58];
|
||||
adAn[0] = 0.153832600;
|
||||
@ -182,7 +165,6 @@ int Detail_table(Detail *pDetail) {
|
||||
adAn[56] = -0.001226752;
|
||||
adAn[57] = 0.002850908;
|
||||
|
||||
|
||||
adUn[0] = 0.0;
|
||||
adUn[1] = 0.5;
|
||||
adUn[2] = 1.0;
|
||||
@ -241,10 +223,8 @@ int Detail_table(Detail *pDetail) {
|
||||
adUn[55] = 0.0;
|
||||
adUn[56] = 1.0;
|
||||
adUn[57] = 0.0;
|
||||
|
||||
memcpy(pDetail->adAn, adAn, sizeof(adAn));
|
||||
memcpy(pDetail->adUn, adUn, sizeof(adUn));
|
||||
|
||||
for (int j = 0; j < NUMBEROFCOMPONENTS; j++) {
|
||||
for (int k = j; k < NUMBEROFCOMPONENTS; k++) {
|
||||
pDetail->adTable6Eij[j][k] = 1.0;
|
||||
@ -387,66 +367,12 @@ int Detail_table(Detail *pDetail) {
|
||||
pDetail->adTable6Gij[2][3] = 0.370296;
|
||||
pDetail->adTable6Gij[2][5] = 1.673090;
|
||||
|
||||
double adTableHhvMol[4][NUMBEROFCOMPONENTS] = {
|
||||
{
|
||||
892.97, 0, 0, 1564.34, 2224.01, 45.074, 562.94, 286.63, 282.8, 0, 2874.2, 2883.82, 3535.98, 3542.89,
|
||||
4203.23, 4862.87, 5522.4, 6182.91, 6842.69, 0, 0
|
||||
},
|
||||
{
|
||||
891.56, 0, 0, 1562.14, 2221.1, 44.433, 562.38, 286.15, 282.91, 0, 2870.58, 2879.76, 3531.68, 3538.6,
|
||||
4198.24, 4857.18, 5516.01, 6175.82, 6834.9, 0, 0
|
||||
},
|
||||
{
|
||||
891.09, 0, 0, 1561.41, 2220.13, 44.224, 562.19, 285.99, 282.95, 0, 2869.38, 2878.57, 3530.24, 3537.17,
|
||||
4196.58, 4855.29, 5513.88, 6173.46, 6832.31, 0, 0
|
||||
},
|
||||
{
|
||||
890.63, 0, 0, 1560.69, 2219.17, 44.016, 562.01, 285.83, 282.98, 0, 2868.2, 2877.4, 3528.83, 3535.77,
|
||||
4194.95, 4853.43, 5511.8, 6171.15, 6829.77, 0, 0
|
||||
}
|
||||
};
|
||||
memcpy(pDetail->adTableHhvMol, adTableHhvMol, sizeof(adTableHhvMol));
|
||||
double adTableLhvMol[4][NUMBEROFCOMPONENTS] = {
|
||||
{
|
||||
802.82, 0, 0, 1429.12, 2043.71, 0, 517.87, 241.56, 282.8, 0, 2648.83, 2658.45, 3265.54, 3272.45, 3887.71,
|
||||
4502.28, 5116.73, 5732.17, 6346.88, 0, 0
|
||||
},
|
||||
{
|
||||
802.69, 0, 0, 1428.84, 2043.37, 0, 517.95, 241.72, 282.91, 0, 2648.42, 2657.6, 3265.08, 3272, 3887.21,
|
||||
4501.72, 5116.11, 5731.49, 6346.14, 0, 0
|
||||
},
|
||||
{
|
||||
802.65, 0, 0, 1428.74, 2043.23, 0, 517.97, 241.76, 282.95, 0, 2648.26, 2657.45, 3264.89, 3271.83, 3887.01,
|
||||
4501.49, 5115.87, 5731.22, 6345.85, 0, 0
|
||||
},
|
||||
{
|
||||
802.6, 0, 0, 1428.64, 2043.11, 0, 517.99, 241.81, 282.98, 0, 2648.12, 2657.32, 3264.73, 3271.67, 3886.84,
|
||||
4501.3, 5115.66, 5730.99, 6345.59, 0, 0
|
||||
}
|
||||
};
|
||||
memcpy(pDetail->adTableLhvMol, adTableLhvMol, sizeof(adTableLhvMol));
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void Detail_paramdl(Detail *pDetail) {
|
||||
const double adTable5Mri[21] = {
|
||||
16.0430, 28.0135, 44.0100, 30.0700, 44.0970, 18.0153, 34.0820, 2.0159, 28.0100, 31.9988, 58.1230, 58.1230,
|
||||
72.1500, 72.1500, 86.1770, 100.2040, 114.2310, 128.2580, 142.2850, 4.0026, 39.9480
|
||||
};
|
||||
const double adTable5Ei[21] = {
|
||||
151.318300, 99.737780, 241.960600, 244.166700, 298.118300, 514.015600, 296.355000, 26.957940, 105.534800,
|
||||
122.766700, 324.068900, 337.638900, 365.599900, 370.682300, 402.636293, 427.722630, 450.325022, 470.840891,
|
||||
489.558373, 2.610111, 119.629900
|
||||
};
|
||||
const double adTable5Ki[21] = {
|
||||
0.4619255, 0.4479153, 0.4557489, 0.5279209, 0.5837490, 0.3825868, 0.4618263, 0.3514916, 0.4533894, 0.4186954,
|
||||
0.6406937, 0.6341423, 0.6738577, 0.6798307, 0.7175118, 0.7525189, 0.7849550, 0.8152731, 0.8437826, 0.3589888,
|
||||
0.4216551
|
||||
};
|
||||
const double adTable5Gi[21] = {
|
||||
0.000000, 0.027815, 0.189065, 0.079300, 0.141239, 0.332500, 0.088500, 0.034369, 0.038953, 0.021000, 0.256692,
|
||||
0.281835, 0.332267, 0.366911, 0.289731, 0.337542, 0.383381, 0.427354, 0.469659, 0.000000, 0.000000
|
||||
};
|
||||
for (int j = 0; j < NUMBEROFCOMPONENTS; j++) {
|
||||
pDetail->adTable5Qi[j] = 0.0;
|
||||
pDetail->adTable5Fi[j] = 0.0;
|
||||
@ -461,10 +387,28 @@ void Detail_paramdl(Detail *pDetail) {
|
||||
pDetail->adTable5Si[6] = 0.3900;
|
||||
pDetail->adTable5Wi[5] = 1.0000;
|
||||
for (int j = pDetail->iNCC - 1; j >= 0; j--) {
|
||||
const double adTable5Ki[21] = {
|
||||
0.4619255, 0.4479153, 0.4557489, 0.5279209, 0.5837490, 0.3825868, 0.4618263, 0.3514916, 0.4533894, 0.4186954,
|
||||
0.6406937, 0.6341423, 0.6738577, 0.6798307, 0.7175118, 0.7525189, 0.7849550, 0.8152731, 0.8437826, 0.3589888,
|
||||
0.4216551
|
||||
};
|
||||
const double adTable5Mri[21] = {
|
||||
16.0430, 28.0135, 44.0100, 30.0700, 44.0970, 18.0153, 34.0820, 2.0159, 28.0100, 31.9988, 58.1230, 58.1230,
|
||||
72.1500, 72.1500, 86.1770, 100.2040, 114.2310, 128.2580, 142.2850, 4.0026, 39.9480
|
||||
};
|
||||
pDetail->dMri[j] = adTable5Mri[pDetail->aiCID[j]];
|
||||
pDetail->dKi[j] = adTable5Ki[pDetail->aiCID[j]];
|
||||
}
|
||||
for (int j = 0; j < pDetail->iNCC; j++) {
|
||||
const double adTable5Gi[21] = {
|
||||
0.000000, 0.027815, 0.189065, 0.079300, 0.141239, 0.332500, 0.088500, 0.034369, 0.038953, 0.021000, 0.256692,
|
||||
0.281835, 0.332267, 0.366911, 0.289731, 0.337542, 0.383381, 0.427354, 0.469659, 0.000000, 0.000000
|
||||
};
|
||||
const double adTable5Ei[21] = {
|
||||
151.318300, 99.737780, 241.960600, 244.166700, 298.118300, 514.015600, 296.355000, 26.957940, 105.534800,
|
||||
122.766700, 324.068900, 337.638900, 365.599900, 370.682300, 402.636293, 427.722630, 450.325022, 470.840891,
|
||||
489.558373, 2.610111, 119.629900
|
||||
};
|
||||
pDetail->dGi[j] = adTable5Gi[pDetail->aiCID[j]];
|
||||
pDetail->dEi[j] = adTable5Ei[pDetail->aiCID[j]];
|
||||
}
|
||||
@ -485,6 +429,64 @@ void Detail_paramdl(Detail *pDetail) {
|
||||
}
|
||||
}
|
||||
|
||||
void Detail_dhvMol(Detail *pDetail, NGParSTRUCT *ptNGPar) {
|
||||
const double adTableHhvMol[4][NUMBEROFCOMPONENTS] = {
|
||||
{ //0
|
||||
892.97, 0, 0, 1564.34, 2224.01, 45.074, 562.94, 286.63, 282.8, 0, 2874.2, 2883.82, 3535.98, 3542.89,
|
||||
4203.23, 4862.87, 5522.4, 6182.91, 6842.69, 0, 0
|
||||
},
|
||||
{ //15
|
||||
891.56, 0, 0, 1562.14, 2221.1, 44.43, 562.38, 286.15, 282.91, 0, 2870.58, 2879.76, 3531.68, 3538.6,
|
||||
4198.24, 4857.18, 5516.01, 6175.82, 6834.9, 0, 0
|
||||
},
|
||||
{ //20
|
||||
891.09, 0, 0, 1561.41, 2220.13, 44.22, 562.19, 285.99, 282.95, 0, 2869.38, 2878.57, 3530.24, 3537.17,
|
||||
4196.58, 4855.29, 5513.88, 6173.46, 6832.31, 0, 0
|
||||
},
|
||||
{ //25
|
||||
890.63, 0, 0, 1560.69, 2219.17, 44.016, 562.01, 285.83, 282.98, 0, 2868.2, 2877.4, 3528.83, 3535.77,
|
||||
4194.95, 4853.43, 5511.8, 6171.15, 6829.77, 0, 0
|
||||
}
|
||||
};
|
||||
|
||||
const double adTableLhvMol[4][NUMBEROFCOMPONENTS] = {
|
||||
{ //0
|
||||
802.82, 0, 0, 1429.12, 2043.71, 0, 517.87, 241.56, 282.8, 0, 2648.83, 2658.45, 3265.54, 3272.45, 3887.71,
|
||||
4502.28, 5116.73, 5732.17, 6346.88, 0, 0
|
||||
},
|
||||
{ //15
|
||||
802.69, 0, 0, 1428.84, 2043.37, 0, 517.95, 241.72, 282.91, 0, 2648.42, 2657.6, 3265.08, 3272, 3887.21,
|
||||
4501.72, 5116.11, 5731.49, 6346.14, 0, 0
|
||||
},
|
||||
{ //20
|
||||
802.65, 0, 0, 1428.74, 2043.23, 0, 517.97, 241.76, 282.95, 0, 2648.26, 2657.45, 3264.89, 3271.83, 3887.01,
|
||||
4501.49, 5115.87, 5731.22, 6345.85, 0, 0
|
||||
},
|
||||
{ //25
|
||||
802.6, 0, 0, 1428.64, 2043.11, 0, 517.99, 241.81, 282.98, 0, 2648.12, 2657.32, 3264.73, 3271.67, 3886.84,
|
||||
4501.3, 5115.66, 5730.99, 6345.59, 0, 0
|
||||
}
|
||||
};
|
||||
for (int i = 0; i <NUMBEROFCOMPONENTS; i++) {
|
||||
switch (ptNGPar->dCbtj)
|
||||
{
|
||||
case 0:
|
||||
ptNGPar->dHhvMol += adTableHhvMol[0][i] * ptNGPar->adMixture[i];
|
||||
ptNGPar->dLhvMol +=adTableLhvMol[0][i] * ptNGPar->adMixture[i];
|
||||
break;
|
||||
case 1:
|
||||
ptNGPar->dHhvMol += adTableHhvMol[1][i] * ptNGPar->adMixture[i];
|
||||
ptNGPar->dLhvMol += adTableLhvMol[1][i] * ptNGPar->adMixture[i];
|
||||
break;
|
||||
case 2:
|
||||
ptNGPar->dHhvMol += adTableHhvMol[2][i] * ptNGPar->adMixture[i];
|
||||
ptNGPar->dLhvMol += adTableLhvMol[2][i] * ptNGPar->adMixture[i];
|
||||
break;
|
||||
default: ;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void Detail_chardl(Detail *pDetail, NGParSTRUCT *ptNGPar)
|
||||
{
|
||||
double tmfrac = 0.0;
|
||||
@ -507,20 +509,7 @@ void Detail_chardl(Detail *pDetail, NGParSTRUCT *ptNGPar)
|
||||
ptNGPar->dLhvMol = 0.0;
|
||||
for (int i = 0; i < pDetail->iNCC; i++) {
|
||||
ptNGPar->dMrx += pDetail->dXi[i] * pDetail->dMri[i];
|
||||
switch (ptNGPar->dCbtj) {
|
||||
case 2:
|
||||
ptNGPar->dHhvMol += pDetail->adTableHhvMol[0][i] * ptNGPar->adMixture[i];
|
||||
ptNGPar->dLhvMol += pDetail->adTableHhvMol[0][i] * ptNGPar->adMixture[i];
|
||||
break;
|
||||
case 1:
|
||||
ptNGPar->dHhvMol += pDetail->adTableHhvMol[1][i] * ptNGPar->adMixture[i];
|
||||
ptNGPar->dLhvMol += pDetail->adTableLhvMol[1][i] * ptNGPar->adMixture[i];
|
||||
break;
|
||||
case 0:
|
||||
ptNGPar->dHhvMol += pDetail->adTableHhvMol[2][i] * ptNGPar->adMixture[i];
|
||||
ptNGPar->dLhvMol += pDetail->adTableLhvMol[2][i] * ptNGPar->adMixture[i];
|
||||
break;
|
||||
}
|
||||
|
||||
k2p5 += pDetail->dXi[i] * pow(pDetail->dKi[i], 2.5);
|
||||
u2p5 += pDetail->dXi[i] * pow(pDetail->dEi[i], 2.5);
|
||||
pDetail->dW += pDetail->dXi[i] * pDetail->dGi[i];
|
||||
@ -528,33 +517,33 @@ void Detail_chardl(Detail *pDetail, NGParSTRUCT *ptNGPar)
|
||||
pDetail->dF += pDetail->dXi[i] * pDetail->dXi[i] * pDetail->dFi[i];
|
||||
|
||||
for (int j = i; j < pDetail->iNCC; j++) {
|
||||
double Xij = (i == j) ? pDetail->dXi[i] * pDetail->dXi[j] : 2.0 * pDetail->dXi[i] * pDetail->dXi[j];
|
||||
const double Xij = (i == j) ? pDetail->dXi[i] * pDetail->dXi[j] : 2.0 * pDetail->dXi[i] * pDetail->dXi[j];
|
||||
if (pDetail->dKij[i][j] != 1.0) {
|
||||
double term = pow(pDetail->dKi[i] * pDetail->dKi[j], 2.5);
|
||||
const double term = pow(pDetail->dKi[i] * pDetail->dKi[j], 2.5);
|
||||
k5p0 += Xij * (pow(pDetail->dKij[i][j], 5.0) - 1.0) * term;
|
||||
}
|
||||
if (pDetail->dUij[i][j] != 1.0) {
|
||||
double term = pow(pDetail->dEi[i] * pDetail->dEi[j], 2.5);
|
||||
const double term = pow(pDetail->dEi[i] * pDetail->dEi[j], 2.5);
|
||||
u5p0 += Xij * (pow(pDetail->dUij[i][j], 5.0) - 1.0) * term;
|
||||
}
|
||||
if (pDetail->dGij[i][j] != 1.0) {
|
||||
double avgG = (pDetail->dGi[i] + pDetail->dGi[j]) / 2.0;
|
||||
const double avgG = (pDetail->dGi[i] + pDetail->dGi[j]) / 2.0;
|
||||
pDetail->dW += Xij * (pDetail->dGij[i][j] - 1.0) * avgG;
|
||||
}
|
||||
double Eij = pDetail->dEij[i][j] * sqrt(pDetail->dEi[i] * pDetail->dEi[j]);
|
||||
double Gij = pDetail->dGij[i][j] * (pDetail->dGi[i] + pDetail->dGi[j]) / 2.0;
|
||||
double e0p5 = sqrt(Eij);
|
||||
double e2p0 = Eij * Eij;
|
||||
double e3p0 = Eij * e2p0;
|
||||
double e3p5 = e3p0 * e0p5;
|
||||
double e4p5 = Eij * e3p5;
|
||||
double e6p0 = e3p0 * e3p0;
|
||||
double e7p5 = e4p5 * Eij * e2p0;
|
||||
double e9p5 = e7p5 * e2p0;
|
||||
double e11p0 = e4p5 * e4p5 * e2p0;
|
||||
double e12p0 = e11p0 * Eij;
|
||||
double e12p5 = e12p0 * e0p5;
|
||||
double s3 = Xij * pow(pow(pDetail->dKi[i], 3.0) * pow(pDetail->dKi[j], 3.0), 0.5);
|
||||
const double Eij = pDetail->dEij[i][j] * sqrt(pDetail->dEi[i] * pDetail->dEi[j]);
|
||||
const double Gij = pDetail->dGij[i][j] * (pDetail->dGi[i] + pDetail->dGi[j]) / 2.0;
|
||||
const double e0p5 = sqrt(Eij);
|
||||
const double e2p0 = Eij * Eij;
|
||||
const double e3p0 = Eij * e2p0;
|
||||
const double e3p5 = e3p0 * e0p5;
|
||||
const double e4p5 = Eij * e3p5;
|
||||
const double e6p0 = e3p0 * e3p0;
|
||||
const double e7p5 = e4p5 * Eij * e2p0;
|
||||
const double e9p5 = e7p5 * e2p0;
|
||||
const double e11p0 = e4p5 * e4p5 * e2p0;
|
||||
const double e12p0 = e11p0 * Eij;
|
||||
const double e12p5 = e12p0 * e0p5;
|
||||
const double s3 = Xij * pow(pow(pDetail->dKi[i], 3.0) * pow(pDetail->dKi[j], 3.0), 0.5);
|
||||
pDetail->adBcoef[0] += s3;
|
||||
pDetail->adBcoef[1] += s3 * e0p5;
|
||||
pDetail->adBcoef[2] += s3 * Eij;
|
||||
@ -576,8 +565,6 @@ void Detail_chardl(Detail *pDetail, NGParSTRUCT *ptNGPar)
|
||||
}
|
||||
}
|
||||
|
||||
ptNGPar->dHhvMol = ptNGPar->dHhvMol / ptNGPar->dMrx;
|
||||
ptNGPar->dLhvMol = ptNGPar->dLhvMol / ptNGPar->dMrx;
|
||||
|
||||
for (int i = 0; i < 18; i++) {
|
||||
pDetail->adBcoef[i] *= pDetail->adAn[i];
|
||||
@ -589,20 +576,20 @@ void Detail_chardl(Detail *pDetail, NGParSTRUCT *ptNGPar)
|
||||
|
||||
void Detail_bvir(Detail *pDetail) {
|
||||
pDetail->dB = pDetail->ddBdT = pDetail->dd2BdT2 = 0.0;
|
||||
double t = pDetail->dT;
|
||||
double t0p5 = sqrt(t);
|
||||
double t2p0 = t * t;
|
||||
double t3p0 = t * t2p0;
|
||||
double t3p5 = t3p0 * t0p5;
|
||||
double t4p5 = t * t3p5;
|
||||
double t6p0 = t3p0 * t3p0;
|
||||
double t11p0 = t4p5 * t4p5 * t2p0;
|
||||
double t7p5 = t6p0 * t * t0p5;
|
||||
double t9p5 = t7p5 * t2p0;
|
||||
double t12p0 = t9p5 * t0p5 * t2p0;
|
||||
double t12p5 = t12p0 * t0p5;
|
||||
double t1p5 = t * t0p5;
|
||||
double t4p0 = t2p0 * t2p0;
|
||||
const double t = pDetail->dT;
|
||||
const double t0p5 = sqrt(t);
|
||||
const double t2p0 = t * t;
|
||||
const double t3p0 = t * t2p0;
|
||||
const double t3p5 = t3p0 * t0p5;
|
||||
const double t4p5 = t * t3p5;
|
||||
const double t6p0 = t3p0 * t3p0;
|
||||
const double t11p0 = t4p5 * t4p5 * t2p0;
|
||||
const double t7p5 = t6p0 * t * t0p5;
|
||||
const double t9p5 = t7p5 * t2p0;
|
||||
const double t12p0 = t9p5 * t0p5 * t2p0;
|
||||
const double t12p5 = t12p0 * t0p5;
|
||||
// double t1p5 = t * t0p5;
|
||||
// double t4p0 = t2p0 * t2p0;
|
||||
double Bx[18];
|
||||
Bx[0] = pDetail->adBcoef[0];
|
||||
Bx[1] = pDetail->adBcoef[1] / t0p5;
|
||||
@ -650,25 +637,22 @@ void Detail_bvir(Detail *pDetail) {
|
||||
|
||||
void Detail_temp(Detail *pDetail) {
|
||||
Detail_bvir(pDetail);
|
||||
double tr = pDetail->dT / pDetail->dU;
|
||||
double tr0p5, tr1p5, tr2p0, tr3p0, tr4p0, tr5p0, tr6p0;
|
||||
double tr7p0, tr8p0, tr9p0, tr11p0, tr13p0, tr21p0;
|
||||
double tr22p0, tr23p0 ;
|
||||
tr0p5 = sqrt(tr);
|
||||
tr1p5 = tr * tr0p5;
|
||||
tr2p0 = tr * tr;
|
||||
tr3p0 = tr * tr2p0;
|
||||
tr4p0 = tr * tr3p0;
|
||||
tr5p0 = tr * tr4p0;
|
||||
tr6p0 = tr * tr5p0;
|
||||
tr7p0 = tr * tr6p0;
|
||||
tr8p0 = tr * tr7p0;
|
||||
tr9p0 = tr * tr8p0;
|
||||
tr11p0 = tr6p0 * tr5p0;
|
||||
tr13p0 = tr6p0 * tr7p0;
|
||||
tr21p0 = tr9p0 * tr9p0 * tr3p0;
|
||||
tr22p0 = tr * tr21p0;
|
||||
tr23p0 = tr * tr22p0;
|
||||
const double tr = pDetail->dT / pDetail->dU;
|
||||
const double tr0p5 = sqrt(tr);
|
||||
const double tr1p5 = tr * tr0p5;
|
||||
const double tr2p0 = tr * tr;
|
||||
const double tr3p0 = tr * tr2p0;
|
||||
const double tr4p0 = tr * tr3p0;
|
||||
const double tr5p0 = tr * tr4p0;
|
||||
const double tr6p0 = tr * tr5p0;
|
||||
const double tr7p0 = tr * tr6p0;
|
||||
const double tr8p0 = tr * tr7p0;
|
||||
const double tr9p0 = tr * tr8p0;
|
||||
const double tr11p0 = tr6p0 * tr5p0;
|
||||
const double tr13p0 = tr6p0 * tr7p0;
|
||||
const double tr21p0 = tr9p0 * tr9p0 * tr3p0;
|
||||
const double tr22p0 = tr * tr21p0;
|
||||
const double tr23p0 = tr * tr22p0;
|
||||
|
||||
pDetail->adFn[12] = pDetail->adAn[12] * pDetail->dF * tr6p0;
|
||||
pDetail->adFn[13] = pDetail->adAn[13] / tr2p0;
|
||||
@ -720,30 +704,26 @@ void Detail_temp(Detail *pDetail) {
|
||||
}
|
||||
|
||||
void Detail_ddetail(Detail *pDetail, NGParSTRUCT *ptNGPar) {
|
||||
int imax, i;
|
||||
double epsp, epsr, epsmin;
|
||||
double x1, x2, x3, y1, y2, y3;
|
||||
double delx, delprv, delmin, delbis, xnumer, xdenom, sgndel;
|
||||
double y2my3, y3my1, y1my2, boundn;
|
||||
imax = 150;
|
||||
epsp = 1.e-6;
|
||||
epsr = 1.e-6;
|
||||
epsmin = 1.e-7;
|
||||
double xnumer, xdenom;
|
||||
const int imax = 150;
|
||||
pDetail->dRho = 0.0;
|
||||
Detail_braket(pDetail, ptNGPar);
|
||||
if (ptNGPar->lStatus == MAX_NUM_OF_ITERATIONS_EXCEEDED ||
|
||||
ptNGPar->lStatus == NEGATIVE_DENSITY_DERIVATIVE) {
|
||||
return;
|
||||
}
|
||||
x1 = pDetail->dRhoL;
|
||||
x2 = pDetail->dRhoH;
|
||||
y1 = pDetail->dPRhoL - pDetail->dP;
|
||||
y2 = pDetail->dPRhoH - pDetail->dP;
|
||||
delx = x1 - x2;
|
||||
delprv = delx;
|
||||
x3 = x1;
|
||||
y3 = y1;
|
||||
for (i = 0; i < imax; i++) {
|
||||
double x1 = pDetail->dRhoL;
|
||||
double x2 = pDetail->dRhoH;
|
||||
double y1 = pDetail->dPRhoL - pDetail->dP;
|
||||
double y2 = pDetail->dPRhoH - pDetail->dP;
|
||||
double delx = x1 - x2;
|
||||
double delprv = delx;
|
||||
double x3 = x1;
|
||||
double y3 = y1;
|
||||
for (int i = 0; i < imax; i++) {
|
||||
const double epsmin = 1.e-7;
|
||||
const double epsr = 1.e-6;
|
||||
const double epsp = 1.e-6;
|
||||
if (y2 * y3 > 0.0) {
|
||||
x3 = x1;
|
||||
y3 = y1;
|
||||
@ -758,16 +738,16 @@ void Detail_ddetail(Detail *pDetail, NGParSTRUCT *ptNGPar) {
|
||||
y2 = y3;
|
||||
y3 = y1;
|
||||
}
|
||||
delmin = epsmin * fabs(x2);
|
||||
delbis = 0.5 * (x3 - x2);
|
||||
const double delmin = epsmin * fabs(x2);
|
||||
const double delbis = 0.5 * (x3 - x2);
|
||||
if (fabs(delprv) < delmin || fabs(y1) < fabs(y2)) {
|
||||
delx = delbis;
|
||||
delprv = delbis;
|
||||
} else {
|
||||
if (x3 != x1) {
|
||||
y2my3 = y2 - y3;
|
||||
y3my1 = y3 - y1;
|
||||
y1my2 = y1 - y2;
|
||||
const double y2my3 = y2 - y3;
|
||||
const double y3my1 = y3 - y1;
|
||||
const double y1my2 = y1 - y2;
|
||||
xdenom = -(y1my2) * (y2my3) * (y3my1);
|
||||
xnumer = x1 * y2 * y3 * (y2my3)
|
||||
+ x2 * y3 * y1 * (y3my1)
|
||||
@ -789,11 +769,11 @@ void Detail_ddetail(Detail *pDetail, NGParSTRUCT *ptNGPar) {
|
||||
return;
|
||||
}
|
||||
if (fabs(delx) < delmin) {
|
||||
sgndel = delbis / fabs(delbis);
|
||||
const double sgndel = delbis / fabs(delbis);
|
||||
delx = 1.0000009 * sgndel * delmin;
|
||||
delprv = delx;
|
||||
}
|
||||
boundn = delx * (x2 + delx - x3);
|
||||
const double boundn = delx * (x2 + delx - x3);
|
||||
if (boundn > 0.0) {
|
||||
delx = delbis;
|
||||
delprv = delbis;
|
||||
@ -809,23 +789,21 @@ void Detail_ddetail(Detail *pDetail, NGParSTRUCT *ptNGPar) {
|
||||
}
|
||||
|
||||
void Detail_braket(Detail *pDetail, NGParSTRUCT *ptNGPar) {
|
||||
int imax, it;
|
||||
double del, rhomax, videal;
|
||||
double rho1, rho2, p1, p2;
|
||||
imax = 200;
|
||||
rho1 = 0.0;
|
||||
p1 = 0.0;
|
||||
rhomax = 1.0 / pDetail->dKp3;
|
||||
double rho2;
|
||||
const int imax = 200;
|
||||
double rho1 = 0.0;
|
||||
double p1 = 0.0;
|
||||
double rhomax = 1.0 / pDetail->dKp3;
|
||||
if (pDetail->dT > 1.2593 * pDetail->dU)
|
||||
rhomax = 20.0 * rhomax;
|
||||
videal = RGASKJ * pDetail->dT / pDetail->dP;
|
||||
const double videal = RGASKJ * pDetail->dT / pDetail->dP;
|
||||
if (fabs(pDetail->dB) < (0.167 * videal)) {
|
||||
rho2 = 0.95 / (videal + pDetail->dB);
|
||||
} else {
|
||||
rho2 = 1.15 / videal;
|
||||
}
|
||||
del = rho2 / 20.0;
|
||||
for (it = 0; it < imax; it++) {
|
||||
double del = rho2 / 20.0;
|
||||
for (int it = 0; it < imax; it++) {
|
||||
if (rho2 > rhomax && ptNGPar->lStatus != MAX_DENSITY_IN_BRAKET_EXCEEDED) {
|
||||
ptNGPar->lStatus = MAX_DENSITY_IN_BRAKET_EXCEEDED;
|
||||
del = 0.01 * (rhomax - rho1) + (pDetail->dP / (RGASKJ * pDetail->dT)) / 20.0;
|
||||
@ -833,7 +811,7 @@ void Detail_braket(Detail *pDetail, NGParSTRUCT *ptNGPar) {
|
||||
continue;
|
||||
}
|
||||
Detail_pdetail(pDetail, rho2);
|
||||
p2 = pDetail->dPCalc;
|
||||
const double p2 = pDetail->dPCalc;
|
||||
if (p2 > pDetail->dP) {
|
||||
pDetail->dRhoL = rho1;
|
||||
pDetail->dPRhoL = p1;
|
||||
@ -856,7 +834,6 @@ void Detail_braket(Detail *pDetail, NGParSTRUCT *ptNGPar) {
|
||||
}
|
||||
ptNGPar->lStatus = MAX_NUM_OF_ITERATIONS_EXCEEDED;
|
||||
pDetail->dRho = rho2;
|
||||
return;
|
||||
}
|
||||
|
||||
void Detail_pdetail(Detail *pDetail, double dD) {
|
||||
@ -864,20 +841,19 @@ void Detail_pdetail(Detail *pDetail, double dD) {
|
||||
}
|
||||
|
||||
double Detail_zdetail(Detail *pDetail, double d) {
|
||||
double D1, D2, D3, D4, D5, D6, D7, D8, D9, exp1, exp2, exp3, exp4;
|
||||
D1 = pDetail->dKp3 * d;
|
||||
D2 = D1 * D1;
|
||||
D3 = D2 * D1;
|
||||
D4 = D3 * D1;
|
||||
D5 = D4 * D1;
|
||||
D6 = D5 * D1;
|
||||
D7 = D6 * D1;
|
||||
D8 = D7 * D1;
|
||||
D9 = D8 * D1;
|
||||
exp1 = exp(-D1);
|
||||
exp2 = exp(-D2);
|
||||
exp3 = exp(-D3);
|
||||
exp4 = exp(-D4);
|
||||
const double D1 = pDetail->dKp3 * d;
|
||||
const double D2 = D1 * D1;
|
||||
const double D3 = D2 * D1;
|
||||
const double D4 = D3 * D1;
|
||||
const double D5 = D4 * D1;
|
||||
const double D6 = D5 * D1;
|
||||
const double D7 = D6 * D1;
|
||||
const double D8 = D7 * D1;
|
||||
const double D9 = D8 * D1;
|
||||
const double exp1 = exp(-D1);
|
||||
const double exp2 = exp(-D2);
|
||||
const double exp3 = exp(-D3);
|
||||
const double exp4 = exp(-D4);
|
||||
pDetail->dZ = 1.0 + pDetail->dB * d
|
||||
+ pDetail->adFn[12] * D1 * (exp3 - 1.0 - 3.0 * D3 * exp3)
|
||||
+ (pDetail->adFn[13] + pDetail->adFn[14] + pDetail->adFn[15]) * D1 * (exp2 - 1.0 - 2.0 * D2 * exp2)
|
||||
@ -908,22 +884,19 @@ double Detail_zdetail(Detail *pDetail, double d) {
|
||||
}
|
||||
|
||||
double Detail_dZdT(Detail *pDetail, double d) {
|
||||
double tmp;
|
||||
int i;
|
||||
double D1, D2, D3, D4, D5, D6, D7, D8, exp1, exp2, exp3, exp4;
|
||||
D1 = pDetail->dKp3 * d;
|
||||
D2 = D1 * D1;
|
||||
D3 = D2 * D1;
|
||||
D4 = D3 * D1;
|
||||
D5 = D4 * D1;
|
||||
D6 = D5 * D1;
|
||||
D7 = D6 * D1;
|
||||
D8 = D7 * D1;
|
||||
exp1 = exp(-D1);
|
||||
exp2 = exp(-D2);
|
||||
exp3 = exp(-D3);
|
||||
exp4 = exp(-D4);
|
||||
for (i = 12; i < 58; i++) {
|
||||
const double D1 = pDetail->dKp3 * d;
|
||||
const double D2 = D1 * D1;
|
||||
const double D3 = D2 * D1;
|
||||
const double D4 = D3 * D1;
|
||||
const double D5 = D4 * D1;
|
||||
const double D6 = D5 * D1;
|
||||
const double D7 = D6 * D1;
|
||||
const double D8 = D7 * D1;
|
||||
const double exp1 = exp(-D1);
|
||||
const double exp2 = exp(-D2);
|
||||
const double exp3 = exp(-D3);
|
||||
const double exp4 = exp(-D4);
|
||||
for (int i = 12; i < 58; i++) {
|
||||
if (pDetail->adUn[i] && pDetail->adFn[i]) {
|
||||
pDetail->fx[i] = (pDetail->adFn[i] * pDetail->adUn[i] * D1) / pDetail->dT;
|
||||
} else {
|
||||
@ -933,7 +906,7 @@ double Detail_dZdT(Detail *pDetail, double d) {
|
||||
pDetail->ddZdT = d * pDetail->ddBdT;
|
||||
if (pDetail->dF)
|
||||
pDetail->ddZdT += pDetail->fx[12] - (pDetail->fx[12] * (1.0 - 3.0 * D3) * exp3);
|
||||
tmp = (1.0 - 2.0 * D2) * exp2;
|
||||
double tmp = (1.0 - 2.0 * D2) * exp2;
|
||||
pDetail->ddZdT += (pDetail->fx[13] - (pDetail->fx[13] * tmp));
|
||||
pDetail->ddZdT += pDetail->fx[14] - (pDetail->fx[14] * tmp);
|
||||
pDetail->ddZdT += pDetail->fx[15] - (pDetail->fx[15] * tmp);
|
||||
@ -966,22 +939,19 @@ double Detail_dZdT(Detail *pDetail, double d) {
|
||||
}
|
||||
|
||||
double Detail_d2ZdT2(Detail *pDetail, double d) {
|
||||
double tmp;
|
||||
int i;
|
||||
double D1, D2, D3, D4, D5, D6, D7, D8, exp1, exp2, exp3, exp4;
|
||||
D1 = pDetail->dKp3 * d;
|
||||
D2 = D1 * D1;
|
||||
D3 = D2 * D1;
|
||||
D4 = D3 * D1;
|
||||
D5 = D4 * D1;
|
||||
D6 = D5 * D1;
|
||||
D7 = D6 * D1;
|
||||
D8 = D7 * D1;
|
||||
exp1 = exp(-D1);
|
||||
exp2 = exp(-D2);
|
||||
exp3 = exp(-D3);
|
||||
exp4 = exp(-D4);
|
||||
for (i = 12; i < 58; i++) {
|
||||
const double D1 = pDetail->dKp3 * d;
|
||||
const double D2 = D1 * D1;
|
||||
const double D3 = D2 * D1;
|
||||
const double D4 = D3 * D1;
|
||||
const double D5 = D4 * D1;
|
||||
const double D6 = D5 * D1;
|
||||
const double D7 = D6 * D1;
|
||||
const double D8 = D7 * D1;
|
||||
const double exp1 = exp(-D1);
|
||||
const double exp2 = exp(-D2);
|
||||
const double exp3 = exp(-D3);
|
||||
const double exp4 = exp(-D4);
|
||||
for (int i = 12; i < 58; i++) {
|
||||
if (pDetail->adUn[i] && pDetail->adFn[i]) {
|
||||
pDetail->fx[i] = (pDetail->adFn[i] * D1 * pDetail->adUn[i] * (pDetail->adUn[i] + 1.0)) / (
|
||||
pDetail->dT * pDetail->dT);
|
||||
@ -992,13 +962,13 @@ double Detail_d2ZdT2(Detail *pDetail, double d) {
|
||||
pDetail->dd2ZdT2 = d * pDetail->dd2BdT2;
|
||||
if (pDetail->dF)
|
||||
pDetail->dd2ZdT2 += pDetail->fx[12] - (pDetail->fx[12] * (1.0 - 3.0 * D3) * exp3);
|
||||
tmp = (1.0 - 2.0 * D2) * exp2;
|
||||
double tmp = (1.0 - 2.0 * D2) * exp2;
|
||||
pDetail->dd2ZdT2 += -pDetail->fx[13] + (pDetail->fx[13] * tmp);
|
||||
pDetail->dd2ZdT2 += -pDetail->fx[14] + (pDetail->fx[14] * tmp);
|
||||
pDetail->dd2ZdT2 += -pDetail->fx[15] + (pDetail->fx[15] * tmp);
|
||||
tmp = (1.0 - 4.0 * D4) * exp4;
|
||||
pDetail->dd2ZdT2 += -pDetail->fx[16] + (pDetail->fx[16] * tmp);
|
||||
pDetail->dd2ZdT2 += -pDetail->fx[17] + (pDetail->fx[17] * tmp);
|
||||
pDetail->dd2ZdT2 += -pDetail->fx[17] + pDetail->fx[17] * tmp;
|
||||
pDetail->dd2ZdT2 = pDetail->dd2ZdT2 + (pDetail->fx[18] + pDetail->fx[19]) * D1 * 2.0
|
||||
+ (pDetail->fx[21] + pDetail->fx[22]) * D1 * (2.0 - 2.0 * D2) * exp2
|
||||
+ (pDetail->fx[23] + pDetail->fx[24] + pDetail->fx[25]) * D1 * (2.0 - 4.0 * D4) * exp4
|
||||
@ -1026,21 +996,19 @@ double Detail_d2ZdT2(Detail *pDetail, double d) {
|
||||
|
||||
double Detail_dZdD(Detail *pDetail, double d) {
|
||||
double temp, temp1, temp2, temp3;
|
||||
int i;
|
||||
double D1, D2, D3, D4, D5, D6, D7, D8, exp1, exp2, exp3, exp4;
|
||||
D1 = pDetail->dKp3 * d;
|
||||
D2 = D1 * D1;
|
||||
D3 = D2 * D1;
|
||||
D4 = D3 * D1;
|
||||
D5 = D4 * D1;
|
||||
D6 = D5 * D1;
|
||||
D7 = D6 * D1;
|
||||
D8 = D7 * D1;
|
||||
exp1 = exp(-D1);
|
||||
exp2 = exp(-D2);
|
||||
exp3 = exp(-D3);
|
||||
exp4 = exp(-D4);
|
||||
for (i = 12; i < 58; i++) {
|
||||
const double D1 = pDetail->dKp3 * d;
|
||||
const double D2 = D1 * D1;
|
||||
const double D3 = D2 * D1;
|
||||
const double D4 = D3 * D1;
|
||||
const double D5 = D4 * D1;
|
||||
const double D6 = D5 * D1;
|
||||
const double D7 = D6 * D1;
|
||||
const double D8 = D7 * D1;
|
||||
const double exp1 = exp(-D1);
|
||||
const double exp2 = exp(-D2);
|
||||
const double exp3 = exp(-D3);
|
||||
const double exp4 = exp(-D4);
|
||||
for (int i = 12; i < 58; i++) {
|
||||
pDetail->fx[i] = pDetail->adFn[i];
|
||||
}
|
||||
pDetail->ddZdD = pDetail->dB / pDetail->dKp3;
|
||||
@ -1156,11 +1124,10 @@ double Detail_dZdD(Detail *pDetail, double d) {
|
||||
return pDetail->ddZdD;
|
||||
}
|
||||
|
||||
void Detail_relativedensity(Detail *pDetail, NGParSTRUCT *ptNGPar) {
|
||||
double dBX, dZa;
|
||||
void Detail_relativedensity(const Detail *pDetail, NGParSTRUCT *ptNGPar) {
|
||||
const double dMWair = 28.96256;
|
||||
dBX = -0.12527 + 5.91e-4 * ptNGPar->dTb - 6.62e-7 * ptNGPar->dTb * ptNGPar->dTb;
|
||||
dZa = 1.0 + (dBX * pDetail->dP) / (RGASKJ * ptNGPar->dTb);
|
||||
const double dBX = -0.12527 + 5.91e-4 * ptNGPar->dTb - 6.62e-7 * ptNGPar->dTb * ptNGPar->dTb;
|
||||
const double dZa = 1.0 + (dBX * pDetail->dP) / (RGASKJ * ptNGPar->dTb);
|
||||
ptNGPar->dRD_Ideal = ptNGPar->dMrx / dMWair;
|
||||
ptNGPar->dRD_Real = ptNGPar->dRD_Ideal * (dZa / ptNGPar->dZb);
|
||||
}
|
||||
|
@ -6,7 +6,6 @@
|
||||
#define _DETAIL_H
|
||||
|
||||
#include "NGCal.h"
|
||||
#include <stdbool.h>
|
||||
|
||||
|
||||
typedef struct Detail {
|
||||
@ -50,9 +49,6 @@ typedef struct Detail {
|
||||
double adTable5Si[21];
|
||||
double adTable5Wi[21];
|
||||
|
||||
double adTableHhvMol[4][21];
|
||||
double adTableLhvMol[4][21];
|
||||
|
||||
double dXi[21];
|
||||
double dPCalc;
|
||||
double dT;
|
||||
@ -88,7 +84,7 @@ Detail *Detail_Construct(void);
|
||||
void Detail_Destroy(Detail *pDetail);
|
||||
|
||||
|
||||
int Detail_compositionchange(Detail *pDetail, NGParSTRUCT *pAGA10);
|
||||
int Detail_compositionchange(Detail *pDetail, const NGParSTRUCT *pAGA10);
|
||||
|
||||
int Detail_table(Detail *pDetail);
|
||||
|
||||
@ -96,6 +92,8 @@ void Detail_paramdl(Detail *pDetail);
|
||||
|
||||
void Detail_chardl(Detail *pDetail, NGParSTRUCT *pAGA10);
|
||||
|
||||
void Detail_dhvMol(Detail *pDetail, NGParSTRUCT *pAGA10);
|
||||
|
||||
void Detail_bvir(Detail *pDetail);
|
||||
|
||||
void Detail_temp(Detail *pDetail);
|
||||
@ -106,7 +104,7 @@ void Detail_pdetail(Detail *pDetail, double dRho);
|
||||
|
||||
void Detail_ddetail(Detail *pDetail, NGParSTRUCT *pAGA10);
|
||||
|
||||
void Detail_relativedensity(Detail *pDetail, NGParSTRUCT *pAGA10);
|
||||
void Detail_relativedensity(const Detail *pDetail, NGParSTRUCT *pAGA10);
|
||||
|
||||
|
||||
double Detail_zdetail(Detail *pDetail, double dRho);
|
||||
|
@ -3,9 +3,36 @@
|
||||
//
|
||||
#include "NGCal.h"
|
||||
#include "FlowCal.h"
|
||||
#include "math.h"
|
||||
|
||||
|
||||
double format_double(double value, int digits) {
|
||||
// 处理默认位数(4位)
|
||||
if (digits == 0) {
|
||||
digits = 4;
|
||||
}
|
||||
|
||||
// 验证位数有效性
|
||||
if (digits < 1 || digits > 5) {
|
||||
fprintf(stderr, "Error: Invalid digit value (must be 1-5 or 0 for default)\n");
|
||||
return NAN; // 返回 NaN 表示错误
|
||||
}
|
||||
|
||||
char format_str[10];
|
||||
char buffer[50];
|
||||
|
||||
// 生成动态格式字符串(如 "%.4f")
|
||||
snprintf(format_str, sizeof(format_str), "%%.%df", digits);
|
||||
|
||||
// 格式化数值到字符串
|
||||
snprintf(buffer, sizeof(buffer), format_str, value);
|
||||
|
||||
// 转换回 double
|
||||
double result = strtod(buffer, NULL);
|
||||
return result;
|
||||
}
|
||||
|
||||
void OFlowCal(FlowParSTRUCT *ptFlowPar, NGParSTRUCT *ptNGPar) {
|
||||
|
||||
double tempPatm = ptFlowPar->dPatm * 1000000;
|
||||
|
||||
double tempPf = ptFlowPar->dPf * 1000000;
|
||||
@ -15,8 +42,7 @@ void OFlowCal(FlowParSTRUCT *ptFlowPar, NGParSTRUCT *ptNGPar) {
|
||||
|
||||
double tempTf = ptFlowPar->dTf + 273.15;
|
||||
|
||||
if (ptFlowPar->dPfType == 0)
|
||||
{
|
||||
if (ptFlowPar->dPfType == 0) {
|
||||
ptFlowPar->dPf = tempPatm + tempPf;
|
||||
ptNGPar->dPf = tempPatm + tempPf;
|
||||
} else {
|
||||
@ -50,6 +76,7 @@ void OFlowCal(FlowParSTRUCT *ptFlowPar, NGParSTRUCT *ptNGPar) {
|
||||
ptFlowPar->dPb_M = (101325);
|
||||
ptFlowPar->dTb_M = (293.15);
|
||||
break;
|
||||
default: ;
|
||||
}
|
||||
|
||||
double ngArray[NUMBEROFCOMPONENTS];
|
||||
@ -61,24 +88,24 @@ void OFlowCal(FlowParSTRUCT *ptFlowPar, NGParSTRUCT *ptNGPar) {
|
||||
Crit(ptNGPar, 0);
|
||||
|
||||
|
||||
ptFlowPar->dFpv = ptNGPar->dFpv;
|
||||
ptFlowPar->dFpv = format_double(ptNGPar->dFpv, 4);
|
||||
|
||||
|
||||
ptFlowPar->dOrificeD = format_double(ptFlowPar->dOrificeD * (
|
||||
1 + 0.000001 * CaiLiaoPzxs(ptFlowPar->dOrificeMaterial) * (
|
||||
ptFlowPar->dTf - 293.15)), 2);
|
||||
ptFlowPar->dPipeD = format_double(ptFlowPar->dPipeD * (1 + 0.000001 * CaiLiaoPzxs(ptFlowPar->dPipeMaterial) * (
|
||||
ptFlowPar->dTf - 293.15)), 2);
|
||||
ptFlowPar->dBeta = format_double(ptFlowPar->dOrificeD / ptFlowPar->dPipeD, 4);
|
||||
|
||||
ptFlowPar->dOrificeD = ptFlowPar->dOrificeD * (
|
||||
1 + 0.000001 * CaiLiaoPzxs(ptFlowPar->dOrificeMaterial) * (ptFlowPar->dTf - 293.15));
|
||||
ptFlowPar->dPipeD = ptFlowPar->dPipeD * (1 + 0.000001 * CaiLiaoPzxs(ptFlowPar->dPipeMaterial) * (
|
||||
ptFlowPar->dTf - 293.15));
|
||||
ptFlowPar->dBeta = ptFlowPar->dOrificeD / ptFlowPar->dPipeD;
|
||||
ptFlowPar->dE = format_double(calculateE(ptFlowPar->dBeta), 4);
|
||||
ptFlowPar->dFG = format_double(calculateFG(ptNGPar->dRD_Real), 4);
|
||||
ptFlowPar->dFT = format_double(calculateFT(ptFlowPar->dTb_M, ptFlowPar->dTf), 4);
|
||||
|
||||
ptFlowPar->dE = calculateE(ptFlowPar->dBeta);
|
||||
ptFlowPar->dFG = calculateFG(ptNGPar->dRD_Real);
|
||||
ptFlowPar->dFT = calculateFT(ptFlowPar->dTb_M, ptFlowPar->dTf);
|
||||
|
||||
ptFlowPar->dKappa = calculateKappa(ptNGPar->dZf);
|
||||
ptFlowPar->dDViscosity = Dlndjs(ptFlowPar->dPf / 1e6, ptFlowPar->dTf);
|
||||
ptFlowPar->dDExpCoefficient = calculateEpsilon(ptFlowPar->dPf, ptFlowPar->dDp,
|
||||
ptFlowPar->dBeta, ptFlowPar->dKappa);
|
||||
ptFlowPar->dKappa = format_double(calculateKappa(ptNGPar->dZf), 4);
|
||||
ptFlowPar->dDViscosity = format_double(Dlndjs(ptFlowPar->dPf / 1e6, ptFlowPar->dTf), 5);
|
||||
ptFlowPar->dDExpCoefficient = format_double(calculateEpsilon(ptFlowPar->dPf, ptFlowPar->dDp,
|
||||
ptFlowPar->dBeta, ptFlowPar->dKappa), 4);
|
||||
|
||||
double D = ptFlowPar->dPipeD / 1000.0;
|
||||
double d = ptFlowPar->dOrificeD / 1000.0;
|
||||
@ -92,38 +119,25 @@ void OFlowCal(FlowParSTRUCT *ptFlowPar, NGParSTRUCT *ptNGPar) {
|
||||
double Qf_initial = (C_initial * ptFlowPar->dE * ptFlowPar->dDExpCoefficient * M_PI * pow(d, 2) / 4)
|
||||
* sqrt(2 * deltaP / (ptNGPar->dRhof * (1 - pow(beta, 4))));
|
||||
ptFlowPar->dVFlowf = Qf_initial;
|
||||
|
||||
|
||||
double tolerance = 1e-6;
|
||||
int maxIter = 100;
|
||||
double currentC = C_initial;
|
||||
double currentReD = calculateReD(Qf_initial, D, ptNGPar->dRhof, ptFlowPar->dDViscosity);
|
||||
int iter = 0;
|
||||
double prevC = 0;
|
||||
|
||||
|
||||
do {
|
||||
int maxIter = 100;
|
||||
prevC = currentC;
|
||||
|
||||
|
||||
currentC = calculateCd(beta, currentReD, ptFlowPar->dPipeD, ptFlowPar->dPtmode);
|
||||
|
||||
|
||||
double Qf = (currentC * ptFlowPar->dDExpCoefficient * M_PI * pow(d, 2) / 4)
|
||||
* sqrt(2 * deltaP / (ptNGPar->dRhof * (1 - pow(beta, 4))));
|
||||
ptFlowPar->dVFlowf = Qf;
|
||||
|
||||
|
||||
currentReD = calculateReD(Qf, D, ptNGPar->dRhof, ptFlowPar->dDViscosity);
|
||||
|
||||
iter++;
|
||||
if (iter > maxIter) {
|
||||
fprintf(stderr, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n");
|
||||
fprintf(stderr, "\n");
|
||||
}
|
||||
} while (fabs(currentC - prevC) / currentC > tolerance);
|
||||
|
||||
|
||||
|
||||
double K = calculateK(ptFlowPar->dPipeType);
|
||||
double G_me = calculateRoughnessFactor(ptFlowPar->dPipeD, K, currentC);
|
||||
double C_corrected = currentC * G_me;
|
||||
@ -131,26 +145,16 @@ void OFlowCal(FlowParSTRUCT *ptFlowPar, NGParSTRUCT *ptNGPar) {
|
||||
ptFlowPar->dCd = C_corrected;
|
||||
ptFlowPar->dRoughNessPipe = G_me;
|
||||
ptFlowPar->dRnPipe = currentReD;
|
||||
|
||||
|
||||
double Qn = ptFlowPar->dVFlowf * (ptFlowPar->dFpv * ptFlowPar->dFpv * P1 / ptFlowPar->dPb_M)
|
||||
* (ptFlowPar->dTb_M) / Tf;
|
||||
ptFlowPar->dVFlowb = Qn;
|
||||
|
||||
|
||||
ptFlowPar->dMFlowb = ptFlowPar->dVFlowb * ptNGPar->dRhob;
|
||||
|
||||
ptFlowPar->dEFlowb = ptFlowPar->dVFlowb * ptNGPar->dHhvMol;
|
||||
|
||||
ptFlowPar->dEFlowb = ptFlowPar->dVFlowb * ptNGPar->dHhvMol * ptFlowPar->dPb_M * 1e-6 / RGASKJ / ptFlowPar->dTb_M;
|
||||
ptFlowPar->dVelocityFlow = ptFlowPar->dVFlowf / (M_PI * pow((ptFlowPar->dPipeD / 2000), 2));
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
double CaiLiaoPzxs(int tempCaiLiao) {
|
||||
double CaiLiaoPzxs(const int tempCaiLiao) {
|
||||
double CaiLiaoPzxs = 0;
|
||||
switch (tempCaiLiao) {
|
||||
case 0:
|
||||
@ -212,6 +216,7 @@ double CaiLiaoPzxs(int tempCaiLiao) {
|
||||
case 14:
|
||||
CaiLiaoPzxs = 17.2;
|
||||
break;
|
||||
default: ;
|
||||
}
|
||||
return CaiLiaoPzxs;
|
||||
}
|
||||
@ -261,9 +266,7 @@ double calculateK(int dPipeType) {
|
||||
}
|
||||
|
||||
|
||||
|
||||
double calculateRoughnessFactor(double D_pipe, double K, double C) {
|
||||
|
||||
double K_over_D = K / D_pipe;
|
||||
|
||||
|
||||
@ -274,7 +277,9 @@ double calculateRoughnessFactor(double D_pipe, double K, double C) {
|
||||
|
||||
double term = (K_over_D * 1e6) - 400;
|
||||
if (term < 0) {
|
||||
fprintf(stderr, "K/D <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD>÷<EFBFBD>Χ\n");
|
||||
fprintf(
|
||||
stderr,
|
||||
"K/D <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD>÷<EFBFBD>Χ\n");
|
||||
return FLOW_CALC_ERROR;
|
||||
}
|
||||
|
||||
@ -283,7 +288,6 @@ double calculateRoughnessFactor(double D_pipe, double K, double C) {
|
||||
}
|
||||
|
||||
|
||||
|
||||
double calculateE(double beta) {
|
||||
return 1 / sqrt(1 - pow(beta, 4));
|
||||
}
|
||||
@ -307,7 +311,6 @@ double calculateEpsilon(double dPf, double dDp, double beta, double dKappa) {
|
||||
|
||||
|
||||
double calculateKappa(double dZf) {
|
||||
|
||||
double gamma = 1.3;
|
||||
double Z = dZf;
|
||||
|
||||
@ -318,7 +321,7 @@ double calculateKappa(double dZf) {
|
||||
|
||||
|
||||
double calculateReD(double Qf, double D, double rho, double mu) {
|
||||
return (4 * Qf * rho) / (M_PI * D * mu);
|
||||
return (4 * Qf * rho * 1000) / (M_PI * D * mu);
|
||||
}
|
||||
|
||||
|
||||
@ -379,7 +382,7 @@ double Dlndjs(double tempP_jy, double tempT) {
|
||||
|
||||
double Dlndjs_Dlnd_P[11] = {0.1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
|
||||
|
||||
double s1, s2, ky, kx;
|
||||
double ky, kx;
|
||||
int i, m = 0, n = 0;
|
||||
|
||||
if (tempT < Dlndjs_Dlnd_T[0]) {
|
||||
@ -421,7 +424,78 @@ double Dlndjs(double tempP_jy, double tempT) {
|
||||
kx = 0;
|
||||
}
|
||||
|
||||
s1 = Dlndjs_Dlnd_Data[m][n] + (Dlndjs_Dlnd_Data[m][n + 1] - Dlndjs_Dlnd_Data[m][n]) * ky;
|
||||
s2 = Dlndjs_Dlnd_Data[m + 1][n] + (Dlndjs_Dlnd_Data[m + 1][n + 1] - Dlndjs_Dlnd_Data[m + 1][n]) * ky;
|
||||
double s1 = Dlndjs_Dlnd_Data[m][n] + (Dlndjs_Dlnd_Data[m][n + 1] - Dlndjs_Dlnd_Data[m][n]) * ky;
|
||||
double s2 = Dlndjs_Dlnd_Data[m + 1][n] + (Dlndjs_Dlnd_Data[m + 1][n + 1] - Dlndjs_Dlnd_Data[m + 1][n]) * ky;
|
||||
return (s1 + (s2 - s1) * kx) / 100000.0;
|
||||
}
|
||||
|
||||
// 压力损失计算
|
||||
double YaLiSunShi(double tempLiuChuXiShu, double tempZjb, double tempDp, int JieLiuZhuangZhi) {
|
||||
double ylss = 0;
|
||||
switch (JieLiuZhuangZhi) {
|
||||
case 0:
|
||||
case 1:
|
||||
case 2:
|
||||
ylss = tempDp * (sqrt(1 - tempZjb) - tempLiuChuXiShu * pow(tempZjb, 2))
|
||||
/ (sqrt(1 - tempZjb) + tempLiuChuXiShu * pow(tempZjb, 2));
|
||||
break;
|
||||
default: ;
|
||||
}
|
||||
return ylss;
|
||||
}
|
||||
|
||||
|
||||
// 标况转工况流量转换
|
||||
double FlowConvert_BaseToWork(double Pf, double Tf, double Zb, double Zf, double FlowBase, int Cbtj) {
|
||||
double tempPn = 0;
|
||||
double tempTn = 0;
|
||||
|
||||
|
||||
switch (Cbtj) {
|
||||
case 2:
|
||||
tempPn = 101325;
|
||||
tempTn = 273.15;
|
||||
break;
|
||||
case 1:
|
||||
tempPn = 101325;
|
||||
tempTn = 288.15;
|
||||
break;
|
||||
case 0:
|
||||
tempPn = 101325;
|
||||
tempTn = 293.15;
|
||||
break;
|
||||
case 3:
|
||||
tempPn = 10155981;
|
||||
tempTn = 288.7055555;
|
||||
break;
|
||||
default: ;
|
||||
}
|
||||
return FlowBase * tempPn * Tf * Zf / Pf / tempTn / Zb;
|
||||
}
|
||||
|
||||
// 工况转标况流量转换
|
||||
double FlowConvert_WorkToBase(double Pf, double Tf, double Zb, double Zf, double FlowWork, int Cbtj) {
|
||||
double tempPn = 0;
|
||||
double tempTn = 0;
|
||||
|
||||
switch (Cbtj) {
|
||||
case 2:
|
||||
tempPn = 101325;
|
||||
tempTn = 273.15;
|
||||
break;
|
||||
case 1:
|
||||
tempPn = 101325;
|
||||
tempTn = 288.15;
|
||||
break;
|
||||
case 0:
|
||||
tempPn = 101325;
|
||||
tempTn = 293.15;
|
||||
break;
|
||||
case 3:
|
||||
tempPn = 10155981;
|
||||
tempTn = 288.7055555;
|
||||
break;
|
||||
default: ;
|
||||
}
|
||||
return FlowWork * Pf * tempTn * Zb / tempPn / Tf / Zf;
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include "NGCal.h"
|
||||
#include "Therm.h"
|
||||
#include "Detail.h"
|
||||
#include "String.h"
|
||||
#include "math.h"
|
||||
static Therm *ptTherm;
|
||||
static Detail *ptDetail;
|
||||
|
||||
@ -39,10 +39,6 @@ double SOS(NGParSTRUCT *ptNGPar) {
|
||||
}
|
||||
|
||||
double Crit(NGParSTRUCT *ptNGPar, double dPlenumVelocity) {
|
||||
double DH, DDH, S, H;
|
||||
double tolerance = 1.0;
|
||||
double R, P, T, Z;
|
||||
int i;
|
||||
if (NULL == ptDetail || NULL == ptTherm) {
|
||||
NGCal_UnInit();
|
||||
if (NGCal_NGCal != NGCal_Init(ptNGPar)) {
|
||||
@ -54,18 +50,19 @@ double Crit(NGParSTRUCT *ptNGPar, double dPlenumVelocity) {
|
||||
|
||||
Therm_Run(ptTherm, ptNGPar, ptDetail);
|
||||
|
||||
DH = (ptNGPar->dSOS * ptNGPar->dSOS - dPlenumVelocity * dPlenumVelocity) / 2.0;
|
||||
S = ptNGPar->dS;
|
||||
H = ptNGPar->dH;
|
||||
R = ptNGPar->dRhof;
|
||||
P = ptNGPar->dPf;
|
||||
Z = ptNGPar->dZf;
|
||||
T = ptNGPar->dTf;
|
||||
DDH = 10.0;
|
||||
for (i = 1; i < MAX_NUM_OF_ITERATIONS; i++) {
|
||||
Therm_HS_Mode(ptTherm, ptNGPar, ptDetail, H - DH, S, true);
|
||||
double DH = (ptNGPar->dSOS * ptNGPar->dSOS - dPlenumVelocity * dPlenumVelocity) / 2.0;
|
||||
double S = ptNGPar->dS;
|
||||
double H = ptNGPar->dH;
|
||||
double R = ptNGPar->dRhof;
|
||||
double P = ptNGPar->dPf;
|
||||
double Z = ptNGPar->dZf;
|
||||
double T = ptNGPar->dTf;
|
||||
// DDH = 10.0;
|
||||
for (int i = 1; i < MAX_NUM_OF_ITERATIONS; i++) {
|
||||
double tolerance = 1.0;
|
||||
Therm_HS_Mode(ptTherm, ptNGPar, ptDetail, H - DH, S, 1);
|
||||
Therm_Run(ptTherm, ptNGPar, ptDetail);
|
||||
DDH = DH;
|
||||
double DDH = DH;
|
||||
DH = (ptNGPar->dSOS * ptNGPar->dSOS - dPlenumVelocity * dPlenumVelocity) / 2.0;
|
||||
if (fabs(DDH - DH) < tolerance) break;
|
||||
}
|
||||
@ -73,17 +70,17 @@ double Crit(NGParSTRUCT *ptNGPar, double dPlenumVelocity) {
|
||||
ptNGPar->dPf = P;
|
||||
ptNGPar->dTf = T;
|
||||
Therm_Run(ptTherm, ptNGPar, ptDetail);
|
||||
Detail_dhvMol(ptDetail,ptNGPar);
|
||||
return ptNGPar->dCstar;
|
||||
}
|
||||
|
||||
double Cperf(NGParSTRUCT *ptNGPar) {
|
||||
double k, root, exponent;
|
||||
k = ptNGPar->dKappa;
|
||||
root = 2.0 / (k + 1.0);
|
||||
exponent = (k + 1.0) / (k - 1.0);
|
||||
double Cperf(const NGParSTRUCT *ptNGPar) {
|
||||
double k = ptNGPar->dKappa;
|
||||
double root = 2.0 / (k + 1.0);
|
||||
double exponent = (k + 1.0) / (k - 1.0);
|
||||
return (sqrt(k * pow(root, exponent)));
|
||||
}
|
||||
|
||||
double CRi(NGParSTRUCT *ptNGPar) {
|
||||
double CRi(const NGParSTRUCT *ptNGPar) {
|
||||
return (Cperf(ptNGPar) / sqrt(ptNGPar->dZf));
|
||||
}
|
||||
|
@ -1,20 +1,10 @@
|
||||
/*************************************************************************
|
||||
* <EFBFBD>ļ<EFBFBD>: NGCal.h
|
||||
|
||||
**************************************************************************/
|
||||
|
||||
#ifndef _NGCal_H
|
||||
#ifndef _NGCal_H
|
||||
#define _NGCal_H
|
||||
|
||||
|
||||
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#include <math.h>
|
||||
|
||||
|
||||
#define NORMAL 9000
|
||||
#define NGCal_NGCal 9001
|
||||
#define MEMORY_ALLOCATION_ERROR 9002
|
||||
@ -24,71 +14,49 @@
|
||||
#define MAX_DENSITY_IN_BRAKET_EXCEEDED 9006
|
||||
#define FLOW_CALC_ERROR 9007
|
||||
#define FLOW_CALC_DIEDAI_ERROR 9008
|
||||
|
||||
|
||||
|
||||
#define NUMBEROFCOMPONENTS 21
|
||||
|
||||
|
||||
|
||||
#define M_PI 3.1415926535897932
|
||||
#define MAX_NUM_OF_ITERATIONS 100
|
||||
|
||||
|
||||
#define P_CHG_TOL 0.001
|
||||
#define T_CHG_TOL 0.001
|
||||
|
||||
|
||||
#define P_MAX 1.379e8
|
||||
#define P_MIN 0.0
|
||||
#define T_MAX 473.15
|
||||
#define T_MIN 143.0
|
||||
|
||||
|
||||
#define RGASKJ 8.314510e-3
|
||||
#define RGAS 8.314510
|
||||
|
||||
|
||||
typedef struct tagNGParSTRUCT
|
||||
{
|
||||
long lStatus;
|
||||
int bForceUpdate;
|
||||
double adMixture[21];
|
||||
int dCbtj;
|
||||
double dPb;
|
||||
double dTb;
|
||||
double dPf;
|
||||
double dTf;
|
||||
|
||||
|
||||
double dMrx;
|
||||
double dZb;
|
||||
double dZf;
|
||||
double dFpv;
|
||||
double dDb;
|
||||
double dDf;
|
||||
double dRhob;
|
||||
double dRhof;
|
||||
double dRD_Ideal;
|
||||
double dRD_Real;
|
||||
|
||||
|
||||
double dHo;
|
||||
double dH;
|
||||
double dS;
|
||||
double dCpi;
|
||||
double dCp;
|
||||
double dCv;
|
||||
double dk;
|
||||
double dKappa;
|
||||
double dSOS;
|
||||
double dCstar;
|
||||
|
||||
|
||||
|
||||
double dHhvMol;
|
||||
double dLhvMol;
|
||||
|
||||
|
||||
long lStatus;
|
||||
int bForceUpdate;
|
||||
double adMixture[21];
|
||||
int dCbtj;
|
||||
double dPb;
|
||||
double dTb;
|
||||
double dPf;
|
||||
double dTf;
|
||||
double dMrx;
|
||||
double dZb;
|
||||
double dZf;
|
||||
double dFpv;
|
||||
double dDb;
|
||||
double dDf;
|
||||
double dRhob;
|
||||
double dRhof;
|
||||
double dRD_Ideal;
|
||||
double dRD_Real;
|
||||
double dHo;
|
||||
double dH;
|
||||
double dS;
|
||||
double dCpi;
|
||||
double dCp;
|
||||
double dCv;
|
||||
double dk;
|
||||
double dKappa;
|
||||
double dSOS;
|
||||
double dCstar;
|
||||
double dHhvMol;
|
||||
double dLhvMol;
|
||||
} NGParSTRUCT;
|
||||
|
||||
|
||||
|
@ -259,7 +259,7 @@ void Therm_CprCvrHS(Therm *therm, NGParSTRUCT *ptNGPar, Detail *detail) {
|
||||
}
|
||||
|
||||
|
||||
void Therm_HS_Mode(Therm *therm, NGParSTRUCT *ptNGPar, Detail *detail, double H, double S, bool bGuess) {
|
||||
void Therm_HS_Mode(Therm *therm, NGParSTRUCT *ptNGPar, Detail *detail, double H, double S, int bGuess) {
|
||||
double s0 = S;
|
||||
double h0 = H;
|
||||
double t1, t2, tmin, tmax;
|
||||
|
@ -51,7 +51,7 @@ double Therm_So(Therm *therm, NGParSTRUCT *ptNGPar);
|
||||
|
||||
void Therm_CprCvrHS(Therm *therm, NGParSTRUCT *ptNGPar, Detail *detail);
|
||||
|
||||
void Therm_HS_Mode(Therm *therm, NGParSTRUCT *ptNGPar, Detail *detail, double H, double S, bool bGuess);
|
||||
void Therm_HS_Mode(Therm *therm, NGParSTRUCT *ptNGPar, Detail *detail, double H, double S, int bGuess);
|
||||
|
||||
double Therm_H(Therm *therm, NGParSTRUCT *ptNGPar, Detail *detail);
|
||||
|
||||
|
@ -9,10 +9,10 @@ int main() {
|
||||
|
||||
// 设置基本参数
|
||||
flowParams.dPatm = 0.0981; // 标准大气压(bar)
|
||||
flowParams.dPf = 4; // 压力(MPa)
|
||||
flowParams.dPfType = 1; // 0=表压,1=绝压
|
||||
flowParams.dPf = 1.48; // 压力(MPa)
|
||||
flowParams.dPfType = 0; // 0=表压,1=绝压
|
||||
flowParams.dDp = 12.50; // 差压(kPa)
|
||||
flowParams.dTf = 10; // 温度(°C)
|
||||
flowParams.dTf = 15; // 温度(°C)
|
||||
flowParams.dCbtj = 0; // 参比条件类型(0=标准状态)
|
||||
|
||||
// 设置管道参数
|
||||
@ -23,7 +23,7 @@ int main() {
|
||||
|
||||
// 设置材料参数
|
||||
flowParams.dPipeMaterial = 2; // 20号钢
|
||||
flowParams.dOrificeMaterial = 10; // 镍铬合金
|
||||
flowParams.dOrificeMaterial = 9; // 镍铬合金
|
||||
|
||||
// 设置天然气组分(示例: 95%甲烷,5%其他)
|
||||
// 初始化天然气组分数组(GB/T 21446-2008 典型示例组成)
|
||||
@ -31,29 +31,77 @@ int main() {
|
||||
flowParams.dNG_Compents[i] = 0.0; // 先全部初始化为0
|
||||
}
|
||||
|
||||
// 按照GB/T 21446-2008标准中典型天然气组分赋值(体积百分比)
|
||||
flowParams.dNG_Compents[0] = 90.6724; // 甲烷(CH4)
|
||||
flowParams.dNG_Compents[1] = 3.1284; // 氮气(N2)
|
||||
flowParams.dNG_Compents[2] = 0.4676; // 二氧化碳(CO2)
|
||||
flowParams.dNG_Compents[3] =4.5279; // 乙烷(C2H6)
|
||||
flowParams.dNG_Compents[4] = 0.8280; // 丙烷(C3H8)
|
||||
// flowParams.dNG_Compents[0] = 92.47; // 甲烷(CH4)
|
||||
// flowParams.dNG_Compents[1] = 0.68; // 氮气(N2)
|
||||
// flowParams.dNG_Compents[2] = 1.75; // 二氧化碳(CO2)
|
||||
// flowParams.dNG_Compents[3] =3.5; // 乙烷(C2H6)
|
||||
// flowParams.dNG_Compents[4] = 0.98; // 丙烷(C3H8)
|
||||
// flowParams.dNG_Compents[5] = 0.00; // 水(H2O)
|
||||
// flowParams.dNG_Compents[6] = 0.00; // 硫化氢(H2S)
|
||||
// flowParams.dNG_Compents[7] = 0.0; // 氢气(H2)
|
||||
// flowParams.dNG_Compents[8] = 0.00; // 一氧化碳(CO)
|
||||
// flowParams.dNG_Compents[9] = 0.00; // 氧气(O2)
|
||||
// flowParams.dNG_Compents[10] = 0.34; // 异丁烷(i-C4H10)
|
||||
// flowParams.dNG_Compents[11] = 0.22; // 正丁烷(n-C4H10)
|
||||
// flowParams.dNG_Compents[12] = 0.0; // 异戊烷(i-C5H12)
|
||||
// flowParams.dNG_Compents[13] = 0.06; // 正戊烷(n-C5H12)
|
||||
// flowParams.dNG_Compents[14] = 0.0; // 己烷(C6H14)
|
||||
// flowParams.dNG_Compents[15] = 0.0; // 庚烷(C7H16)
|
||||
// flowParams.dNG_Compents[16] = 0.0; // 辛烷(C8H18)
|
||||
// flowParams.dNG_Compents[17] = 0.0; // 壬烷(C9H20)
|
||||
// flowParams.dNG_Compents[18] = 0.0; // 癸烷(C10H22)
|
||||
// flowParams.dNG_Compents[19] = 0.0; // 氦气(He)
|
||||
// flowParams.dNG_Compents[20] = 0.0; // 其他组分
|
||||
|
||||
|
||||
flowParams.dNG_Compents[0] = 88.36; // 甲烷(CH4)
|
||||
flowParams.dNG_Compents[1] = 0.68; // 氮气(N2)
|
||||
flowParams.dNG_Compents[2] = 1.57; // 二氧化碳(CO2)
|
||||
flowParams.dNG_Compents[3] =6.25; // 乙烷(C2H6)
|
||||
flowParams.dNG_Compents[4] = 2.4; // 丙烷(C3H8)
|
||||
flowParams.dNG_Compents[5] = 0.00; // 水(H2O)
|
||||
flowParams.dNG_Compents[6] = 0.00; // 硫化氢(H2S)
|
||||
flowParams.dNG_Compents[7] = 0.0; // 氢气(H2)
|
||||
flowParams.dNG_Compents[7] = 0.04; // 氢气(H2)
|
||||
flowParams.dNG_Compents[8] = 0.00; // 一氧化碳(CO)
|
||||
flowParams.dNG_Compents[9] = 0.00; // 氧气(O2)
|
||||
flowParams.dNG_Compents[10] = 0.1037; // 异丁烷(i-C4H10)
|
||||
flowParams.dNG_Compents[11] = 0.1563; // 正丁烷(n-C4H10)
|
||||
flowParams.dNG_Compents[12] = 0.0321; // 异戊烷(i-C5H12)
|
||||
flowParams.dNG_Compents[13] = 0.0443; // 正戊烷(n-C5H12)
|
||||
flowParams.dNG_Compents[14] = 0.0393; // 己烷(C6H14)
|
||||
flowParams.dNG_Compents[10] = 0.15; // 异丁烷(i-C4H10)
|
||||
flowParams.dNG_Compents[11] = 0.35; // 正丁烷(n-C4H10)
|
||||
flowParams.dNG_Compents[12] = 0.05; // 异戊烷(i-C5H12)
|
||||
flowParams.dNG_Compents[13] = 0.1; // 正戊烷(n-C5H12)
|
||||
flowParams.dNG_Compents[14] = 0.01; // 己烷(C6H14)
|
||||
flowParams.dNG_Compents[15] = 0.0; // 庚烷(C7H16)
|
||||
flowParams.dNG_Compents[16] = 0.0; // 辛烷(C8H18)
|
||||
flowParams.dNG_Compents[17] = 0.0; // 壬烷(C9H20)
|
||||
flowParams.dNG_Compents[18] = 0.0; // 癸烷(C10H22)
|
||||
flowParams.dNG_Compents[19] = 0.0; // 氦气(He)
|
||||
flowParams.dNG_Compents[19] = 0.04; // 氦气(He)
|
||||
flowParams.dNG_Compents[20] = 0.0; // 其他组分
|
||||
|
||||
|
||||
|
||||
// 按照GB/T 21446-2008标准中典型天然气组分赋值(体积百分比)
|
||||
|
||||
// flowParams.dNG_Compents[0] = 90.6724; // 甲烷(CH4)
|
||||
// flowParams.dNG_Compents[1] = 3.1284; // 氮气(N2)
|
||||
// flowParams.dNG_Compents[2] = 0.4676; // 二氧化碳(CO2)
|
||||
// flowParams.dNG_Compents[3] =4.5279; // 乙烷(C2H6)
|
||||
// flowParams.dNG_Compents[4] = 0.8280; // 丙烷(C3H8)
|
||||
// flowParams.dNG_Compents[5] = 0.00; // 水(H2O)
|
||||
// flowParams.dNG_Compents[6] = 0.00; // 硫化氢(H2S)
|
||||
// flowParams.dNG_Compents[7] = 0.0; // 氢气(H2)
|
||||
// flowParams.dNG_Compents[8] = 0.00; // 一氧化碳(CO)
|
||||
// flowParams.dNG_Compents[9] = 0.00; // 氧气(O2)
|
||||
// flowParams.dNG_Compents[10] = 0.1037; // 异丁烷(i-C4H10)
|
||||
// flowParams.dNG_Compents[11] = 0.1563; // 正丁烷(n-C4H10)
|
||||
// flowParams.dNG_Compents[12] = 0.0321; // 异戊烷(i-C5H12)
|
||||
// flowParams.dNG_Compents[13] = 0.0443; // 正戊烷(n-C5H12)
|
||||
// flowParams.dNG_Compents[14] = 0.0393; // 己烷(C6H14)
|
||||
// flowParams.dNG_Compents[15] = 0.0; // 庚烷(C7H16)
|
||||
// flowParams.dNG_Compents[16] = 0.0; // 辛烷(C8H18)
|
||||
// flowParams.dNG_Compents[17] = 0.0; // 壬烷(C9H20)
|
||||
// flowParams.dNG_Compents[18] = 0.0; // 癸烷(C10H22)
|
||||
// flowParams.dNG_Compents[19] = 0.0; // 氦气(He)
|
||||
// flowParams.dNG_Compents[20] = 0.0; // 其他组分
|
||||
|
||||
// flowParams.dNG_Compents[0] =96.5; // 甲烷(CH4)
|
||||
// flowParams.dNG_Compents[1] =0.30; // 氮气(N2)
|
||||
// flowParams.dNG_Compents[2] =0.6; // 二氧化碳(CO2)
|
||||
|
217
User/main.c
217
User/main.c
@ -1,217 +0,0 @@
|
||||
/**
|
||||
*********************************************************************
|
||||
* @file main.c
|
||||
* @author liaodeyun
|
||||
* @version V1.0
|
||||
* @date 2025-7-6
|
||||
* @brief RT-Thread 3.0 + STM32 天然气流量计算
|
||||
*********************************************************************
|
||||
* @attention
|
||||
*
|
||||
* 实验平台:野火 H750 PRO STM32 开发板
|
||||
* 论坛 :http://www.firebbs.cn
|
||||
* 淘宝 :https://fire-stm32.taobao.com
|
||||
*
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
/*
|
||||
*************************************************************************
|
||||
* 包含的头文件
|
||||
*************************************************************************
|
||||
*/
|
||||
#include "board.h"
|
||||
#include "rtthread.h"
|
||||
|
||||
#include <stdio.h>
|
||||
#include "NGCal.h"
|
||||
#include "Therm.h"
|
||||
#include "Detail.h"
|
||||
#include "FlowCal.h"
|
||||
|
||||
/*
|
||||
*************************************************************************
|
||||
* 变量
|
||||
*************************************************************************
|
||||
*/
|
||||
/* 定义线程控制块 */
|
||||
static rt_thread_t OFlowCal_thread = RT_NULL;
|
||||
static rt_thread_t key_thread = RT_NULL;
|
||||
/*
|
||||
*************************************************************************
|
||||
* 函数声明
|
||||
*************************************************************************
|
||||
*/
|
||||
static void OFlowCal_thread_entry(void* parameter);
|
||||
static void key_thread_entry(void* parameter);
|
||||
|
||||
/*
|
||||
*************************************************************************
|
||||
* main 函数
|
||||
*************************************************************************
|
||||
*/
|
||||
/**
|
||||
* @brief 主函数
|
||||
* @param 无
|
||||
* @retval 无
|
||||
*/
|
||||
int main(void)
|
||||
{
|
||||
/*
|
||||
* 开发板硬件初始化,RTT系统初始化已经在main函数之前完成,
|
||||
* 即在component.c文件中的rtthread_startup()函数中完成了。
|
||||
* 所以在main函数中,只需要创建线程和启动线程即可。
|
||||
*/
|
||||
rt_kprintf("这是一个[野火]-STM32H750天然气流量计算机实验程序!\n\n");
|
||||
rt_kprintf("按下K1挂起线程,按下K2恢复线程\n");
|
||||
OFlowCal_thread = /* 线程控制块指针 */
|
||||
rt_thread_create( "OFlowCal", /* 线程名字 */
|
||||
OFlowCal_thread_entry, /* 线程入口函数 */
|
||||
RT_NULL, /* 线程入口函数参数 */
|
||||
512, /* 线程栈大小 */
|
||||
3, /* 线程的优先级 */
|
||||
20); /* 线程时间片 */
|
||||
|
||||
/* 启动线程,开启调度 */
|
||||
if (OFlowCal_thread != RT_NULL)
|
||||
rt_thread_startup(OFlowCal_thread);
|
||||
else
|
||||
return -1;
|
||||
|
||||
key_thread = /* 线程控制块指针 */
|
||||
rt_thread_create( "key", /* 线程名字 */
|
||||
key_thread_entry, /* 线程入口函数 */
|
||||
RT_NULL, /* 线程入口函数参数 */
|
||||
512, /* 线程栈大小 */
|
||||
2, /* 线程的优先级 */
|
||||
20); /* 线程时间片 */
|
||||
|
||||
/* 启动线程,开启调度 */
|
||||
if (key_thread != RT_NULL)
|
||||
rt_thread_startup(key_thread);
|
||||
else
|
||||
return -1;
|
||||
}
|
||||
|
||||
/*
|
||||
*************************************************************************
|
||||
* 线程定义
|
||||
*************************************************************************
|
||||
*/
|
||||
|
||||
static void OFlowCal_thread_entry(void* parameter)
|
||||
{
|
||||
|
||||
while (1)
|
||||
{
|
||||
|
||||
// 初始化结构体
|
||||
FlowParSTRUCT flowParams = {0};
|
||||
NGParSTRUCT ngParams = {0};
|
||||
|
||||
// 设置基本参数
|
||||
flowParams.dPatm = 0.0981; // 标准大气压(bar)
|
||||
flowParams.dPf = 1.48; // 压力(MPa)
|
||||
flowParams.dPfType = 0; // 0=表压,1=绝压
|
||||
flowParams.dDp = 12.50; // 差压(kPa)
|
||||
flowParams.dTf = 15.0; // 温度(°C)
|
||||
flowParams.dCbtj = 0; // 参比条件类型(0=标准状态)
|
||||
|
||||
// 设置管道参数
|
||||
flowParams.dPipeD = 259.38; // 管道内径(mm)
|
||||
flowParams.dOrificeD = 150.25; // 孔板孔径(mm)
|
||||
flowParams.dPipeType = 0; // 管道类型
|
||||
flowParams.dPtmode = 0; // 取压方式(0=法兰取压,1=角接取压)
|
||||
|
||||
// 设置材料参数
|
||||
flowParams.dPipeMaterial = 2; // 20号钢
|
||||
flowParams.dOrificeMaterial = 10; // 镍铬合金
|
||||
|
||||
// 设置天然气组分(示例: 95%甲烷,5%其他)
|
||||
// 初始化天然气组分数组(GB/T 21446-2008 典型示例组成)
|
||||
for(int i=0; i<NUMBEROFCOMPONENTS; i++) {
|
||||
flowParams.dNG_Compents[i] = 0.0; // 先全部初始化为0
|
||||
}
|
||||
|
||||
// 按照GB/T 21446-2008标准中典型天然气组分赋值(体积百分比)
|
||||
flowParams.dNG_Compents[0] = 88.36; // 甲烷(CH4)
|
||||
flowParams.dNG_Compents[1] = 0.68; // 氮气(N2)
|
||||
flowParams.dNG_Compents[2] = 1.57; // 二氧化碳(CO2)
|
||||
flowParams.dNG_Compents[3] = 6.25; // 乙烷(C2H6)
|
||||
flowParams.dNG_Compents[4] = 2.4; // 丙烷(C3H8)
|
||||
flowParams.dNG_Compents[5] = 0.00; // 水(H2O)
|
||||
flowParams.dNG_Compents[6] = 0.00; // 硫化氢(H2S)
|
||||
flowParams.dNG_Compents[7] = 0.04; // 氢气(H2)
|
||||
flowParams.dNG_Compents[8] = 0.00; // 一氧化碳(CO)
|
||||
flowParams.dNG_Compents[9] = 0.00; // 氧气(O2)
|
||||
flowParams.dNG_Compents[10] = 0.15; // 异丁烷(i-C4H10)
|
||||
flowParams.dNG_Compents[11] = 0.35; // 正丁烷(n-C4H10)
|
||||
flowParams.dNG_Compents[12] = 0.05; // 异戊烷(i-C5H12)
|
||||
flowParams.dNG_Compents[13] = 0.1; // 正戊烷(n-C5H12)
|
||||
flowParams.dNG_Compents[14] = 0.01; // 己烷(C6H14)
|
||||
flowParams.dNG_Compents[15] = 0.0; // 庚烷(C7H16)
|
||||
flowParams.dNG_Compents[16] = 0.0; // 辛烷(C8H18)
|
||||
flowParams.dNG_Compents[17] = 0.0; // 壬烷(C9H20)
|
||||
flowParams.dNG_Compents[18] = 0.0; // 癸烷(C10H22)
|
||||
flowParams.dNG_Compents[19] = 0.04; // 氦气(He)
|
||||
flowParams.dNG_Compents[20] = 0.0; // 其他组分
|
||||
|
||||
|
||||
// 调用流量计算函数
|
||||
OFlowCal(&flowParams, &ngParams);
|
||||
|
||||
// 打印计算结果
|
||||
printf("========== 流量计算结果 ==========\n");
|
||||
printf("工况流量: %.4f m3/s\n", flowParams.dVFlowf);
|
||||
printf("标况流量: %.4f m3/s\n", flowParams.dVFlowb);
|
||||
printf("标况质量流量: %.4f kg/s\n", flowParams.dMFlowb);
|
||||
printf("标况能量流量: %.4f MJ/s\n", flowParams.dEFlowb / 1e6);
|
||||
printf("管道内流速: %.2f m/s\n", flowParams.dVelocityFlow);
|
||||
printf("流出系数: %.4f\n", flowParams.dCd);
|
||||
printf("雷诺数: %.2f\n", flowParams.dRnPipe);
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
static void key_thread_entry(void* parameter)
|
||||
{
|
||||
rt_err_t uwRet = RT_EOK;
|
||||
while (1)
|
||||
{
|
||||
if( Key_Scan(KEY1_GPIO_PORT,KEY1_PIN) == KEY_ON )/* K1 被按下 */
|
||||
{
|
||||
printf("挂起LED1线程!\n");
|
||||
uwRet = rt_thread_suspend(OFlowCal_thread);/* 挂起LED1线程 */
|
||||
if(RT_EOK == uwRet)
|
||||
{
|
||||
rt_kprintf("挂起LED1线程成功!\n");
|
||||
}
|
||||
else
|
||||
{
|
||||
rt_kprintf("挂起LED1线程失败!失败代码:0x%lx\n",uwRet);
|
||||
}
|
||||
}
|
||||
if( Key_Scan(KEY2_GPIO_PORT,KEY2_PIN) == KEY_ON )/* K1 被按下 */
|
||||
{
|
||||
printf("恢复LED1线程!\n");
|
||||
uwRet = rt_thread_resume(OFlowCal_thread);/* 恢复LED1线程! */
|
||||
if(RT_EOK == uwRet)
|
||||
{
|
||||
rt_kprintf("恢复LED1线程成功!\n");
|
||||
}
|
||||
else
|
||||
{
|
||||
rt_kprintf("恢复LED1线程失败!失败代码:0x%lx\n",uwRet);
|
||||
}
|
||||
}
|
||||
rt_thread_delay(20);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/********************************END OF FILE****************************/
|
Loading…
Reference in New Issue
Block a user