Commit Graph

380 Commits (20772492aaf92d6e627396483184f59a4e628861)

Author SHA1 Message Date
Bob-the-Kuhn 9657e7d3ee copied file changes from PR
==============================

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
Tannoo 74d6dee920 User Command (Script) Menu
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
Scott Lahteine d9c8072037 Edit PROPORTIONAL_FONT_RATIO comment
Scott Lahteine 71367fd518 Scrolling status message option
Thomas Moore fb5e0ffe16 Unify M600 and M125 pause features ()
* 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
Scott Lahteine 002a06c507 New GCode Parser - Configuration
Brian 43c24f0027 Fix recent regressions, &c.
- 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)
Scott Lahteine 99c4900a98 SPINDLE/LASER config changes
Brian 2604742191 Add proportional font adjustment ratio
- update example configs
Scott Lahteine 2c13922c46 Implement USE_CONTROLLER_FAN as a feature
Scott Lahteine 4803a4322e Revert "Fix for Meshpositions if printer has negative endstop positions"
Brian 4e1448e75a Various fixes for compiler warnings
add BLTouch-related messages in english and (rusty) french;
add missing endstops.h in ultralcd.cpp;
fix misc. compiler warnings;
fix lsf_reset - ZERO macro can't handle a pointer as it would only memset the size of the pointer, not the size of the entire struct
Scott Lahteine 39c6c5621b Merge pull request from SkyNet3D/negative-mesh-fix
Fix for Meshpositions if printer has negative endstop positions
Scott Lahteine d7d4378481 Remove inaccurate version description
Brian f41fb2b635 Numerous UBL-related changes:
* relocated ubl state to config. store:
 * removed a number of ubl state variables and padding which were largely unused - saved 58 bytes of both SRAM and EEPROM;
 * modified ubl sanity_check - no longer checks removed state variables that were otherwise unused, where checking didn't seem to accomplish anything, ultimately;
 * removed pre_initialized state, saving 64 bytes of SRAM;
 * removed automatic saving of UBL state after UBL activation/deactivation;
* consolidated multiple GRID_MAX_POINTS_X/Y to 'Global Leveling' section of EEPROM;
* minor update to G29 Sx notes/instructions;
* renamed mesh load and save parameter to 'slot' from 'm' for clarity;
Hans Raaf 406a83ff2d Fix for Meshpositions if printer has negative endstop positions
Scott Lahteine a00ae4790a Replace M905 with unique code M900
Scott Lahteine d60c02c5b1 Cleanup, extend TMC2130 configuration
Scott Lahteine 1bd25fd2b3 Clean up config spacing, section headings, etc.
Scott Lahteine 5803ba43a9 Expose EXT_SOLENOID as an advanced option
Scott Lahteine 52c3ace102 Add BABYSTEP_ZPROBE_OFFSET as an optional feature
Scott Lahteine cd4e6abec8 Group BABYSTEPPING options together
Scott Lahteine 4cdda5615b Bring other configs up to date with wt150 changes
Scott Lahteine 39617e10b8 Patch configs comment formatting
Scott Lahteine c54f6cf23d Updates to support 5 extruders
Scott Lahteine 2b88ccd0aa Apply UBL mesh bounds to remaining configs
Scott Lahteine f8408036f2 Merge pull request from thinkyhead/rc_five_extruders
Support up to 5 extruders in Marlin
Bob-the-Kuhn f7fc49c3a3 Finish name change
DAC_STEPPER_DFLT wasn't changed to DAC_MOTOR_CURRENT_DEFAULT in all
places on PR 
Scott Lahteine 2a84122edd Configuration changes to support 5 extruders
Bob-the-Kuhn 6643d553f6 # This is a combination of 2 commits.
# This is the 1st commit message:

MCP4728 consistency & fix ultralcd.cpp

The MCP4728 DAC controls the stepper motor current strenth on the
PRINTRBOARD Rev F and RIGIDBOARD V2 boards.

