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.cpp

Committer:
danstrider
Date:
2017-10-23
Revision:
10:085ab7328054
Parent:
9:d5fcdcb3c89d
Child:
14:85b64a4d08e8

File content as of revision 10:085ab7328054:

/*
Matthew Kelly
October 24th, 2013
The purpose of this class is to define a a data structure with all of the necessary information and member functions...
to fully describe a single ultrasonic transducer for use in a relative positioning system.
*/

#include "mbed.h"
#include "omegaPX209.hpp"

omegaPX209::omegaPX209(PinName pin): 
    depthP(pin)
{
}

void omegaPX209::initialize() {
    P = 0;              // Pressure [psi]
    cal = 12;           // Volts per psi
    multiplier = 3.3;   // Maximum voltage in
}

float omegaPX209::getPsi() {
    P = depthP*multiplier*cal;
    return P;
}

// math sourced from http://www.kylesconverter.com/pressure/feet-of-water-to-pounds-per-square-inch
float omegaPX209::getDepth() {
    P = getPsi(); // read the sensor
    float pascals = (P * 6894.76) - (14.7 * 6894.76); // convert psi to Pascals
    float depth_m = pascals / (density_of_water_g_cc * 1000 * 9.80665); // convert Pa to fluid depth in meters
    float depth_ft = 3.28084 * depth_m; // convert meters to feet
    
    return depth_ft;
}