Commit 67bd2406 authored by MagoKimbra's avatar MagoKimbra

Merge branch 'Development'

parents 8f3ec3c8 614e9e5c
### Version 4.1.5 RC
* Critical stepper motor frequency bugfix
* Introduced more intuitive menu tree.
* Added a menu option to fix loose steps from LCD
* Improved italian translation
* G28 gcode now support the "B" flag that enable you to come back to the last position of the axis before the homing command. (Used for fix loose steps)
### Version 4.1.5 ### Version 4.1.5
* Implemented FAST_PWM_FAN and FAN_SOFT_PWM also for other fan that can be added in configuration_adv file. * Implemented FAST_PWM_FAN and FAN_SOFT_PWM also for other fan that can be added in configuration_adv file.
* Added the ability to set a min speed to the fan that can be added in configuration_adv file. * Added the ability to set a min speed to the fan that can be added in configuration_adv file.
* Critical stepper motor frequency bugfix
* General bugfix * General bugfix
### Version 4.1.4 ### Version 4.1.4
......
...@@ -417,6 +417,7 @@ const unsigned int dropsegments = 5; // everything with less than this number of ...@@ -417,6 +417,7 @@ const unsigned int dropsegments = 5; // everything with less than this number of
// Add support for filament exchange support M600; requires display // Add support for filament exchange support M600; requires display
#if ENABLED(ULTIPANEL) #if ENABLED(ULTIPANEL)
//#define FILAMENTCHANGEENABLE //#define FILAMENTCHANGEENABLE
#endif
#if ENABLED(FILAMENTCHANGEENABLE) #if ENABLED(FILAMENTCHANGEENABLE)
#define FILAMENTCHANGE_XPOS 3 #define FILAMENTCHANGE_XPOS 3
#define FILAMENTCHANGE_YPOS 3 #define FILAMENTCHANGE_YPOS 3
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
// #error "You must specify the following parameters related to your distribution" // #error "You must specify the following parameters related to your distribution"
#if true #if true
#define SHORT_BUILD_VERSION "4.1.5 dev" #define SHORT_BUILD_VERSION "4.1.5 RC"
#define STRING_DISTRIBUTION_DATE __DATE__ " " __TIME__ // build date and time #define STRING_DISTRIBUTION_DATE __DATE__ " " __TIME__ // build date and time
// It might also be appropriate to define a location where additional information can be found // It might also be appropriate to define a location where additional information can be found
#define SOURCE_CODE_URL "https://github.com/MagoKimbra/MarlinKimbra" #define SOURCE_CODE_URL "https://github.com/MagoKimbra/MarlinKimbra"
......
...@@ -3001,6 +3001,16 @@ inline void gcode_G28() { ...@@ -3001,6 +3001,16 @@ inline void gcode_G28() {
set_destination_to_current(); set_destination_to_current();
bool come_back = code_seen('B');
float lastpos[NUM_AXIS-1];
float oldfeedrate;
if(come_back) {
oldfeedrate = feedrate;
for (int i = 0; i <= NUM_AXIS-1; i++) {
lastpos[i] = current_position[i];
}
}
feedrate = 0.0; feedrate = 0.0;
bool homeX = code_seen(axis_codes[X_AXIS]), bool homeX = code_seen(axis_codes[X_AXIS]),
...@@ -3394,6 +3404,34 @@ inline void gcode_G28() { ...@@ -3394,6 +3404,34 @@ inline void gcode_G28() {
#endif #endif
clean_up_after_endstop_move(); clean_up_after_endstop_move();
if(come_back) {
#if ENABLED(DELTA)
feedrate = 1.732 * homing_feedrate[X_AXIS];
if(homeX) destination[X_AXIS] = lastpos[X_AXIS];
if(homeY) destination[X_AXIS] = lastpos[X_AXIS];
if(homeZ) destination[X_AXIS] = lastpos[X_AXIS];
prepare_move();
feedrate = oldfeedrate;
#else
if(homeX) {
feedrate = homing_feedrate[X_AXIS];
destination[X_AXIS] = lastpos[X_AXIS];
prepare_move();
}
if(homeY) {
feedrate = homing_feedrate[Y_AXIS];
destination[Y_AXIS] = lastpos[Y_AXIS];
prepare_move();
}
if(homeZ) {
feedrate = homing_feedrate[Z_AXIS];
destination[Z_AXIS] = lastpos[Z_AXIS];
prepare_move();
}
feedrate = oldfeedrate;
#endif
}
} }
#if ENABLED(AUTO_BED_LEVELING_FEATURE) #if ENABLED(AUTO_BED_LEVELING_FEATURE)
...@@ -5965,7 +6003,7 @@ inline void gcode_M503() { ...@@ -5965,7 +6003,7 @@ inline void gcode_M503() {
inline void gcode_M600() { inline void gcode_M600() {
if (degHotend(active_extruder) < extrude_min_temp) { if (degHotend(active_extruder) < extrude_min_temp) {
ECHO_LM(ER, MSG_TOO_COLD_FOR_M600); ECHO_LM(ER, MSG_TOO_COLD_FOR_FILAMENTCHANGE);
return; return;
} }
......
...@@ -385,10 +385,11 @@ ...@@ -385,10 +385,11 @@
#endif #endif
/** /**
* Babystepping * Babystepping and M600
*/ */
#if ENABLED(CARTESIAN) #if ENABLED(CARTESIAN)
#define BABYSTEPPING // On Cartesian printer this can be enabled as default as fully working #define BABYSTEPPING // On Cartesian printer this can be enabled as default as fully working
#define FILAMENTCHANGEENABLE // On Cartesian printer this can be enabled as default as fully working
#endif #endif
/** /**
......
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
#define DISPLAY_CHARSET_ISO10646_1 // use the better font on full graphic displays. #define DISPLAY_CHARSET_ISO10646_1 // use the better font on full graphic displays.
#endif #endif
#define WELCOME_MSG MACHINE_NAME " ready." #define WELCOME_MSG MACHfINE_NAME " ready."
#define MSG_SD_INSERTED "Card inserted" #define 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"
...@@ -47,7 +47,7 @@ ...@@ -47,7 +47,7 @@
#define MSG_PREHEAT_GUM_ALL "Preheat GUM All" #define MSG_PREHEAT_GUM_ALL "Preheat GUM All"
#define MSG_PREHEAT_GUM_BEDONLY "Preheat GUM Bed" #define MSG_PREHEAT_GUM_BEDONLY "Preheat GUM Bed"
#define MSG_PREHEAT_GUM_SETTINGS "Preheat GUM conf" #define MSG_PREHEAT_GUM_SETTINGS "Preheat GUM conf"
#define MSG_TOO_COLD_FOR_M600 "M600 Hotend too cold to change filament" #define MSG_TOO_COLD_FOR_FILAMENTCHANGE "Hotend too cold to change filament"
#define MSG_COOLDOWN "Cooldown" #define MSG_COOLDOWN "Cooldown"
#define MSG_SWITCH_PS_ON "Switch power on" #define MSG_SWITCH_PS_ON "Switch power on"
#define MSG_SWITCH_PS_OFF "Switch power off" #define MSG_SWITCH_PS_OFF "Switch power off"
...@@ -68,6 +68,7 @@ ...@@ -68,6 +68,7 @@
#define MSG_FAN_SPEED "Fan speed" #define MSG_FAN_SPEED "Fan speed"
#define MSG_FLOW "Flow" #define MSG_FLOW "Flow"
#define MSG_CONTROL "Control" #define MSG_CONTROL "Control"
#define MSG_FIX_LOSE_STEPS "Fix axis steps"
#define MSG_MIN LCD_STR_THERMOMETER " Min" #define MSG_MIN LCD_STR_THERMOMETER " Min"
#define MSG_MAX LCD_STR_THERMOMETER " Max" #define MSG_MAX LCD_STR_THERMOMETER " Max"
#define MSG_FACTOR LCD_STR_THERMOMETER " Fact" #define MSG_FACTOR LCD_STR_THERMOMETER " Fact"
...@@ -104,7 +105,7 @@ ...@@ -104,7 +105,7 @@
#define MSG_E3STEPS "E3steps/mm" #define MSG_E3STEPS "E3steps/mm"
#define MSG_TEMPERATURE "Temperature" #define MSG_TEMPERATURE "Temperature"
#define MSG_MOTION "Motion" #define MSG_MOTION "Motion"
#define MSG_VOLUMETRIC "Filament" #define MSG_FILAMENT "Filament"
#define MSG_VOLUMETRIC_ENABLED "E in mm3" #define MSG_VOLUMETRIC_ENABLED "E in mm3"
#define MSG_FILAMENT_SIZE_EXTRUDER "Fil. Dia." #define MSG_FILAMENT_SIZE_EXTRUDER "Fil. Dia."
#define MSG_CONTRAST "LCD contrast" #define MSG_CONTRAST "LCD contrast"
...@@ -144,6 +145,7 @@ ...@@ -144,6 +145,7 @@
#define MSG_BABYSTEP_X "Babystep X" #define MSG_BABYSTEP_X "Babystep X"
#define MSG_BABYSTEP_Y "Babystep Y" #define MSG_BABYSTEP_Y "Babystep Y"
#define MSG_BABYSTEP_Z "Babystep Z" #define MSG_BABYSTEP_Z "Babystep Z"
#define MSG_BABYSTEP "Babystep"
#define MSG_ENDSTOP_ABORT "Endstop abort" #define MSG_ENDSTOP_ABORT "Endstop abort"
#define MSG_HEATING_FAILED_LCD "Heating failed" #define MSG_HEATING_FAILED_LCD "Heating failed"
#define MSG_ERR_REDUNDANT_TEMP "Err: REDUNDANT TEMP ERROR" #define MSG_ERR_REDUNDANT_TEMP "Err: REDUNDANT TEMP ERROR"
......
...@@ -20,15 +20,15 @@ ...@@ -20,15 +20,15 @@
#define MSG_AUTOSTART "Autostart" #define MSG_AUTOSTART "Autostart"
#define MSG_DISABLE_STEPPERS "Disabilita Motori" #define MSG_DISABLE_STEPPERS "Disabilita Motori"
#define MSG_AUTO_HOME "Auto Home" #define MSG_AUTO_HOME "Auto Home"
#define MSG_MBL_SETTING "Manual Bed Leveling " #define MSG_MBL_SETTING "Liv. piatto manuale "
#define MSG_MBL_BUTTON " Press the button " #define MSG_MBL_BUTTON " Premi il tasto "
#define MSG_MBL_INTRO " Leveling bed... " #define MSG_MBL_INTRO " Liv. piatto... "
#define MSG_MBL_1 " Adjust first point " #define MSG_MBL_1 " Calibra il primo punto"
#define MSG_MBL_2 " Adjust second point" #define MSG_MBL_2 " Calibra il secondo punto"
#define MSG_MBL_3 " Adjust third point " #define MSG_MBL_3 " Calibra il terzo punto"
#define MSG_MBL_4 " Adjust fourth point" #define MSG_MBL_4 " Calibra il quarto punto"
#define MSG_MBL_5 " Is it ok? " #define MSG_MBL_5 " Va bene? "
#define MSG_MBL_6 " BED leveled! " #define MSG_MBL_6 " Piatto livellato! "
#define MSG_SET_HOME_OFFSETS "Setta offset home" #define MSG_SET_HOME_OFFSETS "Setta offset home"
#define MSG_SET_ORIGIN "Imposta Origine" #define MSG_SET_ORIGIN "Imposta Origine"
#define MSG_PREHEAT_PLA "Preriscalda PLA" #define MSG_PREHEAT_PLA "Preriscalda PLA"
...@@ -43,14 +43,14 @@ ...@@ -43,14 +43,14 @@
#define MSG_PREHEAT_GUM_ALL "Preri. GOMMA Tutto" #define MSG_PREHEAT_GUM_ALL "Preri. GOMMA Tutto"
#define MSG_PREHEAT_GUM_BEDONLY "Preri. GOMMA Piatto" #define MSG_PREHEAT_GUM_BEDONLY "Preri. GOMMA Piatto"
#define MSG_PREHEAT_GUM_SETTINGS "Config. prer. GOMMA" #define MSG_PREHEAT_GUM_SETTINGS "Config. prer. GOMMA"
#define MSG_TOO_COLD_FOR_M600 "M600 Hotend troppo freddo per il cambio filo" #define MSG_TOO_COLD_FOR_FILAMENTCHANGE "Hotend troppo freddo per il cambio filo"
#define MSG_COOLDOWN "Raffredda" #define MSG_COOLDOWN "Raffredda"
#define MSG_SWITCH_PS_ON "Accendi aliment." #define MSG_SWITCH_PS_ON "Accendi aliment."
#define MSG_SWITCH_PS_OFF "Spegni aliment." #define MSG_SWITCH_PS_OFF "Spegni aliment."
#define MSG_EXTRUDE "Estrudi" #define MSG_EXTRUDE "Estrudi"
#define MSG_RETRACT "Ritrai" #define MSG_RETRACT "Ritrai"
#define MSG_MOVE_AXIS "Muovi Asse" #define MSG_MOVE_AXIS "Muovi Asse"
#define MSG_LEVEL_BED "Level bed" #define MSG_LEVEL_BED "Liv. piatto"
#define MSG_MOVE_X "Muovi X" #define MSG_MOVE_X "Muovi X"
#define MSG_MOVE_Y "Muovi Y" #define MSG_MOVE_Y "Muovi Y"
#define MSG_MOVE_Z "Muovi Z" #define MSG_MOVE_Z "Muovi Z"
...@@ -100,7 +100,7 @@ ...@@ -100,7 +100,7 @@
#define MSG_E3STEPS "E3steps/mm" #define MSG_E3STEPS "E3steps/mm"
#define MSG_TEMPERATURE "Temperatura" #define MSG_TEMPERATURE "Temperatura"
#define MSG_MOTION "Movimento" #define MSG_MOTION "Movimento"
#define MSG_VOLUMETRIC "Filamento" #define MSG_FILAMENT "Filamento"
#define MSG_VOLUMETRIC_ENABLED "E in mm3" #define MSG_VOLUMETRIC_ENABLED "E in mm3"
#define MSG_FILAMENT_SIZE_EXTRUDER "Diam. filo" #define MSG_FILAMENT_SIZE_EXTRUDER "Diam. filo"
#define MSG_CONTRAST "Contrasto LCD" #define MSG_CONTRAST "Contrasto LCD"
...@@ -140,8 +140,9 @@ ...@@ -140,8 +140,9 @@
#define MSG_BABYSTEP_X "Babystep X" #define MSG_BABYSTEP_X "Babystep X"
#define MSG_BABYSTEP_Y "Babystep Y" #define MSG_BABYSTEP_Y "Babystep Y"
#define MSG_BABYSTEP_Z "Babystep Z" #define MSG_BABYSTEP_Z "Babystep Z"
#define MSG_ENDSTOP_ABORT "Finecorsa abort" #define MSG_BABYSTEP "Babystep"
#define MSG_HEATING_FAILED_LCD "Heating failed" #define MSG_ENDSTOP_ABORT "Finecorsa abort."
#define MSG_HEATING_FAILED_LCD "Riscaldamento fallito"
#define MSG_ERR_REDUNDANT_TEMP "Err: REDUNDANT TEMP ERROR" #define MSG_ERR_REDUNDANT_TEMP "Err: REDUNDANT TEMP ERROR"
#define MSG_THERMAL_RUNAWAY "THERMAL RUNAWAY" #define MSG_THERMAL_RUNAWAY "THERMAL RUNAWAY"
#define MSG_ERR_MAXTEMP "Err: MAXTEMP" #define MSG_ERR_MAXTEMP "Err: MAXTEMP"
...@@ -175,19 +176,19 @@ ...@@ -175,19 +176,19 @@
#define MSG_HEATING "Riscaldamento..." #define MSG_HEATING "Riscaldamento..."
#define MSG_HEATING_COMPLETE "Riscaldamento finito." #define MSG_HEATING_COMPLETE "Riscaldamento finito."
#define MSG_BED_HEATING "Bed Riscaldamento." #define MSG_BED_HEATING "Riscaldamento piatto."
#define MSG_BED_DONE "Bed done." #define MSG_BED_DONE "Piatto riscaldato."
// Extra // Extra
#define MSG_LASER "Laser Preset" #define MSG_LASER "Laser Preset"
#define MSG_CONFIG "Configurazione" #define MSG_CONFIG "Configurazione"
#define MSG_E_BOWDEN_LENGTH "Extrude " STRINGIFY(BOWDEN_LENGTH) "mm" #define MSG_E_BOWDEN_LENGTH "Estrudi " STRINGIFY(BOWDEN_LENGTH) "mm"
#define MSG_R_BOWDEN_LENGTH "Retract " STRINGIFY(BOWDEN_LENGTH) "mm" #define MSG_R_BOWDEN_LENGTH "Retrai " STRINGIFY(BOWDEN_LENGTH) "mm"
#define MSG_PURGE_XMM "Purge " STRINGIFY(LCD_PURGE_LENGTH) "mm" #define MSG_PURGE_XMM "Purga " STRINGIFY(LCD_PURGE_LENGTH) "mm"
#define MSG_RETRACT_XMM "Retract " STRINGIFY(LCD_RETRACT_LENGTH) "mm" #define MSG_RETRACT_XMM "Retrai " STRINGIFY(LCD_RETRACT_LENGTH) "mm"
#define MSG_SAVED_POS "Posizione Salvata" #define MSG_SAVED_POS "Posizione Salvata"
#define MSG_RESTORING_POS "Restoring position" #define MSG_RESTORING_POS "Ripristino posizione"
#define MSG_INVALID_POS_SLOT "Invalid slot, total slots: " #define MSG_INVALID_POS_SLOT "Slot invalido, slot totali: "
// Firmware Test // Firmware Test
#ifdef FIRMWARE_TEST #ifdef FIRMWARE_TEST
......
This diff is collapsed.
<img align="right" src="Documentation/Logo/MarlinKimbra%20Logo%20GitHub.png" /> <img align="right" src="Documentation/Logo/MarlinKimbra%20Logo%20GitHub.png" />
# MarlinKimbra 3D Printer Firmware # MarlinKimbra 3D Printer Firmware
## Version 4.1.5 dev ## Version 4.1.5 RC (Release Candidate)
* [Configuration & Compilation](/Documentation/Compilation.md) * [Configuration & Compilation](/Documentation/Compilation.md)
* Supported * Supported
...@@ -41,9 +41,10 @@ Added anti extruder idle oozing system. ...@@ -41,9 +41,10 @@ Added anti extruder idle oozing system.
The current MarlinKimbra dev team consists of: The current MarlinKimbra dev team consists of:
- MagoKimbra - Alberto Cotronei (https://github.com/MagoKimbra) - MagoKimbra - Alberto Cotronei (https://github.com/MagoKimbra)
- simonepri - Simone Primarosa (https://github.com/simonepri)
More features have been added by: More features have been added by:
- simonepri - Simone Primarosa (https://github.com/simonepri) -
## License ## License
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment