Merge branch 'MK2-ALL_IN_ONE' into MK2-Hyperfine

This commit is contained in:
3d-gussner 2017-10-10 14:03:30 +02:00 committed by GitHub
commit 50d23b6592
12 changed files with 377 additions and 50 deletions

View File

@ -59,6 +59,12 @@
#define EEPROM_BED_CORRECTION_REAR_RIGHT (EEPROM_BED_CORRECTION_FRONT_RIGHT - 1) #define EEPROM_BED_CORRECTION_REAR_RIGHT (EEPROM_BED_CORRECTION_FRONT_RIGHT - 1)
#define EEPROM_BED_CORRECTION_REAR_LEFT (EEPROM_BED_CORRECTION_REAR_RIGHT - 1) #define EEPROM_BED_CORRECTION_REAR_LEFT (EEPROM_BED_CORRECTION_REAR_RIGHT - 1)
// FILAMENT_RUNOUT_SENSOR
#define EEPROM_FIL_RUNOUT_ACTIVE (EEPROM_BED_CORRECTION_REAR_RIGHT - 1) //0 - filament runout sensor disabled; 1 - .. activated
#define EEPROM_FIL_RUNOUT_INVERTING (EEPROM_FIL_RUNOUT_ACTIVE - 1) //0 - filament runout sensor inverted; 1 - .. normal
#define EEPROM_ENDSTOPPULLUP_FIL_RUNOUT (EEPROM_FIL_RUNOUT_INVERTING - 1) //0 - filament runout sensor pullup; 0 - .. normal
// end FILAMENT_RUNOUT_SENSOR
// Currently running firmware, each digit stored as uint16_t. // Currently running firmware, each digit stored as uint16_t.
// The flavor differentiates a dev, alpha, beta, release candidate or a release version. // The flavor differentiates a dev, alpha, beta, release candidate or a release version.
#define EEPROM_FIRMWARE_VERSION_END (FW_PRUSA3D_MAGIC_LEN+8) #define EEPROM_FIRMWARE_VERSION_END (FW_PRUSA3D_MAGIC_LEN+8)
@ -89,7 +95,7 @@
#define SERIAL_PORT 0 #define SERIAL_PORT 0
// This determines the communication speed of the printer // This determines the communication speed of the printer
#define BAUDRATE 115200 #define BAUDRATE 250000
// This enables the serial port associated to the Bluetooth interface // This enables the serial port associated to the Bluetooth interface
//#define BTENABLED // Enable BT interface on AT90USB devices //#define BTENABLED // Enable BT interface on AT90USB devices
@ -706,7 +712,7 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of
* Note may require analog pins to be defined for different motherboards * Note may require analog pins to be defined for different motherboards
**********************************************************************/ **********************************************************************/
// Uncomment below to enable // Uncomment below to enable
//#define FILAMENT_SENSOR #define FILAMENT_SENSOR
#define FILAMENT_SENSOR_EXTRUDER_NUM 0 //The number of the extruder that has the filament sensor (0,1,2) #define FILAMENT_SENSOR_EXTRUDER_NUM 0 //The number of the extruder that has the filament sensor (0,1,2)
#define MEASUREMENT_DELAY_CM 14 //measurement delay in cm. This is the distance from filament sensor to middle of barrel #define MEASUREMENT_DELAY_CM 14 //measurement delay in cm. This is the distance from filament sensor to middle of barrel

View File

@ -294,6 +294,11 @@ extern int bowden_length[4];
extern bool is_usb_printing; extern bool is_usb_printing;
extern bool homing_flag; extern bool homing_flag;
extern bool temp_cal_active; extern bool temp_cal_active;
// FILAMENT_RUNOUT_SENSOR
extern bool fil_runout_active;
extern bool FIL_RUNOUT_INVERTING;
extern bool ENDSTOPPULLUP_FIL_RUNOUT;
// end FILAMENT_RUNOUT_SENSOR
extern bool loading_flag; extern bool loading_flag;
extern unsigned int usb_printing_counter; extern unsigned int usb_printing_counter;

View File

