An m3pi demo program for Bluetooth control.
Dependencies: X_NUCLEO_53L0A1 m3pi mbed
Fork of m3pi_LIDAR by
main.cpp@3:d5da5e6bc16f, 2017-05-01 (annotated)
- Committer:
- alexsaadfalcon
- Date:
- Mon May 01 02:11:02 2017 +0000
- Revision:
- 3:d5da5e6bc16f
- Parent:
- 2:2d0d003ca3b8
Fully functional
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
alexsaadfalcon | 0:b7ef99889b44 | 1 | #include "mbed.h" |
alexsaadfalcon | 0:b7ef99889b44 | 2 | #include "m3pi.h" |
alexsaadfalcon | 0:b7ef99889b44 | 3 | |
alexsaadfalcon | 0:b7ef99889b44 | 4 | m3pi m3pi; |
alexsaadfalcon | 2:2d0d003ca3b8 | 5 | DigitalOut led(LED1); |
alexsaadfalcon | 3:d5da5e6bc16f | 6 | DigitalOut pong(p20); |
alexsaadfalcon | 2:2d0d003ca3b8 | 7 | Serial bt(p13, p14); //TX, RX |
alexsaadfalcon | 0:b7ef99889b44 | 8 | |
alexsaadfalcon | 3:d5da5e6bc16f | 9 | int main() |
alexsaadfalcon | 3:d5da5e6bc16f | 10 | { |
alexsaadfalcon | 3:d5da5e6bc16f | 11 | m3pi.locate(0,1); |
alexsaadfalcon | 0:b7ef99889b44 | 12 | m3pi.printf("YO"); |
alexsaadfalcon | 3:d5da5e6bc16f | 13 | |
alexsaadfalcon | 2:2d0d003ca3b8 | 14 | bt.baud(9600); //make sure the baud rate is 9600 |
alexsaadfalcon | 2:2d0d003ca3b8 | 15 | while (!bt.readable()) { } //wait until the bt is ready |
alexsaadfalcon | 2:2d0d003ca3b8 | 16 | |
alexsaadfalcon | 0:b7ef99889b44 | 17 | while(1) { |
alexsaadfalcon | 3:d5da5e6bc16f | 18 | led = !led; |
alexsaadfalcon | 3:d5da5e6bc16f | 19 | if (bt.getc() == '!') { |
alexsaadfalcon | 3:d5da5e6bc16f | 20 | if (bt.getc() == 'O') { |
alexsaadfalcon | 3:d5da5e6bc16f | 21 | if (bt.getc()=='F') { |
alexsaadfalcon | 3:d5da5e6bc16f | 22 | m3pi.forward(.25); |
alexsaadfalcon | 3:d5da5e6bc16f | 23 | } |
alexsaadfalcon | 3:d5da5e6bc16f | 24 | if (bt.getc()=='B') { |
alexsaadfalcon | 3:d5da5e6bc16f | 25 | m3pi.backward(.25); |
alexsaadfalcon | 3:d5da5e6bc16f | 26 | } |
alexsaadfalcon | 3:d5da5e6bc16f | 27 | if (bt.getc()=='L') { |
alexsaadfalcon | 3:d5da5e6bc16f | 28 | m3pi.left(.25); |
alexsaadfalcon | 3:d5da5e6bc16f | 29 | } |
alexsaadfalcon | 3:d5da5e6bc16f | 30 | if (bt.getc()=='R') { |
alexsaadfalcon | 3:d5da5e6bc16f | 31 | m3pi.right(.25); |
alexsaadfalcon | 3:d5da5e6bc16f | 32 | } |
alexsaadfalcon | 3:d5da5e6bc16f | 33 | if (bt.getc()=='S') { |
alexsaadfalcon | 3:d5da5e6bc16f | 34 | m3pi.stop(); |
alexsaadfalcon | 3:d5da5e6bc16f | 35 | } |
alexsaadfalcon | 3:d5da5e6bc16f | 36 | if (bt.getc()=='X') { |
alexsaadfalcon | 3:d5da5e6bc16f | 37 | pong = 1; |
alexsaadfalcon | 3:d5da5e6bc16f | 38 | wait(.001); |
alexsaadfalcon | 3:d5da5e6bc16f | 39 | pong = 0; |
alexsaadfalcon | 3:d5da5e6bc16f | 40 | } |
alexsaadfalcon | 3:d5da5e6bc16f | 41 | } |
alexsaadfalcon | 2:2d0d003ca3b8 | 42 | } |
alexsaadfalcon | 3:d5da5e6bc16f | 43 | while (bt.readable()) char temp = bt.getc(); //flush buffer |
alexsaadfalcon | 2:2d0d003ca3b8 | 44 | } |
alexsaadfalcon | 0:b7ef99889b44 | 45 | } |