Commit Graph

255 Commits

Author SHA1 Message Date
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
Marek Bel
3a541488b2 Rename extr_unload_() to mmu_unload_filament() and move it to ultralcd.cpp as it is menu. 2019-09-12 18:40:02 +02:00
Marek Bel
0cdfa7a5e8 Remove dead code. 2019-09-12 18:33:02 +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
608aa6ff3c Increase number of MMU load tries, so the same number of retries are done without cutter as before enabling cutter. 2019-09-10 18:49:23 +02:00
Marek Bel
bb1fb49894 Use MMU cutter only as last resort. Cut filament only before last load retry. 2019-09-10 18:36:14 +02:00
DRracer
a7c2aec04c Code size reduced by almost 5KB 2019-08-21 09:59:51 +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
Marek Bel
0aed59c947 Fix unsigned char overflow cause invalid filament load. 2019-07-30 19:06:57 +02:00
Marek Bel
3b396fb8bf Merge branch 'MK3' into fix_missing_mmu_attention 2019-07-25 19:10:07 +02:00
Marek Bel
a9e9a9857b Fix "MMU needs attention screen is missing in case of failed unload filament". 2019-07-25 19:09:52 +02:00
Marek Běl
d3dd0ad271
Merge pull request #1952 from NotaRobotexe/sound
new sound
2019-07-10 18:06:32 +02:00
Marek Bel
e0f46f128d Fix indentation. 2019-07-10 17:39:24 +02:00
MRprusa3d
98bae7af9f
Merge branch 'MK3' into PFW-873 2019-07-10 16:50:14 +02:00
MRprusa3d
8229a45187 pre-production version ;-) 2019-07-09 12:16:51 +02:00
Marek Bel
8b6629ad58 Fix comment grammar. 2019-06-18 20:00:02 +02:00
Marek Bel
ae9ae95187 MMU: Filter IR sensor signal when detecting whether filament tip passes to heat break. Increase number of tries when loading filament to 3. 2019-06-18 19:15:16 +02:00
KDanielK
6cb85a455f Update mmu.cpp 2019-06-18 15:08:47 +02:00
Marek Bel
24cec4091b Merge branch 'MK3' into sound 2019-06-17 17:28:19 +02:00
Marek Bel
1390d4e5b9 Use first letter capital camel case for enum class members. Change underlying type to uint_least8_t. 2019-06-12 19:11:41 +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
e393d91b12 Use first letter capital camel case for enum class members. 2019-06-12 16:20:21 +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
NotaRobotexe
bb980e2fca sound edit, delete mute mode, add blind mode 2019-06-10 15:03:52 +02:00
Marek Bel
dad2065da6 Merge branch 'MK3' into rise_z 2019-05-15 16:37:17 +02:00
Marek Bel
1f3877b221 Extract duplicate code into function. Saves 4B of flash. 2019-05-15 16:31:10 +02:00
Marek Bel
89fc9e7f92 sketch/menu.h:90:115: warning: invalid conversion from 'void (*)(int)' to 'void (*)(uint8_t) {aka void (*)(unsigned char)}' [-fpermissive]
#define MENU_ITEM_FUNCTION_NR_P(str, number, func, fn_par) do { if (menu_item_function_P(str, number, func, fn_par)) return; } while (0)
                                                                                                                   ^
sketch/ultralcd.cpp:5926:5: note: in expansion of macro 'MENU_ITEM_FUNCTION_NR_P'
     MENU_ITEM_FUNCTION_NR_P(_T(MSG_LOAD_FILAMENT), '1', extr_adj, 0); ////MSG_LOAD_FILAMENT_1 c=16
