Commit Graph

220 Commits

Author SHA1 Message Date
Yuri D'Elia
eb2ca78167 Rewrite uvlo handling for accurate Z re/positioning
- In both uvlo_ and uvlo_tiny, calculate Z usteps properly and adjust
  the Z position to a true fullstep before disabling the motor. This
  avoids shifs during recovery.
- In uvlo_tiny, instead of moving up indefinitely, adjust Z just
  once using the smallest move possible (new def UVLO_TINY_Z_AXIS_SHIFT)
- Perform all the uvlo/recovery processing in physical coordinates
  and MBL off: there should be no automatic Z movement!
- Disable heaters in both handlers to conserve more power.
- Add timing information to uvlo_tiny too.
- During recovery, to switch between physical and logical positioning
  introduce a new "PRUSA MBL" gcode as most of the procedure is
  enqueued, and no existing gcode was available.
2020-01-26 17:46:50 +01:00
Alex Voinea
2e50954710
Merge branch 'MK3' into MK3_fix_selftest_Z_crash2 2020-01-22 14:56:54 +02:00
DRracer
43870c4028
Merge pull request #2368 from wavexx/unretract_after_lcd_pause
Unretract when resuming a paused print
2020-01-15 12:47:24 +01:00
Yuri D'Elia
0cc68228f8 Unretract when resuming a paused print 2019-12-16 16:33:11 +01:00
Yuri D'Elia
faa76df2fe Fix the "Stop print" behavior from the LCD
Correctly cleanup the printer state when stopping the current print:

- Disable interrupts while aborting the planner/queue to ensure
  new serial commands are not inserted while aborting
- _Always_ call planner_abort_hard() to interrupt any pending move!
- Clear the saved_target, which might be set when calling stop
  from within a paused state. Create a new function to clear the
  paused state for future use.
- Do not disable/reset the MBL: doing so will destroy the ability to
  restart correctly using M999.
2019-12-16 15:52:37 +01:00
Yuri D'Elia
dbe2ed4150 Fix pause/resume when using M25/M601
Remove the conflicting and mostly useless card.paused flag (the printing
is either paused, or not) and switch to isPrintPaused only which
accounts for both cases (SD/USB) correctly.

Fix M27/getStatus to show the current real status of the SD print.

Synchronize the queue on M601, as required to precisely pause the print
at the correct instruction.

Alias M25 to M601, which when combined with PR #1899 fixes issue #1614.

Guard against incorrect usage in M601, M602 and M603.
2019-11-28 17:37:58 +01:00
Yuri D'Elia
17176c1df2 Save/restore the default feedrate correctly
Since the global feedrate can be similarly modified for moves ahead of
time, save the original feedrate in the planner as we do for
gcode_target.

This avoids having to undo feedmultiply (and machine limits!) from
"nominal_speed" as previously done.

Thanks @leptun
2019-11-28 17:16:37 +01:00
Yuri D'Elia
e25befa175 Fix include guard to silence duplicate declaration warnings 2019-10-22 15:49:10 +02:00
Yuri D'Elia
50231b76da Improved handling of unknown Z position
- Introduce raise_z_above to move Z carefully when the current position
  is potentially unknown, using stallguard
- Use raise_z_above for:
  * filament loading/unloading clearance
  * extruder spacing when preheating (to avoid buildplate marks on PEI)
  * before homing to avoid damaging the build plate and to avoid
    repeated Z moves as well

Since raise_z_above is conditional, it will only raise when needed.

