Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/prusa3d/PrusaSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPavelSindler <pavel@prusa3d.cz>2017-07-11 18:05:28 +0300
committerGitHub <noreply@github.com>2017-07-11 18:05:28 +0300
commit0473b7e0db4f86b1224450777da01d053196b10a (patch)
treea678888a94456460a46c2643e172538fe924fe52
parentb3eeac124a58e35f173759cb18ceb5f27ed43cfd (diff)
parent2ace5fc8274842e61c0a7f4511239aa44294cd59 (diff)
Merge pull request #143 from PavelSindler/MK2v3.0.12
retrieve settings from eeprom changed for axis steps per unit, translated support menu, long beep in multi material color print fixed
-rw-r--r--Firmware/Configuration.h2
-rw-r--r--Firmware/ConfigurationStore.cpp3
-rw-r--r--Firmware/Marlin_main.cpp15
-rw-r--r--Firmware/language_all.cpp135
-rw-r--r--Firmware/language_all.h18
-rw-r--r--Firmware/language_cz.h11
-rw-r--r--Firmware/language_de.h11
-rw-r--r--Firmware/language_en.h10
-rw-r--r--Firmware/language_es.h11
-rw-r--r--Firmware/language_it.h11
-rw-r--r--Firmware/language_pl.h11
-rw-r--r--Firmware/mesh_bed_calibration.cpp31
-rw-r--r--Firmware/temperature.cpp9
-rw-r--r--Firmware/ultralcd.cpp27
14 files changed, 274 insertions, 31 deletions
diff --git a/Firmware/Configuration.h b/Firmware/Configuration.h
index 387b10e15..4563c66bb 100644
--- a/Firmware/Configuration.h
+++ b/Firmware/Configuration.h
@@ -5,7 +5,7 @@
#include "Configuration_prusa.h"
// Firmware version
-#define FW_version "3.0.12-RC2"
+#define FW_version "3.0.12"
#define FW_PRUSA3D_MAGIC "PRUSA3DFW"
#define FW_PRUSA3D_MAGIC_LEN 10
diff --git a/Firmware/ConfigurationStore.cpp b/Firmware/ConfigurationStore.cpp
index f7f64094c..5586ee3d3 100644
--- a/Firmware/ConfigurationStore.cpp
+++ b/Firmware/ConfigurationStore.cpp
@@ -350,6 +350,9 @@ void Config_RetrieveSettings()
calculate_volumetric_multipliers();
// Call updatePID (similar to when we have processed M301)
updatePID();
+ float tmp1[] = DEFAULT_AXIS_STEPS_PER_UNIT;
+ axis_steps_per_unit[3] = tmp1[3];
+
SERIAL_ECHO_START;
SERIAL_ECHOLNPGM("Stored settings retrieved");
}
diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp
index 30035559d..9aaaa1920 100644
--- a/Firmware/Marlin_main.cpp
+++ b/Firmware/Marlin_main.cpp
@@ -2540,7 +2540,7 @@ void process_commands()
// and correct the current_position to match the transformed coordinate system.
world2machine_update_current();
-#if (defined(MESH_BED_LEVELING) && !defined(MK1BP))
+#if (defined(MESH_BED_LEVELING) && !defined(MK1BP))
if (code_seen(axis_codes[X_AXIS]) || code_seen(axis_codes[Y_AXIS]) || code_seen('W') || code_seen(axis_codes[Z_AXIS]))
{
}
@@ -2930,9 +2930,9 @@ void process_commands()
*/
case 80:
-#ifdef MK1BP
- break;
-#endif //MK1BP
+#ifdef MK1BP
+ break;
+#endif //MK1BP
case_G80:
{
mesh_bed_leveling_flag = true;
@@ -5054,7 +5054,7 @@ case 404: //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or disp
lastpos[Z_AXIS]=current_position[Z_AXIS];
lastpos[E_AXIS]=current_position[E_AXIS];
- //Restract extruder
+ //Retract extruder
if(code_seen('E'))
{
target[E_AXIS]+= code_value();
@@ -5200,6 +5200,7 @@ case 404: //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or disp
}
}
+ WRITE(BEEPER, LOW);
#ifdef SNMM
display_loading();
do {
@@ -5215,7 +5216,7 @@ case 404: //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or disp
#endif
//Filament inserted
- WRITE(BEEPER,LOW);
+
//Feed the filament to the end of nozzle quickly
#ifdef SNMM
@@ -6602,4 +6603,4 @@ void serialecho_temperatures() {
SERIAL_PROTOCOLPGM(" B:");
SERIAL_PROTOCOL_F(degBed(), 1);
SERIAL_PROTOCOLLN("");
-} \ No newline at end of file
+}
diff --git a/Firmware/language_all.cpp b/Firmware/language_all.cpp
index 9ba394cc9..9c967baf6 100644
--- a/Firmware/language_all.cpp
+++ b/Firmware/language_all.cpp
@@ -560,6 +560,21 @@ const char * const MSG_CARD_MENU_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_CARD_MENU_DE
};
+const char MSG_CENTER_EN[] PROGMEM = "Center:";
+const char MSG_CENTER_CZ[] PROGMEM = "Stred:";
+const char MSG_CENTER_IT[] PROGMEM = "Centro:";
+const char MSG_CENTER_ES[] PROGMEM = "Centro:";
+const char MSG_CENTER_PL[] PROGMEM = "Srodek:";
+const char MSG_CENTER_DE[] PROGMEM = "Mitte:";
+const char * const MSG_CENTER_LANG_TABLE[LANG_NUM] PROGMEM = {
+ MSG_CENTER_EN,
+ MSG_CENTER_CZ,
+ MSG_CENTER_IT,
+ MSG_CENTER_ES,
+ MSG_CENTER_PL,
+ MSG_CENTER_DE
+};
+
const char MSG_CHANGE_EXTR_EN[] PROGMEM = "Change extruder";
const char MSG_CHANGE_EXTR_CZ[] PROGMEM = "Zmenit extruder";
const char MSG_CHANGE_EXTR_IT[] PROGMEM = "Cambio estrusore.";
@@ -745,6 +760,21 @@ const char * const MSG_CURRENT_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_CURRENT_DE
};
+const char MSG_DATE_EN[] PROGMEM = "Date:";
+const char MSG_DATE_CZ[] PROGMEM = "Datum:";
+const char MSG_DATE_IT[] PROGMEM = "Data";
+const char MSG_DATE_ES[] PROGMEM = "Fecha:";
+const char MSG_DATE_PL[] PROGMEM = "Data:";
+const char MSG_DATE_DE[] PROGMEM = "Datum";
+const char * const MSG_DATE_LANG_TABLE[LANG_NUM] PROGMEM = {
+ MSG_DATE_EN,
+ MSG_DATE_CZ,
+ MSG_DATE_IT,
+ MSG_DATE_ES,
+ MSG_DATE_PL,
+ MSG_DATE_DE
+};
+
const char MSG_DISABLE_STEPPERS_EN[] PROGMEM = "Disable steppers";
const char MSG_DISABLE_STEPPERS_CZ[] PROGMEM = "Vypnout motory";
const char MSG_DISABLE_STEPPERS_IT[] PROGMEM = "Disabilit motori";
@@ -1369,6 +1399,21 @@ const char * const MSG_LANGUAGE_SELECT_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_LANGUAGE_SELECT_DE
};
+const char MSG_LEFT_EN[] PROGMEM = "Left:";
+const char MSG_LEFT_CZ[] PROGMEM = "Levy:";
+const char MSG_LEFT_IT[] PROGMEM = "Sinistra:";
+const char MSG_LEFT_ES[] PROGMEM = "Izquierda:";
+const char MSG_LEFT_PL[] PROGMEM = "Lewy:";
+const char MSG_LEFT_DE[] PROGMEM = "Links:";
+const char * const MSG_LEFT_LANG_TABLE[LANG_NUM] PROGMEM = {
+ MSG_LEFT_EN,
+ MSG_LEFT_CZ,
+ MSG_LEFT_IT,
+ MSG_LEFT_ES,
+ MSG_LEFT_PL,
+ MSG_LEFT_DE
+};
+
const char MSG_LOADING_COLOR_EN[] PROGMEM = "Loading color";
const char MSG_LOADING_COLOR_CZ[] PROGMEM = "Cisteni barvy";
const char MSG_LOADING_COLOR_IT[] PROGMEM = "Caricando colore";
@@ -1584,6 +1629,21 @@ const char * const MSG_MAX_LANG_TABLE[1] PROGMEM = {
MSG_MAX_EN
};
+const char MSG_MEASURED_SKEW_EN[] PROGMEM = "Measured skew:";
+const char MSG_MEASURED_SKEW_CZ[] PROGMEM = "Merene zkoseni:";
+const char MSG_MEASURED_SKEW_IT[] PROGMEM = "Incl. misurata:";
+const char MSG_MEASURED_SKEW_ES[] PROGMEM = "Inclin. medida:";
+const char MSG_MEASURED_SKEW_PL[] PROGMEM = "Zmier. sciecie:";
+const char MSG_MEASURED_SKEW_DE[] PROGMEM = "Schraeglauf:";
+const char * const MSG_MEASURED_SKEW_LANG_TABLE[LANG_NUM] PROGMEM = {
+ MSG_MEASURED_SKEW_EN,
+ MSG_MEASURED_SKEW_CZ,
+ MSG_MEASURED_SKEW_IT,
+ MSG_MEASURED_SKEW_ES,
+ MSG_MEASURED_SKEW_PL,
+ MSG_MEASURED_SKEW_DE
+};
+
const char MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1_EN[] PROGMEM = "Measuring reference height of calibration point";
const char MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1_CZ[] PROGMEM = "Merim referencni vysku kalibracniho bodu";
const char MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1_IT[] PROGMEM = "Misurare l'altezza di riferimento del punto di calibrazione";
@@ -2273,6 +2333,21 @@ const char * const MSG_RESUMING_PRINT_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_RESUMING_PRINT_DE
};
+const char MSG_RIGHT_EN[] PROGMEM = "Right:";
+const char MSG_RIGHT_CZ[] PROGMEM = "Pravy:";
+const char MSG_RIGHT_IT[] PROGMEM = "Destra:";
+const char MSG_RIGHT_ES[] PROGMEM = "Derecha:";
+const char MSG_RIGHT_PL[] PROGMEM = "Prawy:";
+const char MSG_RIGHT_DE[] PROGMEM = "Rechts:";
+const char * const MSG_RIGHT_LANG_TABLE[LANG_NUM] PROGMEM = {
+ MSG_RIGHT_EN,
+ MSG_RIGHT_CZ,
+ MSG_RIGHT_IT,
+ MSG_RIGHT_ES,
+ MSG_RIGHT_PL,
+ MSG_RIGHT_DE
+};
+
const char MSG_SD_CANT_ENTER_SUBDIR_EN[] PROGMEM = "Cannot enter subdir: ";
const char * const MSG_SD_CANT_ENTER_SUBDIR_LANG_TABLE[1] PROGMEM = {
MSG_SD_CANT_ENTER_SUBDIR_EN
@@ -2788,6 +2863,21 @@ const char * const MSG_SET_TEMPERATURE_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_SET_TEMPERATURE_DE
};
+const char MSG_SEVERE_SKEW_EN[] PROGMEM = "Severe skew:";
+const char MSG_SEVERE_SKEW_CZ[] PROGMEM = "Tezke zkoseni:";
+const char MSG_SEVERE_SKEW_IT[] PROGMEM = "Inc. rilevante:";
+const char MSG_SEVERE_SKEW_ES[] PROGMEM = "Inclin. severa:";
+const char MSG_SEVERE_SKEW_PL[] PROGMEM = "Ostre sciecie:";
+const char MSG_SEVERE_SKEW_DE[] PROGMEM = "Schwerer Schr.:";
+const char * const MSG_SEVERE_SKEW_LANG_TABLE[LANG_NUM] PROGMEM = {
+ MSG_SEVERE_SKEW_EN,
+ MSG_SEVERE_SKEW_CZ,
+ MSG_SEVERE_SKEW_IT,
+ MSG_SEVERE_SKEW_ES,
+ MSG_SEVERE_SKEW_PL,
+ MSG_SEVERE_SKEW_DE
+};
+
const char MSG_SHOW_END_STOPS_EN[] PROGMEM = "Show end stops";
const char MSG_SHOW_END_STOPS_CZ[] PROGMEM = "Stav konc. spin.";
const char MSG_SHOW_END_STOPS_IT[] PROGMEM = "Stato finecorsa";
@@ -2833,6 +2923,21 @@ const char * const MSG_SILENT_MODE_ON_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_SILENT_MODE_ON_DE
};
+const char MSG_SLIGHT_SKEW_EN[] PROGMEM = "Slight skew:";
+const char MSG_SLIGHT_SKEW_CZ[] PROGMEM = "Lehke zkoseni:";
+const char MSG_SLIGHT_SKEW_IT[] PROGMEM = "Incl. leggera:";
+const char MSG_SLIGHT_SKEW_ES[] PROGMEM = "Inclin. ligera:";
+const char MSG_SLIGHT_SKEW_PL[] PROGMEM = "Lekkie sciecie:";
+const char MSG_SLIGHT_SKEW_DE[] PROGMEM = "Leichter Schr.:";
+const char * const MSG_SLIGHT_SKEW_LANG_TABLE[LANG_NUM] PROGMEM = {
+ MSG_SLIGHT_SKEW_EN,
+ MSG_SLIGHT_SKEW_CZ,
+ MSG_SLIGHT_SKEW_IT,
+ MSG_SLIGHT_SKEW_ES,
+ MSG_SLIGHT_SKEW_PL,
+ MSG_SLIGHT_SKEW_DE
+};
+
const char MSG_SOFTWARE_RESET_EN[] PROGMEM = " Software Reset";
const char * const MSG_SOFTWARE_RESET_LANG_TABLE[1] PROGMEM = {
MSG_SOFTWARE_RESET_EN
@@ -3347,6 +3452,21 @@ const char * const MSG_WATCHDOG_RESET_LANG_TABLE[1] PROGMEM = {
MSG_WATCHDOG_RESET_EN
};
+const char MSG_XYZ_DETAILS_EN[] PROGMEM = "XYZ cal. details";
+const char MSG_XYZ_DETAILS_CZ[] PROGMEM = "Detaily XYZ kal.";
+const char MSG_XYZ_DETAILS_IT[] PROGMEM = "XYZ Cal. dettagli";
+const char MSG_XYZ_DETAILS_ES[] PROGMEM = "Inform. XYZ cal.";
+const char MSG_XYZ_DETAILS_PL[] PROGMEM = "Szczegoly kal.XYZ";
+const char MSG_XYZ_DETAILS_DE[] PROGMEM = "XYZ Kal. Details";
+const char * const MSG_XYZ_DETAILS_LANG_TABLE[LANG_NUM] PROGMEM = {
+ MSG_XYZ_DETAILS_EN,
+ MSG_XYZ_DETAILS_CZ,
+ MSG_XYZ_DETAILS_IT,
+ MSG_XYZ_DETAILS_ES,
+ MSG_XYZ_DETAILS_PL,
+ MSG_XYZ_DETAILS_DE
+};
+
const char MSG_X_MAX_EN[] PROGMEM = "x_max: ";
const char * const MSG_X_MAX_LANG_TABLE[1] PROGMEM = {
MSG_X_MAX_EN
@@ -3372,6 +3492,21 @@ const char * const MSG_YES_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_YES_DE
};
+const char MSG_Y_DISTANCE_FROM_MIN_EN[] PROGMEM = "Y distance from min:";
+const char MSG_Y_DISTANCE_FROM_MIN_CZ[] PROGMEM = "Y vzdalenost od min:";
+const char MSG_Y_DISTANCE_FROM_MIN_IT[] PROGMEM = "Distanza Y da min:";
+const char MSG_Y_DISTANCE_FROM_MIN_ES[] PROGMEM = "Dist. Y desde min:";
+const char MSG_Y_DISTANCE_FROM_MIN_PL[] PROGMEM = "Odleglosc Y od min.:";
+const char MSG_Y_DISTANCE_FROM_MIN_DE[] PROGMEM = "Y Entfernung vom min";
+const char * const MSG_Y_DISTANCE_FROM_MIN_LANG_TABLE[LANG_NUM] PROGMEM = {
+ MSG_Y_DISTANCE_FROM_MIN_EN,
+ MSG_Y_DISTANCE_FROM_MIN_CZ,
+ MSG_Y_DISTANCE_FROM_MIN_IT,
+ MSG_Y_DISTANCE_FROM_MIN_ES,
+ MSG_Y_DISTANCE_FROM_MIN_PL,
+ MSG_Y_DISTANCE_FROM_MIN_DE
+};
+
const char MSG_Y_MAX_EN[] PROGMEM = "y_max: ";
const char * const MSG_Y_MAX_LANG_TABLE[1] PROGMEM = {
MSG_Y_MAX_EN
diff --git a/Firmware/language_all.h b/Firmware/language_all.h
index 0ca88d66a..00775307d 100644
--- a/Firmware/language_all.h
+++ b/Firmware/language_all.h
@@ -116,6 +116,8 @@ extern const char* const MSG_CALIBRATION_PINDA_MENU_LANG_TABLE[LANG_NUM];
#define MSG_CALIBRATION_PINDA_MENU LANG_TABLE_SELECT(MSG_CALIBRATION_PINDA_MENU_LANG_TABLE)
extern const char* const MSG_CARD_MENU_LANG_TABLE[LANG_NUM];
#define MSG_CARD_MENU LANG_TABLE_SELECT(MSG_CARD_MENU_LANG_TABLE)
+extern const char* const MSG_CENTER_LANG_TABLE[LANG_NUM];
+#define MSG_CENTER LANG_TABLE_SELECT(MSG_CENTER_LANG_TABLE)
extern const char* const MSG_CHANGE_EXTR_LANG_TABLE[LANG_NUM];
#define MSG_CHANGE_EXTR LANG_TABLE_SELECT(MSG_CHANGE_EXTR_LANG_TABLE)
extern const char* const MSG_CHANGE_SUCCESS_LANG_TABLE[LANG_NUM];
@@ -146,6 +148,8 @@ extern const char* const MSG_COUNT_X_LANG_TABLE[1];
#define MSG_COUNT_X LANG_TABLE_SELECT_EXPLICIT(MSG_COUNT_X_LANG_TABLE, 0)
extern const char* const MSG_CURRENT_LANG_TABLE[LANG_NUM];
#define MSG_CURRENT LANG_TABLE_SELECT(MSG_CURRENT_LANG_TABLE)
+extern const char* const MSG_DATE_LANG_TABLE[LANG_NUM];
+#define MSG_DATE LANG_TABLE_SELECT(MSG_DATE_LANG_TABLE)
extern const char* const MSG_DISABLE_STEPPERS_LANG_TABLE[LANG_NUM];
#define MSG_DISABLE_STEPPERS LANG_TABLE_SELECT(MSG_DISABLE_STEPPERS_LANG_TABLE)
extern const char* const MSG_DWELL_LANG_TABLE[LANG_NUM];
@@ -268,6 +272,8 @@ extern const char* const MSG_LANGUAGE_NAME_LANG_TABLE[LANG_NUM];
extern const char* const MSG_LANGUAGE_SELECT_LANG_TABLE[LANG_NUM];
#define MSG_LANGUAGE_SELECT LANG_TABLE_SELECT(MSG_LANGUAGE_SELECT_LANG_TABLE)
#define MSG_LANGUAGE_SELECT_EXPLICIT(LANG) LANG_TABLE_SELECT_EXPLICIT(MSG_LANGUAGE_SELECT_LANG_TABLE, LANG)
+extern const char* const MSG_LEFT_LANG_TABLE[LANG_NUM];
+#define MSG_LEFT LANG_TABLE_SELECT(MSG_LEFT_LANG_TABLE)
extern const char* const MSG_LOADING_COLOR_LANG_TABLE[LANG_NUM];
#define MSG_LOADING_COLOR LANG_TABLE_SELECT(MSG_LOADING_COLOR_LANG_TABLE)
extern const char* const MSG_LOADING_FILAMENT_LANG_TABLE[LANG_NUM];
@@ -310,6 +316,8 @@ extern const char* const MSG_MARK_FIL_LANG_TABLE[LANG_NUM];
#define MSG_MARK_FIL LANG_TABLE_SELECT(MSG_MARK_FIL_LANG_TABLE)
extern const char* const MSG_MAX_LANG_TABLE[1];
#define MSG_MAX LANG_TABLE_SELECT_EXPLICIT(MSG_MAX_LANG_TABLE, 0)
+extern const char* const MSG_MEASURED_SKEW_LANG_TABLE[LANG_NUM];
+#define MSG_MEASURED_SKEW LANG_TABLE_SELECT(MSG_MEASURED_SKEW_LANG_TABLE)
extern const char* const MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1_LANG_TABLE[LANG_NUM];
#define MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 LANG_TABLE_SELECT(MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1_LANG_TABLE)
extern const char* const MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2_LANG_TABLE[LANG_NUM];
@@ -430,6 +438,8 @@ extern const char* const MSG_RESUMING_LANG_TABLE[LANG_NUM];
#define MSG_RESUMING LANG_TABLE_SELECT(MSG_RESUMING_LANG_TABLE)
extern const char* const MSG_RESUMING_PRINT_LANG_TABLE[LANG_NUM];
#define MSG_RESUMING_PRINT LANG_TABLE_SELECT(MSG_RESUMING_PRINT_LANG_TABLE)
+extern const char* const MSG_RIGHT_LANG_TABLE[LANG_NUM];
+#define MSG_RIGHT LANG_TABLE_SELECT(MSG_RIGHT_LANG_TABLE)
extern const char* const MSG_SD_CANT_ENTER_SUBDIR_LANG_TABLE[1];
#define MSG_SD_CANT_ENTER_SUBDIR LANG_TABLE_SELECT_EXPLICIT(MSG_SD_CANT_ENTER_SUBDIR_LANG_TABLE, 0)
extern const char* const MSG_SD_CANT_OPEN_SUBDIR_LANG_TABLE[1];
@@ -526,12 +536,16 @@ extern const char* const MSG_SET_ORIGIN_LANG_TABLE[1];
#define MSG_SET_ORIGIN LANG_TABLE_SELECT_EXPLICIT(MSG_SET_ORIGIN_LANG_TABLE, 0)
extern const char* const MSG_SET_TEMPERATURE_LANG_TABLE[LANG_NUM];
#define MSG_SET_TEMPERATURE LANG_TABLE_SELECT(MSG_SET_TEMPERATURE_LANG_TABLE)
+extern const char* const MSG_SEVERE_SKEW_LANG_TABLE[LANG_NUM];
+#define MSG_SEVERE_SKEW LANG_TABLE_SELECT(MSG_SEVERE_SKEW_LANG_TABLE)
extern const char* const MSG_SHOW_END_STOPS_LANG_TABLE[LANG_NUM];
#define MSG_SHOW_END_STOPS LANG_TABLE_SELECT(MSG_SHOW_END_STOPS_LANG_TABLE)
extern const char* const MSG_SILENT_MODE_OFF_LANG_TABLE[LANG_NUM];
#define MSG_SILENT_MODE_OFF LANG_TABLE_SELECT(MSG_SILENT_MODE_OFF_LANG_TABLE)
extern const char* const MSG_SILENT_MODE_ON_LANG_TABLE[LANG_NUM];
#define MSG_SILENT_MODE_ON LANG_TABLE_SELECT(MSG_SILENT_MODE_ON_LANG_TABLE)
+extern const char* const MSG_SLIGHT_SKEW_LANG_TABLE[LANG_NUM];
+#define MSG_SLIGHT_SKEW LANG_TABLE_SELECT(MSG_SLIGHT_SKEW_LANG_TABLE)
extern const char* const MSG_SOFTWARE_RESET_LANG_TABLE[1];
#define MSG_SOFTWARE_RESET LANG_TABLE_SELECT_EXPLICIT(MSG_SOFTWARE_RESET_LANG_TABLE, 0)
extern const char* const MSG_SPEED_LANG_TABLE[LANG_NUM];
@@ -616,12 +630,16 @@ extern const char* const MSG_WATCH_LANG_TABLE[LANG_NUM];
#define MSG_WATCH LANG_TABLE_SELECT(MSG_WATCH_LANG_TABLE)
extern const char* const MSG_WATCHDOG_RESET_LANG_TABLE[1];
#define MSG_WATCHDOG_RESET LANG_TABLE_SELECT_EXPLICIT(MSG_WATCHDOG_RESET_LANG_TABLE, 0)
+extern const char* const MSG_XYZ_DETAILS_LANG_TABLE[LANG_NUM];
+#define MSG_XYZ_DETAILS LANG_TABLE_SELECT(MSG_XYZ_DETAILS_LANG_TABLE)
extern const char* const MSG_X_MAX_LANG_TABLE[1];
#define MSG_X_MAX LANG_TABLE_SELECT_EXPLICIT(MSG_X_MAX_LANG_TABLE, 0)
extern const char* const MSG_X_MIN_LANG_TABLE[1];
#define MSG_X_MIN LANG_TABLE_SELECT_EXPLICIT(MSG_X_MIN_LANG_TABLE, 0)
extern const char* const MSG_YES_LANG_TABLE[LANG_NUM];
#define MSG_YES LANG_TABLE_SELECT(MSG_YES_LANG_TABLE)
+extern const char* const MSG_Y_DISTANCE_FROM_MIN_LANG_TABLE[LANG_NUM];
+#define MSG_Y_DISTANCE_FROM_MIN LANG_TABLE_SELECT(MSG_Y_DISTANCE_FROM_MIN_LANG_TABLE)
extern const char* const MSG_Y_MAX_LANG_TABLE[1];
#define MSG_Y_MAX LANG_TABLE_SELECT_EXPLICIT(MSG_Y_MAX_LANG_TABLE, 0)
extern const char* const MSG_Y_MIN_LANG_TABLE[1];
diff --git a/Firmware/language_cz.h b/Firmware/language_cz.h
index 5f2e36af5..d9f3715d9 100644
--- a/Firmware/language_cz.h
+++ b/Firmware/language_cz.h
@@ -301,4 +301,13 @@
#define MSG_EXTRUDER_1 "Extruder 1"
#define MSG_EXTRUDER_2 "Extruder 2"
#define MSG_EXTRUDER_3 "Extruder 3"
-#define MSG_EXTRUDER_4 "Extruder 4" \ No newline at end of file
+#define MSG_EXTRUDER_4 "Extruder 4"
+#define MSG_DATE "Datum:"
+#define MSG_XYZ_DETAILS "Detaily XYZ kal."
+#define MSG_Y_DISTANCE_FROM_MIN "Y vzdalenost od min:"
+#define MSG_LEFT "Levy:"
+#define MSG_CENTER "Stred:"
+#define MSG_RIGHT "Pravy:"
+#define MSG_MEASURED_SKEW "Merene zkoseni:"
+#define MSG_SLIGHT_SKEW "Lehke zkoseni:"
+#define MSG_SEVERE_SKEW "Tezke zkoseni:" \ No newline at end of file
diff --git a/Firmware/language_de.h b/Firmware/language_de.h
index fe5f41825..aab7c91b9 100644
--- a/Firmware/language_de.h
+++ b/Firmware/language_de.h
@@ -314,4 +314,13 @@
#define MSG_EXTRUDER_1 "Extruder 1"
#define MSG_EXTRUDER_2 "Extruder 2"
#define MSG_EXTRUDER_3 "Extruder 3"
-#define MSG_EXTRUDER_4 "Extruder 4" \ No newline at end of file
+#define MSG_EXTRUDER_4 "Extruder 4"
+#define MSG_DATE "Datum"
+#define MSG_XYZ_DETAILS "XYZ Kal. Details"
+#define MSG_Y_DISTANCE_FROM_MIN "Y Entfernung vom min"
+#define MSG_LEFT "Links:"
+#define MSG_CENTER "Mitte:"
+#define MSG_RIGHT "Rechts:"
+#define MSG_MEASURED_SKEW "Schraeglauf:"
+#define MSG_SLIGHT_SKEW "Leichter Schr.:"
+#define MSG_SEVERE_SKEW "Schwerer Schr.:" \ No newline at end of file
diff --git a/Firmware/language_en.h b/Firmware/language_en.h
index 2cc2824e6..721385648 100644
--- a/Firmware/language_en.h
+++ b/Firmware/language_en.h
@@ -302,4 +302,12 @@
#define(length=17, lines=1) MSG_EXTRUDER_2 "Extruder 2"
#define(length=17, lines=1) MSG_EXTRUDER_3 "Extruder 3"
#define(length=17, lines=1) MSG_EXTRUDER_4 "Extruder 4"
-
+#define(length=17, lines=1) MSG_DATE "Date:"
+#define(length=19, lines=1) MSG_XYZ_DETAILS "XYZ cal. details"
+#define(length=20, lines=1) MSG_Y_DISTANCE_FROM_MIN "Y distance from min:"
+#define(length=12, lines=1) MSG_LEFT "Left:"
+#define(length=12, lines=1) MSG_CENTER "Center:"
+#define(length=12, lines=1) MSG_RIGHT "Right:"
+#define(length=15, lines=1) MSG_MEASURED_SKEW "Measured skew:"
+#define(length=15, lines=1) MSG_SLIGHT_SKEW "Slight skew:"
+#define(length=15, lines=1) MSG_SEVERE_SKEW "Severe skew:" \ No newline at end of file
diff --git a/Firmware/language_es.h b/Firmware/language_es.h
index d44cda831..1d56ed025 100644
--- a/Firmware/language_es.h
+++ b/Firmware/language_es.h
@@ -295,4 +295,13 @@
#define MSG_EXTRUDER_1 "Extrusor 1"
#define MSG_EXTRUDER_2 "Extrusor 2"
#define MSG_EXTRUDER_3 "Extrusor 3"
-#define MSG_EXTRUDER_4 "Extrusor 4" \ No newline at end of file
+#define MSG_EXTRUDER_4 "Extrusor 4"
+#define MSG_DATE "Fecha:"
+#define MSG_XYZ_DETAILS "Inform. XYZ cal."
+#define MSG_Y_DISTANCE_FROM_MIN "Dist. Y desde min:"
+#define MSG_LEFT "Izquierda:"
+#define MSG_CENTER "Centro:"
+#define MSG_RIGHT "Derecha:"
+#define MSG_MEASURED_SKEW "Inclin. medida:"
+#define MSG_SLIGHT_SKEW "Inclin. ligera:"
+#define MSG_SEVERE_SKEW "Inclin. severa:" \ No newline at end of file
diff --git a/Firmware/language_it.h b/Firmware/language_it.h
index 629754760..d25a17200 100644
--- a/Firmware/language_it.h
+++ b/Firmware/language_it.h
@@ -286,4 +286,13 @@
#define MSG_EXTRUDER_1 "Estrusore 1"
#define MSG_EXTRUDER_2 "Estrusore 2"
#define MSG_EXTRUDER_3 "Estrusore 3"
-#define MSG_EXTRUDER_4 "Estrusore 4" \ No newline at end of file
+#define MSG_EXTRUDER_4 "Estrusore 4"
+#define MSG_DATE "Data"
+#define MSG_XYZ_DETAILS "XYZ Cal. dettagli"
+#define MSG_Y_DISTANCE_FROM_MIN "Distanza Y da min:"
+#define MSG_LEFT "Sinistra:"
+#define MSG_CENTER "Centro:"
+#define MSG_RIGHT "Destra:"
+#define MSG_MEASURED_SKEW "Incl. misurata:"
+#define MSG_SLIGHT_SKEW "Incl. leggera:"
+#define MSG_SEVERE_SKEW "Inc. rilevante:" \ No newline at end of file
diff --git a/Firmware/language_pl.h b/Firmware/language_pl.h
index 3cd283ded..e953e7c9d 100644
--- a/Firmware/language_pl.h
+++ b/Firmware/language_pl.h
@@ -298,4 +298,13 @@
#define MSG_EXTRUDER_1 "Ekstruder 1"
#define MSG_EXTRUDER_2 "Ekstruder 2"
#define MSG_EXTRUDER_3 "Ekstruder 3"
-#define MSG_EXTRUDER_4 "Ekstruder 4" \ No newline at end of file
+#define MSG_EXTRUDER_4 "Ekstruder 4"
+#define MSG_DATE "Data:"
+#define MSG_XYZ_DETAILS "Szczegoly kal.XYZ"
+#define MSG_Y_DISTANCE_FROM_MIN "Odleglosc Y od min.:"
+#define MSG_LEFT "Lewy:"
+#define MSG_CENTER "Srodek:"
+#define MSG_RIGHT "Prawy:"
+#define MSG_MEASURED_SKEW "Zmier. sciecie:"
+#define MSG_SLIGHT_SKEW "Lekkie sciecie:"
+#define MSG_SEVERE_SKEW "Ostre sciecie:" \ No newline at end of file
diff --git a/Firmware/mesh_bed_calibration.cpp b/Firmware/mesh_bed_calibration.cpp
index ca5312ace..4d795b0d6 100644
--- a/Firmware/mesh_bed_calibration.cpp
+++ b/Firmware/mesh_bed_calibration.cpp
@@ -2083,12 +2083,21 @@ BedSkewOffsetDetectionResultType improve_bed_offset_and_skew(int8_t method, int8
for (uint8_t mesh_point = 0; mesh_point < 3; ++ mesh_point)
if (pts[mesh_point * 2 + 1] < Y_MIN_POS_CALIBRATION_POINT_OUT_OF_REACH)
too_far_mask |= 1 << mesh_point;
- result = calculate_machine_skew_and_offset_LS(pts, 9, bed_ref_points, vec_x, vec_y, cntr, verbosity_level);
+
+ if (verbosity_level >= 20) {
+ SERIAL_ECHOPGM("Distance from min before calculate_machine skew and offset LS:");
+ MYSERIAL.print(int(too_far_mask));
+ }
+
+ result = calculate_machine_skew_and_offset_LS(pts, 9, bed_ref_points, vec_x, vec_y, cntr, verbosity_level);
if (result < 0) {
SERIAL_ECHOLNPGM("Calculation of the machine skew and offset failed.");
goto canceled;
}
// In case of success, update the too_far_mask from the calculated points.
+ too_far_mask = 0;
+ if(verbosity_level >= 20) SERIAL_ECHOPGM("Reseting too far mask.");
+
for (uint8_t mesh_point = 0; mesh_point < 3; ++ mesh_point) {
float y = vec_x[1] * pgm_read_float(bed_ref_points+mesh_point*2) + vec_y[1] * pgm_read_float(bed_ref_points+mesh_point*2+1) + cntr[1];
distance_from_min[mesh_point] = (y - Y_MIN_POS_CALIBRATION_POINT_OUT_OF_REACH);
@@ -2447,8 +2456,28 @@ void count_xyz_details() {
eeprom_read_float((float*)(EEPROM_BED_CALIBRATION_VEC_Y + 0)),
eeprom_read_float((float*)(EEPROM_BED_CALIBRATION_VEC_Y + 4))
};
+ SERIAL_ECHOPGM("cntr[0]:");
+ MYSERIAL.println(cntr[0]);
+ SERIAL_ECHOPGM("cntr[1]:");
+ MYSERIAL.println(cntr[1]);
+ SERIAL_ECHOPGM("vec_x[0]:");
+ MYSERIAL.println(vec_x[0]);
+ SERIAL_ECHOPGM("vec_x[1]:");
+ MYSERIAL.println(vec_x[1]);
+ SERIAL_ECHOPGM("vec_y[0]:");
+ MYSERIAL.println(vec_y[0]);
+ SERIAL_ECHOPGM("vec_y[1]:");
+ MYSERIAL.println(vec_y[1]);
+ SERIAL_ECHOPGM("Calibration status:");
+ MYSERIAL.println(int(calibration_status()));
+
a2 = -1 * asin(vec_y[0] / MACHINE_AXIS_SCALE_Y);
+/* SERIAL_ECHOLNPGM("par:");
+ MYSERIAL.println(vec_y[0]);
+ MYSERIAL.println(a2);*/
a1 = asin(vec_x[1] / MACHINE_AXIS_SCALE_X);
+/* MYSERIAL.println(vec_x[1]);
+ MYSERIAL.println(a1);*/
angleDiff = fabs(a2 - a1);
for (uint8_t mesh_point = 0; mesh_point < 3; ++mesh_point) {
float y = vec_x[1] * pgm_read_float(bed_ref_points + mesh_point * 2) + vec_y[1] * pgm_read_float(bed_ref_points + mesh_point * 2 + 1) + cntr[1];
diff --git a/Firmware/temperature.cpp b/Firmware/temperature.cpp
index 27ceb7d3f..0eae8ded4 100644
--- a/Firmware/temperature.cpp
+++ b/Firmware/temperature.cpp
@@ -1074,7 +1074,7 @@ void temp_runaway_check(int _heater_id, float _target_temperature, float _curren
static int __preheat_counter[2] = { 0,0};
static int __preheat_errors[2] = { 0,0};
-
+
#ifdef TEMP_RUNAWAY_BED_TIMEOUT
if (_isbed)
{
@@ -1121,11 +1121,14 @@ void temp_runaway_check(int _heater_id, float _target_temperature, float _curren
if (_current_temperature < ((_isbed) ? (0.8 * _target_temperature) : 150)) //check only in area where temperature is changing fastly for heater, check to 0.8 x target temperature for bed
{
__preheat_counter[_heater_id]++;
+ //SERIAL_ECHOPGM("counter[0]:"); MYSERIAL.println(__preheat_counter[0]);
+ //SERIAL_ECHOPGM("counter[1]:"); MYSERIAL.println(__preheat_counter[1]);
+ //SERIAL_ECHOPGM("_isbed"); MYSERIAL.println(_isbed);
if (__preheat_counter[_heater_id] > ((_isbed) ? 16 : 8)) // periodicaly check if current temperature changes
{
- /*SERIAL_ECHOPGM("Heater:");
+ /*SERIAL_ECHOLNPGM("Heater:");
MYSERIAL.print(_heater_id);
- SERIAL_ECHOPGM(" T:");
+ SERIAL_ECHOPGM(" Current temperature:");
MYSERIAL.print(_current_temperature);
SERIAL_ECHOPGM(" Tstart:");
MYSERIAL.print(__preheat_start[_heater_id]);*/
diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp
index 040f5a74b..c731651c5 100644
--- a/Firmware/ultralcd.cpp
+++ b/Firmware/ultralcd.cpp
@@ -930,7 +930,7 @@ static void lcd_support_menu()
MENU_ITEM(back, PSTR(ELECTRONICS),lcd_main_menu);
MENU_ITEM(back, PSTR(NOZZLE_TYPE),lcd_main_menu);
MENU_ITEM(back, PSTR("------------"), lcd_main_menu);
- MENU_ITEM(back, PSTR("Date: "), lcd_main_menu);
+ MENU_ITEM(back, MSG_DATE, lcd_main_menu);
MENU_ITEM(back, PSTR(__DATE__), lcd_main_menu);
// Show the FlashAir IP address, if the card is available.
@@ -941,7 +941,7 @@ static void lcd_support_menu()
}
#ifndef MK1BP
MENU_ITEM(back, PSTR("------------"), lcd_main_menu);
- MENU_ITEM(function, PSTR("XYZ cal. details"), lcd_service_mode_show_result);
+ if(!IS_SD_PRINTING) MENU_ITEM(function, MSG_XYZ_DETAILS, lcd_service_mode_show_result);
#endif //MK1BP
END_MENU();
}
@@ -1352,16 +1352,16 @@ void lcd_service_mode_show_result() {
count_xyz_details();
lcd_update_enable(false);
lcd_implementation_clear();
- lcd_printPGM(PSTR("Y distance from min:"));
- lcd_print_at_PGM(0, 1, PSTR("Left:"));
- lcd_print_at_PGM(0, 2, PSTR("Center:"));
- lcd_print_at_PGM(0, 3, PSTR("Right:"));
+ lcd_printPGM(MSG_Y_DISTANCE_FROM_MIN);
+ lcd_print_at_PGM(0, 1, MSG_LEFT);
+ lcd_print_at_PGM(0, 2, MSG_CENTER);
+ lcd_print_at_PGM(0, 3, MSG_RIGHT);
for (int i = 0; i < 3; i++) {
if(distance_from_min[i] < 200) {
- lcd_print_at_PGM(8, i + 1, PSTR(""));
+ lcd_print_at_PGM(11, i + 1, PSTR(""));
lcd.print(distance_from_min[i]);
- lcd_print_at_PGM((distance_from_min[i] < 0) ? 14 : 13, i + 1, PSTR("mm"));
- } else lcd_print_at_PGM(8, i + 1, PSTR("N/A"));
+ lcd_print_at_PGM((distance_from_min[i] < 0) ? 17 : 16, i + 1, PSTR("mm"));
+ } else lcd_print_at_PGM(11, i + 1, PSTR("N/A"));
}
delay_keep_alive(500);
while (!lcd_clicked()) {
@@ -1371,17 +1371,18 @@ void lcd_service_mode_show_result() {
lcd_implementation_clear();
- lcd_printPGM(PSTR("Measured skew: "));
+ lcd_printPGM(MSG_MEASURED_SKEW);
if (angleDiff < 100) {
+ lcd.setCursor(15, 0);
lcd.print(angleDiff * 180 / M_PI);
lcd.print(LCD_STR_DEGREE);
- }else lcd_print_at_PGM(15, 0, PSTR("N/A"));
+ }else lcd_print_at_PGM(16, 0, PSTR("N/A"));
lcd_print_at_PGM(0, 1, PSTR("--------------------"));
- lcd_print_at_PGM(0, 2, PSTR("Slight skew:"));
+ lcd_print_at_PGM(0, 2, MSG_SLIGHT_SKEW);
lcd_print_at_PGM(15, 2, PSTR(""));
lcd.print(bed_skew_angle_mild * 180 / M_PI);
lcd.print(LCD_STR_DEGREE);
- lcd_print_at_PGM(0, 3, PSTR("Severe skew:"));
+ lcd_print_at_PGM(0, 3, MSG_SEVERE_SKEW);
lcd_print_at_PGM(15, 3, PSTR(""));
lcd.print(bed_skew_angle_extreme * 180 / M_PI);
lcd.print(LCD_STR_DEGREE);