Commit Graph

2510 Commits

Author SHA1 Message Date
Kevin O'Connor 1f3b74d2f7 tmc2130: Hold a mutex during MCU_TMC_SPI get/set_register()
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-06-28 16:59:26 -04:00
Arksine 3a3dfd51b9 docs: Add CLEAR_PAUSE to G-Codes.md
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2019-06-28 12:44:49 -04:00
Arksine 35a45e2446 pause_resume: add CLEAR_PAUSE gcode
Allow the user to clear the pause state without restoring  position.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2019-06-28 12:44:49 -04:00
Kevin O'Connor 505e96b7ed klippy: Only set the run_result if it hasn't already been set
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-06-28 10:21:50 -04:00
Kevin O'Connor e5f74a64ed polar: Add initial support for multiple bed rotations
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-06-28 10:00:40 -04:00
Kevin O'Connor d9d94c858a docs: Add skew_correction.md to Overview.md
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-06-27 09:50:17 -04:00
Arksine a3b4543c97 skew_correction: add documentation
Signed-Off-By:  Eric Callahan <arksine.code@gmail.com>
2019-06-26 20:16:35 -04:00
Arksine b37222e3a1 skew_correction: initial implementation
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2019-06-26 20:16:35 -04:00
Arksine 2d7f32584f gcode: Add support for stacked transforms
Add method from pull request #1243 to support stacked transforms.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2019-06-26 20:16:35 -04:00
Kevin O'Connor 9855354c75 tmc_uart: Use print_time=None as default (not print_time=0)
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-06-25 18:27:59 -04:00
Kevin O'Connor 4aeb7d38a7 sx1509: Minor cleanup - don't default print_time to 0
It's not valid to use a print_time=0, and it isn't actually used in
the sx1509 code.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-06-25 18:19:05 -04:00
Kevin O'Connor 6ec7dee07d tmc: It's not valid to schedule messages with print_time=0
A print_time of zero may translate to a negative clock on a secondary
micro-controller, which would cause an internal error.  Change the
code to pass a real print_time or None if it is not needed.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-06-25 18:19:05 -04:00
Kevin O'Connor 79c24f95b3 config: Add example tmc2130 sections to SKR v1.3 board
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-06-25 13:49:35 -04:00
Kevin O'Connor 52b5ca182c tmc: Simplify internal DUMP_TMC interface
Only the tmc2208 driver needs special read register translation logic.
Rework the code so a default implementation is available for all the
other drivers.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-06-25 11:40:15 -04:00
Kevin O'Connor cf0a42ed6b test: Fix SET_TMC_FIELD test cases
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-06-24 08:05:45 -04:00
Kevin O'Connor d9bddc35a1 docs: Add information on running the regression suite locally
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-06-23 17:59:23 -04:00
Kevin O'Connor 4bb0b6defd check_whitespace: Add script to run whitespace checks
Allow users to run the "travis ci" whitespace check directly from the
command-line.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-06-23 17:44:48 -04:00
Kevin O'Connor a2c7fd369c docs: Note tmc2209 and tmc5160 support in Features.md
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-06-23 12:28:39 -04:00
Kevin O'Connor e18dddd1ab config: No need to list all tmc drivers in endstop_phase description
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-06-23 12:27:09 -04:00
Kevin O'Connor ba27e0aa02 docs: Warn against using "PreloadVE" on KISSlicer
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-06-23 12:18:24 -04:00
Kevin O'Connor 7173a2c427 config: Update example-extras.cfg for tmc2209
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-06-23 11:47:24 -04:00
Kevin O'Connor 4fb4a13fd7 endstop_phase: Add tmc2209 and tmc5160 to list of tmc drivers
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-06-23 11:27:18 -04:00
Stephan Oelze ec9fad758a tmc2209: Initial support for tmc2209 stepper driver
Signed-off-by: Stephan Oelze <stephan.oelze@gmail.com>
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-06-23 11:26:20 -04:00
Kevin O'Connor c3467f5b35 config: Add generic-printrboard-g2.cfg config file
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-06-21 23:12:31 -04:00
Kevin O'Connor 80194a7e18 endstop_phase: Fix endstop_phase on trinamic drivers that aren't inverted
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-06-21 22:56:16 -04:00
Kevin O'Connor 0b02d7a1f2 tmc_uart: Support print_time in set_register()
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-06-21 21:47:37 -04:00
Kevin O'Connor 9feb05ce41 mcu: Support minclock in send_with_response() requests
Enhance send_with_response() so that it supports queries with a
minclock.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-06-21 21:42:20 -04:00
Kevin O'Connor e202a8802b mcu: Move SerialCommand from serialhdl.py to mcu.py
Move the serial command wrapper class from serialhdl.py to mcu.py.
This will allow that class to better support higher level
functionality.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-06-21 21:42:20 -04:00
Kevin O'Connor cc3666aa78 serialhdl: Introduce SerialReader.send_with_response()
Introduce a main send_with_response() helper function and use it
during identify and the setup of clocksync.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-06-21 21:42:20 -04:00
Kevin O'Connor d98bbc772c serialhdl: Eventually timeout connect attempt
If the serial connection has not been successful after 2.5 minutes
then report an error.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-06-21 21:42:20 -04:00
Kevin O'Connor ebb375fee9 serialhdl: Use send_with_response() to query identify data
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-06-21 18:48:33 -04:00
Kevin O'Connor 461ed4cb80 serialhdl: Add a get_msgparser() method
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-06-21 18:14:00 -04:00
Kevin O'Connor 647f1ee2e0 serialhdl: Rename register_callback() to register_response()
Rename the method and use that name in the mcu class as well.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-06-21 18:14:00 -04:00
Alec B. Plumb daadb36cb4 gcode_button: Execute gcode when a button is pressed or released (#1745)
An extra to execute gcode when a hardware button is pressed or released. Uses the jinja2 templating system.

Inspired by pull request #545 from Miguel Moitinho miguel@moitinho.net and pull request #1098 from Paulo Drugos paulodrugos@gmail.com

Signed-off-by: Alec Plumb <alec@etherwalker.com>
2019-06-21 18:06:31 -04:00
Kevin O'Connor 83e6c01ada probe: Allow probe parameters to be specified as g-code parameters
Add PROBE_SPEED, SAMPLES, SAMPLE_RETRACT_DIST, SAMPLES_TOLERANCE,
SAMPLES_TOLERANCE_RETRIES, and SAMPLES_RESULT parameters to the PROBE
command (and to commands that indirectly invoke a probe).

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-06-21 14:44:28 -04:00
Kevin O'Connor c92aca74b5 probe: Add support for samples_tolerance
Add a check on the maximum Z distance between probe samples.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-06-21 14:06:20 -04:00
Alan Lord a613045287 scripts: Update klippy-requirements.txt (#1744)
Signed-off-by: Alan Lord <alanslists@gmail.com>
2019-06-21 13:32:54 -04:00
Kevin O'Connor f6e9db2d05 toolhead: Just warn if M204 doesn't contain valid S, P, or T
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-06-21 12:53:47 -04:00
Kevin O'Connor 98915fb1d0 probe: Always return just x,y,z from _probe()
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-06-21 11:04:55 -04:00
Kevin O'Connor 3e741a1f88 config: Clarify which boards use lpc1768 vs lpc1769 when known
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-06-20 11:23:30 -04:00
Kevin O'Connor 8951dc3d51 lpc176x: Add more filtering to workaround adc hardware defect
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-06-20 08:57:24 -04:00
Kevin O'Connor 8d029ad652 lpc176x: Fix adc clock divisor
Commit 1096075d changed CONFIG_CLOCK_FREQ to the actual cpu frequency,
but that commit failed to update adc.c accordingly.  That made the adc
run 4 times slower.  Make the corresponding change to adc.c.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-06-19 21:21:01 -04:00
Kevin O'Connor 077c6f7e5e reactor: Fix some corner cases with self._next_timer handling
Make sure to update self._next_timer on greenlet start/stop.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-06-19 21:12:34 -04:00
Kevin O'Connor 8cce3cc8e7 graphstats: Add support for interactive graphs
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-06-19 21:12:26 -04:00
Kevin O'Connor 0173bb3f71 tmc_uart: Move UART code from tmc2208.py to new file tmc_uart.py
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-06-18 18:06:05 -04:00
Kevin O'Connor 3f79831485 tmc2208: Make sure each analog mux config is unique
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-06-18 17:58:20 -04:00
Kevin O'Connor 274857357e tmc: Retry register init during connect
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-06-18 17:54:02 -04:00
Kevin O'Connor cfdb60ca23 tmc2660: Set SDOFF=0 before accessing DRVCTRL
Make sure to configure DRVCONF with SDOFF=0 prior to writing DRVCTRL
as that field controls access to that register.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-06-18 15:19:05 -04:00
Kevin O'Connor 587db5c315 tmc2660: Don't allow configuration of DEDGE
Setting DEDGE would just break the code.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-06-18 13:24:54 -04:00
fess 49c36f868b z_tilt: Support retries
Support retrying Z_TILT_ADJUST a configurable number of times
to a configurable tolerance both in the config or as parameters.

- By default keeps original behavior of no retries.
- Adds parameters RETRIES and RETRY_TOLERANCE to QUAD_GANTRY_LEVEL gcode.
- adds config options retries and retry_tolerance to uad_gantry_level]
- issues an error if we are getting worse intead of approaching tolerance
- issues an error if retries were requested but we did not reach the tolerance
in the specified number of retries

the minimum change should  be a single z step for those
probing 2 points for 2 stepper motors and 3 for 3 stepper motors.

at one point it was suggested to use the amount of z adjustment instead of the
range of the probed points as a trigger for retry. I've chosen not to do this.
using z adustment in these cases means the minimum unit of change is related to
the angle created by the probed points  and the distance to stepper motor and
can be more than a couple steps which is rather unintuitive.

for the case when someone is using more probed points than z steppers the
probed points range will have some fixed minimum value that can't be reduced
which is also unintuitive but that case should idealy be the rarer case, and
the user can learn to set a higher tolerance that matches their probing setup.

Signed-off-by: John "Fess" Fessenden <fess@fess.org>
2019-06-18 12:12:25 -04:00