2019-05-14 18:25:43 +02:00
Marek Bel
66d20f0297 Fix code formatting (indentation). 2019-05-14 16:45:15 +02:00
Marek Bel
150787efbd Generate menu item texts Cut filament <nr.> during runtime to conserve flash. 2019-05-14 16:25:29 +02:00
Marek Bel
7c4f66181f Generate menu item texts Load filament <nr.> and Eject filament <nr.> during runtime to conserve flash. 2019-05-14 15:47:25 +02:00
NotaRobotexe
f16bea26e5 raise the Z axis before filament loading to nozzle on MMU2S 2019-04-25 17:39:09 +02:00
Marek Bel
c7d403733a Allow load filament retry after button push unlimited times in case mmu_continue_loading() is in blocking mode. 2019-04-09 20:50:29 +02:00
Marek Bel
bf57a59147 Extract duplicate code into function. Saves 106B flash. 2019-04-05 15:12:35 +02:00
Marek Bel
4bfa3d7e0b Reporty busy: paused for user in case MMU is not responding. 2019-04-04 19:04:15 +02:00
Marek Bel
bf1a55ab02 Add mmu_continue_loading blocking variant and use it for usb printing, so that "ok" is not returned to the controller in case MMU load failed.
Known limitation: MMU load failed is not handled properly if it happens again after user clicked printer button to continue print.
2019-04-04 18:15:37 +02:00
PavelSindler
fbe68cb287 variables scope changed 2019-03-21 19:37:34 +01:00
PavelSindler
c05561d6b1
Merge pull request #1607 from PavelSindler/7x7
7x7 mbl and switching mmu modes
2019-03-15 19:55:15 +01:00
Marek Bel
ffe45bdef3 Disable mmu filament cutter feature. 2019-03-15 03:38:37 +01:00
PavelSindler
80ef2686ae mmu mode switching fix 2019-03-14 18:17:40 +01:00
PavelSindler
b20d9171b6 Merge remote-tracking branch 'upstream/MK3' into 7x7 2019-03-12 11:47:17 +01:00
PavelSindler
c9cff11732
Merge pull request #1593 from MRprusa3d/PFW-647
mode switching, G-code unification
2019-03-12 11:40:43 +01:00
PavelSindler
819a91ab1e switching stealth/normal mode for mmu in settings menu and tune menu 2019-03-11 12:33:22 +01:00
PavelSindler
141b78c048 number of Z-probes defualt value changed from 4 to 3, mmu stealth mode switch in settings menu 2019-03-10 16:03:46 +01:00
MRprusa3d
20a03d703d G-code unification
"FSENSOR_RECOVER" ->-> "PRUSA fsensor_recover"
2019-03-05 13:36:13 +01:00
Marek Bel
f161d3ade4 Change formatting. 2019-03-04 22:17:43 +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
mkbel
27f69bb761
Merge pull request #1570 from PavelSindler/mmu_stealth_mode
mmu stealth mode
2019-03-04 17:09:11 +01:00
PavelSindler
7f92d73a40 MMU_STEALTH_MODE -> MMU_FORCE_STEALTH_MODE; activate_stealth_mode() function update 2019-03-04 17:04:22 +01:00
Marek Bel
22500970ba Remove commented out code, fix formatting. 2019-03-01 16:18:16 +01:00
PavelSindler
85c208f9f4
Merge branch 'MK3' into bad_load_cut 2019-03-01 14:55:55 +01:00
PavelSindler
22c0d6e230
Merge pull request #1577 from mkbel/add_cut
Add MMU cut filament
2019-03-01 14:53:12 +01:00
PavelSindler
e14e4be94e
Merge pull request #1575 from mkbel/add_ramming_eject
Add filament ramming to eject filament.
2019-03-01 14:21:23 +01:00
PavelSindler
0db721b244
Merge pull request #1559 from mkbel/detect_bad_load
Move extruder forth and back after filament detected by sensor to det…
2019-03-01 14:21:04 +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
MRprusa3d
2f1e968563 "lcd_update_enable()" replacement 2019-02-26 23:17:52 +01:00
Marek Bel
a67645fda6 Merge branch 'add_cut' into bad_load_cut 2019-02-26 18:35:55 +01:00
Marek Bel
815231bc26 Add MMU cut filament menu. 2019-02-26 17:58:00 +01:00
Marek Bel
6c9dd4f272 Add filament ramming to eject filament. 2019-02-26 13:41:28 +01:00
Marek Bel
7a1b47c340 Convert functions mmu_eject_fil_0 to mmu_eject_fil_4 to template function. 2019-02-26 11:11:05 +01:00
Marek Bel
34e2495487 Convert mmu_load_to_nozzle_0 to mmu_load_to_nozzle_4 to template. 2019-02-26 10:32:10 +01:00
Marek Bel
8f5fbe569c Merge branch 'MK3' into detect_bad_load 2019-02-25 10:41:26 +01:00
PavelSindler
8e3d52ee6d fix compilation error for MK2.5, make code more readable 2019-02-22 17:15:40 +01:00
PavelSindler
26cab2911f mmu stealth mode 2019-02-22 16:30:54 +01:00
MRprusa3d
ed93f1b7f0 preHeat @ filament management
another funcionality IIb
2019-02-21 15:27:22 +01:00
MRprusa3d
a54c68b874 preHeat @ filament management
another funcionality II
2019-02-21 04:45:44 +01:00
Marek Bel
8b858286ac Document. 2019-02-21 02:30:01 +01:00
Marek Bel
326c8492b5 Move extruder forth and back after filament detected by sensor to detect bad load. 2019-02-21 01:19:26 +01:00
MRprusa3d
da0867cfc5 preHeat @ filament management
another funcionality
2019-02-20 03:01:33 +01:00
PavelSindler
11d19879fc
Merge pull request #1533 from MRprusa3d/PFW-210
preHeat @ filament load / unload / autoLoad / MMU
2019-02-15 17:45:38 +01:00
PavelSindler
9d76b6912c merge new changes from upstream 2019-02-15 17:05:39 +01:00
PavelSindler
69ff37729e whitespace 2019-02-15 14:19:30 +01:00
PavelSindler
0f791ce47f mmu needs attention: idler error fix 2019-02-15 14:17:47 +01:00
MRprusa3d
80c3420a12
Merge branch 'MK3' into PFW-210 2019-02-14 00:05:50 +01:00
MRprusa3d
ef1f82627e preHeat @ filament load / unload / autoLoad / MMU
MMU options added
2019-02-13 23:53:00 +01:00
Marek Bel
a5437cb15b Resend MMU T commands only.
This solves problem with unload repeated if unload takes too long, second ok reply then triggers Wait end and resumes print.
2019-02-13 22:29:29 +01:00
Marek Bel
a4032e437e Add MMU wait command after MMU load failed. Resume print when MMU wait command returns OK. 2019-02-13 21:28:21 +01:00
Marek Bel
daaec0ef04 Convert MmuCmd to enum class. 2019-02-13 17:12:35 +01:00
Marek Bel
8e23e7f322 Save some flash by using smaller type for filament. 2019-02-13 16:37:54 +01:00
Marek Bel
9e873ac0f7 Use enum for mmu_cmd instead of plain integer type. 2019-02-13 01:51:39 +01:00
Marek Bel
bb7eeef1f4 Define debug printf and puts functions to make code more readable. 2019-02-12 23:24:23 +01:00
Marek Bel
e1216934ef Save flash by defining underlying type and omitting number value. 2019-02-12 21:53:11 +01:00
Marek Bel
3379fb4866 Convert mmu_state to enum. 2019-02-12 21:43:26 +01:00
Marek Bel
6c8d9c6fb4 Retry filament load on MMU load failure once. 2019-02-11 23:43:42 +01:00
Marek Bel
d33b24c281 Unload filament after MMU load failed so MMU unit can be controlled by its buttons. 2019-02-11 23:24:55 +01:00
PavelSindler
9926468c91 Merge remote-tracking branch 'upstream/MK3' into variants 2019-01-30 17:26:45 +01:00
PavelSindler
83510ed489 check_for_ir_sensor 2019-01-28 17:27:16 +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
434a723151 Timing functions 'micros' and 'delay' replaced in whole source with 'micros2' and 'delay2' 2019-01-27 17:37:27 +01:00
PavelSindler
fc1491670f mmu_idler_sensor_detected -> ir_sensor_detected 2019-01-25 18:03:05 +01:00
PavelSindler
6b6a3d7d5f MMU_IR_SENSOR_PIN -> IR_SENSOR_PIN 2019-01-25 18:01:17 +01:00
PavelSindler
7e3a1c7d45 merge changes from upstream 2019-01-25 17:57:24 +01:00
PavelSindler
661c40ef75
Merge pull request #1472 from mkbel/IR_fsens_selftest
Ir fsens selftest
2019-01-25 13:14:18 +01:00
PavelSindler
f4e5c729ac
Merge pull request #1451 from mkbel/Tx_fix
Tx fix
2019-01-24 13:41:43 +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
c371a5ea65 Document. 2019-01-22 14:05:08 +01:00
Marek Bel
a92d9c782b Add IR sensor test. 2019-01-22 11:29:55 +01:00
PavelSindler
ca8cb3784c
Merge pull request #1456 from mkbel/Fix_load_fail_current
Do not disable motor currents when print is paused due to mmu load er…
2019-01-16 12:49:38 +01:00
Marek Bel
3af1f81269 Do not disable motor currents when print is paused due to mmu load error. 2019-01-15 21:40:02 +01:00
Marek Bel
d09ff5c3e7 Remove commented out code. 2019-01-15 01:30:54 +01:00