lps22hb: move to PX4Barometer and cleanup

This commit is contained in:
Daniel Agar
2020-04-15 23:33:41 -04:00
parent 7c7ee115e3
commit f51715c7ab
6 changed files with 58 additions and 225 deletions
+13 -20
View File
@@ -39,6 +39,8 @@
#include "LPS22HB.hpp"
#include <drivers/device/spi.h>
/* SPI protocol address bits */
#define DIR_READ (1<<7)
#define DIR_WRITE (0<<7)
@@ -49,12 +51,13 @@ class LPS22HB_SPI : public device::SPI
{
public:
LPS22HB_SPI(int bus, uint32_t device, int bus_frequency, spi_mode_e spi_mode);
virtual ~LPS22HB_SPI() = default;
~LPS22HB_SPI() override = default;
virtual int init();
virtual int read(unsigned address, void *data, unsigned count);
virtual int write(unsigned address, void *data, unsigned count);
int read(unsigned address, void *data, unsigned count) override;
int write(unsigned address, void *data, unsigned count) override;
protected:
int probe() override;
};
device::Device *
@@ -63,21 +66,13 @@ LPS22HB_SPI_interface(int bus, uint32_t devid, int bus_frequency, spi_mode_e spi
return new LPS22HB_SPI(bus, devid, bus_frequency, spi_mode);
}
LPS22HB_SPI::LPS22HB_SPI(int bus, uint32_t device, int bus_frequency, spi_mode_e spi_mode)
: SPI(DRV_BARO_DEVTYPE_LPS22HB, MODULE_NAME, bus, device, spi_mode, bus_frequency)
LPS22HB_SPI::LPS22HB_SPI(int bus, uint32_t device, int bus_frequency, spi_mode_e spi_mode) :
SPI(DRV_BARO_DEVTYPE_LPS22HB, MODULE_NAME, bus, device, spi_mode, bus_frequency)
{
}
int
LPS22HB_SPI::init()
int LPS22HB_SPI::probe()
{
int ret = SPI::init();
if (ret != OK) {
DEVICE_DEBUG("SPI init failed");
return -EIO;
}
// read WHO_AM_I value
uint8_t id = 0;
@@ -91,11 +86,10 @@ LPS22HB_SPI::init()
return -EIO;
}
return OK;
return PX4_OK;
}
int
LPS22HB_SPI::write(unsigned address, void *data, unsigned count)
int LPS22HB_SPI::write(unsigned address, void *data, unsigned count)
{
uint8_t buf[32];
@@ -109,8 +103,7 @@ LPS22HB_SPI::write(unsigned address, void *data, unsigned count)
return transfer(&buf[0], &buf[0], count + 1);
}
int
LPS22HB_SPI::read(unsigned address, void *data, unsigned count)
int LPS22HB_SPI::read(unsigned address, void *data, unsigned count)
{
uint8_t buf[32];