2017ロボコンはやとブーメランプログラム
Dependencies: PID QEI ikarashiMDC recieveController omni
main.cpp
- Committer:
- WAT34
- Date:
- 2017-10-05
- Revision:
- 14:5cc44bec9cfc
- Parent:
- 13:d01356a29b93
- Parent:
- 9:6540a10a07fb
- Child:
- 16:5f205692b14d
File content as of revision 14:5cc44bec9cfc:
#include "mbed.h" #include "hayatoBoomerang.h" #include "recieveController.h" #include "omni.h" #include "gakugaku.h" Serial rs485(PC_10,PC_11,38400); Serial serial(USBTX,USBRX); PwmOut led(LED1); DigitalIn button(BUTTON1); boomerang boom(&rs485); gakugaku fishingPole(&rs485); recieveController con(PC_12,PD_2,198); void init() { button.mode(PullUp); serial.baud(115200); //boom.calibrateArm(); boom.setTargetMotorSpeed(0); boom.setTargetArmAngle(40); } int main() { init(); int angle = 10,turnRate = 127; double angling; bool prevAnglechange = false,prevSwing=false; char data[20],*data2,*data3; // commThread.start(&comm); // ticker.attach(&updater,0.01); while(true) { if((con.buttons[0] >>7)%2 ) boom.fire(); if((con.buttons[0] >>8)%2) boom.setTargetMotorSpeed(13000); else boom.setTargetMotorSpeed(0); if((con.buttons[0]>>6)%2) angle = 10; if((con.buttons[0]>>13)%2 ) { if(!prevSwing) fishingPole.toggleSwing(); prevSwing = true; }else{ prevSwing = false; } if(con.buttons[3] < 117 ) { if(!prevAnglechange) angle += 5; prevAnglechange =true; }else if(con.buttons[3] > 137) { if(!prevAnglechange) angle -= 5; prevAnglechange =true; }else{ prevAnglechange =false; } if(angle < 5){ angle = 5; } if(angle > 80 ){ angle = 80; } if((con.buttons[0] >> 9)%2) turnRate = 127+127*.2; //turn at .2 power else if((con.buttons[0] >> 10)%2) turnRate = 127-127*.2; else turnRate = 127; if((con.buttons[0]>>14)%2) angling = 0.4; else if((con.buttons[0]>>12)%2) angling = -0.4; else angling = 0; fishingPole.setAnglingSpeed(angling); if((con.buttons[0]>>15)%2) fishingPole.Deploy(); fishingPole.update(); boom.setTargetArmAngle(angle); led = boom.beltSpeed; boom.move(con.buttons[1],con.buttons[2],turnRate); boom.update(); printf("PID input:%d PID result %d\n",angle,con.buttons[0]); wait_ms(20); /* code */ con.update(); // printf("whats up\n" ); } }