PronterFace keeps sending M105 requests during long operations like G29 P1, G29 P2, G29 P4 and G26. The serial buffer fills up before the operation is complete. The problem is, a corrupted command gets executed. It is very typical for the M105 to turn into a M1 (actually... M1M105 is typical).
This causes the printer to say "Click to resume..."
This is a temporary fix until we figure out the correct way to resolve the issue.
More work needed for G26.
The changes to ultralcd.cpp for is_lcd_clicked() did not encompass the
full functionality of UBL's G29 P1, P2 and P4. It also broke G26's
ability to abort in several of its phases.
This is the first pass at fixing the problem. It has been tested for
correctness for several hours but more testing needs to be done.
There may be a few follow up patches to finish covering all the corner
cases, but right now I need to merge this before any conflicts show up.
Some of these changes will need to be moved over to the bugfix-v2.0.0
branch. That will happen a few days from now.
Reverse engineered from the unpublished firmware from Creality,
inferring the base version and configuration they used. The basis is
the firmware version from "Jul 31 2017 10:16:30". Configurations were
found by seeing what code was compiled into the firmware, and
constants used there.
They used Marlin 1.0.1, because
* 1.0.0 had very different serial output in `setup()` and overall
code structure.
* 1.0.2 changed the `VERSION_STRING` to include a leading space,
and `lcd_init` uses `SET_INPUT` instead of `pinMode`.
For U8Glib, a version between 1.14 and 1.17 was used, because
* 1.12 didn't have the extra speed argument to u8g_InitCom.
* 1.13 didn't have the soft reset instruction for UC1701 initialization.
* 1.18 has a new directory structure.
Quirks
* The value of PID_dT hints that F_CPU is 20M, but MarlinSerial.begin
suggests it's indeed 16M (and the board uses 16M). Left at 16M for now.
* The LED and DOGLCD_CS are on the same pin.
Implements changes to LCD and encoder pins from
forums.reprap.org/read.php?110,716538,728278 and also sets
ST7920_DELAY_[1-3] to DELAY_2_NOP to be compatible with the slower LCD
Implemented synchronization message output for NanoDLP printers (nanodlp.com).
If optional feature is enabled in `Configuration_adv.h`, Marlin will ouput "Z_move_comp" string to serial after completing any G0/G1 Z-axis movements. This feature patched on previous versions(1.0) is used by NanoDLP to synchronize Z-axis movement with projector exposure in DLP stereolithography printers.
Also... Doing a 'Direct Commit' to see if that is 'acceptable' for small changes like this. I want to look at the commit history and see how the logs handle this type of change.
* Fix thermal protection documentation.
Even before the recent thermal protection changes, the documentation of
the thermal protection feature in the config files did not match the
implementation. I fixed the documentation and reconciled the M303
implementation with the documentation.
* Applied documentation changes to sample config files
* Renamed hysteresis to watch_temp_increase
* Added gcodes back into documentation.
* Fix G26's circle drawing...
This mostly catches the bugfix-v1.1.x branch up to bugfix-v2.0.0
I'll have to do something similar to get bugfix-v2.0.0 caught up to
bugfix-v1.1.x
* only use planner.leveling_active if appropriate
* Initial conflict resolution
All previous items resolved:
- Use of ELAPSED() on timer code
- Switch to use of defer_return_to_status=true as much as possible
- Update & Clean Up of Max7219 routines
* Resolve non-SD case in ultralcd.cpp
Changes to support NEOPIXEL LED strips
- Support for different NEOPIXEL as defined in Adafruit_NeoPixel.h
- ability to setup startup brightness
- ability to define sequential/non-sequential transition of color change during heating-up
- additional parameter to M150 P<brightness>
Ideally, it should be calculated based on Z steps per unit so that each
babystep corresponds to around 0.025mm. Smaller than this is largely
insignificant for typical layer heights.
* Add MAX7219_DEBUG to Travis CI testing
* Tweak config and use standard pin naming for MAX7219_DEBUG
* MAX7219: Apply coding standards, use macros, etc.
* Make code work...
* Add Max7219 LED Matrix Debug Support
The Max7219 8x8 LED Matrix's are very helpful for debugging new code.
And for that matter, just trying to maximize printer settings without
causing stuttering.
The displays are very inexpensive (under $2.00 with shipping) and
provide a lot of help when trying to debug complicated code.
* Try to keep Makefile up to date.
Probing with the effector in the printing area, but an eccentric probe (e.g. allen key) outside it but still touching the bed gives meaninfull information for calibration. Since calibration is most accurate when probing as close to the towers as possible the testing was way to restrictive hence this fix.
* Save up to 94 bytes of RAM on 20x4 LCD Display machines
Moved the custom screen characters out of RAM into Program Memory. With
SD-Card support and the Progress Bar enabled, this saves 94 bytes of RAM
memory.
This was tested using the example_configurations/FolgerTech-i3-2020
files. So a couple small changes to those files snuck into this Pull
Request.
Probably... We can find similar savings in the Graphics LCD code it we
comb through it. And if so... That is the place we really need to
save RAM memory!
* Tidy up white space and indentation
==============================
Configuration_adv.h changes
==============================
add "live" LCD update
==============================
P & S version
==============================
final (hopefully) tested version
==============================
update M115 capabilities print
==============================
Menu changes portion of the requested changes
==============================
changed USEABLE_HARDWARE_PWM from a function to a series of macros
==============================
changes per review
The menu (commands / scripts) is configurable in `Configuration_adv.h`.
- Added conditionals.
- Changed script handling.
- Slimmed and working!
- Added Status message.
- Returning to lcd status screen now!
- Example Configs Updated.
- Cleanups by @thinkyhead
* Unify M600 and M125 pause features
* Cleanup per thinkyhead's comments
* Rename filament_change_menu_response to advanced_pause_menu_response
* Include HAS_BED_PROBE in QUIET_PROBING
* Update gMax example file
* is_idle() is out of scope without the braces
* Convert FT-i3-2020 to Advance Pause names...
* Allow pause even if not printing
- fix broken `M421` due to less-than-careful optimization
- add HOME_AFTER_DEACTIVATE define to advanced config so not everyone has to rehome after steppers are deactivated
- misc. cleanups (remove unused label, unused variables)
UltiPanel was enabled, but technically, it is a REPRAP_DISCOUNT_SMART_CONTROLLER
Either configuration works on the machine. But we want it 'Right'.
Setup the Proportional Font spacing so columns line up nicer on PronterFace and Repetier Host.