Sooner Competitive Robotics / Mbed 2 deprecated IEEE_14_Freescale

Dependencies:   mbed

Fork of IEEE_14_Freescale by IEEE 2014 Mbed

Committer:
soonerbot
Date:
Fri Nov 22 21:28:52 2013 +0000
Revision:
8:c23cd84befa2
Parent:
4:adc885f4ab75
More comments and cleanup

Who changed what in which revision?

UserRevisionLine numberNew contents of line
soonerbot 1:c28fac16a109 1 #include "remoteMotor.h"
soonerbot 1:c28fac16a109 2 #include "dbgprint.h"
soonerbot 1:c28fac16a109 3
soonerbot 8:c23cd84befa2 4 //set everything up
soonerbot 1:c28fac16a109 5 remoteMotor::remoteMotor(remoteEnc &remoteIn, int APin,int BPin, PinName PWMPin) :
soonerbot 1:c28fac16a109 6 remote(remoteIn), OutPWM(PWMPin){
soonerbot 1:c28fac16a109 7
soonerbot 1:c28fac16a109 8 remoteA=APin;
soonerbot 1:c28fac16a109 9 remoteB=BPin;
soonerbot 1:c28fac16a109 10
soonerbot 8:c23cd84befa2 11 //use a fast pwm signal, because we update it fast, and a slower pwm will lose signals
soonerbot 4:adc885f4ab75 12 OutPWM.period_us(100);
soonerbot 4:adc885f4ab75 13
soonerbot 1:c28fac16a109 14 brake();
soonerbot 1:c28fac16a109 15 reversed=0;
soonerbot 1:c28fac16a109 16 }
soonerbot 1:c28fac16a109 17
soonerbot 8:c23cd84befa2 18 //brakes both motors
soonerbot 1:c28fac16a109 19 int remoteMotor::brake(){
soonerbot 1:c28fac16a109 20 remote.setPin(remoteA,0);
soonerbot 1:c28fac16a109 21 remote.setPin(remoteB,0);
soonerbot 1:c28fac16a109 22 OutPWM=1;
soonerbot 1:c28fac16a109 23 return 1;
soonerbot 1:c28fac16a109 24 }
soonerbot 1:c28fac16a109 25
soonerbot 1:c28fac16a109 26 int remoteMotor::setPower( double power) {
soonerbot 1:c28fac16a109 27 if((power>=0)^reversed){
soonerbot 1:c28fac16a109 28 remote.setPin(remoteA,1);
soonerbot 1:c28fac16a109 29 remote.setPin(remoteB,0);
soonerbot 1:c28fac16a109 30 } else {
soonerbot 1:c28fac16a109 31 remote.setPin(remoteA,0);
soonerbot 1:c28fac16a109 32 remote.setPin(remoteB,1);
soonerbot 1:c28fac16a109 33 }
soonerbot 1:c28fac16a109 34 OutPWM=abs(power);
soonerbot 1:c28fac16a109 35 return 1;
soonerbot 1:c28fac16a109 36 }
soonerbot 1:c28fac16a109 37
soonerbot 1:c28fac16a109 38 int remoteMotor::setReversed(int state){
soonerbot 1:c28fac16a109 39 if(state!=0){
soonerbot 1:c28fac16a109 40 reversed=1;
soonerbot 1:c28fac16a109 41 } else {
soonerbot 1:c28fac16a109 42 reversed=0;
soonerbot 1:c28fac16a109 43 }
soonerbot 1:c28fac16a109 44 return 1;
soonerbot 1:c28fac16a109 45 }
soonerbot 1:c28fac16a109 46
soonerbot 1:c28fac16a109 47
soonerbot 1:c28fac16a109 48 simpleRemoteMotor::simpleRemoteMotor(remoteEnc &remotedev, int remotepinin, PinName PWMPin) :
soonerbot 1:c28fac16a109 49 remote(remotedev), OutPWM(PWMPin){
soonerbot 1:c28fac16a109 50
soonerbot 1:c28fac16a109 51 DBGPRINT("bbbhal",1);
soonerbot 1:c28fac16a109 52 remotepin=remotepinin;
soonerbot 1:c28fac16a109 53 setPower(0);
soonerbot 1:c28fac16a109 54 reversed=0;
soonerbot 1:c28fac16a109 55 }
soonerbot 1:c28fac16a109 56
soonerbot 1:c28fac16a109 57 int simpleRemoteMotor::setPower( double power) {
soonerbot 1:c28fac16a109 58 if((power>=0)^reversed){
soonerbot 1:c28fac16a109 59 remote.setPin(remotepin,1);
soonerbot 1:c28fac16a109 60 } else {
soonerbot 1:c28fac16a109 61 remote.setPin(remotepin,0);
soonerbot 1:c28fac16a109 62 }
soonerbot 1:c28fac16a109 63 OutPWM=abs(power);
soonerbot 1:c28fac16a109 64 currPower=power;
soonerbot 1:c28fac16a109 65 return 1;
soonerbot 1:c28fac16a109 66 }
soonerbot 1:c28fac16a109 67
soonerbot 1:c28fac16a109 68 int simpleRemoteMotor::setReversed(int state){
soonerbot 1:c28fac16a109 69 if(state!=0){
soonerbot 1:c28fac16a109 70 reversed=1;
soonerbot 1:c28fac16a109 71 } else {
soonerbot 1:c28fac16a109 72 reversed=0;
soonerbot 1:c28fac16a109 73 }
soonerbot 1:c28fac16a109 74 return 1;
soonerbot 1:c28fac16a109 75 }