25 #ifndef BARO_ALTIMETER_H_
26 #define BARO_ALTIMETER_H_
28 #define BARO_ALTIMETER_DEBUG
36 #include "Adafruit_BMP3XX.h"
49 public Adafruit_BMP3XX
55 uint8_t presOS = BMP3_NO_OVERSAMPLING, uint8_t tempOS = BMP3_NO_OVERSAMPLING,
56 uint8_t iirCoef = BMP3_IIR_FILTER_COEFF_3, uint8_t sensODR = BMP3_ODR_50_HZ);
constexpr float BARO_ALTIMETER_PRES_MIN
Definition: baro_altimeter.h:43
constexpr float BARO_ALTIMETER_PRES_MAX
Definition: baro_altimeter.h:42
constexpr float BARO_ALTIMETER_TEMP_MAX
Definition: baro_altimeter.h:44
constexpr float BARO_ALTIMETER_TEMP_MIN
Definition: baro_altimeter.h:45
Definition: baro_altimeter.h:50
float GetTemp()
Definition: baro_altimeter.cpp:316
bool SetMSLPres(float presMSL_Pa=101325.0f)
Definition: baro_altimeter.cpp:141
float GetLaunchAltMSL()
Definition: baro_altimeter.cpp:344
float GetGroundTemp()
Definition: baro_altimeter.cpp:337
bool ConnectToSensor(TwoWire *userWire=&Wire2)
Attempt to connect to the BMP388 pressure/temperature sensor by running Adafruit's BMP_3XX....
Definition: baro_altimeter.cpp:64
float _pRaw
Definition: baro_altimeter.h:85
bool ReadSensor()
Read raw pressure and temperature data from BMP388.
Definition: baro_altimeter.cpp:231
float _mslPres
Definition: baro_altimeter.h:94
MedianFilter _PresFastFilter
Definition: baro_altimeter.h:98
float GetAltitudeMSL()
Definition: baro_altimeter.cpp:365
float GetAltitude()
Definition: baro_altimeter.cpp:351
float _groundPres
Definition: baro_altimeter.h:91
BaroAltimeter()
This class encompasses all functions to create a barometric altimeter for the drone,...
Definition: baro_altimeter.cpp:26
bool isMSLPSet
Definition: baro_altimeter.h:73
float _lastAltMSL
Definition: baro_altimeter.h:89
unsigned long _lastMeasMillis
Definition: baro_altimeter.h:96
bool isConnected
Definition: baro_altimeter.h:74
bool ConfigureSensorParams(uint8_t presOS=BMP3_NO_OVERSAMPLING, uint8_t tempOS=BMP3_NO_OVERSAMPLING, uint8_t iirCoef=BMP3_IIR_FILTER_COEFF_3, uint8_t sensODR=BMP3_ODR_50_HZ)
Configure BMP388 oversampling, IIR filtering, and ODR.
Definition: baro_altimeter.cpp:95
float _vertSpeed
Definition: baro_altimeter.h:95
float _t
Definition: baro_altimeter.h:86
float _tRaw
Definition: baro_altimeter.h:87
LowPassFilter _PresSlowFilter
Definition: baro_altimeter.h:99
bool Initialize()
Initialize the altimeter class.
Definition: baro_altimeter.cpp:167
float _alt
Definition: baro_altimeter.h:90
bool _ReadGroundPresTemp(uint8_t n, unsigned long measDelay)
Measure the ground-level pressure and temperature by taking the average of a few readings.
Definition: baro_altimeter.cpp:405
float _altMSL
Definition: baro_altimeter.h:88
float _groundTemp
Definition: baro_altimeter.h:92
bool isReady
Definition: baro_altimeter.h:76
float GetMSLPres()
Definition: baro_altimeter.cpp:358
float GetVertSpeed()
Definition: baro_altimeter.cpp:323
float GetPressure()
Definition: baro_altimeter.cpp:309
bool _SetTakeoffAltitude()
Compute the altitude above MSL at the T/O location.
Definition: baro_altimeter.cpp:385
float _groundAltMSL
Definition: baro_altimeter.h:93
float _p
Definition: baro_altimeter.h:84
unsigned long _currMeasMillis
Definition: baro_altimeter.h:97
float GetGroundPres()
Definition: baro_altimeter.cpp:330
bool isConfigured
Definition: baro_altimeter.h:75
LowPassFilter _TempSlowFilter
Definition: baro_altimeter.h:100
This is a simple implementation of a discrete low pass filter to filter noisy signals.
Definition: low_pass_filter.h:25