SkyPulse UAV V0.1
Loading...
Searching...
No Matches
barometer_bmp180.h
Go to the documentation of this file.
1#ifndef BAROMETER_BMP180_H
2#define BAROMETER_BMP180_H
3
4#include <QObject>
5#include <QThread>
6#include "i2c_device.h"
7
8class Barometer_BMP180 : public QObject
9{
10 Q_OBJECT
11
12public:
13 explicit Barometer_BMP180(uint8_t i2cAddress = 0x77, QObject *parent = nullptr);
15
16public slots:
17 void readPressure();
18 void readTemperature();
19 void readAllRegisters();
20
21private:
22 I2C_Device* i2cDevice;
23
24 // Calibration coefficients
25 short ac1;
26 short ac2;
27 short ac3;
28 short ac4;
29 short ac5;
30 short ac6;
31 short b1;
32 short b2;
33 short mb;
34 short mc;
35 short md;
36
37 // Utility functions
38 bool readShortFromRegister(uint8_t registerAddress, short &value);
39 double calculatePressure(int rawPressure) const;
40
41signals:
42 void sig_temperatureRead(double temperature);
43 void sig_pressureRead(double pressure);
44 void sig_allRegistersData(const QByteArray &data);
45 void sig_errorOccurred(const QString& message);
46};
47
48#endif // BAROMETER_BMP180_H
Definition barometer_bmp180.h:9
void sig_pressureRead(double pressure)
void readAllRegisters()
Definition barometer_bmp180.cpp:103
Barometer_BMP180(uint8_t i2cAddress=0x77, QObject *parent=nullptr)
Definition barometer_bmp180.cpp:4
bool readCalibrationData()
Definition barometer_bmp180.cpp:69
void readTemperature()
Definition barometer_bmp180.cpp:40
void sig_errorOccurred(const QString &message)
void readPressure()
Definition barometer_bmp180.cpp:18
void sig_allRegistersData(const QByteArray &data)
void sig_temperatureRead(double temperature)
Definition i2c_device.h:8