@ -257,6 +257,13 @@ bool homing_flag = false;
bool temp_cal_active = false; bool temp_cal_active = false;
// FILAMENT_RUNOUT_SENSOR
bool fil_runout_active = false;
bool FIL_RUNOUT_INVERTING = false;
bool fil_funout_inv = false;
bool ENDSTOPPULLUP_FIL_RUNOUT = false;
// end FILAMENT_RUNOUT_SENSOR
unsigned long kicktime = millis()+100000; unsigned long kicktime = millis()+100000;
unsigned int usb_printing_counter; unsigned int usb_printing_counter;
@ -1270,6 +1277,15 @@ void setup()
for (int i = 0; i < 4; i++) EEPROM_read_B(EEPROM_BOWDEN_LENGTH + i * 2, &bowden_length[i]); for (int i = 0; i < 4; i++) EEPROM_read_B(EEPROM_BOWDEN_LENGTH + i * 2, &bowden_length[i]);
#endif //DEBUG_DISABLE_STARTMSGS #endif //DEBUG_DISABLE_STARTMSGS
// FILAMENT_RUNOUT_SENSOR
#ifdef FILAMENT_RUNOUT_SENSOR
fil_runout_active = eeprom_read_byte((uint8_t*)EEPROM_FIL_RUNOUT_ACTIVE);
FIL_RUNOUT_INVERTING = eeprom_read_byte((uint8_t*)EEPROM_FIL_RUNOUT_INVERTING);
ENDSTOPPULLUP_FIL_RUNOUT = eeprom_read_byte((uint8_t*)EEPROM_ENDSTOPPULLUP_FIL_RUNOUT);
#endif
// end FILAMENT_RUNOUT_SENSOR
lcd_update_enable(true); lcd_update_enable(true);
// Store the currently running firmware into an eeprom, // Store the currently running firmware into an eeprom,
@ -2302,8 +2318,13 @@ bool gcode_M45(bool onlyZ) {
void process_commands() void process_commands()
{ {
#ifdef FILAMENT_RUNOUT_SUPPORT #ifdef FILAMENT_RUNOUT_SENSOR
SET_INPUT(FR_SENS); SET_INPUT(FIL_RUNOUT_PIN);
if (ENDSTOPPULLUP_FIL_RUNOUT) {
pinMode(FIL_RUNOUT_PIN, INPUT_PULLUP);
} else {
pinMode(FIL_RUNOUT_PIN, INPUT);
}
#endif #endif
#ifdef CMDBUFFER_DEBUG #ifdef CMDBUFFER_DEBUG
@ -2433,7 +2454,7 @@ void process_commands()
return; return;
} else if (code_seen("SERIAL HIGH")) { } else if (code_seen("SERIAL HIGH")) {
MYSERIAL.println("SERIAL HIGH"); MYSERIAL.println("SERIAL HIGH");
MYSERIAL.begin(1152000); MYSERIAL.begin(250000);
return; return;
} else if(code_seen("Beat")) { } else if(code_seen("Beat")) {
// Kick farm link timer // Kick farm link timer
@ -2458,10 +2479,8 @@ void process_commands()
case 1: // G1 case 1: // G1
if(Stopped == false) { if(Stopped == false) {
#ifdef FILAMENT_RUNOUT_SUPPORT #ifdef FILAMENT_RUNOUT_SENSOR
if((READ(FIL_RUNOUT_PIN) ^ FIL_RUNOUT_INVERTING == 0) && fil_runout_active) {
if(READ(FR_SENS)){
feedmultiplyBckp=feedmultiply; feedmultiplyBckp=feedmultiply;
float target[4]; float target[4];
float lastpos[4]; float lastpos[4];
@ -4822,7 +4841,28 @@ Sigma_Exit:
} }
SERIAL_PROTOCOLLN(""); SERIAL_PROTOCOLLN("");
#endif #endif
break; // FILAMENT_RUNOUT_SENSOR
// #if fil_runout_active && defined(FIL_RUNOUT_PIN) && FIL_RUNOUT_PIN > -1
#if defined(FIL_RUNOUT_PIN) && FIL_RUNOUT_PIN > -1
if (fil_runout_active == true) {
SERIAL_PROTOCOLRPGM(MSG_FIL_RUNOUT_SETTINGS);
if(READ(FIL_RUNOUT_PIN)^FIL_RUNOUT_INVERTING){
SERIAL_PROTOCOLRPGM(MSG_ENDSTOP_HIT);
}else{
SERIAL_PROTOCOLRPGM(MSG_ENDSTOP_OPEN);
}
SERIAL_PROTOCOLLN("");
}
//Debug
// SERIAL_PROTOCOL(fil_runout_active);
// SERIAL_PROTOCOL(FIL_RUNOUT_INVERTING);
// SERIAL_PROTOCOL(ENDSTOPPULLUP_FIL_RUNOUT);
// SERIAL_PROTOCOLLN("");
//end Debug info
#endif
// end FILAMENT_RUNOUT_SENSOR
break;
//TODO: update for all axis, use for loop //TODO: update for all axis, use for loop
#ifdef BLINKM #ifdef BLINKM
case 150: // M150 case 150: // M150
@ -5270,7 +5310,7 @@ Sigma_Exit:
{ {
float temp = 150.0; float temp = 150.0;
int e=0; int e=0;
int c=5; int c=8;
if (code_seen('E')) e=code_value(); if (code_seen('E')) e=code_value();
if (e<0) if (e<0)
temp=70; temp=70;

View File

@ -549,7 +549,7 @@ const char * const MSG_CALIBRATE_E_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_CALIBRATE_E_DE MSG_CALIBRATE_E_DE
}; };
const char MSG_CALIBRATE_PINDA_EN[] PROGMEM = "Calibrate"; const char MSG_CALIBRATE_PINDA_EN[] PROGMEM = "PINDA Temp. cal.";
const char MSG_CALIBRATE_PINDA_CZ[] PROGMEM = "Zkalibrovat"; const char MSG_CALIBRATE_PINDA_CZ[] PROGMEM = "Zkalibrovat";
const char MSG_CALIBRATE_PINDA_IT[] PROGMEM = "Calibrare"; const char MSG_CALIBRATE_PINDA_IT[] PROGMEM = "Calibrare";
const char MSG_CALIBRATE_PINDA_ES[] PROGMEM = "Calibrar"; const char MSG_CALIBRATE_PINDA_ES[] PROGMEM = "Calibrar";
@ -564,7 +564,7 @@ const char * const MSG_CALIBRATE_PINDA_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_CALIBRATE_PINDA_DE MSG_CALIBRATE_PINDA_DE
}; };
const char MSG_CALIBRATION_PINDA_MENU_EN[] PROGMEM = "Temp. calibration"; const char MSG_CALIBRATION_PINDA_MENU_EN[] PROGMEM = "PINDA Temp. cal.";
const char MSG_CALIBRATION_PINDA_MENU_CZ[] PROGMEM = "Teplot. kalibrace"; const char MSG_CALIBRATION_PINDA_MENU_CZ[] PROGMEM = "Teplot. kalibrace";
const char MSG_CALIBRATION_PINDA_MENU_IT[] PROGMEM = "Taratura temp."; const char MSG_CALIBRATION_PINDA_MENU_IT[] PROGMEM = "Taratura temp.";
const char MSG_CALIBRATION_PINDA_MENU_ES[] PROGMEM = "Calibracion temp."; const char MSG_CALIBRATION_PINDA_MENU_ES[] PROGMEM = "Calibracion temp.";
@ -848,6 +848,16 @@ const char * const MSG_DWELL_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_DWELL_DE MSG_DWELL_DE
}; };
const char MSG_ENDSTOPPULLUP_FIL_RUNOUT_OFF_EN[] PROGMEM = "FR Pullup [OFF]";
const char * const MSG_ENDSTOPPULLUP_FIL_RUNOUT_OFF_LANG_TABLE[1] PROGMEM = {
MSG_ENDSTOPPULLUP_FIL_RUNOUT_OFF_EN
};
const char MSG_ENDSTOPPULLUP_FIL_RUNOUT_ON_EN[] PROGMEM = "FR Pullup [ON]";
const char * const MSG_ENDSTOPPULLUP_FIL_RUNOUT_ON_LANG_TABLE[1] PROGMEM = {
MSG_ENDSTOPPULLUP_FIL_RUNOUT_ON_EN
};
const char MSG_ENDSTOPS_HIT_EN[] PROGMEM = "endstops hit: "; const char MSG_ENDSTOPS_HIT_EN[] PROGMEM = "endstops hit: ";
const char * const MSG_ENDSTOPS_HIT_LANG_TABLE[1] PROGMEM = { const char * const MSG_ENDSTOPS_HIT_LANG_TABLE[1] PROGMEM = {
MSG_ENDSTOPS_HIT_EN MSG_ENDSTOPS_HIT_EN
@ -1152,6 +1162,19 @@ const char * const MSG_FILE_INCOMPLETE_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_FILE_INCOMPLETE_EN, MSG_FILE_INCOMPLETE_EN,
MSG_FILE_INCOMPLETE_EN, MSG_FILE_INCOMPLETE_EN,
MSG_FILE_INCOMPLETE_DE MSG_FILE_INCOMPLETE_DE
const char MSG_FILAMENT_RUNOUT_SUPPORT_EN[] PROGMEM = "Fil.Runout S";
const char * const MSG_FILAMENT_RUNOUT_SUPPORT_LANG_TABLE[1] PROGMEM = {
MSG_FILAMENT_RUNOUT_SUPPORT_EN
};
const char MSG_FILAMENT_RUNOUT_SUPPORT_HIT_EN[] PROGMEM = "Filament detected";
const char * const MSG_FILAMENT_RUNOUT_SUPPORT_HIT_LANG_TABLE[1] PROGMEM = {
MSG_FILAMENT_RUNOUT_SUPPORT_HIT_EN
};
const char MSG_FILAMENT_RUNOUT_SUPPORT_OPEN_EN[] PROGMEM = "Filament runout";
const char * const MSG_FILAMENT_RUNOUT_SUPPORT_OPEN_LANG_TABLE[1] PROGMEM = {
MSG_FILAMENT_RUNOUT_SUPPORT_OPEN_EN
}; };
const char MSG_FILE_PRINTED_EN[] PROGMEM = "Done printing file"; const char MSG_FILE_PRINTED_EN[] PROGMEM = "Done printing file";
@ -1179,6 +1202,31 @@ const char * const MSG_FIL_ADJUSTING_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_FIL_ADJUSTING_DE MSG_FIL_ADJUSTING_DE
}; };
const char MSG_FIL_RUNOUT_ACTIVE_OFF_EN[] PROGMEM = "Sens Runout [OFF]";
const char * const MSG_FIL_RUNOUT_ACTIVE_OFF_LANG_TABLE[1] PROGMEM = {
MSG_FIL_RUNOUT_ACTIVE_OFF_EN
};
const char MSG_FIL_RUNOUT_ACTIVE_ON_EN[] PROGMEM = "Sens Runout [ON]";
const char * const MSG_FIL_RUNOUT_ACTIVE_ON_LANG_TABLE[1] PROGMEM = {
MSG_FIL_RUNOUT_ACTIVE_ON_EN
};
const char MSG_FIL_RUNOUT_INVERTING_OFF_EN[] PROGMEM = "FR_Sens[S to VCC]";
const char * const MSG_FIL_RUNOUT_INVERTING_OFF_LANG_TABLE[1] PROGMEM = {
MSG_FIL_RUNOUT_INVERTING_OFF_EN
};
const char MSG_FIL_RUNOUT_INVERTING_ON_EN[] PROGMEM = "FR_Sens[S to GND]";
const char * const MSG_FIL_RUNOUT_INVERTING_ON_LANG_TABLE[1] PROGMEM = {
MSG_FIL_RUNOUT_INVERTING_ON_EN
};
const char MSG_FIL_RUNOUT_SETTINGS_EN[] PROGMEM = "Filament Runout S";
const char * const MSG_FIL_RUNOUT_SETTINGS_LANG_TABLE[1] PROGMEM = {
MSG_FIL_RUNOUT_SETTINGS_EN
};
const char MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION_EN[] PROGMEM = "Iteration "; const char MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION_EN[] PROGMEM = "Iteration ";
const char MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION_CZ[] PROGMEM = "Iterace "; const char MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION_CZ[] PROGMEM = "Iterace ";
const char MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION_IT[] PROGMEM = "Reiterazione "; const char MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION_IT[] PROGMEM = "Reiterazione ";
@ -2080,6 +2128,39 @@ const char * const MSG_PICK_Z_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_PICK_Z_DE MSG_PICK_Z_DE
}; };
const char MSG_PID_BED_EN[] PROGMEM = "PID bed cal. ";
const char MSG_PID_BED_DE[] PROGMEM = "PID Bett Kalibrier. ";
const char * const MSG_PID_BED_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_PID_BED_EN,
MSG_PID_BED_EN,
MSG_PID_BED_EN,
MSG_PID_BED_EN,
MSG_PID_BED_EN,
MSG_PID_BED_DE
};
const char MSG_PID_BED_FINISHED_EN[] PROGMEM = "PID bed cal. done ";
const char MSG_PID_BED_FINISHED_DE[] PROGMEM = "PID Bett Kal. fertig";
const char * const MSG_PID_BED_FINISHED_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_PID_BED_FINISHED_EN,
MSG_PID_BED_FINISHED_EN,
MSG_PID_BED_FINISHED_EN,
MSG_PID_BED_FINISHED_EN,
MSG_PID_BED_FINISHED_EN,
MSG_PID_BED_FINISHED_DE
};
const char MSG_PID_BED_RUNNING_EN[] PROGMEM = "PID bed cal. ";
const char MSG_PID_BED_RUNNING_DE[] PROGMEM = "PID Bett Kal.";
const char * const MSG_PID_BED_RUNNING_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_PID_BED_RUNNING_EN,
MSG_PID_BED_RUNNING_EN,
MSG_PID_BED_RUNNING_EN,
MSG_PID_BED_RUNNING_EN,
MSG_PID_BED_RUNNING_EN,
MSG_PID_BED_RUNNING_DE
};
const char MSG_PID_EXTRUDER_EN[] PROGMEM = "PID calibration"; const char MSG_PID_EXTRUDER_EN[] PROGMEM = "PID calibration";
const char MSG_PID_EXTRUDER_CZ[] PROGMEM = "PID kalibrace"; const char MSG_PID_EXTRUDER_CZ[] PROGMEM = "PID kalibrace";
const char MSG_PID_EXTRUDER_IT[] PROGMEM = "Calibrazione PID"; const char MSG_PID_EXTRUDER_IT[] PROGMEM = "Calibrazione PID";
@ -2095,7 +2176,7 @@ const char * const MSG_PID_EXTRUDER_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_PID_EXTRUDER_DE MSG_PID_EXTRUDER_DE
}; };
const char MSG_PID_FINISHED_EN[] PROGMEM = "PID cal. finished"; const char MSG_PID_FINISHED_EN[] PROGMEM = "PID cal. finished ";
const char MSG_PID_FINISHED_CZ[] PROGMEM = "PID kal. ukoncena"; const char MSG_PID_FINISHED_CZ[] PROGMEM = "PID kal. ukoncena";
const char MSG_PID_FINISHED_IT[] PROGMEM = "Cal. PID completa"; const char MSG_PID_FINISHED_IT[] PROGMEM = "Cal. PID completa";
const char MSG_PID_FINISHED_ES[] PROGMEM = "Cal. PID terminada"; const char MSG_PID_FINISHED_ES[] PROGMEM = "Cal. PID terminada";
@ -2125,7 +2206,7 @@ const char * const MSG_PID_RUNNING_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_PID_RUNNING_DE MSG_PID_RUNNING_DE
}; };
const char MSG_PINDA_NOT_CALIBRATED_EN[] PROGMEM = "Temperature calibration has not been run yet"; const char MSG_PINDA_NOT_CALIBRATED_EN[] PROGMEM = "PINDA temperature calibration has not been run yet";
const char MSG_PINDA_NOT_CALIBRATED_CZ[] PROGMEM = "Tiskarna nebyla teplotne zkalibrovana"; const char MSG_PINDA_NOT_CALIBRATED_CZ[] PROGMEM = "Tiskarna nebyla teplotne zkalibrovana";
const char MSG_PINDA_NOT_CALIBRATED_IT[] PROGMEM = "Taratura della temperatura non ancora eseguita"; const char MSG_PINDA_NOT_CALIBRATED_IT[] PROGMEM = "Taratura della temperatura non ancora eseguita";
const char MSG_PINDA_NOT_CALIBRATED_ES[] PROGMEM = "La temperatura de calibracion no ha sido ajustada"; const char MSG_PINDA_NOT_CALIBRATED_ES[] PROGMEM = "La temperatura de calibracion no ha sido ajustada";
@ -3285,7 +3366,7 @@ const char * const MSG_TEMPERATURE_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_TEMPERATURE_DE MSG_TEMPERATURE_DE
}; };
const char MSG_TEMP_CALIBRATION_EN[] PROGMEM = "Temp. cal. "; const char MSG_TEMP_CALIBRATION_EN[] PROGMEM = "PINDA Temp.cal. ";
const char MSG_TEMP_CALIBRATION_CZ[] PROGMEM = "Tepl. kal. "; const char MSG_TEMP_CALIBRATION_CZ[] PROGMEM = "Tepl. kal. ";
const char MSG_TEMP_CALIBRATION_IT[] PROGMEM = "Cal. temp. "; const char MSG_TEMP_CALIBRATION_IT[] PROGMEM = "Cal. temp. ";
const char MSG_TEMP_CALIBRATION_ES[] PROGMEM = "Cal. temp. "; const char MSG_TEMP_CALIBRATION_ES[] PROGMEM = "Cal. temp. ";
@ -3300,7 +3381,7 @@ const char * const MSG_TEMP_CALIBRATION_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_TEMP_CALIBRATION_DE MSG_TEMP_CALIBRATION_DE
}; };
const char MSG_TEMP_CALIBRATION_DONE_EN[] PROGMEM = "Temperature calibration is finished. Click to continue."; const char MSG_TEMP_CALIBRATION_DONE_EN[] PROGMEM = "PINDA temperature calibration is finished. Click to continue.";
const char MSG_TEMP_CALIBRATION_DONE_CZ[] PROGMEM = "Teplotni kalibrace dokoncena. Pokracujte stiskem tlacitka."; const char MSG_TEMP_CALIBRATION_DONE_CZ[] PROGMEM = "Teplotni kalibrace dokoncena. Pokracujte stiskem tlacitka.";
const char MSG_TEMP_CALIBRATION_DONE_IT[] PROGMEM = "Taratura temperatura terminata. Fare click per continuare."; const char MSG_TEMP_CALIBRATION_DONE_IT[] PROGMEM = "Taratura temperatura terminata. Fare click per continuare.";
const char MSG_TEMP_CALIBRATION_DONE_ES[] PROGMEM = "Calibracon temperatura terminada. Presionar para continuar."; const char MSG_TEMP_CALIBRATION_DONE_ES[] PROGMEM = "Calibracon temperatura terminada. Presionar para continuar.";
@ -3315,7 +3396,7 @@ const char * const MSG_TEMP_CALIBRATION_DONE_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_TEMP_CALIBRATION_DONE_DE MSG_TEMP_CALIBRATION_DONE_DE
}; };
const char MSG_TEMP_CALIBRATION_OFF_EN[] PROGMEM = "Temp. cal. [OFF]"; const char MSG_TEMP_CALIBRATION_OFF_EN[] PROGMEM = "PINDA T.cal.[OFF]";
const char MSG_TEMP_CALIBRATION_OFF_CZ[] PROGMEM = "Tepl. kal. [OFF]"; const char MSG_TEMP_CALIBRATION_OFF_CZ[] PROGMEM = "Tepl. kal. [OFF]";
const char MSG_TEMP_CALIBRATION_OFF_IT[] PROGMEM = "Cal. temp. [OFF]"; const char MSG_TEMP_CALIBRATION_OFF_IT[] PROGMEM = "Cal. temp. [OFF]";
const char MSG_TEMP_CALIBRATION_OFF_ES[] PROGMEM = "Cal. temp. [OFF]"; const char MSG_TEMP_CALIBRATION_OFF_ES[] PROGMEM = "Cal. temp. [OFF]";
@ -3330,7 +3411,7 @@ const char * const MSG_TEMP_CALIBRATION_OFF_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_TEMP_CALIBRATION_OFF_DE MSG_TEMP_CALIBRATION_OFF_DE
}; };
const char MSG_TEMP_CALIBRATION_ON_EN[] PROGMEM = "Temp. cal. [ON]"; const char MSG_TEMP_CALIBRATION_ON_EN[] PROGMEM = "PINDA T.cal. [ON]";
const char MSG_TEMP_CALIBRATION_ON_CZ[] PROGMEM = "Tepl. kal. [ON]"; const char MSG_TEMP_CALIBRATION_ON_CZ[] PROGMEM = "Tepl. kal. [ON]";
const char MSG_TEMP_CALIBRATION_ON_IT[] PROGMEM = "Cal. temp. [ON]"; const char MSG_TEMP_CALIBRATION_ON_IT[] PROGMEM = "Cal. temp. [ON]";
const char MSG_TEMP_CALIBRATION_ON_ES[] PROGMEM = "Cal. temp. [ON]"; const char MSG_TEMP_CALIBRATION_ON_ES[] PROGMEM = "Cal. temp. [ON]";

