#include <baro_altimeter.h>
◆ BaroAltimeter()
| BaroAltimeter::BaroAltimeter |
( |
| ) |
|
This class encompasses all functions to create a barometric altimeter for the drone, based on Adafruit's BMP388 sensor library.
This class is responsible for:
- Initializing the sensor
- Reading pressure and temperature
- Filtering raw measurements
- Computing change in altitude from T/O location
- Computing vertical speed
◆ _ReadGroundPresTemp()
| bool BaroAltimeter::_ReadGroundPresTemp |
( |
uint8_t |
n, |
|
|
unsigned long |
measDelay |
|
) |
| |
|
private |
Measure the ground-level pressure and temperature by taking the average of a few readings.
- Parameters
-
| n | Number of measurements to take |
| measDelay | Arduino 'delay()' between measurements in milliseconds |
- Returns
- True if success, false if not.
◆ _SetTakeoffAltitude()
| bool BaroAltimeter::_SetTakeoffAltitude |
( |
| ) |
|
|
private |
Compute the altitude above MSL at the T/O location.
Uses equation from Ardupilot's source code.
◆ ConfigureSensorParams()
| bool BaroAltimeter::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.
Refer to Adafruit_BMP_3XX.h for config. options
- Parameters
-
| presOS | Pressure oversampling |
| tempSO | Temperature oversampling |
| iirCoef | Infinite impulse response (IIR) filter coef. |
| sensODR | Output data rate [Hz] |
- Returns
- True if successfully configured, false if not.
◆ ConnectToSensor()
| bool BaroAltimeter::ConnectToSensor |
( |
TwoWire * |
userWire = &Wire2 | ) |
|
Attempt to connect to the BMP388 pressure/temperature sensor by running Adafruit's BMP_3XX.begin() method.
Returns false if it could't connect to the sensor.
- Parameters
-
| userWire | I2C bus that the sensor is connected to. Default Wire2. |
- Returns
- True if success, false if not.
◆ GetAltitude()
| float BaroAltimeter::GetAltitude |
( |
| ) |
|
◆ GetAltitudeMSL()
| float BaroAltimeter::GetAltitudeMSL |
( |
| ) |
|
◆ GetGroundPres()
| float BaroAltimeter::GetGroundPres |
( |
| ) |
|
◆ GetGroundTemp()
| float BaroAltimeter::GetGroundTemp |
( |
| ) |
|
◆ GetLaunchAltMSL()
| float BaroAltimeter::GetLaunchAltMSL |
( |
| ) |
|
◆ GetMSLPres()
| float BaroAltimeter::GetMSLPres |
( |
| ) |
|
◆ GetPressure()
| float BaroAltimeter::GetPressure |
( |
| ) |
|
◆ GetTemp()
| float BaroAltimeter::GetTemp |
( |
| ) |
|
◆ GetVertSpeed()
| float BaroAltimeter::GetVertSpeed |
( |
| ) |
|
◆ Initialize()
| bool BaroAltimeter::Initialize |
( |
| ) |
|
Initialize the altimeter class.
Measures ground temperature and pressure and sets takeoff altitude parameters.
- Returns
- True if successful, flase if not.
◆ ReadSensor()
| bool BaroAltimeter::ReadSensor |
( |
| ) |
|
Read raw pressure and temperature data from BMP388.
- Returns
- True if a valid reading was done, false if not.
◆ SetMSLPres()
| bool BaroAltimeter::SetMSLPres |
( |
float |
presMSL_Pa = 101325.0f | ) |
|
◆ _alt
| float BaroAltimeter::_alt |
|
private |
◆ _altMSL
| float BaroAltimeter::_altMSL |
|
private |
◆ _currMeasMillis
| unsigned long BaroAltimeter::_currMeasMillis |
|
private |
◆ _groundAltMSL
| float BaroAltimeter::_groundAltMSL |
|
private |
◆ _groundPres
| float BaroAltimeter::_groundPres |
|
private |
◆ _groundTemp
| float BaroAltimeter::_groundTemp |
|
private |
◆ _lastAltMSL
| float BaroAltimeter::_lastAltMSL |
|
private |
◆ _lastMeasMillis
| unsigned long BaroAltimeter::_lastMeasMillis |
|
private |
◆ _mslPres
| float BaroAltimeter::_mslPres |
|
private |
◆ _p
◆ _pRaw
| float BaroAltimeter::_pRaw |
|
private |
◆ _PresFastFilter
◆ _PresSlowFilter
◆ _t
◆ _TempSlowFilter
◆ _tRaw
| float BaroAltimeter::_tRaw |
|
private |
◆ _vertSpeed
| float BaroAltimeter::_vertSpeed |
|
private |
◆ isConfigured
| bool BaroAltimeter::isConfigured |
◆ isConnected
| bool BaroAltimeter::isConnected |
◆ isMSLPSet
| bool BaroAltimeter::isMSLPSet |
◆ isReady
| bool BaroAltimeter::isReady |
The documentation for this class was generated from the following files: