megan gimple / Mbed 2 deprecated OCE360_Final_Project

Dependencies:   mbed MMA8452Q MS5837 SDFileSystem SCI_SENSOR

Revision:
20:6fb55c833f9f
Parent:
19:c78d3e8353c4
Child:
21:1a9fe2de6e4f
--- a/main.cpp	Tue Dec 07 14:22:05 2021 +0000
+++ b/main.cpp	Tue Dec 07 14:40:03 2021 +0000
@@ -28,7 +28,7 @@
 
 // global timer
 Timer t;
-Timer t2; //part two timer
+Timer timer2; //part two timer
 
 ///File
 FILE *fp;
@@ -40,7 +40,7 @@
 int yo_num=0;               //global yo_num default 0
 float thrust_on_time=0;     //global thrust_on time default 0
 float accelData[3];         //global accel data
-float vessel_lenth=1;
+float vessel_length=1;
 
 //functions
 void welcome();
@@ -92,22 +92,18 @@
 
     //Part One
     int count=0;
-    while(1)
-    {
-      count=count+1;
-      float pw= percent;
-      float on_time =tim;
-      thrust_on(pw, on_time); //turn thruster on for 5 seconds
-      wait(10);
-      if count==3{
-        return 0;
-        }
+    while(count<=3) {
+        count=count+1;
+        float pw= percent;
+        float on_time =tim;
+        thrust_on(pw, on_time); //turn thruster on for 5 seconds
+        wait(10);
     }
 
     //Part Two
-    t2.start();
+    /* timer2.start();
     while(1) {
-        
+
         float current_depth=p_sensor.depth();
         float pw=percent;
         float on_time=3;
@@ -115,10 +111,11 @@
         if (current_depth-vessel_length<2) {
             thrust_on(pw,on_time);
         }
-        if t2.read()>60{ //60 because counting in seconds?
+        if (timer2.read()>60){ //60 because counting in seconds?
             return 0;
         }
     }
+    */
 
     /*Part Three
     while(1) {
@@ -129,110 +126,111 @@
             thrust_on(pw,on_time);               // turn on thruster at set pw and ontime
             else if (current_depth >= error_deep) //if float is more than 2.5 meters deep
                 wait(1);                          // do nothing for 1 sec.. float will go up for 1 sec
-                else 
+                else
                     pw = ; //very low thruster percentage
-                    thrust_on(pw,on_time); //run thruster at very low percentage to maintain depth      
+                    thrust_on(pw,on_time); //run thruster at very low percentage to maintain depth
         }
     */
+    }
 
 //-------------Customized functions---------------------------------------------//----------------------------------------
 ///-----------Welcome menu---------------------///
