2015_robocon_bteam / Mbed 2 deprecated 2015robot_main

Dependencies:   PID QEI mbed

Fork of 2015robot_main by Naoto Deguchi

Committer:
DeguNaoto
Date:
Sun Oct 11 07:34:51 2015 +0000
Revision:
79:7f86e18f40ef
Parent:
66:14df82661dfa
Child:
83:e1638c58e1f1
20151011 ????#define IM920

Who changed what in which revision?

UserRevisionLine numberNew contents of line
DeguNaoto 49:9276fda93084 1 #ifndef SWING_H
DeguNaoto 49:9276fda93084 2 #define SWING_H
DeguNaoto 49:9276fda93084 3
DeguNaoto 49:9276fda93084 4 /***Swing.***/
DeguNaoto 62:02a44f5bc51e 5 PID contSwing(5.917 ,2145.0 ,0.0 ,RATE);
DeguNaoto 57:3fbd487e055e 6
DeguNaoto 49:9276fda93084 7 inline void initializeSwing() {
DeguNaoto 49:9276fda93084 8 interrupter.rise(&countSwing);
DeguNaoto 49:9276fda93084 9 Motor_swing.period_us(SWING_PERIOD);
DeguNaoto 49:9276fda93084 10 //controller set
DeguNaoto 66:14df82661dfa 11 contSwing.setInputLimits(0.0, 100.0);
DeguNaoto 79:7f86e18f40ef 12 contSwing.setOutputLimits(0.0, 0.6);
DeguNaoto 49:9276fda93084 13 contSwing.setBias(0.0);
DeguNaoto 49:9276fda93084 14 contSwing.setMode(AUTO_MODE);
DeguNaoto 49:9276fda93084 15 }
DeguNaoto 57:3fbd487e055e 16 float waitTime = 0.0;
DeguNaoto 49:9276fda93084 17 void countSwing() {
DeguNaoto 49:9276fda93084 18 Indicator1 = !Indicator1;
DeguNaoto 49:9276fda93084 19 if(enableShoot){
DeguNaoto 49:9276fda93084 20 enableShoot=0;
DeguNaoto 62:02a44f5bc51e 21 if(swingRadVelocity > 1.0){
DeguNaoto 79:7f86e18f40ef 22 // waitTime = (float)(((2.0 * PI) / swingRadVelocity) / 2.0);
DeguNaoto 79:7f86e18f40ef 23 waitTime = (float)((((9.0 * PI) / 4.0) / swingRadVelocity) / 4.0);
DeguNaoto 57:3fbd487e055e 24 wait(waitTime);
DeguNaoto 57:3fbd487e055e 25 }
DeguNaoto 49:9276fda93084 26 sendData(1,6);
DeguNaoto 49:9276fda93084 27 }
DeguNaoto 49:9276fda93084 28 }
DeguNaoto 49:9276fda93084 29
DeguNaoto 55:db1797ac6cb1 30 double swingSita=0.0;
DeguNaoto 49:9276fda93084 31 inline void mesureSwing() {
DeguNaoto 55:db1797ac6cb1 32 PulsesSwing = ( double )SwingSens.getPulses();
DeguNaoto 62:02a44f5bc51e 33 swingRadVelocity = (((PulsesSwing - PrefPulsesSwing) / 3450.0) * 2 * PI) / RATE;
DeguNaoto 55:db1797ac6cb1 34 PrefPulsesSwing = PulsesSwing;
DeguNaoto 49:9276fda93084 35 }
DeguNaoto 55:db1797ac6cb1 36
DeguNaoto 50:8ea4714316ce 37 double cont=0.0;
DeguNaoto 49:9276fda93084 38 inline void swingFollowing(){
DeguNaoto 49:9276fda93084 39 contSwing.setSetPoint(( float )targSwingRadVelocity);
DeguNaoto 49:9276fda93084 40 contSwing.setProcessValue(( float )swingRadVelocity);
DeguNaoto 50:8ea4714316ce 41 cont = contSwing.compute();
DeguNaoto 50:8ea4714316ce 42 Motor_swing = cont;
DeguNaoto 49:9276fda93084 43 }
DeguNaoto 49:9276fda93084 44
DeguNaoto 49:9276fda93084 45 #endif /*Swing.h*/