PR  on 9 FEB 2017 implemented default drive percentages but only on
the RIGIDBOARD V2.

This change moves the default settings to Configuration_adv.h.

Also, ultralcd.cpp won't compile because of a type def conflict.
Changed it to match the one in stepper_dac.cpp

===========================================================

reword stepper curent section for clarity

===========================================================

change name & improve comments

===========================================================

changed name from A4JP to SCOOVO_X9H per PR 

# This is the commit message :

fix typo
Bob-the-Kuhn a5abc61fb9 Merge pull request from Bob-the-Kuhn/Servo-probe-and-toggle-pins
M43 - add Toggle utility and Z servo utility (replaces PR )
Bob-the-Kuhn f9686a108c add Z servo test and toggle pins to M43
Scott Lahteine 62cbaa302e Z_DUAL_ENDSTOP - make offset a configuration item
The offset for Z_DUAL_ENDSTOP (z_endstop_adj) is already in Marlin.
This PR just makes it a configuration item.

z_endstop_adj is initialized in two places so both had to be modified.
Bob-the-Kuhn 0934563b97 G38 optional double touch
Made the double touch portion a conditional compile based on the
PROBE_DOUBLE_TOUCH flag.

==============================================

Bugfix

The current G38 only stopped a move if it involved the Z axis.

Moved all the G38 code to it's own section and put it where it would
always be executed no matter what axis was moving or if the endstop was
enabled.

Also added a comment to configuration_adv to alert the user the double
tap had to be turned on.

==============================================

Change G38 back to using Z_MIN_PROBE

There's no Z_MIN endstop if Z_DUAL_ENDSTOPS is enabled and you have them
set to the top of the gantry.

G38 started out as using the Z_MIN_PROBE pin.  I don't remember why we
changed it to the Z_MIN endstop.
Scott Lahteine 26473cab6d Add PARK_HEAD_ON_PAUSE feature
Scott Lahteine 8eb29f91e6 Patch filament change options and beep code
Scott Lahteine cf94688925 Univeral Bed Leveling - configuration
Scott Lahteine 77491dd924 Remove extraneous whitespace
Scott Lahteine 45f949d833 TMC2130 Library: @teemuatlut replaces @makertum
Scott Lahteine 05abe853f9 New option: NO_WORKSPACE_OFFSETS
Scott Lahteine 5065636023 Merge pull request from thinkyhead/rc_advance_ed_ratio
LIN_ADVANCE: Fixed E/D ratio option
Scott Lahteine fb4aead2b1 Clean up and finish
Sebastianv650 de6c40ed8f Add option to fix E/D ratio
Work around for slicers producing buggy gcode.
Roxy-3D 11e892bd84 Merge pull request from Roxy-3D/RCBugFix
Double Click of Encoder Wheel Jumps to Z-BabyStepping
Scott Lahteine c759c26cca Make LCD_TIMEOUT_TO_STATUS configurable
As suggested in
https://github.com/MarlinFirmware/Marlin/issues/5570#issuecomment-283059
065
Roxy-3D 7e607b06eb Better comments on DOUBLE_CLICK_TIME_WINDOW
Roxy-3D 48d862377a Double Click of Encoder Wheel Jumps to Z-BabyStepping
Scott Lahteine 561904345f Tweak config ordering for M600
Scott Lahteine d9dcef8a87 Spacing, coding standards
Roxy-3D 8bf0b496b9 Improve M600 with timeout, wait for heatup.
Scott Lahteine 47f9883b0f Dynamic allocation for SDCARD_SORT_ALPHA
Scott Lahteine a561bd5e3a New feature: SDCARD_SORT_ALPHA
Robert Kirk 0d147ead66 Allow enabling volumetric filament on config load
Scott Lahteine 4061fca1ad Sanity checks for FILAMENT_CHANGE_FEATURE and FILAMENT_RUNOUT_SCRIPT
Sebastianv650 84c685f8b5 First draft of Unified Stepper / E Advance ISR
Scott Lahteine bec30c89e7 Merge pull request from esenapaj/Add-description-for-dual-x
Add description for choice of DEFAULT_DUAL_X_CARRIAGE_MODE
Scott Lahteine 18ba31e9b5 Add Debug Menu with LCD_PROGRESS_BAR_TEST as an example
esenapaj 6854f44bf2 Add description for choice of DEFAULT_DUAL_X_CARRIAGE_MODE
esenapaj 069c6b38dd Remove unnecessary tabs and spaces
Scott Lahteine 06af3b62ba Move HOLLOW_FRAME options to config_adv
AnHardt d0e24e0876 Adaptive screen updates for all kinds of displays
The target here is to update the screens of graphical and char base
displays as fast as possible, without draining the planner buffer too much.

