Mouse code for the MacroRat

Dependencies:   ITG3200 QEI

Committer:
kyleliangus
Date:
Fri May 12 23:25:07 2017 +0000
Revision:
12:5790e56a056f
Parent:
8:a0760acdc59e
Child:
13:2032db00f168
Right Turn is wrong, need fix

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kyleliangus 8:a0760acdc59e 1 #include "mbed.h"
kyleliangus 8:a0760acdc59e 2 #include "motor.h"
kyleliangus 8:a0760acdc59e 3
kyleliangus 8:a0760acdc59e 4 void Motor::backward(double voltage) {
kyleliangus 12:5790e56a056f 5 if(voltage > maxSpeed){
kyleliangus 12:5790e56a056f 6 voltage = maxSpeed;
kyleliangus 12:5790e56a056f 7 }else if(voltage < 0){
kyleliangus 12:5790e56a056f 8 voltage = 0.0;
kyleliangus 12:5790e56a056f 9 }
kyleliangus 8:a0760acdc59e 10 forw.write(voltage);
kyleliangus 8:a0760acdc59e 11 back.write(0);
kyleliangus 8:a0760acdc59e 12 }
kyleliangus 8:a0760acdc59e 13
kyleliangus 8:a0760acdc59e 14 void Motor::forward(double voltage) {
kyleliangus 12:5790e56a056f 15 if(voltage > maxSpeed){
kyleliangus 12:5790e56a056f 16 voltage = maxSpeed;
kyleliangus 12:5790e56a056f 17 }else if(voltage < 0){
kyleliangus 12:5790e56a056f 18 voltage = 0.0;
kyleliangus 12:5790e56a056f 19 }
kyleliangus 8:a0760acdc59e 20 forw.write(0);
kyleliangus 8:a0760acdc59e 21 back.write(voltage);
kyleliangus 8:a0760acdc59e 22 }
kyleliangus 8:a0760acdc59e 23
kyleliangus 12:5790e56a056f 24 void Motor::move(double voltage) {
kyleliangus 12:5790e56a056f 25 if(voltage < 0){
kyleliangus 12:5790e56a056f 26 backward(voltage);
kyleliangus 12:5790e56a056f 27 }
kyleliangus 12:5790e56a056f 28 if(voltage > 0){
kyleliangus 12:5790e56a056f 29 forward(voltage);
kyleliangus 12:5790e56a056f 30 }
kyleliangus 12:5790e56a056f 31 }
kyleliangus 12:5790e56a056f 32
kyleliangus 8:a0760acdc59e 33
kyleliangus 8:a0760acdc59e 34 void Motor::brake() {
kyleliangus 8:a0760acdc59e 35 forw.write(BRAKE_VOLTAGE);
kyleliangus 8:a0760acdc59e 36 back.write(BRAKE_VOLTAGE);
kyleliangus 8:a0760acdc59e 37 }
kyleliangus 8:a0760acdc59e 38
kyleliangus 8:a0760acdc59e 39 void Motor::coast() {
kyleliangus 8:a0760acdc59e 40 forw.write(0);
kyleliangus 8:a0760acdc59e 41 back.write(0);
kyleliangus 8:a0760acdc59e 42 }