2017ロボコンはやとブーメランプログラム
Dependencies: PID QEI ikarashiMDC recieveController omni
main.cpp@7:baf16d0c14e7, 2017-09-01 (annotated)
- Committer:
- WAT34
- Date:
- Fri Sep 01 11:36:46 2017 +0900
- Revision:
- 7:baf16d0c14e7
- Parent:
- 6:0bee4b2bb400
- Child:
- 8:c47cf4e0230c
- Child:
- 11:68defd561031
reciveController libraly added
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
WAT34 | 1:35e874e10602 | 1 | #include "mbed.h" |
WAT34 | 1:35e874e10602 | 2 | #include "hayatoBoomerang.h" |
WAT34 | 5:9c52e6c14c87 | 3 | #include "recieveController.h" |
WAT34 | 6:0bee4b2bb400 | 4 | #include "omni.h" |
WAT34 | 6:0bee4b2bb400 | 5 | |
WAT34 | 1:35e874e10602 | 6 | |
WAT34 | 4:c2b09fa31492 | 7 | Serial rs485(PC_10,PC_11,38400); |
WAT34 | 5:9c52e6c14c87 | 8 | Serial serial(USBTX,USBRX); |
WAT34 | 4:c2b09fa31492 | 9 | PwmOut led(LED1); |
WAT34 | 4:c2b09fa31492 | 10 | DigitalIn button(BUTTON1); |
WAT34 | 4:c2b09fa31492 | 11 | boomerang boom(&rs485); |
WAT34 | 4:c2b09fa31492 | 12 | Thread commThread; |
WAT34 | 5:9c52e6c14c87 | 13 | recieveController con(PA_0,PA_1,198); |
WAT34 | 5:9c52e6c14c87 | 14 | // Serial con(PA_0,PA_1,115200); |
WAT34 | 4:c2b09fa31492 | 15 | |
WAT34 | 4:c2b09fa31492 | 16 | |
WAT34 | 4:c2b09fa31492 | 17 | void init() |
WAT34 | 4:c2b09fa31492 | 18 | { |
WAT34 | 4:c2b09fa31492 | 19 | button.mode(PullUp); |
WAT34 | 4:c2b09fa31492 | 20 | |
WAT34 | 5:9c52e6c14c87 | 21 | serial.baud(115200); |
WAT34 | 4:c2b09fa31492 | 22 | //boom.calibrateArm(); |
WAT34 | 4:c2b09fa31492 | 23 | boom.setTargetMotorSpeed(0); |
WAT34 | 6:0bee4b2bb400 | 24 | boom.setTargetArmAngle(40); |
WAT34 | 4:c2b09fa31492 | 25 | } |
WAT34 | 5:9c52e6c14c87 | 26 | void comm() |
WAT34 | 5:9c52e6c14c87 | 27 | { |
WAT34 | 5:9c52e6c14c87 | 28 | wait_ms(10); |
WAT34 | 5:9c52e6c14c87 | 29 | } |
WAT34 | 4:c2b09fa31492 | 30 | |
WAT34 | 6:0bee4b2bb400 | 31 | void updater() |
WAT34 | 6:0bee4b2bb400 | 32 | { |
WAT34 | 6:0bee4b2bb400 | 33 | boom.update(); |
WAT34 | 6:0bee4b2bb400 | 34 | } |
WAT34 | 1:35e874e10602 | 35 | |
WAT34 | 1:35e874e10602 | 36 | int main() { |
WAT34 | 4:c2b09fa31492 | 37 | init(); |
WAT34 | 6:0bee4b2bb400 | 38 | int angle = 5; |
WAT34 | 7:baf16d0c14e7 | 39 | bool prevAnglechange = false; |
WAT34 | 5:9c52e6c14c87 | 40 | char data[20],*data2,*data3; |
WAT34 | 5:9c52e6c14c87 | 41 | // commThread.start(&comm); |
WAT34 | 6:0bee4b2bb400 | 42 | // ticker.attach(&updater,0.01); |
WAT34 | 4:c2b09fa31492 | 43 | while(true) |
WAT34 | 4:c2b09fa31492 | 44 | { |
WAT34 | 6:0bee4b2bb400 | 45 | if(con.buttons[0] == 0x1000 ) |
WAT34 | 6:0bee4b2bb400 | 46 | boom.fire(); |
WAT34 | 6:0bee4b2bb400 | 47 | |
WAT34 | 6:0bee4b2bb400 | 48 | if(con.buttons[0] == 0x1800 ) |
WAT34 | 6:0bee4b2bb400 | 49 | { |
WAT34 | 4:c2b09fa31492 | 50 | boom.fire(); |
WAT34 | 6:0bee4b2bb400 | 51 | boom.setTargetMotorSpeed(8000); |
WAT34 | 6:0bee4b2bb400 | 52 | }else if(con.buttons[0] == 0x800) |
WAT34 | 6:0bee4b2bb400 | 53 | boom.setTargetMotorSpeed(8000); |
WAT34 | 6:0bee4b2bb400 | 54 | else |
WAT34 | 6:0bee4b2bb400 | 55 | boom.setTargetMotorSpeed(0); |
WAT34 | 6:0bee4b2bb400 | 56 | |
WAT34 | 7:baf16d0c14e7 | 57 | if(con.buttons[0] == 0x80 ) |
WAT34 | 7:baf16d0c14e7 | 58 | { |
WAT34 | 7:baf16d0c14e7 | 59 | if(!prevAnglechange) |
WAT34 | 7:baf16d0c14e7 | 60 | angle += 10; |
WAT34 | 7:baf16d0c14e7 | 61 | prevAnglechange =true; |
WAT34 | 7:baf16d0c14e7 | 62 | }else{ |
WAT34 | 7:baf16d0c14e7 | 63 | prevAnglechange = false; |
WAT34 | 7:baf16d0c14e7 | 64 | } |
WAT34 | 7:baf16d0c14e7 | 65 | |
WAT34 | 7:baf16d0c14e7 | 66 | |
WAT34 | 6:0bee4b2bb400 | 67 | if(con.buttons[0] == 0x100) |
WAT34 | 7:baf16d0c14e7 | 68 | { |
WAT34 | 7:baf16d0c14e7 | 69 | if(!prevAnglechange) |
WAT34 | 7:baf16d0c14e7 | 70 | angle -= 10; |
WAT34 | 7:baf16d0c14e7 | 71 | prevAnglechange =true; |
WAT34 | 7:baf16d0c14e7 | 72 | }else{ |
WAT34 | 7:baf16d0c14e7 | 73 | prevAnglechange =false; |
WAT34 | 7:baf16d0c14e7 | 74 | } |
WAT34 | 6:0bee4b2bb400 | 75 | if(angle < 5){ |
WAT34 | 6:0bee4b2bb400 | 76 | angle = 5; |
WAT34 | 6:0bee4b2bb400 | 77 | } |
WAT34 | 6:0bee4b2bb400 | 78 | if(angle > 80 ){ |
WAT34 | 6:0bee4b2bb400 | 79 | angle = 80; |
WAT34 | 6:0bee4b2bb400 | 80 | } |
WAT34 | 6:0bee4b2bb400 | 81 | |
WAT34 | 6:0bee4b2bb400 | 82 | boom.setTargetArmAngle(angle); |
WAT34 | 6:0bee4b2bb400 | 83 | led = boom.beltSpeed; |
WAT34 | 6:0bee4b2bb400 | 84 | boom.move(con.buttons[1],con.buttons[2],con.buttons[3]); |
WAT34 | 4:c2b09fa31492 | 85 | boom.update(); |
WAT34 | 6:0bee4b2bb400 | 86 | printf("SPPED:%f\n",boom.armAngle); |
WAT34 | 6:0bee4b2bb400 | 87 | wait_ms(20); |
WAT34 | 5:9c52e6c14c87 | 88 | /* code */ |
WAT34 | 5:9c52e6c14c87 | 89 | con.update(); |
WAT34 | 5:9c52e6c14c87 | 90 | // printf("whats up\n" ); |
WAT34 | 4:c2b09fa31492 | 91 | |
WAT34 | 4:c2b09fa31492 | 92 | } |
WAT34 | 4:c2b09fa31492 | 93 | |
WAT34 | 1:35e874e10602 | 94 | } |