|
@@ -82,7 +82,7 @@ union MenuData
|
|
|
|
|
|
// State of the currently active menu.
|
|
|
// C Union manages sharing of the static memory by all the menus.
|
|
|
-union MenuData menuData = { 0 };
|
|
|
+union MenuData menuData;
|
|
|
|
|
|
union Data
|
|
|
{
|
|
@@ -111,7 +111,7 @@ uint8_t farm_mode = 0;
|
|
|
int farm_no = 0;
|
|
|
int farm_timer = 8;
|
|
|
int farm_status = 0;
|
|
|
-unsigned long allert_timer = millis();
|
|
|
+unsigned long alert_timer = millis();
|
|
|
bool printer_connected = true;
|
|
|
|
|
|
unsigned long display_time; //just timer for showing pid finished message on lcd;
|
|
@@ -119,7 +119,7 @@ float pid_temp = DEFAULT_PID_TEMP;
|
|
|
|
|
|
bool long_press_active = false;
|
|
|
long long_press_timer = millis();
|
|
|
-long button_blanking_time = millis();
|
|
|
+unsigned long button_blanking_time = millis();
|
|
|
bool button_pressed = false;
|
|
|
|
|
|
bool menuExiting = false;
|
|
@@ -139,6 +139,7 @@ char lcd_status_message[LCD_WIDTH + 1] = ""; //////WELCOME!
|
|
|
unsigned char firstrun = 1;
|
|
|
|
|
|
#ifdef DOGLCD
|
|
|
+static unsigned char blink = 0; // Variable for visualization of fan rotation in GLCD
|
|
|
#include "dogm_lcd_implementation.h"
|
|
|
#else
|
|
|
#include "ultralcd_implementation_hitachi_HD44780.h"
|
|
@@ -155,16 +156,39 @@ static void lcd_status_screen();
|
|
|
extern bool powersupply;
|
|
|
static void lcd_main_menu();
|
|
|
static void lcd_tune_menu();
|
|
|
-static void lcd_prepare_menu();
|
|
|
-static void lcd_move_menu();
|
|
|
static void lcd_settings_menu();
|
|
|
static void lcd_calibration_menu();
|
|
|
static void lcd_language_menu();
|
|
|
+
|
|
|
static void lcd_control_temperature_menu();
|
|
|
-static void lcd_control_temperature_preheat_pla_settings_menu();
|
|
|
-static void lcd_control_temperature_preheat_abs_settings_menu();
|
|
|
-static void lcd_control_motion_menu();
|
|
|
-static void lcd_control_volumetric_menu();
|
|
|
+
|
|
|
+static void lcd_babystep_z();
|
|
|
+
|
|
|
+static bool lcd_selftest();
|
|
|
+static void lcd_selftest_v();
|
|
|
+static bool lcd_selfcheck_pulleys(int axis);
|
|
|
+static bool lcd_selfcheck_endstops();
|
|
|
+static bool lcd_selfcheck_axis(int _axis, int _travel);
|
|
|
+static bool lcd_selfcheck_check_heater(bool _isbed);
|
|
|
+static int lcd_selftest_screen(int _step, int _progress, int _progress_scale, bool _clear, int _delay);
|
|
|
+static void lcd_selftest_screen_step(int _row, int _col, int _state, const char *_name, const char *_indicator);
|
|
|
+static bool lcd_selftest_fan_dialog(int _fan);
|
|
|
+static void lcd_selftest_error(int _error_no, const char *_error_1, const char *_error_2);
|
|
|
+
|
|
|
+static void lcd_colorprint_change();
|
|
|
+#ifdef SNMM
|
|
|
+static void extr_adj_0();
|
|
|
+static void extr_adj_1();
|
|
|
+static void extr_adj_2();
|
|
|
+static void extr_adj_3();
|
|
|
+static void fil_load_menu();
|
|
|
+static void fil_unload_menu();
|
|
|
+static void extr_unload_0();
|
|
|
+static void extr_unload_1();
|
|
|
+static void extr_unload_2();
|
|
|
+static void extr_unload_3();
|
|
|
+#endif
|
|
|
+static void lcd_disable_farm_mode();
|
|
|
|
|
|
static void prusa_stat_printerstatus(int _status);
|
|
|
static void prusa_stat_farm_number();
|
|
@@ -172,10 +196,16 @@ static void prusa_stat_temperatures();
|
|
|
static void prusa_stat_printinfo();
|
|
|
static void lcd_farm_no();
|
|
|
|
|
|
+static void lcd_send_status();
|
|
|
+static void lcd_connect_printer();
|
|
|
+
|
|
|
+static char snmm_stop_print_menu();
|
|
|
+
|
|
|
+static float count_e(float layer_heigth, float extrusion_width, float extrusion_length);
|
|
|
+
|
|
|
#ifdef DOGLCD
|
|
|
static void lcd_set_contrast();
|
|
|
#endif
|
|
|
-static void lcd_control_retract_menu();
|
|
|
static void lcd_sdcard_menu();
|
|
|
|
|
|
#ifdef DELTA_CALIBRATION_MENU
|
|
@@ -193,8 +223,9 @@ static void menu_action_function(menuFunc_t data);
|
|
|
static void menu_action_setlang(unsigned char lang);
|
|
|
static void menu_action_sdfile(const char* filename, char* longFilename);
|
|
|
static void menu_action_sddirectory(const char* filename, char* longFilename);
|
|
|
-static void menu_action_setting_edit_bool(const char* pstr, bool* ptr);
|
|
|
static void menu_action_setting_edit_int3(const char* pstr, int* ptr, int minValue, int maxValue);
|
|
|
+#if 0
|
|
|
+static void menu_action_setting_edit_bool(const char* pstr, bool* ptr);
|
|
|
static void menu_action_setting_edit_float3(const char* pstr, float* ptr, float minValue, float maxValue);
|
|
|
static void menu_action_setting_edit_float32(const char* pstr, float* ptr, float minValue, float maxValue);
|
|
|
static void menu_action_setting_edit_float43(const char* pstr, float* ptr, float minValue, float maxValue);
|
|
@@ -202,8 +233,9 @@ static void menu_action_setting_edit_float5(const char* pstr, float* ptr, float
|
|
|
static void menu_action_setting_edit_float51(const char* pstr, float* ptr, float minValue, float maxValue);
|
|
|
static void menu_action_setting_edit_float52(const char* pstr, float* ptr, float minValue, float maxValue);
|
|
|
static void menu_action_setting_edit_long5(const char* pstr, unsigned long* ptr, unsigned long minValue, unsigned long maxValue);
|
|
|
+#endif
|
|
|
|
|
|
-/*
|
|
|
+#if 0
|
|
|
static void menu_action_setting_edit_callback_bool(const char* pstr, bool* ptr, menuFunc_t callbackFunc);
|
|
|
static void menu_action_setting_edit_callback_int3(const char* pstr, int* ptr, int minValue, int maxValue, menuFunc_t callbackFunc);
|
|
|
static void menu_action_setting_edit_callback_float3(const char* pstr, float* ptr, float minValue, float maxValue, menuFunc_t callbackFunc);
|
|
@@ -213,7 +245,7 @@ static void menu_action_setting_edit_callback_float5(const char* pstr, float* pt
|
|
|
static void menu_action_setting_edit_callback_float51(const char* pstr, float* ptr, float minValue, float maxValue, menuFunc_t callbackFunc);
|
|
|
static void menu_action_setting_edit_callback_float52(const char* pstr, float* ptr, float minValue, float maxValue, menuFunc_t callbackFunc);
|
|
|
static void menu_action_setting_edit_callback_long5(const char* pstr, unsigned long* ptr, unsigned long minValue, unsigned long maxValue, menuFunc_t callbackFunc);
|
|
|
-*/
|
|
|
+#endif
|
|
|
|
|
|
#define ENCODER_FEEDRATE_DEADZONE 10
|
|
|
|
|
@@ -521,7 +553,6 @@ static void lcd_status_screen()
|
|
|
|
|
|
void lcd_commands()
|
|
|
{
|
|
|
- char cmd1[25];
|
|
|
if (lcd_commands_type == LCD_COMMAND_LONG_PAUSE)
|
|
|
{
|
|
|
if(lcd_commands_step == 0) {
|
|
@@ -1099,8 +1130,6 @@ void lcd_commands()
|
|
|
|
|
|
if (lcd_commands_type == LCD_COMMAND_STOP_PRINT) /// stop print
|
|
|
{
|
|
|
- uint8_t stopped_extruder;
|
|
|
-
|
|
|
if (lcd_commands_step == 0)
|
|
|
{
|
|
|
lcd_commands_step = 6;
|
|
@@ -2003,12 +2032,14 @@ static void _lcd_babystep(int axis, const char *msg)
|
|
|
if (LCD_CLICKED) lcd_goto_menu(lcd_main_menu);
|
|
|
}
|
|
|
|
|
|
+#if 0
|
|
|
static void lcd_babystep_x() {
|
|
|
_lcd_babystep(X_AXIS, (MSG_BABYSTEPPING_X));
|
|
|
}
|
|
|
static void lcd_babystep_y() {
|
|
|
_lcd_babystep(Y_AXIS, (MSG_BABYSTEPPING_Y));
|
|
|
}
|
|
|
+#endif
|
|
|
static void lcd_babystep_z() {
|
|
|
_lcd_babystep(Z_AXIS, (MSG_BABYSTEPPING_Z));
|
|
|
}
|
|
@@ -2226,7 +2257,6 @@ bool lcd_calibrate_z_end_stop_manual(bool only_z)
|
|
|
|
|
|
// Until confirmed by the confirmation dialog.
|
|
|
for (;;) {
|
|
|
- unsigned long previous_millis_cmd = millis();
|
|
|
const char *msg = only_z ? MSG_MOVE_CARRIAGE_TO_THE_TOP_Z : MSG_MOVE_CARRIAGE_TO_THE_TOP;
|
|
|
const char *msg_next = lcd_display_message_fullscreen_P(msg);
|
|
|
const bool multi_screen = msg_next != NULL;
|
|
@@ -2235,13 +2265,10 @@ bool lcd_calibrate_z_end_stop_manual(bool only_z)
|
|
|
encoderDiff = 0;
|
|
|
encoderPosition = 0;
|
|
|
for (;;) {
|
|
|
-// if (millis() - previous_millis_cmd > LCD_TIMEOUT_TO_STATUS)
|
|
|
-// goto canceled;
|
|
|
manage_heater();
|
|
|
manage_inactivity(true);
|
|
|
if (abs(encoderDiff) >= ENCODER_PULSES_PER_STEP) {
|
|
|
delay(50);
|
|
|
- previous_millis_cmd = millis();
|
|
|
encoderPosition += abs(encoderDiff / ENCODER_PULSES_PER_STEP);
|
|
|
encoderDiff = 0;
|
|
|
if (! planner_queue_full()) {
|
|
@@ -2567,7 +2594,7 @@ void lcd_bed_calibration_show_result(BedSkewOffsetDetectionResultType result, ui
|
|
|
else if (point_too_far_mask == 2 || point_too_far_mask == 7)
|
|
|
// Only the center point or all the three front points.
|
|
|
msg = MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR;
|
|
|
- else if (point_too_far_mask & 1 == 0)
|
|
|
+ else if ((point_too_far_mask & 1) == 0)
|
|
|
// The right and maybe the center point out of reach.
|
|
|
msg = MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR;
|
|
|
else
|
|
@@ -2579,7 +2606,7 @@ void lcd_bed_calibration_show_result(BedSkewOffsetDetectionResultType result, ui
|
|
|
if (point_too_far_mask == 2 || point_too_far_mask == 7)
|
|
|
// Only the center point or all the three front points.
|
|
|
msg = MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR;
|
|
|
- else if (point_too_far_mask & 1 == 0)
|
|
|
+ else if ((point_too_far_mask & 1) == 0)
|
|
|
// The right and maybe the center point out of reach.
|
|
|
msg = MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR;
|
|
|
else
|
|
@@ -2612,11 +2639,11 @@ static void lcd_show_end_stops() {
|
|
|
lcd.setCursor(0, 0);
|
|
|
lcd_printPGM((PSTR("End stops diag")));
|
|
|
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_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_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")));
|
|
|
}
|
|
|
|
|
|
static void menu_show_end_stops() {
|
|
@@ -2629,7 +2656,6 @@ static void menu_show_end_stops() {
|
|
|
// Otherwise the Z calibration is not changed and false is returned.
|
|
|
void lcd_diag_show_end_stops()
|
|
|
{
|
|
|
- int enc_dif = encoderDiff;
|
|
|
lcd_implementation_clear();
|
|
|
for (;;) {
|
|
|
manage_heater();
|
|
@@ -3475,7 +3501,7 @@ static void lcd_calibration_menu()
|
|
|
if (!isPrintPaused)
|
|
|
{
|
|
|
MENU_ITEM(gcode, MSG_AUTO_HOME, PSTR("G28 W"));
|
|
|
- MENU_ITEM(function, MSG_SELFTEST, lcd_selftest);
|
|
|
+ MENU_ITEM(function, MSG_SELFTEST, lcd_selftest_v);
|
|
|
#ifdef MK1BP
|
|
|
// MK1
|
|
|
// "Calibrate Z"
|
|
@@ -3511,49 +3537,6 @@ static void lcd_calibration_menu()
|
|
|
|
|
|
END_MENU();
|
|
|
}
|
|
|
-/*
|
|
|
-void lcd_mylang_top(int hlaska) {
|
|
|
- lcd.setCursor(0,0);
|
|
|
- lcd.print(" ");
|
|
|
- lcd.setCursor(0,0);
|
|
|
- lcd_printPGM(MSG_ALL[hlaska-1][LANGUAGE_SELECT]);
|
|
|
-}
|
|
|
-
|
|
|
-void lcd_mylang_drawmenu(int cursor) {
|
|
|
- int first = 0;
|
|
|
- if (cursor>2) first = cursor-2;
|
|
|
- if (cursor==LANG_NUM) first = LANG_NUM-3;
|
|
|
- lcd.setCursor(0, 1);
|
|
|
- lcd.print(" ");
|
|
|
- lcd.setCursor(1, 1);
|
|
|
- lcd_printPGM(MSG_ALL[first][LANGUAGE_NAME]);
|
|
|
-
|
|
|
- lcd.setCursor(0, 2);
|
|
|
- lcd.print(" ");
|
|
|
- lcd.setCursor(1, 2);
|
|
|
- lcd_printPGM(MSG_ALL[first+1][LANGUAGE_NAME]);
|
|
|
-
|
|
|
- lcd.setCursor(0, 3);
|
|
|
- lcd.print(" ");
|
|
|
- lcd.setCursor(1, 3);
|
|
|
- lcd_printPGM(MSG_ALL[first+2][LANGUAGE_NAME]);
|
|
|
-
|
|
|
- if (cursor==1) lcd.setCursor(0, 1);
|
|
|
- if (cursor>1 && cursor<LANG_NUM) lcd.setCursor(0, 2);
|
|
|
- if (cursor==LANG_NUM) lcd.setCursor(0, 3);
|
|
|
-
|
|
|
- lcd.print(">");
|
|
|
-
|
|
|
- if (cursor<LANG_NUM-1) {
|
|
|
- lcd.setCursor(19,3);
|
|
|
- lcd.print("\x01");
|
|
|
- }
|
|
|
- if (cursor>2) {
|
|
|
- lcd.setCursor(19,1);
|
|
|
- lcd.print("^");
|
|
|
- }
|
|
|
-}
|
|
|
-*/
|
|
|
|
|
|
void lcd_mylang_drawmenu(int cursor) {
|
|
|
int first = 0;
|
|
@@ -3618,13 +3601,11 @@ void lcd_mylang() {
|
|
|
int enc_dif = 0;
|
|
|
int cursor_pos = 1;
|
|
|
lang_selected=255;
|
|
|
- int hlaska=1;
|
|
|
- int counter=0;
|
|
|
+
|
|
|
lcd_set_custom_characters_arrows();
|
|
|
|
|
|
lcd_implementation_clear();
|
|
|
|
|
|
- //lcd_mylang_top(hlaska);
|
|
|
|
|
|
lcd_mylang_drawmenu(cursor_pos);
|
|
|
|
|
@@ -3638,7 +3619,6 @@ void lcd_mylang() {
|
|
|
|
|
|
if ( abs((enc_dif - encoderDiff)) > 4 ) {
|
|
|
|
|
|
- //if ( (abs(enc_dif - encoderDiff)) > 1 ) {
|
|
|
if (enc_dif > encoderDiff ) {
|
|
|
cursor_pos --;
|
|
|
}
|
|
@@ -3658,7 +3638,6 @@ void lcd_mylang() {
|
|
|
lcd_mylang_drawmenu(cursor_pos);
|
|
|
enc_dif = encoderDiff;
|
|
|
delay(100);
|
|
|
- //}
|
|
|
|
|
|
} else delay(20);
|
|
|
|
|
@@ -3669,16 +3648,7 @@ void lcd_mylang() {
|
|
|
delay(500);
|
|
|
|
|
|
}
|
|
|
- /*
|
|
|
- if (++counter == 80) {
|
|
|
- hlaska++;
|
|
|
- if(hlaska>LANG_NUM) hlaska=1;
|
|
|
- lcd_mylang_top(hlaska);
|
|
|
- lcd_mylang_drawcursor(cursor_pos);
|
|
|
- counter=0;
|
|
|
- }
|
|
|
- */
|
|
|
- };
|
|
|
+ }
|
|
|
|
|
|
if(MYSERIAL.available() > 1){
|
|
|
lang_selected = 0;
|
|
@@ -4043,9 +4013,10 @@ static void lcd_disable_farm_mode() {
|
|
|
|
|
|
}
|
|
|
|
|
|
-static void lcd_ping_allert() {
|
|
|
- if ((abs(millis() - allert_timer)*0.001) > PING_ALLERT_PERIOD) {
|
|
|
- allert_timer = millis();
|
|
|
+#if 0
|
|
|
+static void lcd_ping_alert() {
|
|
|
+ if ((abs(millis() - alert_timer)*0.001) > PING_ALERT_PERIOD) {
|
|
|
+ alert_timer = millis();
|
|
|
SET_OUTPUT(BEEPER);
|
|
|
for (int i = 0; i < 2; i++) {
|
|
|
WRITE(BEEPER, HIGH);
|
|
@@ -4056,7 +4027,7 @@ static void lcd_ping_allert() {
|
|
|
}
|
|
|
|
|
|
};
|
|
|
-
|
|
|
+#endif
|
|
|
|
|
|
#ifdef SNMM
|
|
|
|
|
@@ -4076,9 +4047,7 @@ void change_extr(int extr) { //switches multiplexer for extruders
|
|
|
disable_e1();
|
|
|
disable_e2();
|
|
|
|
|
|
-#ifdef SNMM
|
|
|
snmm_extruder = extr;
|
|
|
-#endif
|
|
|
|
|
|
pinMode(E_MUX0_PIN, OUTPUT);
|
|
|
pinMode(E_MUX1_PIN, OUTPUT);
|
|
@@ -4106,7 +4075,7 @@ void change_extr(int extr) { //switches multiplexer for extruders
|
|
|
delay(100);
|
|
|
}
|
|
|
|
|
|
-static int get_ext_nr() { //reads multiplexer input pins and return current extruder number (counted from 0)
|
|
|
+int get_ext_nr() { //reads multiplexer input pins and return current extruder number (counted from 0)
|
|
|
return(2 * READ(E_MUX1_PIN) + READ(E_MUX0_PIN));
|
|
|
}
|
|
|
|
|
@@ -4122,10 +4091,10 @@ void display_loading() {
|
|
|
|
|
|
void extr_adj(int extruder) //loading filament for SNMM
|
|
|
{
|
|
|
- bool correct;
|
|
|
+ //bool correct;
|
|
|
max_feedrate[E_AXIS] =80;
|
|
|
//max_feedrate[E_AXIS] = 50;
|
|
|
- START:
|
|
|
+ //START:
|
|
|
lcd_implementation_clear();
|
|
|
lcd.setCursor(0, 0);
|
|
|
switch (extruder) {
|
|
@@ -4625,8 +4594,6 @@ static void lcd_main_menu()
|
|
|
MENU_ITEM(back, MSG_WATCH, lcd_status_screen);
|
|
|
/* if (farm_mode && !IS_SD_PRINTING )
|
|
|
{
|
|
|
-
|
|
|
- int tempScrool = 0;
|
|
|
if (lcdDrawUpdate == 0 && LCD_CLICKED == 0)
|
|
|
//delay(100);
|
|
|
return; // nothing to do (so don't thrash the SD card)
|
|
@@ -4765,15 +4732,14 @@ void stack_error() {
|
|
|
while (1) delay_keep_alive(1000);
|
|
|
}
|
|
|
|
|
|
-#ifdef SDSUPPORT
|
|
|
+#if 0
|
|
|
+//#ifdef SDSUPPORT
|
|
|
static void lcd_autostart_sd()
|
|
|
{
|
|
|
card.lastnr = 0;
|
|
|
card.setroot();
|
|
|
card.checkautostart(true);
|
|
|
}
|
|
|
-#endif
|
|
|
-
|
|
|
|
|
|
|
|
|
static void lcd_silent_mode_set_tune() {
|
|
@@ -4787,6 +4753,7 @@ static void lcd_silent_mode_set_tune() {
|
|
|
digipot_init();
|
|
|
lcd_goto_menu(lcd_tune_menu, 9);
|
|
|
}
|
|
|
+#endif
|
|
|
|
|
|
static void lcd_colorprint_change() {
|
|
|
|
|
@@ -4830,13 +4797,13 @@ static void lcd_tune_menu()
|
|
|
}
|
|
|
|
|
|
|
|
|
-
|
|
|
-
|
|
|
+#if 0
|
|
|
static void lcd_move_menu_01mm()
|
|
|
{
|
|
|
move_menu_scale = 0.1;
|
|
|
lcd_move_menu_axis();
|
|
|
}
|
|
|
+#endif
|
|
|
|
|
|
static void lcd_control_temperature_menu()
|
|
|
{
|
|
@@ -4982,7 +4949,6 @@ void lcd_sdcard_menu()
|
|
|
{
|
|
|
uint8_t sdSort = eeprom_read_byte((uint8_t*)EEPROM_SD_SORT);
|
|
|
|
|
|
- int tempScrool = 0;
|
|
|
if (presort_flag == true) {
|
|
|
presort_flag = false;
|
|
|
card.presort();
|
|
@@ -5037,7 +5003,6 @@ void lcd_sdcard_menu()
|
|
|
}
|
|
|
//int j;
|
|
|
//char description[31];
|
|
|
- int tempScrool = 0;
|
|
|
if (lcdDrawUpdate == 0 && LCD_CLICKED == 0)
|
|
|
//delay(100);
|
|
|
return; // nothing to do (so don't thrash the SD card)
|
|
@@ -5132,13 +5097,22 @@ void lcd_sdcard_menu()
|
|
|
*/
|
|
|
|
|
|
menu_edit_type(int, int3, itostr3, 1)
|
|
|
+#if defined(AUTOTEMP)
|
|
|
menu_edit_type(float, float3, ftostr3, 1)
|
|
|
menu_edit_type(float, float32, ftostr32, 100)
|
|
|
+#endif
|
|
|
+#if 0
|
|
|
menu_edit_type(float, float43, ftostr43, 1000)
|
|
|
menu_edit_type(float, float5, ftostr5, 0.01)
|
|
|
menu_edit_type(float, float51, ftostr51, 10)
|
|
|
menu_edit_type(float, float52, ftostr52, 100)
|
|
|
menu_edit_type(unsigned long, long5, ftostr5, 0.01)
|
|
|
+#endif
|
|
|
+
|
|
|
+static void lcd_selftest_v()
|
|
|
+{
|
|
|
+ (void)lcd_selftest();
|
|
|
+}
|
|
|
|
|
|
static bool lcd_selftest()
|
|
|
{
|
|
@@ -5254,24 +5228,26 @@ static bool lcd_selfcheck_axis(int _axis, int _travel)
|
|
|
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], manual_feedrate[0] / 60, active_extruder);
|
|
|
st_synchronize();
|
|
|
|
|
|
- if (READ(X_MIN_PIN) ^ X_MIN_ENDSTOP_INVERTING == 1 || READ(Y_MIN_PIN) ^ Y_MIN_ENDSTOP_INVERTING == 1 || READ(Z_MIN_PIN) ^ Z_MIN_ENDSTOP_INVERTING == 1)
|
|
|
+ if (((READ(X_MIN_PIN) ^ X_MIN_ENDSTOP_INVERTING) == 1) ||
|
|
|
+ ((READ(Y_MIN_PIN) ^ Y_MIN_ENDSTOP_INVERTING) == 1) ||
|
|
|
+ ((READ(Z_MIN_PIN) ^ Z_MIN_ENDSTOP_INVERTING) == 1))
|
|
|
{
|
|
|
if (_axis == 0)
|
|
|
{
|
|
|
- _stepresult = (READ(X_MIN_PIN) ^ X_MIN_ENDSTOP_INVERTING == 1) ? true : false;
|
|
|
- _err_endstop = (READ(Y_MIN_PIN) ^ Y_MIN_ENDSTOP_INVERTING == 1) ? 1 : 2;
|
|
|
+ _stepresult = ((READ(X_MIN_PIN) ^ X_MIN_ENDSTOP_INVERTING) == 1) ? true : false;
|
|
|
+ _err_endstop = ((READ(Y_MIN_PIN) ^ Y_MIN_ENDSTOP_INVERTING) == 1) ? 1 : 2;
|
|
|
|
|
|
}
|
|
|
if (_axis == 1)
|
|
|
{
|
|
|
- _stepresult = (READ(Y_MIN_PIN) ^ Y_MIN_ENDSTOP_INVERTING == 1) ? true : false;
|
|
|
- _err_endstop = (READ(X_MIN_PIN) ^ X_MIN_ENDSTOP_INVERTING == 1) ? 0 : 2;
|
|
|
+ _stepresult = ((READ(Y_MIN_PIN) ^ Y_MIN_ENDSTOP_INVERTING) == 1) ? true : false;
|
|
|
+ _err_endstop = ((READ(X_MIN_PIN) ^ X_MIN_ENDSTOP_INVERTING) == 1) ? 0 : 2;
|
|
|
|
|
|
}
|
|
|
if (_axis == 2)
|
|
|
{
|
|
|
- _stepresult = (READ(Z_MIN_PIN) ^ Z_MIN_ENDSTOP_INVERTING == 1) ? true : false;
|
|
|
- _err_endstop = (READ(X_MIN_PIN) ^ X_MIN_ENDSTOP_INVERTING == 1) ? 0 : 1;
|
|
|
+ _stepresult = ((READ(Z_MIN_PIN) ^ Z_MIN_ENDSTOP_INVERTING) == 1) ? true : false;
|
|
|
+ _err_endstop = ((READ(X_MIN_PIN) ^ X_MIN_ENDSTOP_INVERTING) == 1) ? 0 : 1;
|
|
|
/*disable_x();
|
|
|
disable_y();
|
|
|
disable_z();*/
|
|
@@ -5334,7 +5310,6 @@ static bool lcd_selfcheck_pulleys(int axis)
|
|
|
float current_position_init;
|
|
|
float move;
|
|
|
bool endstop_triggered = false;
|
|
|
- bool result = true;
|
|
|
int i;
|
|
|
unsigned long timeout_counter;
|
|
|
refresh_cmd_timeout();
|
|
@@ -5358,7 +5333,8 @@ static bool lcd_selfcheck_pulleys(int axis)
|
|
|
current_position[axis] = current_position[axis] - move;
|
|
|
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], 50, active_extruder);
|
|
|
st_synchronize();
|
|
|
- if ((READ(X_MIN_PIN) ^ X_MIN_ENDSTOP_INVERTING == 1) || (READ(Y_MIN_PIN) ^ Y_MIN_ENDSTOP_INVERTING == 1)) {
|
|
|
+ if (((READ(X_MIN_PIN) ^ X_MIN_ENDSTOP_INVERTING) == 1) ||
|
|
|
+ ((READ(Y_MIN_PIN) ^ Y_MIN_ENDSTOP_INVERTING) == 1)) {
|
|
|
lcd_selftest_error(8, (axis == 0) ? "X" : "Y", "");
|
|
|
return(false);
|
|
|
}
|
|
@@ -5367,7 +5343,8 @@ static bool lcd_selfcheck_pulleys(int axis)
|
|
|
endstop_triggered = false;
|
|
|
manage_inactivity(true);
|
|
|
while (!endstop_triggered) {
|
|
|
- if ((READ(X_MIN_PIN) ^ X_MIN_ENDSTOP_INVERTING == 1) || (READ(Y_MIN_PIN) ^ Y_MIN_ENDSTOP_INVERTING == 1)) {
|
|
|
+ if (((READ(X_MIN_PIN) ^ X_MIN_ENDSTOP_INVERTING) == 1) ||
|
|
|
+ ((READ(Y_MIN_PIN) ^ Y_MIN_ENDSTOP_INVERTING) == 1)) {
|
|
|
endstop_triggered = true;
|
|
|
if (current_position_init - 1 <= current_position[axis] && current_position_init + 1 >= current_position[axis]) {
|
|
|
current_position[axis] += 15;
|
|
@@ -5390,28 +5367,33 @@ static bool lcd_selfcheck_pulleys(int axis)
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ return(true);
|
|
|
}
|
|
|
|
|
|
static bool lcd_selfcheck_endstops()
|
|
|
{
|
|
|
bool _result = true;
|
|
|
|
|
|
- if (READ(X_MIN_PIN) ^ X_MIN_ENDSTOP_INVERTING == 1 || READ(Y_MIN_PIN) ^ Y_MIN_ENDSTOP_INVERTING == 1 || READ(Z_MIN_PIN) ^ Z_MIN_ENDSTOP_INVERTING == 1)
|
|
|
+ if (((READ(X_MIN_PIN) ^ X_MIN_ENDSTOP_INVERTING) == 1) ||
|
|
|
+ ((READ(Y_MIN_PIN) ^ Y_MIN_ENDSTOP_INVERTING) == 1) ||
|
|
|
+ ((READ(Z_MIN_PIN) ^ Z_MIN_ENDSTOP_INVERTING) == 1))
|
|
|
{
|
|
|
- current_position[0] = (READ(X_MIN_PIN) ^ X_MIN_ENDSTOP_INVERTING == 1) ? current_position[0] = current_position[0] + 10 : current_position[0];
|
|
|
- current_position[1] = (READ(Y_MIN_PIN) ^ Y_MIN_ENDSTOP_INVERTING == 1) ? current_position[1] = current_position[1] + 10 : current_position[1];
|
|
|
- current_position[2] = (READ(Z_MIN_PIN) ^ Z_MIN_ENDSTOP_INVERTING == 1) ? current_position[2] = current_position[2] + 10 : current_position[2];
|
|
|
+ if ((READ(X_MIN_PIN) ^ X_MIN_ENDSTOP_INVERTING) == 1) current_position[0] += 10;
|
|
|
+ if ((READ(Y_MIN_PIN) ^ Y_MIN_ENDSTOP_INVERTING) == 1) current_position[1] += 10;
|
|
|
+ if ((READ(Z_MIN_PIN) ^ Z_MIN_ENDSTOP_INVERTING) == 1) current_position[2] += 10;
|
|
|
}
|
|
|
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], manual_feedrate[0] / 60, active_extruder);
|
|
|
delay(500);
|
|
|
|
|
|
- if (READ(X_MIN_PIN) ^ X_MIN_ENDSTOP_INVERTING == 1 || READ(Y_MIN_PIN) ^ Y_MIN_ENDSTOP_INVERTING == 1 || READ(Z_MIN_PIN) ^ Z_MIN_ENDSTOP_INVERTING == 1)
|
|
|
+ if (((READ(X_MIN_PIN) ^ X_MIN_ENDSTOP_INVERTING) == 1) ||
|
|
|
+ ((READ(Y_MIN_PIN) ^ Y_MIN_ENDSTOP_INVERTING) == 1) ||
|
|
|
+ ((READ(Z_MIN_PIN) ^ Z_MIN_ENDSTOP_INVERTING) == 1))
|
|
|
{
|
|
|
_result = false;
|
|
|
char _error[4] = "";
|
|
|
- if (READ(X_MIN_PIN) ^ X_MIN_ENDSTOP_INVERTING == 1) strcat(_error, "X");
|
|
|
- if (READ(Y_MIN_PIN) ^ Y_MIN_ENDSTOP_INVERTING == 1) strcat(_error, "Y");
|
|
|
- if (READ(Z_MIN_PIN) ^ Z_MIN_ENDSTOP_INVERTING == 1) strcat(_error, "Z");
|
|
|
+ if ((READ(X_MIN_PIN) ^ X_MIN_ENDSTOP_INVERTING) == 1) strcat(_error, "X");
|
|
|
+ if ((READ(Y_MIN_PIN) ^ Y_MIN_ENDSTOP_INVERTING) == 1) strcat(_error, "Y");
|
|
|
+ if ((READ(Z_MIN_PIN) ^ Z_MIN_ENDSTOP_INVERTING) == 1) strcat(_error, "Z");
|
|
|
lcd_selftest_error(3, _error, "");
|
|
|
}
|
|
|
manage_heater();
|
|
@@ -5666,8 +5648,7 @@ static bool lcd_selftest_fan_dialog(int _fan)
|
|
|
|
|
|
if (!_result)
|
|
|
{
|
|
|
- const char *_err;
|
|
|
- lcd_selftest_error(_errno, _err, _err);
|
|
|
+ lcd_selftest_error(_errno, "", "");
|
|
|
}
|
|
|
|
|
|
return _result;
|
|
@@ -5677,7 +5658,7 @@ static bool lcd_selftest_fan_dialog(int _fan)
|
|
|
static int lcd_selftest_screen(int _step, int _progress, int _progress_scale, bool _clear, int _delay)
|
|
|
{
|
|
|
|
|
|
- lcd_next_update_millis = millis() + (LCD_UPDATE_INTERVAL * 10000);
|
|
|
+ lcd_next_update_millis = millis() + (LCD_UPDATE_INTERVAL * 10000L);
|
|
|
|
|
|
int _step_block = 0;
|
|
|
const char *_indicator = (_progress > _progress_scale) ? "-" : "|";
|
|
@@ -5778,7 +5759,7 @@ static void menu_action_function(menuFunc_t data) {
|
|
|
static bool check_file(const char* filename) {
|
|
|
bool result = false;
|
|
|
uint32_t filesize;
|
|
|
- card.openFile(filename, true);
|
|
|
+ card.openFile((char *)filename, true);
|
|
|
filesize = card.getFileSize();
|
|
|
if (filesize > END_FILE_SECTION) {
|
|
|
card.setIndex(filesize - END_FILE_SECTION);
|
|
@@ -5818,17 +5799,18 @@ static void menu_action_sddirectory(const char* filename, char* longFilename)
|
|
|
card.chdir(filename);
|
|
|
encoderPosition = 0;
|
|
|
}
|
|
|
+#if 0
|
|
|
static void menu_action_setting_edit_bool(const char* pstr, bool* ptr)
|
|
|
{
|
|
|
*ptr = !(*ptr);
|
|
|
}
|
|
|
-/*
|
|
|
+
|
|
|
static void menu_action_setting_edit_callback_bool(const char* pstr, bool* ptr, menuFunc_t callback)
|
|
|
{
|
|
|
menu_action_setting_edit_bool(pstr, ptr);
|
|
|
(*callback)();
|
|
|
}
|
|
|
-*/
|
|
|
+#endif
|
|
|
#endif//ULTIPANEL
|
|
|
|
|
|
/** LCD API **/
|
|
@@ -6066,7 +6048,6 @@ static void lcd_connect_printer() {
|
|
|
lcd_update_enable(false);
|
|
|
lcd_implementation_clear();
|
|
|
|
|
|
- bool pressed = false;
|
|
|
int i = 0;
|
|
|
int t = 0;
|
|
|
lcd_set_custom_characters_progress();
|
|
@@ -6103,7 +6084,7 @@ void lcd_ping() { //chceck if printer is connected to monitoring when in farm mo
|
|
|
//if there are comamnds in buffer, some long gcodes can delay execution of ping command
|
|
|
//therefore longer period is used
|
|
|
printer_connected = false;
|
|
|
- //lcd_ping_allert(); //acustic signals
|
|
|
+ //lcd_ping_alert(); //acustic signals
|
|
|
}
|
|
|
else {
|
|
|
lcd_printer_connected();
|
|
@@ -6632,4 +6613,4 @@ void copy_and_scalePID_d()
|
|
|
}
|
|
|
*/
|
|
|
|
|
|
-#endif //ULTRA_LCD
|
|
|
+#endif //ULTRA_LCD
|