added suicide pin for a power supply to the arduino that is only active if the arduino is holding high for an output.
This commit is contained in:
parent
3814bbb529
commit
cee5f9020a
@ -161,7 +161,7 @@ static bool fromsd[BUFSIZE];
|
||||
static int bufindr = 0;
|
||||
static int bufindw = 0;
|
||||
static int buflen = 0;
|
||||
static int i = 0;
|
||||
//static int i = 0;
|
||||
static char serial_char;
|
||||
static int serial_count = 0;
|
||||
static boolean comment_mode = false;
|
||||
@ -233,8 +233,30 @@ void setup_photpin()
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
void setup_powerhold()
|
||||
{
|
||||
#ifdef SUICIDE_PIN
|
||||
#if (SUICIDE_PIN> -1)
|
||||
SET_OUTPUT(SUICIDE_PIN);
|
||||
WRITE(SUICIDE_PIN, HIGH);
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
void suicide()
|
||||
{
|
||||
#ifdef SUICIDE_PIN
|
||||
#if (SUICIDE_PIN> -1)
|
||||
SET_OUTPUT(SUICIDE_PIN);
|
||||
WRITE(SUICIDE_PIN, LOW);
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
void setup()
|
||||
{
|
||||
setup_powerhold();
|
||||
MSerial.begin(BAUDRATE);
|
||||
SERIAL_ECHO_START;
|
||||
SERIAL_ECHOLNPGM(VERSION_STRING);
|
||||
@ -912,10 +934,17 @@ FORCE_INLINE void process_commands()
|
||||
case 80: // M80 - ATX Power On
|
||||
SET_OUTPUT(PS_ON_PIN); //GND
|
||||
break;
|
||||
case 81: // M81 - ATX Power Off
|
||||
SET_INPUT(PS_ON_PIN); //Floating
|
||||
break;
|
||||
#endif
|
||||
|
||||
case 81: // M81 - ATX Power Off
|
||||
#if (SUICIDE_PIN >-1)
|
||||
suicide();
|
||||
#else
|
||||
#if (PS_ON_PIN > -1)
|
||||
SET_INPUT(PS_ON_PIN); //Floating
|
||||
#endif
|
||||
#endif
|
||||
|
||||
case 82:
|
||||
axis_relative_modes[3] = false;
|
||||
break;
|
||||
@ -1314,6 +1343,7 @@ void kill()
|
||||
SERIAL_ERROR_START;
|
||||
SERIAL_ERRORLNPGM("Printer halted. kill() called !!");
|
||||
LCD_MESSAGEPGM("KILLED. ");
|
||||
suicide();
|
||||
while(1); // Wait for reset
|
||||
}
|
||||
|
||||
|
@ -582,6 +582,7 @@
|
||||
#define FAN_PIN 7
|
||||
#define PS_ON_PIN 12
|
||||
#define KILL_PIN -1
|
||||
#define SUICIDE_PIN 54 //PIN that has to be turned on right after start, to keep power flowing.
|
||||
|
||||
#ifdef ULTRA_LCD
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user