From 51f61fd2e68abaecc07f2edd71e19a386e8c94c3 Mon Sep 17 00:00:00 2001 From: zhyinch <zhyinch@gmail.com> Date: 星期二, 12 十月 2021 11:18:49 +0800 Subject: [PATCH] 增加信号强度,未调试完成 --- Src/ExternalDevices/dps368_test.c | 25 +++++++++++++------------ 1 files changed, 13 insertions(+), 12 deletions(-) diff --git a/Src/ExternalDevices/dps368_test.c b/Src/ExternalDevices/dps368_test.c index 40b006e..b106adf 100644 --- a/Src/ExternalDevices/dps368_test.c +++ b/Src/ExternalDevices/dps368_test.c @@ -69,7 +69,7 @@ /* Shall implement delay in milliseconds*/ void test_wait_ms(u8 delay) { - printf("Waiting for %dms\n",delay); +// printf("Waiting for %dms\n",delay); } struct dps310_state drv_state; f64 pressure,temperature; @@ -109,6 +109,8 @@ * and returns computed double precision pressure and temperature value */ ret = dps310_get_processed_data(&drv_state,&pressure,&temperature); + GetPressAndHeight(); + // printf("get_processed_data ret val = %d, pressure = %lf, temp = %lf\n",ret,pressure,temperature); /*To change configuration we first need to put sensor in @@ -138,20 +140,19 @@ return 0; } -float PressToHeight(float press,float temper) -{ - float temp1,temp2; - temp1 = 8.51*temper/284; - temp2 = log10f(101325/press); - return temp1*temp2; -} -float height; -void GetPressAndTemp(void) +float Height; +float GetPressAndHeight(void) { u8 ret; - + + /*Instantiate driver state*/ ret = dps310_get_processed_data(&drv_state,&pressure,&temperature); + + Height = 44330 * (1.0 - pow((pressure / 1013.25), (1 / 5.255))); + if(pressure==0) + Height = 0; + return Height; //height=PressToHeight(pressure,temperature); - printf("get_processed_data ret val = %d, pressure = %lf, temp = %lf\n",ret,pressure,temperature); + // printf("get_processed_data ret val = %d, pressure = %lf, temp = %lf\n",ret,pressure,temperature); } \ No newline at end of file -- Gitblit v1.9.3