For that measure the time it takes to draw and transfer one
(partial) screen to the display. Build a max. value from that.
Because ther can be large differences, depending on how much the display
updates are interrupted, the max value is decreased by one ms/s. This way
it can shrink again.
On the other side we keep track on how much time it takes to empty the
planner buffer.
Now we draw the next (partial) display update only then, when we do not
drain the planner buffer to much. We draw only when the time in the
buffer is two times larger than a update takes, or the buffer is empty anyway.

When we have begun to draw a screen we do not wait until the next 100ms
time slot comes. We draw the next partial screen as fast as possible, but
give the system a chance to refill the buffers a bit.

When we see, during drawing a screen, the screen contend has changed,
we stop the current draw and begin to draw the new content from the top.
Scott Lahteine f882355994 Merge pull request from Sebastianv650/Account_for_LCD_improvements
Account for LCD improvements in ENSURE_SMOOTH_MOVES
Scott Lahteine d5bf1684fe Implement as optional feature LCD_DECIMAL_SMALL_XY
And reduce the function size to simplify
Scott Lahteine f60b4f8659 Allow case light pin to be active low
Sebastianv650 f62f4006af Account for LCD improvements in ENSURE_SMOOTH_MOVES
.. and give the hint to try lower values if possible.
Scott Lahteine 5460a529da Add option DOGM_SPI_DELAY_US
esenapaj ef97645002 Follow-up the PR (Case light menu (3rd attempt))
Scott Lahteine 4e4f37b6c2 Code formatting for TMC and L6470 config options
Scott Lahteine bf5f5f44cc Make TMC2130 init code auto-configure
Simply apply enabled settings instead of requiring users to edit
stepper_indirection.cpp
Moritz d67c1d825f Add TMC2130 support
Scott Lahteine 072541f286 Update ENSURE_SMOOTH_MOVES in all configs
Sebastianv650 de89dc9f04 Ensure smooth print moves even with LCD enabled
lcd_update can take so much time that the block buffer gets drained if
there are only short segments. This leads to jerky printer movements for
example in circles and a bad print quality.

This change implements a simple check: Only if the block currently
executed is long enough, run lcd_update.
This also means the printer will not show actual values on the LCD nor
will it respond to buttons pressed. A option that keeps the menu
accessible is also available.
Aditionaly, slow down if a block would be so fast that adding a new
block to the buffer would take more time. In this case, the buffer would
drain until it's empty in worst case.
Scott Lahteine 60cc9342a4 Merge pull request from thinkyhead/rc_extended_host_support
Extended host support: M155 Auto temp report, M115 capabilities
Scott Lahteine 3c9a838651 Extended capabilities report in M115
Scott Lahteine 68b866b5dd Add M155 - Auto-report temperature with interval
Scott Lahteine 75bfde9945 M155=>M260, M156=>M261
esenapaj 2ae72b0491 Follow up the PR (Add Turkish Language) again, etc
・Update forgotten K8400\Dual-head\Configuration.h
・Adjust spacing
Scott Lahteine 2495ab7af2 Make dual_x_carriage_mode an enumeration
Stanley ab3f966f5f Case light G-code M355
implemented G-Code M355 into Marlin
Scott Lahteine b6aa894893 Rename auto fan pins and add auto fan flags
Scott Lahteine b9109b2875 Improve LIN_ADVANCE commentary (all configs)
Sebastianv650 599649e45d Add formula for LIN_ADVANCE_K
With this formula, a start value for K for further fine-calibration can be calculated.
Scott Lahteine a0df34fd4c Add PINS_DEBUGGING advanced config option
Scott Lahteine 919fe3e4b8 Rename feature to G38_PROBE_TARGET
Scott Lahteine a2864ab7fe Patched up, cleaned up
Bob-the-Kuhn 2911aa7ffa code changes to implement G38 commands
1) modified 3 code files
Marlin.h
Marlin_main.cpp
endstops.cpp

