Finished!

Dependencies:   m3pi_ng mbed

Fork of BlueToothStuff by der Roboter

Revision:
1:6402638c6f6d
Parent:
0:386c250325ce
Child:
2:cc7b01c5a9b0
--- a/main.cpp	Thu May 22 11:57:29 2014 +0000
+++ b/main.cpp	Thu May 22 14:43:25 2014 +0000
@@ -2,14 +2,92 @@
 #include "m3pi_ng.h"
 #include "cmath"
 #include "iostream"
+#include "btbee.h"
  
 using namespace std;
  
 m3pi thinggy;
- 
+btbee btbee; 
+
+DigitalOut mbed_led[] = {(LED1), (LED2),(LED3), (LED4)};
+DigitalOut m3pi_led[] = {(p13), (p14), (p15), (p16), (p17), (p18), (p19), (p20)};
+DigitalIn m3pi_pb(p21);
  
 int main() {
     
+    //..................................................................................................\\
+    //......BlueTooth Communication.....................................................................\\
+    //..................................................................................................\\
+    
+    // initialization stuff ////////////////////////////////////////////////////////////////////////////////////////////////////
+   thinggy.locate(0,1);
+   btbee.reset();
+   for (int i = 0; i <4; i++) {
+       mbed_led[i] = 0;
+   }
+   for (int i = 0; i <8; i++) {
+       m3pi_led[i]=0;
+   }
+   m3pi_pb.mode(PullUp); // expected would be 1 when pb is pressed, 0 when not, opposite is the case
+
+   // end initialization stuff ////////////////////////////////////////////////////////////////////////////////////////////////
+
+   thinggy.locate(0,0);
+   wait(0.3);
+   
+   thinggy.locate(0,0);
+   thinggy.printf("%s","btTest");
+   thinggy.locate(0,1);
+   thinggy.printf("%s","PBonLNK");
+
+   // wait for the user to push P21, should be pressed when the bt link is established (green led "link")
+   while(m3pi_pb) {
+       m3pi_led[0]=!m3pi_led[0];
+       wait(0.1);
+   }
+
+   int iline=1;
+   char arr_read[30]; // this should be long enough to store any reply coming in over bt.
+   int  chars_read;   // number of chars read in a bt reply
+   
+   while (true) {
+       // this writes "Line 001\n" to "Line 005\n" and then "end\n" to the btbee
+       if ( btbee.writeable() ) {
+           if (iline==6) {
+               btbee.printf("Your Turn!\n");
+               iline++;
+           }//if
+           else {
+               if (iline <6){
+               btbee.printf("Line %0.3d \n",iline);
+               m3pi_led[0]=0;
+               thinggy.locate(0,0);
+               thinggy.printf("Sent %0.3d",iline);
+               iline++;
+               }
+           }//else
+       }//if_write
+
+       // check for answers after each write /not write
+       while ( btbee.readable() ) {
+           m3pi_led[7]=1;
+           btbee.read_all(arr_read, 30, &chars_read );
+           m3pi_led[6]=1;
+           thinggy.locate(0,1);
+           thinggy.print(arr_read,chars_read);
+           m3pi_led[5]=1;
+       }//while_readable
+       wait(0.1);
+   }//while_true
+    
+    //..................................................................................................\\
+    //......End BlueTooth Communication.................................................................\\
+    //..................................................................................................\\
+    
+/*    
+    
+    
+    
     float speed = 0.25;
     float correction;
     float k = -0.3;
@@ -20,6 +98,8 @@
     thinggy.locate(0,0);
     thinggy.printf("Pimpin");
     
+    
+    
     wait(1.0);
  
     thinggy.sensor_auto_calibrate();
@@ -73,6 +153,7 @@
     thinggy.calibrated_sensor(sensor);
     returned = (sensor[1] + sensor[2] + sensor[3])/3;
     }
+*/
 }