A simple stepper motor driver library, supporting micro-stepping drivers.

Dependents:   Test_LCDTS_UI_StepperMove

Stepper.cpp

Committer:
Abdel64
Date:
2020-11-11
Revision:
1:d453a05ce39e
Parent:
0:52fb09e87581
Child:
2:97b1bc1f0b5f

File content as of revision 1:d453a05ce39e:

#include "Stepper.h"
#include "mbed.h"

stepper::stepper(PinName _en, PinName _stepPin, PinName _dir):
    en(_en),
    stepPin(_stepPin),
    dir(_dir)
{
}

steppers::steppers(PinName _en, PinName _stepPin, PinName _dirG, PinName _dirD):
    stepper(_en,_stepPin,_dirG),
    dirD(_dirD)
{}

/*void stepper::move(float pos_current, float pos_togo, float speed)
{
    if ( */
    
void stepper::step(int direction, float speed)
{
    if (direction == 1) {
        dir = 1;
    } else if (direction == 0) {
        dir = 0;
    }
    
    //  Step...
    stepPin = 1;
    wait(1/speed);
    stepPin = 0;
    wait(1/speed);
}

void steppers::step(int direction, float speed)
{
    if (direction == 1) {
        dirD = 1;
        dir = 0;
    } else if (direction == 0) {
        dirD = 0;
        dir = 1;
    }
    
    //  Step...
    stepPin = 1;
    wait(1/speed);
    stepPin = 0;
    wait(1/speed);
}

void stepper::enable()
{
    en = 0;
}

void stepper::disable()
{
    en = 1;
}