NervousPuppySprintTwo

Dependencies:   C12832_lcd Servo USBHost mbed

Fork of USBHostSerial_HelloWorld by Samuel Mokrani

Committer:
hervel90
Date:
Mon Mar 02 15:20:18 2015 +0000
Revision:
7:3b14ddcf6d8e
Parent:
2:8f3478b5d434
Child:
8:eaae889bc6eb
NervousPuppySprintTwo

Who changed what in which revision?

UserRevisionLine numberNew contents of line
samux 0:7528379ed84d 1 #include "mbed.h"
samux 0:7528379ed84d 2 #include "USBHostSerial.h"
hervel90 7:3b14ddcf6d8e 3 #include "C12832_lcd.h"
hervel90 7:3b14ddcf6d8e 4 #include "Servo.h"
samux 0:7528379ed84d 5
hervel90 7:3b14ddcf6d8e 6 DigitalOut led1(LED1);
hervel90 7:3b14ddcf6d8e 7 DigitalOut led3(LED3);
samux 0:7528379ed84d 8 Serial pc(USBTX, USBRX);
hervel90 7:3b14ddcf6d8e 9 C12832_LCD lcd;
hervel90 7:3b14ddcf6d8e 10
hervel90 7:3b14ddcf6d8e 11 Servo tilt(p21);
hervel90 7:3b14ddcf6d8e 12 Servo rotate(p22);
hervel90 7:3b14ddcf6d8e 13 AnalogIn ainLeft(p15);
hervel90 7:3b14ddcf6d8e 14 AnalogIn ainRight(p16);
hervel90 7:3b14ddcf6d8e 15
hervel90 7:3b14ddcf6d8e 16 Mutex rx_mutex;
hervel90 7:3b14ddcf6d8e 17
samux 0:7528379ed84d 18
hervel90 7:3b14ddcf6d8e 19 int main()
hervel90 7:3b14ddcf6d8e 20 {
hervel90 7:3b14ddcf6d8e 21 int pos = 1000;
hervel90 7:3b14ddcf6d8e 22 tilt.Enable(1000,20000);
hervel90 7:3b14ddcf6d8e 23 lcd.cls();
hervel90 7:3b14ddcf6d8e 24 char buffer[128];
samux 0:7528379ed84d 25
hervel90 7:3b14ddcf6d8e 26 while (true)
hervel90 7:3b14ddcf6d8e 27 {
hervel90 7:3b14ddcf6d8e 28 for(pos=1000;pos<=1250;pos+=1)
hervel90 7:3b14ddcf6d8e 29 {
hervel90 7:3b14ddcf6d8e 30 tilt.SetPosition(pos);
hervel90 7:3b14ddcf6d8e 31 lcd.cls();
hervel90 7:3b14ddcf6d8e 32 lcd.printf(" %d ", pos);
hervel90 7:3b14ddcf6d8e 33 //wait(0.5);
hervel90 7:3b14ddcf6d8e 34 }
hervel90 7:3b14ddcf6d8e 35
hervel90 7:3b14ddcf6d8e 36 for(pos=1250;pos>=1000;pos-=1)
hervel90 7:3b14ddcf6d8e 37 {
hervel90 7:3b14ddcf6d8e 38 tilt.SetPosition(pos);
hervel90 7:3b14ddcf6d8e 39 lcd.printf(" %d ", pos);
hervel90 7:3b14ddcf6d8e 40 //wait(0.5);
hervel90 7:3b14ddcf6d8e 41 }
hervel90 7:3b14ddcf6d8e 42
hervel90 7:3b14ddcf6d8e 43 }
hervel90 7:3b14ddcf6d8e 44
hervel90 7:3b14ddcf6d8e 45
samux 2:8f3478b5d434 46
hervel90 7:3b14ddcf6d8e 47 /* while (true)
hervel90 7:3b14ddcf6d8e 48 {
hervel90 7:3b14ddcf6d8e 49 if(pc.readable())
hervel90 7:3b14ddcf6d8e 50 {
hervel90 7:3b14ddcf6d8e 51 rx_mutex.lock();
hervel90 7:3b14ddcf6d8e 52 pc.gets(buffer,2); // set the number of bytes
hervel90 7:3b14ddcf6d8e 53
hervel90 7:3b14ddcf6d8e 54 rx_mutex.unlock();
hervel90 7:3b14ddcf6d8e 55 lcd.locate(0,1);
hervel90 7:3b14ddcf6d8e 56 lcd.printf(buffer);
hervel90 7:3b14ddcf6d8e 57 }
hervel90 7:3b14ddcf6d8e 58 int x=atoi(buffer);
hervel90 7:3b14ddcf6d8e 59 switch (x)
hervel90 7:3b14ddcf6d8e 60 {
hervel90 7:3b14ddcf6d8e 61 case 0:
hervel90 7:3b14ddcf6d8e 62 lcd.cls();
hervel90 7:3b14ddcf6d8e 63 lcd.locate(0,1);
hervel90 7:3b14ddcf6d8e 64 lcd.printf("Do nothing");
hervel90 7:3b14ddcf6d8e 65
hervel90 7:3b14ddcf6d8e 66 break;
hervel90 7:3b14ddcf6d8e 67
hervel90 7:3b14ddcf6d8e 68 case 1:
hervel90 7:3b14ddcf6d8e 69 lcd.cls();
hervel90 7:3b14ddcf6d8e 70 lcd.locate(0,1);
hervel90 7:3b14ddcf6d8e 71 lcd.printf("Right");
hervel90 7:3b14ddcf6d8e 72 //thread servo right
hervel90 7:3b14ddcf6d8e 73 break;
hervel90 7:3b14ddcf6d8e 74
hervel90 7:3b14ddcf6d8e 75 case 2:
hervel90 7:3b14ddcf6d8e 76 lcd.cls();
hervel90 7:3b14ddcf6d8e 77 lcd.locate(0,1);
hervel90 7:3b14ddcf6d8e 78 lcd.printf("down & right");
samux 1:6b743a29c48a 79
hervel90 7:3b14ddcf6d8e 80 break;
hervel90 7:3b14ddcf6d8e 81
hervel90 7:3b14ddcf6d8e 82 case 3:
hervel90 7:3b14ddcf6d8e 83 lcd.cls();
hervel90 7:3b14ddcf6d8e 84 lcd.locate(0,1);
hervel90 7:3b14ddcf6d8e 85 lcd.printf("down");
hervel90 7:3b14ddcf6d8e 86 break;
hervel90 7:3b14ddcf6d8e 87
hervel90 7:3b14ddcf6d8e 88 case 4:
hervel90 7:3b14ddcf6d8e 89 lcd.cls();
hervel90 7:3b14ddcf6d8e 90 lcd.locate(0,1);
hervel90 7:3b14ddcf6d8e 91 lcd.printf("Ddown & left");
hervel90 7:3b14ddcf6d8e 92 break;
hervel90 7:3b14ddcf6d8e 93
hervel90 7:3b14ddcf6d8e 94 case 5:
hervel90 7:3b14ddcf6d8e 95 lcd.cls();
hervel90 7:3b14ddcf6d8e 96 lcd.locate(0,1);
hervel90 7:3b14ddcf6d8e 97 lcd.printf("left");
hervel90 7:3b14ddcf6d8e 98 break;
samux 0:7528379ed84d 99
hervel90 7:3b14ddcf6d8e 100 case 6:
hervel90 7:3b14ddcf6d8e 101 lcd.cls();
hervel90 7:3b14ddcf6d8e 102 lcd.locate(0,1);
hervel90 7:3b14ddcf6d8e 103 lcd.printf("up & left");
hervel90 7:3b14ddcf6d8e 104 break;
hervel90 7:3b14ddcf6d8e 105
hervel90 7:3b14ddcf6d8e 106 case 7:
hervel90 7:3b14ddcf6d8e 107 lcd.cls();
hervel90 7:3b14ddcf6d8e 108 lcd.locate(0,1);
hervel90 7:3b14ddcf6d8e 109 lcd.printf("up");
hervel90 7:3b14ddcf6d8e 110 break;
hervel90 7:3b14ddcf6d8e 111
hervel90 7:3b14ddcf6d8e 112 case 8:
hervel90 7:3b14ddcf6d8e 113 lcd.cls();
hervel90 7:3b14ddcf6d8e 114 lcd.locate(0,1);
hervel90 7:3b14ddcf6d8e 115 lcd.printf("up & left");
hervel90 7:3b14ddcf6d8e 116 break;
samux 0:7528379ed84d 117 }
hervel90 7:3b14ddcf6d8e 118 } */
samux 0:7528379ed84d 119 }