Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed MODSERIAL FATFileSystem
omegaPX209/omegaPX209.hpp@14:85b64a4d08e8, 2017-10-31 (annotated)
- Committer:
- danstrider
- Date:
- Tue Oct 31 17:06:52 2017 +0000
- Revision:
- 14:85b64a4d08e8
- Parent:
- 10:085ab7328054
- Child:
- 17:7c16b5671d0e
New depth sensor class with tare and oversampling.
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| mkelly10 | 9:d5fcdcb3c89d | 1 | /* |
| danstrider | 14:85b64a4d08e8 | 2 | This class wraps an Omega pressure transducer. |
| danstrider | 14:85b64a4d08e8 | 3 | Author: Matthew, October 24th, 2013 |
| danstrider | 14:85b64a4d08e8 | 4 | Modified: Dan, 2017-10-30 |
| mkelly10 | 9:d5fcdcb3c89d | 5 | */ |
| mkelly10 | 9:d5fcdcb3c89d | 6 | |
| mkelly10 | 9:d5fcdcb3c89d | 7 | #include "mbed.h" |
| mkelly10 | 9:d5fcdcb3c89d | 8 | |
| danstrider | 14:85b64a4d08e8 | 9 | #define water_density_kg_m3 1000 // fresh water density [kg/m^3] (1029 for sea water) |
| danstrider | 14:85b64a4d08e8 | 10 | #define grav_m_s2 9.80665 // gravitational constant [m/s^2] |
| danstrider | 14:85b64a4d08e8 | 11 | |
| danstrider | 14:85b64a4d08e8 | 12 | #define m2ft 3.28084 // convert m to ft |
| danstrider | 14:85b64a4d08e8 | 13 | #define psi2Pa 6894.76 // convert psi to Pa |
| danstrider | 14:85b64a4d08e8 | 14 | |
| danstrider | 14:85b64a4d08e8 | 15 | #define OVERSAMPLE 20 // number of oversamples |
| danstrider | 10:085ab7328054 | 16 | |
| mkelly10 | 9:d5fcdcb3c89d | 17 | class omegaPX209 { |
| mkelly10 | 9:d5fcdcb3c89d | 18 | public: |
| danstrider | 10:085ab7328054 | 19 | omegaPX209(PinName pin); |
| danstrider | 14:85b64a4d08e8 | 20 | void init(); |
| danstrider | 14:85b64a4d08e8 | 21 | float tare(); // tares reading to ambient pressure |
| danstrider | 14:85b64a4d08e8 | 22 | |
| danstrider | 14:85b64a4d08e8 | 23 | float getPsi(); // returns pressure [psi] |
| danstrider | 14:85b64a4d08e8 | 24 | float getDepthFt(); // returns water depth [ft] |
| danstrider | 14:85b64a4d08e8 | 25 | |
| danstrider | 14:85b64a4d08e8 | 26 | void setZero(float zeroPsi); // lets user set a different ambient pressure [psi] ... tare, effectively |
| danstrider | 14:85b64a4d08e8 | 27 | float getZero(); // returns the internal ambient pressure [psi] |
| danstrider | 14:85b64a4d08e8 | 28 | |
| mkelly10 | 9:d5fcdcb3c89d | 29 | private: |
| danstrider | 14:85b64a4d08e8 | 30 | AnalogIn _adc; |
| danstrider | 14:85b64a4d08e8 | 31 | |
| danstrider | 14:85b64a4d08e8 | 32 | float _psi; // pressure [psi] |
| danstrider | 14:85b64a4d08e8 | 33 | float _zeroPsi; // atmospheric pressure at sea level [psi] |
| danstrider | 14:85b64a4d08e8 | 34 | float _adcVoltage; // voltage of mbed ADC system [V] |
| danstrider | 14:85b64a4d08e8 | 35 | float _fullscale; // maximum pressure of the sensor [psi] |
| danstrider | 14:85b64a4d08e8 | 36 | float _cal; // psi per volt calibration [psi/V] |
| mkelly10 | 9:d5fcdcb3c89d | 37 | }; |