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

Committer:
joel_ssc
Date:
Mon May 13 19:25:26 2019 +0000
Revision:
92:52a91656458a
Parent:
85:dd8176285b6e
version for first flight test, timeouts not yet set correctly

Who changed what in which revision?

UserRevisionLine numberNew 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