View File

@ -166,6 +166,10 @@ extern const char* const MSG_DISABLE_STEPPERS_LANG_TABLE[LANG_NUM];
#define MSG_DISABLE_STEPPERS LANG_TABLE_SELECT(MSG_DISABLE_STEPPERS_LANG_TABLE) #define MSG_DISABLE_STEPPERS LANG_TABLE_SELECT(MSG_DISABLE_STEPPERS_LANG_TABLE)
extern const char* const MSG_DWELL_LANG_TABLE[LANG_NUM]; extern const char* const MSG_DWELL_LANG_TABLE[LANG_NUM];
#define MSG_DWELL LANG_TABLE_SELECT(MSG_DWELL_LANG_TABLE) #define MSG_DWELL LANG_TABLE_SELECT(MSG_DWELL_LANG_TABLE)
extern const char* const MSG_ENDSTOPPULLUP_FIL_RUNOUT_OFF_LANG_TABLE[1];
#define MSG_ENDSTOPPULLUP_FIL_RUNOUT_OFF LANG_TABLE_SELECT_EXPLICIT(MSG_ENDSTOPPULLUP_FIL_RUNOUT_OFF_LANG_TABLE, 0)
extern const char* const MSG_ENDSTOPPULLUP_FIL_RUNOUT_ON_LANG_TABLE[1];
#define MSG_ENDSTOPPULLUP_FIL_RUNOUT_ON LANG_TABLE_SELECT_EXPLICIT(MSG_ENDSTOPPULLUP_FIL_RUNOUT_ON_LANG_TABLE, 0)
extern const char* const MSG_ENDSTOPS_HIT_LANG_TABLE[1]; extern const char* const MSG_ENDSTOPS_HIT_LANG_TABLE[1];
#define MSG_ENDSTOPS_HIT LANG_TABLE_SELECT_EXPLICIT(MSG_ENDSTOPS_HIT_LANG_TABLE, 0) #define MSG_ENDSTOPS_HIT LANG_TABLE_SELECT_EXPLICIT(MSG_ENDSTOPS_HIT_LANG_TABLE, 0)
extern const char* const MSG_ENDSTOP_HIT_LANG_TABLE[1]; extern const char* const MSG_ENDSTOP_HIT_LANG_TABLE[1];
@ -232,12 +236,28 @@ extern const char* const MSG_FILE_CNT_LANG_TABLE[LANG_NUM];
#define MSG_FILE_CNT LANG_TABLE_SELECT(MSG_FILE_CNT_LANG_TABLE) #define MSG_FILE_CNT LANG_TABLE_SELECT(MSG_FILE_CNT_LANG_TABLE)
extern const char* const MSG_FILE_INCOMPLETE_LANG_TABLE[LANG_NUM]; extern const char* const MSG_FILE_INCOMPLETE_LANG_TABLE[LANG_NUM];
#define MSG_FILE_INCOMPLETE LANG_TABLE_SELECT(MSG_FILE_INCOMPLETE_LANG_TABLE) #define MSG_FILE_INCOMPLETE LANG_TABLE_SELECT(MSG_FILE_INCOMPLETE_LANG_TABLE)
extern const char* const MSG_FILAMENT_RUNOUT_SUPPORT_LANG_TABLE[1];
#define MSG_FILAMENT_RUNOUT_SUPPORT LANG_TABLE_SELECT_EXPLICIT(MSG_FILAMENT_RUNOUT_SUPPORT_LANG_TABLE, 0)
extern const char* const MSG_FILAMENT_RUNOUT_SUPPORT_HIT_LANG_TABLE[1];
#define MSG_FILAMENT_RUNOUT_SUPPORT_HIT LANG_TABLE_SELECT_EXPLICIT(MSG_FILAMENT_RUNOUT_SUPPORT_HIT_LANG_TABLE, 0)
extern const char* const MSG_FILAMENT_RUNOUT_SUPPORT_OPEN_LANG_TABLE[1];
#define MSG_FILAMENT_RUNOUT_SUPPORT_OPEN LANG_TABLE_SELECT_EXPLICIT(MSG_FILAMENT_RUNOUT_SUPPORT_OPEN_LANG_TABLE, 0)
extern const char* const MSG_FILE_PRINTED_LANG_TABLE[1]; extern const char* const MSG_FILE_PRINTED_LANG_TABLE[1];
#define MSG_FILE_PRINTED LANG_TABLE_SELECT_EXPLICIT(MSG_FILE_PRINTED_LANG_TABLE, 0) #define MSG_FILE_PRINTED LANG_TABLE_SELECT_EXPLICIT(MSG_FILE_PRINTED_LANG_TABLE, 0)
extern const char* const MSG_FILE_SAVED_LANG_TABLE[1]; extern const char* const MSG_FILE_SAVED_LANG_TABLE[1];
#define MSG_FILE_SAVED LANG_TABLE_SELECT_EXPLICIT(MSG_FILE_SAVED_LANG_TABLE, 0) #define MSG_FILE_SAVED LANG_TABLE_SELECT_EXPLICIT(MSG_FILE_SAVED_LANG_TABLE, 0)
extern const char* const MSG_FIL_ADJUSTING_LANG_TABLE[LANG_NUM]; extern const char* const MSG_FIL_ADJUSTING_LANG_TABLE[LANG_NUM];
#define MSG_FIL_ADJUSTING LANG_TABLE_SELECT(MSG_FIL_ADJUSTING_LANG_TABLE) #define MSG_FIL_ADJUSTING LANG_TABLE_SELECT(MSG_FIL_ADJUSTING_LANG_TABLE)
extern const char* const MSG_FIL_RUNOUT_ACTIVE_OFF_LANG_TABLE[1];
#define MSG_FIL_RUNOUT_ACTIVE_OFF LANG_TABLE_SELECT_EXPLICIT(MSG_FIL_RUNOUT_ACTIVE_OFF_LANG_TABLE, 0)
extern const char* const MSG_FIL_RUNOUT_ACTIVE_ON_LANG_TABLE[1];
#define MSG_FIL_RUNOUT_ACTIVE_ON LANG_TABLE_SELECT_EXPLICIT(MSG_FIL_RUNOUT_ACTIVE_ON_LANG_TABLE, 0)
extern const char* const MSG_FIL_RUNOUT_INVERTING_OFF_LANG_TABLE[1];
#define MSG_FIL_RUNOUT_INVERTING_OFF LANG_TABLE_SELECT_EXPLICIT(MSG_FIL_RUNOUT_INVERTING_OFF_LANG_TABLE, 0)
extern const char* const MSG_FIL_RUNOUT_INVERTING_ON_LANG_TABLE[1];
#define MSG_FIL_RUNOUT_INVERTING_ON LANG_TABLE_SELECT_EXPLICIT(MSG_FIL_RUNOUT_INVERTING_ON_LANG_TABLE, 0)
extern const char* const MSG_FIL_RUNOUT_SETTINGS_LANG_TABLE[1];
#define MSG_FIL_RUNOUT_SETTINGS LANG_TABLE_SELECT_EXPLICIT(MSG_FIL_RUNOUT_SETTINGS_LANG_TABLE, 0)
extern const char* const MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION_LANG_TABLE[LANG_NUM]; extern const char* const MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION_LANG_TABLE[LANG_NUM];
#define MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION LANG_TABLE_SELECT(MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION_LANG_TABLE) #define MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION LANG_TABLE_SELECT(MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION_LANG_TABLE)
extern const char* const MSG_FIND_BED_OFFSET_AND_SKEW_LINE1_LANG_TABLE[LANG_NUM]; extern const char* const MSG_FIND_BED_OFFSET_AND_SKEW_LINE1_LANG_TABLE[LANG_NUM];
@ -398,6 +418,12 @@ extern const char* const MSG_PAUSE_PRINT_LANG_TABLE[LANG_NUM];
#define MSG_PAUSE_PRINT LANG_TABLE_SELECT(MSG_PAUSE_PRINT_LANG_TABLE) #define MSG_PAUSE_PRINT LANG_TABLE_SELECT(MSG_PAUSE_PRINT_LANG_TABLE)
extern const char* const MSG_PICK_Z_LANG_TABLE[LANG_NUM]; extern const char* const MSG_PICK_Z_LANG_TABLE[LANG_NUM];
#define MSG_PICK_Z LANG_TABLE_SELECT(MSG_PICK_Z_LANG_TABLE) #define MSG_PICK_Z LANG_TABLE_SELECT(MSG_PICK_Z_LANG_TABLE)
extern const char* const MSG_PID_BED_LANG_TABLE[LANG_NUM];
#define MSG_PID_BED LANG_TABLE_SELECT(MSG_PID_BED_LANG_TABLE)
extern const char* const MSG_PID_BED_FINISHED_LANG_TABLE[LANG_NUM];
#define MSG_PID_BED_FINISHED LANG_TABLE_SELECT(MSG_PID_BED_FINISHED_LANG_TABLE)
extern const char* const MSG_PID_BED_RUNNING_LANG_TABLE[LANG_NUM];
#define MSG_PID_BED_RUNNING LANG_TABLE_SELECT(MSG_PID_BED_RUNNING_LANG_TABLE)
extern const char* const MSG_PID_EXTRUDER_LANG_TABLE[LANG_NUM]; extern const char* const MSG_PID_EXTRUDER_LANG_TABLE[LANG_NUM];
#define MSG_PID_EXTRUDER LANG_TABLE_SELECT(MSG_PID_EXTRUDER_LANG_TABLE) #define MSG_PID_EXTRUDER LANG_TABLE_SELECT(MSG_PID_EXTRUDER_LANG_TABLE)
extern const char* const MSG_PID_FINISHED_LANG_TABLE[LANG_NUM]; extern const char* const MSG_PID_FINISHED_LANG_TABLE[LANG_NUM];

View File

@ -216,10 +216,14 @@
#define MSG_SET_TEMPERATURE "Temp. einsetzen" #define MSG_SET_TEMPERATURE "Temp. einsetzen"
#define MSG_PID_FINISHED "PID Kalib. fertig" #define MSG_PID_FINISHED "PID Kalib. fertig"
#define MSG_PID_RUNNING "PID Kalib." #define MSG_PID_RUNNING "PID Kalib."
#define(length=20, lines=1) MSG_PID_BED "PID Bett Kalibrier. "
#define(length=20, lines=1) MSG_PID_BED_FINISHED "PID Bett Kal. fertig"
#define(length=20, lines=1) MSG_PID_BED_RUNNING "PID Bett Kal."
#define MSG_CONFIRM_NOZZLE_CLEAN "Bitte reinigen Sie die Duese vor Kalibrierung. Klicken wenn sauber." #define MSG_CONFIRM_NOZZLE_CLEAN "Bitte reinigen Sie die Duese vor Kalibrierung. Klicken wenn sauber."
#define MSG_CONFIRM_CARRIAGE_AT_THE_TOP "Sind beide Z Schlitten ganz oben?" #define MSG_CONFIRM_CARRIAGE_AT_THE_TOP "Sind beide Z Schlitten ganz oben?"
#define MSG_CONFIRM_NOZZLE_CLEAN "Bitte reinigen Sie die Duese vor Kalibrierung. Klicken wenn sauber."
#define MSG_CONFIRM_CARRIAGE_AT_THE_TOP "Sind beide Z Schlitten ganz oben?"
#define MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 "Suche Bett Kalibrierpunkt" #define MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 "Suche Bett Kalibrierpunkt"
#define MSG_FIND_BED_OFFSET_AND_SKEW_LINE2 " von 4" #define MSG_FIND_BED_OFFSET_AND_SKEW_LINE2 " von 4"
#define MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 "Genauigkeit verbessern bei Kalibrierpunkt" #define MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 "Genauigkeit verbessern bei Kalibrierpunkt"
@ -365,4 +369,4 @@
#define MSG_WIZARD_INSERT_CORRECT_FILAMENT "Bitte lade PLA Filament und starte den Drucker neu um den Assistenten fortzusetzen." #define MSG_WIZARD_INSERT_CORRECT_FILAMENT "Bitte lade PLA Filament und starte den Drucker neu um den Assistenten fortzusetzen."
#define MSG_PLA_FILAMENT_LOADED "Ist PLA Filament geladen?" #define MSG_PLA_FILAMENT_LOADED "Ist PLA Filament geladen?"
#define MSG_PLEASE_LOAD_PLA "Bitte lade erst PLA filament." #define MSG_PLEASE_LOAD_PLA "Bitte lade erst PLA filament."
#define MSG_FILE_CNT "Einige Dateien werden nicht sortiert, da das max. 100 Dateien pro Ordner ist." #define MSG_FILE_CNT "Einige Dateien werden nicht sortiert, da das max. 100 Dateien pro Ordner ist."

