Commit Graph

1050 Commits

Author SHA1 Message Date
3d-gussner
cdc6beaf6f Added M910 -> M918 2019-12-04 12:25:33 +01:00
3d-gussner
a5f3027ee1 D2130 updated
Needs review
2019-12-04 11:38:29 +01:00
Yuri D'Elia
8448b8d413 Keep destination updated in an aborted plan as well
When aborting the plan destination is updated anyway to reflect the latest
position. There's no use in this additional check.
2019-12-03 20:37:13 +01:00
Yuri D'Elia
d60230e494 Add some documentation 2019-12-03 20:37:13 +01:00
Yuri D'Elia
792d7ca6dc Turn off heaters just prior to retraction to limit oozing 2019-12-03 20:37:13 +01:00
Yuri D'Elia
4fce74140a Also abort planning in stop_and_save_print_to_ram
Similarly to resume_print_from_ram_and_continue, abort any
planning in mesh_plan_buffer_line already in stop_and_save_print_to_ram
in case it is called for pausing only.
2019-12-03 20:37:09 +01:00
3d-gussner
0ce7c51c1d Added more D-codes to RR Wiki and doxygen
D-1, D80, D81, D106
2019-12-03 20:02:58 +01:00
Yuri D'Elia
454e99dbb5 Use lcd_print_stop() in M603, fix octoprint regression
M603 shouldn't report a fatal error state.
Use lcd_print_stop().

Regression introduced in PR #2274
2019-12-03 16:51:59 +01:00
Alex Voinea
e7f2577233
Fix kill messages 2019-11-29 22:49:22 +02:00
Alex Voinea
a413cfbb9a
Merge branch 'MK3' into MK3-PFW-1024 2019-11-29 13:07:45 +02: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
18eaf21baf Halve memory usage of saved feedrate
Truncate the saved feedrate to an uint16_t.
This is more than sufficient for recovery.
2019-11-28 17:16:37 +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
4f0af648fb Save/restore feedmultiply independently of the feedrate 2019-11-28 17:16:36 +01:00
Yuri D'Elia
6ecff003b7 Fix M600 insertion by the filament sensor
Remove incorrect usage of stop_and_save_print combined with the
fsensor_recovert internal instruction which would result in a
broken sequence of events and/or broken stack.

Re-use the now safe stop/recover functions in the same spot
(fsensor_checkpoint_stream) to effectively cut a hole in the current
gcode stream to insert an M600 instruction, which removes all
recursive behavior without the need of extra state variables.
2019-11-28 17:13:37 +01:00
Yuri D'Elia
4268c2fdae Fix recovery from relative/chunked moves
When starting to replay existing USB/SD commands from a recovery state,
an immediate relative move needs to compensate for a previously
interrupted move. This is almost the norm for the E axis.

Instead of saving the relative status of the move (which needs to
account for the world2machine conversion and is not always available on
a chunked move split by MBL) save directly the calculated target
position for the move in the original plan, which is easy to replay.
2019-11-28 16:42:35 +01:00
Yuri D'Elia
faa9e925fe Replace a few loops with set_current_to_destination() 2019-11-28 15:57:21 +01:00
Yuri D'Elia
5fa7c178b5 Do not set current_position in mesh_plan_buffer_line
This is a task which _has_ to be performed by the caller,
such as prepare_move().
2019-11-28 15:57:21 +01:00
Yuri D'Elia
0f6b9b4051 Unroll the stack in restore_print_from_ram_and_continue
While handling moves in a recursive plan, such a filament check,
ensure restore_print_from_ram_and_continue unwinds the stack by
aborting early from any call that waits on the planner.