-        void welcome() {
-            char buffer[100]= {0};
-            int flag=1;
-            //Flush the port
-            while(BLE.readable()) {
-                BLE.getc();
-            }
-            while(flag) {
-                BLE.printf("### I am alive\r\n");
-                BLE.printf("### Please enter the log file name you want\r\n");
-                if(BLE.readable()) {
-                    BLE.scanf("%s",buffer);
-                    sprintf(fname,"/sd/mydir/%s.txt",buffer); //make file name
+    void welcome() {
+        char buffer[100]= {0};
+        int flag=1;
+        //Flush the port
+        while(BLE.readable()) {
+            BLE.getc();
+        }
+        while(flag) {
+            BLE.printf("### I am alive\r\n");
+            BLE.printf("### Please enter the log file name you want\r\n");
+            if(BLE.readable()) {
+                BLE.scanf("%s",buffer);
+                sprintf(fname,"/sd/mydir/%s.txt",buffer); //make file name
 
-                    flag = 0; //set the flag to 0 to break the while
-                }
-                wait(1);
+                flag = 0; //set the flag to 0 to break the while
             }
-            //print name
-            BLE.printf("### name received\r\n");
-            BLE.printf("### file name and directory is: \r\n %s\r\n",fname); //file name and location
-            //open file test
-            mkdir("/sd/mydir",0777); //keep 0777, this is magic #
-            fp = fopen(fname, "a");
-            if(fp == NULL) {
-                BLE.printf("Could not open file for write\n");
-            } else {
-                BLE.printf("##file open good \n"); //open file and tell if open
-                fprintf(fp, "Hello\r\n");
-                fclose(fp);
-            }
-
-            BLE.printf("### The main program will start in 5 seconds\r\n");
-            wait(5);
+            wait(1);
+        }
+        //print name
+        BLE.printf("### name received\r\n");
+        BLE.printf("### file name and directory is: \r\n %s\r\n",fname); //file name and location
+        //open file test
+        mkdir("/sd/mydir",0777); //keep 0777, this is magic #
+        fp = fopen(fname, "a");
+        if(fp == NULL) {
+            BLE.printf("Could not open file for write\n");
+        } else {
+            BLE.printf("##file open good \n"); //open file and tell if open
+            fprintf(fp, "Hello\r\n");
+            fclose(fp);
         }
 
+        BLE.printf("### The main program will start in 5 seconds\r\n");
+        wait(5);
+    }
+
 ///-----------log functions---------------------///
-        void log_data() {
-            p_sensor.Barometer_MS5837();
-            float current_time=t.read();
-            float current_pressure=p_sensor.MS5837_Pressure();
-            float current_depth=p_sensor.depth();
-            float current_pw=percent;
-            float current_Xaccel=accelData[0];
-            float current_Yaccel=accelData[1];
-            float current_Zaccel=accelData[2];
-            float current_temp=temp.temp();
-            float current_light=light.light();
+    void log_data() {
+        p_sensor.Barometer_MS5837();
+        float current_time=t.read();
+        float current_pressure=p_sensor.MS5837_Pressure();
+        float current_depth=p_sensor.depth();
+        float current_pw=percent;
+        float current_Xaccel=accelData[0];
+        float current_Yaccel=accelData[1];
+        float current_Zaccel=accelData[2];
+        float current_temp=temp.temp();
+        float current_light=light.light();
 
-            fprintf(fp, "$DATA, %f, %f, %f, %f, %f, %f, %f, %f, %f\r\n", current_time,current_pressure,current_depth,current_Xaccel,current_Yaccel,current_Zaccel,current_temp,current_light,current_pw);
+        fprintf(fp, "$DATA, %f, %f, %f, %f, %f, %f, %f, %f, %f\r\n", current_time,current_pressure,current_depth,current_Xaccel,current_Yaccel,current_Zaccel,current_temp,current_light,current_pw);
 
-            // log system time t.read()
-            // log imu data, log science data
-            // log pulse width
-            // log pressure sensor data.
-            // science sensor: temp.temp(), light.light()
-            // IMU sensor
+        // log system time t.read()
+        // log imu data, log science data
+        // log pulse width
+        // log pressure sensor data.
+        // science sensor: temp.temp(), light.light()
+        // IMU sensor
 
-        }
+    }
 
 ///-----------acceleromter related functions---------------------///
-        void accel_update() {
-            accelData[0] = accel.readX();
-            accelData[1] = accel.readY();
-            accelData[2] = accel.readZ();
-        }
+    void accel_update() {
+        accelData[0] = accel.readX();
+        accelData[1] = accel.readY();
+        accelData[2] = accel.readZ();
+    }
 
 ///-----------Control related functions---------------------///
 ////Thruster on control, pw->pulse width in milli-second//
 ////                        pw range between 1 to 1.5//
 ////                       on_time-> thruster on time.
-        void thrust_on(float pw, float on_time) { //input is pulse width
+    void thrust_on(float pw, float on_time) { //input is pulse width
 
-            float pw_max=2.0;
-            if(pw>pw_max) {
-                pw=pw_max; //hard limitation
-            }
-            Timer tt;
-            tt.reset();
-            tt.start();
-            // lets set the pulse width
-            //thruster.period(20.0/1000.00);      // 20 ms period
-            thruster.pulsewidth(pw/1000.00);
-            thruster2.pulsewidth(pw/1000.00);
-            //PWM will be kept until time out
-            while(tt.read()<=on_time) {
+        float pw_max=2.0;
+        if(pw>pw_max) {
+            pw=pw_max; //hard limitation
+        }
+        Timer tt;
+        tt.reset();
+        tt.start();
+        // lets set the pulse width
+        //thruster.period(20.0/1000.00);      // 20 ms period
+        thruster.pulsewidth(pw/1000.00);
+        thruster2.pulsewidth(pw/1000.00);
+        //PWM will be kept until time out
+        while(tt.read()<=on_time) {
 
-                pc.printf("thruster on?...mack is cool\r\n"); //print check
-            }
-            //stop the timer
-            tt.stop();
-            //turn off the thruster
-            thruster.pulsewidth(1.0/1000.00);
-            thruster2.pulsewidth(1.0/1000.00);
+            pc.printf("thruster on?...mack is cool\r\n"); //print check
+        }
+        //stop the timer
+        tt.stop();
+        //turn off the thruster
+        thruster.pulsewidth(1.0/1000.00);
+        thruster2.pulsewidth(1.0/1000.00);
 
-        }
+    }
 
 ///void thrust_off(float pw, float on_time)  //input is pulse width
 //
\ No newline at end of file