Mouse code for the MacroRat

Dependencies:   ITG3200 QEI

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers motor.cpp Source File

motor.cpp

00001 #include "mbed.h"
00002 #include "motor.h"
00003 
00004 void Motor::backward(double voltage) {
00005     if(voltage > maxSpeed){
00006         voltage = maxSpeed;
00007     }else if(voltage < minSpeed){
00008         voltage = minSpeed;
00009     }
00010     enableForw.write(0);
00011     enableBack.write(1);
00012     motorSpeed.write( voltage );
00013 }
00014 
00015 void Motor::forward(double voltage) {
00016     if(voltage > maxSpeed){
00017         voltage = maxSpeed;
00018     }else if(voltage < minSpeed){
00019         voltage = minSpeed;
00020     }
00021     enableForw.write(1);
00022     enableBack.write(0);
00023     motorSpeed.write( voltage );
00024 }
00025 
00026 void Motor::move(double voltage) {
00027     if(voltage < 0){
00028         backward(-voltage);
00029     }
00030     if(voltage > 0){
00031         forward(voltage);
00032     }
00033 }
00034 
00035 
00036 void Motor::brake() {
00037     enableForw.write(1);
00038     enableBack.write(1);
00039     motorSpeed.write( BRAKE_VOLTAGE );
00040 }
00041 
00042 void Motor::coast() {
00043     enableForw.write(0);
00044     enableBack.write(0);
00045     motorSpeed.write( 0 );
00046 }