View File

@ -7,10 +7,10 @@
*/ */
#define(length=20) WELCOME_MSG CUSTOM_MENDEL_NAME " ready." #define(length=20) WELCOME_MSG CUSTOM_MENDEL_NAME " ready."
#define MSG_SD_INSERTED "Card inserted" #define(length=20) MSG_SD_INSERTED "Card inserted"
#define MSG_SD_REMOVED "Card removed" #define MSG_SD_REMOVED "Card removed"
#define MSG_MAIN "Main" #define MSG_MAIN "Main"
#define MSG_DISABLE_STEPPERS "Disable steppers" #define(length=20) MSG_DISABLE_STEPPERS "Disable steppers"
#define MSG_AUTO_HOME "Auto home" #define MSG_AUTO_HOME "Auto home"
#define MSG_SET_HOME_OFFSETS "Set home offsets" #define MSG_SET_HOME_OFFSETS "Set home offsets"
#define MSG_SET_ORIGIN "Set origin" #define MSG_SET_ORIGIN "Set origin"
@ -82,7 +82,6 @@
#define(length=17) MSG_UNLOAD_ALL "Unload all" #define(length=17) MSG_UNLOAD_ALL "Unload all"
#define(length=17) MSG_LOAD_ALL "Load all" #define(length=17) MSG_LOAD_ALL "Load all"
#define MSG_RECTRACT "Rectract" #define MSG_RECTRACT "Rectract"
#define MSG_ERROR "ERROR:" #define MSG_ERROR "ERROR:"
#define(length=20) MSG_PREHEAT_NOZZLE "Preheat the nozzle!" #define(length=20) MSG_PREHEAT_NOZZLE "Preheat the nozzle!"
@ -135,6 +134,11 @@
#define MSG_M119_REPORT "Reporting endstop status" #define MSG_M119_REPORT "Reporting endstop status"
#define MSG_ENDSTOP_HIT "TRIGGERED" #define MSG_ENDSTOP_HIT "TRIGGERED"
#define MSG_ENDSTOP_OPEN "open" #define MSG_ENDSTOP_OPEN "open"
// FILAMENT_RUNOUT_SUPPORT
#define MSG_FILAMENT_RUNOUT_SUPPORT "Fil.Runout S"
#define MSG_FILAMENT_RUNOUT_SUPPORT_HIT "Filament detected"
#define MSG_FILAMENT_RUNOUT_SUPPORT_OPEN "Filament runout"
// end FILAMENT_RUNOUT_SUPPORT
#define MSG_SD_CANT_OPEN_SUBDIR "Cannot open subdir" #define MSG_SD_CANT_OPEN_SUBDIR "Cannot open subdir"
#define MSG_SD_INIT_FAIL "SD init fail" #define MSG_SD_INIT_FAIL "SD init fail"
@ -281,8 +285,8 @@
#define MSG_MESH_BED_LEVELING "Mesh Bed Leveling" #define MSG_MESH_BED_LEVELING "Mesh Bed Leveling"
#define MSG_MENU_CALIBRATION "Calibration" #define MSG_MENU_CALIBRATION "Calibration"
#define(length=19, lines=1) MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF "SD card [normal]" #define(length=20, lines=1) MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF "SD card [normal]"
#define(length=19, lines=1) MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON "SD card [FlshAir]" #define(length=20, lines=1) MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON "SD card [FlshAir]"
#define(length=20, lines=1) MSG_PRINTER_DISCONNECTED "Printer disconnected" #define(length=20, lines=1) MSG_PRINTER_DISCONNECTED "Printer disconnected"
#define(length=20, lines=1) MSG_FINISHING_MOVEMENTS "Finishing movements" #define(length=20, lines=1) MSG_FINISHING_MOVEMENTS "Finishing movements"
#define(length=20, lines=1) MSG_PRINT_PAUSED "Print paused" #define(length=20, lines=1) MSG_PRINT_PAUSED "Print paused"
@ -291,15 +295,18 @@
#define(length=19, lines=1) MSG_SET_TEMPERATURE "Set temperature:" #define(length=19, lines=1) MSG_SET_TEMPERATURE "Set temperature:"
#define(length=20, lines=1) MSG_PID_FINISHED "PID cal. finished" #define(length=20, lines=1) MSG_PID_FINISHED "PID cal. finished"
#define(length=20, lines=1) MSG_PID_RUNNING "PID cal. " #define(length=20, lines=1) MSG_PID_RUNNING "PID cal. "
#define(length=20, lines=1) MSG_PID_BED "PID bed cal. "
#define(length=20, lines=1) MSG_PID_BED_FINISHED "PID bed cal. done "
#define(length=20, lines=1) MSG_PID_BED_RUNNING "PID bed cal. "
#define(length=17, lines=1) MSG_CALIBRATE_PINDA "Calibrate" #define(length=20, lines=1) MSG_CALIBRATE_PINDA "PINDA Temp. cal."
#define(length=17, lines=1) MSG_CALIBRATION_PINDA_MENU "Temp. calibration" #define(length=20, lines=1) MSG_CALIBRATION_PINDA_MENU "PINDA Temp. cal."
#define(length=20, lines=4) MSG_PINDA_NOT_CALIBRATED "Temperature calibration has not been run yet" #define(length=20, lines=4) MSG_PINDA_NOT_CALIBRATED "PINDA temperature calibration has not been run yet"
#define(length=20, lines=1) MSG_PINDA_PREHEAT "PINDA Heating" #define(length=20, lines=1) MSG_PINDA_PREHEAT "PINDA Heating"
#define(length=20, lines=1) MSG_TEMP_CALIBRATION "Temp. cal. " #define(length=20, lines=1) MSG_TEMP_CALIBRATION "PINDA Temp.cal. "
#define(length=20, lines=5) MSG_TEMP_CALIBRATION_DONE "Temperature calibration is finished. Click to continue." #define(length=20, lines=5) MSG_TEMP_CALIBRATION_DONE "PINDA temperature calibration is finished. Click to continue."
#define(length=20, lines=1) MSG_TEMP_CALIBRATION_ON "Temp. cal. [ON]" #define(length=20, lines=1) MSG_TEMP_CALIBRATION_ON "PINDA T.cal. [ON]"
#define(length=20, lines=1) MSG_TEMP_CALIBRATION_OFF "Temp. cal. [OFF]" #define(length=20, lines=1) MSG_TEMP_CALIBRATION_OFF "PINDA T.cal.[OFF]"
#define(length=20, lines=1) MSG_PREPARE_FILAMENT "Prepare new filament" #define(length=20, lines=1) MSG_PREPARE_FILAMENT "Prepare new filament"
#define(length=19, lines=1) MSG_ALL "All" #define(length=19, lines=1) MSG_ALL "All"
#define(length=19, lines=1) MSG_USED "Used during print" #define(length=19, lines=1) MSG_USED "Used during print"
@ -350,3 +357,10 @@
#define(length=20, lines=2) MSG_PLA_FILAMENT_LOADED "Is PLA filament loaded?" #define(length=20, lines=2) MSG_PLA_FILAMENT_LOADED "Is PLA filament loaded?"
#define(length=20, lines=2) MSG_PLEASE_LOAD_PLA "Please load PLA filament first." #define(length=20, lines=2) MSG_PLEASE_LOAD_PLA "Please load PLA filament first."
#define(length=20, lines=5) MSG_FILE_CNT "Some files will not be sorted. Max. No. of files in 1 folder for sorting is 100." #define(length=20, lines=5) MSG_FILE_CNT "Some files will not be sorted. Max. No. of files in 1 folder for sorting is 100."
#define(length=20) MSG_FIL_RUNOUT_SETTINGS "Filament Runout S"
#define(length=20) MSG_FIL_RUNOUT_ACTIVE_ON "Sens Runout [ON]"
#define(length=20) MSG_FIL_RUNOUT_ACTIVE_OFF "Sens Runout [OFF]"
#define(length=20) MSG_ENDSTOPPULLUP_FIL_RUNOUT_ON "FR Pullup [ON]"
#define(length=20) MSG_ENDSTOPPULLUP_FIL_RUNOUT_OFF "FR Pullup [OFF]"
#define(length=20) MSG_FIL_RUNOUT_INVERTING_OFF "FR_Sens[S to VCC]"
#define(length=20) MSG_FIL_RUNOUT_INVERTING_ON "FR_Sens[S to GND]"