Calling raise_z_above when the extruder position is unknown and already
at maximum travel is safe and will prevent further vertical moves.
2019-10-22 15:49:10 +02:00
leptun
350e27810a fix selftest Z crash. Use stallGuard when testing Z 2019-10-11 21:00:51 +03:00
leptun
b39f09b68e Merge branch 'MK3' into MM_lay1_cal 2019-10-01 19:20:50 +03:00
leptun
2363f19a62 Minor tweaks for usb printing 2019-09-20 21:07:20 +03:00
leptun
fd01942db8 FAN Error fix - Initial 2019-09-19 20:48:59 +03:00
Marek Bel
027b6238fd Mark code unused when PINDA_THERMISTOR is defined by macro. Saves 1B of RAM and 4B of FLASH memory. 2019-09-17 20:26:03 +02:00
Marek Bel
73642632f5 Do not force PLA filament in first layer calibration from wizard. Remove duplicate variable wizard_active. Saves 410 B of FLASH and 1 B of RAM. 2019-09-12 22:37:28 +02:00
Marek Bel
32f435d1a0 Increase number of configurable steel sheets to 8. Move sheets into sub menu of HW setup. 2019-08-29 17:21:08 +02:00
Marek Bel
33675c6d1e Change default sheet names. 2019-08-28 18:16:35 +02:00
NotaRobotexe
c4d5e332c8
Merge branch 'MK3' into MK3 2019-07-23 11:34:42 +02:00
NotaRobotexe
b9f622f8a6 variables to PROGMEM, text formating 2019-07-23 11:31:20 +02:00
NotaRobotexe
b5129ff2ec Revert "force push"
This reverts commit 19e7838c20.
2019-07-23 11:12:53 +02:00
NotaRobotexe
19e7838c20 add default names to PROGMEM, text formating edit 2019-07-22 20:35:10 +02:00
DRracer
65087b89ee Merge remote-tracking branch 'upstream/MK3' into code_size_optimization
and resolve conflicts (ultralcd.cpp)
2019-07-22 17:26:14 +02:00
DRracer
255db28684 merge unit test and upstream changes 2019-07-17 10:30:49 +02:00
Marek Bel
3e292fd6b0 Fix compiler warnings:
sketch/Marlin.h:178:17: warning: extra tokens at end of #undef directive
sketch/Marlin.h:181:24: warning: extra tokens at end of #undef directive
sketch/Marlin.h:182:0: warning: "enable_z" redefined
2019-07-16 18:16:28 +02:00
DRracer
8b806f692e
Merge pull request #1664 from MRprusa3d/PFW-811
"disable_z()" for Delta PSU
2019-07-16 16:46:34 +02:00
DRracer
a3fde091ab More than 7.5KB saved by slight refactoring of printing to serial line 2019-07-12 10:10:56 +02:00
NotaRobotexe
e77898d5dc code edit 2019-07-04 13:21:27 +02:00
NotaRobotexe
81b3b71cca check eeprom inicialization 2019-07-03 19:37:11 +02:00
Marek Bel
72f5e87c61 Merge branch 'MK3' into use_enum_class_2 2019-06-12 19:17:35 +02:00
Marek Bel
5fcf760954 Use first letter capital camel case for enum class members. Rename CustomMsgTypes to CustomMsg. Remove unnecessary maping to numbers. Change underlying type to uint_least8_t. 2019-06-12 18:54:43 +02:00
Marek Bel
cbb92860d0 Use first letter capital camel case for enum class members. 2019-06-12 18:54:32 +02:00
MRprusa3d
b7d3766ae2
Merge branch 'MK3' into PFW-790 2019-06-12 17:32:13 +02:00
DRracer
c7e1e73880 another almost 200B down by proper usage of smaller data types and enum
classes
2019-06-12 15:41:55 +02:00
DRracer
baa36ce740 another almost 200B down by proper usage of smaller data types and enum
classes
2019-06-12 09:58:42 +02:00
MRprusa3d
1d8c24e8a9 "disable_z()" for Delta PSU IV
correction for (motor) mode switching
2019-06-05 19:22:04 +02:00
DRracer
9cb0bc7bcf Fix MINTEMP errors and fsensor runout 2019-05-24 08:46:44 +02:00
Marek Bel
1f3877b221 Extract duplicate code into function. Saves 4B of flash. 2019-05-15 16:31:10 +02:00
Marek Bel
84cabd3836 Change busy_state type, save 340B of flash 2019-04-05 15:20:34 +02:00
Marek Bel
bf57a59147 Extract duplicate code into function. Saves 106B flash. 2019-04-05 15:12:35 +02:00
MRprusa3d
4b1fc69088 "disable_z()" for Delta PSU III
stealthChop set if motor-disable (@ Z) required
2019-04-02 20:04:44 +02:00
PavelSindler
d22793f276 Z-probe nr. states reduced to 1; 3; 5 2019-03-28 12:02:46 +01:00
MRprusa3d
632781c4a2 "disable_z()" for Delta PSU 2019-03-21 00:45:15 +01:00
MRprusa3d
7d98177716 farmMode updates 2019-03-19 19:48:40 +01:00
PavelSindler
b20d9171b6 Merge remote-tracking branch 'upstream/MK3' into 7x7 2019-03-12 11:47:17 +01:00
PavelSindler
4d2b155ff9
Merge pull request #1594 from mkbel/fix_change_filament
Fix change filament
2019-03-12 11:39:15 +01:00
PavelSindler
6a864ffbab G80 parameters configurable via settings menu 2019-03-08 15:43:37 +01:00
PavelSindler
dccb6ca2c6 Merge remote-tracking branch 'upstream/MK3' into bed_analysis_gcodes2 2019-03-06 19:56:52 +01:00
PavelSindler
f0cc313fed debug gcodes (fans, bed analysis) moved to Dcodes, HOST_KEEPALIVE_FEATURE simplified 2019-03-06 19:56:48 +01:00
Marek Bel
ebfd4b2f47 Fix compiler warning: unused parameter 'calib' 2019-03-05 17:02:57 +01:00
Marek Bel
790ae9f0ce Fix compiler warning: unused parameter 'pstep'. 2019-03-05 16:41:41 +01:00
Marek Bel
b2255c8be9 Preheat nozzle before loading filament in M600 (change filament) gcode.
This fixes problem of not heating the nozzle when retrying load after MMU load failed.
2019-03-04 22:00:24 +01:00
Marek Bel
02a692c5d9 Store cutter enable state in EEPROM. 2019-02-27 17:34:03 +01:00
Marek Bel
4a4eb9962c Cut filament when cutter is enabled and MMU load fails. 2019-02-27 10:42:26 +01:00
Marek Bel
49b1d1cb93 Move prototype to header file. 2019-02-26 18:50:15 +01:00
PavelSindler
9926468c91 Merge remote-tracking branch 'upstream/MK3' into variants 2019-01-30 17:26:45 +01:00
Marek Bel
6d2358125a Fix Timer_test broken by conditional translation for SYSTEM_TIMER_2. 2019-01-28 19:29:31 +01:00
Robert Pelnar
1b4e49b5ac Fixed fancheck and include in TimerRemaining.h
this commit enables fast pwm mode for bed (SYSTEM_TIMER_2 definition uncomented)
fancheck fix verified with selftest
2019-01-28 12:57:33 +01:00
Robert Pelnar
eea755496b Conditional translation for SYSTEM_TIMER_2 because we want to have posibility to switch between old/new implementation.
Timing functions (millis, micros and delay) replaced in whole source, defined in Marlin.h.
This commit enables original implementation (SYSTEM_TIMER_2 undefined)
Verified with passed complete wizard process.
2019-01-27 22:48:51 +01:00
Robert Pelnar
fc0b55b213 Timing functions micros2 and delay2 + fix of delay_keep_alive(). 2019-01-27 17:23:53 +01:00
PavelSindler
e0c1e4a02d version which should on all printer versions: autoload, selftest, filament detection, filament sensors initialization, filament menus 2019-01-24 01:12:30 +01:00
Marek Bel
b4d4bfa667 Do not declare extern class in .cpp file, include appropriate header. 2018-11-06 20:54:53 +01:00
PavelSindler
96ce324b7c load to nozzle improved, unified feedrate and E-distance for final feed used in load filament function, M600 etc. 2018-11-01 16:29:09 +01:00
PavelSindler
0e0dbad871 #ifdef __cplusplus added to allow including to .c file 2018-10-25 21:06:37 +02:00
PavelSindler
01529f18d2 upstream/MK3 merge 2018-10-25 20:57:27 +02:00
Robert Pelnar
ac18eb67c0 New lang, arduino 1.8.5 - boot_app debug output
+ variable _uartout linkage fix
+ DEBUG_DCODE5
2018-10-18 16:20:14 +02:00
Marek Bel
9cae0c378a Rename _EEPROM_writeData to EEPROM_writeData. Rename _EEPROM_readData to EEPROM_readData. Add return value to EEPROM_writeData to detect failure to write. Do not mark data as valid, if write has failed. Remove EEPROM_WRITE_VAR and EEPROM_READ_VAR macros. Make pos input only parameter. Convert EEPROM_OFFSET macro to typed constatant EEPROM_M500_base, it was defined in two places, leave it in one place. Use Config_StoreSettings() instead of erase_eeprom_section(). Compare float with 0xff byte by byte to avoid compiler warning "Dereferencing type punned pointer will break strict aliasing rules." 2018-10-08 20:24:56 +02:00
Marek Bel
1585dc66b0 Merge remote-tracking branch 'prusa3d/MK3_dev' into simplify_EEPROM_M500
Known limitation: Unable to compile.
2018-10-08 15:58:49 +02:00
Marek Bel
ca179a2d18 Use cs.filament_size from ConfigurationStore. 2018-09-24 17:29:02 +02:00
Marek Bel
e225e9cab0 Use cs.volumetric_enabled from ConfigurationStore. 2018-09-24 17:12:16 +02:00
Marek Bel
a201128b20 Use cs.retract_length, cs.retract_feedrate, cs.retract_zlift, cs.retract_recover_length and cs.retract_recover_feedrate from ConfigurationStore. 2018-09-24 17:10:25 +02:00
Marek Bel
7e593e6922 Use cs.autoretract_enabled from ConfigurationStore. 2018-09-24 17:03:10 +02:00
Marek Bel
f2ae3fb1f7 Use cs.zprobe_zoffset from ConfigurationStore. 2018-09-24 16:47:57 +02:00
Marek Bel
959d0069fa Use cs.add_homing from ConfigurationStore. 2018-09-24 16:42:28 +02:00
PavelSindler
1253fb338a wizard hotfix 2018-09-10 18:02:54 +02:00
PavelSindler
2f02828273 time remaining fix 2018-09-07 02:02:35 +02:00
Marek Bel
12b1769531 Fix printer reset when changing filament during print over USB. 2018-08-30 16:02:13 +02:00
Marek Bel
2cd8691376 Do not use global variable tmp_extruder when setting temperature. 2018-08-28 20:26:33 +02:00
PavelSindler
ceb49d1262 finda filament runout: initial version 2018-08-27 04:21:43 +02:00
Robert Pelnar
c4281b0b36 Status screen redesign - fix of flickering and text wraping on status screen
printf formating, saved flash, reduced code size
2018-08-20 00:27:45 +02:00
Robert Pelnar
fd9516f520 Status screen - status message logic simplification
added definitions of custom_message_type values
removed flag custom_message (previous solution maybe caused displaying of empty status line)
fixed in Marlin_main.cpp code "custom_message = _T(MSG_TEMP_CALIBRATION)"
2018-08-19 18:34:57 +02:00
Robert Pelnar
310751397c line endings + fixed declaration 2018-08-08 20:11:57 +02:00
Robert Pelnar
990a5c9119 PFW489 (github issue 1008) - time remaining variables declared as uint32 2018-08-08 19:51:50 +02:00
Robert Pelnar
23e5cea5d0 MMU - code cleaning (modularity)
M403 set filament type
hardware reset
2018-08-08 18:58:03 +02:00
Robert Pelnar
9e09efc9f4 Merge remote-tracking branch 'upstream/MK3' into MK3-new_lang
conflicts + fix
2018-08-07 20:55:08 +02:00
PavelSindler
a1f69e0924 manage response update 2018-08-03 18:37:52 +02:00
PavelSindler
ae7561bb27 M600 fix: set hotend temperature to correct value, manage_response function fix: now works in case that user presses button on mmu unit before he is asked to do it, compiler warnings (uninitialized variables) fixed 2018-08-03 15:26:39 +02:00
PavelSindler
b99b73c924 missing declaration 2018-07-31 19:03:53 +02:00
PavelSindler
40da6deef8 timeouts used when getting response from mmu, M600 improvements, no filament sensor in variants file 2018-07-31 19:00:42 +02:00
PavelSindler
04d0178150 automatic M600 initial version 2018-07-31 12:24:22 +02:00
Martin Remiš
c7d7389e27 PowerPanic & Sound 2018-07-23 20:04:47 +02:00
PavelSindler
b688bc9294
Merge branch 'MK3' into reapply_fix_compiler_warnings 2018-07-23 14:38:43 +02:00
PavelSindler
dcf3b792be
Merge pull request #948 from XPila/MK3-new_lang
FSensor - optical quality meassurement
2018-07-23 14:37:16 +02:00
Marek Bel
88cce94cf9 Revert "Revert "Save 80B of flash and 8B of RAM and fix compiler warning:""
This reverts commit 77426b563a.
2018-07-23 13:35:38 +02:00
PavelSindler
18419eefc4 no timeouts when communicating with mmu (temporarily ?) 2018-07-23 10:50:58 +02:00
Robert Pelnar
60b4db15e0 FSensor - M600 fix + cond. translation + tunning filter and params 2018-07-22 16:14:13 +02:00
Robert Pelnar
c6a3f073dd FSensor - M600/autoload fix + optical quality meassurement 2018-07-21 17:04:29 +02:00
PavelSindler
231a6dcf1b M600 for single material fix 2018-07-19 20:27:39 +02:00
PavelSindler
86882ae10a M600 for snmm_v2 intial working version 2018-07-19 20:16:42 +02:00
PavelSindler
5fecb7a2dc M600 2018-07-19 16:17:46 +02:00
PavelSindler
7600848533 load to nozzle function, M600 work in progress 2018-07-19 13:14:29 +02:00