update with altimeter, swimfile.txt endleg.txt, etc see changes_13sep.txt also reset_PI()
Dependencies: mbed MODSERIAL FATFileSystem
omegaPX209/omegaPX209.hpp@104:426224a55f5f, 2019-09-13 (annotated)
- Committer:
- joel_ssc
- Date:
- Fri Sep 13 19:15:40 2019 +0000
- Revision:
- 104:426224a55f5f
- Parent:
- 85:dd8176285b6e
slight change includes reset_PI
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
tnhnrl | 54:d4990fb68404 | 1 | #ifndef OMEGAPX209_HPP |
tnhnrl | 54:d4990fb68404 | 2 | #define OMEGAPX209_HPP |
tnhnrl | 54:d4990fb68404 | 3 | |
mkelly10 | 9:d5fcdcb3c89d | 4 | /* |
danstrider | 14:85b64a4d08e8 | 5 | This class wraps an Omega pressure transducer. |
danstrider | 14:85b64a4d08e8 | 6 | Author: Matthew, October 24th, 2013 |
danstrider | 14:85b64a4d08e8 | 7 | Modified: Dan, 2017-10-30 |
mkelly10 | 9:d5fcdcb3c89d | 8 | */ |
mkelly10 | 9:d5fcdcb3c89d | 9 | |
mkelly10 | 9:d5fcdcb3c89d | 10 | #include "mbed.h" |
mkelly10 | 9:d5fcdcb3c89d | 11 | |
danstrider | 14:85b64a4d08e8 | 12 | #define water_density_kg_m3 1000 // fresh water density [kg/m^3] (1029 for sea water) |
danstrider | 14:85b64a4d08e8 | 13 | #define grav_m_s2 9.80665 // gravitational constant [m/s^2] |
danstrider | 14:85b64a4d08e8 | 14 | |
danstrider | 14:85b64a4d08e8 | 15 | #define m2ft 3.28084 // convert m to ft |
danstrider | 14:85b64a4d08e8 | 16 | #define psi2Pa 6894.76 // convert psi to Pa |
danstrider | 14:85b64a4d08e8 | 17 | |
danstrider | 14:85b64a4d08e8 | 18 | #define OVERSAMPLE 20 // number of oversamples |
danstrider | 10:085ab7328054 | 19 | |
mkelly10 | 9:d5fcdcb3c89d | 20 | class omegaPX209 { |
mkelly10 | 9:d5fcdcb3c89d | 21 | public: |
danstrider | 10:085ab7328054 | 22 | omegaPX209(PinName pin); |
danstrider | 14:85b64a4d08e8 | 23 | void init(); |
tnhnrl | 17:7c16b5671d0e | 24 | void tare(); // tares reading to ambient pressure |
danstrider | 14:85b64a4d08e8 | 25 | |
danstrider | 14:85b64a4d08e8 | 26 | float getPsi(); // returns pressure [psi] |
joel_ssc | 85:dd8176285b6e | 27 | float getDepthFt(); // returns water depth [ft] |
joel_ssc | 85:dd8176285b6e | 28 | float getDepthM(); |
danstrider | 14:85b64a4d08e8 | 29 | void setZero(float zeroPsi); // lets user set a different ambient pressure [psi] ... tare, effectively |
danstrider | 14:85b64a4d08e8 | 30 | float getZero(); // returns the internal ambient pressure [psi] |
tnhnrl | 54:d4990fb68404 | 31 | |
tnhnrl | 54:d4990fb68404 | 32 | int readADCCounts(); //06/07/2018 check the outputs |
tnhnrl | 54:d4990fb68404 | 33 | float readVoltage(); //voltage reading? |
tnhnrl | 54:d4990fb68404 | 34 | float getRawPSI(); |
danstrider | 14:85b64a4d08e8 | 35 | |
mkelly10 | 9:d5fcdcb3c89d | 36 | private: |
danstrider | 14:85b64a4d08e8 | 37 | AnalogIn _adc; |
danstrider | 14:85b64a4d08e8 | 38 | |
danstrider | 14:85b64a4d08e8 | 39 | float _psi; // pressure [psi] |
danstrider | 14:85b64a4d08e8 | 40 | float _zeroPsi; // atmospheric pressure at sea level [psi] |
danstrider | 14:85b64a4d08e8 | 41 | float _adcVoltage; // voltage of mbed ADC system [V] |
danstrider | 14:85b64a4d08e8 | 42 | float _fullscale; // maximum pressure of the sensor [psi] |
tnhnrl | 54:d4990fb68404 | 43 | float _psi_per_volt_cal; // psi per volt calibration [psi/V] |
tnhnrl | 54:d4990fb68404 | 44 | float _PSI_reading; |
mkelly10 | 9:d5fcdcb3c89d | 45 | }; |
tnhnrl | 54:d4990fb68404 | 46 | |
tnhnrl | 54:d4990fb68404 | 47 | #endif |