This was made by Niko for bluetooth communication

Dependencies:   m3pi_ng

Files at this revision

API Documentation at this revision

Comitter:
satyson
Date:
Thu May 22 12:14:37 2014 +0000
Commit message:
This was made by Niko to use bluetooth

Changed in this revision

m3pi_ng.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/m3pi_ng.lib	Thu May 22 12:14:37 2014 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/ngoldin/code/m3pi_ng/#da9ef3d5c3fe
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Thu May 22 12:14:37 2014 +0000
@@ -0,0 +1,78 @@
+#include "mbed.h"
+#include "m3pi_ng.h"
+#include "btbee.h"
+
+// Made by Niko
+
+m3pi m3pi;
+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()
+{
+   // initialization stuff ////////////////////////////////////////////////////////////////////////////////////////////////////
+   m3pi.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 ////////////////////////////////////////////////////////////////////////////////////////////////
+
+   m3pi.locate(0,0);
+   m3pi.printf("B:%0.3f%V",m3pi.battery());
+   wait(0.3);
+   
+   m3pi.locate(0,0);
+   m3pi.printf("%s","btTest");
+   m3pi.locate(0,1);
+   m3pi.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("end\n");
+               iline++;
+           }//if
+           else {
+               if (iline <6){
+               btbee.printf("Line %0.3d \n",iline);
+               m3pi_led[0]=0;
+               m3pi.locate(0,0);
+               m3pi.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;
+           m3pi.locate(0,1);
+           m3pi.print(arr_read,chars_read);
+           m3pi_led[5]=1;
+       }//while_readable
+       wait(0.1);
+   }//while_true
+
+}//main
\ No newline at end of file