Commit Graph

169 Commits

Author SHA1 Message Date
Yuri D'Elia
3da20db024 Really poweroff Z motors when PSU_Delta is defined
enable/disable_z behave differently when PSU_Delta is defined.

During powerpanic and kill however we do *really* need to save energy
and poweroff the motors.

Rename enable/disable_z as poweron/poweroff_z and define some aliases so
that we can use the low-level function where needed.
2020-01-27 18:50:17 +01:00
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
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
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