Browse Source

AP_Baro: added averaging to PX4 baro driver

master
Andrew Tridgell 12 years ago
parent
commit
4fe7ad6267
  1. 3
      libraries/AP_Baro/AP_Baro_PX4.cpp
  2. 3
      libraries/AP_Baro/AP_Baro_PX4.h

3
libraries/AP_Baro/AP_Baro_PX4.cpp

@ -20,6 +20,7 @@ extern const AP_HAL::HAL& hal;
// Public Methods ////////////////////////////////////////////////////////////// // Public Methods //////////////////////////////////////////////////////////////
bool AP_Baro_PX4::init(void) bool AP_Baro_PX4::init(void)
{ {
if (_baro_fd == -1) {
_baro_fd = open(BARO_DEVICE_PATH, O_RDONLY); _baro_fd = open(BARO_DEVICE_PATH, O_RDONLY);
if (_baro_fd < 0) { if (_baro_fd < 0) {
hal.scheduler->panic("Unable to open " BARO_DEVICE_PATH); hal.scheduler->panic("Unable to open " BARO_DEVICE_PATH);
@ -30,6 +31,8 @@ bool AP_Baro_PX4::init(void)
// average over up to 10 samples // average over up to 10 samples
ioctl(_baro_fd, SENSORIOCSQUEUEDEPTH, 10); ioctl(_baro_fd, SENSORIOCSQUEUEDEPTH, 10);
hal.console->printf("AP_Baro_PX4: init done fd=%d\n", _baro_fd);
}
return true; return true;
} }

3
libraries/AP_Baro/AP_Baro_PX4.h

@ -8,6 +8,9 @@
class AP_Baro_PX4 : public AP_Baro class AP_Baro_PX4 : public AP_Baro
{ {
public: public:
AP_Baro_PX4() : AP_Baro() {
_baro_fd = -1;
}
bool init(); bool init();
uint8_t read(); uint8_t read();
float get_pressure(); float get_pressure();

Loading…
Cancel
Save