mirror of
https://github.com/RobTillaart/Arduino.git
synced 2024-10-03 18:09:02 -04:00
.. | ||
.github/workflows | ||
examples | ||
test | ||
.arduino-ci.yml | ||
keywords.txt | ||
library.json | ||
library.properties | ||
LICENSE | ||
pressure.h | ||
README.md |
pressure
Arduino library for pressure conversion.
Description
Simple library to convert between several pressure formats. It consists of a number of setters and getters and internally it uses millibar. In fact it just hides all conversion constants.
Pressure is implemented as a float so this limits the precision of the value.
Note: as the conversion is 2 steps the conversion error might be larger than in a single conversion step.
Note: constants need to be verified.
Interface
Constructor
- pressure(float value = 0.0) Constructor, with optional initial value.
setters
- void setMilliBar(float value) sets pressure in milliBar.
- void setBar(float value) sets pressure in bar.
- void setPSI(float value) sets pressure in PSI = Pounds per Square Inch.
- void setATM(float value) sets pressure in Atmosphere.
- void setDynes(float value) sets pressure in Dynes.
- void setInchHg(float value) sets pressure in inches mercury.
- void setInchH2O(float value) sets pressure in inches water.
- void setPascal(float value) sets pressure in Pascal. Note this is the SI unit.
- void setTORR(float value) sets pressure in TORR.
- void setCmHg(float value) sets pressure in centimetre mercury.
- void setCmH2O(float value) sets pressure in centimetre water.
- void setMSW(float value) sets pressure in Meters of Sea Water. (under water pressure unit).
getters
- float getMilliBar() returns pressure in milliBar.
- float getBar() returns pressure in bar.
- float getPSI() returns pressure in PSI = Pounds per Square Inch.
- float getATM() returns pressure in Atmosphere.
- float getDynes() returns pressure in Dynes.
- float getInchHg() returns pressure in inches mercury.
- float getInchH2O() returns pressure in inches water.
- float getPascal() returns pressure in Pascal. Note this is the SI unit.
- float getTORR() returns pressure in TORR.
- float getCmHg() returns pressure in centimetre mercury.
- float getCmH2O() returns pressure in centimetre water.
- float getMSW() returns pressure in Meters of Sea Water. (under water pressure unit).
constants
The library has a number of constants to convert units. These constants can be used to write specific convertors or define specific constants.
A dedicated conversion is faster as it has only one float multiplication runtime.
inline float PSI2MSW(float value)
{
return value * (PSI2MILLIBAR * MILLIBAR2MSW);
}
or
#define PSI2MSW (PSI2MILLIBAR * MILLIBAR2MSW)
...
float out = in * (PSI2MSW);
Operation
pressure P;
...
P.setDynes(1000);
Serial.print("mBar: ");
Serial.println(P.getMilliBar()); // 1000 Dynes in mBar
Serial.print("TORR: ");
Serial.println(P.getTORR()); // 1000 Dynes in Torr
Obsolete
Version 0.1.0 has incorrect setters. fixed in version 0.2.0.
Future
- update documentation
- find a good reference for conversion formula constants.