Browse Source

Fix for microstepping pin mapping, not using Teensy pin mapping, but Arduino's default pin mapping so Arduino library can be used

pull/1/head
Cameron Lai 11 years ago
parent
commit
97ead2eccb
  1. 18
      Marlin/pins.h
  2. 19
      Marlin/stepper.cpp

18
Marlin/pins.h

@ -79,14 +79,16 @@
#endif #endif
// Microstepping pins // Microstepping pins
#define X_MS1_PIN 13 // Note that the pin mapping is not from fastio.h
#define X_MS2_PIN 14 // See Sd2PinMap.h for the pin configurations
#define Y_MS1_PIN 33 #define X_MS1_PIN 25
#define Y_MS2_PIN 32 #define X_MS2_PIN 26
#define Z_MS1_PIN 31 #define Y_MS1_PIN 9
#define Z_MS2_PIN 30 #define Y_MS2_PIN 8
#define E0_MS1_PIN 29 #define Z_MS1_PIN 7
#define E0_MS2_PIN 28 #define Z_MS2_PIN 6
#define E0_MS1_PIN 5
#define E0_MS2_PIN 4
#endif /* 88 */ #endif /* 88 */

19
Marlin/stepper.cpp

@ -1228,13 +1228,22 @@ void digipot_current(uint8_t driver, int current)
void microstep_init() void microstep_init()
{ {
#if defined(X_MS1_PIN) && X_MS1_PIN > -1
const uint8_t microstep_modes[] = MICROSTEP_MODES; const uint8_t microstep_modes[] = MICROSTEP_MODES;
#if defined(E1_MS1_PIN) && E1_MS1_PIN > -1
pinMode(E1_MS1_PIN,OUTPUT);
pinMode(E1_MS2_PIN,OUTPUT);
#endif
#if defined(X_MS1_PIN) && X_MS1_PIN > -1
pinMode(X_MS1_PIN,OUTPUT);
pinMode(X_MS2_PIN,OUTPUT); pinMode(X_MS2_PIN,OUTPUT);
pinMode(Y_MS1_PIN,OUTPUT);
pinMode(Y_MS2_PIN,OUTPUT); pinMode(Y_MS2_PIN,OUTPUT);
pinMode(Z_MS1_PIN,OUTPUT);
pinMode(Z_MS2_PIN,OUTPUT); pinMode(Z_MS2_PIN,OUTPUT);
pinMode(E0_MS1_PIN,OUTPUT);
pinMode(E0_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]); for(int i=0;i<=4;i++) microstep_mode(i,microstep_modes[i]);
#endif #endif
} }
@ -1247,7 +1256,9 @@ void microstep_ms(uint8_t driver, int8_t ms1, int8_t ms2)
case 1: digitalWrite( Y_MS1_PIN,ms1); break; case 1: digitalWrite( Y_MS1_PIN,ms1); break;
case 2: digitalWrite( Z_MS1_PIN,ms1); break; case 2: digitalWrite( Z_MS1_PIN,ms1); break;
case 3: digitalWrite(E0_MS1_PIN,ms1); break; case 3: digitalWrite(E0_MS1_PIN,ms1); break;
#if defined(E1_MS1_PIN) && E1_MS1_PIN > -1
case 4: digitalWrite(E1_MS1_PIN,ms1); break; case 4: digitalWrite(E1_MS1_PIN,ms1); break;
#endif
} }
if(ms2 > -1) switch(driver) if(ms2 > -1) switch(driver)
{ {
@ -1255,7 +1266,9 @@ void microstep_ms(uint8_t driver, int8_t ms1, int8_t ms2)
case 1: digitalWrite( Y_MS2_PIN,ms2); break; case 1: digitalWrite( Y_MS2_PIN,ms2); break;
case 2: digitalWrite( Z_MS2_PIN,ms2); break; case 2: digitalWrite( Z_MS2_PIN,ms2); break;
case 3: digitalWrite(E0_MS2_PIN,ms2); break; case 3: digitalWrite(E0_MS2_PIN,ms2); break;
#if defined(E1_MS2_PIN) && E1_MS2_PIN > -1
case 4: digitalWrite(E1_MS2_PIN,ms2); break; case 4: digitalWrite(E1_MS2_PIN,ms2); break;
#endif
} }
} }
@ -1286,8 +1299,10 @@ void microstep_readings()
SERIAL_PROTOCOLPGM("E0: "); SERIAL_PROTOCOLPGM("E0: ");
SERIAL_PROTOCOL( digitalRead(E0_MS1_PIN)); SERIAL_PROTOCOL( digitalRead(E0_MS1_PIN));
SERIAL_PROTOCOLLN( digitalRead(E0_MS2_PIN)); SERIAL_PROTOCOLLN( digitalRead(E0_MS2_PIN));
#if defined(E1_MS1_PIN) && E1_MS1_PIN > -1
SERIAL_PROTOCOLPGM("E1: "); SERIAL_PROTOCOLPGM("E1: ");
SERIAL_PROTOCOL( digitalRead(E1_MS1_PIN)); SERIAL_PROTOCOL( digitalRead(E1_MS1_PIN));
SERIAL_PROTOCOLLN( digitalRead(E1_MS2_PIN)); SERIAL_PROTOCOLLN( digitalRead(E1_MS2_PIN));
#endif
} }

Loading…
Cancel
Save