SkyPulse UAV V0.1
Loading...
Searching...
No Matches
BMP180.h
Go to the documentation of this file.
1#ifndef __BMP180_H__
2#define __BMP180_H__
3
4#include <atomic>
5#include <functional>
6
7#include "IIC.h"
8#include "CppThread.hpp"
9
10#define BMP180_ADDRESS 0x77
11/**************************************************************************************/
12#define MY_ALTITUDE 10.0f // Before calibration, set the altitude of your location here!
13/**************************************************************************************/
14
15using namespace std;
16using namespace std::chrono;
17
18class BMP180 {
19
20public:
21
22 using CallbackFunction = function<void(float)>;
23
24 BMP180();
25
26 BMP180(float loaclAltitude);
27
28 float getData();
29
30 void setCallbackA(CallbackFunction callback);
31
32 void setCallbackB(CallbackFunction callback);
33
34protected:
35
36 void BMP180ReadEEPROM(char* eeprom);
37
38 void sealevelPresCorrect(float sealevelPressure);
39
40 // void baroGetAbsAlti(int handle, long p, float sealevelPressure, bool* needToExit);
41
43
44private:
45
46 CallbackFunction callbackA_;
47
48 CallbackFunction callbackB_;
49
50 IIC iicBMP180;
51
52 long p;
53 float t;
54
55 float myLocalAltitude;
56 float sealevelPressure;
57
58 std::atomic<float> droneAltitude;
59
60 char eeprom;
61
62};
63
64class BMP180Thread : public CppThread {
65
66public:
67
68 BMP180Thread(BMP180& BMP180Ins_) : BMP180Ins(BMP180Ins_) {};
69
70protected:
71
72 void run() override;
73
74private:
75
76 BMP180& BMP180Ins;
77
78};
79
80#endif
Definition BMP180.h:64
void run() override
Definition BMP180Thread.cpp:3
BMP180Thread(BMP180 &BMP180Ins_)
Definition BMP180.h:68
Definition BMP180.h:18
float getData()
Definition BMP180.cpp:42
function< void(float)> CallbackFunction
Definition BMP180.h:22
void setCallbackA(CallbackFunction callback)
Definition BMP180.cpp:143
void BMP180ReadEEPROM(char *eeprom)
Definition BMP180.cpp:28
void sealevelPresCorrect(float sealevelPressure)
Definition BMP180.cpp:36
void BMP180ReadTempAndPres()
Definition BMP180.cpp:64
BMP180()
Definition BMP180.cpp:8
void setCallbackB(CallbackFunction callback)
Definition BMP180.cpp:149
Definition CppThread.hpp:20
Definition IIC.h:12