Code with mutex and threads
Dependencies: C12832 Servo mbed-rtos-edited mbed
Fork of NervousPuppySprintOne by
nervousPuppy.cpp@6:f854aa2f41e2, 2015-01-26 (annotated)
- Committer:
- SeanDoyle
- Date:
- Mon Jan 26 14:50:41 2015 +0000
- Revision:
- 6:f854aa2f41e2
- Parent:
- 5:cbb5d7460309
- Child:
- 7:8b2cf5e6e888
changedCode-removedMath;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
SeanDoyle | 0:f71b200c2f4d | 1 | #include "nervousPuppy.h" |
SeanDoyle | 0:f71b200c2f4d | 2 | |
SeanDoyle | 2:8415bea33a95 | 3 | /** |
SeanDoyle | 2:8415bea33a95 | 4 | * Constructor - contains running loop |
SeanDoyle | 2:8415bea33a95 | 5 | */ |
SeanDoyle | 4:2b47356f4b7d | 6 | |
SeanDoyle | 4:2b47356f4b7d | 7 | Servo tilt(p21); |
SeanDoyle | 4:2b47356f4b7d | 8 | Servo rotate(p22); |
SeanDoyle | 6:f854aa2f41e2 | 9 | AnalogIn ainLeft(p15); |
SeanDoyle | 6:f854aa2f41e2 | 10 | AnalogIn ainRight(p16); |
SeanDoyle | 4:2b47356f4b7d | 11 | |
SeanDoyle | 6:f854aa2f41e2 | 12 | C12832 lcd(p5, p7, |
SeanDoyle | 6:f854aa2f41e2 | 13 | p6, p8, p11); |
SeanDoyle | 4:2b47356f4b7d | 14 | |
SeanDoyle | 4:2b47356f4b7d | 15 | |
SeanDoyle | 0:f71b200c2f4d | 16 | nervousPuppy::nervousPuppy(){ |
SeanDoyle | 6:f854aa2f41e2 | 17 | rotation = 0; |
SeanDoyle | 6:f854aa2f41e2 | 18 | while(1){ |
SeanDoyle | 6:f854aa2f41e2 | 19 | |
SeanDoyle | 6:f854aa2f41e2 | 20 | float x = ainRight.read(); |
SeanDoyle | 6:f854aa2f41e2 | 21 | float y = ainLeft.read(); |
SeanDoyle | 4:2b47356f4b7d | 22 | |
SeanDoyle | 6:f854aa2f41e2 | 23 | |
SeanDoyle | 4:2b47356f4b7d | 24 | lcd.cls(); |
SeanDoyle | 6:f854aa2f41e2 | 25 | lcd.locate(0,3); |
SeanDoyle | 6:f854aa2f41e2 | 26 | lcd.printf("x = %f",x); |
SeanDoyle | 6:f854aa2f41e2 | 27 | lcd.printf(" y = %f",y); |
SeanDoyle | 6:f854aa2f41e2 | 28 | |
SeanDoyle | 6:f854aa2f41e2 | 29 | |
SeanDoyle | 6:f854aa2f41e2 | 30 | if(x > 0.10 && y < 0.10){ |
SeanDoyle | 6:f854aa2f41e2 | 31 | lcd.printf("rotating by 2"); |
SeanDoyle | 6:f854aa2f41e2 | 32 | rotate.calibrate(0.0005,2); |
SeanDoyle | 6:f854aa2f41e2 | 33 | }else if(y > 0.10 && x < 0.10){ |
SeanDoyle | 6:f854aa2f41e2 | 34 | lcd.printf("rotating by -2"); |
SeanDoyle | 6:f854aa2f41e2 | 35 | rotate.calibrate(0.0005,-2); |
SeanDoyle | 2:8415bea33a95 | 36 | } |
SeanDoyle | 6:f854aa2f41e2 | 37 | wait(0.2); |
SeanDoyle | 1:8fe6802d6971 | 38 | } |
SeanDoyle | 1:8fe6802d6971 | 39 | } |
SeanDoyle | 1:8fe6802d6971 | 40 | |
SeanDoyle | 2:8415bea33a95 | 41 | |
SeanDoyle | 0:f71b200c2f4d | 42 | |
SeanDoyle | 1:8fe6802d6971 | 43 | int main(){ |
SeanDoyle | 1:8fe6802d6971 | 44 | nervousPuppy(); |
SeanDoyle | 0:f71b200c2f4d | 45 | } |