Simple motor controller library, using DIR, PWM, nSLP pin like pololu.

Branch:
SM_LAP_Switchng
Revision:
6:7955a025adee
Parent:
5:b46d1e179eb7
Child:
7:4454a344006a
--- a/MotorControler.h	Tue Feb 02 14:53:38 2021 +0000
+++ b/MotorControler.h	Tue Feb 02 15:19:09 2021 +0000
@@ -17,10 +17,15 @@
     OTHER = 4,
 }DriverType;
 
+typedef enum{
+    SM = 0,
+    LAP = 1,
+}ControlType;
+
 class MotorControler
 {
     public:
-    MotorControler(PinName DIR, PinName PWM, PinName nSLP, DriverType md_type=POLOLU);
+    MotorControler(PinName DIR, PinName PWM, PinName nSLP, DriverType md_type=POLOLU, ControlType control_type=SM);
     float operator = (float speed);
     float operator + (float speed);
     float operator += (float speed);
@@ -39,17 +44,20 @@
     
     // dir(CW, or CCW)
     void setMotorDirection(MotorDirection dir);
+    void setPinUsingSignMagnitude(int8_t dir, float speed);
+    void setPinusingLockedUntiPhase(int8_t dir, float speed);
     
     // set PWM frequency
     // frequency[Hz]
     void setPwmFrequency(float frequency);
     
     private:
-    DigitalOut DIR_;
+    PwmOut DIR_;
     PwmOut PWM_;
     DigitalOut nSLP_;
     uint8_t reverse_direction_;
     DriverType md_type_;
+    ControlType control_type_;
     float current_speed_;
 };