BoschBMP3xx.h file
Contains the BoschBMP3xx sensor subclass and the variable subclasses BoschBMP3xx_
- Reference
-
Detailed Descriptions
These are used for the Bosch BMP3xx digital pressure and humidity sensor.
This depends on the MartinL1's BMP388 library.
Classes
- class BoschBMP3xx
- The Sensor sub-class for the Bosch BMP3xx.
- class BoschBMP3xx_Temp
- The Variable sub-class used for the temperature output from a Bosch BMP3xx.
- class BoschBMP3xx_Pressure
- The Variable sub-class used for the atmospheric pressure output from a Bosch BMP3xx.
- class BoschBMP3xx_Altitude
- The Variable sub-class used for the altitude calculated from the measurements made by a Bosch BMP3xx.
Defines
- #define BMP3XX_NUM_VARIABLES = 3
- Sensor::
_numReturnedValues; the BMP3xx can report 3 values. - #define BMP3XX_INC_CALC_VARIABLES = 1
- Sensor::
_incCalcValues; altitude is calculted within the Adafruit library. - #define SEALEVELPRESSURE_HPA = (1013.25)
- The atmospheric pressure at sea level.
Sensor Timing
The sensor timing for a Bosch BMP3xx
- #define BMP3XX_WARM_UP_TIME_MS = 3
- Sensor::
_warmUpTime_ms; BMP3xx should be ready to communicate within 3ms. - #define BMP3XX_STABILIZATION_TIME_MS = 4000
- Sensor::
_stabilizationTime_ms; BMP3xx is stable after 4000ms. - #define BMP3XX_MEASUREMENT_TIME_MS = 80
- Sensor::
_measurementTime_ms; The number given in this define will be recalculated and over-written in the set-up.
Temperature
The temperature variable from a Bosch BMP388 or BMP390
- Range is -40°C to +85°C
- Full accuracy between 0°C and +65°C
- Absolute accuracy is typ. ± 0.5°C at 25°C
- ± 1.5°C over 0°C to +65°C range
Construct a new BoschBMP3xx_
BoschBMP3xx_Temp(BoschBMP3xx* parentSense,
const char* uuid = "",
const char* varCode = BMP3XX_
Parameters
parentSense
The parent BoschBMP3xx providing the result values.
uuid
A universally unique identifier (UUID or GUID) for the variable; optional with the default value of an empty string.
varCode
A short code to help identify the variable in files; optional with a default value of "BoschBMP3xxTemp".
- #define BMP3XX_TEMP_RESOLUTION = 2
- Decimals places in string representation; temperature should have 5 - resolution is 0.0.00015°C at the hightest oversampling. See table 7 in the sensor datasheet for resolution at all bandwidths.
- #define BMP3XX_TEMP_VAR_NUM = 0
- Sensor variable number; temperature is stored in sensorValues[0].
- #define BMP3XX_TEMP_VAR_NAME = "temperature"
- Variable name in ODM2 controlled vocabulary; "temperature".
- #define BMP3XX_TEMP_UNIT_NAME = "degreeCelsius"
- Variable unit name in ODM2 controlled vocabulary; "degreeCelsius" (°C)
- #define BMP3XX_TEMP_DEFAULT_CODE = "BoschBMP3xxTemp"
- Default variable short code; "BoschBMP3xxTemp".
Barometric Pressure
The barometric pressure variable from a Bosch BMP388 or BMP390
- Range for both the BMP388 and BMP390 is 300‒1250 hPa
- Absolute accuracy is typ. ± 50 Pa (±0.50 hPa)
- Relative accuracy is typ. ± 3 Pa (±0.03 hPa), equiv. to ± 0.25 m
Construct a new BoschBMP3xx_
BoschBMP3xx_Pressure(BoschBMP3xx* parentSense,
const char* uuid = "",
const char* varCode = BMP3XX_
Parameters
parentSense
The parent BoschBMP3xx providing the result values.
uuid
A universally unique identifier (UUID or GUID) for the variable; optional with the default value of an empty string.
varCode
A short code to help identify the variable in files; optional with a default value of "BoschBMP3xxPressure".
- #define BMP3XX_PRESSURE_RESOLUTION = 3
- Decimals places in string representation; barometric pressure should have 3. Resolution of output data in highest resolution mode at lowest bandwidth is 0.016 Pa. See table 6 in the sensor datasheet for resolution at all bandwidths.
- #define BMP3XX_PRESSURE_VAR_NUM = 1
- Sensor variable number; pressure is stored in sensorValues[2].
- #define BMP3XX_PRESSURE_VAR_NAME = "barometricPressure"
- Variable name in ODM2 controlled vocabulary; "barometricPressure".
- #define BMP3XX_PRESSURE_UNIT_NAME = "pascal"
- Variable unit name in ODM2 controlled vocabulary; "pascal" (Pa)
- #define BMP3XX_PRESSURE_DEFAULT_CODE = "BoschBMP3xxPressure"
- Default variable short code; "BoschBMP3xxPressure".
Altitude
The altitude variable from a Bosch BMP388 or BMP390
Construct a new BoschBMP3xx_
BoschBMP3xx_Altitude(BoschBMP3xx* parentSense,
const char* uuid = "",
const char* varCode = BMP3XX_
Parameters
parentSense
The parent BoschBMP3xx providing the result values.
uuid
A universally unique identifier (UUID or GUID) for the variable; optional with the default value of an empty string.
varCode
A short code to help identify the variable in files; optional with a default value of "BoschBMP3xxAltitude".
- #define BMP3XX_ALTITUDE_RESOLUTION = 0
- Decimals places in string representation; altitude should have 0 - resolution is 1m.
- #define BMP3XX_ALTITUDE_VAR_NUM = 2
- Sensor variable number; altitude is stored in sensorValues[3].
- #define BMP3XX_ALTITUDE_VAR_NAME = "heightAboveSeaFloor"
- Variable name in ODM2 controlled vocabulary; "heightAboveSeaFloor".
- #define BMP3XX_ALTITUDE_UNIT_NAME = "meter"
- Variable unit name in ODM2 controlled vocabulary; "meter".
- #define BMP3XX_ALTITUDE_DEFAULT_CODE = "BoschBMP3xxAltitude"
- Default variable short code; "BoschBMP3xxAltitude".