merging with upstream

This commit is contained in:
PavelSindler 2017-11-15 15:45:26 +01:00
commit 16a7adfe33
11 changed files with 219 additions and 37 deletions

View File

@ -5367,6 +5367,7 @@ case 404: //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or disp
} }
} }
WRITE(BEEPER, LOW);
KEEPALIVE_STATE(IN_HANDLER); KEEPALIVE_STATE(IN_HANDLER);
#ifdef SNMM #ifdef SNMM
@ -5383,14 +5384,9 @@ case 404: //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or disp
target[E_AXIS] += 0.001; target[E_AXIS] += 0.001;
plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], 1000, active_extruder); plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], 1000, active_extruder);
}*/ }*/
#endif
//Filament inserted
WRITE(BEEPER,LOW);
//Feed the filament to the end of nozzle quickly //Filament inserted
#ifdef SNMM //Feed the filament to the end of nozzle quickly
st_synchronize(); st_synchronize();
target[E_AXIS] += bowden_length[snmm_extruder]; target[E_AXIS] += bowden_length[snmm_extruder];
plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], 3000, active_extruder); plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], 3000, active_extruder);
@ -5729,6 +5725,7 @@ case 404: //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or disp
else if(code_seen('T')) else if(code_seen('T'))
{ {
int index; int index;
st_synchronize();
for (index = 1; *(strchr_pointer + index) == ' ' || *(strchr_pointer + index) == '\t'; index++); for (index = 1; *(strchr_pointer + index) == ' ' || *(strchr_pointer + index) == '\t'; index++);
if ((*(strchr_pointer + index) < '0' || *(strchr_pointer + index) > '9') && *(strchr_pointer + index) != '?') { if ((*(strchr_pointer + index) < '0' || *(strchr_pointer + index) > '9') && *(strchr_pointer + index) != '?') {
@ -5751,7 +5748,7 @@ case 404: //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or disp
snmm_extruder = tmp_extruder; snmm_extruder = tmp_extruder;
st_synchronize();
delay(100); delay(100);
disable_e0(); disable_e0();

View File

@ -765,6 +765,20 @@ const char * const MSG_CURRENT_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_CURRENT_DE 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_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_EN,
MSG_DATE_PL,
MSG_DATE_DE
};
const char MSG_DISABLE_STEPPERS_EN[] PROGMEM = "Disable steppers"; const char MSG_DISABLE_STEPPERS_EN[] PROGMEM = "Disable steppers";
const char MSG_DISABLE_STEPPERS_CZ[] PROGMEM = "Vypnout motory"; const char MSG_DISABLE_STEPPERS_CZ[] PROGMEM = "Vypnout motory";
const char MSG_DISABLE_STEPPERS_IT[] PROGMEM = "Disabilit motori"; const char MSG_DISABLE_STEPPERS_IT[] PROGMEM = "Disabilit motori";
@ -1424,6 +1438,20 @@ const char * const MSG_LANGUAGE_SELECT_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_LANGUAGE_SELECT_DE 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_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_EN,
MSG_LEFT_PL,
MSG_LEFT_DE
};
const char MSG_LOADING_COLOR_EN[] PROGMEM = "Loading color"; const char MSG_LOADING_COLOR_EN[] PROGMEM = "Loading color";
const char MSG_LOADING_COLOR_CZ[] PROGMEM = "Cisteni barvy"; const char MSG_LOADING_COLOR_CZ[] PROGMEM = "Cisteni barvy";
const char MSG_LOADING_COLOR_IT[] PROGMEM = "Caricando colore"; const char MSG_LOADING_COLOR_IT[] PROGMEM = "Caricando colore";
@ -1654,6 +1682,20 @@ const char * const MSG_MAX_LANG_TABLE[1] PROGMEM = {
MSG_MAX_EN 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_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_EN,
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_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_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"; const char MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1_IT[] PROGMEM = "Misurare l'altezza di riferimento del punto di calibrazione";
@ -2393,6 +2435,20 @@ const char * const MSG_RESUMING_PRINT_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_RESUMING_PRINT_DE 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_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_EN,
MSG_RIGHT_PL,
MSG_RIGHT_DE
};
const char MSG_SD_CANT_ENTER_SUBDIR_EN[] PROGMEM = "Cannot enter subdir: "; const char MSG_SD_CANT_ENTER_SUBDIR_EN[] PROGMEM = "Cannot enter subdir: ";
const char * const MSG_SD_CANT_ENTER_SUBDIR_LANG_TABLE[1] PROGMEM = { const char * const MSG_SD_CANT_ENTER_SUBDIR_LANG_TABLE[1] PROGMEM = {
MSG_SD_CANT_ENTER_SUBDIR_EN MSG_SD_CANT_ENTER_SUBDIR_EN
@ -2918,6 +2974,20 @@ const char * const MSG_SET_TEMPERATURE_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_SET_TEMPERATURE_DE 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_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_EN,
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_EN[] PROGMEM = "Show end stops";
const char MSG_SHOW_END_STOPS_CZ[] PROGMEM = "Stav konc. spin."; const char MSG_SHOW_END_STOPS_CZ[] PROGMEM = "Stav konc. spin.";
const char MSG_SHOW_END_STOPS_IT[] PROGMEM = "Stato finecorsa"; const char MSG_SHOW_END_STOPS_IT[] PROGMEM = "Stato finecorsa";
@ -2963,6 +3033,20 @@ const char * const MSG_SILENT_MODE_ON_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_SILENT_MODE_ON_DE 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_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_EN,
MSG_SLIGHT_SKEW_PL,
MSG_SLIGHT_SKEW_DE
};
const char MSG_SOFTWARE_RESET_EN[] PROGMEM = " Software Reset"; const char MSG_SOFTWARE_RESET_EN[] PROGMEM = " Software Reset";
const char * const MSG_SOFTWARE_RESET_LANG_TABLE[1] PROGMEM = { const char * const MSG_SOFTWARE_RESET_LANG_TABLE[1] PROGMEM = {
MSG_SOFTWARE_RESET_EN MSG_SOFTWARE_RESET_EN
@ -3772,6 +3856,20 @@ const char * const MSG_WIZARD_Z_CAL_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_WIZARD_Z_CAL_DE MSG_WIZARD_Z_CAL_DE
}; };
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_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_EN,
MSG_XYZ_DETAILS_PL,
MSG_XYZ_DETAILS_DE
};
const char MSG_X_MAX_EN[] PROGMEM = "x_max: "; const char MSG_X_MAX_EN[] PROGMEM = "x_max: ";
const char * const MSG_X_MAX_LANG_TABLE[1] PROGMEM = { const char * const MSG_X_MAX_LANG_TABLE[1] PROGMEM = {
MSG_X_MAX_EN MSG_X_MAX_EN
@ -3797,6 +3895,20 @@ const char * const MSG_YES_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_YES_DE 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_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_EN,
MSG_Y_DISTANCE_FROM_MIN_PL,
MSG_Y_DISTANCE_FROM_MIN_DE
};
const char MSG_Y_MAX_EN[] PROGMEM = "y_max: "; const char MSG_Y_MAX_EN[] PROGMEM = "y_max: ";
const char * const MSG_Y_MAX_LANG_TABLE[1] PROGMEM = { const char * const MSG_Y_MAX_LANG_TABLE[1] PROGMEM = {
MSG_Y_MAX_EN MSG_Y_MAX_EN

View File

@ -154,6 +154,8 @@ extern const char* const MSG_CRASH_DETECTED_LANG_TABLE[1];
#define MSG_CRASH_DETECTED LANG_TABLE_SELECT_EXPLICIT(MSG_CRASH_DETECTED_LANG_TABLE, 0) #define MSG_CRASH_DETECTED LANG_TABLE_SELECT_EXPLICIT(MSG_CRASH_DETECTED_LANG_TABLE, 0)
extern const char* const MSG_CURRENT_LANG_TABLE[LANG_NUM]; extern const char* const MSG_CURRENT_LANG_TABLE[LANG_NUM];
#define MSG_CURRENT LANG_TABLE_SELECT(MSG_CURRENT_LANG_TABLE) #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]; 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];
@ -290,6 +292,8 @@ extern const char* const MSG_LANGUAGE_NAME_LANG_TABLE[LANG_NUM];
extern const char* const MSG_LANGUAGE_SELECT_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 LANG_TABLE_SELECT(MSG_LANGUAGE_SELECT_LANG_TABLE)
#define MSG_LANGUAGE_SELECT_EXPLICIT(LANG) LANG_TABLE_SELECT_EXPLICIT(MSG_LANGUAGE_SELECT_LANG_TABLE, LANG) #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]; extern const char* const MSG_LOADING_COLOR_LANG_TABLE[LANG_NUM];
#define MSG_LOADING_COLOR LANG_TABLE_SELECT(MSG_LOADING_COLOR_LANG_TABLE) #define MSG_LOADING_COLOR LANG_TABLE_SELECT(MSG_LOADING_COLOR_LANG_TABLE)
extern const char* const MSG_LOADING_FILAMENT_LANG_TABLE[LANG_NUM]; extern const char* const MSG_LOADING_FILAMENT_LANG_TABLE[LANG_NUM];
@ -334,6 +338,8 @@ extern const char* const MSG_MARK_FIL_LANG_TABLE[LANG_NUM];
#define MSG_MARK_FIL LANG_TABLE_SELECT(MSG_MARK_FIL_LANG_TABLE) #define MSG_MARK_FIL LANG_TABLE_SELECT(MSG_MARK_FIL_LANG_TABLE)
extern const char* const MSG_MAX_LANG_TABLE[1]; extern const char* const MSG_MAX_LANG_TABLE[1];
#define MSG_MAX LANG_TABLE_SELECT_EXPLICIT(MSG_MAX_LANG_TABLE, 0) #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]; 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) #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]; extern const char* const MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2_LANG_TABLE[LANG_NUM];
@ -466,6 +472,8 @@ extern const char* const MSG_RESUMING_LANG_TABLE[LANG_NUM];
#define MSG_RESUMING LANG_TABLE_SELECT(MSG_RESUMING_LANG_TABLE) #define MSG_RESUMING LANG_TABLE_SELECT(MSG_RESUMING_LANG_TABLE)
extern const char* const MSG_RESUMING_PRINT_LANG_TABLE[LANG_NUM]; extern const char* const MSG_RESUMING_PRINT_LANG_TABLE[LANG_NUM];
#define MSG_RESUMING_PRINT LANG_TABLE_SELECT(MSG_RESUMING_PRINT_LANG_TABLE) #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]; 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) #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]; extern const char* const MSG_SD_CANT_OPEN_SUBDIR_LANG_TABLE[1];
@ -566,12 +574,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) #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]; extern const char* const MSG_SET_TEMPERATURE_LANG_TABLE[LANG_NUM];
#define MSG_SET_TEMPERATURE LANG_TABLE_SELECT(MSG_SET_TEMPERATURE_LANG_TABLE) #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]; 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) #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]; 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) #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]; 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) #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]; extern const char* const MSG_SOFTWARE_RESET_LANG_TABLE[1];
#define MSG_SOFTWARE_RESET LANG_TABLE_SELECT_EXPLICIT(MSG_SOFTWARE_RESET_LANG_TABLE, 0) #define MSG_SOFTWARE_RESET LANG_TABLE_SELECT_EXPLICIT(MSG_SOFTWARE_RESET_LANG_TABLE, 0)
extern const char* const MSG_SPEED_LANG_TABLE[LANG_NUM]; extern const char* const MSG_SPEED_LANG_TABLE[LANG_NUM];
@ -698,12 +710,16 @@ extern const char* const MSG_WIZARD_XYZ_CAL_LANG_TABLE[LANG_NUM];
#define MSG_WIZARD_XYZ_CAL LANG_TABLE_SELECT(MSG_WIZARD_XYZ_CAL_LANG_TABLE) #define MSG_WIZARD_XYZ_CAL LANG_TABLE_SELECT(MSG_WIZARD_XYZ_CAL_LANG_TABLE)
extern const char* const MSG_WIZARD_Z_CAL_LANG_TABLE[LANG_NUM]; extern const char* const MSG_WIZARD_Z_CAL_LANG_TABLE[LANG_NUM];
#define MSG_WIZARD_Z_CAL LANG_TABLE_SELECT(MSG_WIZARD_Z_CAL_LANG_TABLE) #define MSG_WIZARD_Z_CAL LANG_TABLE_SELECT(MSG_WIZARD_Z_CAL_LANG_TABLE)
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]; extern const char* const MSG_X_MAX_LANG_TABLE[1];
#define MSG_X_MAX LANG_TABLE_SELECT_EXPLICIT(MSG_X_MAX_LANG_TABLE, 0) #define MSG_X_MAX LANG_TABLE_SELECT_EXPLICIT(MSG_X_MAX_LANG_TABLE, 0)
extern const char* const MSG_X_MIN_LANG_TABLE[1]; extern const char* const MSG_X_MIN_LANG_TABLE[1];
#define MSG_X_MIN LANG_TABLE_SELECT_EXPLICIT(MSG_X_MIN_LANG_TABLE, 0) #define MSG_X_MIN LANG_TABLE_SELECT_EXPLICIT(MSG_X_MIN_LANG_TABLE, 0)
extern const char* const MSG_YES_LANG_TABLE[LANG_NUM]; extern const char* const MSG_YES_LANG_TABLE[LANG_NUM];
#define MSG_YES LANG_TABLE_SELECT(MSG_YES_LANG_TABLE) #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]; extern const char* const MSG_Y_MAX_LANG_TABLE[1];
#define MSG_Y_MAX LANG_TABLE_SELECT_EXPLICIT(MSG_Y_MAX_LANG_TABLE, 0) #define MSG_Y_MAX LANG_TABLE_SELECT_EXPLICIT(MSG_Y_MAX_LANG_TABLE, 0)
extern const char* const MSG_Y_MIN_LANG_TABLE[1]; extern const char* const MSG_Y_MIN_LANG_TABLE[1];

View File

@ -325,4 +325,13 @@
#define MSG_PLA_FILAMENT_LOADED "Je PLA filament zaveden?" #define MSG_PLA_FILAMENT_LOADED "Je PLA filament zaveden?"
#define MSG_PLEASE_LOAD_PLA "Nejdrive zavedte PLA filament prosim." #define MSG_PLEASE_LOAD_PLA "Nejdrive zavedte PLA filament prosim."
#define MSG_WIZARD_HEATING "Predehrivam trysku. Prosim cekejte." #define MSG_WIZARD_HEATING "Predehrivam trysku. Prosim cekejte."
#define MSG_M117_V2_CALIBRATION "M117 Kal. prvni vrstvy" #define MSG_M117_V2_CALIBRATION "M117 Kal. prvni vrstvy"
#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_RIGHT "Pravy:"
#define MSG_MEASURED_SKEW "Merene zkoseni:"
#define MSG_SLIGHT_SKEW "Lehke zkoseni:"
#define MSG_SEVERE_SKEW "Tezke zkoseni:"

View File

@ -338,4 +338,13 @@
#define MSG_PLA_FILAMENT_LOADED "Ist PLA Filament geladen?" #define MSG_PLA_FILAMENT_LOADED "Ist PLA Filament geladen?"
#define MSG_PLEASE_LOAD_PLA "Bitte laden Sie zuerst PLA Filament." #define MSG_PLEASE_LOAD_PLA "Bitte laden Sie zuerst PLA Filament."
#define MSG_WIZARD_HEATING "Vorheizen der Duese. Bitte warten." #define MSG_WIZARD_HEATING "Vorheizen der Duese. Bitte warten."
#define MSG_M117_V2_CALIBRATION "M117 Erste-Schicht Kal." #define MSG_M117_V2_CALIBRATION "M117 Erste-Schicht Kal."
#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_RIGHT "Rechts:"
#define MSG_MEASURED_SKEW "Schraeglauf:"
#define MSG_SLIGHT_SKEW "Leichter Schr.:"
#define MSG_SEVERE_SKEW "Schwerer Schr.:"

View File

@ -340,6 +340,16 @@
#define(lenght=20, lines=2) MSG_PLA_FILAMENT_LOADED "Is PLA filament loaded?" #define(lenght=20, lines=2) MSG_PLA_FILAMENT_LOADED "Is PLA filament loaded?"
#define(lenght=20, lines=4) MSG_PLEASE_LOAD_PLA "Please load PLA filament first." #define(lenght=20, lines=4) MSG_PLEASE_LOAD_PLA "Please load PLA filament first."
#define(length=25, lines=1) MSG_M117_V2_CALIBRATION "M117 First layer cal." #define(length=25, lines=1) MSG_M117_V2_CALIBRATION "M117 First layer cal."
#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_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:"
//messages bellow has no translation yet //messages bellow has no translation yet
#define MSG_CRASHDETECT_OFF "Crash det. [off]" #define MSG_CRASHDETECT_OFF "Crash det. [off]"

View File

@ -310,4 +310,13 @@
#define MSG_PLA_FILAMENT_LOADED "Il PLA e stato caricato?" #define MSG_PLA_FILAMENT_LOADED "Il PLA e stato caricato?"
#define MSG_PLEASE_LOAD_PLA "Per favore prima caricare filamento di PLA." #define MSG_PLEASE_LOAD_PLA "Per favore prima caricare filamento di PLA."
#define MSG_WIZARD_HEATING "Sto preriscaldando l'ugello. Per favore attendi." #define MSG_WIZARD_HEATING "Sto preriscaldando l'ugello. Per favore attendi."
#define MSG_M117_V2_CALIBRATION "M117 Cal. primo layer." #define MSG_M117_V2_CALIBRATION "M117 Cal. primo layer."
#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_RIGHT "Destra:"
#define MSG_MEASURED_SKEW "Incl. misurata:"
#define MSG_SLIGHT_SKEW "Incl. leggera:"
#define MSG_SEVERE_SKEW "Inc. rilevante:"

View File

@ -322,4 +322,13 @@
#define MSG_PLA_FILAMENT_LOADED "Fialment PLA jest zaladowany?" #define MSG_PLA_FILAMENT_LOADED "Fialment PLA jest zaladowany?"
#define MSG_PLEASE_LOAD_PLA "Prosze, najpierw zaladuj filament PLA." #define MSG_PLEASE_LOAD_PLA "Prosze, najpierw zaladuj filament PLA."
#define MSG_WIZARD_HEATING "Nagrzewanie dyszy. Prosze czekac." #define MSG_WIZARD_HEATING "Nagrzewanie dyszy. Prosze czekac."
#define MSG_M117_V2_CALIBRATION "M117 Kal. 1. warstwy" #define MSG_M117_V2_CALIBRATION "M117 Kal. 1. warstwy"
#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_RIGHT "Prawy:"
#define MSG_MEASURED_SKEW "Zmier. sciecie:"
#define MSG_SLIGHT_SKEW "Lekkie sciecie:"
#define MSG_SEVERE_SKEW "Ostre sciecie:"

View File

@ -1292,12 +1292,18 @@ void plan_set_position(float x, float y, float z, const float &e)
// Only useful in the bed leveling routine, when the mesh bed leveling is off. // Only useful in the bed leveling routine, when the mesh bed leveling is off.
void plan_set_z_position(const float &z) void plan_set_z_position(const float &z)
{ {
#ifdef LIN_ADVANCE
position_float[Z_AXIS] = z;
#endif
position[Z_AXIS] = lround(z*axis_steps_per_unit[Z_AXIS]); position[Z_AXIS] = lround(z*axis_steps_per_unit[Z_AXIS]);
st_set_position(position[X_AXIS], position[Y_AXIS], position[Z_AXIS], position[E_AXIS]); st_set_position(position[X_AXIS], position[Y_AXIS], position[Z_AXIS], position[E_AXIS]);
} }
void plan_set_e_position(const float &e) void plan_set_e_position(const float &e)
{ {
#ifdef LIN_ADVANCE
position_float[E_AXIS] = e;
#endif
position[E_AXIS] = lround(e*axis_steps_per_unit[E_AXIS]); position[E_AXIS] = lround(e*axis_steps_per_unit[E_AXIS]);
st_set_e_position(position[E_AXIS]); st_set_e_position(position[E_AXIS]);
} }

View File

@ -846,9 +846,6 @@ void isr() {
// Timer interrupt for E. e_steps is set in the main routine. // Timer interrupt for E. e_steps is set in the main routine.
void advance_isr() { void advance_isr() {
nextAdvanceISR = eISR_Rate;
if (e_steps) { if (e_steps) {
bool dir = bool dir =
#ifdef SNMM #ifdef SNMM
@ -869,6 +866,10 @@ void advance_isr() {
} }
} }
else {
eISR_Rate = ADV_NEVER;
}
nextAdvanceISR = eISR_Rate;
} }
void advance_isr_scheduler() { void advance_isr_scheduler() {

View File

@ -553,7 +553,6 @@ static void lcd_status_screen()
void lcd_commands() void lcd_commands()
{ {
char cmd1[25];
if (lcd_commands_type == LCD_COMMAND_LONG_PAUSE) if (lcd_commands_type == LCD_COMMAND_LONG_PAUSE)
{ {
if(lcd_commands_step == 0) { if(lcd_commands_step == 0) {
@ -596,10 +595,16 @@ void lcd_commands()
strcpy(cmd1, "G1 Z"); strcpy(cmd1, "G1 Z");
strcat(cmd1, ftostr32(pause_lastpos[Z_AXIS])); strcat(cmd1, ftostr32(pause_lastpos[Z_AXIS]));
enquecommand(cmd1); enquecommand(cmd1);
if (axis_relative_modes[3] == true) enquecommand_P(PSTR("M83")); // set extruder to relative mode.
else enquecommand_P(PSTR("M82")); // set extruder to absolute mode if (axis_relative_modes[3] == false) {
enquecommand_P(PSTR("M83")); // set extruder to relative mode
enquecommand_P(PSTR("G1 E" STRINGIFY(DEFAULT_RETRACTION))); //unretract enquecommand_P(PSTR("G1 E" STRINGIFY(DEFAULT_RETRACTION))); //unretract
enquecommand_P(PSTR("G90")); //absolute positioning enquecommand_P(PSTR("M82")); // set extruder to absolute mode
}
else {
enquecommand_P(PSTR("G1 E" STRINGIFY(DEFAULT_RETRACTION))); //unretract
}
lcd_commands_step = 1; lcd_commands_step = 1;
} }
if (lcd_commands_step == 3 && !blocks_queued()) { //wait for nozzle to reach target temp if (lcd_commands_step == 3 && !blocks_queued()) { //wait for nozzle to reach target temp
@ -614,7 +619,7 @@ void lcd_commands()
strcpy(cmd1, "M104 S"); strcpy(cmd1, "M104 S");
strcat(cmd1, ftostr3(HotendTempBckp)); strcat(cmd1, ftostr3(HotendTempBckp));
enquecommand(cmd1); enquecommand(cmd1);
enquecommand_P(PSTR("G90")); //absolute positioning
strcpy(cmd1, "G1 X"); strcpy(cmd1, "G1 X");
strcat(cmd1, ftostr32(pause_lastpos[X_AXIS])); strcat(cmd1, ftostr32(pause_lastpos[X_AXIS]));
strcat(cmd1, " Y"); strcat(cmd1, " Y");
@ -862,7 +867,7 @@ void lcd_commands()
enquecommand_P(PSTR("G1 X50 Y1 E-5.0000")); enquecommand_P(PSTR("G1 X50 Y1 E-5.0000"));
enquecommand_P(PSTR("G1 F2400")); enquecommand_P(PSTR("G1 F2400"));
enquecommand_P(PSTR("G1 X0 Y1 E5.0000")); enquecommand_P(PSTR("G1 X0 Y1 E5.0000"));
enquecommand_P(PSTR("G1 X50 Y1 E - 5.0000")); enquecommand_P(PSTR("G1 X50 Y1 E-5.0000"));
enquecommand_P(PSTR("G1 F2400")); enquecommand_P(PSTR("G1 F2400"));
enquecommand_P(PSTR("G1 X0 Y1 E5.0000")); enquecommand_P(PSTR("G1 X0 Y1 E5.0000"));
enquecommand_P(PSTR("G1 X50 Y1 E-3.0000")); enquecommand_P(PSTR("G1 X50 Y1 E-3.0000"));
@ -1126,7 +1131,7 @@ void lcd_commands()
if (lcd_commands_type == LCD_COMMAND_STOP_PRINT) /// stop print if (lcd_commands_type == LCD_COMMAND_STOP_PRINT) /// stop print
{ {
uint8_t stopped_extruder;
if (lcd_commands_step == 0) if (lcd_commands_step == 0)
{ {
@ -1611,7 +1616,7 @@ static void lcd_support_menu()
MENU_ITEM(back, PSTR(ELECTRONICS),lcd_main_menu); MENU_ITEM(back, PSTR(ELECTRONICS),lcd_main_menu);
MENU_ITEM(back, PSTR(NOZZLE_TYPE),lcd_main_menu); MENU_ITEM(back, PSTR(NOZZLE_TYPE),lcd_main_menu);
MENU_ITEM(back, PSTR("------------"), 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); MENU_ITEM(back, PSTR(__DATE__), lcd_main_menu);
// Show the FlashAir IP address, if the card is available. // Show the FlashAir IP address, if the card is available.
@ -1622,10 +1627,7 @@ static void lcd_support_menu()
} }
#ifndef MK1BP #ifndef MK1BP
MENU_ITEM(back, PSTR("------------"), lcd_main_menu); MENU_ITEM(back, PSTR("------------"), lcd_main_menu);
if (!IS_SD_PRINTING) if (!IS_SD_PRINTING && !is_usb_printing) MENU_ITEM(function, MSG_XYZ_DETAILS, lcd_service_mode_show_result);
{
MENU_ITEM(function, PSTR("XYZ cal. details"), lcd_service_mode_show_result);
}
MENU_ITEM(submenu, MSG_INFO_EXTRUDER, lcd_menu_extruder_info); MENU_ITEM(submenu, MSG_INFO_EXTRUDER, lcd_menu_extruder_info);
@ -2059,15 +2061,16 @@ void lcd_service_mode_show_result() {
angleDiff = eeprom_read_float((float*)(EEPROM_XYZ_CAL_SKEW)); angleDiff = eeprom_read_float((float*)(EEPROM_XYZ_CAL_SKEW));
lcd_update_enable(false); lcd_update_enable(false);
lcd_implementation_clear(); lcd_implementation_clear();
lcd_printPGM(PSTR("Y distance from min:")); lcd_printPGM(MSG_Y_DISTANCE_FROM_MIN);
lcd_print_at_PGM(0, 1, PSTR("Left:")); lcd_print_at_PGM(0, 1, MSG_LEFT);
lcd_print_at_PGM(0, 3, PSTR("Right:")); lcd_print_at_PGM(0, 2, MSG_RIGHT);
for (int i = 0; i < 2; i++) { for (int i = 0; i < 2; i++) {
if(distance_from_min[i] < 200) { 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(distance_from_min[i]);
lcd_print_at_PGM((distance_from_min[i] < 0) ? 14 : 13, i + 1, PSTR("mm")); lcd_print_at_PGM((distance_from_min[i] < 0) ? 17 : 16, i + 1, PSTR("mm"));
} else lcd_print_at_PGM(8, i + 1, PSTR("N/A")); } else lcd_print_at_PGM(11, i + 1, PSTR("N/A"));
} }
delay_keep_alive(500); delay_keep_alive(500);
KEEPALIVE_STATE(PAUSED_FOR_USER); KEEPALIVE_STATE(PAUSED_FOR_USER);
@ -2078,17 +2081,18 @@ void lcd_service_mode_show_result() {
lcd_implementation_clear(); lcd_implementation_clear();
lcd_printPGM(PSTR("Measured skew: ")); lcd_printPGM(MSG_MEASURED_SKEW);
if (angleDiff < 100) { if (angleDiff < 100) {
lcd.setCursor(15, 0);
lcd.print(angleDiff * 180 / M_PI); lcd.print(angleDiff * 180 / M_PI);
lcd.print(LCD_STR_DEGREE); 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, 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_at_PGM(15, 2, PSTR(""));
lcd.print(bed_skew_angle_mild * 180 / M_PI); lcd.print(bed_skew_angle_mild * 180 / M_PI);
lcd.print(LCD_STR_DEGREE); 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_at_PGM(15, 3, PSTR(""));
lcd.print(bed_skew_angle_extreme * 180 / M_PI); lcd.print(bed_skew_angle_extreme * 180 / M_PI);
lcd.print(LCD_STR_DEGREE); lcd.print(LCD_STR_DEGREE);