diff --git a/apps/earphone/include/app_config.h b/apps/earphone/include/app_config.h index 0c9a526..da7bfc7 100644 --- a/apps/earphone/include/app_config.h +++ b/apps/earphone/include/app_config.h @@ -91,8 +91,8 @@ #define OTA_TWS_SAME_TIME_ENABLE 0 #define OTA_TWS_SAME_TIME_NEW 0 //使用新的tws ota流程 #else -#define JL_EARPHONE_APP_EN 0 -#define OTA_TWS_SAME_TIME_ENABLE 0 +#define JL_EARPHONE_APP_EN 1 +#define OTA_TWS_SAME_TIME_ENABLE 1 #define OTA_TWS_SAME_TIME_NEW 0 //使用新的tws ota流程 #endif diff --git a/apps/earphone/xtell_Sensor/sensor/BMP280.c b/apps/earphone/xtell_Sensor/sensor/BMP280.c index b251ca9..5b418be 100644 --- a/apps/earphone/xtell_Sensor/sensor/BMP280.c +++ b/apps/earphone/xtell_Sensor/sensor/BMP280.c @@ -51,6 +51,7 @@ static uint8_t bmp280_read_regs(uint8_t reg, uint8_t *buf, uint16_t len) { * @return 补偿后的温度值 (单位: °C) */ static float compensate_temperature(int32_t adc_T) { + #if 0 float var1, var2, temperature; var1 = (((float)adc_T) / 16384.0f - ((float)t1) / 1024.0f) * ((float)t2); @@ -64,6 +65,16 @@ static float compensate_temperature(int32_t adc_T) { if (temperature > 85.0f) return 85.0f; return temperature; + #else + int32_t var1, var2, T; + var1 = ((((adc_T>>3) - ((int32_t)t1<<1))) * ((int32_t)t2)) >> 11; + var2 = (((((adc_T>>4) - ((int32_t)t1)) * ((adc_T>>4) - ((int32_t)t1))) >> 12) * + ((int32_t)t3)) >> 14; + t_fine = var1 + var2; + T = (t_fine * 5 + 128) >> 8; + return (float)(T/100.0f); + + #endif } /** @@ -72,6 +83,7 @@ static float compensate_temperature(int32_t adc_T) { * @return 补偿后的气压值 (单位: Pa) */ static float compensate_pressure(int32_t adc_P) { +#if 0 float var1, var2, pressure; var1 = ((float)t_fine / 2.0f) - 64000.0f; @@ -95,6 +107,25 @@ static float compensate_pressure(int32_t adc_P) { if (pressure > 110000.0f) return 110000.0f; return pressure; +#else + int32_t var1, var2, p; + var1 = ((int32_t)t_fine) - 128000; + var2 = var1 * var1 * (int32_t)p6; + var2 = var2 + ((var1*(int32_t)p5)<<17); + var2 = var2 + (((int32_t)p4)<<35); + var1 = ((var1 * var1 * (int32_t)p3)>>8) + ((var1 * (int32_t)p2)<<12); + var1 = (((((int32_t)1)<<47)+var1))*((int32_t)p1)>>33; + if (var1 == 0) + { + return 0; // avoid exception caused by division by zero + } + p = 1048576-adc_P; + p = (((p<<31)-var2)*3125)/var1; + var1 = (((int32_t)p9) * (p>>13) * (p>>13)) >> 25; + var2 = (((int32_t)p8) * p) >> 19; + p = ((p + var1 + var2) >> 8) + (((int32_t)p9)<<4); + return (float)(p/256); +#endif } /*==================================================================================*/