|
|
@ -1228,13 +1228,30 @@ void digipot_current(uint8_t driver, int current) |
|
|
|
|
|
|
|
void microstep_init() |
|
|
|
{ |
|
|
|
#if defined(Y_MS1_PIN) && Y_MS1_PIN > -1 |
|
|
|
SET_OUTPUT(Y_MS1_PIN); |
|
|
|
SET_OUTPUT(Y_MS2_PIN); |
|
|
|
#endif |
|
|
|
#if defined(Z_MS1_PIN) && Z_MS1_PIN > -1 |
|
|
|
SET_OUTPUT(Z_MS1_PIN); |
|
|
|
SET_OUTPUT(Z_MS2_PIN); |
|
|
|
#endif |
|
|
|
|
|
|
|
#if defined(E0_MS1_PIN) && E0_MS1_PIN > -1 |
|
|
|
SET_OUTPUT(E0_MS1_PIN); |
|
|
|
SET_OUTPUT(E0_MS2_PIN); |
|
|
|
#endif |
|
|
|
|
|
|
|
#if defined(E1_MS1_PIN) && E1_MS1_PIN > -1 |
|
|
|
SET_OUTPUT(E1_MS1_PIN); |
|
|
|
SET_OUTPUT(E1_MS2_PIN); |
|
|
|
#endif |
|
|
|
|
|
|
|
#if defined(X_MS1_PIN) && X_MS1_PIN > -1 |
|
|
|
SET_OUTPUT(X_MS1_PIN); |
|
|
|
SET_OUTPUT(X_MS2_PIN); |
|
|
|
|
|
|
|
const uint8_t microstep_modes[] = MICROSTEP_MODES; |
|
|
|
pinMode(X_MS2_PIN,OUTPUT); |
|
|
|
pinMode(Y_MS2_PIN,OUTPUT); |
|
|
|
pinMode(Z_MS2_PIN,OUTPUT); |
|
|
|
pinMode(E0_MS2_PIN,OUTPUT); |
|
|
|
pinMode(E1_MS2_PIN,OUTPUT); |
|
|
|
for(int i=0;i<=4;i++) microstep_mode(i,microstep_modes[i]); |
|
|
|
#endif |
|
|
|
} |
|
|
@ -1243,19 +1260,23 @@ void microstep_ms(uint8_t driver, int8_t ms1, int8_t ms2) |
|
|
|
{ |
|
|
|
if(ms1 > -1) switch(driver) |
|
|
|
{ |
|
|
|
case 0: digitalWrite( X_MS1_PIN,ms1); break; |
|
|
|
case 1: digitalWrite( Y_MS1_PIN,ms1); break; |
|
|
|
case 2: digitalWrite( Z_MS1_PIN,ms1); break; |
|
|
|
case 3: digitalWrite(E0_MS1_PIN,ms1); break; |
|
|
|
case 4: digitalWrite(E1_MS1_PIN,ms1); break; |
|
|
|
case 0: WRITE( X_MS1_PIN,ms1); break; |
|
|
|
case 1: WRITE( Y_MS1_PIN,ms1); break; |
|
|
|
case 2: WRITE( Z_MS1_PIN,ms1); break; |
|
|
|
case 3: WRITE(E0_MS1_PIN,ms1); break; |
|
|
|
#if defined(E1_MS1_PIN) && E1_MS1_PIN > -1 |
|
|
|
case 4: WRITE(E1_MS1_PIN,ms1); break; |
|
|
|
#endif |
|
|
|
} |
|
|
|
if(ms2 > -1) switch(driver) |
|
|
|
{ |
|
|
|
case 0: digitalWrite( X_MS2_PIN,ms2); break; |
|
|
|
case 1: digitalWrite( Y_MS2_PIN,ms2); break; |
|
|
|
case 2: digitalWrite( Z_MS2_PIN,ms2); break; |
|
|
|
case 3: digitalWrite(E0_MS2_PIN,ms2); break; |
|
|
|
case 4: digitalWrite(E1_MS2_PIN,ms2); break; |
|
|
|
case 0: WRITE( X_MS2_PIN,ms2); break; |
|
|
|
case 1: WRITE( Y_MS2_PIN,ms2); break; |
|
|
|
case 2: WRITE( Z_MS2_PIN,ms2); break; |
|
|
|
case 3: WRITE(E0_MS2_PIN,ms2); break; |
|
|
|
#if defined(E1_MS1_PIN) && E1_MS1_PIN > -1 |
|
|
|
case 4: WRITE(E1_MS2_PIN,ms2); break; |
|
|
|
#endif |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
@ -1286,8 +1307,10 @@ void microstep_readings() |
|
|
|
SERIAL_PROTOCOLPGM("E0: "); |
|
|
|
SERIAL_PROTOCOL( digitalRead(E0_MS1_PIN)); |
|
|
|
SERIAL_PROTOCOLLN( digitalRead(E0_MS2_PIN)); |
|
|
|
#if defined(E1_MS1_PIN) && E1_MS1_PIN > -1 |
|
|
|
SERIAL_PROTOCOLPGM("E1: "); |
|
|
|
SERIAL_PROTOCOL( digitalRead(E1_MS1_PIN)); |
|
|
|
SERIAL_PROTOCOLLN( digitalRead(E1_MS2_PIN)); |
|
|
|
#endif |
|
|
|
} |
|
|
|
|
|
|
|