Carlo Collodi / kangaroo

Dependencies:   QEI mbed

Committer:
calamaridudeman
Date:
Tue Nov 26 04:42:39 2013 +0000
Revision:
38:922f2584bdfd
Parent:
37:bf257a0154db
Child:
41:65de628f701f
motors now move!  Unknown cause, pwm freq is now being set just before every setting of duty cycle, not sure why this is needed

Who changed what in which revision?

UserRevisionLine numberNew contents of line
calamaridudeman 37:bf257a0154db 1 #include "mbed.h"
calamaridudeman 37:bf257a0154db 2 #include "include/kangaroo.hpp"
calamaridudeman 37:bf257a0154db 3
calamaridudeman 37:bf257a0154db 4
calamaridudeman 37:bf257a0154db 5 Kangaroo::Kangaroo(Motor &M1, Motor &M2, QEI &e1, QEI &e2):enc1(e1),enc2(e2),m1(M1),m2(M2),led1(LED1),led2(LED2),led3(LED3),led4(LED4){
calamaridudeman 37:bf257a0154db 6
calamaridudeman 37:bf257a0154db 7 }
calamaridudeman 37:bf257a0154db 8
calamaridudeman 37:bf257a0154db 9 void Kangaroo::zero(){
calamaridudeman 38:922f2584bdfd 10 m1.start();
calamaridudeman 38:922f2584bdfd 11 m2.start();
calamaridudeman 38:922f2584bdfd 12 //m1.setVel(-.2);//wait for the legs to go to stopping points
calamaridudeman 38:922f2584bdfd 13 //m2.setVel(-.2);
calamaridudeman 38:922f2584bdfd 14
calamaridudeman 38:922f2584bdfd 15 m1.setPos(2.0);
calamaridudeman 38:922f2584bdfd 16 m2.setPos(2.0);
calamaridudeman 38:922f2584bdfd 17
calamaridudeman 37:bf257a0154db 18 led4=1;
calamaridudeman 38:922f2584bdfd 19 wait(3.0);
calamaridudeman 37:bf257a0154db 20
calamaridudeman 37:bf257a0154db 21 m1.zero();
calamaridudeman 37:bf257a0154db 22 m2.zero();
calamaridudeman 37:bf257a0154db 23
calamaridudeman 37:bf257a0154db 24 enc1.reset();
calamaridudeman 37:bf257a0154db 25 enc2.reset();
calamaridudeman 37:bf257a0154db 26 led2=1;
calamaridudeman 37:bf257a0154db 27 while(((enc1.getRevolutions()==0)||(enc2.getRevolutions()==0))){
calamaridudeman 37:bf257a0154db 28 wait(0.1);
calamaridudeman 37:bf257a0154db 29 }
calamaridudeman 37:bf257a0154db 30
calamaridudeman 37:bf257a0154db 31 led1=1;
calamaridudeman 37:bf257a0154db 32 led3=1;
calamaridudeman 38:922f2584bdfd 33 m1.stop();
calamaridudeman 38:922f2584bdfd 34 m2.stop();
calamaridudeman 37:bf257a0154db 35 }
calamaridudeman 37:bf257a0154db 36
calamaridudeman 37:bf257a0154db 37 void Kangaroo::testEncoders(Serial &pc){
calamaridudeman 37:bf257a0154db 38 //pc.printf("hello world\n");
calamaridudeman 37:bf257a0154db 39
calamaridudeman 37:bf257a0154db 40 //pc.printf("motor1: %i\n",m1.getPos());
calamaridudeman 37:bf257a0154db 41 pc.printf("clix1: %i, rots1: %i\n",enc1.getPulses(), enc1.getRevolutions());
calamaridudeman 37:bf257a0154db 42
calamaridudeman 37:bf257a0154db 43 //pc.printf("motor2: %i\n",);
calamaridudeman 37:bf257a0154db 44 pc.printf("clix2: %i, rots2: %i\n",enc2.getPulses(), enc2.getRevolutions());
calamaridudeman 38:922f2584bdfd 45 }
calamaridudeman 38:922f2584bdfd 46
calamaridudeman 38:922f2584bdfd 47 float Kangaroo::getAngle(){
calamaridudeman 38:922f2584bdfd 48 return (enc2.getAngle())+1.770973;
calamaridudeman 37:bf257a0154db 49 }