View File

@ -18,9 +18,9 @@
#error Oops! Make sure you have 'Arduino Mega 2560' selected from the 'Tools -> Boards' menu. #error Oops! Make sure you have 'Arduino Mega 2560' selected from the 'Tools -> Boards' menu.
#endif #endif
// FILAMENT_RUNOUT_SUPPORT
#define FR_SENS 21 #define FIL_RUNOUT_PIN 24
// end FILAMENT_RUNOUT_SUPPORT
#define X_STEP_PIN 37 #define X_STEP_PIN 37
#define X_DIR_PIN 48 #define X_DIR_PIN 48
@ -29,6 +29,8 @@
#define X_MS2_PIN 41 #define X_MS2_PIN 41
#define Y_STEP_PIN 36 #define Y_STEP_PIN 36
#define Y_DIR_PIN 49 #define Y_DIR_PIN 49
#define Y_MIN_PIN 11
#define Y_MAX_PIN -1
#define Y_ENABLE_PIN 28 #define Y_ENABLE_PIN 28
#define Y_MS1_PIN 69 #define Y_MS1_PIN 69
#define Y_MS2_PIN 39 #define Y_MS2_PIN 39
@ -57,7 +59,7 @@
#define X_MIN_PIN 12 #define X_MIN_PIN 12
#define Y_MIN_PIN 11 #define Y_MIN_PIN 11
#define Z_MIN_PIN 10 #define Z_MIN_PIN 10
#else #els
#define X_MIN_PIN -1 #define X_MIN_PIN -1
#define Y_MIN_PIN -1 #define Y_MIN_PIN -1
#define Z_MIN_PIN -1 #define Z_MIN_PIN -1
@ -223,7 +225,9 @@
#error Oops! Make sure you have 'Arduino Mega 2560' selected from the 'Tools -> Boards' menu. #error Oops! Make sure you have 'Arduino Mega 2560' selected from the 'Tools -> Boards' menu.
#endif #endif
#define FR_SENS 21 // FILAMENT_RUNOUT_SUPPORT
#define FIL_RUNOUT_PIN 24
// end FILAMENT_RUNOUT_SUPPORT
#ifdef SNMM #ifdef SNMM
@ -240,6 +244,8 @@
#define X_MS2_PIN 41 #define X_MS2_PIN 41
#define Y_STEP_PIN 36 #define Y_STEP_PIN 36
#define Y_DIR_PIN 49 #define Y_DIR_PIN 49
#define Y_MIN_PIN 11
#define Y_MAX_PIN -1
#define Y_ENABLE_PIN 28 #define Y_ENABLE_PIN 28
#define Y_MS1_PIN 69 #define Y_MS1_PIN 69
#define Y_MS2_PIN 39 #define Y_MS2_PIN 39

View File

