Files
MC34933/MC34933.h
willem oldemans 9705bbb73c initial commit
2020-10-01 09:35:26 +02:00

58 lines
1.3 KiB
C++

/*
MC34933.h - Library for the Toshiba MC34933 motor driver.
Created by TheDIYGuy999 June - November 2016
Released into the public domain.
This is Version 1.2
Change history:
V1.1:
The pin configuration was moved to the separate begin() function.
Change your existing programs in accordance with the provided example
V1.2:
minPWM input variable added to the drive() function.
Allows to eliminate the backlash in self balancing applications
*/
#ifndef MC34933H
#define MC34933H
#include "Arduino.h"
// Class definition (header) ========================================================================
class MC34933 {
public:
MC34933();
void begin(int pin1, int pin2, int minInput, int maxInput, int neutralWidth, bool invert);
bool drive(int controlValue, int minPWM, int maxPWM, int rampTime, bool neutralBrake);
bool brakeActive();
private:
int _pin1;
int _pin2;
int _pwmPin;
int _minInput;
int _maxInput;
int _minNeutral;
int _maxNeutral;
int _controlValue;
int _controlValueRamp;
int _minPWM;
int _maxPWM;
int _rampTime;
bool _neutralBrake;
bool _invert;
unsigned long _previousMillis = 0;
unsigned long _previousMillisBrake = 0;
byte _state = 0;
byte _forward;
byte _reverse;
byte _upwards;
byte _downwards;
};
#endif //MC34933H