* 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.
==============================
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)
- rename to PROBING_HEATERS_OFF
- move heater pausing functionality into thermalManager
- add variables, pause(), ispaused(), other functions
- add fan pausing functionality -> PROBING_FANS_OFF
- add probing_pause() wrapper
- move pausing into do_homing_move() and do_probe_move() to minimize quiet time and so other probe types can benefit
- example configs
This is what I did yesterday:
- basicly gave the tests more comprehensive names; put all the
declarations at the top; got rid of the magic negative C-value (renamed
to P + A, O, T)
- "cos(RADIANS(180 + 30 * axis)) * (1 + circles * 0.1 * ((zig_zag) ? 1 :
-1)) * delta_calibration_radius" compiles wrong is zig_zag statement is
without brackets
- DELTA_TOWER_ANGLE_TRIM reset to 3 values (the calcs use the 3th value
to normalize will not compile otherwise)
-Wrote 3 dummies to keep EEPROM lenght the same
-Reset the configs to the 'original' with autocal + menu disabled (but
can be enabled of course)
The Configuration.h file entries for BL-Touch have been updated to:
```cpp
//#define BLTOUCH
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
//#define BLTOUCH_HEATERS_OFF // if defined the printer's heaters are
turned off during probe event
```
- Making M665 compatible with repetier (see
http://reprap.org/wiki/G_code#M665:_Set_delta_configuration)
- M665 B also sets the radius for manual calibration menu
- Converting tower ajustment definitions to arrays - tower angle
corrections compatible with Esher 3D wizzard
- Only tower angles need to be adjustable with M665 and stored to EEPROM
- tower radius and diag rod can be adjusted in the FW only with #define
Firmware was forgetting the z_fade_height in Planner, set by M420 Z<f>,
after each reset or loading settings from EEPROM. Added the float
z_fade_height to EEPROM-Storage, now remembers the value.
# 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 #5792 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 #6139
# This is the commit message #2:
fix typo
==============================================
clarified BLTouch calculation & changed comment delimitters/flags
I found it hard to pickout the various sections in this area so I
changed most comments from // style to /** ... */
Made the BLTouch calculation simpler and clarified the units of measure
for the result.
============================================
add changes to example configurations
============================================
add TinyBoy2 to this PR & add BLTouch Delay
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.
The OLED is driven by an SSD1306, connected to the board via
I2C, the rotary encoder is connected to 3 GPIO pins.
Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de>
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.
- Add configuration support for zigzags in either the X or Y axis, for
wipe pads significantly longer in one dimension.
- Add configuration for default number of zig-zag triangles, vs. a
magic number in `Marlin_main.cpp`.
- Update description of auto nozzle wiping to match functionality
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.
If ENDSTOP_INTERRUPTS_FEATURE is enabled this tries to set up interrupt routines
for all used endstop pins. If this worked without errors, `endstops.update()` is called
only if one of the endstops changed its state.
The new interrupt routines do not really check the endstops and react upon them. All what they
do, is to set a flag if it makes sense to call the endstop test we are used to.
This can be used on:
* ARM (DUE) based boards - all pins can raise interrupts,
* RAMPS - all 6 endstop pins plus some other on EXT-2 can raise interrupts,
* RAMPS based boards - as long the designers did not change the pins for the endstops or at least left enough,
* all boards, if there are enough pins that can raise interrupts, and you are willing/able to swap with pins dedicated to other purpose.