Wifi Pressure Sensor

Dependencies:   HTTPClient MPL3115A2 NTPClient TMP102 USBDevice cc3000_hostdriver_mbedsocket mbed

Revision:
15:56ec0751ca71
Parent:
14:93db6bb9ac89
Child:
16:a7902d75bef3
--- a/tcpTests.cpp	Thu Jun 19 00:37:48 2014 +0000
+++ b/tcpTests.cpp	Fri Jun 20 06:52:48 2014 +0000
@@ -6,8 +6,8 @@
 #include "TCPSocketServer.h"
 #include "HTTPClient.h"
 //#include "Websocket.h"
-#include "TMP102.h"
-
+//#include "TMP102.h"
+#include "MPL3115A2.h"
 using namespace mbed_cc3000;
 
 extern cc3000 wifi;
@@ -42,20 +42,58 @@
 AnalogIn adc7(P0_23); //P10
 
 
-TMP102 temperature(P0_5, P0_4, 0x90); //A0 pin is connected to ground
+//TMP102 temperature(P0_5, P0_4, 0x90); //A0 pin is connected to ground
+// Turn on and initalise the sensor
 
+I2C i2c(P0_5, P0_4);       // sda, scl
+//Serial pc(USBTX, USBRX); // tx, rx
+MPL3115A2 sensor(&i2c);
 // ------------------------------------------------------------------------------------------------------------
 /*!
-    @brief Post all analog inputs to xively every second
+    @Post Pressure and Temperature Values to website
 */
 // ------------------------------------------------------------------------------------------------------------
 void TempTest (void)
 {
 float tempt = 0;
+float pressure = 0;
 float random = 0; 
+pc.printf("** MPL3115A2 SENSOR **\r\n");
+
+sensor.init();
+
+//pc.printf("Who Am I: 0x%X\r\n", sensor.whoAmI());
+
+Altitude a;
+Temperature t;
+Pressure p;
+
+// Offsets for Dacula, GA
+//sensor.setOffsetAltitude(83);
+//sensor.setOffsetTemperature(20);
+//sensor.setOffsetPressure(-32);
+
 while (1) 
     {
-        tempt = temperature.read();
+        sensor.readAltitude(&a);
+        sensor.readTemperature(&t);
+        
+        sensor.setModeStandby();
+        sensor.setModeBarometer();
+        sensor.setModeActive();
+        sensor.readPressure(&p);
+        
+        pc.printf("Altitude: %sM, Temp: %sºC, Pressure: %sPa\r\n", a.print(), t.print(), p.print());
+     //   pc.printf("OFF_H: 0x%X, OFF_T: 0x%X, OFF_P: 0x%X\r\n", sensor.offsetAltitude(), sensor.offsetTemperature(), sensor.offsetPressure());
+    
+        wait(1);
+ 
+        sensor.setModeStandby();
+        sensor.setModeAltimeter();
+        sensor.setModeActive();
+        
+        /*tempt = temperature.read();
+        
         pc.printf( "%05d\r\nTEMP, %.1f\r\n\0", tempt);
        // HTTP POST Test
        
@@ -81,6 +119,9 @@
         }
  
         wait_ms(1000);
+        */
+        
+        
         if ( pc.readable() )
         {
             pc.printf("Ending Temp Posting \r\n");
@@ -92,6 +133,12 @@
    
 }
 
+// ------------------------------------------------------------------------------------------------------------
+/*!
+    @brief Post all analog inputs to xively every second
+*/
+// ------------------------------------------------------------------------------------------------------------
+
 void XivelySimpleTest ( void )
 {
 TCPSocketConnection socket;
@@ -122,7 +169,7 @@
             else 
             {number++;}
             // Temp Read
-            tempt = temperature.read();
+            //tempt = temperature.read();
             
             // Build the data string
             httpDataLen = sprintf(&tmpDataBuffer[0], "COUNT, %05d\r\nRAMP, %05d\r\nTEMP, %.1f\r\n\0", counter, number, tempt);