most functionality to splashdwon, find neutral and start mission. short timeouts still in code for testing, will adjust to go directly to sit_idle after splashdown
Dependencies: mbed MODSERIAL FATFileSystem
omegaPX209/omegaPX209.hpp@17:7c16b5671d0e, 2017-11-21 (annotated)
- Committer:
- tnhnrl
- Date:
- Tue Nov 21 22:03:26 2017 +0000
- Revision:
- 17:7c16b5671d0e
- Parent:
- 14:85b64a4d08e8
- Child:
- 54:d4990fb68404
FSG code commit 11/21
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(); |
tnhnrl | 17:7c16b5671d0e | 21 | void 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 | }; |