Default mbed pwm doesn't have enough resolution at high frequencies, thats why I implemented VNH5019 Motor carrier with FastPWM.

Dependencies:   FastPWM

Fork of VNH5019 by IEEE RAS METU

Revision:
6:c8343fa0f3b4
Parent:
5:b5f360a16354
Child:
7:76af111bfff3
diff -r b5f360a16354 -r c8343fa0f3b4 VNH5019.h
--- a/VNH5019.h	Thu Aug 07 12:23:30 2014 +0000
+++ b/VNH5019.h	Sun Jan 08 13:08:34 2017 +0000
@@ -1,6 +1,3 @@
-#ifndef DualVNH5019MotorShield_h
-#define DualVNH5019MotorShield_h
-
 #include <mbed.h>
 
 class VNH5019
@@ -94,7 +91,7 @@
 {
    // Scale is 144mV per A
    // Scale factor is 3.3 / 0.144 = 22.916667
-   return CS.read() * 22.916667;
+   return CS.read() * 22916.667;
 }
 
 inline
@@ -115,28 +112,3 @@
 {
     ENDIAG.input();
 }
-
-inline
-DualVNH5019MotorShield::DualVNH5019MotorShield()
-: m1(PTD4, PTA4, PTC8, PTB0, PTD5),
-  m2(PTC9, PTA13, PTD3, PTB1, PTD0)
-{
-}
-
-inline
-DualVNH5019MotorShield::DualVNH5019MotorShield(PinName INA1_, PinName INB1_, PinName ENDIAG1_, PinName CS1_, PinName PWM1_,
-                                               PinName INA2_, PinName INB2_, PinName ENDIAG2_, PinName CS2_, PinName PWM2_)
- : m1(INA1_, INB1_, ENDIAG1_, CS1_, PWM1_),
-   m2(INA2_, INB2_, ENDIAG2_, CS2_, PWM2_)
-{
-}
-
-inline
-VNH5019& 
-DualVNH5019MotorShield::operator()(int m)
-{
-    return m == 1 ? m1 : m2;
-}
-
-
-#endif