This currently only handles G1 moves, but hard-coded behavior that can
trigger recursive behavior (such as filament change) will probably have
to be checked too.
2019-11-28 15:57:20 +01:00
3d-gussner
660b646b57 RR Wiki for Dcodes
open D-1, D80, D81, D106, D2130
2019-11-27 11:29:55 +01:00
3d-gussner
475551431c How does M862.5 P works??? 2019-11-26 20:21:05 +01:00
3d-gussner
84cb373905 More G codes documented in RR wiki
M44, M45, M47, M403, M509, M851, M601, M602, M603, M862
2019-11-26 20:11:55 +01:00
3d-gussner
5eaf6f0133 Merge branch 'MK3' into MK3-Gcode_documentation
Merge with MK3 branch
2019-11-26 12:48:21 +01:00
DRracer
abb220ff69
Merge pull request #2323 from Panayiotis-git/MK3_Fix_M603
Add oversighted ‘break’ statement at the M603 command's source
2019-11-25 06:04:41 +01:00
Alex Voinea
07b6173aaa Merge branch 'MK3' into MK3-PFW-1024 2019-11-16 11:28:29 +02:00
DRracer
86ea24c364
Merge pull request #2273 from wavexx/do_not_wait_for_disabled_heater
Do not wait forever if the heater on the extruder is disabled
2019-11-15 17:19:11 +01:00
Panayiotis-git
23cf076242 Add oversighted ‘break’ statement at the M603 command's source 2019-11-12 21:32:39 +02:00
3d-gussner
422e7fde4a Merge branch 'MK3' into MK3-Gcode_documentation 2019-11-08 18:16:56 +01:00
DRracer
4cf2f05d1d
Merge pull request #2057 from leptun/MK3_fix_M350
M350 for all axis - MK3
2019-11-08 16:15:15 +01:00
DRracer
a14d7545a5
Update Marlin_main.cpp 2019-11-08 16:06:42 +01:00
DRracer
b33c79e6c7
Merge pull request #1899 from wavexx/fix_lcd_pause_function
Fix the LCD pause function
2019-11-08 14:55:13 +01:00
3d-gussner
5bd995b21b Added more info to doxygen G-Codes 2019-11-06 11:14:06 +01:00
3d-gussner
e6eeafd20c More M-Commands ... 2019-11-05 15:47:04 +01:00
3d-gussner
ca234a11ed M-Commands to M240 2019-11-05 12:40:51 +01:00
3d-gussner
8114bd5b1c Merge with MK3 and few spaces 2019-11-05 09:05:05 +01:00
leptun
cd5ff783cf General fixes and improvements to code 2019-10-31 19:07:20 +02:00
3d-gussner
4501f9d760 M commands documentation #2 2019-10-31 15:46:23 +01:00
3d-gussner
c899320590 Fix M81 Turn off Power Supply...
... as it should be active if PS_ON_PIN is defined and assinged to an actual pin.
2019-10-31 15:08:07 +01:00
3d-gussner
ce8dbb5013 M commands documentation #1 2019-10-30 18:52:25 +01:00
3d-gussner
b9dca5f895 other doxygen format changes 2019-10-30 15:52:27 +01:00
3d-gussner
d472f0730c Change doxygen format 2019-10-30 15:50:23 +01:00
3d-gussner
986ac95c45 G codes documented ... next M commands 2019-10-30 11:19:51 +01:00
3d-gussner
8f05627747 Update #1 gcodes doxygen documentation
added some RepRap G-codes Wiki external links.
2019-10-25 13:04:04 +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
4943e17bda Preserve power during PP by turning off backlight 2019-10-19 18:45:31 +03:00
leptun
0ed4a23ae7 And another compile fix... 2019-10-18 12:42:55 +03:00
leptun
9fc42526e7 Backlight always on during calibration 2019-10-18 12:18:43 +03:00
DRracer
5a4126e00c
Merge pull request #2263 from leptun/MK3-Fix_PSU_DELTA_SILENT
PSU_DELTA fix force_high_power_mode()
2019-10-16 13:22:22 +02:00
Yuri D'Elia
7f3ba499a0 Do not wait forever if the heater on the extruder is disabled 2019-10-15 20:54:00 +02:00
leptun
68491c9d4d First implementation 2019-10-11 19:06:37 +03:00
leptun
e3ac2e2509 PSU_DELTA fix force_high_power_mode() 2019-10-10 19:01:57 +03:00
Marek Bel
219a5e0625 Initialize EEPROM_SILENT in one place both for MK3 and MK25 printers and make it more clear. 2019-10-03 21:25:52 +02:00
Marek Bel
7feb763643 Move check for clear EEPROM just after factory_reset() to ensure nothing is written to EEPROM before check.
Fix wizard not starting after Factory RESET / All Data on MK25 printer.