2) modified config files so I could test on my machine

Testing was done on an AzteegX3pro based machine.

The probe was hooked to the Z_MIN endstop.

My controller doesn't have a dedicated Z_PROBE input so I couldn't test
that functionality.

Verified that a large file (without any G38 commands) executed the same
before and after the changes.

Verified that the head moves as expected when G38.2 and G38.3 commands
are issued. Single & multiple axis moves were tested along with + and -
directions.

Code was added to the main ISR. In normal operation only one extra IF
statement is evaluated. I didn't notice any performance degradation
because of the added code.

The G38 commands are expected to be issued manually by the operator
during machine setup. The G38 commands wait until the machine is idle
before proceeding. That way the other commands are minimally impacted
by the extra ISR overhead when a G38 command is in the queue.

The G38 commands are very similar to the G28 commands except 1) only the
Z_PROBE is used and movement can be in the + or - direction.

See issue 4677 for a discussion on adding G38 commands to Marlin.
Feature request: add ability to use G38.2 command (CNC)
esenapaj 92c03a44a9 Fix the PR (ABL: Enable by type. Bilinear for all.) etc.
About Configuration.h:
・Fix the PR  (ABL: Enable by type. Bilinear for all.)
Remove Duplicated contents

・Fix the PR  (Custom boot screen feature improvement)
Revert from "during boot" to "during bootup" in all the example
Configuration.h

・Fix the PR  (Clean up, simplify and generalize the Allen-key-probe
code.)
Resolve and relocate the duplicated definitions in Z_PROBE_ALLEN_KEY
section

・Follow-up the PR  (Additional documentation of Configuration.h)
Add forgotten changes to all the example Configuration.h

Adjust spacing

About Configuration_adv.h:
Add missing description of SLOWDOWN for DELTA

Adjust spacing
Scott Lahteine 9b0931ef74 Apply fixed EXTRUDER_RUNOUT_PREVENT
Scott Lahteine 759234af60 MINIMUM_STEPPER_PULSE option
Scott Lahteine ab59280075 MIN_SEGMENTS_FOR_MOVE => MIN_STEPS_PER_SEGMENT
Follow-up to 
Scott Lahteine 374f8d2014 dropsegments => MIN_SEGMENTS_FOR_MOVE
Scott Lahteine d63b8e2b2b Additional details for I2C_SLAVE_ADDRESS
Scott Lahteine a99ecf71d8 Add support for i2c slave address
Scott Lahteine 63fd1f49a6 PID_EXTRUSION_SCALING, disabled by default
Scott Lahteine c6226bb0aa Unify config in a single include without nested includes
Scott Lahteine 93ea281061 Split up Conditionals.h into two files
Rather than include twice, which is tricky but may confuse
Scott Lahteine fcc39e2b5f Clean up Transfer Buffer Size comment
Scott Lahteine 91777dd76c Add DUAL_NOZZLE_DUPLICATION_MODE option
Scott Lahteine 0fcd3706dd Replace ENDSTOPS_ONLY_FOR_HOMING with ENDSTOPS_ALWAYS_ON_DEFAULT
Scott Lahteine 91bd6eade7 X_DUAL_STEPPER_DRIVERS configuration option
Scott Lahteine 182c8d7f8f Dyze High Temp Thermistor Support
AnHardt 4b44a23a36 Add TX-buffer for MarlinSerial
Similar to the current Arduino HardwareSerial
but with max. 256 byte buffer-size.

