Clownface / MotorDriver

Fork of MotorDriver by Matt Rogers

Revision:
1:15e17abb9f29
Parent:
0:871adb9cf798
Child:
3:7a6365365ee2
--- a/MotorDriver.cpp	Tue Dec 08 00:11:04 2015 +0000
+++ b/MotorDriver.cpp	Thu Apr 28 01:43:44 2016 +0000
@@ -4,57 +4,56 @@
 
 // See .h file for function descriptions and details
 
-MotorDriver::MotorDriver(DigitalOut in1, DigitalOut in2, PwmOut pwm, float pwmFreq, bool isBrakeable) 
-                        : _in1(in1), _in2(in2), _pwm(pwm) 
+MotorDriver::MotorDriver(DigitalOut in1, DigitalOut in2, PwmOut pwm, float pwmFreq, bool isBrakeable)
+    : _in1(in1), _in2(in2), _pwm(pwm)
 {
     // Initialize motor and variables
-    _in1 = 1; _in2 = 0; _pwm = 0.0; this->isBrakeable = isBrakeable;
-    _pwm.period(1.0/pwmFreq);
+    _in1 = 1;
+    _in2 = 0;
+    _pwm = 0.0;
+    this->isBrakeable = isBrakeable;
+    _pwm.period(1.0f/pwmFreq);
     determineState();
 }
 
-void MotorDriver::determineState(){
-    if(_in1==1 && _in2==1){
+void MotorDriver::determineState()
+{
+    if(_in1==1 && _in2==1) {
         motor_state.code  = BRAKING;
-        motor_state.value = _pwm;    
-    }
-    else if(_in1==1 && _in2==0){
+        motor_state.value = _pwm;
+    } else if(_in1==1 && _in2==0) {
         motor_state.code  = DRIVING_CW;
         motor_state.value = _pwm;
-    }
-    else if(_in1==0 && _in2==1){
+    } else if(_in1==0 && _in2==1) {
         motor_state.code  = DRIVING_CCW;
-        motor_state.value = _pwm;  
-    }
-    else if(_in1==0 && _in2==0){
+        motor_state.value = _pwm;
+    } else if(_in1==0 && _in2==0) {
         motor_state.code = COASTING;
         motor_state.value = _pwm;
+    } else {
+        motor_state.code = MOTOR_ERROR;       // Undefined config found
+        motor_state.value = _pwm;
     }
-    else{
-        motor_state.code = ERROR;       // Undefined config found
-        motor_state.value = _pwm;
-    }    
 }
 
-State_t MotorDriver::setSpeed(float speed){
+State_t MotorDriver::setSpeed(float speed)
+{
     // Prevent instantaneous reversal; put into brake if requested to do so
-    bool isTryingToInstantReverse = 
-         (bool)((speed < 0.0) && (motor_state.code == DRIVING_CW) && (_pwm > 0.05)) || 
-         (bool)((speed > 0.0) && (motor_state.code == DRIVING_CCW)&& (_pwm > 0.05));
-    if(isTryingToInstantReverse){
+    bool isTryingToInstantReverse =
+        (bool)((speed < 0.0f) && (motor_state.code == DRIVING_CW) && (_pwm > 0.05f)) ||
+        (bool)((speed > 0.0f) && (motor_state.code == DRIVING_CCW)&& (_pwm > 0.05f));
+    if(isTryingToInstantReverse) {
         // Set motor to brake, set state to error
         coast();
-        motor_state.code = ERROR; motor_state.value = _pwm;
+        motor_state.code = MOTOR_ERROR;
+        motor_state.value = _pwm;
         return motor_state;
-    }
-    else{
-        if(speed == 0.0)
-        {
+    } else {
+        if(speed == 0.0f) {
             // No effect to _in pins
-        }
-        else{
-            _in1 = (speed>0.0);
-            _in2 = (speed<0.0);
+        } else {
+            _in1 = (speed>0.0f);
+            _in2 = (speed<0.0f);
         }
         _pwm = std::abs(speed);
         determineState();
@@ -62,35 +61,41 @@
     }
 }
 
-State_t MotorDriver::forceSetSpeed(float speed){
-    if(speed == 0.0)
-        {
-            // No effect to _in pins
-        }
-        else{
-            _in1 = (speed>0.0);
-            _in2 = (speed<0.0);
-        }
-        _pwm = std::abs(speed);
-        determineState();
-        return motor_state;
+State_t MotorDriver::forceSetSpeed(float speed)
+{
+    if(speed == 0.0f) {
+        // No effect to _in pins
+    } else {
+        _in1 = (speed>0.0f);
+        _in2 = (speed<0.0f);
+    }
+    _pwm = std::abs(speed);
+    determineState();
+    return motor_state;
 }
 
-State_t MotorDriver::brake(float intensity){
+State_t MotorDriver::brake(float intensity)
+{
     if(!isBrakeable) coast();
-    else{
-        _in1=1; _in2=1; _pwm = _pwm * (1.0-intensity);  
+    else {
+        _in1=1;
+        _in2=1;
+        _pwm = _pwm * (1.0f - intensity);
     }
     determineState();
     return motor_state;
 }
 
-State_t MotorDriver::coast(){
-    _in1=0; _in2=0; _pwm = 1.0;
+State_t MotorDriver::coast()
+{
+    _in1=0;
+    _in2=0;
+    _pwm = 1.0;
     determineState();
     return motor_state;
 }
 
-State_t MotorDriver::getState(){
+State_t MotorDriver::getState()
+{
     return motor_state;
 }
\ No newline at end of file