This was broken by:

Author:      leptun <voinea.dragos.alexandru@gmail.com>
Date:        3 weeks ago (9/12/2019 6:16:31 AM)
Commit hash: 78708903e8

Also update eeprom value
2019-10-02 18:38:46 +02:00
leptun
b39f09b68e Merge branch 'MK3' into MM_lay1_cal 2019-10-01 19:20:50 +03:00
DRracer
d044d3b7b5
Merge pull request #2244 from MRprusa3d/PFW-1008
EEPROM_BABYSTEP_Z using removal
2019-10-01 18:04:09 +02:00
MRprusa3d
ed13788e0c EEPROM_BABYSTEP_Z using removal 2019-10-01 16:57:37 +02:00
DRracer
06187f52f3
Merge pull request #2230 from leptun/MK3_Octoprint_fIxes
Mk3 Fan error fix
2019-10-01 11:34:55 +02:00
leptun
61c7479579 Code cleanup: Move texts to messages.c/h 2019-09-30 20:16:01 +03:00
Marek Bel
aba9d1c360 Merge branch 'MK3' into MM_lay1_cal 2019-09-30 18:13:57 +02:00
Marek Bel
8c7015df53 Document set current command. 2019-09-27 15:42:31 +02:00
leptun
9c22692827 Fix Cancel Print command processing 2019-09-25 22:34:31 +03:00
leptun
4d149f0dfa Do not send useless keepalive messages after print is canceled from lcd 2019-09-25 18:50:29 +03:00
leptun
14b72d2b46 Prevent timeout when printing from SD with USB host connected 2019-09-25 18:12:19 +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
19a8537901 Document. 2019-09-17 20:35:18 +02: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
e83b2ebe1f Rename mFilamentMenu to lcd_generic_preheat_menu to match naming convention for global function and be more descriptive. 2019-09-12 18:15:15 +02:00
Marek Bel
6661d3aa45 Merge remote-tracking branch 'prusa3d/MK3' into MM_lay1_cal 2019-09-12 14:28:52 +02:00
DRracer
521c5eb8ef
Merge pull request #2141 from mkbel/preheat_menu
Unify preheat menu, add ASA material
2019-09-12 14:25:38 +02:00
Marek Bel
14dc6b86e0 Change undocumented behaviour of M190 (Wait for bed temperature). Document M190 and M109 (Wait for extruder temperature).
Do not remember CooldownNoWait property set by M190 and M109. If M190 was invoked without parameters, CooldownNoWait property was set if it was previously set by "M109 S" or "M109 S" or printer was after power up. Otherwise CooldownNoWait was not set. Now CooldownNoWait is never set if M190 is invoked without parameters.

Saves 44 B of FLASH memory.
2019-09-11 23:37:09 +02:00
DRracer
e1e40213b2 Enable fan pin test even for MK3 (was disabled in 3.7.2 due to lack of
FLASH)
2019-09-10 16:49:22 +02:00
DRracer
898e85e69f
Merge pull request #2038 from Eriobis/MK3
Add a threshold distance to Z calibration
2019-09-10 16:20:24 +02:00
MRprusa3d
978ace7fd7
Update Marlin_main.cpp 2019-09-09 02:16:06 +02:00
Marek Bel
e73b0a88d5 Use same format for all instances where "ok" is send to serial line. 2019-09-05 22:35:01 +02:00
Yuri D'Elia
2345288d40 Fix the LCD pause function
Do not call long_pause recursively!

