NervousPuppySprintTwo
Dependencies: C12832_lcd Servo USBHost mbed
Fork of USBHostSerial_HelloWorld by
main.cpp@7:3b14ddcf6d8e, 2015-03-02 (annotated)
- 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?
User | Revision | Line number | New 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 | } |