This commit is contained in:
lmx
2025-12-09 11:04:18 +08:00
parent ea610c24d3
commit 52e4b62b53
2 changed files with 33 additions and 2 deletions

View File

@ -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

View File

@ -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
}
/*==================================================================================*/