@ -105,6 +105,14 @@ int8_t SDscrool = 0;
int8_t SilentModeMenu = 0; int8_t SilentModeMenu = 0;
// FILAMENT_RUNOUT_SENSOR
#ifdef FILAMENT_RUNOUT_SENSOR
static void lcd_fil_runout_settings_menu();
static void lcd_fil_runout_active_set();
static void lcd_fil_runout_inverting_set();
static void lcd_endstoppullup_fil_runout_set();
#endif
// end FILAMENT_RUNOUT_SENSOR
#ifdef SNMM #ifdef SNMM
uint8_t snmm_extruder = 0; uint8_t snmm_extruder = 0;
#endif #endif
@ -125,6 +133,7 @@ bool printer_connected = true;
unsigned long display_time; //just timer for showing pid finished message on lcd; unsigned long display_time; //just timer for showing pid finished message on lcd;
float pid_temp = DEFAULT_PID_TEMP; float pid_temp = DEFAULT_PID_TEMP;
float pid_bed_temp = DEFAULT_PID_BED_TEMP;
bool long_press_active = false; bool long_press_active = false;
long long_press_timer = millis(); long long_press_timer = millis();
@ -1273,6 +1282,9 @@ void lcd_commands()
#else #else
lcd_commands_step = 5; lcd_commands_step = 5;
#endif #endif
#ifdef DEFAULT_PID_BED_TEMP
lcd_commands_step = lcd_commands_step+1;
#endif
} }
} }
@ -1317,7 +1329,49 @@ void lcd_commands()
lcd_commands_type = 0; lcd_commands_type = 0;
} }
} }
#ifdef DEFAULT_PID_BED_TEMP
if (lcd_commands_type == LCD_COMMAND_PID_BED) {
char cmd1[30];
if (lcd_commands_step == 0) {
custom_message_type = 3;
custom_message_state = 1;
custom_message = true;
lcdDrawUpdate = 3;
lcd_commands_step = 3;
}
if (lcd_commands_step == 3 && !blocks_queued()) { //PID calibration
strcpy(cmd1, "M303 E-1 S");
strcat(cmd1, ftostr3(pid_bed_temp));
enquecommand(cmd1);
lcd_setstatuspgm(MSG_PID_BED_RUNNING);
lcd_commands_step = 2;
}
if (lcd_commands_step == 2 && pid_tuning_finished) { //saving to eeprom
pid_tuning_finished = false;
custom_message_state = 0;
lcd_setstatuspgm(MSG_PID_BED_FINISHED);
strcpy(cmd1, "M304 P");
strcat(cmd1, ftostr32(_Kp));
strcat(cmd1, " I");
strcat(cmd1, ftostr32(_Ki));
strcat(cmd1, " D");
strcat(cmd1, ftostr32(_Kd));
enquecommand(cmd1);
enquecommand_P(PSTR("M500"));
display_time = millis();
lcd_commands_step = 1;
}
if ((lcd_commands_step == 1) && ((millis()- display_time)>2000)) { //calibration finished message
lcd_setstatuspgm(WELCOME_MSG);
custom_message_type = 0;
custom_message = false;
pid_temp = DEFAULT_PID_BED_TEMP;
lcd_commands_step = 0;
lcd_commands_type = 0;
}
}
#endif
} }
@ -1430,8 +1484,8 @@ static void lcd_preheat_menu()
MENU_ITEM(back, MSG_MAIN, lcd_main_menu); MENU_ITEM(back, MSG_MAIN, lcd_main_menu);
MENU_ITEM(function, PSTR("ABS - " STRINGIFY(ABS_PREHEAT_HOTEND_TEMP) "/" STRINGIFY(ABS_PREHEAT_HPB_TEMP)), lcd_preheat_abs);
MENU_ITEM(function, PSTR("PLA - " STRINGIFY(PLA_PREHEAT_HOTEND_TEMP) "/" STRINGIFY(PLA_PREHEAT_HPB_TEMP)), lcd_preheat_pla); MENU_ITEM(function, PSTR("PLA - " STRINGIFY(PLA_PREHEAT_HOTEND_TEMP) "/" STRINGIFY(PLA_PREHEAT_HPB_TEMP)), lcd_preheat_pla);
MENU_ITEM(function, PSTR("ABS - " STRINGIFY(ABS_PREHEAT_HOTEND_TEMP) "/" STRINGIFY(ABS_PREHEAT_HPB_TEMP)), lcd_preheat_abs);
MENU_ITEM(function, PSTR("PET - " STRINGIFY(PET_PREHEAT_HOTEND_TEMP) "/" STRINGIFY(PET_PREHEAT_HPB_TEMP)), lcd_preheat_pet); MENU_ITEM(function, PSTR("PET - " STRINGIFY(PET_PREHEAT_HOTEND_TEMP) "/" STRINGIFY(PET_PREHEAT_HPB_TEMP)), lcd_preheat_pet);
MENU_ITEM(function, PSTR("HIPS - " STRINGIFY(HIPS_PREHEAT_HOTEND_TEMP) "/" STRINGIFY(HIPS_PREHEAT_HPB_TEMP)), lcd_preheat_hips); MENU_ITEM(function, PSTR("HIPS - " STRINGIFY(HIPS_PREHEAT_HOTEND_TEMP) "/" STRINGIFY(HIPS_PREHEAT_HPB_TEMP)), lcd_preheat_hips);
MENU_ITEM(function, PSTR("PP - " STRINGIFY(PP_PREHEAT_HOTEND_TEMP) "/" STRINGIFY(PP_PREHEAT_HPB_TEMP)), lcd_preheat_pp); MENU_ITEM(function, PSTR("PP - " STRINGIFY(PP_PREHEAT_HOTEND_TEMP) "/" STRINGIFY(PP_PREHEAT_HPB_TEMP)), lcd_preheat_pp);
@ -2186,6 +2240,26 @@ void pid_extruder() {
} }
} }
#ifdef DEFAULT_PID_BED_TEMP
void pid_bed() {
lcd_implementation_clear();
lcd.setCursor(1, 0);
lcd_printPGM(MSG_SET_TEMPERATURE);
pid_bed_temp += int(encoderPosition);
if (pid_bed_temp > BED_MAXTEMP) pid_bed_temp = BED_MAXTEMP;
if (pid_bed_temp < BED_MINTEMP) pid_bed_temp = BED_MINTEMP;
encoderPosition = 0;
lcd.setCursor(1, 2);
lcd.print(ftostr3(pid_bed_temp));
if (lcd_clicked()) {
lcd_commands_type = LCD_COMMAND_PID_BED;
lcd_return_to_status();
lcd_update(2);
}
}
#endif
void lcd_adjust_z() { void lcd_adjust_z() {
int enc_dif = 0; int enc_dif = 0;
@ -2686,13 +2760,19 @@ void lcd_bed_calibration_show_result(BedSkewOffsetDetectionResultType result, ui
static void lcd_show_end_stops() { static void lcd_show_end_stops() {
lcd.setCursor(0, 0); lcd.setCursor(0, 0);
lcd_printPGM((PSTR("End stops diag"))); lcd_printPGM((PSTR("End stops/sens diag")));
lcd.setCursor(0, 1); lcd.setCursor(0, 1);
lcd_printPGM(((READ(X_MIN_PIN) ^ X_MIN_ENDSTOP_INVERTING) == 1) ? (PSTR("X1")) : (PSTR("X0"))); lcd_printPGM(((READ(X_MIN_PIN) ^ X_MIN_ENDSTOP_INVERTING) == 1) ? (PSTR("X1")) : (PSTR("X0")));
lcd.setCursor(0, 2); lcd.setCursor(0, 2);
lcd_printPGM(((READ(Y_MIN_PIN) ^ Y_MIN_ENDSTOP_INVERTING) == 1) ? (PSTR("Y1")) : (PSTR("Y0"))); lcd_printPGM(((READ(Y_MIN_PIN) ^ Y_MIN_ENDSTOP_INVERTING) == 1) ? (PSTR("Y1")) : (PSTR("Y0")));
lcd.setCursor(0, 3); lcd.setCursor(0, 3);
lcd_printPGM(((READ(Z_MIN_PIN) ^ Z_MIN_ENDSTOP_INVERTING) == 1) ? (PSTR("Z1")) : (PSTR("Z0"))); lcd_printPGM(((READ(Z_MIN_PIN) ^ Z_MIN_ENDSTOP_INVERTING) == 1) ? (PSTR("Z1")) : (PSTR("Z0")));
// FILAMENT_RUNOUT_SENSOR
if (fil_runout_active) {
lcd.setCursor(4, 1);
lcd_printPGM(((READ(FIL_RUNOUT_PIN) ^ FIL_RUNOUT_INVERTING) == 1) ? (PSTR("FR_S1")) : (PSTR("FR_S0")));
}
// end FILAMENT_RUNOUT_SENSOR
} }
static void menu_show_end_stops() { static void menu_show_end_stops() {
@ -3484,6 +3564,58 @@ void lcd_wizard(int state) {
lcd_return_to_status(); lcd_return_to_status();
lcd_update(2); lcd_update(2);
} }
// FR_FILAMENT_RUNOUT_SENSOR
void lcd_fil_runout_settings_menu()
{
START_MENU();
MENU_ITEM(back, MSG_SETTINGS, lcd_settings_menu);
// debug info
//lcd.setCursor(1, 5);
//lcd_printPGM((fil_runout_active == 1) ? (PSTR("S_ON ")) : (PSTR("S_OFF")));
//lcd.setCursor(7, 5);
//lcd_printPGM((FIL_RUNOUT_INVERTING == 0) ? (PSTR("I_ON ")) : (PSTR("I_OFF")));
//lcd.setCursor(13, 5);
//lcd_printPGM((ENDSTOPPULLUP_FIL_RUNOUT == 0) ? (PSTR("P_ON ")) : (PSTR("P_OFF")));
// end debug info
if (fil_runout_active == false) {
MENU_ITEM(submenu, MSG_FIL_RUNOUT_ACTIVE_OFF, lcd_fil_runout_active_set);
} else {
MENU_ITEM(submenu, MSG_FIL_RUNOUT_ACTIVE_ON, lcd_fil_runout_active_set);
if (FIL_RUNOUT_INVERTING == false) {
MENU_ITEM(function, MSG_FIL_RUNOUT_INVERTING_OFF, lcd_fil_runout_inverting_set);
} else {
MENU_ITEM(function, MSG_FIL_RUNOUT_INVERTING_ON, lcd_fil_runout_inverting_set);
}
if (ENDSTOPPULLUP_FIL_RUNOUT == false ) {
MENU_ITEM(function, MSG_ENDSTOPPULLUP_FIL_RUNOUT_OFF, lcd_endstoppullup_fil_runout_set);
} else {
MENU_ITEM(function, MSG_ENDSTOPPULLUP_FIL_RUNOUT_ON, lcd_endstoppullup_fil_runout_set);
}
}
END_MENU();
}
void lcd_fil_runout_active_set() {
fil_runout_active = !fil_runout_active;
eeprom_update_byte((unsigned char *)EEPROM_FIL_RUNOUT_ACTIVE, fil_runout_active);
digipot_init();
lcd_goto_menu(lcd_fil_runout_settings_menu, 1);
}
void lcd_fil_runout_inverting_set() {
FIL_RUNOUT_INVERTING = !FIL_RUNOUT_INVERTING;
eeprom_update_byte((unsigned char *)EEPROM_FIL_RUNOUT_INVERTING, FIL_RUNOUT_INVERTING);
digipot_init();
lcd_goto_menu(lcd_fil_runout_settings_menu, 2);
}
void lcd_endstoppullup_fil_runout_set() {
ENDSTOPPULLUP_FIL_RUNOUT = !ENDSTOPPULLUP_FIL_RUNOUT;
eeprom_update_byte((unsigned char *)EEPROM_ENDSTOPPULLUP_FIL_RUNOUT, ENDSTOPPULLUP_FIL_RUNOUT);
digipot_init();
lcd_goto_menu(lcd_fil_runout_settings_menu, 3);
}
// end FILAMENT_RUNOUT_SENSOR
static void lcd_settings_menu() static void lcd_settings_menu()
{ {
@ -3539,8 +3671,12 @@ static void lcd_settings_menu()
MENU_ITEM(submenu, PSTR("Farm number"), lcd_farm_no); MENU_ITEM(submenu, PSTR("Farm number"), lcd_farm_no);
MENU_ITEM(function, PSTR("Disable farm mode"), lcd_disable_farm_mode); MENU_ITEM(function, PSTR("Disable farm mode"), lcd_disable_farm_mode);
} }
// FILAMENT_RUNOUT_SENSOR
END_MENU(); #ifdef FIL_RUNOUT_PIN
MENU_ITEM(submenu, MSG_FIL_RUNOUT_SETTINGS, lcd_fil_runout_settings_menu);
#endif
// end FILAMENT_RUNOUT_SENSOR
END_MENU();
} }
static void lcd_calibration_menu() static void lcd_calibration_menu()
@ -3575,6 +3711,9 @@ static void lcd_calibration_menu()
MENU_ITEM(submenu, MSG_CALIBRATION_PINDA_MENU, lcd_pinda_calibration_menu); MENU_ITEM(submenu, MSG_CALIBRATION_PINDA_MENU, lcd_pinda_calibration_menu);
#endif //MK1BP #endif //MK1BP
MENU_ITEM(submenu, MSG_PID_EXTRUDER, pid_extruder); MENU_ITEM(submenu, MSG_PID_EXTRUDER, pid_extruder);
#ifdef DEFAULT_PID_BED_TEMP
MENU_ITEM(submenu, MSG_PID_BED, pid_bed);
#endif
MENU_ITEM(submenu, MSG_SHOW_END_STOPS, menu_show_end_stops); MENU_ITEM(submenu, MSG_SHOW_END_STOPS, menu_show_end_stops);
#ifndef MK1BP #ifndef MK1BP
MENU_ITEM(gcode, MSG_CALIBRATE_BED_RESET, PSTR("M44")); MENU_ITEM(gcode, MSG_CALIBRATE_BED_RESET, PSTR("M44"));

View File

@ -86,6 +86,9 @@
#define LCD_COMMAND_LONG_PAUSE_RESUME 6 #define LCD_COMMAND_LONG_PAUSE_RESUME 6
#define LCD_COMMAND_PID_EXTRUDER 7 #define LCD_COMMAND_PID_EXTRUDER 7
#define LCD_COMMAND_V2_CAL 8 #define LCD_COMMAND_V2_CAL 8
#ifdef DEFAULT_PID_BED_TEMP
#define LCD_COMMAND_PID_BED 9
#endif
extern unsigned long lcd_timeoutToStatus; extern unsigned long lcd_timeoutToStatus;
extern int lcd_commands_type; extern int lcd_commands_type;

View File

@ -984,7 +984,7 @@ static void lcd_implementation_status_screen()
if (custom_message_type == 3) { if (custom_message_type == 3) {
lcd.print(lcd_status_message); lcd.print(lcd_status_message);
if (pid_cycle <= pid_number_of_cycles && custom_message_state > 0) { if (pid_cycle <= pid_number_of_cycles && custom_message_state > 0) {
lcd.setCursor(10, 3); lcd.setCursor(15, 3);
lcd.print(itostr3(pid_cycle)); lcd.print(itostr3(pid_cycle));
lcd.print('/'); lcd.print('/');
@ -996,7 +996,7 @@ static void lcd_implementation_status_screen()
char progress[4]; char progress[4];
lcd.setCursor(0, 3); lcd.setCursor(0, 3);
lcd_printPGM(MSG_TEMP_CALIBRATION); lcd_printPGM(MSG_TEMP_CALIBRATION);
lcd.setCursor(12, 3); lcd.setCursor(15, 3);
sprintf(progress, "%d/6", custom_message_state); sprintf(progress, "%d/6", custom_message_state);
lcd.print(progress); lcd.print(progress);
} }

View File

@ -147,9 +147,9 @@ CHANGE FILAMENT SETTINGS
// Filament change configuration // Filament change configuration
#define FILAMENTCHANGEENABLE #define FILAMENTCHANGEENABLE
#ifdef FILAMENTCHANGEENABLE #ifdef FILAMENTCHANGEENABLE
#define FILAMENTCHANGE_XPOS 211 #define FILAMENTCHANGE_XPOS 0
#define FILAMENTCHANGE_YPOS 0 #define FILAMENTCHANGE_YPOS -2.2
#define FILAMENTCHANGE_ZADD 2 #define FILAMENTCHANGE_ZADD 20
#define FILAMENTCHANGE_FIRSTRETRACT -2 #define FILAMENTCHANGE_FIRSTRETRACT -2
#define FILAMENTCHANGE_FINALRETRACT -80 #define FILAMENTCHANGE_FINALRETRACT -80
@ -170,9 +170,11 @@ ADDITIONAL FEATURES SETTINGS
*------------------------------------*/ *------------------------------------*/
// Define Prusa filament runout sensor // Define Prusa filament runout sensor
//#define FILAMENT_RUNOUT_SUPPORT #define FILAMENT_RUNOUT_SENSOR
// end Define Prusa filament runout sensor
#ifdef FILAMENT_RUNOUT_SUPPORT
#ifdef FILAMENT_RUNOUT_SENSOR
#define FILAMENT_RUNOUT_SENSOR 1 #define FILAMENT_RUNOUT_SENSOR 1
#endif #endif
@ -397,6 +399,7 @@ THERMISTORS SETTINGS
#define BUTTON_BLANKING_TIME 200 //time in ms for blanking after button release #define BUTTON_BLANKING_TIME 200 //time in ms for blanking after button release
#define DEFAULT_PID_TEMP 210 #define DEFAULT_PID_TEMP 210
#define DEFAULT_PID_BED_TEMP 55
#ifdef SNMM #ifdef SNMM
#define DEFAULT_RETRACTION 4 //used for PINDA temp calibration and pause print #define DEFAULT_RETRACTION 4 //used for PINDA temp calibration and pause print