JKDVSK`

Dependencies:   ADXL362 mbed

Fork of mbed_menu by Rosie Lewis

Files at this revision

API Documentation at this revision

Comitter:
jbillingham
Date:
Wed Nov 08 13:22:06 2017 +0000
Parent:
4:f1fcad386421
Commit message:
jknvk;

Changed in this revision

menu_menu.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/menu_menu.cpp	Wed Nov 08 11:57:56 2017 +0000
+++ b/menu_menu.cpp	Wed Nov 08 13:22:06 2017 +0000
@@ -8,18 +8,19 @@
 Serial pc(USBTX, USBRX);
 //Define accelerometer
 ADXL362 adxl362(p11, p12, p13, p10);
-//Set up local file system to allow writing of txt files
+//Set up local file system on mbed
 LocalFileSystem local("local"); 
 
 
 //Define paramater strings for communication over USB
-char N[1000]; //Number of samples
-char T [1000]; //Sample period 
+char N[100]; //Number of samples
+char T [100]; //Sample period 
 
 
 int main()
 {
-    //Create file with pointer
+    
+    //Create files with pointers
     FILE *samplesettings; 
     FILE *timesettings;
     
@@ -29,37 +30,42 @@
    
     while(1)
     {    
-        if(!strcmp(res,"1")==0)//if user command in matlab is 1 write the sample settings into a file 
+        if(!strcmp(res,"1")==0)//If user command is 1 write the sample number settings into a file 
         {  
-            char N[1000];//To store the number of samples which is received from the matlab
-            pc.scanf("%s\n",&N);//to get the number of  samples input from the matlab
+        
+            pc.scanf("%s\n",&N);//Get the number of  samples input by user from the matlab
             samplesettings = fopen("/local/samplesettings.txt", "w");//Open file for writing
             fprintf(samplesettings,"%s\n",N); //Writes settings values onto file
             fclose(samplesettings);//close file
             break;
+            
         }
-        else if(!strcmp(res,"2")==0)//If user command is 2 search the file for sample settings
+        else if(!strcmp(res,"2")==0)//If user command is 2 display sample number settings
         {
-            //Define variables for output
-            char value1[1000];
+            
+            char value1[1000]; //Define variable for output
             samplesettings = fopen("/local/samplesettings.txt" , "r"); //Open file for reading
             fseek(samplesettings, 0 ,SEEK_SET); //Sets cursor to start of file
             fscanf(samplesettings,"%s\n", value1);//Scans fo the value of N
             pc.printf("%s\n", value1);//Prints the value of N
             fclose(samplesettings); //Close file
             break;
+            
         }
         else if(!strcmp(res,"3")==0)//If user command recieved is 3 then write the time settings into a file
         {
+            
             char T[1000];//To store value of T recieved from matlab
             pc.scanf("%s\n",&T);//To scan value of T from matlab
             timesettings = fopen("/local/timesettings.txt", "w");//Open file for writing
             fprintf(timesettings,"%s\n",T); //Writes settings values onto file                
             fclose(timesettings);//Close file
             break; 
+            
         }
         else if(!strcmp(res,"4")==0)//If 4 is recieved as a user command then read the time settings 
         {
+            
             //Define variables for output
             char value2[100];
             samplesettings = fopen("/local/timesettings.txt" , "r"); //Open file for reading
@@ -68,47 +74,47 @@
             pc.printf("%s\n", value2);//Outsputs the time period 
             fclose(timesettings); //Close file
             break; 
+            
         }
         else if(!strcmp(res,"5")==0)//If the user command is 5 then we collect data 
         {
+            
             //Initialise accelerometer
             adxl362.init_spi();
             adxl362.init_adxl362();
             wait(0.1);
+            
             int8_t xdata, ydata, zdata;
-            for(int i=0; i<atoi(N); i++)
+                                        
+            //Open data file
+            FILE *data;
+            data = fopen("/local/data.txt", "w");
+        
+            //Data collection loop using sample rate and number of samples 
+            for(int i=0; i<50; i++)
             {
-                adxl362.ACC_GetXYZ8(&xdata,&ydata,&zdata);//Fetch readings from accelerometer
-                pc.printf("%+04d\n", xdata);
-                pc.printf("%+04d\n", ydata);
-                pc.printf("%+04d\n", zdata);
-                wait(atoi(T));
-                                        
-                //Open data file
-                FILE *data;
-                data = fopen("/local/data.txt", "w");
-                //Data collection loop using sample rate and number of samples 
-                for(int i=0; i<atoi(N); i++)
+                
+                //Get accelerometer data
+                adxl362.ACC_GetXYZ8(&xdata,&ydata,&zdata);
+                
+                //Print data to data file
+                fprintf(data, "%+04d", xdata);
+                fprintf(data, "%+04d", ydata);
+                fprintf(data, "%+04d", zdata);
+                
+                //Attempt to print same data to MATLAB if connection is not null
+                if(pc != NULL)
                 {
-                    //Get accelerometer data
-                    adxl362.ACC_GetXYZ8(&xdata,&ydata,&zdata);
-                    //Print data to data file
-                    fprintf(data, "%+04d", xdata);
-                    fprintf(data, "%+04d", ydata);
-                    fprintf(data, "%+04d", zdata);
-                    //Attempt to print same data to MATLAB if connection is not null
-                    if(pc != NULL)
-                    {
-                        pc.printf("%+04d\n", xdata);
-                        pc.printf("%+04d\n", ydata);
-                        pc.printf("%+04d\n", zdata);
+                    pc.printf("%+04d\n", xdata);
+                    pc.printf("%+04d\n", ydata);
+                    pc.printf("%+04d\n", zdata);
                     }
-                    //Pause to ensure sample rate
-                    wait(atoi(T));
+                //Pause to ensure sample rate
+                wait(0.1);
                 }
                 fclose(data);
                 break;
+                }
             }
-        }
-    }                                               
-}     
\ No newline at end of file
+        }                                               
+         
\ No newline at end of file