Deactivated by default.

The boards with AT90USB processor (USBCON) already use a TX-buffer.
AnHardt a129078927 Add an emergency-command parser to MarlinSerial (supporting M108)
Add an emergency-command parser to MarlinSerial's RX interrupt.

The parser tries to find and execute M108,M112,M410 before the commands disappear in the RX-buffer.

To avoid false positives for M117, comments and commands followed by filenames (M23, M28, M30, M32, M33) are filtered.

This enables Marlin to receive and react on the Emergency command at all times - regardless of whether the buffers are full or not. It remains to convince hosts to send the commands. To inform the hosts about the new feature a new entry in the M115-report was made. "`EMERGENCY_CODES:M112,M108,M410;`".

The parser is fast. It only ever needs two switch decisions and one assignment of the new state for every character.

One problem remains. If the host has sent an incomplete line before sending an emergency command the emergency command could be omitted when the parser is in `state_IGNORE`.
In that case the host should send "\ncommand\n"

Also introduces M108 to break the waiting for the heaters in M109, M190 and M303.

Rename `cancel_heatup` to `wait_for_heatup` to better see the purpose.
Petr Zahradnik 43ff0ce35f Rewritten FILAMENT_CHANGE_ENABLE feature
Anthony Birkett 7a377c1d75 Add "About Printer" information menu.
Includes:
  *firmware version / branch / date.
  *extruder count
  *board information (name, serial details, power supply type)
  *thermistors (names, min/max temperatures)
  *printer statistics (PRINTCOUNTER details)

Thanks to @thinkyhead for contributions.
Scott Lahteine f84d85f761 Cleanup extruder runout configs
Scott Lahteine 40cd20a236 Fix comments on EXPERIMENTAL_I2CBUS
Scott Lahteine eab44b30d4 Safety and serial sections
Scott Lahteine f639044c24 Merge pull request from jbrazio/feature/config-version
Adds versioning for Configuration.h & Configuration_adv.h
João Brázio 8ccd97e7cc
Updated all example configuration files
João Brázio de8108648f
Added a versioning system to the config files
Scott Lahteine 6d62a4ffc8 Patch LIN_ADVANCE for style and forward-compatibility
Sebastianv650 fb8e880734 Add LIN_ADVANCE
Scott Lahteine cd441ce652 SINGLENOZZLE: EXTRUDERS versus HOTENDS
Edward Patel 06593833ff MBL: Move border macros to Configuration_adv.h
Scott Lahteine 8218558953 Update comments, rename next_ping_ms, followup to
AnHardt 2207001333 No compromises for the manage_heater()
No compromises for the manage_heater(). manage_heater() will return immediately when there is nothing to do, but needs a constant detaT to work proper.
Calling idle() only every 200ms results in a display update every ~2 seconds - that should be enough.
For the other functionalities in idle() and manage_inactivity() 200ms is a lot but hopefully works.
Scott Lahteine 07c9a11c3c Automatically set X2 stepper pins
Scott Lahteine ddac17a195 Add BEZIER_CURVE_SUPPORT (G5 XYZEFIJPQ)
Scott Lahteine 9f6b8f7d5b Remove extra @section directive from configs
AnHardt b74af78736 Make arc support (G2/G3) configurable
Saves about 2669 bytes when deactivated. (About 1% for a AT2560, about __4%__ for a AT644!)
Scott Lahteine fbf69081b4 Updated comment for THERMAL_PROTECTION_BED
gralco 908229dbb3 Introduce temp watch protection for the bed
When setting the bed temp via M140/M190 if the thermistor does not read an increase of WATCH_BED_TEMP_INCREASE degrees by WATCH_BED_TEMP_PERIOD seconds then it will throw "Error:Heating failed, system stopped! Heater_ID: bed" and call the kill() function.

