Add auto-power-down feature to 4MAX Pro.
This commit is contained in:
@@ -1273,6 +1273,7 @@ void AnycubicTouchscreenClass::StateHandler() {
|
|||||||
TFTstate = ANYCUBIC_TFT_STATE_IDLE;
|
TFTstate = ANYCUBIC_TFT_STATE_IDLE;
|
||||||
HARDWARE_SERIAL_PROTOCOLPGM("J14"); // J14 print done
|
HARDWARE_SERIAL_PROTOCOLPGM("J14"); // J14 print done
|
||||||
HARDWARE_SERIAL_ENTER();
|
HARDWARE_SERIAL_ENTER();
|
||||||
|
powerOFFflag = 1;
|
||||||
#ifdef ANYCUBIC_TFT_DEBUG
|
#ifdef ANYCUBIC_TFT_DEBUG
|
||||||
SERIAL_ECHOLNPGM("TFT Serial Debug: SD print done... J14");
|
SERIAL_ECHOLNPGM("TFT Serial Debug: SD print done... J14");
|
||||||
#endif
|
#endif
|
||||||
@@ -1688,6 +1689,7 @@ void AnycubicTouchscreenClass::GetCommandFromTFT() {
|
|||||||
#ifdef SDSUPPORT
|
#ifdef SDSUPPORT
|
||||||
if ((!planner.movesplanned()) && (TFTstate != ANYCUBIC_TFT_STATE_SDPAUSE) && (TFTstate != ANYCUBIC_TFT_STATE_SDOUTAGE) && (card.isFileOpen())) {
|
if ((!planner.movesplanned()) && (TFTstate != ANYCUBIC_TFT_STATE_SDPAUSE) && (TFTstate != ANYCUBIC_TFT_STATE_SDOUTAGE) && (card.isFileOpen())) {
|
||||||
ai3m_pause_state = 0;
|
ai3m_pause_state = 0;
|
||||||
|
powerOFFflag = 0;
|
||||||
#ifdef ANYCUBIC_TFT_DEBUG
|
#ifdef ANYCUBIC_TFT_DEBUG
|
||||||
SERIAL_ECHOPAIR(" DEBUG: AI3M Pause State: ", ai3m_pause_state);
|
SERIAL_ECHOPAIR(" DEBUG: AI3M Pause State: ", ai3m_pause_state);
|
||||||
SERIAL_EOL();
|
SERIAL_EOL();
|
||||||
@@ -2100,9 +2102,25 @@ void AnycubicTouchscreenClass::GetCommandFromTFT() {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if EITHER(KNUTWURST_4MAX, KNUTWURST_4MAXP2)
|
#if EITHER(KNUTWURST_4MAX, KNUTWURST_4MAXP2)
|
||||||
|
case 41:
|
||||||
|
if(CodeSeen('O')) {
|
||||||
|
PrintdoneAndPowerOFF = true;
|
||||||
|
break;
|
||||||
|
} else if(CodeSeen('C')) {
|
||||||
|
PrintdoneAndPowerOFF = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if(CodeSeen('S')) {
|
||||||
|
if(PrintdoneAndPowerOFF) {
|
||||||
|
HARDWARE_SERIAL_PROTOCOLPGM("J35 ");
|
||||||
|
HARDWARE_SERIAL_ENTER();
|
||||||
|
} else {
|
||||||
|
HARDWARE_SERIAL_PROTOCOLPGM("J34 ");
|
||||||
|
HARDWARE_SERIAL_ENTER();
|
||||||
|
}
|
||||||
|
}
|
||||||
case 42:
|
case 42:
|
||||||
if(CaseLight == true)
|
if(CaseLight == true) {
|
||||||
{
|
|
||||||
SERIAL_ECHOLNPGM("Case Light OFF");
|
SERIAL_ECHOLNPGM("Case Light OFF");
|
||||||
queue.inject_P(PSTR("M355 S1 P0"));
|
queue.inject_P(PSTR("M355 S1 P0"));
|
||||||
CaseLight = false;
|
CaseLight = false;
|
||||||
@@ -2284,11 +2302,29 @@ void AnycubicTouchscreenClass::GetCommandFromTFT() {
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
void PowerDown()
|
||||||
|
{
|
||||||
|
for(unsigned char i=0; i<3 ; i++)
|
||||||
|
{
|
||||||
|
WRITE(POWER_OFF_PIN,LOW);
|
||||||
|
delay(10);
|
||||||
|
WRITE(POWER_OFF_PIN,HIGH);
|
||||||
|
delay(10);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void AnycubicTouchscreenClass::CommandScan(){
|
void AnycubicTouchscreenClass::CommandScan(){
|
||||||
CheckHeaterError();
|
CheckHeaterError();
|
||||||
CheckSDCardChange();
|
CheckSDCardChange();
|
||||||
StateHandler();
|
StateHandler();
|
||||||
|
|
||||||
|
#if ANY(KNUTWURST_4MAX, KNUTWURST_4MAXP2)
|
||||||
|
if(PrintdoneAndPowerOFF && powerOFFflag && (thermalManager.degHotend(0) < 50 )) {
|
||||||
|
powerOFFflag = 0;
|
||||||
|
PowerDown();
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
if (TFTbuflen < (TFTBUFSIZE - 1)) {
|
if (TFTbuflen < (TFTBUFSIZE - 1)) {
|
||||||
GetCommandFromTFT();
|
GetCommandFromTFT();
|
||||||
}
|
}
|
||||||
|
@@ -286,6 +286,8 @@ class AnycubicTouchscreenClass {
|
|||||||
uint16_t HeaterCheckCount = 0;
|
uint16_t HeaterCheckCount = 0;
|
||||||
bool IsParked = false;
|
bool IsParked = false;
|
||||||
int currentFlowRate = 0;
|
int currentFlowRate = 0;
|
||||||
|
bool PrintdoneAndPowerOFF = true;
|
||||||
|
bool powerOFFflag = 0;
|
||||||
|
|
||||||
#if defined(POWER_OUTAGE_TEST)
|
#if defined(POWER_OUTAGE_TEST)
|
||||||
struct OutageDataStruct {
|
struct OutageDataStruct {
|
||||||
|
@@ -60,6 +60,7 @@
|
|||||||
#define SDSS 53
|
#define SDSS 53
|
||||||
#define LED_PIN 13
|
#define LED_PIN 13
|
||||||
#define SD_DETECT_PIN 49
|
#define SD_DETECT_PIN 49
|
||||||
|
#define POWER_OFF_PIN 21
|
||||||
// Remap MOSFET pins to common usages:
|
// Remap MOSFET pins to common usages:
|
||||||
|
|
||||||
#define RAMPS_D10_PIN TG_HEATER_0_PIN // HEATER_0_PIN is always RAMPS_D10_PIN in pins_RAMPS.h
|
#define RAMPS_D10_PIN TG_HEATER_0_PIN // HEATER_0_PIN is always RAMPS_D10_PIN in pins_RAMPS.h
|
||||||
|
Reference in New Issue
Block a user