Add setStepperMode logic from other project. Will sleep work?
This commit is contained in:
parent
9552d738c2
commit
da46928dee
|
@ -0,0 +1 @@
|
||||||
|
*.DS_Store
|
|
@ -10,6 +10,12 @@ void IteadDualStepperShield::setup () {
|
||||||
pinMode(_stepB, OUTPUT);
|
pinMode(_stepB, OUTPUT);
|
||||||
setDir(0, 1);
|
setDir(0, 1);
|
||||||
setDir(1, 1);
|
setDir(1, 1);
|
||||||
|
pinMode(_settingsA1, OUTPUT);
|
||||||
|
pinMode(_settingsA2, OUTPUT);
|
||||||
|
pinMode(_settingsB1, OUTPUT);
|
||||||
|
pinMode(_settingsB2, OUTPUT);
|
||||||
|
setStepperMode(0, 1);
|
||||||
|
setStepperMode(1, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void IteadDualStepperShield::setDir (uint8_t motor, uint8_t dir) {
|
void IteadDualStepperShield::setDir (uint8_t motor, uint8_t dir) {
|
||||||
|
@ -79,3 +85,26 @@ void IteadDualStepperShield::stepBoth (uint64_t steps) {
|
||||||
_both();
|
_both();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void IteadDualStepperShield::setStepperMode (uint8_t motor, uint8_t mode) {
|
||||||
|
uint8_t pin1 = motor == 0 ? _settingsA1 : _settingsB1;
|
||||||
|
uint8_t pin2 = motor == 0 ? _settingsA2 : _settingsB2;
|
||||||
|
switch (mode) {
|
||||||
|
case 1 :
|
||||||
|
digitalWrite(pin1, LOW);
|
||||||
|
digitalWrite(pin2, LOW);
|
||||||
|
break;
|
||||||
|
case 2 :
|
||||||
|
digitalWrite(pin1, HIGH);
|
||||||
|
digitalWrite(pin2, LOW);
|
||||||
|
break;
|
||||||
|
case 4 :
|
||||||
|
digitalWrite(pin1, LOW);
|
||||||
|
digitalWrite(pin2, HIGH);
|
||||||
|
break;
|
||||||
|
case 8 :
|
||||||
|
digitalWrite(pin1, HIGH);
|
||||||
|
digitalWrite(pin2, HIGH);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
|
@ -3,6 +3,23 @@
|
||||||
|
|
||||||
#include <Arduino.h>
|
#include <Arduino.h>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* D2 X Step
|
||||||
|
* D3 X Direction
|
||||||
|
* D4 X MS1 setting
|
||||||
|
* D5 X MS2 setting
|
||||||
|
* D6 Y Step
|
||||||
|
* D7 Y Direction
|
||||||
|
* D8 Y MS1 setting
|
||||||
|
* D9 Y MS2 setting
|
||||||
|
*
|
||||||
|
* MS1(X/Y) MS2(X/Y) Description
|
||||||
|
* L L Full step
|
||||||
|
* H L Half step
|
||||||
|
* L H Quarter step
|
||||||
|
* H H Eighth STEP
|
||||||
|
**/
|
||||||
|
|
||||||
class IteadDualStepperShield {
|
class IteadDualStepperShield {
|
||||||
private:
|
private:
|
||||||
const uint8_t _microsteps = 8; //8 or 16
|
const uint8_t _microsteps = 8; //8 or 16
|
||||||
|
@ -11,6 +28,11 @@ class IteadDualStepperShield {
|
||||||
const uint8_t _stepA = 2;
|
const uint8_t _stepA = 2;
|
||||||
const uint8_t _stepB = 6;
|
const uint8_t _stepB = 6;
|
||||||
|
|
||||||
|
const uint8_t _settingsA1 = 4;
|
||||||
|
const uint8_t _settingsA2 = 5;
|
||||||
|
const uint8_t _settingsB1 = 8;
|
||||||
|
const uint8_t _settingsB2 = 9;
|
||||||
|
|
||||||
void _single(uint8_t motor);
|
void _single(uint8_t motor);
|
||||||
void _micro(uint8_t motor);
|
void _micro(uint8_t motor);
|
||||||
void _both();
|
void _both();
|
||||||
|
@ -34,6 +56,7 @@ class IteadDualStepperShield {
|
||||||
void step(uint8_t motor, uint64_t steps, uint8_t dir);
|
void step(uint8_t motor, uint64_t steps, uint8_t dir);
|
||||||
void stepBoth(uint64_t steps);
|
void stepBoth(uint64_t steps);
|
||||||
void onestep(uint8_t motor, uint8_t dir);
|
void onestep(uint8_t motor, uint8_t dir);
|
||||||
|
void setStepperMode (uint8_t motor, uint8_t mode);
|
||||||
|
|
||||||
void release();
|
void release();
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue