Lab 7

Dependencies:   MPL3115A2 mbed

Fork of AltTest2 by CPS_Lab*

Revision:
3:93ba3e6cdaf3
Parent:
2:126622942102
Child:
4:eaaf67c5e1ca
--- a/main.cpp	Fri Mar 02 01:07:57 2018 +0000
+++ b/main.cpp	Fri Mar 02 17:41:05 2018 +0000
@@ -16,11 +16,7 @@
 }
 */
 int MPL3115A2_reg_print(int start, int length) {
-    int num_regs = length;  //redundant, but it helps me think
-    uint8_t valArray[num_regs];  //the array of register values we'll be returning
     
-    pressure_sensor.readRegs(start, valArray, num_regs - 1);    //populates valArray with register values, one per element, starting at i
-
     if(length == 0)
         length = 45;
     int i = start, end = start + length;     
@@ -32,8 +28,13 @@
         return(-1);
     if (end > 46)
         return(-1);
-        
-    for( i = start; i <= end; i++) {
+         
+    printf("Hola\n\r");
+    uint8_t valArray[10];  //the array of register values we'll be returning 
+    for(int j = 0; j<10; j++)
+        valArray[j] = 7;   
+
+    for( i = start; i <=end; i++) {
         char name[25];
         switch (i) {
                 case 0x00:
@@ -176,28 +177,41 @@
                     break;
                 default:
                     printf("ERR\n\r");
-        }    
-        printf("0x%02X: %s = ", i, name);
-        for(int j = 0; j < num_regs; j++)
-            printf("%d\n\r", valArray[j]);
-        printf("\n\r"); 
+        }
+        pressure_sensor.readRegs(i, valArray, 1);    
+        printf("0x%02X: %s = 0x%02x\n\r", i, name, valArray[0]);
         
+    
     }
     return(0);
 } 
 
 
-
 int main() {
-    int start, length;
-    while (1){
-        printf("Enter start: \n\r");
-        scanf("%d", &start);
-        printf("Enter length: \n\r");
-        scanf("%d", &length);
-        printf("Printing registers: \n\r");
-        MPL3115A2_reg_print(start, length);
-        wait_ms(500);
+    int start, length, return_val;
+    uint8_t id;
+    printf("Hola\n\r");
+    printf("Enter start: \n\r");
+    scanf("%d", &start);
+    printf("Enter length: \n\r");
+    scanf("%d", &length);
+    printf("Printing registers: \n\r");
+    return_val = MPL3115A2_reg_print(start, length);
+    printf("%d\n\r", return_val);
+    pc.printf("\n\r*** MPL3115A2 Pressure/Temperature Sensor Test *** \n\r");
+    while ((id=pressure_sensor.getID())!=0xC4) {
+        pc.printf("Status read unsuccessful: Value = 0x%02x\n\r",id);
+        pc.printf("Check wiring to the pressure sensor\n\r",id);
+        pc.printf("Retesting for correct ID in 1 second...\n\r");
+        wait(1);
     }
+    pc.printf("Status read successfully: Value = 0x%02x\n\r",id);
+    pc.printf("***1hz readings from the pressure sensor***\n\r");
+    while(1) {
+        pc.printf("%f hPA; %f m\n\r",pressure_sensor.getPressure(),pressure_sensor.getAltitude());
+        myled = !myled;
+        wait(1);
+    }
+    
     //no return; while(1) never exited       
 } 
\ No newline at end of file