int Baro_update(void) { static uint32_t baroDeadline = 0; static int state = 0; if ((int32_t)(currentTime - baroDeadline) < 0) return 0; baroDeadline = currentTime; if (state) { baro.get_up(); baro.start_ut(); baroDeadline += baro.ut_delay; baro.calculate(&baroPressure, &baroTemperature); state = 0; return 2; } else { baro.get_ut(); baro.start_up(); Baro_Common(); state = 1; baroDeadline += baro.up_delay; return 1; } }
bool SensorReadBARO() { #if STACK_BARO #ifdef BMP085 if(SensorInitState.BARO_BRAND==BMP085) { if((getTickCount()>BaroDoTick)) { BaroDoTick = getTickCount() + 6; if(BaroDoState==0) { Sensor.rawBARO[1] = Sensor.BaroInfo.baroTemperature = readRawTemperature();// - (28262-3534); TriggerRawPressure(); Baro_Common(); BaroDoTick = getTickCount() + 21; BaroDoState = 1; return false; } else { Sensor.rawBARO[0] = readRawPressure() - SensorInitState.BARO_BasePressure; Sensor.BaroInfo.baroPressure = readPressure(); TriggerRawTemperature(); BaroDoState = 0; return true; } } else return false; } else #endif static float temperature,pressure,BaroAlt; bool beUpdate; beUpdate = BMP280_GetData(&pressure, &temperature, &BaroAlt);;//TBM if(beUpdate) { Sensor.rawBARO[0] = Sensor.BaroInfo.baroPressure = pressure; Sensor.rawBARO[1] = Sensor.BaroInfo.baroTemperature = temperature; Baro_Common(); } return beUpdate; #else return false; #endif }