2017ロボコンはやとブーメランプログラム

Dependencies:   PID QEI ikarashiMDC recieveController omni

Committer:
WAT34
Date:
Fri Sep 01 14:04:21 2017 +0900
Revision:
11:68defd561031
Parent:
7:baf16d0c14e7
Child:
12:9d21189a8eb0
damn

Who changed what in which revision?

UserRevisionLine numberNew 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 5:9c52e6c14c87 24 }
WAT34 4:c2b09fa31492 25
WAT34 1:35e874e10602 26
WAT34 1:35e874e10602 27 int main() {
WAT34 4:c2b09fa31492 28 init();
WAT34 6:0bee4b2bb400 29 int angle = 5;
WAT34 7:baf16d0c14e7 30 bool prevAnglechange = false;
WAT34 5:9c52e6c14c87 31 // commThread.start(&comm);
WAT34 6:0bee4b2bb400 32 // ticker.attach(&updater,0.01);
WAT34 4:c2b09fa31492 33 while(true)
WAT34 4:c2b09fa31492 34 {
WAT34 6:0bee4b2bb400 35 if(con.buttons[0] == 0x1000 )
WAT34 6:0bee4b2bb400 36 boom.fire();
WAT34 6:0bee4b2bb400 37
WAT34 6:0bee4b2bb400 38 if(con.buttons[0] == 0x1800 )
WAT34 6:0bee4b2bb400 39 {
WAT34 4:c2b09fa31492 40 boom.fire();
WAT34 6:0bee4b2bb400 41 boom.setTargetMotorSpeed(8000);
WAT34 6:0bee4b2bb400 42 }else if(con.buttons[0] == 0x800)
WAT34 6:0bee4b2bb400 43 boom.setTargetMotorSpeed(8000);
WAT34 6:0bee4b2bb400 44 else
WAT34 6:0bee4b2bb400 45 boom.setTargetMotorSpeed(0);
WAT34 6:0bee4b2bb400 46
WAT34 7:baf16d0c14e7 47 if(con.buttons[0] == 0x80 )
WAT34 7:baf16d0c14e7 48 {
WAT34 7:baf16d0c14e7 49 if(!prevAnglechange)
WAT34 7:baf16d0c14e7 50 angle += 10;
WAT34 7:baf16d0c14e7 51 prevAnglechange =true;
WAT34 7:baf16d0c14e7 52 }else{
WAT34 7:baf16d0c14e7 53 prevAnglechange = false;
WAT34 7:baf16d0c14e7 54 }
WAT34 7:baf16d0c14e7 55
WAT34 7:baf16d0c14e7 56
WAT34 6:0bee4b2bb400 57 if(con.buttons[0] == 0x100)
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 6:0bee4b2bb400 65 if(angle < 5){
WAT34 6:0bee4b2bb400 66 angle = 5;
WAT34 6:0bee4b2bb400 67 }
WAT34 6:0bee4b2bb400 68 if(angle > 80 ){
WAT34 6:0bee4b2bb400 69 angle = 80;
WAT34 6:0bee4b2bb400 70 }
WAT34 6:0bee4b2bb400 71
WAT34 6:0bee4b2bb400 72 led = boom.beltSpeed;
WAT34 6:0bee4b2bb400 73 boom.move(con.buttons[1],con.buttons[2],con.buttons[3]);
WAT34 4:c2b09fa31492 74 boom.update();
WAT34 6:0bee4b2bb400 75 wait_ms(20);
WAT34 5:9c52e6c14c87 76 /* code */
WAT34 5:9c52e6c14c87 77 con.update();
WAT34 5:9c52e6c14c87 78 // printf("whats up\n" );
WAT34 4:c2b09fa31492 79
WAT34 4:c2b09fa31492 80 }
WAT34 4:c2b09fa31492 81
WAT34 1:35e874e10602 82 }