Conflicts:
	Marlin/Configuration_adv.h
jbrazio dd3a06a95a Implemented M155 and M156, a generic TWI/I2C interface for Marlin
Scott Lahteine 868eebfdee Simplify configuration of Z2 endstops
Scott Lahteine 3b2d159abd Relax the test for "Heating failed" errors
Scott Lahteine 53cc6cca46 Formalize some dependencies on PIDTEMPBED
Scott Lahteine e08915a723 Fix comments in Configuration_adv.h
Scott Lahteine 0da744b7b0 Further cleanup of comments, partial Doxygen-style
Following up on 
jbrazio 5e5d250832 Added gplv3 header to all Marlin files
Blue-Marlin 3166aed087 Improve the descriptions for THERMAL_PROTECTION
Scott Lahteine e5fd43f343 Implement BABYSTEPPING for COREXY and COREXZ
esenapaj2 236a44c83b follow-up the PR
follow-up the commit 7326d63ce0
update Configration_adv.h of Hephestos2
delete unnecessary spaces
Scott Lahteine 0c48eaf3de Expose motor current in more configs, disable by default
Elijah Snyder e8b10d2836 Adding PWM_MOTOR_CURRENT flag to help expose PWM_MOTOR_CURRENTS in Configuration_adv.h similar to DIGIPOT_MOTOR_CURRENT
Scott Lahteine eb85342fd9 Merge pull request from AnHardt/fix2661
Pre home display - Stepper release
Scott Lahteine 772460a7b8 Various minor spelling corrections
Redo of  rebased against RCBugFix
Scott Lahteine 9eb4aceee4 Merge pull request from thinkyhead/enable_watchdog
Enable USE_WATCHDOG by default
AnHardt 4b02f33e69 Distribute config-changes to the other configurations
AnHardt b6e69e71ce Make stepper shutdown after inactivity dependent
Make stepper shutdown after inactivity dependent on a new set of
#defines.
DISABLE_INACTIV_X
DISABLE_INACTIV_Y
DISABLE_INACTIV_Z
DISABLE_INACTIV_E

And make exemplaric Configuration.
Names can be discussed.

This makes the disabling of the steppers independent from the DISABLE_?
settings witch shut down the steppers immediately.
Scott Lahteine 1093c780c8 Remove obsolete STEPS_MM_E setting
Scott Lahteine fbfbc5e330 Enable USE_WATCHDOG by default
Richard Wackerbarth 0cebe85e65 Clean up spacing and duplicate entries
• Removing trailing whitespace
• Adjusting indention for better readability
• Removing duplicated entries
AnHardt c956b52c4a Babystep Multiplier
Analog to https://github.com/MarlinFirmware/MarlinDev/pull/250 by
@RicardoGA

Restore the Babystep Multiplicator functionality and now it's available
for X/Y/Z
Richard Wackerbarth e01f5e1ef7 Cleanup
Scott Lahteine bc50db9cf6 Implement PID_ADD_EXTRUSION_RATE
Scott Lahteine 28599c51c7 Wrap Dual Y options in a conditional
Scott Lahteine 11a065c0ca Remove Z2 pins overrides from Configuration_adv.h
wurstnase f3ab1dba54 Z babystepping for coreXY (PR#47)
only X and Y were not implemented
Scott Lahteine 270c766de2 SDCARDDETECT -> SD_DETECT, added docs
- `SD_DETECT_PIN` replaces `SDCARDDETECT`
- `SD_DETECT_INVERTED` replaces `SDCARDDETECTINVERTED`
- Revise the description of `SD_DETECT_INVERTED`
- Add a note about the override of `SD_DETECT_INVERTED` in
`Conditionals.h`