Added M42 to control non used pins example: M42 P23 S255
This commit is contained in:
parent
563c90f6ff
commit
ef66ecf5f1
1 changed files with 26 additions and 0 deletions
|
|
@ -43,6 +43,7 @@
|
||||||
// M27 - Report SD print status
|
// M27 - Report SD print status
|
||||||
// M28 - Start SD write (M28 filename.g)
|
// M28 - Start SD write (M28 filename.g)
|
||||||
// M29 - Stop SD write
|
// M29 - Stop SD write
|
||||||
|
// M42 - Set output on free pins, on a non pwm pin (over pin 13 on an arduino mega) use S255 to turn it on and S0 to turn it off. Use P to decide the pin (M42 P23 S255) would turn pin 23 on
|
||||||
// M81 - Turn off Power Supply
|
// M81 - Turn off Power Supply
|
||||||
// M82 - Set E codes absolute (default)
|
// M82 - Set E codes absolute (default)
|
||||||
// M83 - Set E codes relative while in Absolute Coordinates (G90) mode
|
// M83 - Set E codes relative while in Absolute Coordinates (G90) mode
|
||||||
|
|
@ -721,6 +722,31 @@ inline void process_commands()
|
||||||
//savetosd = false;
|
//savetosd = false;
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
case 42: //M42 -Change pin status via gcode
|
||||||
|
if (code_seen('S'))
|
||||||
|
{
|
||||||
|
int pin_status = code_value();
|
||||||
|
if (code_seen('P') && pin_status >= 0 && pin_status <= 255)
|
||||||
|
{
|
||||||
|
int pin_number = code_value();
|
||||||
|
for(int i = 0; i < sizeof(sensitive_pins); i++)
|
||||||
|
{
|
||||||
|
if (sensitive_pins[i] == pin_number)
|
||||||
|
{
|
||||||
|
pin_number = -1;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pin_number > -1)
|
||||||
|
{
|
||||||
|
pinMode(pin_number, OUTPUT);
|
||||||
|
digitalWrite(pin_number, pin_status);
|
||||||
|
analogWrite(pin_number, pin_status);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
case 104: // M104
|
case 104: // M104
|
||||||
if (code_seen('S')) target_raw = temp2analogh(code_value());
|
if (code_seen('S')) target_raw = temp2analogh(code_value());
|
||||||
#ifdef WATCHPERIOD
|
#ifdef WATCHPERIOD
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue