|
|
@ -1474,27 +1474,27 @@ void process_commands() |
|
|
|
st_synchronize(); |
|
|
|
} |
|
|
|
break; |
|
|
|
case 500: // Store settings in EEPROM
|
|
|
|
case 500: // M500 Store settings in EEPROM
|
|
|
|
{ |
|
|
|
Config_StoreSettings(); |
|
|
|
} |
|
|
|
break; |
|
|
|
case 501: // Read settings from EEPROM
|
|
|
|
case 501: // M501 Read settings from EEPROM
|
|
|
|
{ |
|
|
|
Config_RetrieveSettings(); |
|
|
|
} |
|
|
|
break; |
|
|
|
case 502: // Revert to default settings
|
|
|
|
case 502: // M502 Revert to default settings
|
|
|
|
{ |
|
|
|
Config_ResetDefault(); |
|
|
|
} |
|
|
|
break; |
|
|
|
case 503: // print settings currently in memory
|
|
|
|
case 503: // M503 print settings currently in memory
|
|
|
|
{ |
|
|
|
Config_PrintSettings(); |
|
|
|
} |
|
|
|
break; |
|
|
|
case 907: // Set digital trimpot motor current using axis codes.
|
|
|
|
case 907: // M907 Set digital trimpot motor current using axis codes.
|
|
|
|
{ |
|
|
|
#if DIGIPOTSS_PIN > -1 |
|
|
|
for(int i=0;i<=NUM_AXIS;i++) if(code_seen(axis_codes[i])) digipot_current(i,code_value()); |
|
|
@ -1502,7 +1502,7 @@ void process_commands() |
|
|
|
if(code_seen('S')) for(int i=0;i<=4;i++) digipot_current(i,code_value()); |
|
|
|
#endif |
|
|
|
} |
|
|
|
case 908: // Control digital trimpot directly.
|
|
|
|
case 908: // M908 Control digital trimpot directly.
|
|
|
|
{ |
|
|
|
#if DIGIPOTSS_PIN > -1 |
|
|
|
uint8_t channel,current; |
|
|
@ -1512,7 +1512,7 @@ void process_commands() |
|
|
|
#endif |
|
|
|
} |
|
|
|
break; |
|
|
|
case 350: // Set microstepping mode. Warning: Steps per unit remains unchanged. S code sets stepping mode for all drivers.
|
|
|
|
case 350: // M350 Set microstepping mode. Warning: Steps per unit remains unchanged. S code sets stepping mode for all drivers.
|
|
|
|
{ |
|
|
|
#if X_MS1_PIN > -1 |
|
|
|
if(code_seen('S')) for(int i=0;i<=4;i++) microstep_mode(i,code_value()); |
|
|
@ -1522,7 +1522,7 @@ void process_commands() |
|
|
|
#endif |
|
|
|
} |
|
|
|
break; |
|
|
|
case 351: // Toggle MS1 MS2 pins directly, S# determines MS1 or MS2, X# sets the pin high/low.
|
|
|
|
case 351: // M351 Toggle MS1 MS2 pins directly, S# determines MS1 or MS2, X# sets the pin high/low.
|
|
|
|
{ |
|
|
|
#if X_MS1_PIN > -1 |
|
|
|
if(code_seen('S')) switch((int)code_value()) |
|
|
@ -1540,7 +1540,7 @@ void process_commands() |
|
|
|
#endif |
|
|
|
} |
|
|
|
break; |
|
|
|
case 999: // Restart after being stopped
|
|
|
|
case 999: // M999: Restart after being stopped
|
|
|
|
Stopped = false; |
|
|
|
gcode_LastN = Stopped_gcode_LastN; |
|
|
|
FlushSerialRequestResend(); |
|
|
@ -1845,7 +1845,7 @@ void setPwmFrequency(uint8_t pin, int val) |
|
|
|
#if defined(TCCR0A) |
|
|
|
case TIMER0A: |
|
|
|
case TIMER0B: |
|
|
|
// TCCR0B &= ~(CS00 | CS01 | CS02);
|
|
|
|
// TCCR0B &= ~(_BV(CS00) | _BV(CS01) | _BV(CS02));
|
|
|
|
// TCCR0B |= val;
|
|
|
|
break; |
|
|
|
#endif |
|
|
@ -1853,7 +1853,7 @@ void setPwmFrequency(uint8_t pin, int val) |
|
|
|
#if defined(TCCR1A) |
|
|
|
case TIMER1A: |
|
|
|
case TIMER1B: |
|
|
|
// TCCR1B &= ~(CS10 | CS11 | CS12);
|
|
|
|
// TCCR1B &= ~(_BV(CS10) | _BV(CS11) | _BV(CS12));
|
|
|
|
// TCCR1B |= val;
|
|
|
|
break; |
|
|
|
#endif |
|
|
@ -1861,7 +1861,7 @@ void setPwmFrequency(uint8_t pin, int val) |
|
|
|
#if defined(TCCR2) |
|
|
|
case TIMER2: |
|
|
|
case TIMER2: |
|
|
|
TCCR2 &= ~(CS10 | CS11 | CS12); |
|
|
|
TCCR2 &= ~(_BV(CS10) | _BV(CS11) | _BV(CS12)); |
|
|
|
TCCR2 |= val; |
|
|
|
break; |
|
|
|
#endif |
|
|
@ -1869,7 +1869,7 @@ void setPwmFrequency(uint8_t pin, int val) |
|
|
|
#if defined(TCCR2A) |
|
|
|
case TIMER2A: |
|
|
|
case TIMER2B: |
|
|
|
TCCR2B &= ~(CS20 | CS21 | CS22); |
|
|
|
TCCR2B &= ~(_BV(CS20) | _BV(CS21) | _BV(CS22)); |
|
|
|
TCCR2B |= val; |
|
|
|
break; |
|
|
|
#endif |
|
|
@ -1878,7 +1878,7 @@ void setPwmFrequency(uint8_t pin, int val) |
|
|
|
case TIMER3A: |
|
|
|
case TIMER3B: |
|
|
|
case TIMER3C: |
|
|
|
TCCR3B &= ~(CS30 | CS31 | CS32); |
|
|
|
TCCR3B &= ~(_BV(CS30) | _BV(CS31) | _BV(CS32)); |
|
|
|
TCCR3B |= val; |
|
|
|
break; |
|
|
|
#endif |
|
|
@ -1887,7 +1887,7 @@ void setPwmFrequency(uint8_t pin, int val) |
|
|
|
case TIMER4A: |
|
|
|
case TIMER4B: |
|
|
|
case TIMER4C: |
|
|
|
TCCR4B &= ~(CS40 | CS41 | CS42); |
|
|
|
TCCR4B &= ~(_BV(CS40) | _BV(CS41) | _BV(CS42)); |
|
|
|
TCCR4B |= val; |
|
|
|
break; |
|
|
|
#endif |
|
|
@ -1896,7 +1896,7 @@ void setPwmFrequency(uint8_t pin, int val) |
|
|
|
case TIMER5A: |
|
|
|
case TIMER5B: |
|
|
|
case TIMER5C: |
|
|
|
TCCR5B &= ~(CS50 | CS51 | CS52); |
|
|
|
TCCR5B &= ~(_BV(CS50) | _BV(CS51) | _BV(CS52)); |
|
|
|
TCCR5B |= val; |
|
|
|
break; |
|
|
|
#endif |
|
|
|