diff --git a/Project/RVMDK/.rtt-studio/.cproject b/Project/RVMDK/.rtt-studio/.cproject
new file mode 100644
index 0000000..5c0f46e
--- /dev/null
+++ b/Project/RVMDK/.rtt-studio/.cproject
@@ -0,0 +1,191 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Project/RVMDK/.rtt-studio/.project b/Project/RVMDK/.rtt-studio/.project
new file mode 100644
index 0000000..0d84bd4
--- /dev/null
+++ b/Project/RVMDK/.rtt-studio/.project
@@ -0,0 +1,639 @@
+
+
+ GasFlowMeter
+
+
+
+
+
+ org.eclipse.cdt.managedbuilder.core.genmakebuilder
+ clean,full,incremental,
+
+
+
+
+ org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder
+ full,incremental,
+
+
+
+
+
+ org.eclipse.cdt.core.cnature
+ org.rt-thread.studio.rttnature
+ org.eclipse.cdt.managedbuilder.core.managedBuildNature
+ org.eclipse.cdt.managedbuilder.core.ScannerConfigNature
+
+
+
+ CMSIS
+ 2
+ virtual:/virtual
+
+
+ DOC
+ 2
+ virtual:/virtual
+
+
+ STARTUP
+ 2
+ virtual:/virtual
+
+
+ STM32H7xx_HAL_Driver
+ 2
+ virtual:/virtual
+
+
+ USER
+ 2
+ virtual:/virtual
+
+
+ rtt
+ 2
+ virtual:/virtual
+
+
+ CMSIS/system_stm32h7xx.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/CMSIS/Device/ST/STM32H7xx/Source/Templates/system_stm32h7xx.c
+
+
+ DOC/必读说明.txt
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/必读说明.txt
+
+
+ STARTUP/startup_stm32h743xx.s
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/CMSIS/Device/ST/STM32H7xx/Source/Templates/arm/startup_stm32h743xx.s
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_adc.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_adc_ex.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_cec.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cec.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_comp.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_comp.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_cortex.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_crc.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_crc.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_crc_ex.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_crc_ex.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_cryp.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cryp.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_cryp_ex.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cryp_ex.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_dac.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dac.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_dac_ex.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dac_ex.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_dcmi.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dcmi.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_dfsdm.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dfsdm.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_dma.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_dma2d.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma2d.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_dma_ex.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma_ex.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_eth.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_eth.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_eth_ex.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_eth_ex.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_fdcan.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_fdcan.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_flash.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_flash_ex.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_gpio.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_gpio.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_hash.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hash.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_hash_ex.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hash_ex.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_hcd.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hcd.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_hrtim.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hrtim.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_hsem.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_i2c.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_i2c_ex.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c_ex.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_i2s.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2s.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_i2s_ex.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2s_ex.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_irda.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_irda.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_iwdg.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_iwdg.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_jpeg.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_jpeg.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_lptim.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_lptim.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_ltdc.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_ltdc.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_mdios.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdios.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_mdma.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdma.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_mmc.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mmc.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_mmc_ex.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mmc_ex.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_nand.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_nand.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_nor.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_nor.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_opamp.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_opamp.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_opamp_ex.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_opamp_ex.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_pcd.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_pcd_ex.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_pwr.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_pwr_ex.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_qspi.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_qspi.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_rcc.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_rcc_ex.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_rng.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rng.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_rtc.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rtc.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_rtc_ex.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rtc_ex.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_sai.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sai.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_sai_ex.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sai_ex.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_sd.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sd.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_sd_ex.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sd_ex.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_sdram.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sdram.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_smartcard.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_smartcard.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_smartcard_ex.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_smartcard_ex.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_smbus.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_smbus.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_spdifrx.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spdifrx.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_spi.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_spi_ex.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi_ex.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_sram.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sram.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_swpmi.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_swpmi.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_tim.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_tim_ex.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_uart.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_uart_ex.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_usart.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_usart.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_hal_wwdg.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_wwdg.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_ll_delayblock.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_delayblock.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_ll_fmc.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_fmc.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_ll_sdmmc.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_sdmmc.c
+
+
+ STM32H7xx_HAL_Driver/stm32h7xx_ll_usb.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/Libraries/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_usb.c
+
+
+ USER/Detail.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/User/NG/Detail.c
+
+
+ USER/Detail.h
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/User/NG/Detail.h
+
+
+ USER/FlowCal.h
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/User/NG/FlowCal.h
+
+
+ USER/NGCal.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/User/NG/NGCal.c
+
+
+ USER/NGCal.h
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/User/NG/NGCal.h
+
+
+ USER/Therm.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/User/NG/Therm.c
+
+
+ USER/Therm.h
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/User/NG/Therm.h
+
+
+ USER/board.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/User/board.c
+
+
+ USER/board.h
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/User/board.h
+
+
+ USER/bsp_debug_usart.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/User/bsp/usart/bsp_debug_usart.c
+
+
+ USER/bsp_key.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/User/bsp/key/bsp_key.c
+
+
+ USER/bsp_led.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/User/bsp/led/bsp_led.c
+
+
+ USER/core_delay.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/User/bsp/delay/core_delay.c
+
+
+ USER/main.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/User/main.c
+
+
+ USER/rtconfig.h
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/User/rtconfig.h
+
+
+ USER/stm32h7xx_it.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/User/stm32h7xx_it.c
+
+
+ rtt/ports
+ 2
+ virtual:/virtual
+
+
+ rtt/source
+ 2
+ virtual:/virtual
+
+
+ rtt/ports/context_rvds.S
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/rtthread/3.0.3/libcpu/arm/cortex-m7/context_rvds.S
+
+
+ rtt/ports/cpuport.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/rtthread/3.0.3/libcpu/arm/cortex-m7/cpuport.c
+
+
+ rtt/source/clock.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/rtthread/3.0.3/src/clock.c
+
+
+ rtt/source/components.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/rtthread/3.0.3/src/components.c
+
+
+ rtt/source/device.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/rtthread/3.0.3/src/device.c
+
+
+ rtt/source/idle.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/rtthread/3.0.3/src/idle.c
+
+
+ rtt/source/ipc.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/rtthread/3.0.3/src/ipc.c
+
+
+ rtt/source/irq.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/rtthread/3.0.3/src/irq.c
+
+
+ rtt/source/kservice.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/rtthread/3.0.3/src/kservice.c
+
+
+ rtt/source/mem.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/rtthread/3.0.3/src/mem.c
+
+
+ rtt/source/memheap.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/rtthread/3.0.3/src/memheap.c
+
+
+ rtt/source/mempool.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/rtthread/3.0.3/src/mempool.c
+
+
+ rtt/source/object.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/rtthread/3.0.3/src/object.c
+
+
+ rtt/source/scheduler.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/rtthread/3.0.3/src/scheduler.c
+
+
+ rtt/source/signal.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/rtthread/3.0.3/src/signal.c
+
+
+ rtt/source/thread.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/rtthread/3.0.3/src/thread.c
+
+
+ rtt/source/timer.c
+ 1
+ E:/MyDocuments/Documents/project/keilMCU/GasFlowMeter/rtthread/3.0.3/src/timer.c
+
+
+
diff --git a/Project/RVMDK/.rtt-studio/.settings/GasFlowMeter.DAPLink.Debug.rttlaunch b/Project/RVMDK/.rtt-studio/.settings/GasFlowMeter.DAPLink.Debug.rttlaunch
new file mode 100644
index 0000000..35d679e
--- /dev/null
+++ b/Project/RVMDK/.rtt-studio/.settings/GasFlowMeter.DAPLink.Debug.rttlaunch
@@ -0,0 +1,62 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Project/RVMDK/.rtt-studio/.settings/GasFlowMeter.JLink.Debug.rttlaunch b/Project/RVMDK/.rtt-studio/.settings/GasFlowMeter.JLink.Debug.rttlaunch
new file mode 100644
index 0000000..59aa09b
--- /dev/null
+++ b/Project/RVMDK/.rtt-studio/.settings/GasFlowMeter.JLink.Debug.rttlaunch
@@ -0,0 +1,90 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Project/RVMDK/.rtt-studio/.settings/GasFlowMeter.Qemu.Debug.rttlaunch b/Project/RVMDK/.rtt-studio/.settings/GasFlowMeter.Qemu.Debug.rttlaunch
new file mode 100644
index 0000000..b65f016
--- /dev/null
+++ b/Project/RVMDK/.rtt-studio/.settings/GasFlowMeter.Qemu.Debug.rttlaunch
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Project/RVMDK/.rtt-studio/.settings/GasFlowMeter.STLink.Debug.rttlaunch b/Project/RVMDK/.rtt-studio/.settings/GasFlowMeter.STLink.Debug.rttlaunch
new file mode 100644
index 0000000..dbbf0a0
--- /dev/null
+++ b/Project/RVMDK/.rtt-studio/.settings/GasFlowMeter.STLink.Debug.rttlaunch
@@ -0,0 +1,56 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Project/RVMDK/.rtt-studio/.settings/language.settings.xml b/Project/RVMDK/.rtt-studio/.settings/language.settings.xml
new file mode 100644
index 0000000..7abd7c3
--- /dev/null
+++ b/Project/RVMDK/.rtt-studio/.settings/language.settings.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Project/RVMDK/.rtt-studio/.settings/mdkconfig.json b/Project/RVMDK/.rtt-studio/.settings/mdkconfig.json
new file mode 100644
index 0000000..22d5b60
--- /dev/null
+++ b/Project/RVMDK/.rtt-studio/.settings/mdkconfig.json
@@ -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
+ }
+}
\ No newline at end of file
diff --git a/Project/RVMDK/.rtt-studio/.settings/org.eclipse.core.resources.prefs b/Project/RVMDK/.rtt-studio/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..15ccf11
--- /dev/null
+++ b/Project/RVMDK/.rtt-studio/.settings/org.eclipse.core.resources.prefs
@@ -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
diff --git a/Project/RVMDK/.rtt-studio/.settings/projcfg.ini b/Project/RVMDK/.rtt-studio/.settings/projcfg.ini
new file mode 100644
index 0000000..57ea2a3
--- /dev/null
+++ b/Project/RVMDK/.rtt-studio/.settings/projcfg.ini
@@ -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
diff --git a/Project/RVMDK/.rtt-studio/makefile.targets b/Project/RVMDK/.rtt-studio/makefile.targets
new file mode 100644
index 0000000..e7b2895
--- /dev/null
+++ b/Project/RVMDK/.rtt-studio/makefile.targets
@@ -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'
+
diff --git a/Project/RVMDK(uv5)/DebugConfig/Fire_RT-Thread_STM32H750XBHx_1.1.0.dbgconf b/Project/RVMDK/DebugConfig/Fire_RT-Thread_STM32H750XBHx_1.1.0.dbgconf
similarity index 100%
rename from Project/RVMDK(uv5)/DebugConfig/Fire_RT-Thread_STM32H750XBHx_1.1.0.dbgconf
rename to Project/RVMDK/DebugConfig/Fire_RT-Thread_STM32H750XBHx_1.1.0.dbgconf
diff --git a/Project/RVMDK(uv5)/EventRecorderStub.scvd b/Project/RVMDK/EventRecorderStub.scvd
similarity index 100%
rename from Project/RVMDK(uv5)/EventRecorderStub.scvd
rename to Project/RVMDK/EventRecorderStub.scvd
diff --git a/Project/RVMDK(uv5)/Fire_RT-Thread.uvguix.Administrator b/Project/RVMDK/Fire_RT-Thread.uvguix.Administrator
similarity index 100%
rename from Project/RVMDK(uv5)/Fire_RT-Thread.uvguix.Administrator
rename to Project/RVMDK/Fire_RT-Thread.uvguix.Administrator
diff --git a/Project/RVMDK(uv5)/Fire_RT-Thread.uvguix.ldeyu b/Project/RVMDK/Fire_RT-Thread.uvguix.ldeyu
similarity index 97%
rename from Project/RVMDK(uv5)/Fire_RT-Thread.uvguix.ldeyu
rename to Project/RVMDK/Fire_RT-Thread.uvguix.ldeyu
index 55e994b..d158fb9 100644
--- a/Project/RVMDK(uv5)/Fire_RT-Thread.uvguix.ldeyu
+++ b/Project/RVMDK/Fire_RT-Thread.uvguix.ldeyu
@@ -15,7 +15,7 @@
38003
Registers
- 115 62
+ 124 124
346
@@ -134,7 +134,7 @@
16
- D8000000EF000000020300006E010000
+ BF0000006600000055040000E5000000
@@ -190,7 +190,7 @@
0
16
- 00000000EC010000550400006B020000
+ 03000000EF0100005204000052020000
16
@@ -210,7 +210,7 @@
0
16
- 03000000EF010000520400003E020000
+ 03000000EF0100005204000052020000
16
@@ -230,7 +230,7 @@
0
16
- 03000000EF010000520400003E020000
+ 03000000EF0100005204000052020000
16
@@ -250,7 +250,7 @@
0
16
- 03000000EF010000520400003E020000
+ 03000000EF0100005204000052020000
16
@@ -270,7 +270,7 @@
0
16
- 9D0300006600000052040000EF000000
+ 9D0300006600000052040000CF010000
16
@@ -330,7 +330,7 @@
0
16
- 03000000EF010000520400003E020000
+ 03000000EF0100005204000052020000
16
@@ -350,7 +350,7 @@
0
16
- 03000000EF010000520400003E020000
+ 03000000EF0100005204000052020000
16
@@ -370,7 +370,7 @@
0
16
- 03000000EF010000520400003E020000
+ 03000000EF0100005204000052020000
16
@@ -390,7 +390,7 @@
0
16
- 03000000EF010000520400003E020000
+ 03000000EF0100005204000052020000
16
@@ -410,7 +410,7 @@
0
16
- 03000000EF010000520400003E020000
+ 03000000EF0100005204000052020000
16
@@ -430,7 +430,7 @@
0
16
- 03000000EF010000520400003E020000
+ 03000000EF0100005204000052020000
16
@@ -530,7 +530,7 @@
0
16
- 03000000260300005204000075030000
+ 0300000026030000D905000075030000
16
@@ -550,7 +550,7 @@
0
16
- BF0000006300000055040000CE000000
+ C20000006600000052040000B5000000
16
@@ -610,7 +610,7 @@
0
16
- 9A0300006300000055040000E8010000
+ 9D0300006600000052040000CF010000
16
@@ -630,7 +630,7 @@
0
16
- 00000000EC0100005504000057020000
+ 03000000EF0100005204000052020000
16
@@ -690,7 +690,7 @@
0
16
- BF0000006300000055040000CE000000
+ C20000006600000052040000B5000000
16
@@ -730,7 +730,7 @@
0
16
- 9D03000066000000520400004C010000
+ 9D0300006600000052040000CF010000
16
@@ -750,7 +750,7 @@
0
16
- 9D03000066000000520400004C010000
+ 9D0300006600000052040000CF010000
16
@@ -770,7 +770,7 @@
0
16
- 9D03000066000000520400004C010000
+ 9D0300006600000052040000CF010000
16
@@ -790,7 +790,7 @@
0
16
- 9D03000066000000520400004C010000
+ 9D0300006600000052040000CF010000
16
@@ -810,7 +810,7 @@
0
16
- 9D03000066000000520400004C010000
+ 9D0300006600000052040000CF010000
16
@@ -830,7 +830,7 @@
0
16
- 9D03000066000000520400004C010000
+ 9D0300006600000052040000CF010000
16
@@ -850,7 +850,7 @@
0
16
- 9D03000066000000520400004C010000
+ 9D0300006600000052040000CF010000
16
@@ -870,7 +870,7 @@
0
16
- 9D03000066000000520400004C010000
+ 9D0300006600000052040000CF010000
16
@@ -890,7 +890,7 @@
0
16
- 9D03000066000000520400004C010000
+ 9D0300006600000052040000CF010000
16
@@ -910,7 +910,7 @@
0
16
- 9D03000066000000520400004C010000
+ 9D0300006600000052040000CF010000
16
@@ -930,7 +930,7 @@
0
16
- 9D03000066000000520400004C010000
+ 9D0300006600000052040000CF010000
16
@@ -950,7 +950,7 @@
0
16
- 9D03000066000000520400004C010000
+ 9D0300006600000052040000CF010000
16
@@ -970,7 +970,7 @@
0
16
- 9D03000066000000520400004C010000
+ 9D0300006600000052040000CF010000
16
@@ -990,7 +990,7 @@
0
16
- 9D03000066000000520400004C010000
+ 9D0300006600000052040000CF010000
16
@@ -1010,7 +1010,7 @@
0
16
- 9D03000066000000520400004C010000
+ 9D0300006600000052040000CF010000
16
@@ -1030,7 +1030,7 @@
0
16
- 9D03000066000000520400004C010000
+ 9D0300006600000052040000CF010000
16
@@ -1050,7 +1050,7 @@
0
16
- 9D03000066000000520400004C010000
+ 9D0300006600000052040000CF010000
16
@@ -1070,7 +1070,7 @@
0
16
- 9D03000066000000520400004C010000
+ 9D0300006600000052040000CF010000
16
@@ -1090,7 +1090,7 @@
0
16
- 9D03000066000000520400004C010000
+ 9D0300006600000052040000CF010000
16
@@ -1110,7 +1110,7 @@
0
16
- 9D03000066000000520400004C010000
+ 9D0300006600000052040000CF010000
16
@@ -1130,7 +1130,7 @@
0
16
- 9D03000066000000520400004C010000
+ 9D0300006600000052040000CF010000
16
@@ -1150,7 +1150,7 @@
0
16
- 0300000066000000B800000052020000
+ 0300000066000000FF000000F2020000
16
@@ -1170,7 +1170,7 @@
0
16
- 0000000023030000550400008E030000
+ 0300000026030000D905000075030000
16
@@ -1190,7 +1190,7 @@
0
16
- 03000000260300005204000075030000
+ 0300000026030000D905000075030000
16
@@ -1210,7 +1210,7 @@
0
16
- 03000000EF010000520400003E020000
+ 03000000EF0100005204000052020000
16
@@ -1230,7 +1230,7 @@
0
16
- 03000000EF010000520400003E020000
+ 03000000EF0100005204000052020000
16
@@ -1250,7 +1250,7 @@
0
16
- 03000000260300005204000075030000
+ 0300000026030000D905000075030000
16
@@ -1270,7 +1270,7 @@
0
16
- 03000000260300005204000075030000
+ 0300000026030000D905000075030000
16
@@ -1310,7 +1310,7 @@
0
16
- 9D03000066000000520400004C010000
+ 9D0300006600000052040000CF010000
16
@@ -1330,7 +1330,7 @@
0
16
- 9D03000066000000520400004C010000
+ 9D0300006600000052040000CF010000
16
@@ -1350,7 +1350,7 @@
0
16
- 9D03000066000000520400004C010000
+ 9D0300006600000052040000CF010000
16
@@ -1370,7 +1370,7 @@
0
16
- 9D03000066000000520400004C010000
+ 9D0300006600000052040000CF010000
16
@@ -1390,7 +1390,7 @@
0
16
- 9D03000066000000520400004C010000
+ 9D0300006600000052040000CF010000
16
@@ -1410,7 +1410,7 @@
0
16
- 9D03000066000000520400004C010000
+ 9D0300006600000052040000CF010000
16
@@ -1430,7 +1430,7 @@
0
16
- 9D03000066000000520400004C010000
+ 9D0300006600000052040000CF010000
16
@@ -1450,7 +1450,7 @@
0
16
- 9D03000066000000520400004C010000
+ 9D0300006600000052040000CF010000
16
@@ -1470,7 +1470,7 @@
0
16
- 9D03000066000000520400004C010000
+ 9D0300006600000052040000CF010000
16
@@ -1490,7 +1490,7 @@
0
16
- 9D03000066000000520400004C010000
+ 9D0300006600000052040000CF010000
16
@@ -1510,7 +1510,7 @@
0
16
- 9D03000066000000520400004C010000
+ 9D0300006600000052040000CF010000
16
@@ -1530,7 +1530,7 @@
0
16
- 9D03000066000000520400004C010000
+ 9D0300006600000052040000CF010000
16
@@ -1550,7 +1550,7 @@
0
16
- 9D03000066000000520400004C010000
+ 9D0300006600000052040000CF010000
16
@@ -1570,7 +1570,7 @@
0
16
- 9D03000066000000520400004C010000
+ 9D0300006600000052040000CF010000
16
@@ -1590,7 +1590,7 @@
0
16
- 9D03000066000000520400004C010000
+ 9D0300006600000052040000CF010000
16
@@ -1610,7 +1610,7 @@
0
16
- 9D03000066000000520400004C010000
+ 9D0300006600000052040000CF010000
16
@@ -1630,7 +1630,7 @@
0
16
- 9D03000066000000520400004C010000
+ 9D0300006600000052040000CF010000
16
@@ -1650,7 +1650,7 @@
0
16
- 9D03000066000000520400004C010000
+ 9D0300006600000052040000CF010000
16
@@ -1670,7 +1670,7 @@
0
16
- 9D03000066000000520400004C010000
+ 9D0300006600000052040000CF010000
16
@@ -1690,7 +1690,7 @@
0
16
- 9D03000066000000520400004C010000
+ 9D0300006600000052040000CF010000
16
@@ -1704,7 +1704,7 @@
0
0
0
- 32767
+ 966
0
8192
0
@@ -1744,7 +1744,7 @@
0
0
0
- 32767
+ 476
0
8192
1
@@ -1764,7 +1764,7 @@
0
0
0
- 32767
+ 612
0
8192
2
@@ -1790,7 +1790,7 @@
0
16
- 03000000EF010000520400003E020000
+ 03000000EF0100005204000052020000
16
@@ -1799,14 +1799,14 @@
3334
- 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFBF000000CE00000055040000D2000000000000000100001004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000D8000000EF000000020300006E010000BF0000004F00000055040000CE0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF960300004F0000009A030000E8010000000000000200001004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000D8000000EF00000093010000A80100009A0300004F00000055040000E801000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF020100004F000000060100000B0300000100000002000010040000000100000047FFFFFF18050000FFFFFFFF05000000ED0300006D000000C3000000C40000007394000001800010000001000000D8000000EF00000093010000A8010000000000004F000000020100000B0300000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF00000000D401000055040000D801000000000000010000100400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000000000000D8000000EF00000093010000A801000000000000D8010000550400006B02000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFF2B020000D80100002F0200006B02000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF000000000B030000DC0500000F030000010000000100001004000000010000000000000000000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000001000000D8000000EF000000020300006E010000000000000F030000DC0500008E0300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF24536F757263652042726F77736572202D202A2A2A204E6F7420456E61626C6564202A2A2A00000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000
+ 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFBF000000CE00000055040000D2000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000BF0000006600000055040000E5000000BF0000004F00000055040000CE0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF960300004F0000009A030000E8010000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C30000018000400000000000009A0300006600000055040000FF0100009A0300004F00000055040000E801000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF020100004F000000060100000B0300000100000002000010040000000100000047FFFFFF18050000FFFFFFFF05000000ED0300006D000000C3000000C4000000739400000180001000000100000000000000660000000201000022030000000000004F000000020100000B0300000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF00000000D401000055040000D801000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB0900000180008000000000000000000000EF010000550400008202000000000000D8010000550400006B02000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFF2B020000D80100002F0200006B02000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF000000000B030000DC0500000F030000010000000100001004000000010000000000000000000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF01000077940000018000800000010000000000000026030000DC050000A5030000000000000F030000DC0500008E0300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF24536F757263652042726F77736572202D202A2A2A204E6F7420456E61626C6564202A2A2A00000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000
59392
File
2537
- 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000400020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000004000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000004000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000004000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000400000000000000000000000000000000000001000000010000009600000002002050FFFFFFFF0096000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000004001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000400160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000000000000010000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65FF7F0000
+ 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000400020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000004000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000004000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000004000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000400000000000000000000000000000000000001000000010000009600000002002050FFFFFFFF0096000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000004001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000400160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000
1423
@@ -1822,7 +1822,7 @@
Build
988
- 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000004001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050000000000E466972655F52542D546872656164960000000000000001000E466972655F52542D546872656164000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64FF7F0000
+ 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000004001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050000000000E466972655F52542D546872656164960000000000000001000E466972655F52542D546872656164000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000
583
@@ -1838,7 +1838,7 @@
Debug
2373
- 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000000000000100000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000000000001000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000000000000100000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000000000000100000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000000000000100000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F720100000000000000000000000100000001000000000000000000000001000000000000000000054465627567FF7F0000
+ 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000
898
diff --git a/Project/RVMDK(uv5)/Fire_RT-Thread.uvoptx b/Project/RVMDK/Fire_RT-Thread.uvoptx
similarity index 100%
rename from Project/RVMDK(uv5)/Fire_RT-Thread.uvoptx
rename to Project/RVMDK/Fire_RT-Thread.uvoptx
diff --git a/Project/RVMDK/Fire_RT-Thread.uvprojx b/Project/RVMDK/Fire_RT-Thread.uvprojx
new file mode 100644
index 0000000..dba8842
--- /dev/null
+++ b/Project/RVMDK/Fire_RT-Thread.uvprojx
@@ -0,0 +1,1006 @@
+
+
+ 2.1
+ ### uVision Project, (C) Keil Software
+
+
+ Fire_RT-Thread
+ 0x4
+ ARM-ADS
+ 5060960::V5.06 update 7 (build 960)::.\ARMCC
+ 0
+
+
+ STM32H750XBHx
+ STMicroelectronics
+ Keil.STM32H7xx_DFP.2.6.0
+ https://www.keil.com/pack/
+ IRAM(0x20000000,0x00020000) IRAM2(0x24000000,0x00080000) IROM(0x08000000,0x00020000) CPUTYPE("Cortex-M7") FPU3(DFPU) CLOCK(12000000) ELITTLE
+
+
+ UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32H7x_128k -FS08000000 -FL020000 -FP0($$Device:STM32H750XBHx$CMSIS\Flash\STM32H7x_128k.FLM))
+ 0
+ $$Device:STM32H750XBHx$Drivers\CMSIS\Device\ST\STM32H7xx\Include\stm32h7xx.h
+
+
+
+
+
+
+
+
+
+ $$Device:STM32H750XBHx$CMSIS\SVD\STM32H750x.svd
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+ 0
+ 1
+
+ ./.rtt-studio/Debug\
+ rtthread
+ 1
+ 0
+ 1
+ 1
+ 0
+ ..\..\Listing\
+ 1
+ 0
+ 0
+
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+
+
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+
+
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+
+ 1
+
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 3
+
+
+ 1
+
+
+ SARMCM3.DLL
+ -REMAP -MPU
+ DCM.DLL
+ -pCM7
+ SARMCM3.DLL
+ -MPU
+ TCM.DLL
+ -pCM7
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 16
+
+
+
+
+ 1
+ 0
+ 0
+ 1
+ 1
+ 4096
+
+ 1
+ BIN\UL2CM3.DLL
+ "" ()
+
+
+
+
+ 0
+
+
+
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 1
+ 1
+ 0
+ 1
+ 1
+ 0
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+ "Cortex-M7"
+
+ 0
+ 0
+ 0
+ 1
+ 1
+ 0
+ 0
+ 3
+ 0
+ 0
+ 1
+ 0
+ 8
+ 1
+ 0
+ 0
+ 0
+ 3
+ 4
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 1
+ 1
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x20000000
+ 0x20000
+
+
+ 1
+ 0x8000000
+ 0x20000
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x8000000
+ 0x20000
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x20000000
+ 0x20000
+
+
+ 0
+ 0x24000000
+ 0x80000
+
+
+
+
+
+ 1
+ 2
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 2
+ 0
+ 0
+ 1
+ 0
+ 0
+ 3
+ 3
+ 1
+ 1
+ 0
+ 0
+ 0
+
+
+ USE_HAL_DRIVER,STM32H743xx
+
+ ..\..\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
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 4
+
+
+
+
+
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0x08000000
+ 0x20000000
+
+
+
+
+
+
+
+
+
+
+
+
+ STARTUP
+
+
+ startup_stm32h743xx.s
+ 2
+ ..\..\Libraries\CMSIS\Device\ST\STM32H7xx\Source\Templates\arm\startup_stm32h743xx.s
+
+
+
+
+ CMSIS
+
+
+ system_stm32h7xx.c
+ 1
+ ..\..\Libraries\CMSIS\Device\ST\STM32H7xx\Source\Templates\system_stm32h7xx.c
+
+
+
+
+ STM32H7xx_HAL_Driver
+
+
+ stm32h7xx_hal.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal.c
+
+
+ stm32h7xx_hal_adc.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_adc.c
+
+
+ stm32h7xx_hal_adc_ex.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_adc_ex.c
+
+
+ stm32h7xx_hal_cec.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_cec.c
+
+
+ stm32h7xx_hal_comp.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_comp.c
+
+
+ stm32h7xx_hal_cortex.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_cortex.c
+
+
+ stm32h7xx_hal_crc.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_crc.c
+
+
+ stm32h7xx_hal_crc_ex.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_crc_ex.c
+
+
+ stm32h7xx_hal_cryp.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_cryp.c
+
+
+ stm32h7xx_hal_cryp_ex.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_cryp_ex.c
+
+
+ stm32h7xx_hal_dac.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_dac.c
+
+
+ stm32h7xx_hal_dac_ex.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_dac_ex.c
+
+
+ stm32h7xx_hal_dcmi.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_dcmi.c
+
+
+ stm32h7xx_hal_dfsdm.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_dfsdm.c
+
+
+ stm32h7xx_hal_dma.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_dma.c
+
+
+ stm32h7xx_hal_dma_ex.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_dma_ex.c
+
+
+ stm32h7xx_hal_dma2d.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_dma2d.c
+
+
+ stm32h7xx_hal_eth.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_eth.c
+
+
+ stm32h7xx_hal_eth_ex.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_eth_ex.c
+
+
+ stm32h7xx_hal_fdcan.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_fdcan.c
+
+
+ stm32h7xx_hal_flash.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_flash.c
+
+
+ stm32h7xx_hal_flash_ex.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_flash_ex.c
+
+
+ stm32h7xx_hal_gpio.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_gpio.c
+
+
+ stm32h7xx_hal_hash.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_hash.c
+
+
+ stm32h7xx_hal_hash_ex.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_hash_ex.c
+
+
+ stm32h7xx_hal_hcd.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_hcd.c
+
+
+ stm32h7xx_hal_hrtim.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_hrtim.c
+
+
+ stm32h7xx_hal_hsem.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_hsem.c
+
+
+ stm32h7xx_hal_i2c.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_i2c.c
+
+
+ stm32h7xx_hal_i2c_ex.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_i2c_ex.c
+
+
+ stm32h7xx_hal_i2s.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_i2s.c
+
+
+ stm32h7xx_hal_i2s_ex.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_i2s_ex.c
+
+
+ stm32h7xx_hal_irda.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_irda.c
+
+
+ stm32h7xx_hal_iwdg.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_iwdg.c
+
+
+ stm32h7xx_hal_jpeg.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_jpeg.c
+
+
+ stm32h7xx_hal_lptim.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_lptim.c
+
+
+ stm32h7xx_hal_ltdc.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_ltdc.c
+
+
+ stm32h7xx_hal_mdios.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_mdios.c
+
+
+ stm32h7xx_hal_mdma.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_mdma.c
+
+
+ stm32h7xx_hal_mmc.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_mmc.c
+
+
+ stm32h7xx_hal_mmc_ex.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_mmc_ex.c
+
+
+ stm32h7xx_hal_nand.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_nand.c
+
+
+ stm32h7xx_hal_nor.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_nor.c
+
+
+ stm32h7xx_hal_opamp.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_opamp.c
+
+
+ stm32h7xx_hal_opamp_ex.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_opamp_ex.c
+
+
+ stm32h7xx_hal_pcd.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_pcd.c
+
+
+ stm32h7xx_hal_pcd_ex.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_pcd_ex.c
+
+
+ stm32h7xx_hal_pwr.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_pwr.c
+
+
+ stm32h7xx_hal_pwr_ex.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_pwr_ex.c
+
+
+ stm32h7xx_hal_qspi.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_qspi.c
+
+
+ stm32h7xx_hal_rcc.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_rcc.c
+
+
+ stm32h7xx_hal_rcc_ex.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_rcc_ex.c
+
+
+ stm32h7xx_hal_rng.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_rng.c
+
+
+ stm32h7xx_hal_rtc.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_rtc.c
+
+
+ stm32h7xx_hal_rtc_ex.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_rtc_ex.c
+
+
+ stm32h7xx_hal_sai.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_sai.c
+
+
+ stm32h7xx_hal_sai_ex.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_sai_ex.c
+
+
+ stm32h7xx_hal_sd.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_sd.c
+
+
+ stm32h7xx_hal_sd_ex.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_sd_ex.c
+
+
+ stm32h7xx_hal_sdram.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_sdram.c
+
+
+ stm32h7xx_hal_smartcard.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_smartcard.c
+
+
+ stm32h7xx_hal_smartcard_ex.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_smartcard_ex.c
+
+
+ stm32h7xx_hal_smbus.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_smbus.c
+
+
+ stm32h7xx_hal_spdifrx.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_spdifrx.c
+
+
+ stm32h7xx_hal_spi.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_spi.c
+
+
+ stm32h7xx_hal_spi_ex.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_spi_ex.c
+
+
+ stm32h7xx_hal_sram.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_sram.c
+
+
+ stm32h7xx_hal_swpmi.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_swpmi.c
+
+
+ stm32h7xx_hal_tim.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_tim.c
+
+
+ stm32h7xx_hal_tim_ex.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_tim_ex.c
+
+
+ stm32h7xx_hal_uart.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_uart.c
+
+
+ stm32h7xx_hal_uart_ex.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_uart_ex.c
+
+
+ stm32h7xx_hal_usart.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_usart.c
+
+
+ stm32h7xx_hal_wwdg.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_wwdg.c
+
+
+ stm32h7xx_ll_delayblock.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_delayblock.c
+
+
+ stm32h7xx_ll_fmc.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_fmc.c
+
+
+ stm32h7xx_ll_sdmmc.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_sdmmc.c
+
+
+ stm32h7xx_ll_usb.c
+ 1
+ ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_usb.c
+
+
+
+
+ USER
+
+
+ main.c
+ 1
+ ..\..\User\main.c
+
+
+ stm32h7xx_it.c
+ 1
+ ..\..\User\stm32h7xx_it.c
+
+
+ board.c
+ 1
+ ..\..\User\board.c
+
+
+ rtconfig.h
+ 5
+ ..\..\User\rtconfig.h
+
+
+ board.h
+ 5
+ ..\..\User\board.h
+
+
+ core_delay.c
+ 1
+ ..\..\User\bsp\delay\core_delay.c
+
+
+ bsp_led.c
+ 1
+ ..\..\User\bsp\led\bsp_led.c
+
+
+ bsp_debug_usart.c
+ 1
+ ..\..\User\bsp\usart\bsp_debug_usart.c
+
+
+ bsp_key.c
+ 1
+ ..\..\User\bsp\key\bsp_key.c
+
+
+ Detail.c
+ 1
+ ..\..\User\NG\Detail.c
+
+
+ Detail.h
+ 5
+ ..\..\User\NG\Detail.h
+
+
+ NGCal.c
+ 1
+ ..\..\User\NG\NGCal.c
+
+
+ NGCal.h
+ 5
+ ..\..\User\NG\NGCal.h
+
+
+ Therm.c
+ 1
+ ..\..\User\NG\Therm.c
+
+
+ Therm.h
+ 5
+ ..\..\User\NG\Therm.h
+
+
+ FlowCal.h
+ 5
+ ..\..\User\NG\FlowCal.h
+
+
+ OFlowCal.c
+ 1
+ ..\..\User\NG\OFlowCal.c
+
+
+
+
+ DOC
+
+
+ 必读说明.txt
+ 5
+ ..\..\必读说明.txt
+
+
+
+
+ rtt/source
+
+
+ clock.c
+ 1
+ ..\..\rtthread\3.0.3\src\clock.c
+
+
+ components.c
+ 1
+ ..\..\rtthread\3.0.3\src\components.c
+
+
+ device.c
+ 1
+ ..\..\rtthread\3.0.3\src\device.c
+
+
+ idle.c
+ 1
+ ..\..\rtthread\3.0.3\src\idle.c
+
+
+ ipc.c
+ 1
+ ..\..\rtthread\3.0.3\src\ipc.c
+
+
+ irq.c
+ 1
+ ..\..\rtthread\3.0.3\src\irq.c
+
+
+ kservice.c
+ 1
+ ..\..\rtthread\3.0.3\src\kservice.c
+
+
+ mem.c
+ 1
+ ..\..\rtthread\3.0.3\src\mem.c
+
+
+ memheap.c
+ 1
+ ..\..\rtthread\3.0.3\src\memheap.c
+
+
+ mempool.c
+ 1
+ ..\..\rtthread\3.0.3\src\mempool.c
+
+
+ object.c
+ 1
+ ..\..\rtthread\3.0.3\src\object.c
+
+
+ scheduler.c
+ 1
+ ..\..\rtthread\3.0.3\src\scheduler.c
+
+
+ signal.c
+ 1
+ ..\..\rtthread\3.0.3\src\signal.c
+
+
+ thread.c
+ 1
+ ..\..\rtthread\3.0.3\src\thread.c
+
+
+ timer.c
+ 1
+ ..\..\rtthread\3.0.3\src\timer.c
+
+
+
+
+ rtt/ports
+
+
+ cpuport.c
+ 1
+ ..\..\rtthread\3.0.3\libcpu\arm\cortex-m7\cpuport.c
+
+
+ context_rvds.S
+ 2
+ ..\..\rtthread\3.0.3\libcpu\arm\cortex-m7\context_rvds.S
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Fire_RT-Thread
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/Project/RVMDK(uv5)/Fire_RT-Thread.uvprojx b/Project/RVMDK(uv5)/Fire_RT-Thread.uvprojx
deleted file mode 100644
index e2bfcd7..0000000
--- a/Project/RVMDK(uv5)/Fire_RT-Thread.uvprojx
+++ /dev/null
@@ -1,1012 +0,0 @@
-
-
-
- 2.1
-
- ### uVision Project, (C) Keil Software
-
-
-
- Fire_RT-Thread
- 0x4
- ARM-ADS
- 5060960::V5.06 update 7 (build 960)::.\ARMCC
- 0
-
-
- STM32H750XBHx
- STMicroelectronics
- Keil.STM32H7xx_DFP.2.6.0
- https://www.keil.com/pack/
- IRAM(0x20000000,0x00020000) IRAM2(0x24000000,0x00080000) IROM(0x08000000,0x00020000) CPUTYPE("Cortex-M7") FPU3(DFPU) CLOCK(12000000) ELITTLE
-
-
- UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32H7x_128k -FS08000000 -FL020000 -FP0($$Device:STM32H750XBHx$CMSIS\Flash\STM32H7x_128k.FLM))
- 0
- $$Device:STM32H750XBHx$Drivers\CMSIS\Device\ST\STM32H7xx\Include\stm32h7xx.h
-
-
-
-
-
-
-
-
-
- $$Device:STM32H750XBHx$CMSIS\SVD\STM32H750x.svd
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
- 0
- 1
-
- ..\..\Output\
- Fire_RT-Thread
- 1
- 0
- 1
- 1
- 0
- ..\..\Listing\
- 1
- 0
- 0
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
-
- 0
- 0
-
-
- 0
- 0
- 0
- 0
-
- 1
-
-
-
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 3
-
-
- 1
-
-
- SARMCM3.DLL
- -REMAP -MPU
- DCM.DLL
- -pCM7
- SARMCM3.DLL
- -MPU
- TCM.DLL
- -pCM7
-
-
-
- 1
- 0
- 0
- 0
- 16
-
-
-
-
- 1
- 0
- 0
- 1
- 1
- 4096
-
- 1
- BIN\UL2CM3.DLL
- "" ()
-
-
-
-
- 0
-
-
-
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 0
- 1
- 1
- 0
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 0
- "Cortex-M7"
-
- 0
- 0
- 0
- 1
- 1
- 0
- 0
- 3
- 0
- 0
- 1
- 0
- 8
- 1
- 0
- 0
- 0
- 3
- 4
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 1
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0x20000
-
-
- 1
- 0x8000000
- 0x20000
-
-
- 0
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x0
- 0x0
-
-
- 1
- 0x8000000
- 0x20000
-
-
- 1
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x0
- 0x0
-
-
- 0
- 0x20000000
- 0x20000
-
-
- 0
- 0x24000000
- 0x80000
-
-
-
-
-
- 1
- 2
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 0
- 2
- 0
- 0
- 1
- 0
- 0
- 3
- 3
- 1
- 1
- 0
- 0
- 0
-
-
- USE_HAL_DRIVER,STM32H743xx
-
- ..\..\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
-
-
-
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 4
-
-
-
-
-
-
-
-
- 1
- 0
- 0
- 0
- 1
- 0
- 0x08000000
- 0x20000000
-
-
-
-
-
-
-
-
-
-
-
-
- STARTUP
-
-
- startup_stm32h743xx.s
- 2
- ..\..\Libraries\CMSIS\Device\ST\STM32H7xx\Source\Templates\arm\startup_stm32h743xx.s
-
-
-
-
- CMSIS
-
-
- system_stm32h7xx.c
- 1
- ..\..\Libraries\CMSIS\Device\ST\STM32H7xx\Source\Templates\system_stm32h7xx.c
-
-
-
-
- STM32H7xx_HAL_Driver
-
-
- stm32h7xx_hal.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal.c
-
-
- stm32h7xx_hal_adc.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_adc.c
-
-
- stm32h7xx_hal_adc_ex.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_adc_ex.c
-
-
- stm32h7xx_hal_cec.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_cec.c
-
-
- stm32h7xx_hal_comp.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_comp.c
-
-
- stm32h7xx_hal_cortex.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_cortex.c
-
-
- stm32h7xx_hal_crc.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_crc.c
-
-
- stm32h7xx_hal_crc_ex.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_crc_ex.c
-
-
- stm32h7xx_hal_cryp.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_cryp.c
-
-
- stm32h7xx_hal_cryp_ex.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_cryp_ex.c
-
-
- stm32h7xx_hal_dac.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_dac.c
-
-
- stm32h7xx_hal_dac_ex.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_dac_ex.c
-
-
- stm32h7xx_hal_dcmi.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_dcmi.c
-
-
- stm32h7xx_hal_dfsdm.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_dfsdm.c
-
-
- stm32h7xx_hal_dma.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_dma.c
-
-
- stm32h7xx_hal_dma_ex.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_dma_ex.c
-
-
- stm32h7xx_hal_dma2d.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_dma2d.c
-
-
- stm32h7xx_hal_eth.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_eth.c
-
-
- stm32h7xx_hal_eth_ex.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_eth_ex.c
-
-
- stm32h7xx_hal_fdcan.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_fdcan.c
-
-
- stm32h7xx_hal_flash.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_flash.c
-
-
- stm32h7xx_hal_flash_ex.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_flash_ex.c
-
-
- stm32h7xx_hal_gpio.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_gpio.c
-
-
- stm32h7xx_hal_hash.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_hash.c
-
-
- stm32h7xx_hal_hash_ex.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_hash_ex.c
-
-
- stm32h7xx_hal_hcd.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_hcd.c
-
-
- stm32h7xx_hal_hrtim.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_hrtim.c
-
-
- stm32h7xx_hal_hsem.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_hsem.c
-
-
- stm32h7xx_hal_i2c.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_i2c.c
-
-
- stm32h7xx_hal_i2c_ex.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_i2c_ex.c
-
-
- stm32h7xx_hal_i2s.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_i2s.c
-
-
- stm32h7xx_hal_i2s_ex.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_i2s_ex.c
-
-
- stm32h7xx_hal_irda.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_irda.c
-
-
- stm32h7xx_hal_iwdg.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_iwdg.c
-
-
- stm32h7xx_hal_jpeg.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_jpeg.c
-
-
- stm32h7xx_hal_lptim.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_lptim.c
-
-
- stm32h7xx_hal_ltdc.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_ltdc.c
-
-
- stm32h7xx_hal_mdios.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_mdios.c
-
-
- stm32h7xx_hal_mdma.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_mdma.c
-
-
- stm32h7xx_hal_mmc.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_mmc.c
-
-
- stm32h7xx_hal_mmc_ex.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_mmc_ex.c
-
-
- stm32h7xx_hal_nand.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_nand.c
-
-
- stm32h7xx_hal_nor.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_nor.c
-
-
- stm32h7xx_hal_opamp.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_opamp.c
-
-
- stm32h7xx_hal_opamp_ex.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_opamp_ex.c
-
-
- stm32h7xx_hal_pcd.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_pcd.c
-
-
- stm32h7xx_hal_pcd_ex.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_pcd_ex.c
-
-
- stm32h7xx_hal_pwr.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_pwr.c
-
-
- stm32h7xx_hal_pwr_ex.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_pwr_ex.c
-
-
- stm32h7xx_hal_qspi.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_qspi.c
-
-
- stm32h7xx_hal_rcc.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_rcc.c
-
-
- stm32h7xx_hal_rcc_ex.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_rcc_ex.c
-
-
- stm32h7xx_hal_rng.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_rng.c
-
-
- stm32h7xx_hal_rtc.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_rtc.c
-
-
- stm32h7xx_hal_rtc_ex.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_rtc_ex.c
-
-
- stm32h7xx_hal_sai.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_sai.c
-
-
- stm32h7xx_hal_sai_ex.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_sai_ex.c
-
-
- stm32h7xx_hal_sd.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_sd.c
-
-
- stm32h7xx_hal_sd_ex.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_sd_ex.c
-
-
- stm32h7xx_hal_sdram.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_sdram.c
-
-
- stm32h7xx_hal_smartcard.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_smartcard.c
-
-
- stm32h7xx_hal_smartcard_ex.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_smartcard_ex.c
-
-
- stm32h7xx_hal_smbus.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_smbus.c
-
-
- stm32h7xx_hal_spdifrx.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_spdifrx.c
-
-
- stm32h7xx_hal_spi.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_spi.c
-
-
- stm32h7xx_hal_spi_ex.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_spi_ex.c
-
-
- stm32h7xx_hal_sram.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_sram.c
-
-
- stm32h7xx_hal_swpmi.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_swpmi.c
-
-
- stm32h7xx_hal_tim.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_tim.c
-
-
- stm32h7xx_hal_tim_ex.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_tim_ex.c
-
-
- stm32h7xx_hal_uart.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_uart.c
-
-
- stm32h7xx_hal_uart_ex.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_uart_ex.c
-
-
- stm32h7xx_hal_usart.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_usart.c
-
-
- stm32h7xx_hal_wwdg.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_wwdg.c
-
-
- stm32h7xx_ll_delayblock.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_delayblock.c
-
-
- stm32h7xx_ll_fmc.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_fmc.c
-
-
- stm32h7xx_ll_sdmmc.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_sdmmc.c
-
-
- stm32h7xx_ll_usb.c
- 1
- ..\..\Libraries\STM32H7xx_HAL_Driver\Src\stm32h7xx_ll_usb.c
-
-
-
-
- USER
-
-
- main.c
- 1
- ..\..\User\main.c
-
-
- stm32h7xx_it.c
- 1
- ..\..\User\stm32h7xx_it.c
-
-
- board.c
- 1
- ..\..\User\board.c
-
-
- rtconfig.h
- 5
- ..\..\User\rtconfig.h
-
-
- board.h
- 5
- ..\..\User\board.h
-
-
- core_delay.c
- 1
- ..\..\User\bsp\delay\core_delay.c
-
-
- bsp_led.c
- 1
- ..\..\User\bsp\led\bsp_led.c
-
-
- bsp_debug_usart.c
- 1
- ..\..\User\bsp\usart\bsp_debug_usart.c
-
-
- bsp_key.c
- 1
- ..\..\User\bsp\key\bsp_key.c
-
-
- Detail.c
- 1
- ..\..\User\NG\Detail.c
-
-
- Detail.h
- 5
- ..\..\User\NG\Detail.h
-
-
- NGCal.c
- 1
- ..\..\User\NG\NGCal.c
-
-
- NGCal.h
- 5
- ..\..\User\NG\NGCal.h
-
-
- Therm.c
- 1
- ..\..\User\NG\Therm.c
-
-
- Therm.h
- 5
- ..\..\User\NG\Therm.h
-
-
- FlowCal.h
- 5
- ..\..\User\NG\FlowCal.h
-
-
- OFlowCal.c
- 1
- ..\..\User\NG\OFlowCal.c
-
-
-
-
- DOC
-
-
- 必读说明.txt
- 5
- ..\..\必读说明.txt
-
-
-
-
- rtt/source
-
-
- clock.c
- 1
- ..\..\rtthread\3.0.3\src\clock.c
-
-
- components.c
- 1
- ..\..\rtthread\3.0.3\src\components.c
-
-
- device.c
- 1
- ..\..\rtthread\3.0.3\src\device.c
-
-
- idle.c
- 1
- ..\..\rtthread\3.0.3\src\idle.c
-
-
- ipc.c
- 1
- ..\..\rtthread\3.0.3\src\ipc.c
-
-
- irq.c
- 1
- ..\..\rtthread\3.0.3\src\irq.c
-
-
- kservice.c
- 1
- ..\..\rtthread\3.0.3\src\kservice.c
-
-
- mem.c
- 1
- ..\..\rtthread\3.0.3\src\mem.c
-
-
- memheap.c
- 1
- ..\..\rtthread\3.0.3\src\memheap.c
-
-
- mempool.c
- 1
- ..\..\rtthread\3.0.3\src\mempool.c
-
-
- object.c
- 1
- ..\..\rtthread\3.0.3\src\object.c
-
-
- scheduler.c
- 1
- ..\..\rtthread\3.0.3\src\scheduler.c
-
-
- signal.c
- 1
- ..\..\rtthread\3.0.3\src\signal.c
-
-
- thread.c
- 1
- ..\..\rtthread\3.0.3\src\thread.c
-
-
- timer.c
- 1
- ..\..\rtthread\3.0.3\src\timer.c
-
-
-
-
- rtt/ports
-
-
- cpuport.c
- 1
- ..\..\rtthread\3.0.3\libcpu\arm\cortex-m7\cpuport.c
-
-
- context_rvds.S
- 2
- ..\..\rtthread\3.0.3\libcpu\arm\cortex-m7\context_rvds.S
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Fire_RT-Thread
- 1
-
-
-
-
-
diff --git a/User/NG/Detail.c b/User/NG/Detail.c
index ac35710..4645113 100644
--- a/User/NG/Detail.c
+++ b/User/NG/Detail.c
@@ -4,37 +4,24 @@
#include
#include
#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 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);
}
diff --git a/User/NG/Detail.h b/User/NG/Detail.h
index c950c70..f350318 100644
--- a/User/NG/Detail.h
+++ b/User/NG/Detail.h
@@ -6,7 +6,6 @@
#define _DETAIL_H
#include "NGCal.h"
-#include
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);
diff --git a/User/NG/FlowCal.c b/User/NG/FlowCal.c
index c143513..ebed82c 100644
--- a/User/NG/FlowCal.c
+++ b/User/NG/FlowCal.c
@@ -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, "δ\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><>ʽ÷Χ\n");
+ fprintf(
+ stderr,
+ "K/D <20><>ʽ÷Χ\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;
+}
diff --git a/User/NG/NGCal.c b/User/NG/NGCal.c
index 37ce5b1..a9d8e1b 100644
--- a/User/NG/NGCal.c
+++ b/User/NG/NGCal.c
@@ -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));
}
diff --git a/User/NG/NGCal.h b/User/NG/NGCal.h
index 8a32fd5..bfa0869 100644
--- a/User/NG/NGCal.h
+++ b/User/NG/NGCal.h
@@ -1,20 +1,10 @@
/*************************************************************************
* �ļ�: NGCal.h
-
**************************************************************************/
-
-#ifndef _NGCal_H
+#ifndef _NGCal_H
#define _NGCal_H
-
-
-
-
#include
#include
-
-#include
-
-
#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;
diff --git a/User/NG/Therm.c b/User/NG/Therm.c
index dc00f05..52a0c0d 100644
--- a/User/NG/Therm.c
+++ b/User/NG/Therm.c
@@ -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;
diff --git a/User/NG/Therm.h b/User/NG/Therm.h
index f31115a..47962a4 100644
--- a/User/NG/Therm.h
+++ b/User/NG/Therm.h
@@ -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);
diff --git a/User/NG/main.c b/User/NG/main.c
index e5eef4a..e40086a 100644
--- a/User/NG/main.c
+++ b/User/NG/main.c
@@ -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)
diff --git a/User/main.h b/User/NG/main.h
similarity index 100%
rename from User/main.h
rename to User/NG/main.h
diff --git a/User/main.c b/User/main.c
deleted file mode 100644
index eb17474..0000000
--- a/User/main.c
+++ /dev/null
@@ -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
-#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