ardupilot/libraries/AP_Baro/AP_Baro_BMP085.h
Lucas De Marchi 81a298c9c8 AP_Baro: reduce header scope
We don't need to expose to other libraries how each backend is
implemented. AP_Baro.h is the main header, included by other libraries.

Instead of including each backend in the main header, move them to where
they are needed. Additionally standardize the order and how we include
the headers.

The advantages are:
	- Internals of each backend is not exposed outside of the
	  library
	- Faster incremental builds since we don't need to recompile
	  whoever includes AP_Baro.h because a backend changed
2015-12-02 10:40:50 +11:00

43 lines
1.2 KiB
C++

/// -*- tab-width: 4; Mode: C++; c-basic-offset: 4; indent-tabs-mode: nil -*-
#pragma once
#include "AP_Baro_Backend.h"
class AP_Baro_BMP085 : public AP_Baro_Backend
{
public:
// Constructor
AP_Baro_BMP085(AP_Baro &baro);
/* AP_Baro public interface: */
void update();
void accumulate(void);
private:
uint8_t _instance;
float _temp_sum;
float _press_sum;
uint8_t _count;
// Flymaple has no EOC pin, so use times instead
uint32_t _last_press_read_command_time;
uint32_t _last_temp_read_command_time;
// State machine
uint8_t BMP085_State;
// Internal calibration registers
int16_t ac1, ac2, ac3, b1, b2, mb, mc, md;
uint16_t ac4, ac5, ac6;
uint32_t _retry_time;
int32_t RawPress;
int32_t RawTemp;
void Command_ReadPress();
void Command_ReadTemp();
bool ReadPress();
void ReadTemp();
void Calculate();
};