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

Dependencies:   PID QEI ikarashiMDC recieveController omni

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?

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 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 }