Motor Shield Example code for 2.74 Class @ MIT

Dependents:   experiment_example motor_shield_example Lab3_experiment_example jumping_leg_clicky

MotorShield.h

Committer:
elijahsj
Date:
2020-08-26
Revision:
7:e3a2ade56b79
Parent:
5:d2dffc88e94d

File content as of revision 7:e3a2ade56b79:

/* Library to interface with 2.74 Motor Shield
** Uses low level HAL libraries to enable high speed PWM 
** Use as follows:
** - Create shield object and specify PWM period for the motors
** - Set the duty cycle and direction for each motor 
*/

class MotorShield {
    
    public:
    
    MotorShield(int periodTicks);
    void motorAWrite(float duty_cycle, int direction);
    void motorBWrite(float duty_cycle, int direction);
    void motorCWrite(float duty_cycle, int direction);
    void motorDWrite(float duty_cycle, int direction);
    uint32_t readCurrentA();
    uint32_t readCurrentB();
    uint32_t readCurrentC();
    uint32_t readCurrentD();
    void changePeriod(int periodTicks); 
    
    private:
    
    int periodTickVal;
    void init();
    
};