long_pause() is called before resetting the lcd_command_type. As
long_pause uses st_synchronize() internally, there could be time to
schedule another call to long_pause().
2019-08-31 15:28:31 +02:00
Marek Běl
3f04c4db87
Merge branch 'MK3' into preheat_menu 2019-08-27 22:20:23 +02:00
Marek Bel
269aef1696 Remove unused code guarded by WATCH_TEMP_PERIOD macro as most of the functionality is duplicate to what is implemented in temp_runaway_check(). This will release us from porting setWatch() to unified preheat menu and maintaining it. 2019-08-27 20:05:10 +02:00
DRracer
11ce786aaa Support for more special characters allowed in file names (^ + = [ ] ;
,)
2019-08-27 13:47:58 +02:00
Marek Bel
159a1a70d8 Update documentation. 2019-08-26 17:19:57 +02:00
Marek Bel
52cb37770b Fix repeated power panic restarted print from beginning or jumped at most 65536 B back in file printed from SD card.
As sdpos_atomic was not updated after printer power up and first power panic recovery, it was equal 0. When the first command from SD card was queued its size on SD card was computed as current SD index position minus sdpos_atomic. This was equal to offset from beginning of the file limited to 16 bit storage type. When next power outage occurred earlier then this command was finished and wiped out of queue, this command size (extraordinarily big) was subtracted from sdpos_atomic and saved to EEPROM. This led to up to 65536 B jump back in file printed after next power panic recovery.
2019-08-23 19:30:20 +02:00
DRracer
c6df3fe012
Merge pull request #2127 from DRracer/code-size-reduction-1
Code size reduced by almost 5KB
2019-08-22 14:25:23 +02:00
DRracer
a7c2aec04c Code size reduced by almost 5KB 2019-08-21 09:59:51 +02:00
Marek Bel
3ed6d0637c Re-enable tmc2130_sg_stop_on_crash only if crash detection enabled from menu.
This fixes bug, that disabling crash detection from menu doesn't work during recovery from crash detection.
2019-08-20 19:32:39 +02:00
Marek Bel
f204cdea81 Refactor
Remove variable CrashDetectMenu. Read this state from EEPROM_CRASH_DET instead in bool lcd_crash_detect_enabled().
Rename crashdet_enable() to lcd_crash_detect_enable() and move it to ultralcd.cpp.
Rename crashdet_disable() to lcd_crash_detect_disable() and move it to ultralcd.cpp.
Rename lcd_crash_mode_set() to crash_mode_switch().
Remove forward function declarations from *.cpp file.

Saves 34B of FLASH and 2B of RAM.
2019-08-20 17:22:27 +02:00
DRracer
f07635d08a
Merge pull request #2116 from mkbel/fix_mmu_lay1cal
Fix mmu lay1cal
2019-08-19 19:07:10 +02:00
Marek Bel
f0642f88f1 Fix power panic broken when PSU_Delta defined.
Remove disable_z() call from uvlo_() and uvlo_tiny() power panic interrupt handlers. As historically this function was empty. And in case PSU_Delta macro defined it switches Z trinamic to silent mode, which could take some time and is not needed. Remove alignment to to full step from disable_force_z(), as it is not needed when switching to silent mode.
2019-08-19 17:37:23 +02:00
Marek Bel
e53734895f Make MMU load failed blocking to workaround lack of resume print menu item.
The same workaround used as for USB print (Octoprint).
2019-08-16 20:20:17 +02:00
DRracer
ba81149afe
Merge branch 'MK3' into MK3_3.7.3 2019-08-15 10:25:51 +02:00
DRracer
a28c365bb1
Merge pull request #2075 from MRprusa3d/PFW-873b
farm mode update, documentation correction
2019-08-07 17:48:30 +02:00
MRprusa3d
b471bb7540 farm mode update, documentation correction 2019-08-05 17:51:26 +02:00
Marek Kühn
091cd49ca5 Fw version check disabled in farm mode 2019-08-05 16:59:09 +02:00
DRracer
cb19f0958b Use _delay() and _micros() for future compatibility 2019-08-05 09:51:06 +02:00
Yuri D'Elia
18b8dc89e5 Merge remote-tracking branch 'upstream/MK3' into MK3_LA15 2019-08-04 17:06:34 +02:00
DRracer
7c9d3dd177 Update doxydoc of new G-codes 2019-08-01 13:09:20 +02:00
Simon Benoit
49d2866b48 Add threshold distance to Z calibration
Add missing if statement
2019-07-30 19:43:07 -04:00
leptun
556b87edec M350 for all axis - MK3 2019-07-29 09:41:33 +03:00
DRracer
3e60cf4537 enable only for MK3S (out of FLASH on the MK3) 2019-07-23 16:51:02 +02:00
DRracer
593675c667 delay, micros for the 3.7.x branch 2019-07-23 16:40:21 +02:00