1374 Commits

Author SHA1 Message Date
Kevin O'Connor
ad0e9da00e github: Add a stale ticket tracker for github PRs
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2025-02-02 18:18:36 -05:00
John
0114d72a6c config: Update generic-creality-v4.2.7.cfg (#6790)
Corrected Filament Runout Sensor Pin (as per schematic - see https://github.com/LeeOtts/Ender3v2-Klipper-Configs/blob/main/Creality.4.2.7.-.Schematic.28-5-22-1.pdf )

Signed-off-by: John Minor <theminor@duck.com>
2025-01-24 21:46:08 -05:00
Pedro Lamas
8c1037ef1b screws_tilt_adjust: initialize status result as a dictionary
Signed-off-by: Pedro Lamas <pedrolamas@gmail.com>
2025-01-24 19:13:36 -05:00
Konstantin Koch
ed796fcfaa ads1x1x: added support for ADC chip (#6584)
Added a temperature sensor configuration for ADS1103, ADS1104, ADS1105, ADS1113, ADS1114 and ADS1115 chips that can be used to add Analog to Digital Conversion capability to machines that don't have that on their own. Like Raspberry Pi's or if more analog input pins are needed than the chip provides like for RP2040. Generally they can be used for any analog input, but the typical use case is for temperature measurement. This code also has been written with temperature measurement in mind and not as a general ADC.

Signed-off-by: Konstantin Koch <korsarnek@gmail.com>
Signed-off-by: Jack Wakefield <jackwakefield@protonmail.com>
2025-01-21 19:10:39 -05:00
Kevin O'Connor
6ab253366c force_move: Use strings for axes to clear in clear_homing_state()
Pass a string such as "xyz" to kin.clear_homing_state().  This makes
the parameter a little less cryptic.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2025-01-21 18:58:23 -05:00
Kevin O'Connor
4aa550837f toolhead: Pass set_position() homing_axes parameter as a string
Use strings such as "xyz" to specify which axes are to be considered
homing during a set_position() call.  This makes the parameter a
little less cryptic.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2025-01-21 18:58:23 -05:00
Kevin O'Connor
c72d73ec45 stepper_enable: Directly call clear_homing_state() on motor off event
Call clear_homing_state() on each motor off event.  This simplifies
the kinematic classes as they no longer need to register and handle
the motor_off event.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2025-01-21 18:58:23 -05:00
Kevin O'Connor
5fe333934d docs: Add a "Professional Services" link to Contacts page
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2025-01-21 18:54:33 -05:00
Kevin O'Connor
9a06d2b7e8 docs: Improve wording of main Klipper page
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2025-01-21 18:54:00 -05:00
Kevin O'Connor
cf3b0475da tmc2240: Allow the slope_control field to be configured via printer.cfg
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2025-01-10 12:29:41 -05:00
Kevin O'Connor
aae29ba48b heaters: Disable heater if it appears main thread has stopped updating
Update the heating code to periodically check that the main thread is
operating properly.  This is a mitigation for some rare cases where
the main thread may lockup while the background heater updating code
continues to run.  The goal is to detect these rare failures and
disable future heater updates.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2025-01-10 12:22:49 -05:00
Kevin O'Connor
485c8f2ef0 lib: Update can2040 to v1.7.0
This provides improved support on rp2350 chips.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2025-01-10 12:20:13 -05:00
Dennis Marttinen
7083879700 force_move: Implement CLEAR for SET_KINEMATIC_POSITION (#6262)
`CLEAR` clears the homing status (resets the axis limits) without turning off
the motors. This is particularly useful when implementing safe Z homing in
`[homing_override]` on printers with multiple independent Z steppers (where
`FORCE_MOVE` can't be used).

Signed-off-by: Dennis Marttinen <twelho@welho.tech>
2025-01-10 10:41:09 -05:00
Kevin O'Connor
9ca71d8608 github: Change to upload-artifact@v4
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2025-01-09 20:43:54 -05:00
Alexander Bazarov
8a3d2afd79 config: Config for Geeetech A-series printers: A10/M/T and A20/M/T (#6767)
Based on few configs found on the discourse forum, facebook groups.
In addition, using official schematics from:
https://www.geeetech.com/download.html
https://github.com/Geeetech3D/Diagram/files/8199212/GT2560V4.1BSCHA20T.pdf

Contains macros for filament mixing based on:
https://klipper.discourse.group/t/mixing-color-support/2246/12
https://klipper.discourse.group/t/mixing-hotend-m163-emulation/11423/2

Signed-off-by: Alexander Bazarov <oss@bazarov.dev>
2025-01-03 09:32:07 -05:00
KrauTech
80d185c94c z_tilt: return done when reties is 0 (#6766)
Signed-off-by: Chris Krause <krautech3d@gmail.com>
2024-12-19 15:24:44 -05:00
Kevin O'Connor
cb13ee76ff docs: Document the QUAD_GANTRY_LEVEL command in G-Codes.md
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-12-19 11:52:31 -05:00
Kevin O'Connor
a2a91654a9 docs: Document Z_TILT_ADJUST RETRIES and RETRY_TOLERNACE options in G-Codes.md
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-12-19 11:49:16 -05:00
Kevin O'Connor
383b83d788 Kconfig: Simplify WANT_XXX definitions
Use WANT_ADXL345 and WANT_MPU9250 instead of WANT_SENSOR_ADXL345 and
WANT_SENSOR_MPU9250.  This makes these definitions similar to the
other accelerometer defintions.

Order menu so accelerometers are close to each other in the menu.

Simplify Makefile as Kconfig already assures a symbol will only be
defined if its dependencies are met.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-12-12 14:46:37 -05:00
Timofey Titovets
2b9e041a86 angle: mt6826s added support
Signed-off-by: Timofey Titovets <nefelim4ag@gmail.com>
2024-12-12 14:28:45 -05:00
Timofey Titovets
90c1b82baa angle: mt6816 added support
Signed-off-by: Timofey Titovets <nefelim4ag@gmail.com>
2024-12-12 14:28:45 -05:00
Timofey Titovets
896343d943 ar100: disable angle sensors code in CI
Signed-off-by: Timofey Titovets <nefelim4ag@gmail.com>
2024-12-12 14:28:45 -05:00
Timofey Titovets
1499bfa489 Kconfig: split sensors
Signed-off-by: Timofey Titovets <nefelim4ag@gmail.com>
2024-12-12 14:28:45 -05:00
BIGTREETECH
b7233d1197 lib: fix rp2040_flash (#6760)
Signed-off-by: Alan.Ma from BigTreeTech <tech@biqu3d.com>
2024-12-06 13:41:22 -05:00
Dmitry Butyugin
16b4b6b302 resonance_tester: Added a new sweeping_vibrations resonance test method (#6723)
This adds a new resonance test method that can help if a user has some mechanical problems with the printer.

Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2024-12-05 21:54:26 -05:00
Liam Powell
7f89668d6c tmc2240: Correct maximum TMC2240 UART address. (#6757)
Signed-off-by: Liam Powell <liam@liampwll.com>
2024-12-02 13:30:57 -05:00
Alexander Bazarov
aecb29d2b0 display: Add support for AIP31068 based displays (#6639)
display: Add support for `AIP31068` based displays
2024-12-02 13:23:46 -05:00
Kevin O'Connor
9ce631e8d1 klippy: Fix missing default parameter of invoke_async_shutdown()
Allow invoke_async_shutdown() to be called with just one parameter.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-12-02 12:51:51 -05:00
Kevin O'Connor
2165c90011 gcode: Improve checksum detection in get_raw_command_parameters()
Only consider a trailing '*' to indicate a checksum if the remainder
of the string is a number.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-12-01 14:16:13 -05:00
Kevin O'Connor
a6df541104 gcode: Some optimizations to get_raw_command_parameters()
Add some minor optimizations to the get_raw_command_parameters() code.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-12-01 14:16:13 -05:00
Kevin O'Connor
62325d4a35 gcode: Use the same M117/M118 fixup for M23
The M23 command has similar requirements for extracting the full
parameter string that M117/M118 have.  Use the same code for those
fixups.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-12-01 14:16:13 -05:00
Kevin O'Connor
03068b48fe gcode: Fixup M117/M118 command identification in cmd_default()
Alter gcmd._command in cmd_default if the special M117/M118 handling
is detected.  This avoids having to recheck for this condition in
get_raw_command_parameters().

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-12-01 14:16:13 -05:00
Kevin O'Connor
d45b9c92d8 gcode: Improve handling of extended g-code commands with '*;#' characters
The g-code command parser did not allow three characters to be passed
as parameters to commands (asterisk, semicolon, pound sign).  Rework
the parsing code to better leverage the python shlex package so that
these characters can be supported.

In particular, this should allow better support for printing g-code
files that have unusual characters in the filename.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-12-01 14:16:13 -05:00
Kevin O'Connor
49205f92ff gcode: Don't silently discard characters inside a command name
Don't silently drop leading numbers and unusual characters at the
start of a command - for example, don't interpret '99M88' as 'M88'.

Don't silently drop spaces in a command - for example, don't interpret
"M 101" as the command "M101".  Doing so will cause other parts of the
code (such as get_raw_command_parameters() ) to not work properly.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-12-01 14:16:13 -05:00
Kevin O'Connor
5493c60373 gcode: Validate extended g-code command names
Extended g-code command names may only contain A-Z, 0-9, and
underscore, and the first two characters may not be digits.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-12-01 13:15:08 -05:00
Kevin O'Connor
847331260c toolhead: Remove arbitrary constants controlling junction deviation
When calculating the junction speed between two moves the code checked
for angles greater than 0.999999 or less than -0.999999 to avoid math
issues (sqrt of a negative number and/or divide by zero).  However,
these arbitrary constants could unnecessarily pessimize junction
speeds when angles are close to 180 or 0 degrees.

Change the code to explicitly check for negative numbers during sqrt
and to explicilty check for zero values prior to division.  This
simplifies the code and avoids unnecessarily reducing some junction
speeds.

Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-11-29 18:09:29 -05:00
Kevin O'Connor
8291788f40 toolhead: Use delta_v2 when calculating centripetal force
As a minor math optimization, it's possible to calculate:
  .5 * self.move_d * self.accel * tan_theta_d2
using:
  self.delta_v2 * .25 * tan_theta_d2
because self.delta_v2 is "2. * self.move_d * self.accel".

Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-11-29 17:41:37 -05:00
Jessica Hunt
a18c74be05 rp2040: Add spi0_gpio4_gpio3_gpio2 bus to support fysetc PITB V2 (#6683)
The Fysetc PITB V2 board uses a spi bus config that is supported by the
RP2040 chip, but not klipper, so this adds the relevant config to the file
to allow you to run the tmc5160's on the board via hardware SPI.  This
resolves the issue of software spi not working on this board, which I
was unable to fully understand.

I have also seen other users encounter similar bus config issues with
the rp2040 setting up things like accelerometers and such with this
pin layout.

As requested, this also uses the new convention for spi bus naming, while
maintaining the old bus names for compatibility.

Signed-off-by: Jessica Hunt <hunt.jessica@proton.me>
2024-11-27 22:32:42 -05:00
Wulfsta
42d8b9b847 docs: Update Measuring Resonances document with LIS2DW/LIS3DH information
Signed-off-by: Luke Vuksta <wulfstawulfsta@gmail.com>
2024-11-27 18:32:09 -05:00
Thijs Triemstra
2cfef4d94d docs: Update config screenshot for rpi235x (#6748)
Signed-off-by: Thijs Triemstra <info@collab.nl>
2024-11-27 18:31:01 -05:00
Kevin O'Connor
f2e69a3703 ci-install: Run 'apt-get update' prior to 'apt-get install'
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-11-22 14:59:40 -05:00
Emmanuel Ferdman
d6494ffed5 docs: update Manual_Level.md reference
Signed-off-by: Emmanuel Ferdman <emmanuelferdman@gmail.com>
2024-11-19 17:15:43 -05:00
Kevin O'Connor
9bd0d47576 rp2040: Improve indentation in Kconfig file
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-11-14 13:01:21 -05:00
Kevin O'Connor
a46dba08e2 docs: Add rp2350 to benchmarks
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-11-14 11:35:23 -05:00
Kevin O'Connor
f6718291b7 rp2040: Add rp2350 bootrom based chipid and reboot to bootloader code
This adds the bootrom code needed to implement "reboot into
bootloader" and "chipid" capabilities.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-11-14 11:24:47 -05:00
Kevin O'Connor
8a203cf2cb rp2040: Move chipid reading to bootrom.c
Rewrite chipid.c so that it contains just the USB and canbus id
manipulation code.  Move the low-level chipid reading to bootrom.c.

Also, introduce a new bootrom_reboot_usb_bootloader() function in
bootrom.c so that the main.c code does not need to know the specifics
of rebooting into the bootrom.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-11-14 11:24:47 -05:00
Kevin O'Connor
58541a799e temperature_mcu: Add support for rp2350 MCUs
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-11-14 11:17:52 -05:00
Kevin O'Connor
848124ac4d flash_usb: Initial support for flashing rp2350 chips
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-11-14 11:17:52 -05:00
Kevin O'Connor
3cdb1793d4 lib: Update rp2040_flash code to support rp2350 reboot
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-11-14 11:17:52 -05:00
Kevin O'Connor
64ba37c02e lib: Update rp2040_flash to upstream picotool.git v2.0.0
This is in preparation for adding rp2350 flash support.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-11-14 11:17:52 -05:00
Kevin O'Connor
06bb49f135 rp2040: Initial rp2350 support
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-11-14 11:17:52 -05:00
Kevin O'Connor
61f81bdb26 rp2040: Use a higher USB PLL internal frequency
The rp2350 chip requires a higher internal frequency, so choose a
value that works for both rp2040 and rp2350.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-11-14 11:17:52 -05:00
Kevin O'Connor
c28ed06e98 rp2040: Avoid using memcpy() on USB dpram
Some versions of the system memcpy() may make unaligned memory
accesses, which can result in a bus fault when accessing the usb dpram
device memory.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-11-14 11:17:52 -05:00
Kevin O'Connor
405935f918 rp2040: Rename rp2040_link.lds.S to rpxxxx_link.lds.S
This is in preparation for rp2350 support.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-11-13 14:25:59 -05:00
Kevin O'Connor
906431bb00 rp2040: Rename CONFIG_RP2040_yyy Kconfig symbols to CONFIG_RPXXXX_yyy
Rename the Kconfig symbols.  This is in preparation to adding support
for the rp2350 mcu.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-11-13 14:25:59 -05:00
Kevin O'Connor
4ef21a1e9b armcm_boot: Support ARM cortex-m33 chips
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-11-13 14:25:59 -05:00
Kevin O'Connor
c5c79c936f lib: Add cortex-m33 support files to lib/cmsis-core/
This is in preparation for adding support for rp2350 mcus.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-11-13 14:25:59 -05:00
Kevin O'Connor
f00919070e lib: Add rp2350 files to pico-sdk
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-11-13 14:25:59 -05:00
Kevin O'Connor
2ad0b1afc2 lib: Update can2040 to support v2.0.0 of pico-sdk
A new version of can2040 is needed due to changes in the 2.0.0 release
of the pico-sdk.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-11-13 14:25:59 -05:00
Kevin O'Connor
c75eb53c0c lib: Update lib/rp2040 to v2.0.0 SDK release
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-11-13 14:25:59 -05:00
Kevin O'Connor
9f328cab95 lib: Move lib/rp2040/elf2uf2 to lib/elf2uf2
Recent versions of the rp2040 sdk no longer contain the elf2uf2 tool.
So, move that code to a new dedicated directory.  This is in
preparation for updating the rp2040 sdk version.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-11-13 14:25:59 -05:00
Kevin O'Connor
c88ee84bed msgproto: Fix return type for create_command()
Return an empty list instead of an emptry string if no command found.
This improves compatibility within console.py on python3.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-11-13 14:24:03 -05:00
yochiwarez
38bf6f2693 axis_twist_compensation: AXIS_TWIST_COMPENSATION new parameter AUTO for autocalibration
This commit adds automatic calculation support for compensating X and Y axis twist in the axis_twist_compensation module.

Signed-off-by: Jorge Apaza Merma <yochiwarez@gmail.com>
2024-11-12 22:10:04 -05:00
yochiwarez
4f3a7fd227 axis_twist_compensation: Implement Y-axis support
This commit implements support for the Y-axis in the axis_twist_compensation
module. This update enables the module to handle corrections for printers
with a twisted Y rail.

Signed-off-by: Jorge Apaza Merma <yochiwarez@gmail.com>
2024-11-12 22:10:04 -05:00
Kevin O'Connor
f119e96e8f configfile: Fix comments on same line as [include xxx.cfg] directive
Commit 9d4ab862 broke support for '#' style comments on the same line
as [include] config directives.  Fix by adding back in the check for
comments in _parse_config().

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-11-12 21:07:44 -05:00
MRX8024
6d1256ddcc resonance_tester: Fix chips selection, add accel_per_hz selection (#6726)
Corrected issue where accelerometer names were incorrectly prefixed
with "adxl345", preventing the selection of other chip types when running TEST_RESONANCES.

Implemented support for selecting the `accel_per_hz` parameter when running TEST_RESONANCES.

docs: Update TEST_RESONANCES + SHAPER_CALIBRATE with missing parameters and bracket corrections

Signed-off-by: Maksim Bolgov <maksim8024@gmail.com>
2024-11-12 19:55:32 -05:00
Wulfsta
2af8d3f1d0 config: Add lis3dh to Duet3D 1LC sample config
Signed-off-by: Luke Vuksta <wulfstawulfsta@gmail.com>
2024-11-12 19:50:48 -05:00
Wulfsta
6631275ab6 atsamd: allow i2c rate to be 400kHz
Signed-off-by: Luke Vuksta <wulfstawulfsta@gmail.com>
2024-11-12 19:50:48 -05:00
Wulfsta
9d36f31615 docs: Add lis2dw i2c and lis3dh
Signed-off-by: Luke Vuksta <wulfstawulfsta@gmail.com>
2024-11-12 19:50:48 -05:00
Wulfsta
0f7887fffe sensor_lis2dw: add lis3dh sensor and i2c communication
Signed-off-by: Luke Vuksta <wulfstawulfsta@gmail.com>
2024-11-12 19:50:48 -05:00
Lieven Vanhercke
a34034494e config: Added board config for Mellow Fly E3 v2 (#6682)
Signed-off-by: Lieven Vanhercke <lieven.vanh@gmail.com>
2024-11-06 19:58:16 -05:00
Pedro Lamas
eeb2678ec2 fan_generic: fixes missing logging import
Signed-off-by: Pedro Lamas <pedrolamas@gmail.com>
2024-11-01 11:34:48 -04:00
Kevin O'Connor
a91d8a66f3 configfile: Separate access tracking to new ConfigValidate class
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-10-30 14:42:53 -04:00
Kevin O'Connor
9d4ab862b9 configfile: Only check for [include file] directives from main printer.cfg
Don't look for includes in autosave data nor from the internal menu,
display, and temperature configs.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-10-30 14:42:53 -04:00
Kevin O'Connor
85ebafd3f6 configfile: Don't read the autosave data if multiple autosave headers present
Also, verify new autosave looks valid prior to writing it.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-10-30 14:42:53 -04:00
Kevin O'Connor
9adb313ee8 configfile: Split configfile code into three separate classes
Separate out the low-level parsing code to a new ConfigFileReader()
class.

Separate out the auto-save handling code to a new ConfigAutoSave()
class.

This simplifies the main PrinterConfig() class.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-10-30 14:42:53 -04:00
Kevin O'Connor
faa89be816 docs: Fix Benchmarks.md git revision references
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-10-28 15:15:08 -04:00
Kevin O'Connor
89d94dd33b atsamd: Add Kconfig definition for SAME51N19 chip
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-10-28 15:08:29 -04:00
Kevin O'Connor
a796ca5e72 Kconfig: Remove references to manufacturers in Kconfig
Avoid referring to particular board manufacturers in "make
menuconfig".  This information becomes rapidly outdated and is
sometimes viewed by competing manufacturers as being unfair.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-10-28 15:08:29 -04:00
JamesH1978
94da4d10d7 docs: Update Measuring_Resonances.md for some NumPY version issues (#6719)
It has been noted over the last six to eight months that some versions of Numpy have issues with the klipper python environment on some machines. This PR introduces a fixed version that is known to work and a small test for people to do to make sure there are no output issues from the get go. These have been pulled from the pinned posts in the discord, from a time when 1.26 was causing issue, and now it seems v2 is also having some issues, hence the change. 

Signed-off-by: James Hartley <james@hartleyns.com>
2024-10-28 15:06:48 -04:00
Kevin O'Connor
31fe50ffa3 homing: Log a warning if probe alters stepper kinematic positions
After a probe attempt the toolhead position needs to be recalculated
to the position that the toolhead ultimately halted at.  Check that
the position setting wouldn't actually change the internal view of the
stepper motor and log a warning if any skew is detected.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-10-26 22:11:02 -04:00
Kevin O'Connor
b381f509d1 trsync: Don't require callers of trsync_do_trigger() to disable irqs
Disable irqs within trsync_do_trigger().

This fixes a bug in ldc1612 - as that code was calling
trsync_do_trigger() without first disabling irqs.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-10-26 22:11:02 -04:00
Kevin O'Connor
ea546c789b sched: Improve timer vs task priority check
Rename sched_tasks_busy() to sched_check_set_tasks_busy() and change
it to only return true if tasks are active (running or requested) for
two consecutive calls.  This makes it less likely that timers will
yield to tasks except when tasks really are notably backlogged.

This also makes it less likely that multiple steppers controlling the
same rail will be interrupted by tasks mid-step.  This should slightly
improve the timing, and make it less likely that a halt during
homing/probing will occur with these steppers taking a different
number of total steps.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-10-26 22:09:14 -04:00
Kevin O'Connor
f0a7797712 mcu: Only warn about mcu clock frequency if drift is more than 1%
This reduces the chance of spurious MCU clock configuration warnings.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-10-26 22:07:45 -04:00
Timofey Titovets
08102a0bf9 mpu: shutdown on i2c errors
Signed-off-by: Timofey Titovets <nefelim4ag@gmail.com>
2024-10-26 22:06:30 -04:00
Timofey Titovets
1c3b30b815 ldc1612: shutdown on i2c errors
Signed-off-by: Timofey Titovets <nefelim4ag@gmail.com>
2024-10-26 22:06:30 -04:00
Timofey Titovets
1563a68144 i2ccmds: move status checks to function
Signed-off-by: Timofey Titovets <nefelim4ag@gmail.com>
2024-10-26 22:06:30 -04:00
Timofey Titovets
48590a35e4 stm32: forward i2c errors to i2ccmd
Signed-off-by: Timofey Titovets <nefelim4ag@gmail.com>
2024-10-26 22:06:30 -04:00
Timofey Titovets
335a0e20c2 rp2040: forward i2c errors to i2ccmd
Signed-off-by: Timofey Titovets <nefelim4ag@gmail.com>
2024-10-26 22:06:30 -04:00
Timofey Titovets
8a1c3cd668 linux: forward i2c errors to i2ccmd
Signed-off-by: Timofey Titovets <nefelim4ag@gmail.com>
2024-10-26 22:06:30 -04:00
Timofey Titovets
2c246c7d33 i2c_software: forward errors to i2ccmd
Signed-off-by: Timofey Titovets <nefelim4ag@gmail.com>
2024-10-26 22:06:30 -04:00
Timofey Titovets
a4aa2a9002 i2c: handle errors at i2ccmds
Signed-off-by: Timofey Titovets <nefelim4ag@gmail.com>
2024-10-26 22:06:30 -04:00
Timofey Titovets
08a85ba869 i2ccmds: abstract i2c dev from bus implementation
Added wrapper around sw/hw bus API,
pins.py code will ensure that pins will not mix
between HW/SW buses.

Signed-off-by: Timofey Titovets <nefelim4ag@gmail.com>
2024-10-26 22:06:30 -04:00
Kevin O'Connor
39f08aeda1 docs: Update Sponsors.md
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-10-26 22:02:20 -04:00
Liam Powell
fe89c19ac0 stm32: Add support for USART3 on PC11/PC10 on STM32G474. (#6704)
Signed-off-by: Liam Powell <liam@liampwll.com>
2024-10-24 11:10:09 -04:00
Gareth Farrington
0c806d84f7 ads1220: Add input_mux and vref options to ADS1220 sensor (#6713)
* fix type comparison bug that stopped the sensor from initializing
* correct mismatch between docs and code for `sample_rate` (fixed to work same as hx71x)
* add input_mux, pga_bypass and vref options
* update configuration reference & fix typo

Signed-off-by: Gareth Farrington <gareth@waves.ky>
2024-10-24 11:07:05 -04:00
Kevin O'Connor
55339998e5 docs: Fix "XH711" typo in Config_Reference.md
Reported by @kabroxiko.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-10-24 10:05:44 -04:00
JamesH1978
0855994e59 docs: Update OctoPrint.md - wrong serial address (#6716)
This PR corrects a simple mistake where I gave the Unix socket not the serial pts.

Signed-off-by: James Hartley <james@hartleyns.com>
2024-10-22 10:36:13 -04:00
Wulfsta
8e1cdb199a docs: Add step rate benchmark for same70
Signed-off-by: Luke Vuksta <wulfstawulfsta@gmail.com>
2024-10-21 22:27:41 -04:00
Wulfsta
34e9ea55df atsam: Enable TCM and cache for atsame70
Signed-off-by: Luke Vuksta <wulfstawulfsta@gmail.com>
2024-10-21 22:27:41 -04:00
Wulfsta
52af688245 atsam: Add data memory barrier to USB driver
Signed-off-by: Luke Vuksta <wulfstawulfsta@gmail.com>
2024-10-21 22:27:41 -04:00
Kevin O'Connor
8a530cbcce scripts: Update whconsole tool to support python3
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-10-21 22:16:11 -04:00
Timofey Titovets
b89d552387 stm32: allow 400Khz in stm32f0_i2c.c (#6694)
Signed-off-by: Timofey Titovets <nefelim4ag@gmail.com>
2024-10-09 20:00:38 -04:00
Kevin O'Connor
96cceed23e fan: Fix restart request handling
The change in parameter order introduced in commit f4143af4 failed to
update the call _handle_request_restart() code.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-10-01 11:43:27 -04:00
Kevin O'Connor
8f361a15b2 fan_generic: Support setting a TEMPLATE on SET_FAN_SPEED commands
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-09-30 12:23:24 -04:00
Kevin O'Connor
f4143af4fa fan: Support calling set_speed() without a print_time
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-09-30 12:23:24 -04:00
Kevin O'Connor
1c0adb9af8 output_pin: Support setting a TEMPLATE on SET_PIN commands
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-09-30 12:23:24 -04:00
Kevin O'Connor
8a7a39530e output_pin: Move template evaluation code from led.py to output_pin.py
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-09-30 12:23:24 -04:00
Kevin O'Connor
3358295de8 led: Generalize template evaluation so it is not dependent on LEDs
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-09-30 12:23:24 -04:00
Kevin O'Connor
ef75346861 heaters: Fix typo - config.config_error() instead config.error()
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-09-25 23:25:59 -04:00
Kevin O'Connor
064eee6859 stm32: Fix i2c clock speeds for chips with a peripheral clock over 48Mhz
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-09-22 22:14:47 -04:00
Kevin O'Connor
8b7cc43952 stm32: Reduce peripheral clock speed on stm32g4 chips
A 170mhz (or 150mhz) peripheral clock is too fast for some peripherals.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-09-22 21:18:34 -04:00
Timofey Titovets
9426485bb6 rp2040: Check for i2c NACK/Start NACK (#6692)
Signed-off-by: Timofey Titovets <nefelim4ag@gmail.com>
2024-09-22 19:28:07 -04:00
Jack Wakefield
b4aca122a1 flash_usb: Wait for busnum file to exist when flashing with picoboot
This solves an issue where the USB directory could exist, but the busnum
file itself may not exist immediately. This was encountered when
flashing a Pico connected to a Raspberry Pi 5.

Signed-off-by: Jack Wakefield <jackwakefield@protonmail.com>
2024-09-22 19:26:18 -04:00
Timofey Titovets
d9236f1c20 STM32: Check for NACK (#6687)
Signed-off-by: Timofey Titovets <nefelim4ag@gmail.com>
2024-09-22 19:24:29 -04:00
Timofey Titovets
8a5801a204 i2c: drop i2c_modify_bits
No longer used and niche

Signed-off-by: Timofey Titovets <nefelim4ag@gmail.com>
2024-09-22 19:23:14 -04:00
Timofey Titovets
71433b8224 sx1509: drop i2c_modify_bits
According to the datasheet default value is 0000 0000
We do not modify them in other places.

Signed-off-by: Timofey Titovets <nefelim4ag@gmail.com>
2024-09-22 19:23:14 -04:00
Kevin O'Connor
87ac69363a fan: Wait full kick_start_time even if request is for full speed
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-09-18 13:59:07 -04:00
Kevin O'Connor
5731d964b6 fan: Use GCodeRequestQueue to queue updates
This is similar to 7940a6a7, but using gcrq.send_async_request() for
requests that could be asynchronous.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-09-18 13:59:07 -04:00
Kevin O'Connor
f323a4fcc7 output_pin: Add send_async_request() support to GCodeRequestQueue
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-09-16 13:31:14 -04:00
Kevin O'Connor
69e0d866c0 output_pin: Improve GCodeRequestQueue timing on duplicate requests
If there is a duplicate request it is not necessary to add a 100ms
delay to the next update.  Rework the callback signaling to better
report these duplicate updates.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-09-16 13:31:14 -04:00
Kevin O'Connor
0532a41c75 led: Fix typo in call to unregister_timer()
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-09-16 13:29:25 -04:00
Kevin O'Connor
900bf2be55 Revert "fan: Use GCodeRequestQueue to queue updates"
This reverts commit 7940a6a728.

Queing of fan updates via GCodeRequestQueue is only valid if updates
originate from gcode commands.  The heater_fan, controller_fan, and
temperature_fan modules could send updates asynchronously.  Revert the
fan queuing changes until this issue can be resolved.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-09-13 14:30:56 -04:00
Kevin O'Connor
cc4ad6670f output_pin: Keep flushing GCodeRequestQueue if needed
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-09-13 00:59:44 -04:00
Kevin O'Connor
28995a8bce servo: Use GCodeRequestQueue to queue updates
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-09-12 13:25:00 -04:00
Kevin O'Connor
7940a6a728 fan: Use GCodeRequestQueue to queue updates
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-09-12 13:24:32 -04:00
Kevin O'Connor
6ade82ed7e output_pin: Introduce new helper to facilitate queuing of gcode requests
Add a new GCodeRequestQueue class that can queue and collate g-code
pin requests.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-09-12 13:24:32 -04:00
Kevin O'Connor
3a57f71f33 output_pin: Remove deprecated maximum_mcu_duration and static_value
Remove support for these two config options that were previously
deprecated.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-09-12 13:24:29 -04:00
Kevin O'Connor
293858c51f hx71x: Avoid base classes to improve python2 compatibility
Also, add a load_cell regression test case.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-09-12 13:15:01 -04:00
Bevan Weiss
14a83103c3 flashsd: Add support for chitu-v6 (#6671)
Add flashsd configuration for Tronxy x5sa and other printers based on
Chitu v6 board.

These boards should support sdio (this is what the schematic details),
however I couldn't get this working from a quick try.

Signed-off-by: Bevan Weiss <bevan.weiss@gmail.com>
2024-09-05 16:50:32 -04:00
Eric Callahan
08a1c9f127 docs: update temperature_probe documentation
Add documentation for the "max_valid_temp" option.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2024-09-01 13:37:35 -04:00
Eric Callahan
40d6a06f8f temperature_probe: add max_valid_temp option
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2024-09-01 13:37:35 -04:00
Kevin O'Connor
f71d2c7cfc stm32: Fix setting USB clock with USB to CANbus mode on stm32g4/stm32l4
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-08-29 22:31:13 -04:00
Timofey Titovets
81de9a8615 bme680: measure gas VOC once a while
Signed-off-by: Timofey Titovets <nefelim4ag@gmail.com>
2024-08-16 22:21:12 -04:00
Timofey Titovets
f9d7a71195 bme680: select mode once
Signed-off-by: Timofey Titovets <nefelim4ag@gmail.com>
2024-08-16 22:21:12 -04:00
Timofey Titovets
ff3eed2ad8 bme280: use periodic mode for BM[PE]280
Signed-off-by: Timofey Titovets <nefelim4ag@gmail.com>
2024-08-16 22:21:12 -04:00
Timofey Titovets
9e45ec222e bme280.py: drop unused max_sample_time
Signed-off-by: Timofey Titovets <nefelim4ag@gmail.com>
2024-08-16 22:21:12 -04:00
Timofey Titovets
3e55008323 bme280.py: iir_filter mask input value
Signed-off-by: Timofey Titovets <nefelim4ag@gmail.com>
2024-08-16 22:21:12 -04:00
Kevin O'Connor
d81eb557d7 sensor_hx71x: Signal an overflow from the timer handler
Check for overflows in the timer handler instead of checking the
elapsed query time.  This should be a better check as it also accounts
for task delays that occur before the query starts.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-08-14 22:17:10 -04:00
Kevin O'Connor
d5e5a6da2d hx71x: Update api header and docs to correctly note "value" field
Update both hx71x and ads1220 to reflect that there is a third "value"
field in the reported data.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-08-14 22:17:10 -04:00
Bevan Weiss
c0edfbc4ea src: Current code produces warnings for possible value overflows. (#6665)
As the input values are uint8_t types, any shift may result in value loss.
Explicit promotion to the output type (uint32_t) keeps things safe.
Have also changed the int32_t in ads1220_read_adc to uint32_t, type
promotion and bit manipulation are a bit 'weird' on signed integers, so
keep it as an unsigned to align with following function call parameter type.
Have retained the prior explicit sign extension logic however.

Signed-off-by: Bevan Weiss <bevan.weiss@gmail.com>
2024-08-14 22:14:19 -04:00
Timofey Titovets
3f2ef88eb9 gcode_arc: merge coords gen & G1 emit
Chopping lines from arc can take significant time.
Merge cycles to make the event loop progress and optimize performance.

Signed-off-by: Timofey Titovets <nefelim4ag@gmail.com>
2024-08-12 13:06:28 -04:00
Timofey Titovets
503e7e368b gcode_arc: refactor simplify
Signed-off-by: Timofey Titovets <nefelim4ag@gmail.com>
2024-08-12 13:06:28 -04:00
Nicholas Huskie
ca815f52c8 stm32: Fix getting wrong ADC value on PA0 of STM32G431 (#6660)
* Fix getting wrong ADC value on PA0

* Fix invalid/unused pin being used as adc channel on STM32H7/G431/L4

Signed-off-by: Nicholas Huskie <huskie@idealfuture.org.cn>
2024-08-08 22:45:12 -04:00
JamesH1978
025ae2349d docs: Update Installation.md (#6650)
Added links for Fluidd/Mainsail/Octoprint

Added references to overview.md and mkdocs.yml and spelling errors.

Signed-off-by: James Hartley <james@hartleyns.com>
2024-08-08 22:43:21 -04:00
Dmitry Butyugin
d7d9092a92 servo: Asynchronous adjustments of servo position
This change follows the same approach as implemented for fan control.
The change removes the move queue flushing when changing servo position,
which does not appear to be necessary. This can be beneficial, for
example, for WS7040-based cooling on IDEX setups where the servo can
be used to control the air flow between the toolheads, with this change
eliminating micro-stutters of the toolhead on servo position adjustment.

Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2024-08-03 14:41:30 -04:00
Dmitry Butyugin
ba2a149e9a idex_modes: Improved restoring position in RESTORE_DUAL_CARRIAGE_STATE
Previous implementation could crash the idex carriages into each other.
The new code moves the idex carriages together, eliminating this risk
and decreasing the time needed to restore the carriages positions.

Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2024-08-03 14:40:52 -04:00
Kevin O'Connor
13c75ea876 docs: Fix heading hierarchy for load_cell in Config_Reference.md
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-07-31 21:31:22 -04:00
Kevin O'Connor
cb15d0fec6 load_cell: Don't start sensor on startup
Also, don't report an empty status.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-07-31 21:26:10 -04:00
Gareth Farrington
055f07c638 ads1220: Add ADS1220 bulk sensor to load_cell
Add support for the ADS1220 as an alternative to HX71x that supports SPI and higher sample rates.

Signed-off-by: Gareth Farrington <gareth@waves.ky>
2024-07-31 21:22:33 -04:00
Gareth Farrington
c0095812ff hx71x: Load Cell Skeleton and HX71x bulk ADC
* Create the load_cell host module skeleton to create the sensors and start taking samples.
* Add support for the HX717 and HX711 ADC sensors.

Signed-off-by: Gareth Farrington <gareth@waves.ky>
2024-07-31 21:22:06 -04:00
Miles Pawar
0844388d70 config: Update generic-bigtreetech-skr-mini-e3-v3.0.cfg (#6654)
- Removed stealth from Extruder to stop under extrusion issues
- Changed Bed sensor to correct one for Ender 3

* Update generic-bigtreetech-skr-mini-e3-v3.0.cfg

Signed-off-by: Miles Pawar <slab.paged-0p@icloud.com>
2024-07-26 20:14:22 -04:00
bryan065
12cd1d9e81 spi_flash: Add stm32g0b0xx to board_defs.py (#6646)
Added board definition for stm32g0b0xx variant of the SKR Mini v3.0.

Signed-off-by: Bryan Le <le.bryan.065@gmail.com>
2024-07-18 10:45:51 -04:00
Eric Callahan
6848843224 docs: add initial temperature_probe documentation
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2024-07-17 22:25:49 -04:00
Eric Callahan
bd1dbc8af3 probe_eddy_current: support thermal compensation
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2024-07-17 22:25:49 -04:00
Eric Callahan
7603953ef7 temperature_probe: probe temperature sensor
Add temperature sensor with thermal drift calibration.
Currently only Eddy Current based probes support
calibration.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2024-07-17 22:25:49 -04:00
Kevin O'Connor
0087f04cc3 gcode: Minor change to suppress python warning on '\s'
Reported by @matdibu.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-07-11 15:01:32 -04:00
Dmitry Butyugin
c84d78f3f1 extruder: Allow dynamic adjustment of pressure advance (#6635)
Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2024-07-11 14:43:21 -04:00
Timofey Titovets
248d3dbf8b sht3x: use periodic report mode (#6634)
Signed-off-by: Timofey Titovets <nefelim4ag@gmail.com>
2024-07-06 18:28:45 -04:00
Kevin O'Connor
00cb683def serialhdl: Catch IOError in connect_canbus()
It seems the can library on Python2 can sometimes raise an IOError
exception on a failure.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-07-05 20:16:21 -04:00
Kevin O'Connor
34732f857a smart_effector: Define get_position_endstop() wrapper
Reported by @noisyfox.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-07-04 18:36:39 -04:00
Kevin O'Connor
9318901f19 mkdocs: Update id
The Google UA ids are deprecated - update to assigned GA4 id.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-06-30 15:39:46 -04:00
elmo
4d21ffc1d6 config: Adds support for the Tronxy Crux1 printer (#6627)
Signed-off-by: Louis West <lowest@mailbox.org>
2024-06-27 12:59:48 -04:00
Kevin O'Connor
6d70050261 temperature_mcu: Enhance "ADC out of range" error reports
Try to report which ADC is reporting out of range.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-06-21 15:32:30 -04:00
Kevin O'Connor
2d73211190 adc_temperature: Enhance "ADC out of range" error reports
Try to report which ADC is reporting out of range.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-06-21 15:32:30 -04:00
Kevin O'Connor
d89722056b mcu: Rename setup_minmax() to setup_adc_sample()
Rename this method so that it is more distinct from the the common
temperature setup_minmax() method.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-06-21 15:32:30 -04:00
Kevin O'Connor
9fa0fb1a0e error_mcu: Support mechanism to add per-instance context to a shutdown
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-06-21 15:32:30 -04:00
Kevin O'Connor
7149bb1b6d error_mcu: Move formatting of mcu connect errors to error_mcu module
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-06-21 15:32:30 -04:00
Kevin O'Connor
ba529996ea error_mcu: Move mcu protocol error reporting to error_mcu module
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-06-21 15:32:30 -04:00
Kevin O'Connor
4ac283cc0e error_mcu: Move shutdown error message formatting to new error_mcu.py module
Create a new module to help format verbose mcu error messages.  Move
the shutdown message formatting to this module.  This moves the error
formatting out of the background thread and out of the critical
shutdown code path.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-06-21 15:32:30 -04:00
Eric Callahan
a19d64febd docs: add rapid probing documentation
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2024-06-19 13:47:32 -04:00
Eric Callahan
a19af08894 bed_mesh: add support for MESH_PPS param in BMC
In addition, do not respond with generated points.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2024-06-19 13:47:32 -04:00
Eric Callahan
2c7e09cfa6 bed_mesh: use generated XY positions in probe_finalize()
The scan modes provide kinematic XYZ coordinates in the
probe results.  These positions may deviate from the requested
positions, which can introduce errors in mesh generation when
transposing the result into the Z matrix.

Rely on the coordinates generated by bed mesh to transpose
the matrix, presuming that points at the same index in the
list match.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2024-06-19 13:47:32 -04:00
Eric Callahan
fc0f17b920 graph_mesh: script for mesh visualization and analysis
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2024-06-19 13:47:32 -04:00
Eric Callahan
c7b7c11cc3 bed_mesh: add dump_mesh webhooks API
Returns current mesh configuration and state.  Includes probed and
mesh matrices, saved profiles, current points, and travel paths.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2024-06-19 13:47:32 -04:00
Eric Callahan
f2df011c68 bed_mesh: optimize rapid travel paths
This adds supplemental path generation that implements
"overshoot" when a change of direction is performed
during a rapid scan.  This overshoot reduces measurement
error at the extremes of the mesh along the X axis.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2024-06-19 13:47:32 -04:00
Kevin O'Connor
0a14e33150 probe_eddy_current: Add support for "rapid_scan" mode
Add a scanning mode that does not require pausing the toolhead at each
probe point.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-06-19 13:47:32 -04:00
Kevin O'Connor
11f04ba1ba configfile: Allow getchoice() to take a list
If a list is passed to getchoice(), seamlessly convert it to a dict.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-06-17 13:49:05 -04:00
Kevin O'Connor
863a463cb2 rp2040_link: Explicitly set klipper.elf output section flags to avoid warning
Avoid pointless "LOAD segment with RWX permissions" linker warnings
during the rp2040 build.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-06-17 12:45:07 -04:00
Kevin O'Connor
ae227d485c armcm_link: Fix build on recent arm gcc/newlibc versions
It seems recent arm gcc versions no longer build correctly using the
"--specs=nano.specs --specs=nosys.specs" linker flags.  Replace those
linker flags with "-nostdlib -lgcc -lc_nano".

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-06-17 12:45:07 -04:00
Kevin O'Connor
433fcb6f24 axis_twist_compensation: Fix missing probe import
Fixes missing import introduced in commit bec47e04.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-06-15 11:06:56 -04:00
Kevin O'Connor
beba2c2d33 axis_twist_compensation: No need to rename bed_mesh and manual_probe
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-06-15 11:03:50 -04:00
Kevin O'Connor
fcf064ba68 probe_eddy_current: Add support for probing in "scan" mode
When probing in "scan" mode, the toolhead will pause at each position,
but does not descend.  This can notably reduce the total probing time.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-06-14 13:38:07 -04:00
Kevin O'Connor
aa0dbf6ee6 probe_eddy_current: Calculate toolhead position along with probed position
Support calculating the low-level kinematic toolhead position while
calculating the probed frequency.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-06-14 13:38:07 -04:00
Kevin O'Connor
49f511e679 probe_eddy_current: Process samples as they arrive
Convert samples into probe frequencies as the samples arrive.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-06-14 13:38:07 -04:00
Kevin O'Connor
429aa2b2a6 probe_eddy_current: Generate Z height from average frequency
Calculate the average frequency from a set of samples, and then
calculate the estimated Z height from that frequency.  This may
improve accuracy, as the frequency to Z height is not linear and
averaging after the non-linear transform could bias the results.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-06-14 13:38:07 -04:00
Kevin O'Connor
bf1bc1ee0f probe_eddy_current: Introduce new EddyGatherSamples helper class
Split the sample gathering code out of EddyEndstopWrapper class and
into a new EddyGatherSamples class.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-06-14 13:38:07 -04:00
Kevin O'Connor
1591a51f76 probe: Gather multiple results in ProbeSessionHelper
Change run_probe() to gather the results locally, and introduce a new
pull_probed_results() method that returns the previously probed
results.  This is in preparation for future probing code that benefits
from batching probe results.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-06-14 13:38:07 -04:00
Kevin O'Connor
8de7153952 probe: Rework ProbePointsHelper to store results locally
Store the results of each probe attempt in a local "results" variable
(instead of a class variable) when performing "automatic" probes.
This is in preparation for gathering the results in the probing
implementation.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-06-14 13:38:07 -04:00
Eric Callahan
0d87bec159 ci-install: update gnu-pru to version 2024.05
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2024-06-11 21:36:25 -04:00
Kevin O'Connor
589bd64ce0 command: Support 2-byte message ids
Allow command ids, response ids, and output ids to be either 1 or 2
bytes long.  This increases the total number of message types from 128
to 16384.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-06-10 12:27:12 -04:00
Kevin O'Connor
36b8831c7e sensor_bulk: Change maximum data size from 52 to 51 bytes
Reduce the maximum data size from 52 bytes to 51 bytes.  This will
enable support for 2-byte response ids.

This change would alter the behavior of the ldc1612 sensor support.
Force an ldc1612 command name change so that users are alerted that
they must rebuild the micro-controller code upon update of the host
code.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-06-10 12:27:12 -04:00
Kevin O'Connor
17c645f000 msgproto: Support multi-byte command and response ids
Update the msgproto.py code so that it can support message ids that
are larger than a single byte.  (The host C code in
klippy/chelper/msgblock.c already supports multi-byte ids.)

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-06-10 12:27:12 -04:00
Kevin O'Connor
d4bae4dffe probe: Simplify PrinterProbe() now that there are no external callers
Create the mcu_probe interface locally within PrinterProbe().

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-06-10 12:20:21 -04:00
Kevin O'Connor
931d1ce8f4 probe_eddy_current: No need to use PrinterProbe() class
Directly register the PrinterEddyProbe() class as the main probe
interface.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-06-10 12:20:21 -04:00
Kevin O'Connor
93245b3678 smart_effector: No need to use PrinterProbe() class
Directly register the SmartEffectorProbe() class as the main probe
interface.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-06-10 12:20:21 -04:00
Kevin O'Connor
068d2a9f5a bltouch: No need to use PrinterProbe() class
Directly register the BLTouchProbe() class as the main probe
interface.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-06-10 12:20:21 -04:00
Kevin O'Connor
f72f94e299 probe: Move add_steppers() logic to HomingViaProbeHelper class
Perform the initial add_steppers() configuration in a single location.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-06-10 12:20:21 -04:00
Kevin O'Connor
58753e58a2 probe: Use ppins.setup_pin() helper
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-06-10 12:20:21 -04:00
Kevin O'Connor
abfe3675d6 bltouch: Use ppins.setup_pin() helper
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-06-10 12:20:21 -04:00
Kevin O'Connor
e780049a74 probe: Use an event for axis twist compensation updates
Instead of directly calling axis_twist_compensation, send an event
that can perform the necessary updates.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-06-10 12:20:21 -04:00
Kevin O'Connor
f4adb29999 probe: Ensure all external callers always call end_probe_session()
Rework ProbeSessionHelper's multi_probe_start() and multi_probe_end()
to start_probe_session() and end_probe_session().  Ensure all external
callers always invoke these methods prior to running run_probe().

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-06-10 12:20:21 -04:00
Kevin O'Connor
982a50c70a probe: Split z_virtual_endstop handling to new HomingViaProbeHelper class
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-06-10 12:20:21 -04:00
Kevin O'Connor
de9798fb5b probe: Move offset handling to new ProbeOffsetsHelper class
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-06-10 12:20:21 -04:00
Kevin O'Connor
f9a2920cee probe: Move PROBE_ACCURACY command to ProbeCommandHelper class
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-06-10 12:20:21 -04:00
Kevin O'Connor
292512f813 probe: Move PROBE_CALIBRATE to ProbeCommandHelper class
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-06-10 12:20:21 -04:00
Kevin O'Connor
6ea5b94d1e probe: Convert probe.get_lift_speed() to probe.get_print_params()
Add a get_print_params() method that can extract all the common
probing parameters.  Replace get_lift_speed() with this more general
function.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-06-10 12:20:21 -04:00
Kevin O'Connor
6f6122a576 probe: Move Z_OFFSET_APPLY_PROBE to ProbeCommandHelper class
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-06-10 12:20:21 -04:00
Kevin O'Connor
8fc11b4a2e probe: Introduce new ProbeCommandHelper class
Move the PROBE and QUERY_PROBE commands from ProbeSessionHelper class
to new ProbeCommandHelper class.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-06-10 12:20:21 -04:00
Kevin O'Connor
bec47e0492 probe: Split out new ProbeSessionHelper() class from PrinterProbe()
Separate out the PrinterProbe() class to make the external probe
interfaces more clear.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-06-10 12:20:21 -04:00
Kevin O'Connor
12f92c55f1 probe: Code movement in probe.py
Move code around in probe.py and add some comments.  No code changes.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-06-10 12:20:21 -04:00
Kevin O'Connor
49c0ad6369 motan: Fix logic error resulting in incorrect stepper phase graphing
The mcu_phase_offset should be added not subtracted.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-06-05 12:53:13 -04:00
Jayofelony
6cd174208b config: Add Artillery Genius Pro config (#6604)
Signed-off-by: Jeroen Oudshoorn <oudshoorn.jeroen@gmail.com>
2024-05-27 20:57:42 -04:00
Elias Bakken
3078912f1d stm32: STM32F031 updates (#6607)
Add support for STM32F031x6 which is the 32 KB version of the STM32F031 MCU.

Add new I2C bus variant.

Signed-off by: Elias Bakken <elias@iagent.no>
2024-05-25 15:47:48 -04:00
Timofey Titovets
b6a0063235 tmc5160: csactual -> cs_actual
Correct the name of "cs_actual" and correct the size on tmc5160.

Signed-off-by: Timofey Titovets <nefelim4ag@gmail.com>
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-05-21 20:31:23 -04:00
Kevin O'Connor
4a92727eab sensor_ldc1612: Halt homing if sensor reports a warning
Explicitly check for sensor warnings during homing and report an error
code back to the host.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-05-21 20:16:31 -04:00
Kevin O'Connor
37482178b5 mcu: Raise an error on a failed home_wait() call
Raise a printer.command_error exception if a home_wait() call fails.
This makes it easier to support future types of homing errors.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-05-21 20:16:31 -04:00
Kevin O'Connor
4709f1fad5 sensor_ldc1612: Create new check_home() helper function
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-05-21 20:16:31 -04:00
Kevin O'Connor
04c562941c sensor_ldc1612: Add support for chips with INTB line routed to mcu
If the INTB line is available it can reduce the MCU load.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-05-21 20:16:31 -04:00
Kevin O'Connor
cb6cce3934 sensor_ldc1612: Don't require DRDY bit to be set on data read
It is not clear if DRDY is cleared during a STATUS read (which could
occur from command_query_ldc1612_status() ).  So, just check the
"unread conversion" bit when reading data.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-05-21 20:16:31 -04:00
Kevin O'Connor
3dc7c9ab29 test: Disable ldc1612 on stm32f042 build to reduce size
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-05-21 20:16:31 -04:00
Kevin O'Connor
6fac654352 probe_eddy_current: Calibrate every 40um instead of 50um
A 40um distance is more likely to be a full step distance on common Z
leadscrews (which often use a rotation distance of 8mm).

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-05-21 20:16:31 -04:00
Eric Callahan
29bfbd02f9 probe_eddy_current: fix attribute name
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2024-05-21 20:16:31 -04:00
Kevin O'Connor
236d780a0a probe_eddy_current: Fix wait for samples in probing_move()
Make sure to wait until all samples are available before performing
analysis on the data.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-05-21 20:16:31 -04:00
Kevin O'Connor
5d52b32e64 tmc: Remove code that could read microsteps in tmc config sections
Setting of microsteps in the stepper config section has been required
since commit eea0137b.  Remove the no longer needed compatibility
code.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-05-16 12:29:52 -04:00
Kevin O'Connor
2efde0111e tmc: Save and restore thigh during sensorless homing
Make sure thigh is set to zero during sensorless homing, as it would
not make sense for it to be enabled.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-05-16 12:18:02 -04:00
Kevin O'Connor
faee2c0e52 tmc: Refactor TMCtstepHelper()
Update TMCtstepHelper() to obtain the step_distance, tmc_frequency,
and mres fields directly.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-05-16 12:18:02 -04:00
Frans-willem Hardijzer
b7f7b8a346 idex_modes: Bugfix for kinematic position calculation.
idex_mode would swap the X and dual-carriage rail in some cases
(homing), but not in others. As such, the position calculation was
correct while homing, but incorrect for the second carriage during
normal moves. This commit fixes homing to work without swapped rails,
removes the swapping of rails while homing, and removes the ability to
swap rails (as it is now no longer used). Fix has been tested in a
Hybrid_CoreXY IDEX printer (Voron Double Dragon). Hybrid_CoreXZ has
identical changes and is similar enough that I am confident it will work
as intended. Changes to cartesion seem simple enough, but would benefit
from someone running a couple of tests.

Signed-off-by: Frans-Willem Hardijzer <fw@hardijzer.nl>
2024-05-16 12:08:13 -04:00
voidtrance
694d38c791 bed_mesh: Fix adaptive probe count on delta printers (#6600)
Round beds require an odd number of probe points in
order to prevent erroneously truncating the mesh.

The adaptive mesh algorithm did not consider that and
as a result, it was possible to generate adaptive
meshes with even number of probe points.

This change fixes this by increasing the probe point
count by 1 in cases where the adaptive probe points
are even.

Signed-off-by: Mitko Haralanov <voidtrance@gmail.com>
2024-05-15 21:38:42 -04:00
Kevin O'Connor
dae8b8cacf docs: Update jinja2 requirement in mkdocs-requirements.txt
Update the jinja2 version to suppress security warnings.  Klipper is
not impacted by the vulnerability, but it is harmless to update the
version.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-05-15 11:23:51 -04:00
Kevin O'Connor
e0cbd7b5fc docs: Minor wording change to coolstep_threshold in Config_Reference.md
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-05-14 18:22:58 -04:00
Alex Voinea
ed8dca8df0 tmc: Implement high_velocity_threshold for drivers that support it
Signed-off-by: Alex Voinea <voinea.dragos.alexandru@gmail.com>
2024-05-14 18:21:24 -04:00
Alex Voinea
5249d955bb tmc: Implement coolstep_threshold for drivers that support it
Signed-off-by: Alex Voinea <voinea.dragos.alexandru@gmail.com>
2024-05-14 18:21:24 -04:00
Alex Voinea
0f3f29101c tmc: Implement CoolStep fields for all drivers
Signed-off-by: Alex Voinea <voinea.dragos.alexandru@gmail.com>
2024-05-14 13:26:58 -04:00
Alex Voinea
1ca1054957 tmc2130: implement missing HighVelocity fields in the config
Signed-off-by: Alex Voinea <voinea.dragos.alexandru@gmail.com>
2024-05-14 13:26:58 -04:00
Alex Voinea
f01c8853ca tmc: Do not pass the frequency directly to the helpers
Use the new get_tmc_frequency() instead.

Signed-off-by: Alex Voinea <voinea.dragos.alexandru@gmail.com>
2024-05-14 13:26:58 -04:00
Dropeffect GmbH
472d8e5b66 stm32: Add STM32G474 chip to Kconfig
Signed-off-by: Amr Elsayed from Dropeffect GmbH <code@dropeffect.com>
2024-05-14 11:53:38 -04:00
Dropeffect GmbH
80b55d3528 stm32: Add FDCAN2 channel needed for stm32g4 alternate pins
Some of the alternate pins defined are routed to FDCAN2 instead of
FDCAN1, this commit uses the correct IRQ register and peripheral
clock enable bit to enable FDCAN on those pins.

Signed-off-by: Amr Elsayed from Dropeffect GmbH <code@dropeffect.com>
2024-05-14 11:53:38 -04:00
Dropeffect GmbH
8f510da12b stm32g4: Fix ADC3 common interface registers name to ADC345_COMMON
Use ADC345_COMMON instead of ADC3_COMMON for stm32g4 ADC3 channel.

Signed-off-by: Amr Elsayed from Dropeffect GmbH <code@dropeffect.com>
2024-05-14 11:53:38 -04:00
Stéphane Lepin
79930ed99a config: Add safe_z_home section for Creality CR-6 SE
The Creality CR-6 SE has a strain gauge on its hotend used for z-probing and homing. Currently, running G28 to home all axes puts the hotend just outside of the print bed and thus assumes a wrong homing point for the Z axis.

This change aims to address this issue by setting a safe Z-homing point (in the middle of the print bed) into the Creality CR-6 SE 2020 and 2021-revision config files.

Signed-off-by: Stéphane Lepin <stephane.lepin@gmail.com>
2024-05-12 20:08:30 -04:00
Donald A. Cupp Jr
434770eaf9 stm32: Add new spi2 on stm32g0 chips (#6569)
Signed-off-by: Donald A. Cupp Jr <doncuppjr@yahoo.com>
2024-05-03 13:30:45 -04:00
Jelle van der Waa
7e8c7f46a9 klippy: Replace logging.warn usage with logging.warning
logging.warn is an alias to logging.warning since Python 3.3 and will be
removed in Python 3.13.

Signed-off-by: Jelle van der Waa <jelle@vdwaa.nl>
2024-05-01 12:37:10 -04:00
charminULTRA
af149b4781 docs: Update Measuring_Resonances.md (#6509)
Current command, using the *, results in bad chart output when more than one .csv file exists in the tmp folder. This isn't obvious for people who may not know that the * is a wildcard character.

Signed-off-by: Jonathan Williams <jcw122@gmail.com>
2024-04-29 19:48:10 -04:00
Kevin O'Connor
d8d072b375 adxl345: Fix read_axes_map() for non-adxl345 accelerometers
Commit 3f845019 unified the reading of the axes_map configuration
variable, but broke the per-sensor scaling capabilities.  Pass the
scale parameters to read_axes_map() so that it can be implemented
per-sensor.

Reported by @Neko-vecter.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-04-29 12:07:28 -04:00
Kevin O'Connor
7b490f3ec1 probe: Fix typo in activate/deactive error messages
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-04-27 11:10:01 -04:00
Oleg Gavavka
b1eec53ff4 pru: BeagleBone Firmware upgrade to Debian 11.7 Bullseye (#6577)
* Porting BeagleBone to Kernel 5.10

* Fixing issue with installation for BeagleBone.

This fix resolve 2 issue:
1. Conflict with AVR packages.
2. "klipper_pru" script is executed before PRU cores are ready

* Adding additional steps to BeagleBone install guide.

* Updating BeagleBone documentation, adding different use cases, adding buses configurations SPI, I2C, CAN, UART

Signed-off-by: Oleg Gavavka <work@datalink.net.ua>
2024-04-27 11:01:57 -04:00
Amken USA
0b329c5d28 rp2040: Add kconfig options for rp2040 uart (#6549)
Modified serial.c and Kconfig to dynamically select all possible UART combinations for RP2040

Signed-off-by: Hriday Keni <info@amken.us>
2024-04-24 22:32:29 -04:00
林玮 (Jade Lin)
c3ec4af6cc bme280: Add BMP388 sensor support to BMxx80 (#6576)
Extends the BMxx80 category with support for the BMP388 sensor,
providing temperature and pressure output similar to the existing BMxx80 class of sensors.

Signed-off-by: 林玮 (Jade Lin) <linw1995@icloud.com>
2024-04-24 21:45:05 -04:00
Alessandro Maggi
2f6e94c94c docs: Fix typo in Bed_Mesh.md (#6572)
Signed-off-by: Maggi Alessandro <maggialessandro360@gmail.com>
2024-04-20 18:57:58 -04:00
Timofey Titovets
713b509698 sht3x: Add sht31 support (#6560)
Signed-off-by: Timofey Titovets <nefelim4ag@gmail.com>
2024-04-20 18:42:31 -04:00
Kevin O'Connor
28faf81414 docs: Update CANBUS_Troubleshooting.md to avoid formatting error
Avoid starting a line with "128." as that confused markdown.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-04-20 13:23:42 -04:00
Kevin O'Connor
819599362c bulk_sensor: Rename BulkDataQueue methods
Rename pull_samples() to pull_queue() and rename clear_sample() to
clear_queue().  This avoids confusion between the queue of response
messages and the larger list of samples stored within those messages.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-04-20 12:52:47 -04:00
Kevin O'Connor
abb7910316 bulk_sensor: Rework ChipClockUpdater class into FixedFreqReader
Move the sensor_bulk_data message queuing into the class, and then
rename that class.  This simplifies the users of the code.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-04-20 12:52:47 -04:00
Kevin O'Connor
9ceaae3847 bulk_sensor: Refactor ChipClockUpdater constructor
Build the clock_sync and struct.Struct() in the ChipClockUpdater
constructor.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-04-20 12:52:47 -04:00
Kevin O'Connor
56829b07d2 ldc1612: Use extract_samples() for sample timestamp calculation
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-04-20 12:52:47 -04:00
Kevin O'Connor
f73e6dcd12 mpu9250: Use extract_samples() for sample timestamp calculation
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-04-20 12:52:47 -04:00
Kevin O'Connor
144af05270 lis2dw: Use extract_samples() for sample timestamp calculation
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-04-20 12:52:47 -04:00
Kevin O'Connor
95fdb68587 adxl345: Move sample timestamp calculation to reusable code
Add a new extract_samples() method to the ChipClockUpdater class that
calculates the sample timestamp for each sample in a list of bulk
sensor reports.

Update the adxl345 code to use that extract_samples() code.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-04-20 12:52:47 -04:00
Kevin O'Connor
c106955850 docs: Add information on txqueuelen to CANBUS_Troubleshooting.md
Provide some background information on the Linux can interface
txqueuelen parameter, errors that it can cause, and considerations
when configuring it.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-04-20 12:49:13 -04:00
Kevin O'Connor
12e9b633d8 docs: Recommend using "ip" instead of "ifconfig" in CANBUS.md
Some Linux systems do not install ifconfig, while ip should always be
available.  So, update the canbus documentation to recommend that.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-04-20 12:47:06 -04:00
Kevin O'Connor
2425a74638 virtual_sdcard: Define a default for on_gcode_error
If on_gcode_error is not specified, default to running the
TURN_OFF_HEATERS command.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-04-15 14:10:36 -04:00
TheFeralEngineer
36f9b26ef9 config: Artillery Sidewinder X3 (#6534)
Signed-off-by: Phil Timpson <theferalengineer@gmail.com>
2024-04-12 12:27:36 -04:00
trofen
75d7c17656 docs: Fix typo in Resonance_Compensation.md
Signed-off-by: Plynskiy Nikita <nikita53ne@yandex.ru>
2024-04-12 12:17:35 -04:00
Pedro Lamas
c37329e9e2 homing_override: Adds rawparams support
Signed-off-by: Pedro Lamas <pedrolamas@gmail.com>
2024-04-12 12:13:05 -04:00
Kevin O'Connor
4cfa266e00 manual_stepper: Revert "manual_stepper: Add basic status. (#6527)"
This reverts commit b029d04668.

The MCU_Stepper class does not have a is_motor_enabled() method, so
the change above results in an internal exception.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-04-10 10:40:41 -04:00
Kevin O'Connor
a8b493a1ae motan: Add support for graphing ldc1612 coil frequencies
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-04-09 16:32:43 -04:00
Kevin O'Connor
b09897245e docs: Add a new Eddy_Probe.md document
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-04-09 16:32:43 -04:00
Kevin O'Connor
30e0fddbbf docs: Add documentation for probe_eddy_current
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-04-09 16:32:43 -04:00
Kevin O'Connor
28281c595b probe_eddy_current: Use sensor value at halt position for "trigger" position
Calculate the sensor Z position after the probe halts and return that
as the "probed position".  This sensor position provides a more
accurate measurement.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-04-09 16:32:43 -04:00
Kevin O'Connor
13b2926e0c probe_eddy_current: Initial support for PROBE command
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-04-09 16:32:43 -04:00
Kevin O'Connor
b0d90fd013 probe_eddy_current: Support calibrating Z height to sensor frequency
Add a calibration tool that can be used to correlate sensor frequency
to bed Z height.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-04-09 16:32:43 -04:00
Kevin O'Connor
d84fc431a1 ldc1612: Add LDC_CALIBRATE_DRIVE_CURRENT calibration command
Add a command to calibrate the sensor DRIVE_CURRENT0 register.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-04-09 16:32:43 -04:00
Kevin O'Connor
da2b258441 ldc1612: Initial host support for reading ldc1612 bulk sensor data
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-04-09 16:32:43 -04:00
Kevin O'Connor
b8f1df3a96 sensor_ldc1612: Initial support for bulk reading ldc1612 sensor
Signed-off-by: Alan.Ma from BigTreeTech <tech@biqu3d.com>
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-04-09 16:32:43 -04:00
Kevin O'Connor
acdf8bb108 probe: Add a probing_move() wrapper to low-level mcu_probe class
This allows the low-level probe class more control on the probing
implementation.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-04-09 16:32:43 -04:00
Kevin O'Connor
fa5fa74761 mcu: Separate trdispatch handling from MCU_endstop class
Create a new TriggerDispatch class to track the low-level handling of
the trdispatch mechanism.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-04-09 16:32:43 -04:00
Kamil Domański
01c7befacb klippy: remove a few unused variable assignments (#6504)
Signed-off-by: Kamil Domański <kamil@domanski.co>
2024-04-05 17:43:43 -04:00
Viesturs Zariņš
b029d04668 manual_stepper: Add basic status. (#6527)
Adding position and enabled in manual_stepper status. Enabled is already available through stepper_enable object. But this makes it more straightforward to access it.

Signed-off-by: Viesturs Zarins <viesturz@gmail.com>
2024-04-04 16:46:30 -04:00
Michael 'ASAP' Weinrich
6f16e11197 linux: Don't use absolute paths for include
Not all systems (i.e. Nix) repect the standard Linux filesystem hierarchy,
instead relative paths should be used and allowing GCC to rely on it's
builtin search paths.

Signed-off-by: Michael 'ASAP' Weinrich <michael@a5ap.net>
2024-04-03 22:53:09 -04:00
Michael 'ASAP' Weinrich
24c884e9f3 makefile: Replace CFLAGS -I with -iquote
The -iquote tells GCC to only search that path when resolving a quoted
"include" (vs <angle brackets>) which by convention imples a include from
the projects own soruce tree. This prevents a conflict between Klippers
"sched.h" and "gpio.h" and <linux/gpio.h> and glibc <sched.h>.

Signed-off-by: Michael 'ASAP' Weinrich <michael@a5ap.net>
2024-04-03 22:53:09 -04:00
Robert Cambridge
75a40e817d stm32: fix support for USARTs on STM32G0B0
Signed-off-by: Robert Cambridge <robert@cambridge.me>
2024-04-03 12:01:00 -04:00
John Unland
5e280680c5 makefile: fix warning about lto serial compilation (#6543)
Signed-off-by: John Unland <junland.foss@gmail.com>
2024-04-02 22:08:35 -04:00
FOG_Yamato
67c152745e stm32: Add i2c3 bus to STM32H7 (#6541)
Signed-off-by: Balanuta Simion <simion@fogyamato.dev>
2024-04-02 22:02:22 -04:00
Kevin O'Connor
9e1cbdcee3 virtual_sdcard: Fix handling of unicode characters on Python2
Commit 600e89ae fixed unicode handling on Python3, but broke Python2
support.  Use an alternate implementation that should work for both
Python3 and Python2.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-04-02 21:59:55 -04:00
Kevin O'Connor
0aacbc3973 toolhead: Populate minimum_cruise_ratio to printer.configfile.settings
The default minimum_cruise_ratio setting does not get populated to the
printer.configfile.settings information due to the way the
max_accel_to_decel backwards compatibility support was implemented.
Slightly rework the config reading so that the default for
minimum_cruise_ratio is populated there.

Reported by @ReXT3D.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-04-02 21:54:43 -04:00
Kevin O'Connor
bedec55154 motion_report: Don't negate step_distance on steppers with inverted dir pin
When querying the stepper motion queue, the resulting "interval",
"count", and "add" are already normalized to the correct direction.
That is, the "count" field will be positive if moving in a positive
axis direction and negative if moving in the reverse direction.  So,
negating the step_distance field just complicates the readers.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-04-02 21:53:13 -04:00
Mathias Pihl
239f8e59e0 scripts: Mark install-ubuntu-22.04 as executable (#6505)
Signed-off-by: Mathias Pihl <mathias@pihlerne.dk>
2024-04-02 20:57:19 -04:00
TheParanoidEngineer
e37b007f67 docs: Update Measuring_Resonances.md (#6515)
Changed "libopenblas-base" to "libopenblas-dev"

Signed-off-by: Philip Weber <philiprweb@gmail.com>
2024-03-25 13:05:22 -04:00
Carl Richard Theodor Schneider
d9043345b6 linux: Allow for more i2c buses
Similar to commit df79893, this allows klipper to use up to
/dev/i2c-14. Similar to before, this limit is arbitrary.

This is required for some other SoCs, which have even
more i2c buses available, e.g. the rk3399:

$ ls -1 /dev/i2c-*
/dev/i2c-0
/dev/i2c-3
/dev/i2c-7

Signed-off-by: Carl Richard Theodor Schneider <dev.github@crtified.me>
2024-03-21 17:10:14 -04:00
Kevin O'Connor
40728e9231 motan: Support recording lis2dw and mpu9250 sensors from data_logger.py
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-03-20 19:40:23 -04:00
Kevin O'Connor
de1cf216ac docs: Sort axis_twist_compensation in G-Codes.md
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-03-20 19:40:23 -04:00
Kamil Domański
e6df93fcf8 tmc2240: add ADC voltage formatters
Signed-off-by: Kamil Domański <kamil@domanski.co>
2024-03-20 11:24:32 -04:00
Mad Beggar
235b75be3c hc32f460: Adding support for 100pin version of H32F460 (#6488)
Signed-off-by: Guillaume Giraudon <ggiraudon@prism19.com>
2024-03-19 16:16:42 -04:00
Markus Küffner
78a15b6d81 scripts: use greenlet version depending on python version
Signed-off-by: Markus Küffner <kueffner.markus@gmail.com>
2024-03-19 10:55:35 -04:00
BIGTREETECH
bfb71bc2dc stm32: Add i2c3_PC0_PC1 for stm32g0 (#6529)
Signed-off-by: Alan.Ma from BigTreeTech <tech@biqu3d.com>
2024-03-15 10:12:05 -04:00
Kevin O'Connor
09a78c31bb buildcommands: Add Klipper app name and license to mcu data dictionary
Add the Klipper name and license to the mcu data dictionary so that it
can be found in the flash.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-03-13 21:52:39 -04:00
Kevin O'Connor
0291a1554c configfile: Add support for reporting runtime_warnings via the API server
Add a new runtime_warning() method that will add a 'runtime_warning'
type message to the printer.configfile.warnings object.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-03-13 21:44:32 -04:00
Kevin O'Connor
d99d1a8463 mcu: Write a warning to the log if an incorrect mcu frequency is detected
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-03-13 21:44:32 -04:00
Kevin O'Connor
bb512ef5d7 heaters: Clarify reported stats after a shutdown
The pid logic can continue after a shutdown, even though the pin
commands sent to the mcu are ignored.  However, this behavior can
result in confusing "stats" messages in the log.  Explicitly disable
updates after a shutdown event so that the log statistics are more
clear.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-03-13 21:42:57 -04:00
Kevin O'Connor
bddefdde36 pid_calibrate: Fix PID_CALIBRATE command when used with heater_generic
Make sure the SAVE_CONFIG command saves the calculated PID parameters
to the correct config name.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-03-13 21:41:04 -04:00
Kevin O'Connor
0105aa330f toolhead: Replace max_accel_to_decel with minimum_cruise_ratio
The user facing max_accel_to_decel setting is complicated and
confusing.  Replace it with a new minimum_cruise_ratio parameter.
Internally this user-facing parameter will calculate the existing
low-level "accel_to_decel" mechanism.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-03-13 21:31:37 -04:00
Attila
18de421c4a stm32: Fix USART3 ALT pinout on STM32G0 (#6523)
Signed-off-by: Attila Rakosi <rattila5@hotmail.com>
2024-03-10 18:48:48 -04:00
Ulf D
71604b712a config: "static_value" in [output_pin enable_pin] is deprecated (#6520)
Signed-off-by: Ulf Dieckmann <1coderookie@quantentunnel.de>
2024-03-08 11:49:29 -05:00
Derek Kaser
31de734d19 config: update Kobra Plus build instructions and fan settings
Signed-off-by: Derek Kaser <derek.kaser@gmail.com>
2024-03-04 17:39:09 -05:00
Jake
b98375b360 avr: enable small code size options for atmega32u4
Signed-off-by: Jake Beju <jake.beju@gmail.com>
2024-03-02 18:47:16 -05:00
Pedro Lamas
a77d07907f docs: updates BED_MESH_CALIBRATE description
Adds the ADAPTIVE and ADAPTIVE_MARGIN parameters to the documentation.

Signed-off-by: Pedro Lamas <pedrolamas@gmail.com>
2024-02-20 12:09:57 -05:00
Dmitry Butyugin
28f06a104b shaper_calibrate: Fixed crashes in SHAPER_CALIBRATE and TEST_RESONANCES
Fixed crashes due to wrong parameter passed to the shaper selection function
and when the custom FREQ_END is specified.

Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2024-02-17 18:25:39 -05:00
Dmitry Butyugin
72b301a285 scripts: Added shaper tuning parameters to calibrate_shaper script
The added parameters include square_corner_velocity, shaper frequencies
to optimize, input shapers to test, input shaper damping ratio and
damping ratios to test. All these options can be useful for fine-tuning
the input shapers when the default suggestions generated by the tuning
script are not optimal.

Also the `SHAPER_CALIBRATE` command was modified to pass some of these
parameters to the shaper tuning routine. Specifically, square corner
velocity and the maximum tested frequency are used to adjust shaper
tuning and maximum acceleration recommendations.

Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2024-02-16 19:20:56 -05:00
Kevin O'Connor
4f00f21991 docs: Note removal of deprecated options in Config_Changes.md
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-02-15 12:40:10 -05:00
Kevin O'Connor
c92732e4f1 bed_mesh: Remove deprecated relative_reference_index
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-02-15 12:39:01 -05:00
Kevin O'Connor
2f7b234189 extruder: Remove deprecated commands and config
Remove the deprecated SET_EXTRUDER_STEP_DISTANCE and
SYNC_STEPPER_TO_EXTRUDER commands.  Remove the deprecated
shared_heater config option.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-02-15 12:35:19 -05:00
Kevin O'Connor
b2ac0f1ce3 heaters: Remove deprecated thermistor "NTC 100K beta 3950"
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-02-15 12:35:19 -05:00
Kevin O'Connor
9a940ffccb docs: Fix typo in Skew_Correction.md
Reported by @streetgt.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-02-15 12:29:13 -05:00
Eric Callahan
0aaabf1904 docs: update BED_MESH_OFFSET description
Add the ZFADE parameter to the documentation.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2024-02-15 12:03:41 -05:00
Eric Callahan
0cd16e956d bed_mesh: add ZFADE parameter to BED_MESH_OFFSET
When a ZFADE value is passed to BED_MESH_OFFSET it is used
to adjust how fade is applied.   This resolves issues with
fade when SET_GCODE_OFFSET is used during a tool change.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2024-02-15 12:03:41 -05:00
Anders Brujordet
1b24f6a2ad docs: Add required dependency to run numpy with python3 on RPI (#6491)
Signed-off-by: Anders Brujordet <anders@brujordet.no>
2024-02-13 19:18:08 -05:00
Kevin O'Connor
6ce6fbbce0 docs: Fix typo in Probe_Calibrate.md
Reported by @nmattia.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-02-09 19:21:34 -05:00
Eric Callahan
9f41f53c5e bed_mesh: fix profile_name reporting in get_status()
Adaptive meshing avoids saving the mesh after calibration to prevent
users from inadvertently overwriting an existing profile with an
adaptive mesh.  This introduced a change in behavior of how
get_status() reports the profile_name, as it can now be an empty
string when a mesh is active.

This patch assigns adaptive meshes a name with a unique postfix.
In addition, it moves profile name tracking from the profile manager
to the ZMesh class.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2024-01-28 13:43:08 -05:00
Eric Callahan
16a7b50ce9 bed_mesh: fix manual mode point generation
Do not generate points for the zero_reference_position or faulty_regions
when manual probing is requested.

Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2024-01-28 13:43:08 -05:00
Kiswich
600e89ae8c virtual_sdcard: fix virtual SD file position count (#6472)
Signed-off-by: Zhang Qiwei <zxy16305@gmail.com>
2024-01-27 09:23:50 -05:00
voidtrance
5e3daa6f21 bed_mesh: Implement adaptive bed mesh (#6461)
Adaptive bed mesh allows the bed mesh algorithm
to probe only the area of the bed that is being
used by the current print.

It uses [exclude_objects] to get a list of the
printed objects and their area on the bed. It,
then, modifies the bed mesh parameters so only
the area used by the objects is measured.

Adaptive bed mesh works on both cartesian and
delta kinematics printers. On Delta printers,
the algorithm, adjusts the origin point and
radius in order to translate the area of the
bed being probe.

Signed-off-by: Mitko Haralanov <voidtrance@gmail.com>
Signed-off-by: Kyle Hansen <kyleisah@gmail.com>
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-01-26 17:50:01 -05:00
Kevin O'Connor
5e433fff06 rp2040: Only change SPI settings while peripheral is disabled
Make sure to disable/enable the peripheral to ensure the clock
polarity is properly set prior to a change in CS.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-01-25 12:06:02 -05:00
Kevin O'Connor
f1982edcd5 rp2040: Load vectortable into ram
Load the interrupt vector table into ram at startup.  This reduces the
chance of a flash cache access causing timing instability.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-01-25 11:05:11 -05:00
Kevin O'Connor
44e79e0c37 rp2040: Run all code from ram
Place all normal code into ram.  This reduces the chance that rp2040
instruction cache misses could cause subtle timing issues.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-01-25 11:03:45 -05:00
Kevin O'Connor
23c5b20f5b rp2040: Always link using rp2040_link.lds.S
Use the rp2040 specific linker script even when using a bootloader.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-01-25 11:03:40 -05:00
Kevin O'Connor
55e46aa625 armcm_boot: Avoid invoking functions in reset_handler_stage_two()
Avoid calling memset() and memcpy() prior to copying the ram and
clearing the bss.  Also, place both ResetHandler() and
reset_handler_stage_two() in an explicit ".text.armcm_boot" linker
section.  These changes make it easier to support targets that want to
run all code in ram.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-01-25 11:02:49 -05:00
Kevin O'Connor
43a9685c58 mcu: Remove support for set_pwm() cycle_time parameter
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-01-23 20:04:03 -05:00
Kevin O'Connor
fd2feff67d pwm_cycle_time: New module for output pins with dynamic cycle times
Remove support for changing the cycle time of pwm pins from the
output_pin module.  Use a new pwm_cycle_time module that supports
setting dynamic cycle times.  This simplifies the output_pin code and
low-level pin update code.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-01-23 20:04:03 -05:00
Kevin O'Connor
1baa45913f output_pin: Deprecate the maximum_mcu_duration parameter
Advise users to configure a pwm_tool config section if checking for
maximum mcu duration is required.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-01-23 20:04:03 -05:00
Kevin O'Connor
7abafb575b mcu: Remove support for "static" pins
Update static_digital_output.py to directly configure static digital
pins.  There are no other users of "static" pins, so remove that
support from mcu.py, replicape.py, and sx1509.py.  This simplifies the
low-level pin handling code.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-01-23 20:04:03 -05:00
Kevin O'Connor
4115ea128a output_pin: Deprecate static_value parameter
Remove support for configuring "static" pins in output_pin module.  A
"static" pin only saves a few bytes of memory in the micro-controller.
The savings does not justify the increased code complexity.

Deprecate the static_value parameter to warn users.  In the interim, a
static_value parameter will set both value and shutdown_value
parameters.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-01-23 20:04:03 -05:00
Kevin O'Connor
2e8b54ae5f stm32: Remove product names from bootloader choices menu
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-01-22 18:58:41 -05:00
Jakub
f653db9c88 stm32: Add 36KiB bootloader offset option (#6449)
- This offset is used by Anycubic Kobra 2 Neo bootloader

Signed-off-by: Jakub Przystasz <jakub.przystasz@gmail.com>
2024-01-22 18:55:34 -05:00
BIGTREETECH
daf875e6e4 stm32g0: Disable internal pull-down resistors on UCPDx CCx pins, because klipper never uses UCPD (#6462)
Signed-off-by: Alan.Ma from BigTreeTech <tech@biqu3d.com>
2024-01-21 20:23:12 -05:00
Kevin O'Connor
d785b396a7 sensor_lis2dw: No need to schedule start of bulk reading
It's simpler and faster to enable the lis2dw in the python code.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-01-19 11:55:15 -05:00
Kevin O'Connor
d853c19811 sensor_mpu9250: No need to schedule start of bulk reading
It's simpler and faster to enable the mpu9250 in the python code.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-01-19 11:55:15 -05:00
Kevin O'Connor
6f0e91f69f sensor_adxl345: No need to schedule start of bulk reading
It's simpler and faster to enable the adxl345 in the python code.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-01-19 11:55:15 -05:00
Kevin O'Connor
2dc4cfc5df bulk_sensor: Don't assume chip_clock is zero on start of queries
Send an explicit clock query in ChipClockUpdater to seed the initial
clock.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-01-19 11:55:15 -05:00
Kevin O'Connor
266e96621c sensor_bulk: New C file with helper code for sending bulk sensor measurements
Refactor the low-level "bulk sensor" management code in the mcu.  This
updates the sensor_adxl345.c, sensor_mpu9250.c, sensor_lis2dw.c, and
sensor_angle.c code to use the same "bulk sensor" messages.  All of
these sensors will now send "sensor_bulk_data" and
"sensor_bulk_status" messages.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-01-19 11:55:15 -05:00
Kevin O'Connor
dc6182f3b3 sensor_angle: No need to send messages when stopping queries
Simplify the mcu code as any messages are ignored by the host anyway.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-01-19 11:55:15 -05:00
Kevin O'Connor
95e1a290f1 sensor_lis2dw: No need to send messages when stopping queries
Simplify the mcu code as any messages are ignored by the host anyway.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-01-19 11:55:15 -05:00
Kevin O'Connor
5ff555a705 sensor_mpu9250: No need to send messages when stopping queries
Simplify the mcu code as any messages are ignored by the host anyway.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-01-19 11:55:15 -05:00
Kevin O'Connor
3275614b89 sensor_adxl345: No need to send messages when stopping queries
Simplify the mcu code as any messages are ignored by the host anyway.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-01-19 11:55:15 -05:00
Kevin O'Connor
83d0d2f19b mcu: Add send_wait_ack() support to CommandWrapper
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-01-19 11:55:15 -05:00
Kevin O'Connor
94719fe327 docs: Update to mkdocs to use latest jinj2 version
There is a jinja2 security advisory on the current Jinja2 version.
Klipper is not impacted by this advisory (as it does not run jinja2 on
any untrusted data), but there is no harm in updating.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-01-18 13:36:17 -05:00
Kevin O'Connor
1d92be71da toolhead: Rename note_kinematic_activity() to note_mcu_movequeue_activity()
Rename this function to make it more clear why it is called.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-01-18 12:25:08 -05:00
Kevin O'Connor
6cc409f6fb toolhead: Rename MoveQueue class to LookAheadQueue
Rename this class so that is is not confused with the mcu "move
queue".

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-01-18 12:16:47 -05:00
Kevin O'Connor
d633ef2cfc force_move: Fix missing call to note_kinematic_activity()
Commit 3d3b87f9 incorrectly removed the call to
note_kinematic_activity().  A call to toolhead.dwell() is not
sufficient to wake up the mcu move queue flushing.  The call to
note_kinematic_activity() is needed for that.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-01-18 11:24:07 -05:00
grnbrg
43d0dba4b4 config: Add Creality Ender 5 S1. (#6455)
Creality released the Ender 5 S1 model in November of 2022.  It
has enough hardware differences from the previous models that
that the existing Ender 5 configs are not compatible.  This
configuration is based on one provided by Creality that was then
tweaked and modified.  I have been using these values (plus some
additional entries) for about 6 months with no issues.

Signed-off-by: Brian Greenberg <grnbrg@grnbrg.org>
2024-01-18 10:13:54 -05:00
Kevin O'Connor
7a74888b43 toolhead: Extend flushing slightly past required time
There is no harm in enabling flushing for a little longer than
necessary.  In contrast, a slight rounding issue causing a message to
not get flushed properly could result in an error.  So, extend the
flushing time slightly to avoid potential issues.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-01-17 11:28:42 -05:00
Kevin O'Connor
3d3b87f97f toolhead: Ensure full kin_flush_delay after flush_step_generation()
Commit b7b13588 made it possible that the kinematic code could be
restarted after a flush_step_generation() call without a sufficient
delay.

Rename last_sg_flush_time to min_restart_time and use that to ensure
_calc_print_time() always pauses kin_flush_delay time since the last
flush_step_generation() call.

Also, update force_move to invoke flush_step_generation() after any
movements.  This is needed to ensure there is a sufficient delay
should force_move be called on a stepper motor that is part of the
toolhead kinematics and is using a step generation "scan time".

This fixes possible "internal error in stepcompress" reports when
using FORCE_MOVE.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-01-16 20:40:55 -05:00
Kevin O'Connor
447a88eb08 docs: Update Multi_MCU_Homing.md to note the importance of low-latency
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-01-16 14:19:11 -05:00
Kevin O'Connor
1ea9f3aa35 mcu: Increase trsync_state reporting during multi-mcu homing
The current code has the mcu report a trsync_state message every 10ms
and expects a time extension within 25ms.  However, this means that if
a single mcu->host report is lost then 20ms would elapse until the
next report, which would allow for only a 5ms round-trip time before a
timeout error is reported.

Increase the trsync_state timing so that a message is sent every
7.5ms.  This increases the total number of messages per second sent
from mcu to host to 133 (from 100).  With this change, a single lost
message would still allow for up to a 10ms round-trip time.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-01-16 14:19:11 -05:00
Kevin O'Connor
dab39c02cd mcu: Stagger trsync reporting time during multi-mcu homing
When multiple MCUs are involved in homing, stagger the scheduling of
the trsync_state report messages from each mcu.  Staggering helps
spread the bandwidth, helps reduce locking contention in the host, and
reduces the chance that intermittent latency could result in a
communication timeout.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-01-16 14:19:11 -05:00
Kevin O'Connor
96ab906946 sensor_mpu9250: Check for overflows on each query_mpu9250_status command
Move overflow detection from mp9250_stop() to
command_query_mpu9250_status().  Currently the host ignores any
contents returned from a stop request, so overflow reporting at that
point has limited utility.

In practice, this change will result in one additional i2c transaction
to the mpu9250 device every 100ms.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-01-07 11:59:59 -05:00
Kevin O'Connor
84aa3caa45 sensor_mpu9250: Simplify mp9250_query()
The mpu9250 code always reads from the sensor in 48 byte chunks and
always sends an mpu9250_data message immediately after that.  Make
that more clear in the querying code.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-01-07 11:59:59 -05:00
Kevin O'Connor
49315b3cc4 sensor_mpu9250: Fix timing in command_query_mpu9250_status()
Commit 80a7744b optimized the fifo tracking code.  However, it
introduced an error in the time tracking in
command_query_mpu9250_status().  The purpose of that function is to
provide a precise timestamp of the total number of messages produced
at the time of that call.  Thus, the returned fifo value needs to be
the fifo level in the chip at the time of the call (not the value read
during previous checks).

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-01-07 11:59:59 -05:00
Kevin O'Connor
1a1568c38b mpu9250: Fix incorrect use of time.sleep()
It is not valid to call time.sleep() in the host python code (it could
causes glitches in other processing, and it does not ensure there is a
pause between operations on the mcu).

Use minclock instead of time.sleep() to ensure there is a sufficient
pause during chip startup.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-01-07 11:59:55 -05:00
marbocub
b50d6669a8 docs: Fix typo in Bed_Mesh.md (#6450)
the meaning and the illustration shows 13x9 mesh however the text was 13x8.

Signed-off-by: Mitsunori YOSHIDA <marbocub@gmail.com>
2024-01-06 17:26:48 -05:00
I3DBeeTech
0665dc8976 config: I3DBEEZ9 New board (#6447)
Signed-off-by: Venkata Kamesh <i3dbee@gmail.com>
2024-01-02 11:31:30 -05:00
Kevin O'Connor
92fe8f15b8 buttons: Fix possible ordering issue if a callback blocks
Invoke button callbacks directly from the background thread.  This
ensures that button notifications are delivered and delivered in the
correct order.  Previously, if a callback blocked, it was possible a
new update could start before the previous update was completed, which
could lead to lost events or out of order events.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-12-30 12:55:59 -05:00
Kevin O'Connor
25bc649cd2 toolhead: Make sure to flush history when in debug output mode
When in debugging "batch mode", use the existing method of keeping the
last 30 seconds of history from the furthest planned move time.  This
avoids keeping all moves in memory during a batch test.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-12-30 12:35:42 -05:00
Kevin O'Connor
9847b44901 toolhead: Avoid calling reactor.monotonic() on each _advance_flush_time()
Move calculation of clear_history_time to the callers of
_advance_flush_time() as a minor processing optimization.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-12-30 11:43:32 -05:00
Francois Chagnon
d7f6348ae6 toolhead: Keep stepcompress move history relative to current time (#6439)
Expire history relative to current time rather than last move in history queue

Signed-off-by: Francois Chagnon <fc@francoischagnon.net>
2023-12-30 11:34:21 -05:00
Kevin O'Connor
b502558052 bulk_sensor: Fix missing logging import
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-12-28 13:13:57 -05:00
Kevin O'Connor
6f686ddee3 bulk_sensor: Add some module level documentation
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-12-26 11:47:21 -05:00
Kevin O'Connor
c716edafe2 bulk_sensor: Simplify the registration of internal clients in BatchBulkHelper
Previously, the BatchBulkHelper class was designed primarily to
register webhook clients, and internal clients used a wrapper class
that emulated a webhooks client.

Change BatchBulkHelper to support regular internal callbacks, and
introduce a new BatchWebhooksClient class that can translate these
internal callback to webhooks client messages.

This makes it easier to register internal clients that can process the
bulk messages every batch interval.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-12-26 11:47:21 -05:00
Kevin O'Connor
3370134593 bulk_sensor: Rework APIDumpHelper() to BatchBulkHelper()
The APIDumpHelper class is mainly intended to help process messages in
batches.  Rework the class methods to make that more clear.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-12-26 11:47:21 -05:00
Kevin O'Connor
95c753292d bulk_sensor: Minor code reorg to _stop() in APIDumpHelper()
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-12-26 11:47:21 -05:00
Kevin O'Connor
acde3720a4 bulk_sensor: New add_mux_endpoint() helper function in APIDumpHelper
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-12-26 11:47:21 -05:00
Kevin O'Connor
ffd44c0219 bulk_sensor: Move APIDumpHelper() from motion_report.py to bulk_sensor.py
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-12-26 11:47:21 -05:00
Kevin O'Connor
f4c8f0bf88 angle: Define BYTES_PER_SAMPLE and SAMPLES_PER_BLOCK
This makes the code a little more readable.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-12-26 11:47:21 -05:00
Kevin O'Connor
3f84501955 adxl345: Add a read_axes_map() helper function
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-12-26 11:47:21 -05:00
Kevin O'Connor
43ce7c0b9a adxl345: No need to implement is_measuring()
The APIDumpHelper class already ensures that the start/stop callbacks
will only be called when needed.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-12-26 11:47:21 -05:00
Kevin O'Connor
d6a4669ce0 bulk_sensor: Add new ChipClockUpdater helper class
All the accelerometers use a standard response for their query_status
messages.  Create a common helper class to process those responses.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-12-26 11:47:21 -05:00
Kevin O'Connor
e67cbbe5c1 bulk_sensor: Add new BulkDataQueue class
Move the bulk sample queue collection to a new helper class in
bulk_sensor.py.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-12-26 11:47:21 -05:00
Kevin O'Connor
978c294741 bulk_sensor: New file with helper code for reading bulk sensors
Move the ClockSyncRegression class from adxl345.py to a new
bulk_sensors.py file.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-12-26 11:47:21 -05:00
Kevin O'Connor
644f7e0872 toolhead: Simplify _advance_flush_time() sg_flush_time calculation
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-12-26 11:35:27 -05:00
Kevin O'Connor
fe56bf36c9 toolhead: Fix _calc_print_time() after G4 and SET_PRESSURE_ADVANCE
Commit b7b13588 changed the internal flush time tracking, but
introduced the possibility of motion restart occurring too close to
the last motion end in some rare cases.  This could result in
internal stepcompress errors.

Track the last step generation flush time (last_sg_flush_time) and use
when recalculating the next print_time.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-12-26 11:18:40 -05:00
Alex Maclean
77619e912c stm32: Fix CAN for STM32G4
Signed-off-by: Alex Maclean <monkeh@monkeh.net>
2023-12-21 20:58:57 -05:00
Alex Maclean
147492b253 stm32: Fix ADC for STM32G4
At least STM32G4 requires four ADC clock cycles between hardware
clearing ADCCAL and setting ADEN or the write disappears. Make a
tenacious write attempt.

Signed-off-by: Alex Maclean <monkeh@monkeh.net>
2023-12-21 20:58:57 -05:00
Alex Maclean
71ab6240f2 stm32: Fix STM32G4 USB
STM32G4 USB controller requires 8 or 16-bit access, not 32-bit

Signed-off-by: Alex Maclean <monkeh@monkeh.net>
2023-12-21 20:58:57 -05:00
Kevin O'Connor
547bfbf818 pwm_tool: Fix error reporting
References to pins.error are not valid as the pins module is not
imported.  Reported by @Piezoid.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-12-19 14:57:39 -05:00
Sami Haahtinen
3417940fd8 hall_filament_width_sensor: max filament diameter
Add support for maximum filament diameter to hall filament width sensor.
If the diameter of the filament diameter is larger than the limit, the
virtual runout sensor will trigger. The default value is set to maximum
flow adjustment threshold to prevent oversized filament from clogging.

Signed-off-by: Sami Haahtinen <ressu@ressukka.net>
2023-12-17 11:13:33 -05:00
Kevin O'Connor
2defd7374a pwm_tool: Add support for maximum_mcu_duration
Implement the maximum_mcu_duration config parameter along with its
associated queue flushing.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-12-16 15:44:17 -05:00
Kevin O'Connor
1e5f688b53 mcu: Add support for registering callbacks during move queue flush
Support notification callbacks each time the mcu move queue is
flushed.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-12-16 15:42:39 -05:00
Kevin O'Connor
19862bc3b7 toolhead: Track separate time for flush_step_generation() and need_flush_time
Introduce a new step_gen_time variable for flush_step_generation().
This allows need_flush_time to be set to future times without
interfering with flush_step_generation().

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-12-16 15:42:39 -05:00
Razor
f0753bd338 docs: add rp2040 to internal temp sensor list (#6426)
Signed-off-by: Levi Szabo <iamrazorshark@gmail.com>
2023-12-13 12:13:39 -05:00
Pedro Lamas
6676c1df86 gcode: expose status with available commands
Signed-off-by: Pedro Lamas <pedrolamas@gmail.com>
2023-12-11 11:51:51 -05:00
Kevin O'Connor
2c2bb720fa adxl345: Simplify sequence and limit_count upconversion
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-12-10 14:59:18 -05:00
Kevin O'Connor
1a83845c9f angle: Simplify sequence upconversion
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-12-10 14:59:18 -05:00
Kevin O'Connor
fe7082e4a8 buttons: Simplify ack upconversion code
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-12-10 14:59:18 -05:00
Kevin O'Connor
c5bd813d8b clocksync: Simplify 32bit clock upconversion code
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-12-10 14:59:13 -05:00
Kevin O'Connor
62bf52bfcf serialqueue: Simplify sequence number upconversion
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-12-07 17:52:06 -05:00
Kevin O'Connor
99d7af87fd pwm_tool: Notify the toolhead that the move_queue needs to be flushed
Call toolhead.note_kinematic_activity() on each pin update to ensure
that those updates will be flushed properly.

This fixes "Timer too close" errors on SET_PIN commands that are
issued when the toolhead is idle.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-12-07 17:09:26 -05:00
Kevin O'Connor
c491ea669f toolhead: Support flushing even while lookahead queue is idle
Track a "NeedPrime" queue state instead of the "Flushed" state, and
continue running the background flushing timer as long as there may be
data in any of the move queues.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-12-07 17:09:26 -05:00
Kevin O'Connor
b7b13588c7 toolhead: Rework flushing to be based on mcu flush time
Rename last_kin_move_time to need_flush_time and rename
force_flush_time to last_flush_time to improve variable name clarity.

Move low-level flushing to new _advance_flush_time() so that it is
possible to flush the queues without needing to advance print_time.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-12-07 17:09:26 -05:00
Kevin O'Connor
9e574c3497 toolhead: Separate out priming flush notification to its own timer
Simplify the code by introducing a separate lookahead priming flush
timer.  After this change, the flush_timer is not active in any of the
special queuing states.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-12-07 17:09:26 -05:00
Kevin O'Connor
93cd8834f3 toolhead: Clarify internal toolhead "stall" and "pause" naming
Clarify the internal naming to make a more clear distinction between
"stalling" (input not coming fast enough) and "pausing" (the need to
hold up reading of input to avoid buffering too far into the future).

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-12-07 17:09:26 -05:00
Kevin O'Connor
bafb126abd toolhead: Remove undocumented buffer management config parameters
These internal low-level config parameters were never documented.
Going forward, developers may modify them by altering the internal
settings in toolhead.py.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-12-07 17:09:26 -05:00
Bassam
5bd32e2984 config: Update printer-sovol-sv06-2022.cfg x_offset (#6417)
Signed-off-by: Bassam Husain <bassamanator.2cj4t@simplelogin.com>
2023-12-06 12:57:10 -05:00
Bassam
d929be487b config: Update printer-sovol-sv06-2022.cfg to stock (#6416)
This printer is advertised as having a `220*220*250mm build volume`.

Signed-off-by: Bassam Husain <bassamanator.2cj4t@simplelogin.com>
2023-12-06 12:56:12 -05:00
Stefan Dej
7ed3c679dc config: Add LDO Leviathan v1.2 generic config
Signed-off-by: Stefan Dej <meteyou@gmail.com>
2023-12-06 12:51:07 -05:00
Kevin O'Connor
0ccf5f8e47 github: Temporarily disable close_reviewer_needed automation
Temporarily disable the closing of PRs marked as "reviewer needed".

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-12-05 17:57:11 -05:00
Will Puckett
fc102edc24 hard_pwm: Add pin defs for STM32F070 and STM32F072 (#6409)
Define hard_pwm pins for STM32F070 and STM32F072, and update KConfig accordingly. 

Signed-off-by: Will Puckett <willpuckett@gmail.com>
2023-12-05 17:44:51 -05:00
Kevin O'Connor
05d5451347 docs: Improve max_accel documentation in Config_Reference.md
Note that the max_accel parameter is the actual acceleration used in
most movements.

Note that the accel/velocity limits can be changed using the
SET_VELOCITY_LIMIT command.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-12-05 17:42:53 -05:00
Thijs Triemstra
795ce490a0 doc: updates to Installation.md (#6398)
omit rpi device version nrs

rpi2 or newer

Signed-off-by: Thijs Triemstra <info@collab.nl>
2023-12-03 21:10:59 -05:00
CODeRUS
38221df83a avr: enable small code size options for 328 and 328p (#6411)
Signed-off-by: Andrei Kozhevnikov <coderusinbox@gmail.com>
2023-11-29 11:31:49 -05:00
Kevin O'Connor
03f69cd81a tmc: Query latest value during _init_registers()
The set_register() code may block, and it therefore may be possible
that the loop in _init_registers() could occur in parallel with other
updates.  That could result in a "OrderedDict mutated during
iteration" error.

Avoid the error by querying the latest value during each iteration of
the loop.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-11-28 21:24:41 -05:00
Andrei Ignat
ea2f6bc0f5 exclude_object: Don't use gcmd.respond_error() (#6407)
gcmd.respond_error() has been deprecated: 61524542d2

Signed-off-by: Andrei Ignat <andrei@ignat.se>
2023-11-22 11:53:38 -05:00
Kevin O'Connor
bb4711c5d3 tmc5160: Increase maximum current error check
It's possible to build and configure tmc5160 drivers with external
mosfets that support more than 3 amps.  The actual maximum for tmc5160
drivers is dependent on how the board is wired and the mosfets used.
Increase the error check to 10 amps.  This error checking is primarily
intended to catch "obvious misconfigurations" (eg, specifying
milli-amps instead of amps), and the new value of 10 amps should
suffice for this task.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-11-20 18:15:46 -05:00
Kevin O'Connor
187cc2f1b8 configfile: Improve support for python3.12
It seems python3.12 has removed support for readfp() - use read_file()
instead.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-11-16 22:28:40 -05:00
vaxxi
3c8f202dfa bmp280: Add support for BMP180 sensor (#6370)
Extends the BMxx80 category with support for the older BMP180 sensor, providing temperature and humidity output.

Signed-off-by: VAXXi Popescu <github@vaxxi.net>
2023-11-16 22:27:44 -05:00
docgalaxyblock
83df4a8627 stm32: enable 64KiB bootloader offset for all F4
Signed-off-by: Joshua Schlicker <potter-91@web.de>
2023-11-16 22:09:59 -05:00
Kevin O'Connor
29b7550ce5 pwm_tool: Add support for high-speed PWM pin updates
The output_pin module is only capable of updating an output pin at
most once every 100ms.  Add a new pwm_tool module that is capable of
queuing updates in the micro-controller and thus allowing for much
higher update rates.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-11-16 22:07:15 -05:00
Kevin O'Connor
48a05eaa54 stepcompress: Add support for queuing messages that consume move queue space
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-11-16 22:07:15 -05:00
Thijs Triemstra
4688c21c54 klippy: Replace deprecated logger.warn with logger.warning (#6385)
Replace deprecated logger.warn with logger.warning

logger.warn will be removed in Python 3.13

Signed-off-by: Thijs Triemstra <info@collab.nl>
2023-11-16 22:06:13 -05:00
Herb McNew
3f8f30d612 config: Update printer-sovol-sv06-plus-2023.cfg (#6401)
In testing with a user on Discord we discovered the sensorless homing thresholds were out of line with what Sovol ships with Marlin. This aligns with their settings.

Signed-off-by: Herb McNew <herb.mcnew@gmail.com>
2023-11-16 21:57:45 -05:00
Herb McNew
74473322e5 config: Add Sovol SV06 Plus (#6397)
New configuration for the Sovol SV06 Plus
Initial pass at adding a printer configuration for the Sovol SV06
Plus based on the existing Sovol SV06 config. Updated for the larger
build volume, added filament runout sensor, and removed any references
to the LCD screen since the stock screen doesn't work with Klipper.

Signed-off-by: Herb McNew <herb.mcnew@gmail.com>
2023-11-14 13:15:46 -05:00
Kevin O'Connor
0d67d9c45d docs: Note the release of v0.12.0
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-11-10 18:36:19 -05:00
Kevin O'Connor
0acf3035e8 docs: Update Features.md
Note additional features that have been added recently.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-11-10 18:35:59 -05:00
Pedro Lamas
9e765daeed bed_screws: Reset on move error
Signed-off-by: Pedro Lamas <pedrolamas@gmail.com>
2023-11-02 13:08:53 -04:00
Wayne Manion
233f50424c config: Update generic-bigtreetech-skr-pico-v1.0.cfg (#6376)
Add RP2040 internal temperature sensor

Signed-off-by: Wayne Manion <treowayne@gmail.com>
2023-11-02 13:03:01 -04:00
Kevin O'Connor
64a97431b5 docs: Update Contact.md to note other common ways to obtain Klipper log file
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-11-01 19:04:13 -04:00
Kevin O'Connor
03982f2c7e docs: Update the Contact document
Try to make it more clear that Discord is not Discourse, as the two
similarly sounding services are often confused by users unfamiliar
with them.

The Klipper Discourse and Klipper Discord are available for many
topics related to Klipper - reword some sections to make their use
more open.

Avoid referring to the Klipper github repo in this Contact document as
we no longer use Klipper github issues at all.

Remove the table of contents as it is largely redundant for the
document.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-11-01 19:04:13 -04:00
Kevin O'Connor
bee7ec720b config: Add new generic-bigtreetech-octopus-pro-v1.1.cfg config
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-10-30 14:29:43 -04:00
Kevin O'Connor
9b15293547 config: Clarify stepper enable comment in Octopus boards
Make sure the stepper enable_pin comment shows an inverted pin.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-10-30 14:29:43 -04:00
Kevin O'Connor
a629b87ae0 config: Split generic-bigtreetech-octopus.cfg into separate files
Use two different files for the Octopus Pro and Octopus (non-Pro).
The configs are the same in practice, but the difference in version
and naming can lead to confusion.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-10-30 14:29:43 -04:00
Kevin O'Connor
f7567a0db9 Revert "toolhead: Use dict for step generation flush times. (#6303)"
This reverts commit 6749985302.

A defect was found in the above commit (the input shaper code calls
note_step_generateion_scan_time() for many steppers, so the
input_shaper class can't be used as the index).

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-10-21 15:46:08 -04:00
Viesturs Zariņš
6749985302 toolhead: Use dict for step generation flush times. (#6303)
Makes the API to extruder and input shaper more robust, avoiding the need to track the old delay.

Signed-off-by: Viesturs Zariņš <viesturz@gmail.com>
2023-10-19 13:28:16 -04:00
Tom Dunn
0c521b601d Config_checks: Missing ! in pin inversion example in Verify endstops
In the "Verify endstops" section there is an example of adding an
exclamation point to the pin definition to invert its logic.  I
believe the intention in the example is to keep the hardware pull-up
^ and follow it with ! to invert the pin logic, but the ! is missing.

Signed-off-by: Tom Dunn <thomas.dunn@gmail.com>
2023-10-19 13:13:57 -04:00
Aaron B. Haun
593486fadc docs: Fix a typo in serial bootloader entry docs
Signed-off-by: Aaron B. Haun <aaron@haun.guru>
2023-10-19 13:10:05 -04:00
Luke V
dd01e99c59 atsam: Add support for CAN on atsame70 (#6366)
Signed-off-by: Luke Vuksta <wulfstawulfsta@gmail.com>
2023-10-19 13:01:59 -04:00
Alex Maclean
b1f597c550 atsam: Remove USB endpoint header (#6365)
The atsam USB hardware only requires that the ACM endpoint be endpoint
3.  As of commit 11828387 the atsam chips can therefore use the
default USB endpoints.

This will allow CAN bridge support for the SAME70 to function
(upstream host driver has hardcoded endpoints).

Signed-off-by: Alex Maclean <monkeh@monkeh.net>
2023-10-12 21:02:26 -04:00
Aaron B. Haun
ecc9bbf52a docs: add info about requesting bootloaders
Signed-off-by: Aaron B. Haun <aaron@haun.guru>
2023-10-12 20:53:31 -04:00
Kevin O'Connor
5edc7fee7e config: Fix trailing space in printer-creality-ender5-2019.cfg
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-10-09 13:34:58 -04:00
ghostoverflow256
7eabf02f5b config: Update printer-creality-ender5-2019.cfg to add instructions for silent boards (#6326)
Recently tested on my ender 5 pro that came from creality with a v1.1.5 board. Works. Tested all endstops, motors, and heaters. 

Signed-off-by: Jake Aronleigh <jakestar98@outlook.com>
2023-10-09 13:28:49 -04:00
Kevin O'Connor
83ef0e135e stm32: Make sure to limit tx during usbfs startup
Wait for two tx packets before startup, and make sure one of those
packets is acked before sending a third tx packet.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-10-05 00:47:42 -04:00
Kevin O'Connor
447125faae serialqueue: Eventually time out if unable to write CANbus messages
Klipper logs an error on a failed CANbus write.  Unfortunately, if the
bus becomes permanently disabled (eg, due to a user removing power to
devices on the CANbus) then it can result in the logs filling with
error messages.

Permanently disable the low-level processing of messages if CANbus
writes continually fail for at least 10 seconds.  This avoids filling
the log with redundant messages.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-10-04 22:42:14 -04:00
Kevin O'Connor
043f18da26 stm32: Fix usbfs spurious USB packet transmit on startup
Commit cd8d57c2 added USB double buffering mode on transmits.
However, when enabling double buffering mode, the hardware seems to
always send at least two packets.  Spurious transmissions could cause
the Linux gs_usb driver to get confused, which could lead to the can0
device becoming unavailable on restarts.  Fix by waiting for two USB
packets to be available before enabling the endpoint.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-10-04 22:11:22 -04:00
Kevin O'Connor
615db729e7 stm32: Only enable one direction on usbfs double buffered end points
The bulk out endpoint should not be enabled in tx mode, and the bulk
in endpoint should not be enabled in rx mode.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-10-04 18:49:46 -04:00
Kevin O'Connor
6adff3954b usb_canbus: Prioritize local response sending over new host messages
Prioritize sending responses back to the host over transmitting new
messages from the host.  Otherwise, the gs_usb host usb
acknowledgments could saturate the usb bandwidth for extended periods.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-10-03 23:29:17 -04:00
Kevin O'Connor
78ae83c314 usb_canbus: Add a local queue for USB messages received from host
Read USB messages arriving from the host into a queue.  This makes it
less likely that USB "bulk out" packets will be NAK'ed on the USB bus,
which improves USB bus utilization.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-10-03 23:29:17 -04:00
Kevin O'Connor
5b204866c5 usb_canbus: Rename UsbCan.queue to UsbCan.canhw_queue
Rename the internal variable names.  This is in preparation for
support of a USB message queue.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-10-03 23:29:17 -04:00
Kevin O'Connor
472fd32cab rp2040: Add support for double buffering on USB bulk tx packets
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-10-03 23:28:13 -04:00
Kevin O'Connor
90427fe30e rp2040: Add support for double buffering on USB bulk rx packets
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-10-03 23:28:13 -04:00
Kevin O'Connor
bdeec0f56d rp2040: Open code usb_read_packet() and usb_write_packet() in callers
Copy the code for these two functions to their respective callers.
This is in preparation for double buffer support.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-10-03 23:28:13 -04:00
Kevin O'Connor
83eecae028 rp2040: Add helper functions to usbserial.c
Add helper functions for manipulating the buffer memory and packet
control registers.  This is in preparation for double buffer support.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-10-03 23:28:13 -04:00
Kevin O'Connor
cd8d57c2c6 stm32: Add usbfs double buffer support for bulk tx messages
Implement the usbfs fast buffer switching mechanism on the "bulk in"
endpoint.  This can improve the overall USB throughput and bus
utilization.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-10-03 23:26:46 -04:00
Kevin O'Connor
b1361d9e5b stm32: Add usbfs double buffer support for bulk rx messages
Implement the usbfs fast buffer switching mechanism on the "bulk out"
endpoint.  This can improve the overall USB throughput and bus
utilization.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-10-03 23:26:46 -04:00
Kevin O'Connor
01ac5334e9 stm32: Update usbfs to support setting both buffers for each endpoint
The usbfs device supports two buffers for each endpoint - typically
one for rx and one for tx.  Add support for explicit handling of both
buffers.  This is in preparation for improved "double buffering"
support.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-10-03 23:26:46 -04:00
Kevin O'Connor
1e3ace2170 stm32: Improve usbfs epr register handling
Replace the set_stat_x_bits() functions with a single calc_epr_bits()
function.  This new function supports setting bits other than the stat
field in the epr register.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-10-03 23:26:46 -04:00
Kevin O'Connor
aa726cb7cb lib: Update to latest can2040 code
Add support for can2040_stop()
Add data_state_go_error() helper
Add new can2040_get_statistics() API function
Call report_note_discarding() after setting MS_DISCARD state
Convert report_is_rx_eof_pending() to report_is_not_in_tx()

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-10-03 23:24:18 -04:00
Ikko Eltociear Ashimine
7bd32994d4 docs: fix typo in RPi_microcontroller.md
additionaly -> additionally

Signed-off-by: Ikko Eltociear Ashimine <eltociear@gmail.com>
2023-09-29 13:58:29 -04:00
Dmitry Butyugin
a4cd0336bd idex_modes: Fixed the case when carriages home in the same direction (#6310)
Previous version of the code assumed that dual carriages home away
from each other, which is not true on some machines, which have the
second dual carriage homing on the first carriage. The new code
correctly identifies the relative order of the carriages now.

This fixes discrepancies between the documentation and the actual
implementation of the carriages kinematic ranges calculation.

Notes about dual_carriage homing and proximity checks changes

Fixed clearing of homing state after homing in certain modes

In case of multi-MCU homing it is possible that the carriage position
will end up outside of the allowed motion range due to latencies in data
transmission between MCUs. Selecting certain modes after homing could
result in home state clearing instead of blocking the motion of the
active carriage. This commit fixes this undesired behavior.

Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2023-09-29 13:46:42 -04:00
Kevin O'Connor
21b7842979 docs: Add Peopoly to Sponsors.md
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-09-26 16:51:38 -04:00
Kevin O'Connor
e9bf2d4c5c mcu: Enhance RetryAsyncCommand to handle low-level retransmits
The RetryAsyncCommand code needs to ensure that any response messages
are not from a previous (unrelated) query.  To do that it compares the
'#sent_time' from potential responses to ensure they are not from a
previous session.  However, if there are any low-level serial
retransmits then the low-level code sets the '#sent_time' to zero (to
indicate that the query send time is not strictly known).  That could
result in a valid response not being accepted by RetryAsyncCommand.

If a low-level connection is experiencing a small amount of periodic
retransmits it could result in multiple high-level retry attempts
failing to the point that there is a user-facing error.  This could
result in "Timeout on wait for 'tmcuart_response' response" errors.

Fix by accepting responses even if there is a low-level retransmit
once the code can confirm that there can be no previous query still in
progress.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-09-21 14:52:55 -04:00
DavidvtWout
8ef0f7d7e3 spi_temperature: Limit maximum temperature in MAX31865.calc_adc() to melting point of platinum (#6320)
Limit the maximum temperature in MAX31865.calc_adc() to the melting
point of platinum. Above this temperature the Callendar-Van Dusem
formula does not make sense. The default value for max_temp is
99999999.9 and at this temperature the result of this formula is
negative. This sets max_sample_value to 0 which causes the mcu
to shutdown.

Set max adc value to (1<<15)-1 .  This is needed because the max value of the adc register
of the MAX31865 is 0b1111 1111 1111 1110 which represents
32767 and not 32768.

Signed-off-by: David van 't Wout <github@yoctobyte.nl>
2023-09-10 18:51:14 -04:00
FrY Sennberg
2acfa28294 tmc2240: Adding UART interface support to tmc2240 (#6305)
Signed-off-by:  Christoph Frei <fryakatkop@gmail.com>
2023-09-10 14:41:59 -04:00
Bomberski
8f178b892a config: Add MKS Monster 8 generic config (#6336)
Signed-off-by: Allen Cox <Bomberski420@gmail.com>
2023-09-10 13:55:37 -04:00
JamesH1978
5f58fe7484 config: Add HC32F460 variant of Ender 2 Pro (#6334)
PR to add the newer version of the Ender 2 Pro with the CR-FDM-v2.5.54.170 motherboard with the HC3232F460 chip.

Confirmed as working with discord member NyftHeart and using configs from Steve Gotthardt, with his permission to use and submit.

Signed-off-by: James Hartley <james@hartleyns.com>
2023-09-10 13:52:33 -04:00
bigtreetech
5f990f93d5 Kconfig: Support Enable/Disable lis2dw on chips with small flash size
Signed-off-by: Alan.Ma from BigTreeTech tech@biqu3d.com
2023-08-21 14:26:46 -04:00
bigtreetech
073665cebb docs: Add how to configure LIS2DW instructions
Signed-off-by: Alan.Ma from BigTreeTech tech@biqu3d.com
2023-08-21 14:26:46 -04:00
bigtreetech
ec1dcf3bd2 lis2dw12: Add support for lis2dw12 accelerometer
lis2dw12 is an accelerometer from STMicroelectronics(https://www.st.com/resource/en/datasheet/lis2dw12.pdf)
With better performance than the ADXL345 according to the datasheet.

Signed-off-by: XM.Zhou from BigTreeTech zhouxm@biqu3d.com
Signed-off-by: Alan.Ma from BigTreeTech tech@biqu3d.com
2023-08-21 14:26:46 -04:00
Kevin O'Connor
c9aa7ac871 github: Fix regression due to update of actions/stale
Commit 594c0243 updated the workflows from actions/stale@v3 to
actions/stale@v8, but did not make the corresponding updates to the
config parameters.  This resulted in the closing of some PRs.  Update
the config parameters to avoid this regression.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-08-21 13:15:53 -04:00
locki-cz
01ed8096d8 spi_flash: Update board_defs.py (#6318)
Added alias for Octopus pro h723 v1.1 for sdcard update script.

Signed-off-by: David Bucek <bucek.david@gmail.com>
2023-08-15 14:11:51 -04:00
Wulfsta
261efdd86c config: Add 1LC example configuration and docs
Signed-off-by: Luke Vuksta <wulfstawulfsta@gmail.com>
2023-08-13 15:32:27 -04:00
Falk Höppner
4292136b16 hc32f460: Add app address 0x10000
Required for the Anycubic Kobra 2.

Signed-off-by: Falk Höppner <falk@hoppner.se>
2023-08-13 15:30:00 -04:00
flatline-84
15c3824e9b config: Add config for printer Creality CR10s Pro V2 (#6300)
Created a base config for the Creality CR10s Pro v2 as described here: https://www.creality.com/products/cr-10s-pro-v2-3d-printer

This will allow users with this printer to more easily setup Klipper firmware.

Signed-off-by: Peter Kydas <peter@kydas.me>
2023-08-13 15:26:56 -04:00
FatalBulletHit
dd368c107c docs: Update RPi_microcontroller.md (pwm-2chan) (#6304)
Added a more detailed explanation for pwm-2chan.

Signed-off-by: Alfie Batthullt <FatalBulletHit@gmail.com>
2023-08-13 15:23:58 -04:00
Chris Lombardi
07792a02b4 scripts: Added stm32f070 to mcus supported by flash_usb.py
Verified with an Monoprice Mini Select v2 using katapult.

Signed-off-by: Chris Lombardi <clearchristx@gmail.com>
2023-08-13 14:14:55 -04:00
D4SK
aa8ba30f8a cartesian: fix x-axis being hardcoded for dual_carriage (#6313)
Signed-off-by: Konstantin Vogel <konstantin.vogel@gmx.net>
2023-08-11 21:21:46 -04:00
Thijs Triemstra
594c024355 github: update dependencies (#6293)
Signed-off-by: Thijs Triemstra <info@collab.nl>
2023-08-11 21:17:13 -04:00
Donna Whisnant
00b78c68cc docs: Update Config_Changes.md to reflect new SKR-3 flash-sdcard naming.
Signed-off-by: Donna Whisnant <dewhisna@dewtronics.com>
2023-08-11 20:00:36 -04:00
Donna Whisnant
20d87c73fe scripts: Support both H743 and H723 BTT SKR3 boards sdflash
Signed-off-by: Donna Whisnant <dewhisna@dewtronics.com>
2023-08-11 20:00:36 -04:00
Pedro Lamas
ed66982b8e heaters: adds temperature monitors
Signed-off-by: Pedro Lamas <pedrolamas@gmail.com>
2023-08-01 20:32:03 -04:00
Dmitry Butyugin
55d09771b1 idex_modes: A small fix for MOVE_SPEED param
Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2023-08-01 20:26:19 -04:00
Michael Jäger
6f7c743615 temperature_combined: A class that can combine several other temperature sensors (#6230)
Signed-off-by: Michael Jäger <michael@mjaeger.eu>
2023-08-01 13:18:03 -04:00
Philippe Daouadi
039daecb4f axis_twist_compensation: Add X twist compensation module (#6149)
Implements AxisTwistCompensation, and Calibrater

Supports calibration of z-offsets caused by x gantry twist

Modify PrinterProbe._probe function to check if the probed z value should be adjusted
based on axis_twist_compensation's configuration

Add documentation for [axis_twist_compensation] module

Signed-off-by: Jeremy Tan <jeremytkw98@gmail.com>
2023-08-01 13:08:53 -04:00
Dmitry Butyugin
36be1cfc51 idex_modes: COPY and MIRROR mode implementation (#6297)
COPY and MIRROR mode implementation

Correctly apply input shaper params to new dual_carriage

Added SAVE_/RESTORE_IDEX_STATE commands

Documentation updates for the new IDEX modes

Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2023-08-01 12:23:52 -04:00
Stefan Dej
ea330717cd screws_tilt_adjust: add max_deviation to report status
Signed-off-by: Stefan Dej <meteyou@gmail.com>
2023-08-01 12:14:15 -04:00
JamesH1978
fee385dad8 docs: Update Config_checks.md (#6278)
I am endeavoring to rewrite some of the docs to be more front end agnostic to reflect the different front ends available since these docs were written. I am starting with this one, as it quite often used. 

Signed-off-by: James Hartley <james@hartleyns.com>
2023-07-30 14:26:20 -04:00
SkyKnight
e9534d6f92 webhooks: Add process id, user id and group id to the info endpoint. (#6284)
Signed-off-by: Gregoire Mbutilovich <skyknight_x@hotmail.com>
2023-07-28 12:48:14 -04:00
Martin Botka
ba4eed175d rp2040_flash: Fix the type when printing num_blocks (#6279)
image->num_blocks is of type unsigned size_t thus unsigned int
or unsigned long int.

%lu specifies a type of long unsigned int. Thus resulting in compiler warning about type mismatch on some systems.
Fix this by printing the value with length modified z.

Signed-off-by: Martin Botka <martin.botka@somainline.org>
2023-07-27 20:34:32 -04:00
Zarrsito
d725dfd309 screws_tilt_adjust: Added Support for M6 Screws (#6287)
Added support for M6 Screws

Signed-off-by: Sascha Petersen <Zarrsito@gmail.com>
2023-07-16 22:30:37 -04:00
Maël Kerbiriou
7e93af2574 scripts: modernize logextract.py (with opens, generators)
Signed-off-by: Maël Kerbiriou <m431kerbiriou@gmail.com>
2023-07-16 22:27:34 -04:00
Maël Kerbiriou
fbc5589097 scripts: logextract.py Python 3 compatibility
- Open log files in text mode,
- Normalize the encoding of tmcuart messages,
- Fix a bug where StatsStream.get_lines() would return None timestamps for lines
before the first Stats line. Timestamps are now back-propagated.

Signed-off-by: Maël Kerbiriou <m431kerbiriou@gmail.com>
2023-07-16 22:27:34 -04:00
Dmitry Butyugin
73d017aa89 motan: Added smoothing motan data analyzer
Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2023-07-16 19:49:23 -04:00
Dmitry Butyugin
5fc5d95ca5 motan: Added pointwise 2-norm motan data analyzer
Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2023-07-16 19:49:23 -04:00
Alex Maclean
366b0de1c8 samc21: Fix CAN RAM base address
Signed-off-by: Alex Maclean <monkeh@monkeh.net>
2023-07-16 19:45:23 -04:00
JamesH1978
1c482581c3 config: Update Octopus Max EZ for wrong bltouch pins (#6283)
It has been discovered on the discord by the user Pizn that the blouch pins are swapped in this config and don't include the ^ pull on the sensor pin.

This has been tested and confirmed by the user.

Signed-off-by: James Hartley <james@hartleyns.com>
2023-07-16 19:42:03 -04:00
Aleksandr 'Aux' Ivanov
ffb5105b55 config: Updated bed mesh configuration for Creality Ender 3 S1 and S1 Pro (#6219)
Existing `mesh_min` values start probing too far away from the edge.

Additionally `mesh_max` Y value of 197 is out of bed movement range (197 + `bltouch.y_offset` = 237.5) and causes Y stepper to overhit, which can potentially damage the printer in the long run.

Signed-off-by: Aleksandr Ivanov <aux@hexmode.org>
2023-07-09 22:21:27 -04:00
Bart Meijer
6d48adf9ef atsamd: Add support for SAMD21J18 (Minitronics v2)
Adds a menu entry in menuconfig, allowing you to select the SAMD21J18 as mcu.

Signed-off-by: Bart Meijer <brupje@gmail.com>
2023-07-05 15:18:54 -04:00
Dennis Kühn
a96608add4 spi_flash: New Board Definition for BTT SKRat V1.0 (#6249)
Adds the new BTT SKRat V1.0 controller board to the board_defs for the flash-sdcard.sh tool.
The new board definition was tested by me without any errors.

Signed-off-by: Dennis Kuehn <denniskuehn@online.de>
2023-06-29 11:42:07 -04:00
JamesH1978
e62929fe2f config: Multiple config - change working for heater fan (#6274)
The reference to `my_nozzle_fan` in these configs could be confusing and misleading, leading users to think it is the parts/print cooling fan, changed to heatbreak_cooling_fan as used in other configs.

Signed-off-by: James Hartley <james@hartleyns.com>
2023-06-28 19:53:58 -04:00
JamesH1978
f163a37f5e docs: Update Config_Reference.md - heater_fan wording (#6273)
The reference to my_nozzle_fan is misleading and could cause people to skip over the [fan] definition and assume this is the parts/print cooling fan. Alias changed to reflect heatbreak_cooling_fan as used in most configs that have a controllable hotend fan.

Signed-off-by: James Hartley <james@hartleyns.com>
2023-06-28 19:52:40 -04:00
Adam
f4a3dfa53f docs: Update Measuring_Resonances.md (#6234)
Clarifying the ADXL345 on pi instructions. Previously, the instructions on installing the linux klipper instance were in a confusing place.

Signed-off-by: Adam Kramer <akramer@gmail.com>
2023-06-28 19:35:35 -04:00
Eric Callahan
b9247810b9 virtual_sdcard: reset file position and size to integer zero
This resolves an issue with API server clients that always
expect these values be be integers.

Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2023-06-23 20:33:42 -04:00
Eric Callahan
d32a833455 bed_mesh: fix fade regression
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-06-21 21:17:17 -04:00
Boris-Chengbiao Zhou
1374c701ab hc32f460: Disable JTAG/SWD on pins so they can be used for GPIO/serial
This change is required to sucessfully use PA13/PA14 for UART. Otherwise
they function as SWDIO/SWCLK.

Relevant excerpt from the reference manual (translated):
The initial state of PA13, PA14, PA15, PB3, and PB4 ports is that the
JTAG/SWD function is valid after reset. When configuring FSEL[5:0] to
select the function, you need to write 0 to the corresponding bit of the
register PSPCR to invalidate the JTAG/SWD function.

Signed-off-by: Boris-Chengbiao Zhou <bobo1239@web.de>
2023-06-20 12:05:32 -04:00
Boris-Chengbiao Zhou
623ebf2fb1 hc32f460: Use correct USART for PH2/PB10 pins
This fixes serial communication when selecting the PH2/PB10 pins.

The chip datasheet (not reference manual) assigns pins to one of two
communication function groups (`Func_Grp1/2`). Pins in group 1 have
access to USART1/2 while group 2 has access to USART3/4. PH2/PB10 belong
to group 2 so we now correctly use USART3 for them.

Signed-off-by: Boris-Chengbiao Zhou <bobo1239@web.de>
2023-06-20 12:05:32 -04:00
Kevin O'Connor
2ae3dd2f78 docs: Improve documentation of i2c_software_scl_pin/i2c_software_sda_pin
Reported by @rootiest

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-06-20 12:00:59 -04:00
Eric Callahan
9a77d8859b docs: note rri deprecation in config_changes
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-06-20 11:48:17 -04:00
Eric Callahan
8fe18f27a9 docs: update Bed Mesh documentation
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-06-20 11:48:17 -04:00
Eric Callahan
1ad4c0fd6e bed_mesh: improve zero reference offset
The relative_reference_index will now refer to a coordinate that is
static and cannot be changed at runtime.  If new mesh parameters
are specifed and the reference lies outside of the mesh then the
reference location will be probed.

Additionally this introduces a 'zero_reference_position' option which
accepts a specific X/Y coordinate.  This may be used in place of the
relative_reference_index.

Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2023-06-20 11:48:17 -04:00
Eric Callahan
775092fc01 bed_mesh: generate new points before each calibration
When mesh parameters change the substituted indices need to be
updated, even when using the default point set.   Always generate
new points to perform this update rather than cache
the "orig_points".

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-06-20 11:48:17 -04:00
Kevin O'Connor
0245073c55 serialhdl: Catch os.error on can.interface.Bus() call
It seems opening the canbus socket can sometimes throw an os.error (in
addition to can.CanError).  Catch that error to avoid Klipper
reporting an internal error.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-06-17 19:32:06 -04:00
JamesH1978
38e79dffb6 config: remove move_to_previous from Ender 3 S1 configs (#6245)
This PR is to remove `move_to_previous: true` from the ender 3 S1 and S1 plus configs. This is a confusing option, it is not really useful on these type of printers and can cause issue to the end user

Signed_off_by; James Hartley <james@hartleyns.com>
2023-06-16 17:32:13 -04:00
Luke V
9cb2656914 atsamd: Fixes for samc21 and compiler optimizations (#6198)
Signed-off-by: Luke Vuksta <wulfstawulfsta@gmail.com>
2023-06-16 16:41:08 -04:00
Alex Voinea
5ee72d320c tmc: Configurable multistep_filt
Signed-off-by: Alex Voinea <voinea.dragos.alexandru@gmail.com>
2023-06-16 16:38:42 -04:00
IronAegis90
6cbb6f144b config: Update printer-creality-cr10-smart-pro-2022.cfg (#6253)
Clarified the necessary steps for successfully flashing the firmware to the MCU.

Signed-off-by: Doug Whitlock <doug@thewhitlock.family>
2023-06-16 16:35:12 -04:00
Kevin O'Connor
6ce2bd61cc test: Add stm32f042 regression build test
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-06-08 12:59:30 -04:00
Kevin O'Connor
15d302901f Kconfig: Support selecting optional features on chips with small flash size
Add a new HAVE_LIMITED_CODE_SIZE symbol that enables a menu to select
optional features.  This symbol is enabled on chips with small build
sizes.

Replace the HAVE_GPIO_BITBANGING with four new symbols:
WANT_GPIO_BITBANGING, WANT_DISPLAYS, WANT_SENSORS, WANT_SOFTWARE_SPI,
and WANT_SOFTWARE_I2C.  This allows users a little more flexibility
when selecting features they need.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-06-08 12:59:30 -04:00
BIGTREETECH
645a1b8364 i2c_software: Implementation of software i2c (#6141)
Signed-off-by: Alan.Ma from BigTreeTech <tech@biqu3d.com>
2023-06-07 20:55:46 -04:00
Steve Gotthardt
b389c70d5a hc32f460: update for HC32F460 - clock, flash add, serial (#6235)
Add clock speed selection

Add Flash App Address selection

Add alternate serial connection and remove company specific names

Signed-off-by: Steven Gotthardt <gotthardt@gmail.com>
2023-06-06 22:13:04 -04:00
Jason W. Thompson
3bbae611f9 config: Correct year in documentation for ender 3 v2 neo
The header documentation currently shows the year the Creality Ender 3 V2 Neo as being the 2020 model. This is likely a copy/paste error from the header of the original Creality Ender 3 V2 config. The year the Creality Ender 3 V2 Neo came out was in 2022 as indicated by the name of this config file. This patch fixes the copy/paste typo by updating the year in the header documentation from 2020 to 2022.

Signed-off-by: Jason W. Thompson <jason@jasonthompson.dev>
2023-06-06 22:09:16 -04:00
Dmitry Butyugin
a3c00d0bed input_shaper: Correctly initialize input shaper stepper_kinematics
If the stepper already executed some steps with the basic
stepper_kinematics, subsequent creation of a new one for input_shaper
would result in stepcompress errors unless position and time tracking
flags are also copied over.

Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2023-06-06 20:17:49 -04:00
Dmitry Butyugin
e15bad4844 input_shaper: Fixed tracking of step_generation_scan_time
Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2023-06-06 20:17:49 -04:00
Dmitry Butyugin
345934bd68 idex_modes: Native input shaping support with dual carriages
Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2023-06-06 20:17:49 -04:00
Dmitry Butyugin
98ed0a8168 test: Regression test for hybrid corexy input shaping with dual carriage
Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2023-06-06 20:17:49 -04:00
Kevin O'Connor
90e1477d72 docs: Fix link in Sponsors.md
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-06-05 22:14:51 -04:00
Kevin O'Connor
a919594b66 docs: Update Sponsors.md
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-06-05 19:24:22 -04:00
Eric Callahan
0539e9f266 bme280: use consistent report time for BME680
Sample the BME680 every .8 seconds, matching that of the
BME280.  This resolves an issue where `get_report_time_delta()`
returns a value that doesn't match the actual delta.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-05-31 13:43:07 -04:00
Kevin O'Connor
ddf0994ba2 parsecandump: New utility to parse Klipper messages in a candump capture
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-05-30 20:18:41 -04:00
Kevin O'Connor
14ff50c94d docs: Add new CANBUS_Troubleshooting.md document
Add information on troubleshooting canbus connections.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-05-30 20:16:28 -04:00
Kevin O'Connor
23bbbaa21b Kconfig: Change default CANbus frequency to 1000000
Change the default CANbus frequency from 500000 to 1000000.  A higher
frequency allows for greater data transfer rates, lower latency of
messages, and should overall be more robust.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-05-30 20:08:06 -04:00
Kevin O'Connor
81e4636f42 docs: Update CANBUS.md
Recommend USB to CAN adapter and no longer recommend using the
waveshare rpi hat.

Recommend using allow-hotplug for all USB adapters.

Note bandwidth limitations when using USB to CAN bridge mode.

Note that a USB to CAN mcu is not a USB serial device.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-05-30 20:06:59 -04:00
Kevin O'Connor
5f0d252b40 docs: Minor update to Config_Changes.md dates
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-05-25 12:53:06 -04:00
Dmitry Butyugin
624d360a34 resonance_tester: Apply input shaper params on SHAPER_CALIBRATE
Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2023-05-25 12:52:29 -04:00
Dmitry Butyugin
16c53992d6 resonance_tester: Support CHIPS= parameter in SHAPER_CALIBRATE command
Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2023-05-25 12:48:17 -04:00
Frans-Willem Hardijzer
ec61f10f0f hybrid_corexy: Fix changing dual-carriage carriage will inadvertently set axis to homed, even if it wasn't. (#6183)
In hybrid_corexy and hybrid_corexz, the update_limits function is (only) called by the DualCarriage implementation, whenever the carriage changes.
Unfortunately, these limits also keep track of homing status, when they're unhomed they are set to 1 to -1 (invalid range).
As a fix, if the limit was set to "unhomed", we keep it that way, and only update it with the new rail limits if it was already properly homed before.

Signed-off-by: Frans-willem Hardijzer <fw@hardijzer.nl>
2023-05-25 11:55:07 -04:00
Stefan Dej
37315bf336 stm32: add PB5/PB6 as CAN pins - required for BTT U2C v2.x
Signed-off-by: Stefan Dej <meteyou@gmail.com>
2023-05-20 11:31:28 -04:00
Chris
7511151ac9 docs: Add gcode_button to the Status Reference docs (#6201)
Add gcode_button to the Status Reference docs

Signed-off-by: Chris Laprade <chris@rootiest.com>
2023-05-14 10:19:42 -04:00
xpeng
2471918f08 config: Change the position_max value of Kobra Go to the physic limit (#6200)
Fixed the bed_mesh out of range issue

Signed-off-by: Yipeng Zhou <yipeng_zhou@foxmail.com>
2023-05-14 10:18:07 -04:00
Frederic Morin
33b18fd62b stm32f7: add support for stm32f7 and remram board
Signed-off-by: Frederic Morin <frederic.morin.8@gmail.com>
2023-05-07 11:15:05 -04:00
Eric Callahan
a3eebab4f2 util: report git version info as a dict
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-05-04 14:07:14 -04:00
Eric Callahan
b89a049fdb klippy: report repo branch, remote, and tracking url
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-05-04 14:07:14 -04:00
Kevin O'Connor
3bd0be40d5 lib: Update to latest can2040 code
Disable tx state machine before resetting it
Check for rx message with same id as tx but different payload
Do not use canrx line to alter bit timing of cantx line
Improve bit time synchronization with slow transmitters
Implement tx synchronization to faster transmitters

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-05-03 10:45:41 -04:00
Kevin O'Connor
1a24e7c5b6 klippy: Report repo version as "dirty" if there are untracked python files
Check for untracked files in the klippy/extras/ and klippy/kinematics/
directories and report those files in the log.  This helps identify
code modifications when inspecting a log.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-05-02 11:40:18 -04:00
Wulfsta
3b0729c949 atsamd: Add support for SAMC21
Signed-off-by: Luke Vuksta <wulfstawulfsta@gmail.com>
2023-05-01 13:56:32 -04:00
Wulfsta
06e5c577bd lib: Add Atmel SAM C21 headers
Signed-off-by: Luke Vuksta <wulfstawulfsta@gmail.com>
2023-05-01 13:56:32 -04:00
Thomas Lété
6414e1772d config : Longer LK4 X (#6185)
New printer : Longer LK4X configuration

This configuration is based on the one provided by Longer with some tweaks.

Signed-off-by: Thomas Lété <bistory@gmail.com>
2023-05-01 13:30:32 -04:00
Kevin O'Connor
1987742545 lib: Update to latest can2040 code
Fix tx hang after error frame during tx

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-04-29 11:49:53 -04:00
Kevin O'Connor
bec1d957d2 rp2040: Handle USB resets
On a USB bus reset the controller address needs to be reset to zero.
Otherwise, the device becomes unresponsive after a USB reset and will
remain unresponsive until a power cycle.  This often shows up in the
Linux system logs as "device descriptor read/64, error -32" messages.

Make sure USB_INTE_BUS_RESET_BITS is enabled and clear the USB address
on a bus reset.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-04-25 00:05:04 -04:00
Kevin O'Connor
b17ae55f5b usb_canbus: Rework USB message transmit prioritization
There is no need to heavily prioritize the sending of canbus packets
over USB.  A single check to flush the incoming canbus packets is
sufficient.

Also, be sure to wake up canserial_notify_tx() even if canhw_send()
blocks.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-04-24 11:31:06 -04:00
Kevin O'Connor
28f11244c3 usb_canbus: No need to check if canserial can accept a packet
The canserial code already advertizes a receive window, so the host
should never flood the canserial code.  Remove the extra scheduling
checks to simplify the usb_canbus code.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-04-24 11:31:06 -04:00
Kevin O'Connor
3377f29bc5 usb_canbus: Minor code reformatting of drain_hw_queue()
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-04-24 11:31:06 -04:00
Kevin O'Connor
f10c60eea7 usb_canbus: Increase rx canbus packet buffer to 32
A buffer of only 8 canbus packets is only 64 bytes of data, which
could be exceeded if the usb-to-canbus mcu gets busy doing other work.
Increase the buffer to 32 packets.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-04-24 11:31:06 -04:00
Kevin O'Connor
8b2074e068 stm32: Fix usbotg irq wakeup notification
The DAINTMSK prevents irqs but does not prevent the status reporting
in the GINTSTS and DAINT fields.  Thus, the mask bits should be
checked prior to sending a wakeup notification.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-04-24 11:29:43 -04:00
Scott Mudge
10e816979e aht10: update comments and docs for AHT20/AHT21 support
The control bytes for the AHT20 and AHT21 are identical to the AHT10, but I had not been able to test just yet to ensure the sensor code supported the other sensors. I've wrapped up testing and updated the comments/docs to reflect this additional support.

Signed-off-by: Scott Mudge <mail@scottmudge.com>
2023-04-24 11:10:00 -04:00
crazyroses
5a49372dec docs: Update Measuring_Resonances.md (#6177)
Correction for table "Recommended connection scheme for I2C (i2c0a) on the RP2040",  line 160, to match the correct writing in the Fritzing image shown above, RP2040 pin 36 in place of 39;
Correction of typo in line 346, "pins" in place of "pin"

Signed-off-by: Adrian Rose <adrian@crazyroses.net>
2023-04-24 11:07:10 -04:00
jdonagher
9b59d745f1 docs: Update Bed_Mesh.md (#6143)
Fix typo.

Signed-off-by: John Donagher <jdonagher@gmail.com>
2023-04-24 11:00:50 -04:00
Dr. Matthew Swabey
011b4e39e6 docs: Fix nested list in Measuring_Resonances (#6157)
Signed-off-by: Matthew Swabey <matthew@swabey.org>
2023-04-19 22:00:03 -04:00
Dr. Matthew Swabey
80a7744b42 sensor_mpu9250: Fix or improve reliability (#6170)
Fixes common MPU-9250 accelerometer issues for RPi Linux MCU and
improves reliability on all other architectures by adjusting the MPU-*
reading algorithm to only read whole Klipper messages' worth of
data from MPU-* and eliminating many unnecessary checks of the MPU FIFO
fill-level that consumed bus bandwidth needed for data transfer. Fixes
intermittent "Lost communication with MCU 'rpi'" due to "Timer too
close" and transposed / corrupted data due to FIFO overrun/data loss
when using MPU-* accelerometers. In addition FIFO overrun checks are
performed by testing the MPU interrupt flag vs. inferring from the FIFO
fill level.

Stress tested for 13hrs with two MPU-6500 attached to one I2C bus on RPi
    and one on a PR2040
Stress tested for 23hrs with two MPU-6500 attached to one I2C bus on RPi
    and one on a ATmega328P (Seeduino Nano)

Signed-off-by: Matthew Swabey <matthew@swabey.org>
2023-04-19 12:34:22 -04:00
Justin Schuh
c2fe372925 gcode_macro: Catch variable encoding errors
Catch parsing and json encoding errors at variable assignment.

Signed-off-by: Justin Schuh <code@justinschuh.com>
2023-04-19 12:22:20 -04:00
Justin Schuh
d68a6c28ba webhooks: Log json encoding errors
Signed-off-by: Justin Schuh <code@justinschuh.com>
2023-04-19 12:22:20 -04:00
Florin Popescu
40b4b34998 stm32: Support for USART5 on STM32G0B1 (#6105)
Support for USART5 on PD2,3

Add exception on RCC bits for USART5&6

Signed-off-by: Florin Popescu <florinsgpopescu@gmail.com>
2023-04-19 11:47:18 -04:00
xpeng
cba119db3a config: Add printer configuration for Anycubic Kobra Go (#6166)
Signed-off-by: Yipeng Zhou <yipeng_zhou@foxmail.com>
2023-04-15 22:24:02 -04:00
Scott Mudge
4748dffd7a docs: Add AHT10 temperature sensor doc section in Config_Reference.md (followup #6138) (#6167)
Followed general outline used by HTU21D and BME280.

Signed-off-by: Scott Mudge <mail@scottmudge.com>
2023-04-15 19:17:54 -04:00
Nathan
a8b1b0ef05 docs: Fix duplicate section in Measuring_Resonaces.md (#6160)
Removed a duplicated section in Measuring_Resonances.md.
Also fixed its header level.

Signed-off-by: Nathan Chiu <nhchiu2009@gmail.com>
2023-04-11 11:48:20 -04:00
vcore85
c2b2278a49 tmc5160: add DRV_CONF Register for TMC5160 (#6154)
In some condition ,“drvstrength 2” does not work. According to page 17, some mosfets need “drvstrength” set to 0 .

From datasheet rev1.15, the DRVSTRENGTH reset default is 0 .  (instead of 2)

Signed-off-by: Albert Lin <vcore85@gmail.com>
2023-04-11 11:43:19 -04:00
flowerysong
d16adc356b docs: Add missing code block indicators to Slicers.md(#6161)
Signed-off-by: Paul Arthur <paul.arthur@flowerysong.com>
2023-04-11 11:39:41 -04:00
Kevin O'Connor
aa8a6f4cf1 lib: Update to latest can2040 code
Avoid some gcc warnings by using uint32_t for iterators
Better document the fallthough case statement in crc_bytes()
Fix txpending race from report_line_ackdone()
Make can2040_transmit() multi-cpu atomic

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-04-11 11:20:57 -04:00
Kevin O'Connor
83308a1051 tmc: Support reporting tmc2240 temperature in driver get_status()
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-04-07 15:20:40 -04:00
Kevin O'Connor
22ee889f41 serialqueue: Rename stalled_bytes stat to upcoming_bytes
The stalled_bytes counter refers to the number of bytes that are not
yet eligible for transmission.  However, the naming leads to confusion
as it could be interpretted as an inability to transmit data.  Rename
to upcoming_bytes to try to avoid that confusion.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-04-07 15:17:43 -04:00
Scott Mudge
acca55b074 aht10: Added support for AHT10 ambient temperature sensor (#6138)
This commit adds support for the I2C-based AHT10 ambient temperature sensor. The sensor comes pre-calibrated and has a fairly simple command interface, so the interface class is in-turn relatively simple. So far this has been tested on a BTT GTR 1.0 MCU board (STM32F4), and seems to work fine.

Signed-off-by: Scott Mudge <mail@scottmudge.com>
2023-04-07 13:41:06 -04:00
JamesH1978
754a67af4e config: SKR3, update for second chip choice (#6153)
As found on the discord by user Qtin, this board now ships with one of STM32H743 or STM32H723
Example config updated to reflect this. This has been tested on the users board. To note, the H743
bin will flash to the H723 chip, but will not work.

Signed-off-by: James Hartley <james@hartleyns.com>
2023-04-07 13:05:55 -04:00
visilya
8850084fcf scripts: Fix flash linux when OUT argument provided (#6133)
Signed-off-by: Ilya Vislotsky <write2ilya@gmail.com>
2023-04-07 12:32:23 -04:00
Kevin O'Connor
e5ed245ff2 stm32: Improve ifdef indent in hard_pwm.c
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-04-07 12:27:09 -04:00
Kevin O'Connor
ecc23fc6fa stm32: Prefer "MACH_STM32F1" test over "MACH_STM32F103 || MACH_N32G45x"
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-04-07 12:25:27 -04:00
Kevin O'Connor
ef34c5bb5d config: Update comment header in printer-voxelab-aquila-2021.cfg
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-04-07 12:21:22 -04:00
Alexey
23e82d37f1 stm32: Add support for Nation N32G45x mcus (#6116)
N32G452/G455 are mostly compatible with STM32F103 but have M4 core and different ADC.

Signed-off-by: Alexey Golyshin <stas2z@gmail.com>
2023-04-07 12:20:14 -04:00
Dr. Matthew Swabey
27dab0ee51 docs: Measuring_Resonances.md improved information on I2C accelerometers and AVR support (#6132)
More information on I2C accelerometers.

Added in table of MCUs with 400kbit/s I2C support

Signed-off-by: Matthew Swabey <matthew@swabey.org>
2023-04-07 11:45:54 -04:00
Alex Voinea
fec7ddd8ae docs: Fix typo in docs (#6147)
Signed-off-by: Alex Voinea <voinea.dragos.alexandru@gmail.com>
2023-03-30 12:30:48 -04:00
Alex Voinea
c9731a6fe2 tmc: DUMP_TMC optional REGISTER parameter
Add an optional REGISTER parameter to DUMP_TMC so that the output is more filtered/cleaner for manual TMC calibration.

Signed-off-by: Alex Voinea <voinea.dragos.alexandru@gmail.com>
2023-03-30 11:41:51 -04:00
Kevin O'Connor
36e0afea2d config: Fix motor4 comment in manta m8p configs
Reported by @jakep82.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-03-29 14:19:26 -04:00
spinixguy
9fe3152e23 config: Add config printer-sovol-sv05-2022.cfg (#6122)
Adding Sovol SV06 printer config

Signed-off-by: Joseph Spainhour <spinixguy@gmail.com>
2023-03-29 09:55:02 -04:00
bbro44
d8a9ab5ef7 config: Add Ratrig V-Minion (#6120)
This adds support for the stock configuration of the V-Minion printer from Ratrig, based on the Octopus v1.1 (STM32F446)

Signed-off-by: Benjamin Lesher <bbro44@protonmail.com>
2023-03-29 09:53:54 -04:00
Dr. Matthew Swabey
4026365270 linux: Lock Memory and Increase Priority (#6131)
Realtime programming best practice is to lock realtime code
memory to prevent paging which will lead to unbounded latencies. The
Linux MCU process has well bounded memory and small RAM footprint
so locking the entire process' RAM has no downsides and will improve
behavior when the system comes under memory pressure.
(See bootlin training and Linux Foundation documentation linked below.)
RT process priority ranges from 0-99 (although POSIX only requires 32),
boost MCU process priority to half the max/2 to improve robustness when
the system comes under pressure from other RT Kernel or user processes.

Reference links:
bootlin: https://bootlin.com/doc/training/preempt-rt/preempt-rt-slides.pdf
Linux Foundation: https://wiki.linuxfoundation.org/realtime/documentation/howto/applications/application_base#howto_build_a_simple_rt_application

Signed-off-by: Matthew Swabey <matthew@swabey.org>
2023-03-27 21:34:24 -04:00
BIGTREETECH
d518152ab2 stm32: Enable I2C on stm32h7 (#6130)
Signed-off-by: Alan.Ma from BigTreeTech <tech@biqu3d.com>
2023-03-27 21:32:42 -04:00
BIGTREETECH
346e3901f6 tmc: Enable sg_angle_offset for smooth switching from Stealthchop to Spreadcycle (#6123)
Signed-off-by: Alan.Ma from BigTreeTech <tech@biqu3d.com>
2023-03-27 21:18:06 -04:00
Jess
1a2033aba8 scripts: add install script for Ubuntu 22.04 Jammy (#6112)
python-dev package is not  available on Jammy; specifies python3-dev.

Signed-off-by: Jess Sullivan <jess@sulliwood.org>
2023-03-27 21:09:46 -04:00
Chris Thompson
e93f39444c docs: Document how to connect ADXL345 to Pico then on to Pi. (#5996)
This is based on documentation from:
https://klipper.discourse.group/t/raspberry-pi-pico-adxl345-portable-resonance-measurement/1757

Signed-off-by: Christopher Thompson <chris@hypocrite.org>
2023-03-27 20:38:26 -04:00
Kevin O'Connor
16f54c8200 stale-issue-bot: Update github lock-threads action to v4
Update to latest version in hopes it will reduce failure reports.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-03-27 20:22:44 -04:00
Robert
52f4e20c26 config: Update printer-anycubic-vyper-2021.cfg (#6113)
Having the controller fan PA14 in the config is important for the stepper drivers not to overheat and skip steps.

Signed-off-by: Robert Lilienthal <13837429+RobLil@users.noreply.github.com>
2023-03-21 15:12:58 -04:00
Dr. Matthew Swabey
2466b7a2c6 avr: Allow I2C bus speed to be set by Klipper (#6111)
Allow I2C bus speed to be set by appropriate Klipper commands.

Signed-off-by: Matthew Swabey <matthew@swabey.org>
2023-03-21 15:02:58 -04:00
bbro44
e2d7c59812 config: Add Fysetc Cheetah V2.0 (#6119)
This adds support for the Cheetah v2.0 mainboard from Fysetc.

Signed-off-by: Benjamin Lesher <bbro44@protonmail.com>
2023-03-20 11:06:44 -04:00
Alex Voinea
73f4c6cd00 tmc: SET_TMC_FIELD VELOCITY
Ability to specify `VELOCITY` as a parameter for SET_TMC_FIELD. Useful for configuring at runtime the TSTEP based fields of the driver.

Signed-off-by: Alex Voinea <voinea.dragos.alexandru@gmail.com>
2023-03-20 10:58:25 -04:00
Alex Voinea
0469710a69 tmc: Implement TMCtstepHelper
Implement a helper for calculating velocity based thresholds for tmc drivers. This code was written in such a way that it can be used with more fields than just tpwmthrs.

Signed-off-by: Alex Voinea <voinea.dragos.alexandru@gmail.com>
2023-03-20 10:58:25 -04:00
Kevin O'Connor
c54d83c9f1 tmc: Initialize self.coolthrs in TMCVirtualPinHelper constructor
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-03-15 16:46:35 -04:00
Alex Voinea
a9feeaa9eb tmc: Do not override tcoolthrs if it is configured
If tcoolthrs is configured (not the default 0), then do not force
the value of tcoolthrs=0xfffff during homing. This way, tcoolthrs
can be set to a custom value during homing.

`tpwmthrs` and `en_pwm_mode`/`en_spreadcycle` are now also
correctly restored if they were changed after startup.

Signed-off-by: Alex Voinea <voinea.dragos.alexandru@gmail.com>
2023-03-15 16:45:36 -04:00
Kevin O'Connor
fd167894a0 docs: Update reviewers in CONTRIBUTING.md
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-03-15 14:55:51 -04:00
Alex Voinea
dd39091388 tmc: Enable multistep_filt for drivers that support it
`multistep_filt` was not configured at all on tmc2240 and tmc5160. As such, it would default to the value of 0 when the GCONF field was sent to the driver. However, that field has a default value of 1 in the driver, so klipper was overriding the defaults by accident.
This field improves the stability of velocity based thresholds (it's effectively TSTEP filtering) and it also improves the current regulation stability in stealthchop2 (according to the datasheet).
This field was already set to 1 correctly in the tmc2208/tmc2209 driver code.

Signed-off-by: Alex Voinea <voinea.dragos.alexandru@gmail.com>
2023-03-15 11:09:10 -04:00
Alex Voinea
117c1d42ac tmc2209: Remove duplicate pdn_disable initialization
Signed-off-by: Alex Voinea <voinea.dragos.alexandru@gmail.com>
2023-03-15 11:06:24 -04:00
D4SK
0d5b96a601 reactor: Fix typo
Signed-off-by: Konstantin Vogel <konstantin.vogel@gmx.net>
2023-03-14 22:08:13 -04:00
D4SK
136283bd14 reactor: Fix typo
Signed-off-by: Konstantin Vogel <konstantin.vogel@gmx.net>
2023-03-14 22:08:13 -04:00
Maurice Breit
45dd30c820 docs: Remove comment about default profile loading
Remove outdated comment that the "default" profile is loaded automatically when klipper starts

Signed-off-by: Maurice Breit <github@mauricebreit.de>
2023-03-14 21:12:36 -04:00
Pedro Lamas
87f109984a probe: expose name on status report
Signed-off-by: Pedro Lamas <pedrolamas@gmail.com>
2023-03-14 21:11:33 -04:00
JamesH1978
2337d05f48 docs: addition of slicer specific gcode for START_PRINT (#6063)
Signed-off-by: James Hartley <james@hartleyns.com>
2023-03-14 21:09:00 -04:00
Sam
187173cbb5 config: Add Ender 3 v2 Neo base config (#6103)
Add the default base config for the Ender 3 v2 Neo (as released 2022).
This config also works with the newer D32F303 based 4.2.2 boards.

Signed-off-by: Sam McLeod <sammcj@users.noreply.github.com>
2023-03-14 21:05:08 -04:00
Dr. Matthew Swabey
9d77f44995 linux: Fast Linux MCU i2c_read() with I2C_RDRW (#6101)
Reading an I2C device from the Linux MCU used a separate write(2)
to select the target register & read(2) to get the value(s). This
implementation uses ioctl(file, I2C_RDWR, ...) to skip a large bus idle
period and extra process sleep by combining them like the stm32.

I2C_RDRW requires I2C_FUNC_I2C flag in the I2C driver. I2C_FUNC_I2C
is defined in:

BCM2835: Pi 1 Models A, A+, B, B+, the Raspberry Pi Zero, the
    Raspberry Pi Zero W, and the Raspberry Pi Compute Module 1
BCM2836: Pi 2 Model B
    Identical to BCM2835 except Cortex
BCM2837: Pi 3 Model B, later models of the Raspberry Pi 2 Model B,
    and the Raspberry Pi Compute Module 3
BCM2837B0: Pi 3 Models A+, B+, and the Raspberry Pi Compute Module 3+
BCM2711: Pi 4 Model B, the Raspberry Pi 400, and the Raspberry Pi
    Compute Module 4
RK3xxx: Rockchips SoCs NanoPi, RockPi, Tinker, etc.
SUNXI: H2, H3, etc. Orange Pi
AMLOGIC: S905x, Banana Pi, Odroid, etc.
TEGRA: NVidia Jetson etc.
MediaTek: Several SBCs in other ranges

Signed-off-by: Matthew Swabey <matthew@swabey.org>
2023-03-14 21:03:07 -04:00
Lasse Dalegaard
ca6e5fe514 probe: Allow overriding horizontal_move_z on gcode
Signed-off-by: Lasse Dalegaard <dalegaard@gmail.com>
2023-03-14 21:01:40 -04:00
Derek Kaser
5a69d0f857 config: Add Anycubic Kobra Plus (#6084)
Signed-off-by: Derek Kaser <derek.kaser@gmail.com>
2023-03-14 20:58:42 -04:00
Koz Ross
e3485fc31b config: Add printer-elegoo-neptune3-pro configuration (#5965)
Adds a configuration for the Elegoo Neptune 3 Pro.

Signed-off-by: Koz Ross <koz.ross@retro-freedom.nz>
2023-03-14 20:56:45 -04:00
Brandon Baker
57c4da5ecf config: Example config file for Creality CR5 Pro HT (#6089)
Signed-off-by: Brandon Baker <bakerbrandond@gmail.com>
2023-03-11 11:30:35 -05:00
Alex Voinea
4b1536d62f tmc: Beautify initialization code
Purely esthetic. Make all tmc driver init code similar to one another. The various fields were grouped based on the register which they affect or the function they perform.

Signed-off-by: Alex Voinea <voinea.dragos.alexandru@gmail.com>
2023-03-07 10:57:01 -05:00
Alex Voinea
bee1c67416 tmc5160: allow changing the globalscaler at runtime
Previously, the globalscaler was calculated during the config parsing and set to a fixed value. If the current was changed for any reason after the initialization, only IRUN and IHOLD would be changed. This however caused issues:
- If the new current was lower, then the resolution of the possible current values would be low since there are only 32 IRUN/IHOLD steps.
- If the new current was higher, it wouldn't actually work since IRUN and IHOLD are capped at 31, so it wouldn't be possible to increase the current without increasing globalscaler.

With this commit, the globalscaler is recalculated whenever necessary in order to ensure the correct range of IRUN/IHOLD is used.

Signed-off-by: Alex Voinea <voinea.dragos.alexandru@gmail.com>
2023-03-07 10:55:44 -05:00
Alex Voinea
e6307ca9fe tmc: Fix s2vs field formatters
Rename the field formatter text for tmc2208/tmc2209 and implement it also for tmc5160.

Signed-off-by: Alex Voinea <voinea.dragos.alexandru@gmail.com>
2023-03-07 10:52:52 -05:00
BIGTREETECH
b2178f49ec stm32h7: Restore the RCC set in the bootloader to the default value (#6092)
Signed-off-by: Alan.Ma from BigTreeTech <tech@biqu3d.com>
2023-03-06 11:53:18 -05:00
Alex Voinea
6b75f54e50 tmc2240: initial implementation
Signed-off-by: Alex Voinea <voinea.dragos.alexandru@gmail.com>
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-03-01 20:43:53 -05:00
dahliamoth
e6ef48cdf7 config: Update printer-sunlu-t3-2022.cfg (#6040)
Fix filament sensor and remove unneeded config changes in extruder

The filament sensor on the printer used for initial testing had been removed prior to flashing klipper to it. Only a basic test to see it if triggered or not was preformed. It was discovered by someone else doing some testing on another printer that it would frequently pause. This was a simple oversight, assuming it was a runout switch.

Removed section of config related to filament runout switch and replaced with basic config for filament motion so they printer will simply pause when no more motion is detected. Also notated to add CLEAR_PAUSE to start gcode if using this sensor as it will trigger a paused state when loading or unloading filament. If printer is in a paused state at the start of the print, the attempt to pause will cause the printer to rapidly pause and unpause itself.

Removed min_extruder_temp and max_extrude_only_distance from the extruder section, as they were there only for macros on a test system that is not put into this sample config

Signed-off-by: Zachary Welvaert <zwelvaert@gmail.com>
2023-02-28 12:41:02 -05:00
Apulo
a5fb20765e config: Update and rename generic-th3d-ezboard-lite-v2.0.cfg to generic-th3d-… (#6070)
The actual board name is EZBoard V2 without the lite. Renaming the file and correcting the intro text to reflect the actual board name.

Signed-off-by: Anthony Dellett <anthony.dellett@gmail.com>
2023-02-23 11:46:21 -05:00
JamesH1978
761b350c80 scripts: Update flash-linux.sh to restart new systemd service (#6049)
This is an update to the script that looks for the new systemd service and restarts it if appropriate.

Signed-off-by: James Hartley <james@hartleyns.com>
2023-02-23 11:44:58 -05:00
Dmitry Butyugin
0a9a0eac3d scripts: Fixed potential undefined var error in graph_accelerometer.py
Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2023-02-23 11:40:00 -05:00
Dmitry Butyugin
14bf9f8ba8 scripts: Support multiple inputs in graph_accelerometer.py raw mode
Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2023-02-23 11:40:00 -05:00
Dmitry Butyugin
ea65670239 scripts: Support resonances files in graph_accelerometer.py
Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2023-02-23 11:40:00 -05:00
Kevin O'Connor
d881171739 mcu: Move lookup_command_tag() to CommandWrapper class
Use mcu.lookup_command().get_command_tag() instead of
mcu.lookup_command_tag().  This improves error reporting on a protocol
mismatch.  It also enables support for a msgtag that is negative.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-02-22 11:34:36 -05:00
Kevin O'Connor
69dcda1696 mcu: Code movement in mcu.py
This is code movement and comment updates only - no code changes.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-02-22 11:34:31 -05:00
Thijs Triemstra
0a645e4916 docs: use correct mpu9250 i2c_bus (#6064)
Signed-off-by: Thijs Triemstra <info@collab.nl>
2023-02-20 20:19:04 -05:00
Elias Bakken
b7978d37b3 ar100: Support for ar100 (#6054)
Add files to support AR100

Signed-off-by: Elias Bakken <elias@iagent.no>
2023-02-20 20:15:01 -05:00
H. Gregor Molter
d7bd7f1f4b stm32: Add sdio support
Adds sdio support for the stm32f4 to allow for SD card flash updates
without power cycling some boards, e.g. BTT Octopus Pro.

Signed-off-by: H. Gregor Molter <gregor.molter@secretlab.de>
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-02-20 19:55:25 -05:00
Thijs Triemstra
848a78d1a5 docs: Fix typos (#6032)
Signed-off-by: Thijs Triemstra <info@collab.nl>
2023-02-20 11:06:25 -05:00
spinixguy
aca0c71a2b config: Add printer sovol sv06 config file (#6056)
Signed-off-by: Joseph Spainhour <spinixguy@gmail.com>
2023-02-14 13:26:10 -05:00
JamesH1978
738ddaf362 scripts: update_chitu.py python env version (#6055)
Change script to use Python 3 instead of Python 2, in line with changes to update_mks_robin.py

Signed-off-by: James Hartley <james@hartleyns.com>
2023-02-13 12:28:50 -05:00
Pedro Lamas
4b5d056421 stepper_enable: report status
Signed-off-by: Pedro Lamas <pedrolamas@gmail.com>
2023-02-13 12:16:17 -05:00
Steven Gotthardt
72b6bd7efa hc32f460: Add support for hc32f460 micro-controllers
Signed-off-by: Steven Gotthardt <gotthardt@gmail.com>
2023-02-13 12:12:27 -05:00
Steven Gotthardt
94cbf5ff48 lib: Add hc32f460 definitions
Signed-off-by: Steven Gotthardt <gotthardt@gmail.com>
2023-02-13 12:12:27 -05:00
Jordan Woyak
1e7057e917 configfile: Make getlists return an empty list on empty string. (#6042)
Signed-off-by: Jordan Woyak <jordan.woyak@gmail.com>
2023-02-09 21:41:09 -05:00
Kevin O'Connor
df1137ef75 workflows: Convert to Ubuntu 20.04 for build test
This also updates to the latest version of pru-gcc.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-02-09 20:57:53 -05:00
Kevin O'Connor
5ffe5d6349 klippy-requirements: Update to greenlet v2.0.2
Improves compatibility with Python v3.11.  Reported by @flaviut.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-02-09 18:01:04 -05:00
Pedro Lamas
da8d4b0231 extruder: store currently sync'ed motion queue name
Signed-off-by: Pedro Lamas <pedrolamas@gmail.com>
2023-02-09 16:51:47 -05:00
JamesH1978
17f7c03921 scripts: update_mks_robin.py python env version (#6043)
The recent PR to change this to say `#!/usr/bin/env python` instead of `#!/usr/bin/env python2` can cause issues on non rpi based OS's where `python` is not mapped to `python3`.

`#!/usr/bin/env python3` should work in both situations.

Signed-off-by: James Hartley <james@hartleyns.com>
2023-02-09 11:44:30 -05:00
Bassam Husain
ae9169c4c3 docs: Fix 'screw_thread' explanation in 'screws_tilt_adjust' section. (#6039)
Signed-off-by: Bassam Husain <bassam.husain@gmail.com>
2023-02-09 11:30:41 -05:00
Bassam Husain
5644481590 docs: Fixed wording in 'Bed_Mesh.md', fade_target section. (#6025)
Signed-off-by: Bassam Husain <bassam.husain@gmail.com>
2023-02-03 18:52:55 -05:00
CODeRUS
791ad6162a extruder: Add extruder name to extruder_stepper respond message (#6020)
Signed-off-by: Andrei Kozhevnikov <coderusinbox@gmail.com>
2023-02-03 18:50:56 -05:00
Pedro Lamas
fa78e6b8fb screws_tilt_adjust: status result as dictionary
Signed-off-by: Pedro Lamas <pedrolamas@gmail.com>
2023-02-03 18:16:19 -05:00
Kevin O'Connor
d479366242 config: Avoid spaces between mcu name and pin name
Prefer "option: mcu:pin" instead of "option: mcu: pin".

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-02-03 15:50:17 -05:00
bigtreetech
f250bdfd8a config: Add BigTreeTech EBB V1.2 / EBB SB V1.0 / E3EZ / M5P / M8P V1.1 / Octopus Max EZ
Signed-off-by: Alan.Ma from BigTreeTech tech@biqu3d.com
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-02-03 15:20:20 -05:00
bigtreetech
1979c9d090 stm32: add PB12/PB13 FDCAN2 support STM32G0B1
Signed-off-by: Alan.Ma from BigTreeTech tech@biqu3d.com
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-02-03 15:12:09 -05:00
JamesH1978
13fd2833ce config: Add config for Kingroon KP3S (#6021)
A config that describes a Kingroon KP3S with the STM32F103 Robin Mini/Nano clone

Signed-off-by: James Hartley <james@hartleyns.com>
2023-02-03 10:47:58 -05:00
Artem
4cd5e9d222 config: Update printer-creality-ender2pro-2021.cfg (#6023)
Update pins for serial

Signed-off-by: Artem Kochegizov <metra52@ya.ru>
2023-02-02 11:17:49 -05:00
Eric Callahan
e3253cb79e docs: note change to bed_mesh profile behavior
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-02-01 11:07:16 -05:00
Eric Callahan
4df1adeb2e bed_mesh: do not load a profile on startup
Some users may not desire this behavior and others
may wish to initialize to a profile not named default.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-02-01 11:07:16 -05:00
Spookee
ead81fbf74 config: Example config file for Lulzbot Mini 2 (#5976)
Config file contains pin mappings to suit Lulzbot Mini 2 using Lulzbot SingleExtruder(0.5mm) and Lulzbot flexible magnetic bed.
Mini 2 uses Einsy Retro mainboard.

Signed-off-by: Trent Sheather <trent.sheather@gmail.com>
2023-01-30 21:47:05 -05:00
dahliamoth
6273d7e05d config: Added printer config for SUNLU T3 (#6004)
Signed-off-by: Zachary Welvaert <zwelvaert@gmail.com>
2023-01-30 10:46:51 -05:00
Evan Cowden
0407c24c78 config: Duet3-6HC & -6XD Configs (#6006)
Signed-off-by: Evan Cowden <evan38109@gmail.com>
2023-01-25 15:28:53 -05:00
Kevin O'Connor
6026a99ad8 replicape: Only call note_pwm_enable() in main thread
The pca9685_pwm set_pwm() code can be called from a background thread
(when the pin controls a heater).  Propagate updates to the main
thread for enable tracking.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-01-17 18:39:47 -05:00
Kevin O'Connor
1a693c18d6 stm32: Fix CAN2 handling in can.c
Using the CAN2 interface still requires that CAN1 be enabled, and the
filtering hardware is always on the CAN1 hardware block.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-01-17 18:32:37 -05:00
3D Print PT
3935f78543 scripts: Update update_mks_robin.py for Python3 (#5985)
Signed-off-by: Márcio Pereira <3dprintpt@gmail.com>
2023-01-17 18:31:31 -05:00
Kevin O'Connor
80943d3846 stm32: Increase sample time in stm32h7_adc.c
The existing sample times are not long enough to reliably sample the
internal temperature sensor.  Longer sample times should also improve
results with temperature sensors that have a higher inductance.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-01-17 18:22:21 -05:00
Kevin O'Connor
33f973e452 stm32: Don't set boost nor linear calibration on stm32h723 adc3
Only adc1 and adc2 have these CR register bits on stm32h723.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-01-17 18:22:21 -05:00
Kevin O'Connor
cefbad9ef4 stm32: Reduce read-modify-write of CR in stm32h7_adc.c init
Prefer explicitly setting the CR hardware register to defined values
during initialization.

Also, prefer "#if CONFIG_MACH_STM32H7" over bit definitions to make it
clear that the code applies only on stm32h7.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-01-17 18:22:21 -05:00
Kevin O'Connor
d372f913ef stm32: Don't use read-modify-write on ISR register in stm32h7_adc.c
Bits are cleared in the ISR register by writing 1, not by masking.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-01-17 18:22:21 -05:00
Kevin O'Connor
51526fd627 stm32: ADC timing rework and fixes in stm32h7_adc.c
The stm32l412 doesn't have a PLLSAI1 clock and therefore the CKMODE
should not be set to zero.

The stm32h7 chips run the adc at 25mhz, so BOOST should be set to
0b10.

Improve timing comments.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-01-17 18:22:21 -05:00
Kevin O'Connor
cef0b70c88 stm32: Move clock line mapping from stm32h7_adc.c to lookup_clock_line()
Use the common lookup_clock_line() code to lookup the adc clock lines.
This also enables resets on the adc1/adc2 hardware block.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-01-17 18:22:21 -05:00
Kevin O'Connor
1034f19134 stm32: Simplify setting of adc_common fields in stm32h7_adc.c
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-01-17 18:22:21 -05:00
Kevin O'Connor
0bf073ba08 stm32: Use a consistent bank size of 20 across all chips in stm32h7_adc.c
Add a pad entry to adc_pins[] on stm32l4 so that it matches the other
chips.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-01-17 18:22:21 -05:00
Kevin O'Connor
f571618376 stm32: Simplify setting of 12bit mode on stm32h7 in stm32h7_adc.c
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-01-17 18:22:21 -05:00
Kevin O'Connor
876c3ffffd stm32: No need to use hardware oversampling in stm32h7_adc.c
Not all chips implement hardware oversampling.  The software already
implements oversampling, and additional hardware oversampling is
unlikely to improve results.  Remove the hardware oversampling to
simplify the code.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-01-17 18:22:21 -05:00
Kevin O'Connor
efdc29f589 stm32: Simplify CFGR register setup in stm32h7_adc.c
On all chips, the JQDIS bit is set and the CONT, RES, ALIGN bits are
clear after a reset.  There is no need to program the OVRMOD bit.  Use
the same logic across chips to help unify the adc implementation.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-01-17 18:22:21 -05:00
Kevin O'Connor
9b7dcfa333 stm32: No need for LDORDY check in stm32h7_adc.c
Not all chips have the LDORDY flag, while all chips will stabilize in
10us.  There is no need for two different implementations as it is
safe to wait 20us on all chips.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-01-17 18:22:21 -05:00
Stefan Dej
e631840ad6 scripts: add systemd klipper-mcu.service example
Signed-off-by: Stefan Dej <meteyou@gmail.com>
2023-01-17 18:17:25 -05:00
Stefan Dej
deed7f829a docs: update RPi_microcontroller.md to systemd
Signed-off-by: Stefan Dej <meteyou@gmail.com>
2023-01-17 18:17:25 -05:00
Stefan Dej
cf25c3907c scripts: remove initd klipper-mcu-start.sh
Signed-off-by: Stefan Dej <meteyou@gmail.com>
2023-01-17 18:17:25 -05:00
Stefan Dej
5502be01f7 linux: add -I attribute for user defined socket paths
Signed-off-by: Stefan Dej <meteyou@gmail.com>
2023-01-17 18:17:25 -05:00
Kevin O'Connor
86acee6e8b z_tilt: Improve python3 compatibility
Sort using comparison on only first item in list to avoid greater/less
than comparison of stepper objects (which causes an error on Python3).

Reported by discourse user salbang.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-01-17 18:11:57 -05:00
Kevin O'Connor
4671cf2d0e docs: Improve SET_PIN documentation in G-Codes.md
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-01-13 11:25:06 -05:00
Kevin O'Connor
bca2671efb toolhead: Flush in chunks from flush_step_generation()
If note_kinematic_activity() has a time far in the future it could
result in a single flush attempt of that time range.  Be sure to break
up that range into small chunks using the normal _update_move_time()
mechanism.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-01-08 10:40:52 -05:00
Kevin O'Connor
52b33c1b81 toolhead: Rename last_kin_flush_time to force_flush_time
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-01-08 10:40:52 -05:00
Kevin O'Connor
bd2a849566 toolhead: Fix note_kinematic_activity()
It was possible a note_kinematic_activity() call could increase
last_kin_move_time, but _process_moves() could reset it.  Fix by
making sure _process_moves() only ever increases last_kin_move_time.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-01-08 10:40:52 -05:00
Kevin O'Connor
f1203d56f6 chelper: Minor declaration movement in __init__.py
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-01-07 23:17:37 -05:00
Kevin O'Connor
4ea11dbb4f trapq: Minor code movement in trapq.c
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-01-07 14:13:00 -05:00
Kevin O'Connor
01f90e8f28 console: No need to import pins module
The pins module is no longer used in console.py.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-01-07 12:00:16 -05:00
Kevin O'Connor
4395ae96a7 serialhdl: Add a get_serialqueue() method
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-01-06 11:59:35 -05:00
Kevin O'Connor
a564824009 serialqueue: Add comment to do_write()
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-01-05 03:09:43 -05:00
Kevin O'Connor
cbc17a7cb6 docs: Note v0.11.0 release in Config_Changes.md
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-01-04 12:04:45 -05:00
JamesH1978
3cd8a72e60 spi_flash: Add SKR2 F429 chip variant to spi_flash (#5956)
Later addition of a F429 variant SKR2 was released. Changed btt-skr2 to btt-skr-2-f407 and added a new alias for btt-skr-2-f429

Signed-off-by: James Hartley <james@hartleyns.com>
2023-01-04 12:01:28 -05:00
Kevin O'Connor
448c1a1488 stm32: Reindent ifdefs in stm32f0_i2c.c
A whitespace and comment change only - no functional changes.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-01-03 12:52:35 -05:00
Alex Voinea
9c2ccceb9f stm32: Expand stm32g0 family (#5838)
Add stm32g07x family support.

Signed-off-by: Alex Voinea <voinea.dragos.alexandru@gmail.com>
2023-01-03 12:43:46 -05:00
Stas Yakobov
b337cc3ee8 config: Added precise location of [bed_screws] for Ender-3-s1 (#5944)
Signed-off-by: Stas Yakobov <stas@3os.org>
2023-01-02 15:22:46 -05:00
Clifford Roche
40d8c2ef16 palette2: Fix errors with bad handling of NoneType in a few locations
Issue specific to Python 3, NoneType is being used to compare heartbeat time (actually caused by invalid condition operator), and by returning NoneType in timer functions.

Signed-off-by: Clifford Roche <clifford.roche@gmail.com>
2022-12-31 21:03:37 -05:00
JamesH1978
6ae6aaf711 board_defs: Add Fysetc Cheetah V2 to spi_flash (#5952)
As discussed with user HiitsameAsh on discord, he has confirmed this addition will flash a Fysetc Cheetah V2

Signed-off-by: James Hartley <james@hartleyns.com>
2022-12-31 18:26:30 -05:00
CODeRUS
f57ff2c07e docs: Fix typo in mpu9250 documentation
Adding MPU-6515, replacing MPU-9255 duplicate

Signed-off-by: Andrei Kozhevnikov <coderusinbox@gmail.com>
2022-12-30 22:28:59 -05:00
janherich
29ba5ab05a delta: Better delta build volume constraint check
Existing code uses very restrictive build volume constraint checking
with just narrow cone on top of fully cylinder for delta printers.

Code here implements more permissive and still safe build volume
constraint checks.

Signed-off-by: Jan Herich <jan.herich@gmail.com>
2022-12-30 21:39:32 -05:00
Kevin O'Connor
1ff0a5494a stm32: Check for CONFIG_HAVE_BOOTLOADER_REQUEST in dfu_reboot.c
Support disabling dfu_reboot if HAVE_BOOTLOADER_REQUEST is disabled in
the Kconfig rules.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-12-30 21:28:32 -05:00
Kevin O'Connor
b51b068442 avr: No need to define bootloader_request()
Since avr does not define HAVE_BOOTLOADER_REQUEST it is not necessary
to define the function.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-12-30 21:28:32 -05:00
Kevin O'Connor
c620f4836e canserial: Only call bootloader_request() if CONFIG_HAVE_BOOTLOADER_REQUEST
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-12-30 21:28:32 -05:00
Kevin O'Connor
34fd3f41ea usb_cdc: Only call bootloader_request() if CONFIG_HAVE_BOOTLOADER_REQUEST
Check for the build symbol prior to calling bootloader_request().
Enable the build symbol on rp2040, atsam, and atsamd chips.

This also enables serial bootloader requsts on rp2040, atsam, and
atsamd.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-12-30 21:28:32 -05:00
Kevin O'Connor
806cf233ec stm32: Include "misc.h" in stm32l4.c and stm32g4.c
Include for bootloader_request() definition.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-12-30 21:28:32 -05:00
Kevin O'Connor
4ca1e5f670 serial_irq: Rename SERIAL_BOOTLOADER_SIDECHANNEL to HAVE_BOOTLOADER_REQUEST
Rename the build symbol.  This is in preparation for enabling
HAVE_BOOTLOADER_REQUEST on usb and canbus.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-12-30 21:28:32 -05:00
Kevin O'Connor
4753315601 Kconfig: No need to specify "default n" in main Kconfig file
A "bool" option already defaults to "n" so no need to state that
explicitly.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-12-30 21:28:32 -05:00
Alex Voinea
9b60daf62d tmc: Configurable microstep lookup table (#5920)
Make all the microstep lookup table registers configurable via the
config file. It also loads the default values.
TMC220x and TMC2660 do not support this feature.

Signed-off-by: Alex Voinea <voinea.dragos.alexandru@gmail.com>
2022-12-21 21:23:23 -05:00
Chris Lee
aac613bf44 scripts: support CanBoot on RP2040 in flash_usb.py
Signed-off-by: Chris Lee <clee@mg8.org>
2022-12-19 15:42:53 -05:00
janherich
f078a27905 manual_probe: Add Z_OFFSET_APPLY_ENDSTOP for delta
Current Z_OFFSET_APPLY_ENDSTOP command only works for printers
with cartesian architecture which have separate Z axis defined.
But this functionality (persisting Z babystep value to endstops)
is exactly as convinient for delta printers, therefore this
PR implements it.

Signed-off-by: Jan Herich <jan.herich@gmail.com>
2022-12-19 13:14:06 -05:00
Keyan Mobli
8621ebbed2 bed_mesh: Allow bedmeshing at 1mm spaced intervals (#5918)
Signed-off-by: Keyan Mobli <keyan@kmobli.com>
2022-12-19 11:14:45 -05:00
Kevin O'Connor
4af8786587 stm32: Move dfu reboot logic to new dfu_reboot.c file
Move the stm32 DFU reboot logic to a new dfu_reboot.c file.  This
simplifies the per-chip code.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-12-18 19:50:08 -05:00
Kevin O'Connor
b6cd77f6e3 stm32: Separate out USB DFU reboot logic in stm32l4.c
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-12-18 19:50:08 -05:00
Kevin O'Connor
be74c72555 stm32: Separate out USB DFU reboot logic in stm32g4.c
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-12-18 19:50:08 -05:00
theophile
2a25733cd8 screws_tilt_adjust: Add get_status() method (#5921)
Signed-off-by: Christopher Meredith <chmeredith@gmail.com>
2022-12-17 11:39:25 -05:00
Kevin O'Connor
3c1ed3bb27 initial_pins: Add check to reduce compile time size when not in use
Add a check to the start of initial_pins_setup() to make it easier for
gcc to optimize the code if it is not in use.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-12-16 22:46:47 -05:00
Kevin O'Connor
0c43ae1fd4 stm32: Just clean dcache instead of disabling on stm32h7 dfu reboot
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-12-16 17:29:45 -05:00
Kevin O'Connor
02b45c91fb armcm_reset: Flush dcache before rebooting into canboot
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-12-16 17:26:41 -05:00
Kevin O'Connor
b0d9cbfb4b stm32: Fix usb build on stm32g0b0
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-12-15 18:43:25 -05:00
Kevin O'Connor
7d1df81e5e stm32: Fix USB support on stm32g0b1
A typo in commit e33b41ab broke USB selection on stm32g0b1.

Reported by @Pmant.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-12-15 11:44:12 -05:00
Kevin O'Connor
41c7bb818f test: Add compile test builds for stm32g431, stm32h723, stm32l412
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-12-15 11:27:28 -05:00
Kevin O'Connor
ac090d9d52 stm32: Fix stm32l4 build
Commit c5d56f44 neglected to define ADCIN_BANK_SIZE in stm32h7_adc.c
on stm32l4.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-12-15 11:27:19 -05:00
Kevin O'Connor
f31540b357 stm32: Minor changes to stm32g0b0 ifdefs
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-12-15 10:27:51 -05:00
Alex Voinea
e33b41abaa stm32g0: add stm32g0b0 support
Signed-off-by: Alex Voinea <voinea.dragos.alexandru@gmail.com>
2022-12-15 10:05:43 -05:00
Kevin O'Connor
9d668d63a7 stm32: Rework usb_reboot_for_dfu_bootloader() so it works on stm32h723
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-12-15 09:52:21 -05:00
Kevin O'Connor
f6199ef613 config: Update generic-bigtreetech-octopus.cfg for f429 and h723 chips
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-12-15 09:50:01 -05:00
Kevin O'Connor
fe0fc29616 rp2040: Move watchdog code to new watchdog.c file
Move the watchdog code to its own file so that it is easier to disable
it for development builds.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-12-14 19:21:25 -05:00
Kevin O'Connor
9b342c65c8 armcm_link: Rename CONFIG_FLASH_START to CONFIG_FLASH_APPLICATION_ADDRESS
Rename the build symbol name for better clarity on what it represents.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-12-14 18:44:07 -05:00
Kevin O'Connor
dc94a35752 lpc176x: Fix lpc176x build
Fix build error introduced in commit 6ba2c3e1.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-12-14 14:50:31 -05:00
Kevin O'Connor
d40ebdab06 canbus: Rename canserial_send() to canbus_send()
Rename canserial_send() to canbus_send() and canserial_set_filter() to
canbus_set_filter().  This makes it more clear where the code should
reside.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-12-14 14:25:21 -05:00
Kevin O'Connor
52a6bed24e canbus: Rename canbus_send() to canhw_send()
Rename canbus_send() to canhw_send() and rename canbus_set_filter() to
canhw_set_filter().  This makes it more clear where the code should
reside.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-12-14 14:15:14 -05:00
Kevin O'Connor
e16a693b1e rp2040: Fix copy-paste error in Kconfig comment
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-12-14 13:34:15 -05:00
Kevin O'Connor
6ba2c3e1d1 lpc176x: Use "Bootloader offset" prompt in "make menuconfig"
Use the same bootloader offset terminology that is used with other
chips (eg, stm32).

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-12-14 13:29:39 -05:00
maze
347dfa58ea gcode_arcs: Allow either one of I, J, K to be default-zero on G2/G3 (#5939)
Signed-off-by: Wijnand Modderman-Lenstra <maze@pyth0n.org>
2022-12-14 12:06:11 -05:00
Kevin O'Connor
69f76b3b66 stm32: Apply race fixes to stm32h7_adc.c
Improve handling of race conditions with hardware updates.  This is
the same changes applied to stm32f0_adc.c in commit 88325b6c.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-12-12 23:46:49 -05:00
Justin Schuh
201f715b55 save_variables: Verify filename path is writeable at startup
Signed-off-by: Justin Schuh <code@justinschuh.com>
2022-12-11 21:07:47 -05:00
Kevin O'Connor
ba365aff96 gcode_arcs: No need to import gcode module to access Coord()
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-12-11 20:59:02 -05:00
Andrew Mirsky
0c5c87d7c0 gcode_arcs: support XY, XZ and YZ planes
add G17, G18 and G19 commands to select arc planes
enhance G2/G3 to support arc moves in XY, XZ and YZ planes

Signed-off-by: Andrew Mirsky <andrew@mirsky.net>
2022-12-11 20:55:59 -05:00
Alex Voinea
c7f323e863 stm32g0: Do not disable SWD by accident
Keep SWEN as 1 in FLASH->ACR register such
that the SWD interface doesn't get disabled.

Signed-off-by: Alex Voinea <voinea.dragos.alexandru@gmail.com>
2022-12-11 20:09:50 -05:00
Alex Voinea
0972561783 stm32g4: Do not disable SWD by accident
Keep SWEN as 1 in FLASH->ACR register such
that the SWD interface doesn't get disabled.

Signed-off-by: Alex Voinea <voinea.dragos.alexandru@gmail.com>
2022-12-11 20:09:50 -05:00
BIGTREETECH
516fdae2b7 linux: add 'GPIOI' for linux process (#5926)
Signed-off-by: Alan.Ma from BigTreeTech tech@biqu3d.com
2022-12-11 20:07:58 -05:00
Frank Roth
03006f5ca3 config: printer-artillery-sidewinder-x2-2022.cfg
Minor fix. The screw labels "back left" and "back right"
where swapped in [screws_tilt_adjust] section.

Signed-off-by: Frank Roth <developer@freakydu.de>
2022-12-11 19:53:42 -05:00
Kevin O'Connor
336cc92a0a parsedump: Support running on both python2 and python3
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-12-07 14:31:03 -05:00
bigtreetech
a42f615881 stm32: add STM32H723 support
Signed-off-by: Chen.BJ from BigTreeTech chenbj@biqu3d.com
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-12-02 13:55:23 -05:00
bigtreetech
50b2e2e67e lib: update lib/stm32h7 to v1.9.0 for stm32h723
Signed-off-by: Chen.BJ from BigTreeTech chenbj@biqu3d.com
2022-12-02 13:26:02 -05:00
Matt Baker
c5d56f4438 stm32g4: implement build,usb,can,i2c,spi,serial,adc.
Signed-off-by: Matt Baker <baker.matt.j@gmail.com>
2022-12-02 11:31:42 -05:00
Matt Baker
9ab367d813 stm32g4: add lib from stm32cubeg4 v1.4.0
Signed-off-by: Matt Baker <baker.matt.j@gmail.com>
2022-12-02 11:31:42 -05:00
Neko-vecter
a1de69e39b corexz: Multiple steppers per axis on CoreXZ
Allowing multiple steppers per axis.

Signed-off-by: Vecter Fang <vecterfang@icloud.com>
2022-12-02 11:25:55 -05:00
Kevin O'Connor
e02b725602 docs: Note the release of v0.11.0
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-11-28 21:27:09 -05:00
Kevin O'Connor
817339a4ef docs: Add a note about hardware independence to Features.md
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-11-28 21:14:11 -05:00
Kevin O'Connor
a9495d8e4f docs: Updates to Features.md
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-11-28 20:59:31 -05:00
Kevin O'Connor
1b56a63abf lib: Update to latest can2040 code
Clear PIO irq flags in pio_sm_setup()
Set TXPENDING during pio_sm_setup()

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-11-23 11:59:24 -05:00
Kevin O'Connor
9727f00e50 docs: Minor update to safe_z_home change description in Config_Changes.md
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-11-22 18:57:15 -05:00
redstone99
14eec15267 safe_z_home: Fix final z hop to use relative z coordinates (#5879)
After a G28 z-axis homing, there is a final z hop.
It was hoping to height z_hop as an absolute z height rather than relative.

If the z-axis home leaves the head at a z height higher than z_hop,
e.g. because you were using a probe to do z homing,
this meant that it was z hopping in the negative z direction, which
could result in crashing the toolhead.

Signed-off-by: Joshua Redstone <redstone@gmail.com>
2022-11-22 18:55:43 -05:00
Kevin O'Connor
c51f169c06 lib: Update to latest can2040 code
Fix PIO "sync" register overflow check
Reduce latency of tx scheduling
Clear ackdone irq from report_note_eof_success()
Defer ack inject until after rx fifo drained
Improve passive/dominant bit conflict check on tx reschedule

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-11-21 09:36:30 -05:00
Kevin O'Connor
cfb633a0ec lib: Update to latest can2040 code
Minor comment change to unstuf_pull_bits()
Introduce unstuf_get_raw() helper function
Move crc stuffed bit calculation to data_state_go_crc()
Restore stuffed_bits state on missing ack
Use a single pio_irq_set() function
Reschedule tx if previous tx unexpectedly finished transmit
Simplify report_state handling

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-11-19 10:31:08 -05:00
Kevin O'Connor
8977c4e764 rp2040: Fix watchdog enable
The rp2040 watchdog does not actually reset anything by default.  The
psm_hw->wdsel field must be programmed to actually get a reset on a
watchdog failure.  Program that field so the watchdog is usable.

Also, disable the watchdog before attempting a reboot into the
bootloader.  Otherwise the machine may just reboot a second time due
to a missed watchdog event in the bootloader.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-11-19 10:13:50 -05:00
Kevin O'Connor
b9a378c1ca rp2040: Fix boundary check for max gpio pin
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-11-19 10:13:50 -05:00
Yifei Ding
d17ef95a3c mpu9250: add MPU6500 (#5767)
Signed-off-by: Yifei Ding <yifeiding@protonmail.com>
2022-11-19 09:58:24 -05:00
Kevin O'Connor
8a06528747 .github: Minor update to github issue chooser
Clarify that the Contact.md contains "Contact Directions".

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-11-15 16:54:19 -05:00
Kevin O'Connor
5339d138e6 .github: Remove custom issue template
Remove the custom.md github issue template so that github only shows
the choices listed in the config.yml file.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-11-15 16:54:19 -05:00
Kevin O'Connor
d2a1dcbbf3 docs: Update Contacts.md with improved github issue tracker description
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-11-15 16:54:19 -05:00
Bradley Methorst
3fb984e152 config: Create printer-anet-a8-2019.cfg (#5902)
Added config for Anet A8 2019 (Plus model)

Signed-off-by: Bradley Methorst <bradley-methorst@outlook.com>
2022-11-15 13:56:14 -05:00
Kevin O'Connor
d883c57d77 config: Rename printer-geeetech-301.cfg to printer-geeetech-301-2019.cfg
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-11-14 11:30:27 -05:00
Eric Callahan
5e34b45063 bed_mesh: disallow null profile names
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2022-11-11 14:27:47 -05:00
Kevin O'Connor
6be0ba78ae config: Remove filament specific settings from printer-geeetech-301.cfg
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-11-11 14:12:20 -05:00
Peter Gruber
0233dd32cc config: create config for Geeetech 301 (#5830)
Create a working config for the Geeetech 301 printer.

Signed-off-by: Peter Gruber <gruberp@googlemail.com>
2022-11-11 14:08:19 -05:00
Eric Callahan
5b1a667659 linux: use correct gpio bias flags (#5878)
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2022-11-08 09:56:52 -05:00
Kevin O'Connor
6485ff800b rp2040: Support CanBoot as bootloader
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-11-08 09:53:04 -05:00
Kevin O'Connor
42e9adcfc9 armcm_reset: Introduce Kconfig FLASH_BOOT_ADDRESS value
Specify the arm architecture flash bootup address for each chip type
in Kconfig using a new FLASH_BOOT_ADDRESS setting.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-11-08 09:53:04 -05:00
Kevin O'Connor
11dd273b34 fdcan: Remove spurious executable flag on fdcan.c
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-11-04 11:15:32 -04:00
Grigi
342d3f1414 menu: Conditional display of common Control utils
This will hide features in the Klipper Display menu that isn't applicable
for the machine, therefore we can add extra alignment tools in the Control
menu as well.

Also conditionally displays Setup/Calibration options.

Signed-off-by: Nickolas Grigoriadis <nagrigoriadis@gmail.com>
2022-11-03 16:05:24 -04:00
Kevin O'Connor
762e2c49c7 stm32: Use consistent memory position/size on stm32h743
Use the same memory start address and size on both stm32h750 and
stm32h743.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-11-02 15:35:50 -04:00
Kevin O'Connor
972ae4ab7c stm32: Use stm32f0_serial.c on stm32h7 chips
The stm32h7 uses similar usart hardware as the stm32f0 and stm32g0
chips.  Use the same code implementation for all these chips.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-10-31 15:12:30 -04:00
Alex Voinea
26e6ade175 stm32: fix USART ORE status flag handling
If an USART RX overrun happened on a stm32g0/f0/h7, the ORE flag
would get set by hardware. This flag would also trigger an interrupt.
The problem was that this flag was never cleared on these 3 mcu families
since the ORE flag clear sequence is different to all of the older
chips.
Since the ORE flag is not used in any meaningful way anyway, it was
disabled during the init sequence.

Signed-off-by: Alex Voinea <voinea.dragos.alexandru@gmail.com>
2022-10-31 13:50:15 -04:00
Dmitry Butyugin
96ea871b35 adxl345: Apply correct scaling for X,Y and Z axes
According to ADXL345/ADXL343 datasheets, at 3.3V supply voltage,
which is most frequent in the various boards, the sensitivity of
X and Y axes changes to 265 LSB/g from 256 LSB/g at 2.5V.

Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2022-10-25 14:41:00 -04:00
Kevin O'Connor
d46c95b758 docs: Add a note about fixing underlying bugs in CONTRIBUTING.md
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-10-25 11:53:55 -04:00
freakyDude
ebc3b0def3 config: Add Artillery Sidewinder X2 2022 stock printer.cfg (#5810)
Works for unmodified stock Artillery Sidewinder X2, 
year 2022 with Artillery Ruby v1.2 mainboard. 
All by default connected things are working fine.

Build firmware with architecture STM32F401 with "No bootloader". 
Other settings keep ther defaults

Signed-off-by: Frank Roth <developer@freakydu.de>
2022-10-21 21:03:57 -04:00
D4SK
a65e04aff7 docs: Add step rate benchmark for stm32h7
Signed-off-by: Konstantin Vogel <konstantin.vogel@gmx.net>
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-10-21 20:33:28 -04:00
D4SK
00191b5cc4 stm32: Enable instruction and data cache on stm32h7
Signed-off-by: Konstantin Vogel <konstantin.vogel@gmx.net>
2022-10-21 20:29:12 -04:00
Dmitry Butyugin
0d9b2cc1fa toolhead: Capture current junction_deviation in a Move class
If a maximum acceleration is changed between two consecutive moves,
this allows to correctly compute the junction velocity between them.

Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2022-10-17 11:08:56 -04:00
Kevin O'Connor
e4c8a24711 stm32: Remove incorrect "spi3" definition from stm32h7
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-10-17 11:01:05 -04:00
JamesH1978
638303b396 spi_flash: Update to fix SKR-3 config (#5827)
it seems I made an error with my code for the SKR 3, and I copied the code from the wrong host , this PR fixes that. I have just retested with the right code and works as expected, this is confirmed by @adelyser who brought the issue to my attention.

Signed-off-by: James Hartley <james@hartleyns.com>
2022-10-13 19:35:07 -04:00
Kevin O'Connor
2bffa925c8 workflows: Lock comments on old PRs (no activity in a year)
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-10-13 17:27:03 -04:00
Kevin O'Connor
6cc104677e lib: Update to latest can2040 code
Fix gpio function selection for PIO1 usage.
Minor variable name changes.
Allow scheduling tx "matched" event after a crc match.
Allow for up to 5 passive bits after unstuf_clear_state().
Pause PIO "rx" bit reception after 10 passive bits.
Signal the CPU to process data every 10 read bits.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-10-13 17:11:57 -04:00
Kevin O'Connor
eb9cda91b5 config: Update duet3 mini config to recommend compiling for SAME54P20
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-10-13 11:32:43 -04:00
Kevin O'Connor
4b77f29c1b atsamd: Add support CANbus on ATSAME5x chips
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-10-13 11:28:27 -04:00
Kevin O'Connor
0a9becc391 atsamd: Move bootloader_request() from usbserial.c to main.c
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-10-13 11:27:14 -04:00
Kevin O'Connor
bdf79caac4 atsamd: Add Kconfig definitions for same51j19 and same54p20 chips
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-10-13 11:27:14 -04:00
Kevin O'Connor
69bd26b757 lib: Add atmel same51 and same54 build definitions
This also replaces the samd51 component files with the definitions
from the same54 repository.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-10-13 11:27:14 -04:00
Kevin O'Connor
960fd0b1f3 lib: Remove unused gcc/ directories from samd21 and samd51 directories
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-10-13 11:27:14 -04:00
Kevin O'Connor
2c6671d8e1 stm32: Protect message ram with barrier() calls instead of voltaile in fdcan.c
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-10-13 11:21:37 -04:00
Kevin O'Connor
ef98cd9aba stm32: No need for fdcan_ram global pointer in fdcan.c
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-10-13 11:21:37 -04:00
Kevin O'Connor
465aaf383f stm32: Minor code movement in fdcan.c
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-10-13 11:21:37 -04:00
Kevin O'Connor
2d4ce1b9b1 test: Add btt manta config files to printers.test
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-10-13 11:16:59 -04:00
BIGTREETECH
c51e87c11c config: Add BigTreeTech Manta M4P & M8P board (#5812)
Signed-off-by: Alan.Ma from BigTreeTech <tech@biqu3d.com>
2022-10-13 11:08:44 -04:00
Apulo
7290c14531 config: Update generic-th3d-ezboard-lite-v2.0.cfg (#5785)
Corrected the build instructions for the TH3D EZBoard V2 to include the command to convert Klipper.elf to a SREC bin format named firmware.bin. The SREC format is required for the bootloader installed on the board.

Signed-off-by: Anthony Dellett <anthony.dellett@gmail.com>
2022-10-06 11:16:13 -04:00
JamesH1978
5fad485b13 spi_flash: Add SKR2, SKR3 and Creality 4.2.2/7 to spi_flash (#5807)
As discussed with Arksine, he has created new working settings for the Creality 4.2.x boards as the original 4.2.7 entry did not work, plus addition of SKR2 and SKR3. Tested on 4.2.2 and SKR2 and SKR3EZ.

These are using the new skip_verify functionality that was recently merged due to them using SDIO

Also removed a double definition for `monster8` it was in main definitions and aliased.

Signed-off-by: James Hartley <james@hartleyns.com>
2022-10-05 15:05:58 -04:00
Stefan Dej
b0ffb269d2 print_stats: add SET_PRINT_STATS_INFO G-Code for pass slicer variables to Klipper (#5726)
This adds a gcode command that can be used insight the slicer to pass the total layer count and current layer information.

Signed-off-by: Stefan Dej <meteyou@gmail.com>
2022-10-05 15:02:28 -04:00
alchemyEngine
a2482d4f95 z_thermal_adjust: get_temp hotfix
M105 expects get_temp method. Module crashes when gcode_id parameter
is set and M105 called. Add methods as hotfix.

Signed-off-by: Robert Pazdzior <robertp@norbital.com>
2022-09-30 11:19:01 -04:00
Kevin O'Connor
6288da13ac rp2040: Suppress spurious gcc v12 array bounds warning
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-09-29 11:03:22 -04:00
alchemyEngine
34870d3e2a z_thermal_adjust: Add Z thermal adjuster module (#4157)
Use a frame-coupled temperature probe to compensate for thermal
expansion in real-time.

Signed-off by: Robert Pazdzior <robertp@norbital.com>
2022-09-25 12:39:14 -04:00
Kevin O'Connor
51da02b7f8 thermocouple: Only shutdown on multiple consecutive sensor errors
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-09-23 11:56:20 -04:00
Kevin O'Connor
ec5719585e spi_temperature: Separate out fault handling from temperature calculation
Introduce a new handle_fault() method to handle processing of sensor
faults.  This simplifies the calc_temp() methods.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-09-23 11:56:18 -04:00
Kevin O'Connor
4e930294b8 thermocouple: Report fault information in fault field
Send the fault information explicitly in the query_thermocouple fault
field for max6675, max31855, and max31865.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-09-23 11:55:43 -04:00
Kevin O'Connor
ddb59440a8 logextract: Improve detection of clock and tmc uart parameters
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-09-20 11:08:54 -04:00
Fisheiyy
7527e57e5a config: Add Ender 3 S1 Plus (#5705)
Signed-off-by: Rob Casper <myallneedsemail@gmail.com>
2022-09-16 12:06:49 -04:00
Matt Baker
d9c917b950 stm32l4: add stm32l412 support with adc,i2c,spi,usb
Signed-off-by: Matt Baker <baker.matt.j@gmail.com>
2022-09-15 11:51:26 -04:00
Matt Baker
57b0eb5d43 stm32l4: copy libs from STM32CubeL4 v1.17.0
Signed-off-by: Matt Baker <baker.matt.j@gmail.com>
2022-09-15 11:51:26 -04:00
Kevin O'Connor
8cdb2278d7 docs: Add an example corexy homing macro to TMC_Drivers.md
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-09-14 17:49:25 -04:00
Kevin O'Connor
79be427757 docs: Reword sensorless homing high sensitivity test in TMC_Drivers.md
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-09-14 17:13:48 -04:00
Fisheiyy
ee5bdbadd1 config: Fix Ender 3 S1 Config (#5771)
Signed-off-by: Rob Casper <myallneedsemail@gmail.com>
2022-09-11 22:16:24 -04:00
JackyHe398
721c764746 Update printer-anycubic-vyper-2021.cfg (#5692)
* Update printer-anycubic-vyper-2021.cfg

better pause and end print, beeper support, mroe accurate value.

* Update printer-anycubic-vyper-2021.cfg

* Update printer-anycubic-vyper-2021.cfg

* Update printer-anycubic-vyper-2021.cfg

* Update printer-anycubic-vyper-2021.cfg

delete unnecessary gcode

* Update printer-anycubic-vyper-2021.cfg

remove unneccessary part.

* Update printer-anycubic-vyper-2021.cfg

* Update printer-anycubic-vyper-2021.cfg

according to https://www.klipper3d.org/Example_Configs.html point 7f
delete field values that are set to their default value

* Update printer-anycubic-vyper-2021.cfg

small change

* Update printer-anycubic-vyper-2021.cfg
2022-09-11 22:12:06 -04:00
Donna Whisnant
a530bf2421 docs: Add SDIO programming and split verification details to SDCard_Updates
Signed-off-by: Donna Whisnant <dewhisna@dewtronics.com>
2022-09-11 21:57:28 -04:00
Donna Whisnant
773f9ac56c scripts: Support BigTreeTech Octopus boards in flash-sdcard.
Signed-off-by: Donna Whisnant <dewhisna@dewtronics.com>
2022-09-11 21:57:28 -04:00
Donna Whisnant
a0457f79e4 scripts: Support SDIO in flash-sdcard using split verification step
Signed-off-by: Donna Whisnant <dewhisna@dewtronics.com>
2022-09-11 21:57:28 -04:00
Pedro Lamas
f4440267e6 virtual_sdcard: read new lines as-is
Signed-off-by: Pedro Lamas <pedrolamas@gmail.com>
2022-09-11 21:43:43 -04:00
Matt Baker
30d25834c5 samd21: fix erroneous register bit reference.
Signed-off-by: Matt Baker <baker.matt.j@gmail.com>
2022-09-11 21:27:10 -04:00
Kevin O'Connor
989d0f8097 stm32: Fix i2c on stm32g0
Fix the gpio function.  Also, add buses found only on stm32g0.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-09-11 21:18:32 -04:00
Kevin O'Connor
97a5b39aab stm32: Add a gpio_valid() helper function
Add a function to validate that a gpio pin is valid on the chip.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-09-05 17:57:51 -04:00
Kevin O'Connor
84ec2813ab serial_irq: Support side channel for entering bootloader
Add a mechanism to request the bootloader when using serial input.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-09-05 14:27:25 -04:00
Kevin O'Connor
ba38897a35 lpc176x: Move bootloader_request() from usbserial.c to main.c
Move bootloader_request() function so that it can be used when not
using USB.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-09-05 14:27:25 -04:00
Kevin O'Connor
f6a166cb67 tmc: Improve error on missing stepper section
If a tmc driver can't find the stepper config section it reports a
"missing microsteps" error which can be confusing.  Provide a more
explicit error message.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-09-05 13:55:19 -04:00
Kevin O'Connor
35e2472bbc motan: Improve reading of initial step position data
Seed the initial position from the first read position, even if it is
some time into the capture.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-09-05 11:22:40 -04:00
dalegaard
9f8f3cd77d fan: add enable_pin option (#5732)
Signed-off-by: Lasse Dalegaard <dalegaard@gmail.com>
2022-09-03 12:23:55 -04:00
JamesH1978
6ba0242900 config: Fix uart_address on BTT SKR CR6 (#5741)
As found on discord bt user David Carey.

uart_address for y and z are swapped. Discovered while setting up sensorless homing.

Signed off by: James Hartley <james@hartleyns.com>
2022-09-03 12:19:50 -04:00
jake-b
ae6c16422f mcp4018: Add SET_DIGIPOT command to mcp4018 implementation (#5737)
Added a SET_DIGIPOT command to the mcp4018 implementation.
Previously the mcp4018 was read only, and set at the time of
configuration.  This allows you to change the value during a
print, which is needed for some older printers that need to
lower the stepper current during preheating.

Signed-off-by: Jake Bordens <jake@allaboutjake.com>
2022-09-02 10:30:06 -04:00
Tircown
354915d2ad kinematics: Add deltesian printers (#5743)
Initial push of the working deltesian kinematics after some successful tests.

Signed-off-by: Fabrice GALLET <tircown@gmail.com>
2022-09-01 15:56:31 -04:00
Matt Baker
ec4ecd7a70 stm32f0: implement i2c_read endpoint
Signed-off-by: Matt Baker <baker.matt.j@gmail.com>
2022-09-01 15:03:06 -04:00
Dmitry Butyugin
5d9ff75d02 extruder_stepper: Support configuring pressure advance from config
Also added status report for extruder_stepper objects with the
current pressure advance parameters values.

Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2022-09-01 14:53:12 -04:00
Eric Callahan
2e1b649617 dump_mcu: helper for mcu flash backups
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2022-09-01 13:51:00 -04:00
Ben Jackson
b220b8bfaf stm32: Add Hardware PWM support for STM32G0 processors (#5714)
Uses existing common code for STM32. Adds a table for device-
specific PWM mappings. Adds support for enabling all TIM timer
devices. Makes it a runtime error to enable devices the code
doesn't know how to enable.

I have verified performance of the fan pins (PC6, PC7, PB15)
on the SKR Mini E3 V3.

Signed-off-by: Ben Jackson <ben@ben.com>
2022-09-01 13:30:11 -04:00
MapleLeafMakers
83ab6fbae5 save_variables: Do not write to console when variables are saved
Removes a call to gcmd.respond_info which writes 'VARIABLE SAVED' to the
console every time the SAVE_VARIABLE command is called.

Signed-off-by: Andre LeBlanc <mapleleafmakers@gmail.com>
2022-09-01 13:18:55 -04:00
Kevin O'Connor
f7e29b276e docs: Update koconnor donation links
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-08-24 21:02:43 -04:00
chestwood96
db507f89b9 scripts: Update install-debian.sh (#5704)
Add pkg-config reference because hid-flash needs it to build.

Signed-off-by: Adrian Joachim <adi.joachim12@gmail.com>
2022-08-24 13:30:33 -04:00
BIGTREETECH
a8883d83e3 stm32: add FDCAN support for STM32H743 (SKR-3 Series) (#5668)
Signed-off-by: Chen.BJ from BigTreeTech <chenbj@biqu3d.com>
2022-08-23 17:53:35 -04:00
adelyser
9e4994cbdb stm32: Fix the STM32H743 mcu temp on SKR 3 (#5711)
Signed-off-by: Aaron DeLyser <bluwolf@gmail.com>
2022-08-19 14:42:20 -04:00
chestwood96
724b007c50 rp2040: Enabled hw pullups for the I2C pins (#5710)
Signed-off-by: Adrian Joachim <adi.joachim12@gmail.com>
2022-08-19 14:39:30 -04:00
Clifford Roche
ce27d35924 palette2: Fix UART encoding
Raised from issue #5645, UTF-8 encoded symbols or other unexpected symbols on the UART raise an exception which causes klipper to stop. This change support UTF-8 encoded characters (from file names) as well as ignoring unexpected bytes.

Signed-off-by: Clifford Roche <clifford.roche@gmail.com>
2022-08-19 14:12:51 -04:00
Rui Carmo
b1dcd35b7a config: Add BQ Hephestos printer (#5676)
This is a working config with full LCD and stepper settings (only thing missing is the kill switch, which did not appear to work)

Signed-off-by: Rui Carmo <rui.carmo@gmail.com>
2022-08-19 13:57:18 -04:00
Nitram
6a91824486 delta: Added the possibility to get where the "cone shape" of the build volume starts from Macros (#5662)
Added the possibility to get where the "cone shape" of the build volume starts from Macros

Signed-off-by: Martin Malmqvist <Volcomosq@gmx.com>
2022-08-19 13:27:44 -04:00
int_0x03
20a28bc00f config: Anycubic 4 Max Pro 2.0 - Added two internal systems (beeper and PSU control). (#5629)
Signed-off-by: Usachev Alexander Valer'evich <int_0x21@protonmail.com>
2022-08-19 13:11:42 -04:00
Kevin O'Connor
2357221bb4 atsamd: Use CONFIG_USB instead of CONFIG_USBSERIAL during clock init
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-08-16 21:21:45 -04:00
Kevin O'Connor
6aec6efcc9 stm32: Use new CONFIG_USB to determine if USB needs to be configured
Introduce a CONFIG_USB build symbol that is set whenever
CONFIG_USBSERIAL or CONFIG_USBCANBUS is set.  Use that symbol during
setup so that the USB controller is properly initialized for both usb
serial and usb canbus bridge configurations.

This fixes the clock configuration for usb canbus bridge mode on
stm32f446.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-08-16 21:21:45 -04:00
Kevin O'Connor
a709ba43af Revert "config: Create printer-bq-hephestos-2014.cfg (#5607)"
This reverts commit 18119858c6.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-07-29 14:52:22 -04:00
Rui Carmo
18119858c6 config: Create printer-bq-hephestos-2014.cfg (#5607)
This is a working config with full LCD and stepper settings (only thing missing is the kill switch, which did not appear to work)

Signed-off-by: Rui Carmo <rui.carmo@gmail.com>
2022-07-29 14:48:58 -04:00
Kevin O'Connor
49d83bd3e2 console: Add support for DUMP and FILEDUMP commands
Add helper functions to dump memory via debug_read commands.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-07-29 13:30:39 -04:00
Kevin O'Connor
b026f1d2c9 canserial: Fix typo in canserial.h
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-07-29 11:40:54 -04:00
Kevin O'Connor
dc012f8659 docs: Recommend allow-hotplug in CANBUS.md when using USB to canbus bridge
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-07-29 11:40:54 -04:00
Kevin O'Connor
2005d4dbf4 docs: Updates to CANBUS_protocol.md
Update the document with latest details.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-07-29 11:40:54 -04:00
Kevin O'Connor
9e3feab0b4 stm32: Remove stm32f4 canbus warning
The canbus code has been successfully tested on stm32f4.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-07-29 11:40:54 -04:00
Kevin O'Connor
751bff7d38 mcu: Delay reset signaling for usb to canbus bridge nodes
An mcu device acting as an "mcu bridge" should only be reset after
other normal devices are reset - otherwise the bridge wont be able to
pass along the reset message to the downstream mcus.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-07-29 11:40:54 -04:00
Kevin O'Connor
2d74b3d358 canserial: Request bootloader via bootloader_request()
Use bootloader_request() instead of try_request_canboot().  This
allows the bootloader machanism to work for more bootloaders.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-07-29 11:40:54 -04:00
Kevin O'Connor
18ff84aa04 usb_cdc: Rename usb_request_bootloader() to bootloader_request()
Rename this board API function to a more generic name.  This is in
preparation for calling the function from the canbus code.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-07-29 11:40:54 -04:00
Kevin O'Connor
48b60a8021 graphstats: Normalize mcu frequency to microseconds when graphing multiple mcus
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-07-29 11:40:54 -04:00
Kevin O'Connor
db6346e7e5 serialqueue: Improve canbus timing
Adjust timing based on the minimum transmission time of canbus
messages.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-07-29 11:40:54 -04:00
Kevin O'Connor
2293e1506f canbus_ids: Use 4 as the first nodeid to reduce id bitstuffing
Starting with nodeid 4 instead of nodeid 0 can reduce bitstuffing of
the id field in common configurations.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-07-29 11:40:54 -04:00
Pedro Lamas
b725d971db bed_screws: report status
Signed-off-by: Pedro Lamas <pedrolamas@gmail.com>
2022-07-28 20:43:19 -04:00
Pedro Lamas
c29e190696 docs: fixes typo on heater_bed
Signed-off-by: Pedro Lamas <pedrolamas@gmail.com>
2022-07-28 20:37:34 -04:00
Kevin O'Connor
3796a31959 stm32: Add CCRDY check to stm32g0 adc
The stm32g0 specification states that it is required to wait for the
CCRDY flag to be raised after changing the channel configuration.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-07-25 10:21:29 -04:00
Kevin O'Connor
3387a9c23d config: Use printer-creality-ender3-s1-2021.cfg for both s1 and s1 pro.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-07-24 08:49:25 -04:00
Pedro Lamas
282d1113e4 manual_probe: report status
Signed-off-by: Pedro Lamas <pedrolamas@gmail.com>
2022-07-21 22:03:31 -04:00
Kevin O'Connor
407be177d5 config: Fix wording of serial port selection on recent creality configs
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-07-21 21:56:46 -04:00
S1NH
0c74b3d8bf config: Integrate configuration file for Creality Sermoon V1. (#5621)
Configuration for the stock Creality Sermoon V1.

Signed-off-by: Du Chengyao <hbyls@live.com>
2022-07-21 21:45:05 -04:00
s6t
a151aa8c7a spi_flash: Add board definition for Mellow FLY Gemini V2 (#5651)
Signed-off-by: Tobias Schröder <schroedt@live.de>
2022-07-20 21:57:08 -04:00
Kevin O'Connor
e9c83d66e0 config: Fix screw typo in printer-creality-cr10-v3-2020.cfg
Reported by @TonyRouse.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-07-19 13:46:50 -04:00
JamesH1978
dd03cca49b config: Change of alias for heater_fan in multiple configs (#5632)
This PR serves to fix a longstanding misnomer in some config files. Many configs state a nozzle_cooling_fan alias for what is usually a "hotend cooling fan". This causes ambiguity and confusion with the parts fan. I have identified all 24 files with this and changed them here.

Signed-off-by: James Hartley <james@hartleyns.com>
2022-07-19 13:02:51 -04:00
Pedro Lamas
6be114d728 docs: fix rawparams example by truncating comments
Signed-off-by: Pedro Lamas <pedrolamas@gmail.com>
2022-07-19 12:48:16 -04:00
Kevin O'Connor
50b4d4c43c config: Note 25Mhz clock in generic-bigtreetech-skr-3.cfg
Reported by @kingtricky and confirmed by @bigtreetech.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-07-19 12:44:18 -04:00
Kevin O'Connor
d91939c4bf docs: Add BIGTREETECH to Sponsors.md file
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-07-16 23:17:30 -04:00
Kevin O'Connor
75c4b1238e lib: Update to latest can2040 code
Simplify tx state tracking.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-07-16 21:08:58 -04:00
Kevin O'Connor
2f9fe49cb8 docs: Add a Sponsors.md file
Add a documentation page with information on how to support Klipper.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-07-16 10:48:10 -04:00
Kevin O'Connor
8a038c6941 workflows: Fix spurious path in klipper3d-deploy.yaml
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-07-16 10:45:26 -04:00
Kevin O'Connor
06022b305f mkdocs-requirements: Force markdown==3.3.7
A new release of markdown (v3.4.1) breaks the website deployment
scripts.  Force the existing version.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-07-16 10:43:53 -04:00
Kevin O'Connor
36887ce6fe lib: Update to the latest can2040 code
Rename to "match" state machine instead of "ack".
Minor simplification to tx_note_crc_start().
Call pio_match_clear() from report functions.
Add pio_match_calc_key() helper function.
Raise irq after 6 passive eof bits for faster rx message notification.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-07-16 09:57:12 -04:00
Cabia Rangris
24a1b50e51 config: Added Anet alt-wiring display example (#5605)
Signed-off-by: Vladimir Serov <cab404@mailbox.org>
2022-07-06 15:56:02 -04:00
Kevin O'Connor
a283e0f7d4 webhooks: Close clients that become unresponsive
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-07-06 09:54:44 -04:00
Kevin O'Connor
7b9583391e webhooks: Use reactor to watch for writable fds
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-07-06 09:54:44 -04:00
Kevin O'Connor
02dd0742c4 reactor: Add support for waiting on fds becoming writable
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-07-06 09:54:44 -04:00
Kevin O'Connor
be503b2b9b rp2040: Add support for USB to CANbus bridge mode
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-07-06 00:28:48 -04:00
Kevin O'Connor
a831254e83 rp2040: Initial support for CANbus
Add support for CANbus on the rp2040 using the can2040 "software
canbus" implementation.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-07-06 00:28:48 -04:00
Kevin O'Connor
f10fd7c2fa lib: Add can2040 code
The "can2040" project implements "software canbus" support on rp2040
micro-controllers.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-07-06 00:28:48 -04:00
BIGTREETECH
1636a9759b stm32: stm32g0/h7 usb_dfu_bootloader support (#5596)
Signed-off-by: Alan.Ma from BigTreeTech <tech@biqu3d.com>
2022-06-30 13:58:00 -04:00
chestwood96
167736ad1c respond: No forced spaces (#5152)
Signed-off-by: Adrian Joachim <adi.joachim12@gmail.com>
2022-06-30 13:56:35 -04:00
Kevin O'Connor
a8f08b08ca test: Fix ordering of printers.test
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-06-29 19:37:52 -04:00
Kevin O'Connor
4404c98637 test: Add printer-biqu-b1-se-plus-2022.cfg to printers.test
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-06-29 18:10:47 -04:00
Bruno Melo
e952b021e8 config: Create printer-biqu-b1-se-plus.cfg (#5477)
Signed-off-by: Bruno Melo <brunomelo81@gmail.com>
2022-06-29 18:07:26 -04:00
Kevin O'Connor
790ff4d8d7 usb_canbus: Initial support for USB to CAN bridge mode
Support a USB interface that shows up as a canbus adapter to linux.
Route both local and real canbus packets over that interface.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-06-27 10:50:23 -04:00
Kevin O'Connor
c8cc98ce5d canserial: Rename canbus.c to canserial.c
Rename the canbus.c code to canserial.c and introduce new wrapper
functions in canbus.c that connect the low-level canbus hardware code
to the high-level canserial.c code.

This is in preparation for adding "usb to canbus bridge mode".

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-06-27 10:50:23 -04:00
Kevin O'Connor
11828387d9 usb_cdc_ep: Change default endpoint numbers
Change the default endpoint numbers to make it possible to implement
the "gs_usb" canbus protocol.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-06-27 10:50:23 -04:00
Kevin O'Connor
f5d5f53914 stm32: Add support for disabling the canbus filter
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-06-27 10:50:23 -04:00
adelyser
84b2bfe313 stm32: Add MCU temp for Stm32h7 (#5606)
Added mcu temperature to the stm32h7 processor.

Signed-off-by: Aaron DeLyser <bluwolf@gmail.com>
2022-06-27 10:16:09 -04:00
Kamil Trzciński
045455648a klippy: properly set log level when logging to stderr
The `logging.basicConfig` does not reconfigure default logger.
This results in printing only warnings/errors to stderr
instead of also info (or debug).

This fixes the issue by setting log level on root logger.

Signed-off-by: Kamil Trzciński <ayufan@ayufan.eu>
2022-06-27 10:14:27 -04:00
Eric Callahan
6ad6e39ad2 docs: add SET_DISPLAY_TEXT documentation
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2022-06-27 10:09:02 -04:00
Eric Callahan
a431900f7f display_status: Implement SET_DISPLAY_TEXT command
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2022-06-27 10:09:02 -04:00
Yifei Ding
ae17b66a88 docs: remove FAQ ToC (#5585)
Signed-off-by: Yifei Ding <yifeiding@protonmail.com>
2022-06-27 09:58:48 -04:00
Kevin O'Connor
d3c4ba4839 rp2040: Add a Kconfig option for selecting "generic_03H" flash type
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-06-20 13:03:58 -04:00
Kevin O'Connor
9e52dc337f rp2040: Add options to Kconfig for "stage2" flash chip options
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-06-20 13:03:58 -04:00
Kevin O'Connor
52a8afba43 docs: Note mcu types with i2c_speed support in Config_Reference.md
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-06-20 12:58:05 -04:00
Dmitry Butyugin
8804c1578d docs: Added instructions how to configure I2C for MPU-9250
Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2022-06-20 12:47:14 -04:00
Dmitry Butyugin
f2e27ae05e docs: Updated accelerometer installation instructions for Python 3
Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2022-06-20 12:47:14 -04:00
Kevin O'Connor
247a409335 mpu9250: Inline twos_complement() code
Calling python functions can have high overhead.  Inline the
twos_complement code in the _extract_samples() inner loop.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-06-20 12:41:24 -04:00
Kevin O'Connor
98a24172e7 docs: Add mpu9250 to Config_Reference.md
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-06-20 12:41:24 -04:00
Kevin O'Connor
f6734d83b3 mpu9250: Use adxl345.AccelCommandHelper directly
The MPU9250CommandHelper() class is nearly a duplicate of
ADXL345CommandHelper().  Rename ADXL345QueryHelper() to
AccelCommandHelper and remove user facing references to "adxl345". Use
it directly from mpu9250.py .

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-06-20 12:41:24 -04:00
Kevin O'Connor
4a7b429115 mpu9250: Use adxl345.ClockSyncRegression directly
The mpu9250.ClockSyncRegression() class is a duplicate of
adxl345.ClockSyncRegression().  Remove the duplicate copy and use the
code from adxl345.py .

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-06-20 12:41:24 -04:00
Kevin O'Connor
f0ba3a8c52 mpu9250: Use adxl345.AccelQueryHelper directly
The MPU9250QueryHelper() class is a duplicate of ADXL345QueryHelper().
Rename ADXL345QueryHelper() to AccelQueryHelper() and use it directly
from mpu9250.py .

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-06-20 12:41:24 -04:00
Kevin O'Connor
46842026b9 docs: Wrap lines in Measuring_Resonances.md
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-06-20 12:41:24 -04:00
Kevin O'Connor
aea847501f test: Add mpu9250 to input_shaper.test regression test case
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-06-20 12:41:24 -04:00
Kevin O'Connor
cf9d96434c stm32: Add Kconfig option for stm32f103x6 chip (with only 10KiB ram)
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-06-20 12:37:23 -04:00
Kamil Trzciński
0256967def stm32: support stm32f401 adc_temperature sensor (#5572)
> The temperature sensor is internally connected to the ADC_IN18

> The TSVREFE bit must be set to enable the conversion of both internal channels: the ADC1_IN16 or ADC1_IN18 (temperature sensor) and the ADC1_IN17 (VREFINT).

Ref.: https://www.st.com/resource/en/reference_manual/dm00096844-stm32f401xb-c-and-stm32f401xd-e-advanced-arm-based-32-bit-mcus-stmicroelectronics.pdf

Signed-off-by: Kamil Trzciński <ayufan@ayufan.eu>
2022-06-20 12:13:02 -04:00
Kurt Haenen
f2a5800cea configfile: Expose options awaiting to be saved (#5270)
Adds a save_config_pending_items to the status reported by
configfile reflecting the items and values that a future
SAVE_CONFIG would actually persist.

Signed-off-by: Kurt Haenen <kurt.haenen@gmail.com>
2022-06-20 12:10:57 -04:00
Andreas Fröhlke
6af931c4e1 spi_flash: add mks_monster8,robin_v3 (#5568)
Signed-off-by Andreas Fröhlke <boandy1985@googlemail.com>
2022-06-18 13:08:30 -04:00
Eric Callahan
78454dd3b1 bed_mesh: cache mesh status
Prevent calls to `get_status()` from creating a new
status dict on each request.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2022-06-17 09:06:21 -04:00
Kevin O'Connor
55d1c3728d docs: Note that i2c is not noise resilient in Config_Reference.md
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-06-16 18:38:31 -04:00
Kevin O'Connor
3f3713ee97 Kconfig: Move SERIAL, USBSERIAL, and CANSERIAL definitions to src/Kconfig
There is no need to define these options in every board Kconfig file.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-06-16 14:59:03 -04:00
bluesforte
f55b9d3e57 mpu9250: Adding support for MPU-9250 (and MPU-6050) accelerometer
Add support for mpu9250 accelerometer over I2C bus.

Signed-off-by: Harry Beyel <harry3b9@gmail.com>
2022-06-16 11:09:33 -04:00
Kevin O'Connor
fc7838855f canbus: Move canbus uuid calculation to canbus.c
Move the uuid hash calculation to canbus.c and call canbus_set_uuid()
from src/stm32/chipid.c .  This simplifies the low-level canbus
hardware code.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-06-16 11:03:48 -04:00
Kevin O'Connor
3f7d05dd18 stm32: Support passing through RTR and EFF canbus frames
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-06-16 11:03:48 -04:00
Kevin O'Connor
913c6a913d stm32: Support PA11/PA12 and PB8/PB9 on fdcan
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-06-16 11:03:48 -04:00
Kevin O'Connor
ce186c6af6 stm32: Simplify fdcan tx irq handling
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-06-16 11:00:15 -04:00
Kevin O'Connor
84d798f516 canbus: Use single method for reading canbus messages
Previously the code had canbus_read() which was called from task
context (for admin messages), and canbus_process_data() which was
called from irq context (used for data messages).  Change that to a
single canbus_process_data() function that is called from irq context
(used for all messages).  This simplifies the low-level hardware
specific canbus code and should make it easier to support other
hardware implementations.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-06-16 11:00:15 -04:00
Kevin O'Connor
da755c3c1b canbus: Move global variables into a struct
Create a single CanData global variable to track the canbus state.
ARM micro-controllers generally produce better code when global
variables are in a struct.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-06-16 11:00:15 -04:00
Kevin O'Connor
b9e195f098 flash_usb: Use hexid "2e8a:0003" for rp2040 already in bootloader mode
Use a USB hex id to indicate that the device is already in bootloader
mode.  This makes the rp2040 flashing code similar to the other
boards.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-06-16 10:59:11 -04:00
Kevin O'Connor
e98a29bef3 config: Minor comment changes to printer-creality-cr10-v3-2020.cfg
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-06-16 10:56:30 -04:00
CoreRasurae
31f9bbf105 config: Creality CR10 v3 with BLTouch support config. (#5533)
Introduce support for the stock Creality CR10 v3 printer, including the filament runout sensor. It also supports the optional BLTouch.

Signed-off-by: Luís Palma Nunes Mendes <luis.p.mendes@gmail.com>
2022-06-16 10:54:38 -04:00
Stefan Dej
c61db45613 config: fix processor name in th3d ezboard lite v2.0 config
Signed-off-by: Stefan Dej <meteyou@gmail.com>
2022-06-16 10:48:28 -04:00
Kevin O'Connor
7f9ea231b7 delta_calibrate: Fix Python3 error in DELTA_ANALYZE
Reported by @CODeRUS.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-06-13 13:51:07 -04:00
Devin Fritz
29e9ac6ec5 config: Update generic-duet3-mini.cfg to include Tacho pins (#5551)
Signed-off-by: Devin Fritz <devinfritz@gmx.de>
2022-06-12 13:03:50 -04:00
Kevin O'Connor
ea4f6d6a77 rp2040: Implement workaround for USB errata "rp2040-e5"
The rp2040 USB may not connect after a reset.  Implementation the
recommended workaround.

Signed-off-by: Lasse Dalegaard <dalegaard@gmail.com>
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-06-12 11:25:57 -04:00
Aart Röst
c30e5f847c config: Correct UART pins for Ender 3 S1 & S1 Pro (#5553)
Signed-off-by: Aart Röst <aartrost@gmail.com>
2022-06-10 14:13:10 -04:00
Kevin O'Connor
7ffd01de4c stm32: Support 4KiB bootloader on stm32f1 and stm32f0
The CanBoot bootloader can often fit in 4KiB and that may be useful
for some devices with small flash sizes.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-06-10 11:48:13 -04:00
Eric Callahan
1b6ab65833 flash_usb: update shebang to python3
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2022-06-10 11:23:04 -04:00
Eric Callahan
3e1719bdbb flash_usb: add canboot support
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2022-06-10 11:23:04 -04:00
Eric Callahan
b6feda4eae lpc176x: add support for canboot usb
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2022-06-10 11:23:04 -04:00
Kevin O'Connor
f42ce3e2fd linuxtest: Add a test case for the ds18b20 sensor
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-06-08 18:06:12 -04:00
functionpointer
33ecc6d62e ds18b20: fix string conversion error on startup (#5559)
Signed-off-by: Lorenzo Pfeifer <Lorenzo.Pfeifer+github@googlemail.com>
2022-06-08 18:05:27 -04:00
Kevin O'Connor
d61d3ade23 ds18b20: Don't propagate incorrect temperature on a fault
Just log an error on a fault.

Remove the host check for min/max temperature as the micro-controller
code already implements that check.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-06-08 12:48:40 -04:00
functionpointer
2dc20c011d ds18b20: Allow some read errors
Allows a limited number of DS18B20 read failures
before stopping the printer. This is designed to
tolerate spurious read errors, while still stopping
for serious issues.

The printer will stop when the sensor

fails to report a value five times in a row.

Implementation works as follows:
The MCU reports any read errors using a new "fault"
parameter in its answers.
The Python code tracks the number of errors
and triggers the shutdown. This paves the way for
more sophisticated error handling in the future,
as well as an example for other sensors to follow.

Signed-off-by: Lorenzo Pfeifer <Lorenzo.Pfeifer+github@googlemail.com>
2022-06-08 12:39:12 -04:00
Eric Callahan
b0da191bee makefile: disable null pointer checks
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2022-06-08 12:17:12 -04:00
BIGTREETECH
ada571ecb8 stm32: Enable Automatic retransmission feature to avoid data loss caused by bus conflict for STM32G0B1 fdcan (#5550)
Signed-off-by: Alan.Ma from BigTreeTech <tech@biqu3d.com>
2022-06-06 10:59:18 -04:00
Kevin O'Connor
db5a4351a5 Kconfig: Move CANBUS_FREQUENCY definition from src/stm32/Kconfig to src/Kconfig
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-06-04 11:56:59 -04:00
Kevin O'Connor
c1f4bdebf2 armcm_reset: Add a armcm_reset.h header file for try_request_canboot()
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-06-04 11:52:39 -04:00
Yifei Ding
9047702a00 mkdocs: Replace TOC in Translations
Signed-off-by: Yifei Ding<yifeiding@protonmail.com>
2022-06-03 19:14:13 -04:00
Stefan Dej
7c8cf7661b docs: fix typo in Exclude_Object.md
Signed-off-by: Stefan Dej <meteyou@gmail.com>
2022-06-03 18:11:35 -04:00
Kevin O'Connor
c43f62bdd6 lib: Update lib/README with latest canboot changes
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-06-03 14:53:18 -04:00
Eric Callahan
b829a89069 flash_can: add usb support
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2022-06-03 14:51:01 -04:00
Eric Callahan
39535b15ba stm32: use TME bits to find the canbus tx mailbox
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2022-06-03 14:51:01 -04:00
Eric Callahan
3c7eea7336 stm32: call "try_request_canboot" for bootloader requests
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2022-06-03 14:51:01 -04:00
Eric Callahan
129091d811 canbus: use "try_request_canboot" method
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2022-06-03 14:51:01 -04:00
Eric Callahan
8b1e3c3fb2 armcm_reset: support canboot detection
When CanBoot is detected set its bypass signature when a
reset is requested.

Add a "try_request_canboot()" method that may be called
from from USB and Canbus bootloader requests.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2022-06-03 14:51:01 -04:00
Kevin O'Connor
04eb72dcd5 virtual_sdcard: Fix merge error
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-06-03 14:23:56 -04:00
Frank Tackitt
638cd4d781 docs: add exclude_object documentation
Also include sample macros to add M486 compatibility.

Signed-off-by: Franklyn Tackitt <git@frank.af>
Co-authored-by: Troy Jacobson <troy.d.jacobson@gmail.com>
2022-06-03 14:12:04 -04:00
Frank Tackitt
89c59b035e exclude_objects: initial implementation
Adding Klipper functionality to support cancelling objects while
printing.

This module keeps track of motion in and out of objects and adjusts
movements as needed.  It also tracks object status and provides that to
clients.

The Klipper module is relatively simple, and only provides one piece of
the workflow. Moonraker already supports processing uploaded files to
insert the required gcode markers for cancelling objects, using
https://github.com/kageurufu/cancelobject-preprocessor. This library is
also available as an executable for use in slicers, and pip
installations also include the script as a callable.

Mainsail has integrated support, and code changes for Fluidd are
available. Support in other interfaces is planned, and we've spoken to
several other developers about integrating frontend support in their
projects.

Signed-off-by: Troy Jacobson <troy.d.jacobson@gmail.com>
Co-authored-by: Franklyn Tackitt <git@frank.af>
Co-authored-by: Eric Callahan <arksine.code@gmail.com>
2022-06-03 14:12:04 -04:00
Troy Jacobson
04952db1e8 tuning_tower: add is_active() method
Signed-off-by: Troy Jacobson <troy.d.jacobson@gmail.com>
Co-authored-by: Franklyn Tackitt <git@frank.af>
2022-06-03 14:12:04 -04:00
Troy Jacobson
2e04be4451 virtual_sdcard: Add reset_file event
Signed-off-by: Troy Jacobson <troy.d.jacobson@gmail.com>
Co-authored-by: Franklyn Tackitt <git@frank.af>
2022-06-03 14:12:04 -04:00
Kevin O'Connor
df39465534 config: Rename sample-huvud-v0.61.cfg
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-06-03 11:43:34 -04:00
Charles Pickering
79d6b37ac9 config: Huvud KlipperToolhead config
Pin information and basic flashing instructions for the Huvud CAN bus toolhead board. V0.61

Signed-off-by: Charles Pickering <me@charlespick.xyz>
2022-06-03 11:43:09 -04:00
Kevin O'Connor
742df16a51 config: Update ender3 s1 configs to use gear_ratio
The gearing mechanism is 42:12.  Reported by @filipenobrerc.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-06-03 11:33:39 -04:00
Kevin O'Connor
06a31222d3 COPYING: Update GPLv3 license to latest text (uses https instead of http)
The latest text of the GNU GPLv3 license updates the web references to
https (instead of the older http).  Update to that latest text.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-06-03 11:28:44 -04:00
Pedro Lamas
c16eab212e virtual_sdcard: Adds on_error_gcode
Signed-off-by: Pedro Lamas <pedrolamas@gmail.com>
2022-06-03 11:26:34 -04:00
BIGTREETECH
dbc24ce339 config: Add BTT SKR 3 & EBB CAN V1.0 & V1.1 board cfg (#5529)
Signed-off-by: Alan.Ma from BigTreeTech <tech@biqu3d.com>
2022-06-01 11:28:10 -04:00
Kevin O'Connor
63affd7006 stm32: Rework kconfig to use CONFIG_CANSERIAL for both can.c and fdcan.c
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-06-01 10:59:10 -04:00
Kevin O'Connor
907b47b238 flash_usb: Rework flash_rp2040 code to be similar to other boards
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-06-01 10:47:31 -04:00
BIGTREETECH
1ff7261203 stm32: stm32g0b1 fdcan support (#5488)
Signed-off-by: Alan.Ma from BigTreeTech <tech@biqu3d.com>
2022-06-01 10:43:45 -04:00
Mikkel Schmidt
af38d708cb adxl345: Support recording data from multiple ADXL345's in one run, and more. (#5224)
Add PROBE and CHIP to TEST_RESONANCES

Since it's possible to specify more than one chip
in TEST_RESONANCES the CHIP parameter has been
renamed to CHIPS

Signed-off-by: Mikkel Schmidt <mikkel.schmidt@gmail.com>
2022-05-23 19:56:58 -04:00
Kevin O'Connor
c7e0372c5d docs: Line wrapping in G-Codes.md
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-05-23 15:50:43 -04:00
Kevin Nguyen
3081899883 docs: Documentation on screws_tilt_calculate MAX_DEVIATION parameter (#5522)
Signed-off-by: Kevin Nguyen <ngynkvn@gmail.com>
2022-05-23 15:49:59 -04:00
Kevin O'Connor
19a478de37 stm32: Don't allow USB on internal clock for stm32f103/stm32f070
Reported by @kaidegit.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-05-23 15:35:05 -04:00
Kevin O'Connor
5a94764c38 config: Minor changes to ender3-s1 and ender3-s1pro configs
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-05-23 15:27:17 -04:00
Fisheiyy
00934e1378 config: Ender 3 S1/S1 Pro Default Configurations (#5332)
Signed-off-by: Rob Casper <myallneedsemail@gmail.com>
2022-05-23 15:23:22 -04:00
camerony
f1c6f76a51 docs: Update Config_Reference.md z_hop speed (#5514)
The default z-hop speed is actually 15 mm/s according to the code in safe_z_home.py

Signed-off-by: Cameron River <camerony@gmail.com>
2022-05-23 15:05:53 -04:00
kluoyun
4490a58411 config: Create configuration file for Fly-Gemini-v2 and Fly-CDY-V3 motherboard (#5508)
Signed-off-by: Xiaokui Zhao <xiaok@zxkxz.cn>
2022-05-18 12:28:23 -04:00
th33xitus
bbb06a014b docs: fix links to Config_Reference.md
Signed-off-by: Dominik Willner <th33xitus@gmail.com>
2022-05-18 12:05:28 -04:00
Kevin O'Connor
996b73e25d config: Remove hold_current from generic-th3d-ezboard-lite-v2.0.cfg
We no longer recommend setting a hold_current.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-05-17 21:22:51 -04:00
Kevin O'Connor
1c18265a62 docs: Minor wording update to Code_Overview.md
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-05-17 11:55:17 -04:00
Kevin O'Connor
e8dc44a0ca docs: Update Code_Overview.md with more realistic task timing guidelines
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-05-17 11:46:38 -04:00
Kevin O'Connor
95676343db docs: Updates to Installation.md document
Recommend users obtain an example config file prior to starting the
installation.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-05-17 11:36:36 -04:00
kluoyun
defce11235 config:Create configuration file for Fly-Gemini-v1 motherboard (#5474)
Create configuration file for Fly-Gemini-v1 motherboard

Add stm32f405 and generic-mellow-fly-gemini-v1.cfg to test cases

Signed-off-by: Xiaokui Zhao <xiaok@zxkxz.cn>
2022-05-14 10:36:10 -04:00
Kevin O'Connor
9c45f53b24 Makefile: Default to python3 for micro-controller build scripts
It's more likely that python3 will be installed than python2 on a
typical modern Linux distribution, so use python3 by default.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-05-13 14:07:20 -04:00
Kevin O'Connor
8268478006 homing: Fix bug in multi_complete()
Reported by @skrogh.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-05-13 13:53:17 -04:00
Kevin O'Connor
c14118e9c6 misc: Import misc.h in all files defining console_sendf()
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-05-13 11:22:47 -04:00
Kevin O'Connor
a6b3d2f18f stm32: Remove unused header from can.c
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-05-10 15:03:55 -04:00
Kevin O'Connor
2c441b4502 canbus: Rename CANBUS_CMD_SET_NODEID to CANBUS_CMD_SET_KLIPPER_NODEID
Rename the command name for consistency with the canbus_query.py
script.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-05-10 11:55:06 -04:00
Kevin O'Connor
be4b8b17f2 docs: Minor CanBoot documentation fixes
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-05-10 11:55:06 -04:00
Eric Callahan
88731c2836 scripts: identify application in canbus_query
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2022-05-10 11:48:06 -04:00
Eric Callahan
95d06c95e3 docs: add CanBoot documentation to bootloaders.md
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2022-05-10 11:48:06 -04:00
Eric Callahan
5ec3939f34 lib: add flash_can.py
This script may be used to update Klipper firmware for CAN
nodes running the CanBoot bootloader.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2022-05-10 11:48:06 -04:00
Eric Callahan
60625f4422 stm32: add 8 KiB bootloader option for F0x2 devices
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2022-05-10 11:48:06 -04:00
Eric Callahan
81ff8e125c canbus: send 8 bytes in the id response
The last byte contains the "node id" command, which is used to
identify the application.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2022-05-10 11:48:06 -04:00
Eric Callahan
3505f4cae5 canbus: add bootloader support
This adds a command which allows an external script to broadcast a
bootloader request, using a supplied UUID to match the request.
Included is a method to process requests to enter the canboot
bootloader.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2022-05-10 11:48:06 -04:00
3-5-20
b44eee609a docs: Update G-Codes.md (#5487)
Typo correction: my -> by

Signed-off-by: Oscar Cetnarowski <0.007954545@proton.me>
2022-05-09 22:20:06 -04:00
Kevin O'Connor
a94146b554 pins: Improve pin description checks
Make sure whitespace isn't in the pin description.  Also make sure an
alias doesn't map to an invalid pin.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-05-09 16:33:46 -04:00
Kevin O'Connor
c263f76f9f stm32: Fix typo in i2c.c
Reported by @kaidegit.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-05-07 10:13:34 -04:00
Kevin O'Connor
7e76bd561a klippy: Minor changes to message protocol error
Minor indentation and variable name changes.

Don't remove linebreaks from message_protocol_error lines.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-05-06 21:06:13 -04:00
Felicia Hummel
b18786bc91 klippy: Reworked the MCU protocol error message (#5470)
The MCU protocol error message often confuses users, especially after getting bombarded with the config format error line. This PR tries to improve it and has the following goals:

- Put the technical error at the end to prevent confusion and avoid the immediate jump to help channels instead of continuing to read
- Inform the user first what the type of error is (In this case: MCU Protocol error) and not at the end of the long error message
- Give the users a clear instruction what to do (pretty much unchanged), but possibly more approachable because the user is not confused by the technical error anymore
- Shows the version numbers of Klipper separate from all MCU version numbers so that it is more obvious that this is the version of Klipper
- Separates the version numbers between outdated MCUs and up-to-date MCUs, so that it becomes obvious if a MCU flash failed because the MCU doesn't disappear from the outdated list
- Previously, when viewing the errors in a web frontend, additional line breaks made it extremely hard to read the message, sometimes with as little as one word on one line. The error messages are now formatted to not have rogue line breaks, improving readability.

Signed-off-by: Felicia Alexa Hummel <felicia@drachenkatze.org>
2022-05-06 20:51:34 -04:00
Kevin O'Connor
261944cc7b graphstats: Improve labels on twinx() graphs
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-05-06 15:05:04 -04:00
Kevin O'Connor
6f0b7c7a2a graphstats: Fix system graph title
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-05-06 15:01:27 -04:00
Kevin O'Connor
661f5b08c8 docs: Fix typo in Benchmarks.md
Reported by @kaidegit.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-05-06 14:54:50 -04:00
Kevin O'Connor
c4232bea2e docs: Note pins used for stm32flash in Bootloaders.md
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-05-04 13:54:42 -04:00
Kevin O'Connor
722ad4a1d2 docs: Update Example_Configs.md to note that baud should be 250000
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-04-30 14:51:14 -04:00
Kevin O'Connor
e43fd4fab0 docs: Note to run DELTA_CALIBRATE before DELTA_ANALYZE in Delta_Calibrate.md
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-04-29 13:58:05 -04:00
Kevin O'Connor
1eb6afdbe5 docs: List only micro-controller names in benchmarks table in Features.md
There is concern that some users are interpreting the benchmark table
in Features.md as a list of "supported boards" or possibly
"recommended boards".  This was not the intent.

Remove the board names from the list to make it more clear the intent
is only to describe the benchmarks.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-04-29 12:20:41 -04:00
Adrian Keet
d9daeb0803 config: Pull up endstop_pins on Fysetc S6/Spider
Signed-off-by: Adrian Keet <arkeet@gmail.com>
2022-04-26 20:53:14 -04:00
JamesH1978
542486fba7 stm32: Add 64kib bootloader offset option to STM32F401 (#5457)
This is needed for the Creality Ender 3 S1 with the STM32F401 chips to enable a 64kib bootloader offset

Signed-off-by: James Hartley <james@hartleyns.com>
2022-04-25 12:07:48 -04:00
Eric Callahan
dc28257a75 spi_flash: reduce speed to 400K
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2022-04-25 12:02:45 -04:00
Eric Callahan
ccae1e3ec8 spi_flash: validate mcu configuration
Prior to attempting a flash, verify that the MCU is successfully
configured.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2022-04-25 12:02:45 -04:00
Kevin O'Connor
5517a856cc motan: Fix typo in error report
Reported by @Ludy87.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-04-23 21:50:27 -04:00
Kevin O'Connor
de14d106a1 shaper_calibrate: Add missing import
Reported by @Ludy87.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-04-23 21:49:50 -04:00
JamesH1978
a829a4c93f printer-creality-ender3pro-2020: Update info on chip types (#5445)
Added flash info that some Ender 3 Pro's shipped in 2022 have the GD32F103 chip

Signed-off-by: James Hartley <james@hartleyns.com>
2022-04-23 21:25:07 -04:00
Kevin O'Connor
07a90902a5 docs: Improve wording of screws_tilt_adjust in Config_Reference.md
Reported by @JamesH1978.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-04-23 21:22:02 -04:00
Kevin O'Connor
a10b2805de config: Fix incorrect pin in printer-monoprice-select-mini-v2-2018.cfg
Reported by @bkw777.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-04-23 21:16:09 -04:00
Eric Callahan
7db07c46e6 spi_flash: support spi protocol changes
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2022-04-22 20:46:45 -04:00
Martin Hierholzer
7793784640 spicmds: Allow inversion of CS pin for SPI busses
Signed-off-by: Martin Hierholzer <martin@hierholzer.info>
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-04-22 13:25:03 -04:00
Kevin O'Connor
a02da85101 docs: Fix typo in query_adc section of G-Codes.md
Reported by @jakep82.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-04-21 19:20:46 -04:00
Kevin O'Connor
fb3bae4531 neopixel: Simplify color_order parsing
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-04-18 12:55:32 -04:00
Kevin O'Connor
260fd7d367 pca9632: Fix color_order assignment
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-04-18 11:07:05 -04:00
Kevin O'Connor
fb02e2b577 neopixel: Fix color_order assignment
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-04-18 10:55:35 -04:00
Kevin O'Connor
5f0885958d neopixel: Support chains with a mix of color_order
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-04-18 10:16:10 -04:00
Kevin O'Connor
53a7f1dd76 led: Remove has_white check from LEDHelper
There is no harm in checking for a white config setting.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-04-18 09:34:25 -04:00
Kevin O'Connor
630d3b3444 led: Fix SET_LED TRANSMIT=1 handling
If the final update in a series of SET_LED update commands didn't
alter a color than the transmit would not occur - even if prior
commands did make color changes.  Refactor the update code and fix.

Reported by @mstansberry.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-04-18 08:55:21 -04:00
alstoepp
44567879f6 stm32: Add STM32F072 16KiB bootloader option (#5404)
Signed-off-by: Alexander Stöpperger <a.stoepperger@gmx-topmail.de>
2022-04-13 11:22:04 -04:00
laurienzu
4c8d1b813c config: Updated and created new TwoTrees configs to avoid confusion (#5365)
* Update and rename printer-twotrees-sapphire-pro-2020.cfg to printer-twotrees-sapphire-pro-sp-3.cfg

I renamed the file since the printer name now changed and is sold with this name, there is only one version so year can be removed.

-Added detailed instructions for flashing in the header.
-Corrected rotation distances for axes, it was wrong.
-Added gear ratio for extruder that is useful for future changes.
-Added heater fan to HE1 pins for automatic shutdown with temp.
-Reduced speed and accel for Z since a 2mm screw is used.

* Create printer-twotrees-sapphire-plus-sp-5-v1.1.cfg

I created the file since the printer name now changed and is sold with this name, there are 2 main versions (V1 and V1.1) so I will make 2 different configs for them since there are some hardware change and people are confused in what to change.

The difference with V1 is that all 2225 drivers are now used, since microsteps tables change for these drivers and by factory all jumpers are in the microstep setting is 32, people don't know this and will have half movement with the v1 config, there is a lot of confusion in communities so I think adding another file is the best option.

Signed-off-by:  Lorenzo Cascone <laurienzudesign@gmail.com>
2022-04-13 11:07:13 -04:00
Kevin O'Connor
4a8a76ead8 docs: Update temperature_fan PID documentation in Config_Reference.md
Reported by @dewi-ny-je.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-04-11 11:46:24 -04:00
Kevin O'Connor
38e82e8d8f stm32: Add support for additional i2c buses
Reported by @StoneColdCrazy.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-04-11 10:58:34 -04:00
Karl Bowden
5d82be2f5d docs: Add link to linux mcu neopixels config docs (#5402)
The reference to the linux mcu was helpful to understand what a linux mcu was but didn't help with understanding the technical reasons why it's not supported.

Signed-off-by: Karl Bowden <karl@bearded.sexy>
2022-04-11 10:35:38 -04:00
Uli
240f8ea60b htu21d: SI7021 is has id 0x15 (#5375)
This is most probably the result of a copy paste error. All vendor documentation for SI7021 (e.g. https://www.silabs.com/documents/public/data-sheets/Si7021-A20.pdf) points to 21 and it actually only works when adapted to 0x15 (=21).

Signed-off-by: Uli Wolf <github+klipper@wolf-u.li>
2022-04-11 10:33:41 -04:00
Kevin O'Connor
4d4c8d8f94 docs: Add link to Moonraker in API_Server.md
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-04-09 19:32:38 -04:00
Kevin O'Connor
6e61e47a23 docs: Fix smarteffector link in G-Codes.md
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-04-09 19:13:30 -04:00
Kevin O'Connor
05330fd3e5 docs: Minor updates to SmartEffector docs
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-04-09 19:10:16 -04:00
Dmitry Butyugin
2060a6908f smart_effector: Config and command reference
Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2022-04-09 19:04:57 -04:00
Dmitry Butyugin
76b22b3125 smart_effector: Initial support of programmable SmartEffector
Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2022-04-09 19:04:57 -04:00
cbc02009
f3b995227a docster: Fix incorrect default value for max_freq 2022-04-09 16:31:23 -04:00
Kevin O'Connor
7c5b7191c3 docs: Update wording of "quality improvement" section of CONTRIBUTING.md
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-04-08 09:56:22 -04:00
Kevin O'Connor
5a409d5d31 docs: Provide more information on PID in Config_Reference.md
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-04-07 12:30:02 -04:00
Kevin O'Connor
22297229b7 temperature_fan: Fix divide by zero error when pid_Ki is zero
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-04-07 12:11:54 -04:00
Kevin O'Connor
647a1cd8ca temperature_fan: Remove deprecated pid_integral_max option
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-04-07 12:10:48 -04:00
iblue
40c2d11ef8 config: Add config for CR-10 Smart Pro, including installation instructions (#5396)
The pinout was found by windowpainting, initial config by Subwooferbone, tweaked by iblue.

Signed-off-by: Markus Fenske <iblue@gmx.net>
2022-04-07 11:59:04 -04:00
Kevin O'Connor
555ac58a3f pca9632: Add support for configurable color_order
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-04-07 11:48:25 -04:00
Kevin O'Connor
f0700c0985 pca9632: Support using hardware I2C
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-04-07 11:43:52 -04:00
Yifei Ding
61792e3e31 _klipper3d: Specify mkdocs language config options
Signed-off-by: Yifei Ding <yifeiding@protonmail.com>
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-04-06 19:04:48 -04:00
Yifei Ding
b35b6cb10b _klipper3d: New language translation deployment
Signed-off-by: Yifei Ding <yifeiding@protonmail.com>
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-04-06 19:04:48 -04:00
Kevin O'Connor
444d209cce _klipper3d: Remove translation stubs
Support for language translations on the klipper3d.org site was
disabled in commit c067d4df.  Fully remove the support in this commit.
This is in preparation for an alternate implementation.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-04-06 19:04:48 -04:00
Kevin O'Connor
dc7b02f329 neopixel: Support arbitrary RGBW strings in color_order config
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-04-06 09:27:36 -04:00
Kevin O'Connor
92de6e91dc docs: Note that "minutes" in screws_tilt_adjust means minutes of a clock face
Reported by @kubik369 and @Sineos.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-04-05 20:35:56 -04:00
Kevin O'Connor
b1ae50cfc7 test: Add an led test for led, neopixel, dotstar, pca9533, pca9632 configs
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-31 13:08:12 -04:00
Kevin O'Connor
e6bfc4c9aa led: Support setting display_template parameters via SET_LED_TEMPLATE
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-31 13:08:12 -04:00
Kevin O'Connor
1ab3ac39e4 led: Support automated LED updates based on display_template results
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-31 13:08:12 -04:00
Kevin O'Connor
a6ab56c0a6 display: Add a new PrinterDisplayTemplate class for tracking template macros
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-31 13:08:12 -04:00
Kevin O'Connor
35ff49e546 docs: Note that neopixel doesn't work on "linux mcu"
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-31 13:08:12 -04:00
Kevin O'Connor
a7f69caa37 docs: Note change to neopixel/dotstar API status fields
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-31 13:08:12 -04:00
Kevin O'Connor
2001eecd5e pca9533: Add support for 4 brightness levels
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-31 13:08:12 -04:00
Kevin O'Connor
47828b4056 pca9533: Update to use LEDHelper class
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-31 13:08:12 -04:00
Kevin O'Connor
271c2ac95b pca9632: Update to use LEDHelper class
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-31 13:08:12 -04:00
Kevin O'Connor
0c425cf014 mcp4018: Support setting minclock and reqclock in SoftwareI2C class
This is in preparation for pca9632 changes.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-31 13:08:12 -04:00
Kevin O'Connor
9136a29196 dotstar: Update to use LEDHelper class
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-31 13:08:12 -04:00
Kevin O'Connor
8b8818c0f7 neopixel: Update to use LEDHelper class
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-31 13:08:12 -04:00
Kevin O'Connor
96795def9c led: Add support for PWM controlled LEDs
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-31 13:08:12 -04:00
Kevin O'Connor
3340bb2ffd docs: Add explicit Jinja2 prerequisite to mkdocs-requirements.txt
Avoid build failures by adding explicit Jinja2 version.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-29 20:40:48 -04:00
Kevin O'Connor
c08f83ff47 pid_calibrate: Improve Python3 compatibility in debug file output
Reported by @kpishere.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-29 20:37:03 -04:00
Kevin O'Connor
4d1c3478ab angle: Add support for reading tle5012b chip registers (for debugging)
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-29 20:34:46 -04:00
Kevin O'Connor
1275281ab6 angle: Initialize tle5012b chip variants to same configuration
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-29 20:34:46 -04:00
Kevin O'Connor
1b08553a42 angle: Report tle5012b temperature
Export the tle5012b temperature readings when performing measurements.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-29 20:34:46 -04:00
Kevin O'Connor
f9d505e376 sensor_angle: Support TLE5012b frame counter for timing
Use the tle5012b internal frame counter to calculate the time of each
measurement.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-29 20:34:46 -04:00
Kevin O'Connor
76558168d9 motan: Add support for analyzing "angle" sensor data
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-29 20:34:46 -04:00
Kevin O'Connor
aec742ece4 angle: Initial support for angle sensor calibration
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-29 20:34:46 -04:00
Kevin O'Connor
74937326d3 sensor_angle: Add support for bulk querying of spi angle sensors
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-29 20:34:46 -04:00
Alex Maclean
91ba9c00e3 atsam: Fix typo in sam4e_afec
Accidentally introduced in 8049243221,
renders the AFE non-functional on SAME70. Should have had little impact
on SAM4E.

Signed-off-by: Alex Maclean <monkeh@monkeh.net>
2022-03-28 10:19:58 -04:00
Alex Maclean
8049243221 atsam: Add support for SAM E70
Signed-off-by: Alex Maclean <monkeh@monkeh.net>
2022-03-26 11:59:27 -04:00
Alex Maclean
99c2bf0ded lib: Add Atmel SAM E70 headers
Signed-off-by: Alex Maclean <monkeh@monkeh.net>
2022-03-26 11:59:27 -04:00
Kevin O'Connor
befb503cf0 workflows: Add comment when adding reviewer-needed label to idle ticket
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-26 11:42:40 -04:00
Charles Pickering
7e654aed2f docs: Fix config snippet for polar
Previously the section for stepper_bed was intertwined with printer. This commit makes it match (../config/example-polar.cfg).

Signed-off-by: Charles Pickering <me@charlespick.xyz>
2022-03-20 11:43:32 -04:00
SyrasX
3e0c0e9ccf config: Added Config for Creality Ender 5 Pro 2020 (#4836)
Signed-off-by:  Maxim Schessler <maxim.schessler@gmail.com>
2022-03-18 20:42:15 -04:00
Justin Schuh
1390b4d600 virtual_sdcard: Allow spaces in file path for M23
Also makes M23 work normally with rename_existing.

Signed-off-by: Justin Schuh <code@justinschuh.com>
2022-03-18 11:44:33 -04:00
Kevin O'Connor
b4b19b8fc1 docs: Add a link to Rotation_Distance.md in Example_Configs.md
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-17 21:50:33 -04:00
Kevin O'Connor
98d3fffd79 palette2: Fix typo (gmcd vs gcmd)
Reported by @Ludy87.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-17 20:53:07 -04:00
Kevin O'Connor
a43973b0e0 skew_corrections: Fix typo (gmcd vs gcmd)
Reported by @Ludy87.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-17 20:52:10 -04:00
Spencer Owen
743c766f47 config: Adds Ender 2 Pro config (#5359)
Adds a default config for Ender 2 Pro. Printer uses creality 4.2.3 board

Signed-off-by: Spencer Owen <owenspencer@gmail.com>
2022-03-17 20:43:55 -04:00
Kevin O'Connor
d7f8bf351f docs: Fix section headers of [display] sections in Config_Reference.md
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-16 12:04:41 -04:00
Kevin O'Connor
81283423f4 test: Minor file ordering change to printers.test
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-14 14:50:20 -04:00
Apulo
1ccebfce1b config: generic-th3d-ezboard-lite-v2.0.cfg (#5247)
This file includes the build instructions and generic configuration for the TH3D EZBoard Lite v2.0 3d printer control board.

Signed-off-by: Anthony Dellett <anthony.dellett@gmail.com>
2022-03-14 14:48:22 -04:00
Ricardo Alcântara
0761026e36 pca9632: LED module for FlashForge Dreamer 3D printer (#4654)
Added PCA9632 LED module support using software I2C from MCP4018
modulo drive the LED strip of a FlashForge Dreamer 3D printer.
Based on the PCA9533 module. 

Signed-off-by: Ricardo Alcantara <ricardo@vulcanolabs.xyz>
2022-03-14 14:28:42 -04:00
Blinker73
df79893dbc linux: Update i2c.c (#5295)
Similarly to commit 8cf1b512 for SPI, the Rpi4 has more i2c busses to offer
This change allows klipper to use up to I2c bus 6
/boot/configtxt 
dtparam=i2c_arm=on
dtoverlay=i2c6

and 

pi@fluiddpi:~ $ ls -1 /dev/i2c*
/dev/i2c-1
/dev/i2c-6

Signed-off-by: Sylvain Dansereau <brutus_dansereau@hotmail.com>
2022-03-14 14:24:27 -04:00
Kevin O'Connor
082d773e2e test: Add printer-monoprice-select-mini-v1-2016.cfg to printers.test
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-14 14:20:24 -04:00
jace
c27a9182f3 config: Config for Monoprice Select Mini v1 (#5243)
Signed-off-by: Jace Wiseman <jwiseman@gmail.com>
2022-03-14 14:17:32 -04:00
Miklós Tusz
c8cc2a1e27 scripts: Migrate check_whitespace.py to python3
Modified strings used in pattern matching to b-strings as are expected
with python3.

Signed-off-by: Miklos Tusz <miklos@aon3d.com>
2022-03-14 13:53:21 -04:00
Stefan Dej
12e304fbec temperature_fan: add missing round function to get_status temperature
Signed-off-by: Stefan Dej <meteyou@gmail.com>
2022-03-14 13:48:38 -04:00
Ofir Petrushka
5d0d6d5a32 config: Adding bed_screws to Ender 3 (#5252)
Signed-off-by: Ofir Petrushka <ofir.petrushka@gmail.com>
2022-03-14 13:38:05 -04:00
just-trey
352f735297 config: Elegoo Neptune 2 config update (#5213)
Signed-off-by: Trey Wentz <trey.wentz@gmail.com>
2022-03-14 12:50:38 -04:00
electron2410
02d770ae3c neopixel: add BGR for neopixel (#5160)
Signed-off-by: Thomas Liebold <electron2410@gmail.com>
2022-03-14 12:30:58 -04:00
Kevin O'Connor
7731c30422 stm32: Allow 32KiB bootloader to be specified for all STM32F4 builds
Reported by @GerogeFu.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-14 12:26:41 -04:00
Kevin O'Connor
30098db22a docs: Fix typo in RPi_microcontroller.md
Reported by @bradengel.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-14 00:38:25 -04:00
Kevin O'Connor
5e91c5de28 workflows: Update invalid-label-bot.yaml to use actions/github-script@v6
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-13 17:14:43 -04:00
Kevin O'Connor
021459e53e workflows: Update stale-issue-bot.yaml to use actions/github-script@v6
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-13 17:13:56 -04:00
Kevin O'Connor
2f8f99acae workflows: Mark inactive github PRs with "reviewer needed"
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-13 17:13:56 -04:00
Kevin O'Connor
341e56dcea workflows: Automatically close PRs with "reviewer needed" that become stale
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-13 17:13:56 -04:00
Kevin O'Connor
cc3c4c81e9 workflows: Add github tool to add a comment to PRs marked "reviewer needed"
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-13 17:13:55 -04:00
Kevin O'Connor
1de0d75079 docs: Move "benefits" review section up in CONTRIBUTING.md
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-13 17:13:55 -04:00
Kevin O'Connor
e3beafbdb4 stm32: Clarify CCIPR2 setting in stm32g0.c
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-11 14:12:11 -05:00
Fritz Webering
24e7bbf0df docs: Add missing bltouch lift_speed option to Config_Reference.md (#5344)
Signed-off-by: Fritz Webering <fritz@webering.eu>
2022-03-11 13:35:08 -05:00
Kevin O'Connor
4ce2d379bb stm32: Simplify CCIPR2 register assignment on stm32g0
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-09 13:28:00 -05:00
BIGTREETECH
d75154d695 stm32: USB clock source from PLLQCLK on stm32g0 (#5341)
Signed-off-by: Alan.Ma from BigTreeTech <tech@biqu3d.com>
2022-03-09 13:11:04 -05:00
Kevin O'Connor
c721c20c97 docs: Improve G-Codes.md description of extruder commands
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-08 15:34:11 -05:00
Kevin O'Connor
c067d4df73 klipper3d-deploy: Temporarily disable translations on klipper3d.org
Temporarily disable support for multiple languages on the main
klipper3d.org site.  The search functionality isn't working correctly
with translations.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-08 14:58:36 -05:00
Pedro Lamas
38b992532a display_status: stops M73 from setting progress to 0 if P missing
Signed-off-by: Pedro Lamas <pedrolamas@gmail.com>
2022-03-08 14:20:35 -05:00
Kevin O'Connor
fe2974b8ec extruder: Verify trapq is unmodified on default SET_PRESSURE_ADVANCE
Check that a SET_PRESSURE_ADVANCE without an explicit EXTRUDER
parameter isn't done after the user disables or reassociates the
extruder stepper motor (via SYNC_EXTRUDER_MOTION).  Otherwise, it
could lead to very confusing results.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-04 13:38:59 -05:00
Kevin O'Connor
4815a946c2 extruder_stepper: Do not default to synching with "extruder" at startup
With recent changes, the extruder_stepper may be used for new
purposes, and synchronizing to the "extruder" motion queue at startup
may become a confusing default.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-04 13:38:59 -05:00
Kevin O'Connor
6627d036ac extruder: Allow an extruder object to be created without a stepper
This may be useful for dual hotend printers that have only one
stepper.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-04 13:20:35 -05:00
Kevin O'Connor
4a8aece6a7 docs: Note g-code output is not intented to be parsed in G-Codes.md
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-03 22:20:27 -05:00
Kevin O'Connor
c31f981575 docs: Add link to GET_POSITION description in G-Codes.md
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-03 21:48:57 -05:00
Kevin O'Connor
7ce409d7a5 lpc176x: Fix serial ordering of initialization
The serial device needs to be enabled before setting the DLAB bit.
This prevented UART3 from working.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-01 12:55:06 -05:00
Andrei Ignat
682d38f590 delta: Multiple steppers on delta tower (#5217)
Updated tower rail setup to support multiple steppers per tower.

Signed-off-by: Andrei Ignat <andrei@ignat.se>
2022-02-28 23:14:25 -05:00
Andrei Ignat
bbd1ddadd1 corexy: Multiple steppers per axis on CoreXY (#4886)
Allowing multiple steppers per axis.

Signed-off-by: Andrei Ignat <andrei@ignat.se>
2022-02-28 23:11:50 -05:00
Lorenzo
7c964e5fdf dac084S085: SPI DAC DAC084S085 implementation (#5134)
Alligator Board Rev2 tested config sample.
Add example configuration file for Alligator board rev.3.

Signed-off-by: Lorenzo Franco <lorenzo.franco@lorenzing.com>
2022-02-22 10:28:28 -05:00
Kevin O'Connor
b0a24a4458 motion_report: Ensure startstop_cb is called atomically
Make sure APIDumpHelper() does not invoke the startstop callback while
it is already running.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-02-21 22:22:14 -05:00
Frank Tackitt
2b2caa8f05 klippy-requirements: Pin markupsafe==1.1.1 to fix python3 (#5286)
Markupsafe updated and the latest version no longer includes `soft_unicode`

Signed-off-by: Franklyn Tackitt <git@frank.af>
2022-02-21 13:26:18 -05:00
Kevin O'Connor
9e15321418 docs: Minor wording change to Example_Configs.md
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-02-21 12:20:21 -05:00
Kevin O'Connor
7202a5da8e docs: Minor wording change in Example_Configs.md
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-02-21 12:17:30 -05:00
Kevin O'Connor
74dbd8a8e4 docs: Fix Example_Configs.md list rendering
Mkdocs doesn't support a third level of list nesting.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-02-21 12:14:59 -05:00
Kevin O'Connor
c3baa671a5 docs: Update Example_Configs.md
Document that spaces and special characters should not be in the
config filename.

Remove reference to step_distance and pin_map deprecated features, as
those features are now fully removed.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-02-21 12:04:45 -05:00
Misterke
8b0c6fcb08 bed_mesh: Report actual mesh profiles as status
Report the actual profiles available via BED_MESH_PROFILE
via the status for use by clients.

Signed-off-by: Kurt Haenen <kurt.haenen@gmail.com>
2022-02-16 13:42:19 -05:00
Kevin O'Connor
131cca2b51 docs: Change the klipper3d.org "language selection" icon
Change from the "material translate icon" to the "material language
icon" for the language selection icon.  (The "material language icon"
is an alias for the "material web icon" and it seems we can't use the
alias, so we directly set the icon to "material/web".)

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-02-16 12:09:09 -05:00
Polar-Ted
d94d690d67 config: Update printer-tronxy-x5sa-v6-2019.cfg (#5262)
Lines 94 and 97. Fan speed should be 1 and not 0.5
removed lines to use default settings. 

[heater_fan hotend_fan]
pin: PG14

[fan]
pin: PG13

Signed-off-by: Scott Schering <sschering@gmail.com>
2022-02-14 19:17:38 -05:00
joshindc
38220da46b config: Update printer-wanhao-duplicator-i3-v2.1-2017.cfg (#5261)
Add correct kill_pin for stock Melzi board and LCD.

Signed-off-by: Joshua Whitman <whitmanj@gmail.com>
2022-02-14 19:16:40 -05:00
Yifei Ding
646bb02355 docs: Fix Translation Support Script (#5263)
Signed-off-by: Yifei Ding <yifeiding@protonmail.com>
2022-02-14 14:13:12 -05:00
Kevin O'Connor
c78676ff5f docs: Fixes for mkdocs translation support
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-02-14 11:35:07 -05:00
Yifei Ding
61329049a6 docs: Mkdocs i18n support (#5072)
Signed-off-by: Yifei DIng <yifeiding@protonmail.com>
2022-02-14 11:29:41 -05:00
Wilhelm Schuster
f0241d7dec docs: Drop duplicated firmware_retraction G-Codes section
Signed-off-by: Wilhelm Schuster <dev@rot13.io>
2022-02-14 11:21:22 -05:00
Kevin O'Connor
e3cbe7ea36 stm32: Clear SPE flag on a change to SPI CR1 register
The stm32 specs indicate that the SPE bit must be cleared before
changing the CPHA or CPOL bits.

Reported by @cbc02009 and @bigtreetech.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-02-10 18:12:01 -05:00
Kevin O'Connor
99d55185a2 stm32: Wait for transmission to complete before returning from spi_transfer()
It's possible for the SCLK pin to still be updating even after the
last byte of data has been read from the receive pin.  (In particular
in spi mode 0 and 1.)  Exiting early from spi_transfer() in this case
could result in the CS pin being raised before the final updates to
SCLK pin.

Add an additional wait at the end of spi_transfer() to avoid this
issue.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-02-10 17:27:55 -05:00
Kevin O'Connor
1c594ef27a bed_mesh: Fix integer division issue on Python3
Reported by @CODeRUS.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-02-10 14:09:15 -05:00
Kevin O'Connor
2e17519a7e extruder: Deprecate old extruder commands and shared_heater config option
Deprecate SET_EXTRUDER_STEP_DISTANCE and SYNC_STEPPER_TO_EXTRUDER.
Recommend using SET_EXTRUDER_ROTATION_DISTANCE and
SYNC_EXTRUDER_MOTION.

Deprecate the extruder "shared_heater" option and reocmmend using
extruder_stepper config sections to obtain the same functionality.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-02-10 13:25:16 -05:00
Kevin O'Connor
2af8c5aa86 extruder: Add new SYNC_EXTRUDER_MOTION command
This command is a rename of SYNC_STEPPER_TO_EXTRUDER.  This change is
in preparation for the removal of SYNC_STEPPER_TO_EXTRUDER.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-02-10 13:24:21 -05:00
Kevin O'Connor
9ec9742484 extruder: Add support for reversing the direction of extruder stepper movement
Extend SET_EXTRUDER_ROTATION_DISTANCE to support reversing the
direction of extruder movement.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-02-10 13:24:21 -05:00
Kevin O'Connor
189188e3ca extruder: Add a SET_EXTRUDER_ROTATION_DISTANCE command
Support altering the extruder distance using the higher-level
rotation_distance.  This is in preparation for removal of the
SET_EXTRUDER_STEP_DISTANCE command.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-02-10 13:24:21 -05:00
Kevin O'Connor
6d7c03365a logextract: Add support for reordering stepper queue messages by timestamp
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-02-07 00:06:40 -05:00
Kevin O'Connor
c8560b367d logextract: Add support for reordering trapq moves by timestamp
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-02-06 23:42:01 -05:00
Kevin O'Connor
739ff465a7 logextract: Support reordering API Server messages by timestamp
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-02-06 23:15:28 -05:00
Kevin O'Connor
6cd1e794f7 logextract: Breakup shutdown parsing into classes
Separate out message parsing into individual classes.  This should
make the code a little eaiser to understand.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-02-06 23:14:31 -05:00
adelyser
9174c0241e stm32: Fix ADC on stm32h7 (#5239)
Don't reset the ADC peripheral if the clock is already enabled.
Fixes #5236

Signed-off-by: Aaron DeLyser <bluwolf@gmail.com>
2022-02-06 18:29:53 -05:00
cbc02009
54646c77dc bme280: fix integer handling for python3 in bme280.py (#5237)
Singed-off-by: Christopher Conroy <cbc02009@gmail.com>
2022-02-06 12:15:35 -05:00
Kevin O'Connor
0143199175 Makefile: Improve handling of board symbolic link creation
Running "make" directly after a "make distclean" can lead to a corrupt
out/board symbolic link.  Rework the make rules so that the board
symbolic link is created in a new make instance that has the updated
definition of CONFIG_BOARD_DIRECTORY.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-02-03 17:39:57 -05:00
Kevin O'Connor
427f4b456e docs: Fix unescaped angle brackets in G-Codes.md
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-02-01 12:19:23 -05:00
Kevin O'Connor
30be45c1ae docs: Fix link in G-Codes.md
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-02-01 12:11:22 -05:00
Kevin O'Connor
c80552f9e7 docs: Reorganize layout of G-Codes.md
Break listing up by module name.  Provide links to "extended"
commands. Sort reference by module name.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-02-01 11:59:55 -05:00
Kevin O'Connor
9c4172784a docs: Update Resonance_Compensation.md to recommend SET_VELOCITY_LIMIT
It's no longer necessary to update the printer.cfg file to alter the
max_accel and square_corner_velocity parameters.  Update the
Resonance_Compensation.md document to reflect this.

Also, recommend using STEP_DELTA in the TUNING_TOWER commands.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-01-31 18:36:42 -05:00
Lasse Dalegaard
a7b01857f5 flash_usb: use sudo for rp2040 flashing
The rp2040 can be flashed without sudo when using udev rules to give the
user permission, but in a standard configuration sudo is required.

Here we make it possible for flash_usb to use sudo for the rp2040
target, and make it the default when using `make flash` for the rp2040.
As for other targets, one can set `NOSUDO=1` to not call through sudo.

Signed-off-by: Lasse Dalegaard <dalegaard@gmail.com>
2022-01-31 11:10:02 -05:00
Haxk20
15ffa85954 doc: Fix typo in Manual_Level.md (#5161)
Just a small commit fixing a tiny typo i noticed.

Signed-off-by: Martin Botka <martin.botka@somainline.org>
2022-01-29 18:18:03 -05:00
adelyser
b414fc4975 spi_flash: Add btt-skr-bx-se to the board types (#4951)
Signed-off-by: Aaron DeLyser <bluwolf@gmail.com>
2022-01-29 13:32:48 -05:00
adelyser
c15d38b973 config: Add BIQU BX printer config (#4950)
Signed-off-by: Aaron DeLyser <bluwolf@gmail.com>
2022-01-29 13:31:41 -05:00
Kevin O'Connor
31cefe15cf docs: Improvements to RPi_microcontroller.md
Wraps lines to 80 columns.  Only use triple backticks on multi-line
code excerpts.  Add backticks around "sudo raspi-config".  Move
"Enabling SPI" section to be near pwm and gpio configuration.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-01-28 18:27:07 -05:00
Sergey1560
fb6d6d381c stm32: Add remap CAN to PD0/PD1 for stm32f103 (#5173)
Signed-off-by: Sergey Terentiev <sergey@terentiev.me>
2022-01-26 18:06:55 -05:00
Dmitry Butyugin
40702bf9db docs: Updated simulavr building instructions
Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2022-01-26 18:02:24 -05:00
Yifei Ding
7d57a7c4c8 docs: Various minor fixes (#5175)
Signed-off-by: Yifei Ding<yifeiding@protonmail.com
2022-01-26 18:00:18 -05:00
Nick Douma
28b568a6ac gcode_arcs: detect CW / CCW move with renamed G2/G3 command (#5096)
The G2 / G3 command might be renamed using `gcode_macro` + `rename_existing`. This change allow detecting clockwise / anti-clockwise moves when the command gets renamed.

Signed-off-by: Nick Douma <n.douma@nekoconeko.nl>
2022-01-22 20:47:51 -05:00
D4SK
2f1edac922 tmc: Fix number of arguments in phase endstop warning (#5184)
Signed-off-by: Konstantin Vogel <konstantin.vogel@gmx.net>
2022-01-22 20:41:44 -05:00
Kevin O'Connor
f97fd7c6e3 gcode: Handle M117 and M118 commands that start with a special character
Commit 7ef7bf60 broke the special handling for M117 commands that
start with a number or special character.  Fix that support and extend
to M118 as well.

Also improve handling of commands not separated by a space (eg,
"M117HELLO").

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-01-18 11:34:40 -05:00
Kevin O'Connor
02d5f9754f extruder: Support disassociating a stepper from all extruders
Support SYNC_STEPPER_TO_EXTRUDER commands with an EXTRUDER parameter
set to an empty string.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-01-16 19:01:15 -05:00
Kevin O'Connor
eb2a67cb95 extruder: Support SYNC_STEPPER_TO_EXTRUDER on extruder objects
Refactor the extruder_stepper support so that it uses the
ExtruderStepper class defined in extruder.py.

Support the SYNC_STEPPER_TO_EXTRUDER command on steppers defined in
either extruder_stepper or extruder config sections.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-01-16 19:01:15 -05:00
Kevin O'Connor
ffbd2698fe extruder: Separate extruder stepper tracking to new ExtruderStepper class
Move the stepper handling (including pressure advance handling) to a
new class.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-01-16 19:01:15 -05:00
Kevin O'Connor
29724a7411 extruder: Don't store pressure_advance value in trapq moves
Store the pressure_advance value in "struct extruder_stepper" instead
of in the trapq's "struct move".  This makes it possible for multiple
stepper motors to have different pressure advance values while still
using the same trapq.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-01-16 19:01:15 -05:00
Kevin O'Connor
34a1ce4837 tmc2130: Rework current selection to prefer vsense=1
It is preferable to program the tmc drivers with an irun (or cs)
setting near 31, as otherwise the driver may have reduced microstep
precision.  It was possible for the driver to be programmed with
irun=16 or irun=17 when it could have been configured with irun=31
with vsense=1 instead.  This would occur on tmc2130/tmc2208/tmc2209
drivers for values around 0.900 to 1.000 amps (when using a typical
sense_resistor settings of 0.110 Ohms).

Change the code to prefer using vsense=1 to avoid this issue.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-01-16 19:00:00 -05:00
Filip Trplan
89b4fecac4 config: Correct Pin for the CR-6 SE 2021 Example Config (#5142)
The fan pin PA0 is not correct for the 2021 revision of the CR-6 SE using the
4.5.3 revision of the Creality board. Changed the pin to PB15 in order to
get it working

Signed-off-by: Filip Trplan <filip@trplan.si>
2022-01-16 14:22:44 -05:00
individ-divided
538f09a2da pause_resume: Do not clobber default state name by accident (#5156)
Previously accidentally used 'default' state name instead of the
stated one ('PAUSE_STATE'). This might collide with user usage of the
SAVE_GCODE_STATE macro.

Signed-off-by: David Grundberg <individ@acc.umu.se>
2022-01-16 13:00:24 -05:00
Tim Abraham
babb067b60 neopixel: Update neopixel.py to add BRG color order (#5110)
Add BRG color option.
Document BRG color option.

Signed-off-by: Timothy Abraham <Timothyabe93@gmail.com>
2022-01-12 12:18:08 -05:00
Lasse Dalegaard
090fcf928f rp2040: implement I2C
This implements I2C for the rp2040 target. All output groupings of both
I2C blocks are available for use.

Signed-off-by: Lasse Dalegaard <dalegaard@gmail.com>
2022-01-12 11:44:31 -05:00
maze
6e6ad7b520 config: Update generic-mellow-super-infinty-hv.cfg (#4876)
TMC2130/5160 can make use of `spi3`, which is operated on the software SPI pins in the current configuration. The supplied defaults for software SPI do not currently work.

Heater0 pin was marked incorrectly, should be `PB0`

Signed-Off-By: Wijnand Modderman-Lenstra <maze@maze.io>
2022-01-09 21:44:40 -05:00
Paul McGowan
de366ee854 docs: Docs comma culture (#4822)
Many non-English speaking countries use a comma as a decimal separator for printed numbers. This can create some confusion in documentation and config files when not surrounded by contextual clues like parenthesis.  Improve documentation by adding spaces to coordinates.

Signed-off-by: Paul McGowan <mental450@gmail.com>
2022-01-09 21:13:53 -05:00
Kevin O'Connor
4c8d24ae03 stm32: Update Kconfig as CANBUS isn't available on stm32f401
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-01-07 22:17:26 -05:00
Lasse Dalegaard
7c0559c6e6 rp2040: add make flash support
This adds `make flash` support for the rp2040 target. Flashing is
performed using a custom `rp2040_flash` tool that uses the PICOBOOT
protocol. Root is not required.

The user specifies the serial device of the rp2040 they wish to flash as
the device. This device is reset into bootsel mode and `rp2040_flash`
is invoked on the original USB device path.

If the device is already in bootloader mode, the user can specify
'first' as `FLASH_DEVICE` which will simply invoke `rp2040_flash` with
no bus/address options.

Signed-off-by: Lasse Dalegaard <dalegaard@gmail.com>
2022-01-06 17:32:54 -05:00
Kevin O'Connor
8a3727ef74 docs: Note some BL-Touch clones do not support touch_mode in BLTouch.md
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-01-03 22:05:38 -05:00
Kevin O'Connor
608cd38de5 docs: Upgrade to mkdocs-material v8.1.3
This version seems to fix an error in text highlighting during search.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-12-31 11:22:44 -05:00
Kevin O'Connor
7e4dff3b37 docs: Remove mkdocs-section-index from mkdocs-requirements.txt
Commit bd0185cf removed the section-index plugin.  Remove it from the
build requirements as well.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-12-31 11:22:44 -05:00
Stephen Hurd
f8afe49a2f toolhead: Fix toolhead stop on SET_VELOCITY_LIMIT (#5053)
This fixes issue #5050

Signed-off-by: Stephen Hurd <deuce@synchro.net>
2021-12-30 18:56:24 -05:00
Dmitry Butyugin
309b8e030f scripts: Migrated shaper calibration scripts to Python3
Also updated instructions to install python3-numpy and
python3-matplotlib Python packages.

Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2021-12-30 18:14:53 -05:00
Kevin O'Connor
8b6753d68f stm32: Unify enable_pclock() code
Unify the handling of the enable_pclock() and is_enabled_pclock() code
across all stm32 chips.  All chips will now perform a peripheral reset
on enable_pclock() (this is a change for stm32f0 and stm32h7).  The
enable_pclock() code will now also disable irqs during the enable.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-12-30 12:18:05 -05:00
adelyser
9bdd61758e stm32: Fix the GPIO register for stm32h7 (#5077)
Signed-off-by: Aaron DeLyser <bluwolf@gmail.com>
2021-12-29 18:01:28 -05:00
Yifei Ding
98af5dffe6 docs: Improve filament width sensor documentation (#5058)
Add Filament Width Sensor to G-Codes.md

Remove Redundant Filament Width Sensor Entries

Remove Duplicate Status Reference In Hall Filament Width Sensor

Fix Indentation For Filament Width Sensors

Signed-off-by: Yifei Ding<yifeiding@protonmail.com>
2021-12-27 12:41:31 -05:00
Kevin O'Connor
634ae08df6 config: Minor updates to generic-bigtreetech-skr-pico-v1.0.cfg
Small wording change and add to printer test cases.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-12-27 12:32:12 -05:00
BigTreeTech
aa2ede4a8c config: Add BigTreeTech SKR Pico V1.0 board (#5022)
Signed-off-by: Alan.Ma from BigTreeTech <tech@biqu3d.com>
2021-12-27 12:28:21 -05:00
Yifei Ding
4d3198d44d docs: Clarify the Thickness of Paper
Signed-off-by: Yifei Ding <yifeiding@protonmail.com>
2021-12-27 12:24:58 -05:00
Kevin O'Connor
0db696b0e9 docs: Fix hybrid_corexy typo in Config_Reference.md
Reported by @controlflow.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-12-27 12:21:33 -05:00
Kevin O'Connor
8090d365f6 docs: Add stm32g0b1 to benchmarks
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-12-27 10:47:52 -05:00
Kevin O'Connor
247cd753e2 stm32: Fix ADC on stm32f042
It seems the stm32f042 chip needs a small delay during ADC enable.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-12-24 19:27:04 -05:00
Kevin O'Connor
9f31a35e75 test: Add stm32g0 and generic-bigtreetech-skr-mini-e3-v3.0.cfg to test cases
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-12-24 11:43:08 -05:00
BigTreeTech
a518cfb02f config: Add BigTreeTech SKR mini E3 V3.0 board (#5040)
Signed-off-by: Alan.Ma from BigTreeTech <tech@biqu3d.com>
2021-12-24 11:33:38 -05:00
Kevin O'Connor
f0b20f0bdf spi_flash: Add btt-skr-mini-e3-v3 board definition
Signed-off-by: Alan.Ma from BigTreeTech <tech@biqu3d.com>
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-12-23 22:15:26 -05:00
Kevin O'Connor
c89a01c83b stm32: Enable SPI support on stm32g0
Signed-off-by: Alan.Ma from BigTreeTech <tech@biqu3d.com>
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-12-23 22:15:26 -05:00
Kevin O'Connor
1c24317380 stm32: Enable ADC support on stm32g0
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-12-23 22:15:26 -05:00
Kevin O'Connor
88325b6c93 stm32: Rework register access on stm32f0_adc.c
Avoid read-modify-write operations where possible.  The register
values are in a known state so prefer absolute writes.

Improve handling of race conditions with hardware updates.

Remove the adc reference from "struct gpio_adc" as it is a constant.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-12-23 22:15:26 -05:00
Kevin O'Connor
20ac48f680 stm32: Minor whitespace changes to stm32f0_adc.c
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-12-23 22:15:26 -05:00
Kevin O'Connor
b710174107 stm32: Enable I2C on stm32g0
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-12-23 22:15:26 -05:00
Kevin O'Connor
9549a3b4fb stm32: Add support for USB on stm32g0
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-12-23 22:15:26 -05:00
Kevin O'Connor
8d7a6e4ca4 stm32: Rework USB transfer memory layout in usbfs.c
Use a fixed layout for the USB transfer memory and remove the ep_mem
struct definition.

This is in preparation for stm32g0 support.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-12-23 22:15:26 -05:00
Kevin O'Connor
a4a02e86af stm32: Fix buffer size calculation in usbfs.c
When the buffers are over 32 bytes, a block count of 1 starts at 0.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-12-23 22:15:25 -05:00
Kevin O'Connor
7d2c966241 stm32: Simplify irq declaration in usbfs.c
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-12-23 22:15:25 -05:00
Kevin O'Connor
6e8f28117b stm32: Initial support for stm32g0
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-12-23 22:15:25 -05:00
Kevin O'Connor
4576b3918c lib: Add cmsis libraries for stm32g0
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-12-23 22:15:25 -05:00
Kevin O'Connor
dc3ac2b424 stm32: Enable optimized gpio_clock_enable() function on stm32h7
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-12-23 22:15:25 -05:00
Kevin O'Connor
e56b63fd7e stm32: Reorganize stm32h7.c into major code blocks
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-12-23 22:15:25 -05:00
Kevin O'Connor
de35790709 stm32: Remove USB boot stubs from stm32h7.c
The USB dfu bootloader wasn't enabled on stm32h7, so remove the
copy-and-paste code stubs for it.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-12-23 22:15:25 -05:00
Kevin O'Connor
617f620f00 stm32: Fix DFU entry point on stm32f072
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-12-23 22:15:25 -05:00
Kevin O'Connor
e14dca0f06 stm32: Reorganize usb bootloader code in stm32f0.c
Reorganize stm32f0.c into major code blocks.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-12-23 22:15:25 -05:00
Kevin O'Connor
e55011cde8 stm32: Reorganize usb bootloader code in stm32f4.c
Reorganize stm32f4.c into major code blocks.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-12-23 22:15:25 -05:00
Kevin O'Connor
d29f97cd99 stm32: Reorganize code in stm32f1.c
Reorganize stm32f1.c into major code blocks.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-12-23 22:15:25 -05:00
Kevin O'Connor
2ee1f48895 stm32: Add new gpioperiph.c file for gpio_peripheral() code
The gpio_peripheral() code is the same in stm32f0.c, stm32f4.c, and
stm32h7.c.  Move that function to a new gpioperiph.c file to avoid
code duplication.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-12-23 22:15:25 -05:00
Kevin O'Connor
debcc22fc5 docs: Provide details on review process for new submissions
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-12-18 17:27:49 -05:00
Yifei Ding
dd714fc7a1 docs: Update raspberrypi.com Links in FAQ
Signed-off-by: Yifei Ding <yifeiding@protonmail.com>
2021-12-15 22:21:48 -05:00
gjsmo
e7ba140337 config: Add configuration for Modix Big60 printer (#4986)
Signed-off-by: Gabriel Smolnycki <gabjsmo0@gmail.com>
2021-12-15 14:06:29 -05:00
Kevin O'Connor
62cfc2527f statistics: Improve Python3 compatibility
Reported by @vladimir-poleh .

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-12-15 11:27:08 -05:00
Kevin O'Connor
0f3d68613d docs: Update tmc5160 stealthchop_threshold description in Config_Reference.md
Don't recommend tuning stealthchop_threshold as it can cause issues.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-12-15 11:24:44 -05:00
Kevin O'Connor
323268ea02 docs: Note systemic error introduced by interpolate setting in TMC_Drivers.md
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-12-12 12:44:06 -05:00
Kevin O'Connor
92c41b8827 config: Remove tmc interpolate setting from example configs
There is no reason to explicitly set the interpolate flag to true in
the example configs as that is already the default.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-12-12 12:44:06 -05:00
Kevin O'Connor
37a117e64f docs: Update TMC_Drivers.md with notes on spreadCycle vs stealthChop modes
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-12-12 12:44:06 -05:00
Kevin O'Connor
dfe9e8f783 config: Don't specify a hold_current in printer-hiprecy-leo-2019.cfg
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-12-12 12:44:06 -05:00
Kevin O'Connor
307462c203 config: Don't specify a hold_current in printer-eryone-er20-2021.cfg
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-12-12 12:44:06 -05:00
Kevin O'Connor
bfd098eb19 config: Remove hold_current from sample configs and sample macros
Now that the documentation recommends that hold_current not be set,
update the example config files to not specify a hold_current.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-12-12 12:44:06 -05:00
Kevin O'Connor
9552f5e546 docs: Recommend that hold_current not be specified
Changing motor current may itself introduce unwanted motor movement.
As such, document that specifying a hold_current is not recommended.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-12-12 12:44:06 -05:00
Yifei Ding
bea2027869 docs: Refresh Bootloaders.md Links
Some links are pointing to a beta bl (v0.5-beta) instead of the newest release (v0.7).

Raspberry Pi documentation had changed to adocs

Signed-off-by: Yifei Ding <yifeiding@protonmail.com>
2021-12-07 23:42:51 -05:00
usrhere
051133f81c docs: fixed typo in Resonance_Compensation.md option name (#4981)
Signed-off-by: Joseph Vilimas <4to5@protonmail.com>
2021-12-02 18:12:15 -05:00
Kevin O'Connor
8b2da0d353 motan: Fix comment copy-and-paste error in readlog.py
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-12-01 20:09:25 -05:00
Kevin O'Connor
fea30f8771 docs: Add a note on how to view the raw motan logs in Debugging.md
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-12-01 20:09:25 -05:00
Kevin O'Connor
520273e5ab stepper: Support step_pulse_duration even on TMC drivers in UART/SPI mode
Commit 689231df changed the default step_pulse_duration to 100ns for
TMC drivers that are configured in UART/SPI mode, but it failed to
document that change in Config_Changes.md and Config_Reference.md.
Update those documents to reflect that change.

Update the code so that a user may specify a custom
step_pulse_duration even on TMC drivers that are configured in
UART/SPI mode.  This may be useful for drivers that use a level
shifter on the step pin that requires more than a ~300ns to detect a
level change.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-11-29 16:56:29 -05:00
Nitram
54acca37ba delta: max z-accel and speed ratio calculation for deltas (#4689)
Adding a possibility to use a lower z- acceleration.

Signed-off-by: Martin Malmqvist <volcomosq@gmx.com>
2021-11-29 13:21:26 -05:00
Kevin O'Connor
2b7d0bba42 stm32: Add option to disable SWD on GigaDevice STM32F103 clones
Tested by @FotoFieber.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-11-25 10:15:58 -05:00
Kevin O'Connor
790d48b46c docs: Minor spelling fix to Config_Reference.md
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-11-24 11:14:26 -05:00
BigTreeTech
69c0bdefde config: Add HermitCrab board (#4870)
Signed-off-by: Alan.Ma from BigTreeTech <tech@biqu3d.com>
2021-11-24 09:53:55 -05:00
Yifei Ding
a1af78cb83 docs: Rename Documents
Signed-off-by: Yifei Ding <yifeiding@protonmail.com>
2021-11-22 21:03:32 -05:00
Yifei Ding
85667649d1 docs: beaglebone.md Caps and Code Fence
Signed-off-by: Yifei Ding <yifeiding@protonmail.com>
2021-11-22 21:03:32 -05:00
Yifei Ding
f80ec56486 docs: Bed_Mesh.md Fix List Nesting and Commands
Signed-off-by: Yifei Ding <yifeiding@protonmail.com>
2021-11-22 21:03:32 -05:00
Yifei Ding
fe91c0b41a docs: Benchemarks.md missing link to Features.md
Signed-off-by: Yifei Ding <yifeiding@protonmail.com>
2021-11-22 21:03:32 -05:00
Yifei Ding
f5f43d7a8c docs: Installation.md Capitalization
Signed-off-by: Yifei Ding <yifeiding@protonmail.com>
2021-11-22 21:03:32 -05:00
Yifei Ding
054beb1918 docs: Packaging Better Hyperlink and Fix Title Cap
Signed-off-by: Yifei Ding <yifeiding@protonmail.com>
2021-11-22 21:03:32 -05:00
Kevin O'Connor
7971715bb4 workflows: Lock issues that have been closed for 6+ months
Add a new automation to lock closed issues with no recent updates.
This is intended to reduce updates to old tickets that few people will
see.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-11-22 19:06:03 -05:00
Alex Zellner
05a8aca0a8 gcode: Allow rename_existing also for register_mux_command (#4843)
Signed-off-by: Alex Zellner <alexander.zellner@googlemail.com>
2021-11-22 11:22:12 -05:00
Kevin O'Connor
7085ed2d6c docs: Add low-level MMIO coding hints to Code_Overview.md
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-11-22 11:03:11 -05:00
Kevin O'Connor
faea45e60f mcu: Add checks to ensure pin max_duration doesn't overflow 32bit counter
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-11-22 10:11:09 -05:00
Kevin O'Connor
d1e13b7e12 mcu: Verify start value equal to shutdown value when using max duration
The mcu can only enforce the max duration if the start value is the
same as the shutdown value, so verify that before configuing the mcu.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-11-22 10:08:56 -05:00
adelyser
4eeb4620cd stm32: Add USBOTG support to stm32h7
Signed-off-by: Aaron DeLyser <bluwolf@gmail.com>
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-11-21 08:12:32 -05:00
JamesH1978
4d738c8379 config: add flash details for STM32F429 (#4942)
Updates for generic-bigtreetech-skr-2.cfg to include comment on newly shipped board with STM32F429 instead of the original STM32F407

Signed-off-by: James Hartley <james@hartleyns.com>
2021-11-21 08:06:31 -05:00
Dennis Marttinen
83889ac435 print_stats: Fix exception when canceling in/as first G-code
Signed-off-by: Dennis Marttinen <twelho@welho.tech>
2021-11-21 08:01:43 -05:00
Kevin O'Connor
8b401382f6 stm32: Enable SPI on stm32h7
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-11-20 18:26:52 -05:00
adelyser
3ac354088a stm32: Add stm32h7 SPI support (#4850)
Signed-off-by: Aaron DeLyser <bluwolf@gmail.com>
2021-11-20 18:23:23 -05:00
adelyser
b480734c88 stm32: Add STM32H743 support
Signed-off-by: Aaron DeLyser <bluwolf@gmail.com>
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-11-20 18:11:02 -05:00
Kevin O'Connor
7b69ef0750 stm32: Limit stm32h7 chips to 400Mhz
Don't go above 400Mhz as otherwise it causes 32bit rollover issues.
(Parts of the code expect a rollover will not occur faster than 10
seconds.)

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-11-20 18:11:02 -05:00
Kevin O'Connor
bb08dc7ae9 atsam: Add get_pclock_frequency() helper function
Add get_pclock_frequency() and use it to calculate peripheral clocks.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-11-20 13:52:16 -05:00
Alex Maclean
92ca111986 atsam: Fix I2C bitrate
Multiplying the desired bitrate by 4 results in half the
desired period and thus twice the desired bitrate.

Signed-off-by: Alex Maclean <monkeh@monkeh.net>
2021-11-20 13:28:35 -05:00
Alex Maclean
01a223393e atsam: Don't enable USB FS clock on SAM3
This clock is only needed for low-power operation mode,
and wasn't correctly configured anyway (should be 48MHz).

Signed-off-by: Alex Maclean <monkeh@monkeh.net>
2021-11-20 13:28:35 -05:00
Alex Maclean
c55a94001f atsam: Don't bother disabling DMA for UART
PDC is not enabled by default so no need to disable it

Signed-off-by: Alex Maclean <monkeh@monkeh.net>
2021-11-20 13:28:35 -05:00
Alex Maclean
e2133a7301 atsam: Don't set unused bits in UART
The CHRL and NBSTOP bits are not present
in the UART peripheral, only the USART.

Signed-off-by: Alex Maclean <monkeh@monkeh.net>
2021-11-20 13:28:35 -05:00
Kevin O'Connor
326c12728c docs: Fix incorrect error description in TMC_Drivers.md
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-11-19 13:05:41 -05:00
Kevin O'Connor
e772a92f16 docs: Fix spurious quote in TMC_Drivers.md
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-11-19 13:00:43 -05:00
Pedro Lamas
7ef7bf608a gcode_macro: Add "rawparams" pseudo-variable
Signed-off-by: Pedro Lamas <pedrolamas@gmail.com>
2021-11-19 11:22:36 -05:00
adelyser
a5ec751406 stm32: Add UART4 to stm32h7 (#4848)
Signed-off-by: Aaron DeLyser <bluwolf@gmail.com>
2021-11-19 10:27:56 -05:00
Yifei Ding
08dab6f825 docs: Improve TMC_Drivers Common Error Layout
Fixed some incorrect bold text introduced in 8f46ab27, corrected some TMC feature names.

Signed-off-by: Yifei Ding <yifeiding@protonmail.com>
2021-11-19 10:25:06 -05:00
Yifei Ding
0d0d8cbb7d docs: Re-organize Hall Filament Width Sensor Doc
Signed-off-by: Yifei Ding <yifeiding@protonmail.com>
2021-11-19 10:25:06 -05:00
Yifei Ding
71ab552562 docs: skew_correction Typo and Config Highlighting
Signed-off-by: Yifei Ding <yifeiding@protonmail.com>
2021-11-19 10:25:06 -05:00
Yifei Ding
c0ea48a582 docs: Match Single Blank Line Above and Below A Title
Signed-off-by: Yifei Ding <yifeiding@protonmail.com>
2021-11-19 10:25:06 -05:00
Yifei Ding
d602177281 docs: Correct TMC_Drivers Title Nesting
Signed-off-by: Yifei Ding <yifeiding@protonmail.com>
2021-11-19 10:25:06 -05:00
Yifei Ding
ee04a6340a docs: Align Lists
Signed-off-by: Yifei Ding <yifeiding@protonmail.com>
2021-11-19 10:25:06 -05:00
Eric Callahan
46381e03a4 gcode_macro: fix reference issues to the variables attribute (#4925)
Create a copy of the dictionary prior to updating the the variable field.
This fixes an issue where webhooks holds a reference to the variables
dict returned by get_status().

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2021-11-19 02:01:16 -05:00
Kevin O'Connor
68c92991ed docs: Minor example change in Code_Overview.md
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-11-16 20:33:12 -05:00
Kevin O'Connor
4861a0d958 docs: Add recommendation on Python type handling to Code_Overview.md
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-11-16 19:27:07 -05:00
Kevin O'Connor
779793c746 docs: Update Code_Overview.md with information on get_status()
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-11-16 19:15:20 -05:00
Kevin O'Connor
34f58f2816 workflows: Limit github ticket workflows to Klipper3d/klipper repo
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-11-16 18:51:50 -05:00
Kevin O'Connor
bea16c74be docs: Remove unneeded "raw" markdown tags from documentation
The `<!-- {% raw %} -->` tags are no longer needed now that the Jekyll
package is no longer used to process the markdown documentation.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-11-16 11:47:59 -05:00
Kevin O'Connor
d93e21fe67 docs: Expand on default_parameter_X conversion in Config_Changes.md
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-11-16 11:45:30 -05:00
Geoffrey Young
5dcc377cde temperature_sensors: add ATC Semitec 104NT-4-R025H42G thermistor
module: extras/temperature_sensors.cfg

this thermistor is the 104NT-4 resold by Trianglelab (and others on Ali),
as well as the 300 degree resold by Slice Engineering, both of which use the
same RT table (TL even links to the ATC Semitec website)

see the 300 C tab on the Slice spreadsheet:
  https://docs.google.com/spreadsheets/d/1904x5JK-Sup-cX5DqHiiZWaFVTK6_PQBFxgi_6yXEJw/edit#gid=934228925
as well as the TL product page:
  https://www.aliexpress.com/item/32843785247.html
in addition to the RT table provided in temperature_sensors.cfg

Signed-off-by: Geoffrey Young <geoffrey.young@gmail.com>
2021-11-15 23:14:32 -05:00
Kevin O'Connor
cf811e52d7 docs: Update benchmarks after stepper and scheduler changes
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-11-15 22:56:42 -05:00
Kevin O'Connor
c179db3d43 temperature_sensors: Deprecate "NTC 100K beta 3950" thermistor
It seems the common "beta 3950" thermistors generally follow a
temperature table defined by the new "Generic 3950" definition.  Using
a table that actually follows the "beta 3950" temperature curve is
generally less accurate.  Deprecate the existing "NTC 100K beta 3950"
definition to avoid this common issue.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-11-10 18:56:51 -05:00
Kevin O'Connor
19aac4055d temperature_sensors: Add a new "Generic 3950" thermistor
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-11-10 18:52:55 -05:00
Kevin O'Connor
c0909d2f7f temperature_sensors: Define default thermistors in config
Move the definitions of the default thermistors from thermistors.py to
the temperature_sensors.cfg file.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-11-10 18:52:55 -05:00
Kevin O'Connor
596cd21751 temperature_sensors: Define default sensors in new config file
Move the default list of sensor modules from heaters.py to a new
temperature_sensors.cfg config file.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-11-10 18:52:55 -05:00
Kevin O'Connor
59314d99e0 sched: Move last_insert check for improved gcc code layout
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-11-09 20:20:24 -05:00
Justin Schuh
cfff897480 spi_flash: Better fallback on MCU protocol change
Support a set of known past config responses.

Signed-off-by: Justin Schuh <code@justinschuh.com>
2021-11-09 20:15:46 -05:00
Eric Callahan
a0615e5e17 stm32f4: reset peripherals in enable_pcclock()
Reset peripherals to after enabling to clear stale
registers set by the bootloader.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2021-11-08 20:10:51 -05:00
Eric Callahan
bf9d497ab0 stm32f4: reset peripheral clocks on init
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2021-11-08 20:10:51 -05:00
Justin Schuh
76bfc3237a spi_flash: Fix MCU handshake protocol
Update config response string to match new version from d4aee4f.

Signed-off-by: Justin Schuh <code@justinschuh.com>
2021-11-08 20:07:38 -05:00
Kevin O'Connor
d4aee4f55e mcu: Make a minor change to the protocol to require mcu update
Commit 9ecddd1b fixed a serious error (introduced in 7d95a004).  Force
a protocol version change so users are aware of the need to update the
mcu code.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-11-06 18:47:44 -04:00
Kevin O'Connor
9ecddd1ba4 sched: Fix scheduling bug in repeat scheduler check
Commit 7d95a004 introduced a defect - if the cached timer pointed to
by last_insert did not reschedule itself then the cache would not be
in a valid state and other active timers may not get properly
rescheduled.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-11-06 00:19:48 -04:00
Kevin O'Connor
dccd555409 stepper: Move min_next_time check to stepper_event_full()
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-11-04 12:06:27 -04:00
Kevin O'Connor
14cbc6f754 docs: Update MCU_Commands.md with new config_stepper command
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-11-04 12:06:27 -04:00
Kevin O'Connor
689231df3a stepper: Add support for stepping on both edges of a step pulse
Add an optimized step function for drivers that support stepping on
both rising and falling edges of the step pin.  Enable this
optimization on 32bit ARM micro-controllers.  Automatically detect
this capability in the host code and enable on TMC drivers running in
SPI/UART mode.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-11-04 12:06:27 -04:00
Kevin O'Connor
4acfd8d7c8 stepper: Make step pulse duration customizable at run-time
Remove the STEP_DELAY Kconfig option and replace it with a per-stepper
step_pulse_duration printer.cfg config option.

The AVR code will continue to have optimized code to step and "unstep"
in the same function (which is automatically activated when the step
delay is 40 ticks or less).  This change removes the Kconfig option
for single function step/unstep on 32bit processors.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-11-04 12:06:27 -04:00
Kevin O'Connor
913d099261 linux: Use Unix signals to notify when a timer is pending
Use Unix signals in software timer implementation.  This makes the
code a little more efficient.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-11-02 13:27:51 -04:00
Kevin O'Connor
ffeafb690b docs: Note removal of deprecated features in Config_Changes.md
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-11-02 12:45:11 -04:00
Kevin O'Connor
8bfcedfb42 heaters: Remove support for deprecated pid_integral_max option
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-11-02 12:45:11 -04:00
Kevin O'Connor
6e0431907d gcode_macro: Remove support for deprecated features
Remove support for default_parameter_xxx config options.  Remove
support for direct access to command parameters.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-11-02 12:45:11 -04:00
Kevin O'Connor
0382ffbf68 pins: Remove support for deprecated pin_map option
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-11-02 12:45:11 -04:00
Kevin O'Connor
1699f378de console: Remove support for PINS command
Remove support for builtin pin aliases from the console.py tool.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-11-02 12:45:11 -04:00
Kevin O'Connor
b79a51c383 temperature_host: Remove support for deprecated rpi_temperature alias
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-11-02 12:45:11 -04:00
Kevin O'Connor
eea0137bf0 stepper: Remove support for deprecated step_distance option
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-11-02 12:45:11 -04:00
Kevin O'Connor
5d9d91d3a6 docs: Should be "LM75" instead of "lm75" in Config_Reference.md
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-11-01 11:34:29 -04:00
Kevin O'Connor
d23c1b06c6 gcode: Fix Python3 syntax error
Fix error introduced in d6c3aaad.  Also, go back to only accepting
ascii characters on input.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-31 14:15:32 -04:00
Kevin O'Connor
dd98884bb4 buildcommands: Use regular str() types for input on Python2
Avoid using unicode() types on Python2 as it can lead to subtle
errors.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-31 13:52:31 -04:00
Kevin O'Connor
ccee189f99 palette2: Use regular str() types for input on Python2
Avoid using unicode() types on Python2 as it can lead to subtle
errors.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-31 13:52:31 -04:00
Kevin O'Connor
1dee974aea serialhdl: Use regular str() type for stats on Python2
Avoid using unicode() types on Python2 as it can lead to subtle
errors.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-31 13:52:31 -04:00
Kevin O'Connor
fc5353364a util: Use regular str() type in get_git_version() on Python2
Avoid using unicode() types on Python2 as it can lead to subtle
errors.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-31 13:52:31 -04:00
Kevin O'Connor
7a6fd1a1aa console: Use regular str() types for commands on Python2
Avoid using unicode() types on Python2 as it can lead to subtle
errors.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-31 13:52:31 -04:00
Kevin O'Connor
d6c3aaad8a gcode: Use regular str() types for g-code commands on Python2
Avoid using unicode() types on Python2 as it can lead to subtle
errors.

Also, accept utf8 on gcode input (instead of just ascii).

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-31 13:51:52 -04:00
Kevin O'Connor
85d0ef974c stm32: Remove gcc -mfpu=fpv4-sp-d16 floating point option
The floating point unit must be enabled in order to use it and Klipper
does not currently implement that.  Newer versions of gcc may spill
registers to the floating point unit causing failures.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-30 01:10:50 -04:00
Kevin O'Connor
45d4970712 atsam: Remove gcc -mfpu=fpv4-sp-d16 floating point option
The floating point unit must be enabled in order to use it and Klipper
does not currently implement that.  Newer versions of gcc may spill
registers to the floating point unit causing failures.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-30 01:10:15 -04:00
Kevin O'Connor
2692e493c8 atsamd: Remove gcc -mfpu=fpv4-sp-d16 floating point option
The floating point unit must be enabled in order to use it and Klipper
does not currently implement that.  Newer versions of gcc may spill
registers to the floating point unit causing failures.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-30 01:05:47 -04:00
Eric Callahan
d90c3bc57a idle_timeout: exit the timer if the printer is shutdown
This resolves an issue where the timer can get stuck
in an attempt to transition from Ready to Idle if
the printer is shutdown.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2021-10-29 18:39:47 -04:00
Kevin O'Connor
cf4bfb1119 tmc: Rename handle_stepper_enable() method to _handle_stepper_enable()
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-29 11:56:44 -04:00
Kevin O'Connor
14bdc8e569 stepper: Remove unused _dist_to_time() method
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-29 11:41:59 -04:00
Kevin O'Connor
260f999b87 stepper: Remove unused SF_LAST_RESET flag
Tracking of the last reset is no longer needed after commit 8f76e53c.
Remove the code tracking that status and remove the flag definition.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-27 19:15:40 -04:00
Kevin O'Connor
7d95a00458 sched: Add repeat reschedule optimization
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-27 12:18:28 -04:00
Kevin O'Connor
c015c0708f sched: Place common global variables into a struct
Some architectures do better if the global variables accessed from the
timer dispatch code are in a struct.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-27 12:18:28 -04:00
Kevin O'Connor
86fee2d517 tmc: Track requested hold_current so SET_TMC_CURRENT doesn't reduce it
The code automatically reduces the hold_current so that it is no
greater than the run_current.  However, this could lead to confusing
behavior if one reduced and then increased the run_current via
SET_TMC_CURRENT commands.  To avoid that, this change adds support for
tracking the requested hold_current - thus changes to run_current
don't subtly alter the hold_current.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-27 12:13:38 -04:00
Kevin O'Connor
627c1c5d2a rp2040: Add barrier() around all memcpy() calls in usbserial.c
Make sure gcc doesn't reorder any of the memcpy() calls to the usb
data ram.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-27 11:16:34 -04:00
Lasse Dalegaard
de33180236 rp2040: add barrier in usb_read_ep0_setup
Some versions of gcc, in some cases, decide that it is OK to move the
read to `INTR` to right after clearing the `SETUP_REC` bit of
`SIE_STATUS`, instead of after the `memcpy`.

The rp2040 datasheet doesn't appear to say anything about how quickly
the `SETUP_REC` bit will be cleared in `INTR`, but regardless the
compiler should not be re-ordering the read like this.

Here we force the correct ordering using a memory barrier.

Signed-off-by: Lasse Dalegaard <dalegaard@gmail.com>
2021-10-27 11:10:17 -04:00
Kevin O'Connor
aa481fd9c3 test: Add an input_shaper module test case
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-26 20:01:33 -04:00
Kevin O'Connor
573fceefeb input_shaper: Fix python3 string encoding
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-26 20:01:33 -04:00
Kevin O'Connor
b62171f350 input_shaper: Restore shaper_type config option
The shaper_type config option got removed in commit d5a7a7f0 - restore
that option.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-26 18:06:11 -04:00
Dmitry Butyugin
54e21a7c26 input_shaper: Factored out AxisInputShaper class
Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2021-10-26 16:14:50 -04:00
Dmitry Butyugin
d5a7a7f00f input_shaper: Define input shapers in a single place in Python code
Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2021-10-26 16:14:50 -04:00
Kevin O'Connor
6c395fd016 config: Minor updates to printer-tronxy-xy-2-Pro-2020.cfg
Change extruder microsteps to 32.  Add to printers.test regression
test case.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-26 16:11:13 -04:00
gcastle2007
7af59a58cf config: Tronxy XY-2 Pro default (#4631)
Example default config for Tronxy XY-2 Pro.

It is default config for printer Tronxy XY-2 Pro (mainboard Chitu V6). This config based on config for Tronxy X5SA with mainboard Chitu V6.

Signed-off-by: Konstantin Bazhenin <kby@list.ru>
2021-10-26 16:01:31 -04:00
Kevin O'Connor
a33d0697b6 config: Don't use deprecated features in sample-pwm-tool.cfg
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-24 21:42:48 -04:00
Kevin O'Connor
7937678cb3 config: Remove deprecated features from printer-velleman-k8800-2017.cfg
Don't use deprecated default_parameter_x in
printer-velleman-k8800-2017.cfg .

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-24 21:41:52 -04:00
Kevin O'Connor
cc9541092a test: Update test case to not use pin_map
Remove all users of the pin_map setting.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-24 21:11:53 -04:00
Kevin O'Connor
f013b7bae6 test: Update test cases to use rotation_distance
Remove all users of step_distance from test configs.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-24 20:53:36 -04:00
Kevin O'Connor
823fdc9cb4 command: Make command_add_frame() and command_encodef() static
The only users of these two functions are in command.c so they can be
declared local to that code.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-21 01:25:17 -04:00
Kevin O'Connor
92e1481a52 pru: Perform message encoding on pru0 to free space on pru1
Copy the parameters of calls to console_sendf() on pru1 to pru0 and
then call that function on pru0.  Although copying the parameters is a
"hack", the code size reduction is notable.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-21 01:25:17 -04:00
Kevin O'Connor
5c10001bc5 motan: Minor change to corexy analyzer label
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-16 22:18:51 -04:00
Kevin O'Connor
cf3b7d290c motan: Add an analyzer to integrate accelerometer input
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-16 22:18:51 -04:00
Kevin O'Connor
466198c0f4 motan: Add support for graphing stepper motor phase and microstep position
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-16 22:18:51 -04:00
Kevin O'Connor
03021ae722 motan: Show data filename in graph title
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-16 22:18:45 -04:00
Eric Callahan
ec2116b4f7 temperature_sensor: round reported temps to 2 decimal places
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2021-10-15 18:01:19 -04:00
Eric Callahan
cd58a945e2 temperature_host: round reported temps to 2 decimal places
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2021-10-15 18:01:19 -04:00
Eric Callahan
bf598d0922 lm75: round reported temps to 2 decimal places
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2021-10-15 18:01:19 -04:00
Eric Callahan
916ef4483a htu21d: round reported temps to 2 decimal places
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2021-10-15 18:01:19 -04:00
Eric Callahan
e65b2593c6 heaters: round reported temps to 2 decimal places
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2021-10-15 18:01:19 -04:00
Eric Callahan
1153803360 ds18b20: round reported temps to 2 decimal places
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2021-10-15 18:01:19 -04:00
Eric Callahan
c499451ab8 bme280: round reported temps to 2 decimal places
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2021-10-15 18:01:19 -04:00
Kevin O'Connor
9a0bcf21cf docs: Update mkdocs-requirements.txt
Update mkdocs to v1.2.3 to avoid a github "dependabot" warning for
CVE-2021-40978.  (The CVE doesn't impact the klipper3d.org site, but
no harm in updating.)

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-15 12:24:10 -04:00
creyc
27434128a4 config: Update generic-printrboard.cfg to mention different Y endstop pin on RevF hardware (#4732)
Signed-off-by: Corey Schiller <gitcor@venemo.com>
2021-10-15 11:56:16 -04:00
Ilia Rebane
372cd2834c docs: Update BLTouch.md to prevent position_endstop error (#4731)
Klipper with Fluid complains about `position_endstop` line if `endstop_pin:
probe:z_virtual_endstop` used

Signed-off-by: Ilia Rebane <Agilatosay@gmail.com>
2021-10-15 11:55:20 -04:00
Arne Schwarck
96ee179e8b config: Fix typo in Octopus board (#4801)
As suggested in https://github.com/Klipper3d/klipper/pull/4792

Signed-off-by: Arne Schwarck <arneschwarck@gmail.com>
2021-10-13 14:19:18 -04:00
Dmitry Butyugin
91466ebd43 adxl345: Renamed decode_samples and fixed/added checks on empty data
Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2021-10-13 11:56:52 -04:00
Arne Schwarck
f72a2dc1ab config: Fix diag pins on Octopus board (#4792)
with reference from https://github.com/bigtreetech/BIGTREETECH-OCTOPUS-V1.0/blob/master/Hardware/BIGTREETECH%20Octopus.pdf

Signed-off-by: Arne Schwarck <arneschwarck@gmail.com>
2021-10-13 11:50:56 -04:00
Kevin O'Connor
1e226a8893 stm32: Add a MACH_STM32F0x2 alias for F042 and F072 chips
The F042 and F072 chips are in the same series and the code should be
nearly identical for these chips.  Implement the alias and enable USB
for the F072 chips.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-13 11:25:41 -04:00
Kevin O'Connor
50f51d8aa2 stm32: Rework HAVE_GPIO_HARD_PWM in Kconfig
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-13 11:04:56 -04:00
Kevin O'Connor
97d36ac451 stm32: Change stm32f0 OSPEEDR to "medium" speed
The previous OSPEEDR value of 0x2 was copied from the stm32f4.c code,
but the stm32f0 interprets that value the same as 0x0 - which is "low"
speed.  Change the OSPEEDR value to "medium" speed so that it matches
the configuration of stm32f1 chips.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-12 13:43:31 -04:00
Kevin O'Connor
1b801508ba stm32: Add comments to configuration of OSPEEDR gpio speed
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-12 13:32:46 -04:00
Kevin O'Connor
9d9fe3cb1b stm32: Rework #if pin definition clauses in hard_pwm.c
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-11 21:43:56 -04:00
jrhelbert
dbafeb8876 stm32: Adding Hardware PWM support for the STM32F4 processors (#4693)
This change has been expanded to include all STM32F4 processors, since they share a common TIMER mapping with some processors just not having all of the timers and pins.

Signed-off-by: Jerome Helbert <jerome@helbert.net>
2021-10-11 16:31:27 -04:00
Manuel Fichtner
5d52a3b19f config: Anycubic Vyper (#4740)
This commit contains a configuration for the Anycubic Vyper printer from 2021.
It uses a clone of the STM32F103 chip named GD32F103.
There are 2 Mainboard versions out there v0.0.5 and v0.0.6, this config has
been tested with the v0.0.6 only. It should probably work for v0.0.5 as well
since there are no different changes in the Anycubic Marlin firmware.
The LCD is not supported yet (might work, but didn't try yet).

Signed-off-by: Marc Neuhaus <marc@neuhaus.nrw>
Signed-off-by: Manuel Fichtner <manuel.fichtner@me.com>
2021-10-11 16:26:14 -04:00
Philipp Temminghoff
64e4649877 tmc: add current values to get_status() (#4696)
Signed-off-by: Philipp Temminghoff <philipptemminghoff@gmail.com>
2021-10-11 12:03:08 -04:00
Kevin O'Connor
afd1058af6 delta: Don't limit XY+Z moves to max_z_velocity
Scale the max_z_velocity limit by the amount of movement in the Z.
This should improve bed_mesh and vase mode prints on delta printers.

Reported by @hywelmartin and @dalegaard.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-11 11:53:00 -04:00
Rufo Sanchez
b336a21fe7 button: Support half-stepping encoders
Adds support for half-stepping encoders (encoders that only emit two
steps per detent, instead of four). Incorporates the feedback from
@susisstrolch's PR: https://github.com/KevinOConnor/klipper/pull/4202
, which was itself built upon a previous PR from @nickbrennan01:
https://github.com/KevinOConnor/klipper/pull/730

Uses the table from the Rotary Arduino library linked in buttons.py:
6b784cca67/Rotary.cpp (L21-L40)

Signed-off-by: Rufo Sanchez <rufo@rufosanchez.com>
2021-10-11 11:29:53 -04:00
Kevin O'Connor
5f184e3f98 test: Add a configfile test with unicode characters
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-09 19:57:55 -04:00
Kevin O'Connor
c56c34fa1c configfile: Use Python2's ConfigParser when running on Python2
The backport of Python3's configparser causes issues when there is
unicode characters in the config file.  To avoid introducing new
errors, go back to using the Python2 version of ConfigParser when
running on Python2.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-09 19:37:48 -04:00
Kevin O'Connor
21d5a34d22 console: Fix Python2 compatibility
Make sure to import util prior to reactor.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-08 13:00:11 -04:00
Kevin O'Connor
5251bf23f1 configfile: Workaround for non-ascii comments on Python2
Explicitly specify the comment_prefixes as regular Python2 strings -
otherwise the configparser wont ignore non-ascii characters in
comments.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-08 00:23:31 -04:00
Kevin O'Connor
1a4d655a18 spi_flash: Improve Python3 compatibility
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-07 20:05:15 -04:00
Kevin O'Connor
64cb8d9820 ds18b20: Improve Python3 compatibility
Reported by @matthewlloyd.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-07 14:47:49 -04:00
Simon Kühling
d90da37433 atsamd: Add i2c_read() implementation
Signed-off-by: Simon Kühling <mail@simonkuehling.de>
2021-10-06 21:27:51 -04:00
Dmitry Butyugin
2822680eb4 adxl345: Expanded invalid adxl345 id message
Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2021-10-06 21:17:56 -04:00
Dmitry Butyugin
bd5dc03317 adxl345: Renamed debug commands to fix their parsing by Klipper
Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2021-10-06 21:16:31 -04:00
Kevin O'Connor
e3905eb241 stm32: Add an MACH_STM32F4x5 alias for F405, F407, and F429 chips
The F405, F407, and F429 chips are in the same series and almost all
code definitions should apply to all chips in that series.  Implement
the alias and fix defintions in adc.c and Kconfig that were only
applying to a subset of that series.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-06 19:56:46 -04:00
D4SK
c1136bef10 stm32: Add hardware pwm for stm32h7
Signed-off-by: Konstantin Vogel <konstantin.vogel@gmx.net>
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-06 18:20:29 -04:00
D4SK
0a55489e2c stm32: Add initial support for stm32h7
Signed-off-by: Konstantin Vogel <konstantin.vogel@gmx.net>
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-06 18:20:29 -04:00
D4SK
28b3c9e88c armc_boot: Support cortex-m7 chips
Signed-off-by: Konstantin Vogel <konstantin.vogel@gmx.net>
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-06 18:17:06 -04:00
D4SK
a05650f33c armcm_irq: Support cortex-m7 chips
Signed-off-by: Konstantin Vogel <konstantin.vogel@gmx.net>
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-06 18:17:06 -04:00
D4SK
53b98ebaed lib: Added cmsis libraries for stm32h7
Signed-off-by: Konstantin Vogel <konstantin.vogel@gmx.net>
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-06 18:17:06 -04:00
D4SK
309fbbc104 lib: Updated existing cmsis-core for stm32h7 support
Signed-off-by: Konstantin Vogel <konstantin.vogel@gmx.net>
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-06 18:17:06 -04:00
Kevin O'Connor
c7b65f50e3 configfile: Ignore trailing comments starting with a semicolon
Newer versions of configparser no longer default to ignoring trailing
comments that start with a semicolon.  Add that setting explicitly to
avoid breaking existing config files.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-06 14:07:32 -04:00
Kevin O'Connor
cc63fd51b2 scripts: Use backport of a recent Python3 configparser on Python2
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-04 15:10:46 -04:00
Kevin O'Connor
41d42a07bf klippy: Add a build import test tool
Add a test case to verify that every optional module successfully
loads on both Python2 and Python3.  This is intended to catch syntax
and module imports that are not compatible between Python versions.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-04 14:36:08 -04:00
Kevin O'Connor
b743a64685 scripts: Update klippy build tests to verify on both Python2 and Python3
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-04 14:36:08 -04:00
Kevin O'Connor
f1747b5118 klippy: Add Python2 module wrappers and use Python3 module naming
Add wrappers for some common Python modules so that the code can run
on both Python2 and Python3.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-04 14:36:08 -04:00
Kevin O'Connor
b8c91914b7 webhooks: Convert to Python3 string encoding
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-04 14:36:08 -04:00
Kevin O'Connor
adeb869f56 gcode: Convert to Python3 string encoding
The error checking is not complete in this change - the code should
handle the case where an input string is not valid utf8.

The code will continue to run on Python2 after this change, however
the execution time on Python2 is measurably slower after making this
change.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-01 21:00:03 -04:00
Kevin O'Connor
1717263b5a buildcommands: Convert to Python3 string encoding
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-01 19:28:27 -04:00
Kevin O'Connor
8714282570 console: Convert to Python3 string encoding
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-01 19:22:13 -04:00
Kevin O'Connor
b3a39bebd4 virtual_sdcard: Convert to Python3 string encoding
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-01 19:22:13 -04:00
Kevin O'Connor
0da3d84a87 configfile: Convert to Python3 string encoding
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-01 19:22:13 -04:00
Kevin O'Connor
b859c11378 util: Convert to Python3 string encoding
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-01 19:22:13 -04:00
Kevin O'Connor
9ce07921c4 test_klippy: Convert to Python3 string encoding
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-01 19:22:13 -04:00
Kevin O'Connor
2978771ce5 mcu: Convert to Python3 string encoding
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-01 19:22:13 -04:00
Kevin O'Connor
fa25986adc reactor: Convert to Python3 string encoding
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-01 19:18:58 -04:00
Kevin O'Connor
0fc52f9496 serialhdl: Convert to Python3 string encoding
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-01 19:12:42 -04:00
Kevin O'Connor
de38ef4290 kinematics: Convert to Python3 string encoding
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-01 19:12:30 -04:00
Kevin O'Connor
68b939c756 display: Convert to Python3 string encoding
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-01 19:12:21 -04:00
Kevin O'Connor
cc2a313c10 klippy-requirements: Update dependencies to support Python 3.9+
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-10-01 19:07:48 -04:00
Kevin O'Connor
bcbdc983a8 screws_tilt_adjust: Improve Python3 compatibility
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-09-30 13:14:20 -04:00
Kevin O'Connor
01ab8267a6 hybrid_corexy: Improve Python3 compatibility
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-09-30 13:10:45 -04:00
Kevin O'Connor
af86c5f306 fan: Improve python3 compatibility
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-09-30 13:10:45 -04:00
Kevin O'Connor
b806d71eb0 docs: Fix link in Releases.md
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-09-29 21:43:58 -04:00
1502 changed files with 1917725 additions and 22429 deletions

3
.github/FUNDING.yml vendored
View File

@@ -1 +1,2 @@
patreon: koconnor
ko_fi: koconnor
custom: https://www.klipper3d.org/Sponsors.html#klipper-developers

View File

@@ -1,6 +1,6 @@
blank_issues_enabled: false
contact_links:
- name: Directions
- name: Contact Directions
url: https://www.klipper3d.org/Contact.html
about: Have a question? Need help? Start here.
- name: Klipper Forum

View File

@@ -1,6 +0,0 @@
---
name: Create a Klipper github issue
about: Working on improving Klipper? Provide an update on your work here.
---
<!-- Directions have recently changed. Do not open this ticket without
following the directions at: https://www.klipper3d.org/Contact.html -->

View File

@@ -4,12 +4,12 @@ on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-18.04
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: Setup cache
uses: actions/cache@v2
uses: actions/cache@v3
with:
path: ci_cache
key: ${{ runner.os }}-build-${{ hashFiles('scripts/ci-install.sh') }}
@@ -21,7 +21,7 @@ jobs:
run: ./scripts/ci-build.sh 2>&1
- name: Upload micro-controller data dictionaries
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: data-dict
path: ci_build/dict

View File

@@ -5,11 +5,11 @@ on:
types: [labeled]
jobs:
comment:
if: github.repository == 'Klipper3d/klipper'
runs-on: ubuntu-latest
steps:
- uses: actions/github-script@v3
- uses: actions/github-script@v6
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
if (context.payload.label.name != "not on github")
return;
@@ -35,7 +35,7 @@ jobs:
+ "~ Your friendly GitIssueBot"
+ "\n\n"
+ "PS: I'm just an automated script, not a human being.";
github.issues.createComment({
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,

View File

@@ -1,22 +1,23 @@
name: klipper3d deploy
on:
schedule:
- cron: "0 0 * * *"
push:
branches:
- master
paths:
- docs/**
- mkdocs.yml
- .github/workflows/klipper3d-deploy.yaml
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: Setup python
uses: actions/setup-python@v2
uses: actions/setup-python@v4
with:
python-version: '3.8'
- uses: actions/cache@v2
- uses: actions/cache@v3
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('docs/_klipper3d/mkdocs-requirements.txt') }}
@@ -24,6 +25,10 @@ jobs:
${{ runner.os }}-pip-
- name: Install dependencies
run: pip install -r docs/_klipper3d/mkdocs-requirements.txt
- name: Build and deploy klipper3d
run: |
mkdocs gh-deploy --config-file docs/_klipper3d/mkdocs.yml --remote-branch gh-pages --force --verbose
- name: Build MkDocs Pages
run: docs/_klipper3d/build-translations.sh
- name: Deploy
uses: JamesIves/github-pages-deploy-action@v4.4.3
with:
branch: gh-pages # The branch the action should deploy to.
folder: site # The folder the action should deploy.

View File

@@ -0,0 +1,66 @@
# Add a comment to github PRs marked with the "reviewer needed" label
name: "Add comment to PRs marked 'reviewer needed'"
on:
pull_request_target:
types: [labeled]
jobs:
add_comment:
if: github.repository == 'Klipper3d/klipper'
runs-on: ubuntu-latest
steps:
- uses: actions/github-script@v6
with:
script: |
if (context.payload.label.name != "reviewer needed")
return;
if (context.payload.pull_request.assignees.length > 0)
return;
msg = "Thank you for your contribution to Klipper."
+ " Unfortunately, a reviewer has not assigned themselves to"
+ " this GitHub Pull Request. All Pull Requests are reviewed"
+ " before merging, and a reviewer will need to volunteer."
+ " Further information is available at:"
+ " https://www.klipper3d.org/CONTRIBUTING.html"
+ "\n\n"
+ "There are some steps that you can take now:"
+ "\n"
+ "1. Perform a self-review of your Pull Request by following"
+ " the steps at:"
+ " https://www.klipper3d.org/CONTRIBUTING.html#what-to-expect-in-a-review"
+ "\n"
+ " If you have completed a self-review, be sure to state the"
+ " results of that self-review explicitly in the Pull Request"
+ " comments. A reviewer is more likely to participate if the"
+ " bulk of a review has already been completed."
+ "\n"
+ "2. Consider opening a topic on the [Klipper Discourse]"
+ "(https://www.klipper3d.org/Contact.html#discourse-forum)"
+ " server to discuss this work. The Discourse server is a good"
+ " place to discuss development ideas and to engage users"
+ " interested in testing. Reviewers are more likely to"
+ " prioritize Pull Requests with an active community of users."
+ "\n"
+ "3. Consider helping out reviewers by reviewing other Klipper"
+ " Pull Requests. Taking the time to perform a careful and"
+ " detailed review of others work is appreciated. Regular"
+ " contributors are more likely to prioritize the"
+ " contributions of other regular contributors."
+ "\n\n"
+ "Unfortunately, if a reviewer does not assign themselves to"
+ " this GitHub Pull Request then it will be automatically"
+ " closed. If this happens, then it is a good idea to move"
+ " further discussion to the [Klipper Discourse]"
+ "(https://www.klipper3d.org/Contact.html#discourse-forum)"
+ " server. Reviewers can reach out on that forum to let you"
+ " know if they are interested and when they are available."
+ "\n\n"
+ "Best regards,\n"
+ "~ Your friendly GitIssueBot"
+ "\n\n"
+ "PS: I'm just an automated script, not a human being.";
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: msg
})

View File

@@ -6,20 +6,19 @@ on:
jobs:
# Check for stale issues (no updates in 5 weeks)
stale:
if: github.repository == 'Klipper3d/klipper'
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v3
- uses: actions/stale@v8
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
stale-issue-message: |
stale-pr-message: |
Hello,
It looks like there hasn't been any recent updates on this
Klipper github issue. If you created this issue and no
longer consider it open, then please login to github and
close the issue. Otherwise, if there is no further activity
on this thread then it will be automatically closed in a few
days.
github ticket. We prefer to only list tickets as "open" if
they are actively being worked on. Feel free to provide an
update on this ticket. Otherwise the ticket will be
automatically closed in a few days.
Best regards,
@@ -28,16 +27,21 @@ jobs:
PS: I'm just an automated script, not a human being.
exempt-issue-labels: 'enhancement,bug'
days-before-stale: 35
days-before-stale: 60
days-before-close: 7
days-before-issue-stale: -1
days-before-issue-close: -1
# Close tickets marked with "not on github" label
close_not_on_github:
if: github.repository == 'Klipper3d/klipper'
runs-on: ubuntu-latest
steps:
- uses: actions/github-script@v3
- uses: actions/github-script@v6
with:
script: |
const issues = await github.issues.listForRepo({
const expireMillis = 1000 * 60 * 60 * 36;
const curtime = new Date().getTime();
const issues = await github.rest.issues.listForRepo({
owner: context.repo.owner,
repo: context.repo.repo,
state: 'open',
@@ -45,27 +49,167 @@ jobs:
per_page: 100,
page: 1
});
const expireMillis = 1000 * 60 * 60 * 36;
const curtime = new Date().getTime();
for (var issue of issues.data.values()) {
for (const issue of issues.data.values()) {
const updatetime = new Date(issue.updated_at).getTime();
if (curtime < updatetime + expireMillis)
continue;
await github.issues.update({
await github.rest.issues.update({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: issue.number,
state: 'closed'
});
}
# Close tickets marked with "resolved" label
close_resolved:
# # Close tickets marked with "reviewer needed" label for 2+ weeks
# close_reviewer_needed:
# if: github.repository == 'Klipper3d/klipper'
# runs-on: ubuntu-latest
# steps:
# - uses: actions/github-script@v6
# with:
# script: |
# const issues = await github.rest.issues.listForRepo({
# owner: context.repo.owner,
# repo: context.repo.repo,
# state: 'open',
# labels: 'reviewer needed',
# assignee: 'none',
# per_page: 100,
# page: 1
# });
# msg = "Unfortunately a reviewer has not assigned themselves to"
# + " this GitHub Pull Request and it is therefore being"
# + " closed. It is a good idea to move"
# + " further discussion to the [Klipper Discourse]"
# + "(https://www.klipper3d.org/Contact.html#discourse-forum)"
# + " server. Reviewers can reach out on that forum to let you"
# + " know if they are interested and when they are available."
# + "\n\n"
# + "Best regards,\n"
# + "~ Your friendly GitIssueBot"
# + "\n\n"
# + "PS: I'm just an automated script, not a human being.";
# const expireMillis = 1000 * 60 * 60 * 24 * 14;
# const curtime = new Date().getTime();
# for (const issue of issues.data.values()) {
# const updatetime = new Date(issue.updated_at).getTime();
# if (curtime < updatetime + expireMillis)
# continue;
# await github.rest.issues.createComment({
# owner: context.repo.owner,
# repo: context.repo.repo,
# issue_number: issue.number,
# body: msg
# });
# await github.rest.issues.update({
# owner: context.repo.owner,
# repo: context.repo.repo,
# issue_number: issue.number,
# state: 'closed'
# });
# }
# Mark unassigned PRs that are idle for 2 weeks
mark_reviewer_needed:
if: github.repository == 'Klipper3d/klipper'
runs-on: ubuntu-latest
steps:
- uses: actions/github-script@v3
- uses: actions/github-script@v6
with:
script: |
const issues = await github.issues.listForRepo({
msg = "Thank you for your contribution to Klipper."
+ " Unfortunately, a reviewer has not assigned themselves to"
+ " this GitHub Pull Request. All Pull Requests are reviewed"
+ " before merging, and a reviewer will need to volunteer."
+ " Further information is available at:"
+ " https://www.klipper3d.org/CONTRIBUTING.html"
+ "\n\n"
+ "There are some steps that you can take now:"
+ "\n"
+ "1. Perform a self-review of your Pull Request by following"
+ " the steps at:"
+ " https://www.klipper3d.org/CONTRIBUTING.html#what-to-expect-in-a-review"
+ "\n"
+ " If you have completed a self-review, be sure to state the"
+ " results of that self-review explicitly in the Pull Request"
+ " comments. A reviewer is more likely to participate if the"
+ " bulk of a review has already been completed."
+ "\n"
+ "2. Consider opening a topic on the [Klipper Discourse]"
+ "(https://www.klipper3d.org/Contact.html#discourse-forum)"
+ " server to discuss this work. The Discourse server is a good"
+ " place to discuss development ideas and to engage users"
+ " interested in testing. Reviewers are more likely to"
+ " prioritize Pull Requests with an active community of users."
+ "\n"
+ "3. Consider helping out reviewers by reviewing other Klipper"
+ " Pull Requests. Taking the time to perform a careful and"
+ " detailed review of others work is appreciated. Regular"
+ " contributors are more likely to prioritize the"
+ " contributions of other regular contributors."
+ "\n\n"
+ "Unfortunately, if a reviewer does not assign themselves to"
+ " this GitHub Pull Request then it will be automatically"
+ " closed. If this happens, then it is a good idea to move"
+ " further discussion to the [Klipper Discourse]"
+ "(https://www.klipper3d.org/Contact.html#discourse-forum)"
+ " server. Reviewers can reach out on that forum to let you"
+ " know if they are interested and when they are available."
+ "\n\n"
+ "Best regards,\n"
+ "~ Your friendly GitIssueBot"
+ "\n\n"
+ "PS: I'm just an automated script, not a human being.";
const create_check = new Date("2022-03-01T00:00:00Z").getTime();
const expireMillis = 1000 * 60 * 60 * 24 * 14;
const curtime = new Date().getTime();
const pulls_req = await github.rest.pulls.list({
owner: context.repo.owner,
repo: context.repo.repo,
per_page: 100,
page: 1
});
for (const pr of pulls_req.data.values()) {
const createtime = new Date(pr.created_at).getTime();
if (createtime < create_check)
continue;
const updatetime = new Date(pr.updated_at).getTime();
if (curtime < updatetime + expireMillis)
continue;
if (pr.labels.length > 0)
continue;
if (pr.assignees.length > 0)
continue;
await github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: pr.number,
body: msg
});
await github.rest.issues.addLabels({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: pr.number,
labels: ['reviewer needed']
});
}
# Close tickets marked with "resolved" label
close_resolved:
if: github.repository == 'Klipper3d/klipper'
runs-on: ubuntu-latest
steps:
- uses: actions/github-script@v6
with:
script: |
msg = "This ticket is being closed because the underlying issue"
+ " is now thought to be resolved."
+ "\n\n"
+ "Best regards,\n"
+ "~ Your friendly GitIssueBot"
+ "\n\n"
+ "PS: I'm just an automated script, not a human being.";
const expireMillis = 1000 * 60 * 60 * 24 * 7;
const curtime = new Date().getTime();
const issues = await github.rest.issues.listForRepo({
owner: context.repo.owner,
repo: context.repo.repo,
state: 'open',
@@ -73,26 +217,17 @@ jobs:
per_page: 100,
page: 1
});
const expireMillis = 1000 * 60 * 60 * 24 * 7;
const curtime = new Date().getTime();
for (var issue of issues.data.values()) {
for (const issue of issues.data.values()) {
const updatetime = new Date(issue.updated_at).getTime();
if (curtime < updatetime + expireMillis)
continue;
msg = "This ticket is being closed because the underlying issue"
+ " is now thought to be resolved."
+ "\n\n"
+ "Best regards,\n"
+ "~ Your friendly GitIssueBot"
+ "\n\n"
+ "PS: I'm just an automated script, not a human being.";
await github.issues.createComment({
await github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: issue.number,
body: msg
});
await github.issues.update({
await github.rest.issues.update({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: issue.number,
@@ -101,12 +236,23 @@ jobs:
}
# Close PRs marked with "not mainline" label
close_not_mainline:
if: github.repository == 'Klipper3d/klipper'
runs-on: ubuntu-latest
steps:
- uses: actions/github-script@v3
- uses: actions/github-script@v6
with:
script: |
const issues = await github.issues.listForRepo({
msg = "This PR is being closed because it is currently not"
+ " considered a good match for the master Klipper"
+ " repository."
+ "\n\n"
+ "Best regards,\n"
+ "~ Your friendly GitIssueBot"
+ "\n\n"
+ "PS: I'm just an automated script, not a human being.";
const expireMillis = 1000 * 60 * 60 * 24 * 7;
const curtime = new Date().getTime();
const issues = await github.rest.issues.listForRepo({
owner: context.repo.owner,
repo: context.repo.repo,
state: 'open',
@@ -114,27 +260,17 @@ jobs:
per_page: 100,
page: 1
});
const expireMillis = 1000 * 60 * 60 * 24 * 7;
const curtime = new Date().getTime();
for (var issue of issues.data.values()) {
for (const issue of issues.data.values()) {
const updatetime = new Date(issue.updated_at).getTime();
if (curtime < updatetime + expireMillis)
continue;
msg = "This PR is being closed because it is currently not"
+ " considered a good match for the master Klipper"
+ " repository."
+ "\n\n"
+ "Best regards,\n"
+ "~ Your friendly GitIssueBot"
+ "\n\n"
+ "PS: I'm just an automated script, not a human being.";
await github.issues.createComment({
await github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: issue.number,
body: msg
});
await github.issues.update({
await github.rest.issues.update({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: issue.number,
@@ -143,12 +279,23 @@ jobs:
}
# Mark (and close) PRs with "pending feedback" for 3+ weeks
mark_inactive:
if: github.repository == 'Klipper3d/klipper'
runs-on: ubuntu-latest
steps:
- uses: actions/github-script@v3
- uses: actions/github-script@v6
with:
script: |
const issues = await github.issues.listForRepo({
msg = "It looks like this GitHub Pull Request has become"
+ " inactive. If there are any further updates, you can"
+ " add a comment here or open a new ticket."
+ "\n\n"
+ "Best regards,\n"
+ "~ Your friendly GitIssueBot"
+ "\n\n"
+ "PS: I'm just an automated script, not a human being.";
const expireMillis = 1000 * 60 * 60 * 24 * 21;
const curtime = new Date().getTime();
const issues = await github.rest.issues.listForRepo({
owner: context.repo.owner,
repo: context.repo.repo,
state: 'open',
@@ -156,36 +303,38 @@ jobs:
per_page: 100,
page: 1
});
const expireMillis = 1000 * 60 * 60 * 24 * 21;
const curtime = new Date().getTime();
for (var issue of issues.data.values()) {
for (const issue of issues.data.values()) {
const updatetime = new Date(issue.updated_at).getTime();
if (curtime < updatetime + expireMillis)
continue;
msg = "It looks like this GitHub Pull Request has become"
+ " inactive. If there are any further updates, you can"
+ " add a comment here or open a new ticket."
+ "\n\n"
+ "Best regards,\n"
+ "~ Your friendly GitIssueBot"
+ "\n\n"
+ "PS: I'm just an automated script, not a human being.";
await github.issues.addLabels({
await github.rest.issues.addLabels({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: issue.number,
labels: ['inactive']
});
await github.issues.createComment({
await github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: issue.number,
body: msg
});
await github.issues.update({
await github.rest.issues.update({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: issue.number,
state: 'closed'
});
}
# Lock closed issues after 6 months of inactivity and PRs after 1 year.
lock:
name: Lock Closed Tickets
if: github.repository == 'Klipper3d/klipper'
runs-on: ubuntu-latest
steps:
- uses: dessant/lock-threads@v4
with:
issue-inactive-days: '180'
issue-lock-reason: ''
pr-inactive-days: '365'
pr-lock-reason: ''

View File

@@ -1,7 +1,7 @@
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
@@ -645,7 +645,7 @@ the "copyright" line and a pointer to where the full notice is found.
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
along with this program. If not, see <https://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
@@ -664,11 +664,11 @@ might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<http://www.gnu.org/licenses/>.
<https://www.gnu.org/licenses/>.
The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
<https://www.gnu.org/licenses/why-not-lgpl.html>.

View File

@@ -19,7 +19,7 @@ OBJCOPY=$(CROSS_PREFIX)objcopy
OBJDUMP=$(CROSS_PREFIX)objdump
STRIP=$(CROSS_PREFIX)strip
CPP=cpp
PYTHON=python2
PYTHON=python3
# Source files
src-y =
@@ -29,10 +29,11 @@ dirs-y = src
cc-option=$(shell if test -z "`$(1) $(2) -S -o /dev/null -xc /dev/null 2>&1`" \
; then echo "$(2)"; else echo "$(3)"; fi ;)
CFLAGS := -I$(OUT) -Isrc -I$(OUT)board-generic/ -std=gnu11 -O2 -MD \
-Wall -Wold-style-definition $(call cc-option,$(CC),-Wtype-limits,) \
-ffunction-sections -fdata-sections
CFLAGS += -flto -fwhole-program -fno-use-linker-plugin -ggdb3
CFLAGS := -iquote $(OUT) -iquote src -iquote $(OUT)board-generic/ \
-std=gnu11 -O2 -MD -Wall \
-Wold-style-definition $(call cc-option,$(CC),-Wtype-limits,) \
-ffunction-sections -fdata-sections -fno-delete-null-pointer-checks
CFLAGS += -flto=auto -fwhole-program -fno-use-linker-plugin -ggdb3
OBJS_klipper.elf = $(patsubst %.c, $(OUT)src/%.o,$(src-y))
OBJS_klipper.elf += $(OUT)compile_time_request.o
@@ -85,17 +86,21 @@ $(OUT)compile_time_request.o: $(patsubst %.c, $(OUT)src/%.o.ctr,$(src-y)) ./scri
################ Auto generation of "board/" include file link
$(OUT)board-link: $(KCONFIG_CONFIG)
create-board-link:
@echo " Creating symbolic link $(OUT)board"
$(Q)mkdir -p $(addprefix $(OUT), $(dirs-y))
$(Q)echo "#$(CONFIG_BOARD_DIRECTORY)" > $@.temp
$(Q)if ! cmp -s $@.temp $@; then rm -f $(OUT)*.d $(patsubst %,$(OUT)%/*.d,$(dirs-y)) ; mv $@.temp $@ ; fi
$(Q)rm -f $(OUT)*.d $(patsubst %,$(OUT)%/*.d,$(dirs-y))
$(Q)rm -f $(OUT)board
$(Q)ln -sf $(CURDIR)/src/$(CONFIG_BOARD_DIRECTORY) $(OUT)board
$(Q)mkdir -p $(OUT)board-generic
$(Q)rm -f $(OUT)board-generic/board
$(Q)ln -sf $(CURDIR)/src/generic $(OUT)board-generic/board
# Hack to rebuild OUT directory and reload make dependencies on Kconfig change
$(OUT)board-link: $(KCONFIG_CONFIG)
$(Q)mkdir -p $(OUT)
$(Q)echo "# Makefile board-link rule" > $@
$(Q)$(MAKE) create-board-link
include $(OUT)board-link
################ Kconfig rules
@@ -114,7 +119,7 @@ menuconfig:
################ Generic rules
# Make definitions
.PHONY : all clean distclean olddefconfig menuconfig FORCE
.PHONY : all clean distclean olddefconfig menuconfig create-board-link FORCE
.DELETE_ON_ERROR:
all: $(target-y)

View File

@@ -4,13 +4,14 @@ Welcome to the Klipper project!
https://www.klipper3d.org/
Klipper is a 3d-Printer firmware. It combines the power of a general
purpose computer with one or more micro-controllers. See the
The Klipper firmware controls 3d-Printers. It combines the power of a
general purpose computer with one or more micro-controllers. See the
[features document](https://www.klipper3d.org/Features.html) for more
information on why you should use Klipper.
information on why you should use the Klipper software.
To begin using Klipper start by
[installing](https://www.klipper3d.org/Installation.html) it.
Start by [installing Klipper software](https://www.klipper3d.org/Installation.html).
Klipper is Free Software. See the [license](COPYING) or read the
[documentation](https://www.klipper3d.org/Overview.html).
Klipper software is Free Software. See the [license](COPYING) or read
the [documentation](https://www.klipper3d.org/Overview.html). We
depend on the generous support from our
[sponsors](https://www.klipper3d.org/Sponsors.html).

View File

@@ -0,0 +1,73 @@
# This file is an example config file for deltesian style printers.
# One may copy and edit this file to configure a new deltesian
# printer.
# DO NOT COPY THIS FILE WITHOUT CAREFULLY READING AND UPDATING IT
# FIRST. Incorrectly configured parameters may cause damage.
# See docs/Config_Reference.md for a description of parameters.
[stepper_left]
step_pin: PF0
dir_pin: PF1
enable_pin: !PD7
microsteps: 16
rotation_distance: 40
endstop_pin: ^PE5
homing_speed: 50
position_endstop: 268
arm_length: 217
arm_x_length: 160
[stepper_right]
step_pin: PL3
dir_pin: PL1
enable_pin: !PK0
microsteps: 16
rotation_distance: 40
endstop_pin: ^PD3
[stepper_y]
step_pin: PF6
dir_pin: !PF7
enable_pin: !PF2
microsteps: 16
rotation_distance: 40
endstop_pin: ^PJ1
position_endstop: 0
position_max: 200
[extruder]
step_pin: PA4
dir_pin: PA6
enable_pin: !PA2
microsteps: 16
rotation_distance: 33.500
nozzle_diameter: 0.500
filament_diameter: 3.500
heater_pin: PB4
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PK5
control: pid
pid_Kp: 22.2
pid_Ki: 1.08
pid_Kd: 114
min_temp: 0
max_temp: 210
[heater_bed]
heater_pin: PH5
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PK6
control: watermark
min_temp: 0
max_temp: 110
[mcu]
serial: /dev/ttyACM0
[printer]
kinematics: deltesian
max_velocity: 500
max_accel: 3000
max_z_velocity: 150

View File

@@ -1,7 +1,7 @@
# This file is an example config file for polar style printers. One
# may copy and edit this file to configure a new polar printer.
# POLAR KINEMATICS ARE A WORK IN PROGRESS. Moves around the 0,0
# POLAR KINEMATICS ARE A WORK IN PROGRESS. Moves around the 0, 0
# position are known to not work properly.
# See docs/Config_Reference.md for a description of parameters.

View File

@@ -6,7 +6,7 @@
# Homing is not implemented on cable winch kinematics. In order to
# home the printer, manually send movement commands until the toolhead
# is at 0,0,0 and then issue a G28 command.
# is at 0, 0, 0 and then issue a G28 command.
# See docs/Config_Reference.md for a description of parameters.

223
config/generic-I3DBEEZ9.cfg Normal file
View File

@@ -0,0 +1,223 @@
# This file contains common pin mappings for the I3DBEEZ9 V1.0.
# To use this config, the firmware should be compiled for the
# STM32F407 with a "32KiB bootloader".
# The "make flash" command does not work on the I3DBEEZ9. Instead,
# after running "make", copy the generated "out/klipper.bin" file to a
# file named "firmware.bin" on an SD card and then restart the I3DBEEZ9
# with that SD card.
# See docs/Config_Reference.md for a description of parameters.
[stepper_x]
step_pin: PE9
dir_pin: PF1
enable_pin: !PF2
microsteps: 16
rotation_distance: 40
endstop_pin: PB10
position_endstop: 0
position_max: 200
homing_speed: 50
[stepper_y]
step_pin: PE11
dir_pin: PE1
enable_pin: !PD7
microsteps: 16
rotation_distance: 40
endstop_pin: PE12
position_endstop: 0
position_max: 200
homing_speed: 50
[stepper_z]
step_pin: PE13
dir_pin: PC2
enable_pin: !PC0
microsteps: 16
rotation_distance: 8
endstop_pin: PG8
position_endstop: 0
position_max: 200
[extruder]
step_pin: PE14
dir_pin: PA0
enable_pin: !PC3
microsteps: 16
rotation_distance: 33.500
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PB1 # Heat0
sensor_pin: PF4 # T1 Header
sensor_type: EPCOS 100K B57560G104F
control: pid
pid_Kp: 22.2
pid_Ki: 1.08
pid_Kd: 114
min_temp: 0
max_temp: 250
#[extruder1]
#step_pin: PD15
#dir_pin: PE7
#enable_pin: !PA3
#heater_pin: PD14 # Heat1
#sensor_pin: PF5 # T2
#...
#[extruder2]
#step_pin: PD13
#dir_pin: PG9
#enable_pin: !PF0
#heater_pin: PB0 # Heat2
#sensor_pin: PF6 # T3
#...
#[stepper_z1]
#step_pin: PE4
#dir_pin: PE3
#enable_pin: !PC13
#microsteps: 16
#rotation_distance: 8
#endstop_pin: PD0
#position_endstop: 0.5
#position_max: 200
[heater_bed]
heater_pin: PD12
sensor_pin: PF3 # T0
sensor_type: ATC Semitec 104GT-2
control: watermark
min_temp: 0
max_temp: 130
[fan]
pin: PC8
[heater_fan fan1]
pin: PE5
#[heater_fan fan2]
#pin: PE6
[mcu]
serial: /dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00
[printer]
kinematics: cartesian
max_velocity: 300
max_accel: 3000
max_z_velocity: 5
max_z_accel: 100
########################################
# TMC2208 configuration
########################################
#[tmc2208 stepper_x]
#uart_pin: PA15
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2208 stepper_y]
#uart_pin: PB8
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2208 stepper_z]
#uart_pin: PB9
#run_current: 0.650
#stealthchop_threshold: 999999
#[tmc2208 extruder]
#uart_pin: PB3
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2208 extruder1]
#uart_pin: PG15
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2208 extruder2]
#uart_pin: PG12
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2208 stepper_z1]
#uart_pin: PE2
#run_current: 0.650
#stealthchop_threshold: 999999
########################################
# TMC2130 configuration
########################################
#[tmc2130 stepper_x]
#cs_pin: PA15
#spi_bus: spi3a
##diag1_pin: PB10
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2130 stepper_y]
#cs_pin: PB8
#spi_bus: spi3a
##diag1_pin: PE12
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2130 stepper_z]
#cs_pin: PB9
#spi_bus: spi3a
##diag1_pin: PG8
#run_current: 0.650
#stealthchop_threshold: 999999
#[tmc2130 extruder]
#cs_pin: PB3
#spi_bus: spi3a
##diag1_pin: PE15
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2130 extruder1]
#cs_pin: PG15
#spi_bus: spi3a
##diag1_pin: PE10
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2130 extruder2]
#cs_pin: PG12
#spi_bus: spi3a
##diag1_pin: PG5
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2130 stepper_z1]
#cs_pin: PE2
#spi_bus: spi3a
##diag1_pin: PD0
#run_current: 0.650
#stealthchop_threshold: 999999
########################################
# EXP1 / EXP2 (display) pins
########################################
[board_pins]
aliases:
# EXP1 header
EXP1_1=PG4, EXP1_3=PD11, EXP1_5=PG2, EXP1_7=PG6, EXP1_9=<GND>,
EXP1_2=PA8, EXP1_4=PD10, EXP1_6=PG3, EXP1_8=PG7, EXP1_10=<5V>,
# EXP2 header
EXP2_1=PB14, EXP2_3=PG10, EXP2_5=PF11, EXP2_7=PF12, EXP2_9=<GND>,
EXP2_2=PB13, EXP2_4=PB12, EXP2_6=PB15, EXP2_8=<RST>, EXP2_10=PF13
# Pins EXP2_1, EXP2_6, EXP2_2 are also MISO, MOSI, SCK of bus "spi2"
# See the sample-lcd.cfg file for definitions of common LCD displays.

View File

@@ -0,0 +1,147 @@
# This file contains common pin mappings for Alligator (Rev.2) board.
# To use this config, the firmware should be compiled for the Arduino
# Due.
# Remember flash procedure:
# sudo /etc/init.d/alligator-manager --erase
# sudo bossac -e -w -v -b -R -i -p ttyAMA0 klipper.bin
# See alligator github for alligator manager:
# https://github.com/3Dartists/alligator-manager
# See docs/Config_Reference.md for a description of parameters.
[static_digital_output DRV8825_microstepping]
pins:PC10
pins:PC29
pins:PC19
pins:PC18
[dac084S085 stepper_digipot]
enable_pin: PB14
spi_bus: spi0
# Scale the config so that the channel value can be specified in amps.
# (For Alligator v2.0 boards, use 2.50)
scale: 2.50
# Channel A in this example is X, B is Y, C is Z, D is E0,1,2,3.
channel_A: 1.5
channel_B: 1.5
channel_C: 1.5
channel_D: 1.0
# channel D will be the current used by all extruders if> 1
[stepper_x]
step_pin: PB24
dir_pin: !PB25
enable_pin: !PA15
microsteps: 32 # number of microstep 16, 32
rotation_distance: 16
endstop_pin: ^!PC5
position_endstop: -30
position_max: 220
position_min: -30
homing_speed: 50
[stepper_y]
step_pin: PB22
dir_pin: !PB23
enable_pin: !PA15
microsteps: 32
rotation_distance: 16
endstop_pin: ^!PC3
position_endstop: -8
position_min: -8
position_max: 220
homing_speed: 50
[stepper_z]
step_pin: PC27
dir_pin: PC28
enable_pin: !PA15
microsteps: 32
rotation_distance: 4
endstop_pin: ^!PC2
position_endstop: 0
position_max: 240
position_min: -1
[extruder]
step_pin: PC25
dir_pin: PC26
enable_pin: !PA15
microsteps: 32
rotation_distance: 7
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PA1
sensor_pin: PA16 # PA16(near mcu) or PA24(near ethernet)
sensor_type: ATC Semitec 104NT-4-R025H42G
control: pid
pid_kp: 15.572
pid_ki: 0.446
pid_kd: 136.064
min_temp: 0
max_temp: 270
#[extruder1]
#step_pin: PD3
#dir_pin: !PD2
#enable_pin: !PA15
#microsteps: 32
#heater_pin: PC22
#sensor_pin: PB25
#[extruder2]
#step_pin: PD7
#dir_pin: !PD6
#enable_pin: !PA15
#microsteps: 32
#heater_pin: PC21
#sensor_pin: PC28
#[extruder3]
#step_pin: PD9
#dir_pin: !PD8
#enable_pin: !PA15
#microsteps: 32
#heater_pin: PA29
#sensor_pin: PC5
[heater_bed]
heater_pin: PA0
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PA24 # PA16(near mcu) or PA24(near ethernet)
control: pid
pid_kp: 73.517
pid_ki: 1.132
pid_kd: 1193.728
min_temp: 0
max_temp: 130
[fan]
pin: PA7
#[heater_fan fan1]
#pin: PA5
#heater: extruder
[output_pin BEEPER_pin]
pin: PB19
pwm: True
value: 0
shutdown_value: 0
cycle_time: 0.1
scale: 1000
[mcu]
serial: /dev/ttyAMA0
[printer]
kinematics: cartesian
max_velocity: 300
max_accel: 1000
max_z_velocity: 20
max_z_accel: 100
#[bltouch]
#sensor_pin: ^PC6
#control_pin: PC4

View File

@@ -0,0 +1,135 @@
# This file contains common pin mappings for Alligator (Rev.3) board.
# To use this config, the firmware should be compiled for the Arduino
# Due.
# Remember flash procedure:
# sudo /etc/init.d/alligator-manager --erase
# sudo bossac -e -w -v -b -R -i -p ttyAMA0 klipper.bin
# See alligator github for alligator manager:
# https://github.com/3Dartists/alligator-manager
# See docs/Config_Reference.md for a description of parameters.
[static_digital_output DRV8825_microstepping]
pins:PC10
pins:PC29
pins:PC19
pins:PC18
[dac084S085 stepper_digipot]
enable_pin: PD2
spi_bus: spi0
# Scale the config so that the channel value can be specified in amps.
# (For Alligator v3.0 boards, use 2.50)
scale: 2.50
# Channel A in this example is X, B is Y, C is Z, D is E0,1,2,3.
channel_A: 1.5
channel_B: 1.5
channel_C: 1.5
channel_D: 1.0
# channel D will be the current used by all extruders if> 1
[stepper_x]
step_pin: PB24
dir_pin: !PB25
enable_pin: !PA15
microsteps: 32 # number of microstep 16, 32
rotation_distance: 16
endstop_pin: ^!PC5
position_endstop: -30
position_max: 220
position_min: -30
homing_speed: 50
[stepper_y]
step_pin: PB22
dir_pin: !PB23
enable_pin: !PC28
microsteps: 32
rotation_distance: 16
endstop_pin: ^!PC3
position_endstop: -8
position_min: -8
position_max: 220
homing_speed: 50
[stepper_z]
step_pin: PB20
dir_pin: PB21
enable_pin: !PA29
microsteps: 32
rotation_distance: 4
endstop_pin: ^!PC2
position_endstop: 0
position_max: 240
position_min: -1
[extruder]
step_pin: PB18
dir_pin: PB19
enable_pin: !PC27
microsteps: 32
rotation_distance: 7
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PA19
sensor_pin: PC25
sensor_type: ATC Semitec 104NT-4-R025H42G
control: pid
pid_kp: 15.572
pid_ki: 0.446
pid_kd: 136.064
min_temp: 0
max_temp: 270
#[extruder1]
#step_pin: PB17
#dir_pin: !PB14
#enable_pin: !PD6
#microsteps: 32
#heater_pin: PC22
#sensor_pin: PA29
#[extruder2]
#step_pin: PB12
#dir_pin: !PB13
#enable_pin: !PD8
#microsteps: 32
#heater_pin: PC21
#sensor_pin: PC28
#[extruder3]
#step_pin: PB15
#dir_pin: !PB16
#enable_pin: !PD9
#microsteps: 32
#heater_pin: PA29
#sensor_pin: PB25
[heater_bed]
heater_pin: PA0
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PA8
control: pid
pid_kp: 73.517
pid_ki: 1.132
pid_kd: 1193.728
min_temp: 0
max_temp: 130
[fan]
pin: PA7
#[heater_fan fan1]
#pin: PA5
#heater: extruder
[mcu]
serial: /dev/ttyAMA0
[printer]
kinematics: cartesian
max_velocity: 300
max_accel: 1000
max_z_velocity: 20
max_z_accel: 100

View File

@@ -129,7 +129,7 @@ max_temp: 130
[fan]
pin: PC26
[heater_fan nozzle_cooling_fan]
[heater_fan heatbreak_cooling_fan]
pin: PC25
[mcu]

View File

@@ -23,7 +23,6 @@ homing_speed: 50
[tmc2209 stepper_x]
uart_pin: PD6
run_current: 0.580
hold_current: 0.500
stealthchop_threshold: 999999
[stepper_y]
@@ -40,7 +39,6 @@ homing_speed: 50
[tmc2209 stepper_y]
uart_pin: PD1
run_current: 0.580
hold_current: 0.500
stealthchop_threshold: 999999
[stepper_z]
@@ -56,7 +54,6 @@ position_max: 250
[tmc2209 stepper_z]
uart_pin: PD15
run_current: 0.580
hold_current: 0.500
stealthchop_threshold: 999999
[extruder]
@@ -80,7 +77,6 @@ max_temp: 250
[tmc2209 extruder]
uart_pin: PD11
run_current: 0.650
hold_current: 0.500
stealthchop_threshold: 999999
[heater_bed]
@@ -94,7 +90,7 @@ pid_Kd: 948.182
min_temp: 0
max_temp: 130
[heater_fan nozzle_cooling_fan]
[heater_fan heatbreak_cooling_fan]
pin: PB6
[fan]

View File

@@ -126,37 +126,31 @@ max_z_accel: 5
#[tmc2208 stepper_x]
#uart_pin: PC14
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2208 stepper_y]
#uart_pin: PE1
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2208 stepper_z]
#uart_pin: PB5
#run_current: 0.650
#hold_current: 0.450
#stealthchop_threshold: 999999
#[tmc2208 extruder]
#uart_pin: PG10
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2208 extruder1]
#uart_pin: PD4
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2208 extruder2]
#uart_pin: PC12
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
@@ -167,7 +161,6 @@ max_z_accel: 5
#[tmc2130 stepper_x]
#cs_pin: PC14
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 0
#spi_software_mosi_pin: PG15
#spi_software_miso_pin: PB6
@@ -177,7 +170,6 @@ max_z_accel: 5
#cs_pin: PE1
#sense_resistor: 0.075
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 0
#spi_software_mosi_pin: PG15
#spi_software_miso_pin: PB6
@@ -187,7 +179,6 @@ max_z_accel: 5
#cs_pin: PB5
#sense_resistor: 0.075
#run_current: 0.650
#hold_current: 0.450
#stealthchop_threshold: 0
#spi_software_mosi_pin: PG15
#spi_software_miso_pin: PB6
@@ -197,7 +188,6 @@ max_z_accel: 5
#cs_pin: PG10
#sense_resistor: 0.075
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 0
#spi_software_mosi_pin: PG15
#spi_software_miso_pin: PB6
@@ -207,7 +197,6 @@ max_z_accel: 5
#cs_pin: PD4
#sense_resistor: 0.075
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 0
#spi_software_mosi_pin: PG15
#spi_software_miso_pin: PB6
@@ -217,7 +206,6 @@ max_z_accel: 5
#cs_pin: PC12
#sense_resistor: 0.075
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 0
#spi_software_mosi_pin: PG15
#spi_software_miso_pin: PB6
@@ -230,9 +218,7 @@ max_z_accel: 5
#[tmc5160 stepper_x]
#cs_pin: PC14
#sense_resistor: 0.075
#interpolate: True
#run_current: 1
#hold_current: 1
#stealthchop_threshold: 0
#spi_software_mosi_pin: PG15
#spi_software_miso_pin: PB6
@@ -241,9 +227,7 @@ max_z_accel: 5
#[tmc5160 stepper_y]
#cs_pin: PE1
#sense_resistor: 0.075
#interpolate: True
#run_current: 1
#hold_current: 1
#stealthchop_threshold: 0
#spi_software_mosi_pin: PG15
#spi_software_miso_pin: PB6
@@ -252,9 +236,7 @@ max_z_accel: 5
#[tmc5160 stepper_z]
#cs_pin: PB5
#sense_resistor: 0.075
#interpolate: True
#run_current: 0.4
#hold_current: 0.4
#stealthchop_threshold: 0
#spi_software_mosi_pin: PG15
#spi_software_miso_pin: PB6
@@ -263,9 +245,7 @@ max_z_accel: 5
#[tmc5160 extruder]
#cs_pin: PG10
#sense_resistor: 0.075
#interpolate: True
#run_current: 0.5
#hold_current: 0.5
#stealthchop_threshold: 0
#spi_software_mosi_pin: PG15
#spi_software_miso_pin: PB6
@@ -274,9 +254,7 @@ max_z_accel: 5
#[tmc5160 extruder1]
#cs_pin: PD4
#sense_resistor: 0.075
#interpolate: True
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 0
#spi_software_mosi_pin: PG15
#spi_software_miso_pin: PB6
@@ -285,9 +263,7 @@ max_z_accel: 5
#[tmc5160 extruder2]
#cs_pin: PC12
#sense_resistor: 0.075
#interpolate: True
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 0
#spi_software_mosi_pin: PG15
#spi_software_miso_pin: PB6

View File

@@ -0,0 +1,200 @@
# This file contains common pin mappings for the BIGTREETECH Manta E3EZ
# To use this config, the firmware should be compiled for the
# STM32G0B1 with a "8KiB bootloader" "8 MHz crystal"
# and "USB (on PA11/PA12)" or "CAN bus (on PB12/PB13)".
# See docs/Config_Reference.md for a description of parameters.
[stepper_x]
step_pin: PA14
dir_pin: !PA10
enable_pin: !PA13
microsteps: 16
rotation_distance: 40
endstop_pin: ^PC4
position_endstop: 0
position_max: 235
homing_speed: 50
[stepper_y]
step_pin: PC8
dir_pin: !PA15
enable_pin: !PC14
microsteps: 16
rotation_distance: 40
endstop_pin: ^PB0
position_endstop: 0
position_max: 235
homing_speed: 50
[stepper_z]
step_pin: PD2
dir_pin: PD4
enable_pin: !PD3
microsteps: 16
rotation_distance: 8
endstop_pin: ^PC6
position_endstop: 0
position_max: 270
[extruder]
step_pin: PD5
dir_pin: !PD6
enable_pin: !PB3
microsteps: 16
rotation_distance: 33.500
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PB11 #HE0
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PA4 #TH0
control: pid
pid_Kp: 21.527
pid_Ki: 1.063
pid_Kd: 108.982
min_temp: 0
max_temp: 250
#[filament_switch_sensor material_0]
#switch_pin: PC5
#[extruder1]
#step_pin: PB7
#dir_pin: PB6
#enable_pin: !PB4
#heater_pin: PB10 # HE1
#sensor_pin: PA5 # T1
#[filament_switch_sensor material_1]
#switch_pin: PB1
[heater_bed]
heater_pin: PB2 #HB
sensor_type: EPCOS 100K B57560G104F #Generic 3950
sensor_pin: PA3 #TB
control: watermark
min_temp: 0
max_temp: 130
[fan]
pin: PA8
#[heater_fan fan1]
#pin: PB15
#[heater_fan fan2]
#pin: PB14
[mcu]
serial: /dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00
[printer]
kinematics: cartesian
max_velocity: 300
max_accel: 3000
max_z_velocity: 5
max_z_accel: 100
########################################
# TMC2209 configuration
########################################
#[tmc2209 stepper_x]
#uart_pin: PB8
##diag_pin: PC4
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2209 stepper_y]
#uart_pin: PC9
##diag_pin: PB0
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2209 stepper_z]
#uart_pin: PD0
##diag_pin: PC6
#run_current: 0.650
#stealthchop_threshold: 999999
#[tmc2209 extruder]
#uart_pin: PD1
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2209 extruder1]
#uart_pin: PB5
#run_current: 0.800
#stealthchop_threshold: 999999
########################################
# TMC2130 configuration
########################################
#[tmc2130 stepper_x]
#cs_pin: PB8
#spi_software_miso_pin: PC11
#spi_software_mosi_pin: PC12
#spi_software_sclk_pin: PC10
##diag1_pin: PF3
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2130 stepper_y]
#cs_pin: PC9
#spi_software_miso_pin: PC11
#spi_software_mosi_pin: PC12
#spi_software_sclk_pin: PC10
##diag1_pin: PF4
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2130 stepper_z]
#cs_pin: PD0
#spi_software_miso_pin: PC11
#spi_software_mosi_pin: PC12
#spi_software_sclk_pin: PC10
##diag1_pin: PF5
#run_current: 0.650
#stealthchop_threshold: 999999
#[tmc2130 extruder]
#cs_pin: PD1
#spi_software_miso_pin: PC11
#spi_software_mosi_pin: PC12
#spi_software_sclk_pin: PC10
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2130 extruder1]
#cs_pin: PB5
#spi_software_miso_pin: PC11
#spi_software_mosi_pin: PC12
#spi_software_sclk_pin: PC10
#run_current: 0.800
#stealthchop_threshold: 999999
[board_pins]
aliases:
# EXP1 header
EXP1_1=PC1, EXP1_3=PC3, EXP1_5=PC0, EXP1_7=PA2, EXP1_9=<GND>,
EXP1_2=PC2, EXP1_4=<RST>, EXP1_6=PA0, EXP1_8=PA1, EXP1_10=<5V>
#[bltouch]
#sensor_pin: PA6
#control_pin: PA7
#[output_pin PS_ON]
#pin: PA9
#[output_pin pb9_pin]
#pin: PB9
#[neopixel my_neopixel]
#pin: PC7
#[adxl345]
#cs_pin: PC15
#spi_software_miso_pin: PC11
#spi_software_mosi_pin: PC12
#spi_software_sclk_pin: PC10

View File

@@ -0,0 +1,175 @@
# This file contains common pin mappings for the BIGTREETECH Manta M4P
# To use this config, the firmware should be compiled for the
# STM32G0B1 with a "8KiB bootloader" and USB communication.
# See docs/Config_Reference.md for a description of parameters.
[stepper_x]
step_pin: PC6
dir_pin: PA14
enable_pin: !PC7
microsteps: 16
rotation_distance: 40
endstop_pin: ^PC0
position_endstop: 0
position_max: 235
homing_speed: 50
[stepper_y]
step_pin: PB10
dir_pin: !PB2
enable_pin: !PB11
microsteps: 16
rotation_distance: 40
endstop_pin: ^PC1
position_endstop: 0
position_max: 235
homing_speed: 50
[stepper_z]
step_pin: PB0
dir_pin: !PC5
enable_pin: !PB1
microsteps: 16
rotation_distance: 8
endstop_pin: ^PC2
position_endstop: 0
position_max: 270
[extruder]
step_pin: PB3
dir_pin: PB4
enable_pin: !PD5
microsteps: 16
rotation_distance: 33.500
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PC8
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PA0
control: pid
pid_Kp: 22.2
pid_Ki: 1.08
pid_Kd: 114
min_temp: 0
max_temp: 250
#[filament_switch_sensor filament_sensor]
#switch_pin: ^!PC15
[heater_bed]
heater_pin: PD8
sensor_type: Generic 3950
sensor_pin: PC4
control: watermark
min_temp: 0
max_temp: 130
[fan]
pin: PD2
#[heater_fan fan1]
#pin: PD3
#[heater_fan fan2]
#pin: PD4
#[heater_fan SoC_fan]
#pin: CB1:gpio79
#pin: RPI:gpio26
[mcu]
serial: /dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00
[printer]
kinematics: cartesian
max_velocity: 180
max_accel: 3000
max_z_velocity: 5
max_z_accel: 100
########################################
# EXP1 / EXP2 (display) pins
########################################
[board_pins]
aliases:
# EXP1 header
EXP1_1=PD6, EXP1_3=PB9, EXP1_5=PA15, EXP1_7=PA9, EXP1_9=<GND>,
EXP1_2=PB8, EXP1_4=PC3, EXP1_6=PA10, EXP1_8=PB5, EXP1_10=<5V>,
# EXP2 header
EXP2_1=PB14, EXP2_3=PC11, EXP2_5=PC12, EXP2_7=PC13, EXP2_9=<GND>,
EXP2_2=PB13, EXP2_4=PA8, EXP2_6=PB15, EXP2_8=<RST>, EXP2_10=<NC>
# See the sample-lcd.cfg file for definitions of common LCD displays.
########################################
# TMC2209 configuration
########################################
#[tmc2209 stepper_x]
#uart_pin: PB12
#run_current: 0.800
#diag_pin:
#[tmc2209 stepper_y]
#uart_pin: PC10
#run_current: 0.800
#diag_pin:
#[tmc2209 stepper_z]
#uart_pin: PC9
#run_current: 0.800
#diag_pin:
#[tmc2209 extruder]
#uart_pin: PA13
#run_current: 0.600
#diag_pin:
########################################
# TMC5160 configuration
########################################
#[[tmc2130 stepper_x]
#cs_pin: PB12
#spi_bus: spi1
#diag1_pin: PG6
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2130 stepper_y]
#cs_pin: PC10
#spi_bus: spi1
#diag1_pin: PG9
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2130 stepper_z]
#cs_pin: PC9
#spi_bus: spi1
#diag1_pin: PG10
#run_current: 0.650
#stealthchop_threshold: 999999
#[tmc2130 extruder]
#cs_pin: PA13
#spi_bus: spi1
#diag1_pin: PC15
#run_current: 0.650
#stealthchop_threshold: 999999
#[bltouch]
#sensor_pin: PC14
#control_pin: PA1
#[adxl345]
#cs_pin: PD9
#spi_bus: spi1
#axes_map: z,y,-x
#[neopixel rgb1]
#pin: PD0
#[neopixel rgb2]
#pin: PD1

View File

@@ -0,0 +1,199 @@
# This file contains common pin mappings for the BIGTREETECH Manta M5P
# To use this config, the firmware should be compiled for the
# STM32G0B1 with a "8KiB bootloader" "8 MHz crystal"
# and "USB (on PA11/PA12)" or "CAN bus (on PD0/PD1)".
# See docs/Config_Reference.md for a description of parameters.
[stepper_x]
step_pin: PC8
dir_pin: !PC9
enable_pin: !PA15
microsteps: 16
rotation_distance: 40
endstop_pin: ^PD3
position_endstop: 0
position_max: 200
homing_speed: 50
[stepper_y]
step_pin: PA10
dir_pin: !PA14
enable_pin: !PA13
microsteps: 16
rotation_distance: 40
endstop_pin: ^PD2
position_endstop: 0
position_max: 200
homing_speed: 50
[stepper_z]
step_pin: PC6
dir_pin: PC7
enable_pin: !PA9
microsteps: 16
rotation_distance: 8
endstop_pin: ^PC3
position_endstop: 0.0
position_max: 200
[extruder]
step_pin: PB12
dir_pin: !PB11
enable_pin: !PA8
microsteps: 16
rotation_distance: 33.500
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PC5
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PA1
control: pid
pid_Kp: 21.527
pid_Ki: 1.063
pid_Kd: 108.982
min_temp: 0
max_temp: 250
#sensor_type:MAX31865
#sensor_pin: PA4
#spi_bus: spi1
#rtd_nominal_r: 100
#rtd_reference_r: 430
#rtd_num_of_wires: 2
#[filament_switch_sensor material_0]
#switch_pin: PC2
#[extruder1]
#step_pin: PB0
#dir_pin: PB1
#enable_pin: !PC4
#heater_pin: PA7
#sensor_pin: PA2
#...
[heater_bed]
heater_pin: PA5
sensor_type: Generic 3950
sensor_pin: PA0
control: watermark
min_temp: 0
max_temp: 130
[fan]
pin: PA4
#[heater_fan fan1]
#pin: PA3
#[heater_fan SoC_fan]
#pin: CB1:gpio79
#pin: RPI:gpio26
[mcu]
serial: /dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00
[printer]
kinematics: cartesian
max_velocity: 300
max_accel: 3000
max_z_velocity: 5
max_z_accel: 100
########################################
# TMC2209 configuration
########################################
#[tmc2209 stepper_x]
#uart_pin: PD9
#run_current: 0.800
#diag_pin: PD3
#[tmc2209 stepper_y]
#uart_pin: PD8
#run_current: 0.800
#diag_pin: PD2
#[tmc2209 stepper_z]
#uart_pin: PB10
#run_current: 0.800
#diag_pin: PC3
#[tmc2209 extruder]
#uart_pin: PB2
#run_current: 0.600
#diag_pin: PC2
#[tmc2209 extruder1]
#uart_pin: PA6
#run_current: 0.600
#diag_pin:
########################################
# TMC2130 configuration
########################################
#[tmc2130 stepper_x]
#cs_pin: PD9
#spi_bus: spi2
#run_current: 0.800
#stealthchop_threshold: 999999
#diag1_pin: PD3
#[tmc2130 stepper_y]
#cs_pin: PD8
#spi_bus: spi2
#run_current: 0.800
#stealthchop_threshold: 999999
#diag1_pin: PD2
#[tmc2130 stepper_z]
#cs_pin: PB10
#spi_bus: spi2
#run_current: 0.650
#stealthchop_threshold: 999999
#diag1_pin: PC3
#[tmc2130 extruder]
#cs_pin: PB2
#spi_bus: spi2
#run_current: 0.800
#stealthchop_threshold: 999999
#diag1_pin: PC2
#[tmc2130 extruder1]
#cs_pin: PA6
#spi_bus: spi2
#run_current: 0.800
#stealthchop_threshold: 999999
#diag1_pin:
[board_pins]
aliases:
# EXP1 header
EXP1_1=PD5, EXP1_3=PB3, EXP1_5=PB5, EXP1_7=PB7, EXP1_9=<GND>,
EXP1_2=PD4, EXP1_4=PD6, EXP1_6=PB4, EXP1_8=PB6, EXP1_10=<5V>,
# EXP2 header
EXP2_1=PB14, EXP2_3=PB8, EXP2_5=PC10, EXP2_7=PC12, EXP2_9=<GND>,
EXP2_2=PB13, EXP2_4=PB9, EXP2_6=PB15, EXP2_8=<RST>, EXP2_10=<NC>
# See the sample-lcd.cfg file for definitions of common LCD displays.
#[bltouch]
#sensor_pin: PC13
#control_pin: PC15
# Proximity switch
#[probe]
#pin: PC15
#[neopixel my_neopixel1]
#pin: PC11
#[neopixel my_neopixel2]
#pin: PC14
#[adxl345]
#cs_pin: PC0
#spi_bus: spi2

View File

@@ -0,0 +1,288 @@
# This file contains common pin mappings for the BIGTREETECH Manta M8P
# To use this config, the firmware should be compiled for the
# STM32G0B1 with a "8KiB bootloader" and USB communication.
# See docs/Config_Reference.md for a description of parameters.
[stepper_x]
step_pin: PE2
dir_pin: PB4
enable_pin: !PC11
microsteps: 16
rotation_distance: 40
endstop_pin: ^PF3
position_endstop: 0
position_max: 235
homing_speed: 50
[stepper_y]
step_pin: PF12
dir_pin: PF11
enable_pin: !PB3
microsteps: 16
rotation_distance: 40
endstop_pin: ^PF4
position_endstop: 0
position_max: 235
homing_speed: 50
[stepper_z]
step_pin: PD7
dir_pin: !PD6
enable_pin: !PF10
microsteps: 16
rotation_distance: 8
endstop_pin: ^PF5
position_endstop: 0
position_max: 270
# Motor4
# The M8P only has 4 heater outputs which leaves an extra stepper
# This can be used for a second Z stepper, dual_carriage, extruder co-stepper,
# or other accesory such as an MMU
#[stepper_]
#step_pin: PD3
#dir_pin: PD2
#enable_pin: !PD5
#endstop_pin: PC0
#...
[extruder]
step_pin: PC9
dir_pin: PC8
enable_pin: !PD1
microsteps: 16
rotation_distance: 33.500
nozzle_diameter: 0.4
filament_diameter: 1.75
heater_pin: PE3 # HE0
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PA1 # T0
control: pid
pid_Kp: 22.2
pid_Ki: 1.08
pid_Kd: 114
min_temp: 0
max_temp: 250
#[filament_switch_sensor material_0]
#switch_pin: PC1
# Motor6
#[extruder1]
#step_pin: PA10
#dir_pin: PD15
#enable_pin: !PA15
#heater_pin: PB5 # HE1
#sensor_pin: PA2 # T1
#...
#[filament_switch_sensor material_1]
#switch_pin: PC2
# Motor7
#[extruder2]
#step_pin: PD12
#dir_pin: PD11
#enable_pin: !PD14
#heater_pin: PB6 # HE2
#sensor_pin: PA3 # T2
#...
# Motor8
#[extruder3]
#step_pin: PD10
#dir_pin: PD8
#enable_pin: !PD9
#heater_pin: PE1 # HE3
#sensor_pin: PA4 # T3
#...
[heater_bed]
heater_pin: PB7
sensor_type: Generic 3950
sensor_pin: PA0 # TB
control: watermark
min_temp: 0
max_temp: 130
[fan]
pin: PE6
#[heater_fan fan1]
#pin: PE0
#[heater_fan fan2]
#pin: PC12
#[heater_fan fan3]
#pin: PE5
#[heater_fan fan4]
#pin: PE4
#tachometer_pin: PC13
#[heater_fan fan5]
#pin: PB8
#tachometer_pin: PC14
#[heater_fan fan6]
#pin: PB9
#tachometer_pin: PC15
[mcu]
serial: /dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00
[printer]
kinematics: cartesian
max_velocity: 300
max_accel: 3000
max_z_velocity: 5
max_z_accel: 100
########################################
# TMC2209 configuration
########################################
#[tmc2209 stepper_x]
#uart_pin: PC10
##diag_pin: PF3
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2209 stepper_y]
#uart_pin: PF13
##diag_pin: PF4
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2209 stepper_z]
#uart_pin: PF9
##diag_pin: PF5
#run_current: 0.650
#stealthchop_threshold: 999999
#[tmc2209 stepper_]
#uart_pin: PD4
##diag_pin: PC0
#run_current: 0.650
#stealthchop_threshold: 999999
#[tmc2209 extruder]
#uart_pin: PD0
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2209 extruder1]
#uart_pin: PF8
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2209 extruder2]
#uart_pin: PD13
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2209 extruder3]
#uart_pin: PC7
#run_current: 0.800
#stealthchop_threshold: 999999
########################################
# TMC2130 configuration
########################################
#[tmc2130 stepper_x]
#cs_pin: PC10
#spi_bus: spi1
##diag1_pin: PF3
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2130 stepper_y]
#cs_pin: PF13
#spi_bus: spi1
##diag1_pin: PF4
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2130 stepper_z]
#cs_pin: PF9
#spi_bus: spi1
##diag1_pin: PF5
#run_current: 0.650
#stealthchop_threshold: 999999
#[tmc2130 stepper_]
#cs_pin: PD4
#spi_bus: spi1
##diag1_pin: PC0
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2130 extruder]
#cs_pin: PD0
#spi_bus: spi1
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2130 extruder1]
#cs_pin: PF8
#spi_bus: spi1
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2130 extruder2]
#cs_pin: PD13
#spi_bus: spi1
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2130 extruder3]
#cs_pin: PC7
#spi_bus: spi1
#run_current: 0.800
#stealthchop_threshold: 999999
[board_pins]
aliases:
# EXP1 header
EXP1_1=PE9, EXP1_2=PE10,
EXP1_3=PE11, EXP1_4=PE12,
EXP1_5=PE13, EXP1_6=PE14, # Slot in the socket on this side
EXP1_7=PE15, EXP1_8=PB10,
EXP1_9=<GND>, EXP1_10=<5V>,
# EXP2 header
EXP2_1=PB14, EXP2_2=PB13,
EXP2_3=PF7, EXP2_4=PB12,
EXP2_5=PE7, EXP2_6=PB11, # Slot in the socket on this side
EXP2_7=PE8, EXP2_8=<RST>,
EXP2_9=<GND>, EXP2_10=<NC>
# See the sample-lcd.cfg file for definitions of common LCD displays.
#[bltouch]
#sensor_pin: PB2
#control_pin: PB1
# Proximity switch
#[probe]
#pin: PF6
#[output_pin ps_on_pin]
#pin: PC3
#[neopixel my_neopixel_1]
#pin: PC6
#[neopixel my_neopixel_2]
#pin: PA9
#[hall_filament_width_sensor]
#adc1: PC5
#adc2: PB0
#[adxl345]
#cs_pin: PB15
#spi_bus: spi1

View File

@@ -0,0 +1,295 @@
# This file contains common pin mappings for the BIGTREETECH Manta M8P
# To use this config, the firmware should be compiled for the
# STM32G0B1 with a "8KiB bootloader" "8 MHz crystal"
# and "USB (on PA11/PA12)" or "CAN bus (on PD12/PD13)".
# See docs/Config_Reference.md for a description of parameters.
[stepper_x]
step_pin: PE2
dir_pin: PB4
enable_pin: !PC11
microsteps: 16
rotation_distance: 40
endstop_pin: ^PF3
position_endstop: 0
position_max: 235
homing_speed: 50
[stepper_y]
step_pin: PF12
dir_pin: PF11
enable_pin: !PB3
microsteps: 16
rotation_distance: 40
endstop_pin: ^PF4
position_endstop: 0
position_max: 235
homing_speed: 50
[stepper_z]
step_pin: PD7
dir_pin: !PD6
enable_pin: !PF10
microsteps: 16
rotation_distance: 8
endstop_pin: ^PF5
position_endstop: 0
position_max: 270
# Motor4
# The M8P only has 4 heater outputs which leaves an extra stepper
# This can be used for a second Z stepper, dual_carriage, extruder co-stepper,
# or other accesory such as an MMU
#[stepper_]
#step_pin: PD3
#dir_pin: PD2
#enable_pin: !PD5
#endstop_pin: PC0
#...
[extruder]
step_pin: PC9
dir_pin: PC8
enable_pin: !PD1
microsteps: 16
rotation_distance: 33.500
nozzle_diameter: 0.4
filament_diameter: 1.75
heater_pin: PE3 # HE0
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PA1 # T0
control: pid
pid_Kp: 22.2
pid_Ki: 1.08
pid_Kd: 114
min_temp: 0
max_temp: 250
#[filament_switch_sensor material_0]
#switch_pin: PC1
# Motor6
#[extruder1]
#step_pin: PA10
#dir_pin: PA14
#enable_pin: !PA15
#heater_pin: PB5 # HE1
#sensor_pin: PA2 # T1
#...
#[filament_switch_sensor material_1]
#switch_pin: PC2
# Motor7
#[extruder2]
#step_pin: PD11
#dir_pin: PD9
#enable_pin: !PD15
#heater_pin: PB6 # HE2
#sensor_pin: PA3 # T2
#...
# Motor8
#[extruder3]
#step_pin: PD8
#dir_pin: PC6
#enable_pin: !PC7
#heater_pin: PE1 # HE3
#sensor_pin: PA4 # T3
#...
[heater_bed]
heater_pin: PB7
sensor_type: Generic 3950
sensor_pin: PA0 # TB
control: watermark
min_temp: 0
max_temp: 130
[fan]
pin: PE6
#[heater_fan fan1]
#pin: PE0
#[heater_fan fan2]
#pin: PC12
#[heater_fan fan3]
#pin: PE5
#[heater_fan fan4]
#pin: PE4
#[heater_fan fan5]
#pin: PB8
#tachometer_pin: PC14
#[heater_fan fan6]
#pin: PB9
#tachometer_pin: PC15
#[heater_fan SoC_fan]
#pin: CB1:gpio79
#pin: RPI:gpio26
[mcu]
serial: /dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00
[printer]
kinematics: cartesian
max_velocity: 300
max_accel: 3000
max_z_velocity: 5
max_z_accel: 100
########################################
# TMC2209 configuration
########################################
#[tmc2209 stepper_x]
#uart_pin: PC10
##diag_pin: PF3
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2209 stepper_y]
#uart_pin: PF13
##diag_pin: PF4
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2209 stepper_z]
#uart_pin: PF9
##diag_pin: PF5
#run_current: 0.650
#stealthchop_threshold: 999999
#[tmc2209 stepper_]
#uart_pin: PD4
##diag_pin: PC0
#run_current: 0.650
#stealthchop_threshold: 999999
#[tmc2209 extruder]
#uart_pin: PD0
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2209 extruder1]
#uart_pin: PF8
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2209 extruder2]
#uart_pin: PD14
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2209 extruder3]
#uart_pin: PD10
#run_current: 0.800
#stealthchop_threshold: 999999
########################################
# TMC2130 configuration
########################################
#[tmc2130 stepper_x]
#cs_pin: PC10
#spi_bus: spi1
##diag1_pin: PF3
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2130 stepper_y]
#cs_pin: PF13
#spi_bus: spi1
##diag1_pin: PF4
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2130 stepper_z]
#cs_pin: PF9
#spi_bus: spi1
##diag1_pin: PF5
#run_current: 0.650
#stealthchop_threshold: 999999
#[tmc2130 stepper_]
#cs_pin: PD4
#spi_bus: spi1
##diag1_pin: PC0
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2130 extruder]
#cs_pin: PD0
#spi_bus: spi1
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2130 extruder1]
#cs_pin: PF8
#spi_bus: spi1
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2130 extruder2]
#cs_pin: PD14
#spi_bus: spi1
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2130 extruder3]
#cs_pin: PD10
#spi_bus: spi1
#run_current: 0.800
#stealthchop_threshold: 999999
[board_pins]
aliases:
# EXP1 header
EXP1_1=PE9, EXP1_2=PE10,
EXP1_3=PE11, EXP1_4=PE12,
EXP1_5=PE13, EXP1_6=PE14, # Slot in the socket on this side
EXP1_7=PE15, EXP1_8=PB10,
EXP1_9=<GND>, EXP1_10=<5V>,
# EXP2 header
EXP2_1=PB14, EXP2_2=PB13,
EXP2_3=PF7, EXP2_4=PB12,
EXP2_5=PE7, EXP2_6=PB11, # Slot in the socket on this side
EXP2_7=PE8, EXP2_8=<RST>,
EXP2_9=<GND>, EXP2_10=<NC>
# See the sample-lcd.cfg file for definitions of common LCD displays.
#[bltouch]
#sensor_pin: PB2
#control_pin: PB1
# Proximity switch
#[probe]
#pin: PF6
#[output_pin ps_on_pin]
#pin: PC3
#[output_pin pc13_pin]
#pin: PC13
#[neopixel my_neopixel_1]
#pin: PA9
#[neopixel my_neopixel_2]
#pin: PB15
#[hall_filament_width_sensor]
#adc1: PC5
#adc2: PB0
#[adxl345]
#cs_pin: PC4
#spi_bus: spi1

View File

@@ -0,0 +1,332 @@
# This file contains common pin mappings for the BIGTREETECH Octopus Max EZ.
# To use this config, the firmware should be compiled for the
# STM32H723 with a "128KiB bootloader" "25 MHz crystal"
# and "USB (on PA11/PA12)" or "CAN bus (on PD0/PD1)".
# See docs/Config_Reference.md for a description of parameters.
# Motor-1
[stepper_x]
step_pin: PC13
dir_pin: PC14
enable_pin: !PE6
microsteps: 16
rotation_distance: 40
endstop_pin: PF0
position_endstop: 0
position_max: 200
homing_speed: 50
# Motor-2
[stepper_y]
step_pin: PE4
dir_pin: PE5
enable_pin: !PE3
microsteps: 16
rotation_distance: 40
endstop_pin: PF2
position_endstop: 0
position_max: 200
homing_speed: 50
# Motor-3
[stepper_z]
step_pin: PE1
dir_pin: PE0
enable_pin: !PE2
microsteps: 16
rotation_distance: 8
endstop_pin: PF4
position_endstop: 0.5
position_max: 200
# Motor-4
# The Octopus only has 4 heater outputs which leaves an extra stepper
# This can be used for a second Z stepper, dual_carriage, extruder co-stepper,
# or other accesory such as an MMU
#[stepper_]
#step_pin: PB8
#dir_pin: PB9
#enable_pin: PB7
#endstop_pin: PF3
#...
# Motor-5
[extruder]
step_pin: PB5
dir_pin: PB4
enable_pin: !PB6
microsteps: 16
rotation_distance: 33.500
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PF6 # HE0
sensor_pin: PB0 # T0
sensor_type: EPCOS 100K B57560G104F
control: pid
pid_Kp: 22.2
pid_Ki: 1.08
pid_Kd: 114
min_temp: 0
max_temp: 250
#[filament_switch_sensor material_0]
#switch_pin: PF1
# Motor-6
#[extruder1]
#step_pin: PG15
#dir_pin: PB3
#enable_pin: !PD5
#heater_pin: PA0 # HE1
#sensor_pin: PC5 # T1
#...
#[filament_switch_sensor material_1]
#switch_pin: PC15
# Motor-7
#[extruder2]
#step_pin: PD3
#dir_pin: PD2
#enable_pin: !PD4
#heater_pin: PF9 # HE2
#sensor_pin: PC4 # T2
#...
# Motor-8
#[extruder3]
#step_pin: PA10
#dir_pin: PA9
#enable_pin: !PA15
#heater_pin: PF7 # HE3
#sensor_pin: PA7 # T3
#...
# Motor-9
#[extruder4]
#step_pin: PA8
#dir_pin: PC7
#enable_pin: !PC9
#...
# Motor-10
#[extruder5]
#step_pin: PG6
#dir_pin: PC6
#enable_pin: !PC8
#...
[heater_bed]
heater_pin: PF5
sensor_pin: PB1 # TB
sensor_type: ATC Semitec 104GT-2
control: watermark
min_temp: 0
max_temp: 130
[fan]
pin: PA6
#[heater_fan fan1]
#pin: PA5
#[heater_fan fan2]
#pin: PA4
#[heater_fan fan3]
#pin: PA3
#[heater_fan fan4]
#pin: PA1
#tachometer_pin: PC3
#[heater_fan fan5]
#pin: PF8
#tachometer_pin: PC1
#[heater_fan fan6]
#pin: PA2
#tachometer_pin: PC2
[mcu]
serial: /dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00
[printer]
kinematics: cartesian
max_velocity: 300
max_accel: 3000
max_z_velocity: 5
max_z_accel: 100
########################################
# TMC2209 configuration
########################################
#[tmc2209 stepper_x]
#uart_pin: PG14
##diag_pin: PF0
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2209 stepper_y]
#uart_pin: PG13
##diag_pin: PF2
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2209 stepper_z]
#uart_pin: PG12
##diag_pin: PF4
#run_current: 0.650
#stealthchop_threshold: 999999
#[tmc2209 stepper_]
#uart_pin: PG11
##diag_pin: PF3
#run_current: 0.650
#stealthchop_threshold: 999999
#[tmc2209 extruder]
#uart_pin: PG10
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2209 extruder1]
#uart_pin: PG9
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2209 extruder2]
#uart_pin: PD7
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2209 extruder3]
#uart_pin: PD6
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2209 extruder4]
#uart_pin: PG8
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2209 extruder5]
#uart_pin: PG7
#run_current: 0.800
#stealthchop_threshold: 999999
########################################
# TMC2130 configuration
########################################
#[tmc2130 stepper_x]
#cs_pin: PG14
#spi_bus: spi4
##diag1_pin: PF0
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2130 stepper_y]
#cs_pin: PG13
#spi_bus: spi4
##diag1_pin: PF2
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2130 stepper_z]
#cs_pin: PG12
#spi_bus: spi4
##diag1_pin: PF4
#run_current: 0.650
#stealthchop_threshold: 999999
#[tmc2130 stepper_]
#cs_pin: PG11
#spi_bus: spi4
##diag1_pin: PF3
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2130 extruder]
#cs_pin: PG10
#spi_bus: spi4
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2130 extruder1]
#cs_pin: PG9
#spi_bus: spi4
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2130 extruder2]
#cs_pin: PD7
#spi_bus: spi4
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2130 extruder3]
#cs_pin: PD6
#spi_bus: spi4
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2130 extruder4]
#cs_pin: PG8
#spi_bus: spi4
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2130 extruder5]
#cs_pin: PG7
#spi_bus: spi4
#run_current: 0.800
#stealthchop_threshold: 999999
[board_pins]
aliases:
# FPC header, Aliases EXP1 & EXP2 for mini12864
EXP1_1=PG2, EXP1_2=PD15,
EXP1_3=PD14, EXP1_4=PD13,
EXP1_5=PD12, EXP1_6=PD11,
EXP1_7=PD10, EXP1_8=PE15,
EXP1_9=<GND>, EXP1_10=<5V>,
# EXP2 header
EXP2_1=PE13, EXP2_2=PE12,
EXP2_3=PG5, EXP2_4=PE11,
EXP2_5=PG4, EXP2_6=PE14,
EXP2_7=PG3, EXP2_8=<RST>,
EXP2_9=<GND>, EXP2_10=<NC>
# See the sample-lcd.cfg file for definitions of common LCD displays.
#[bltouch]
#sensor_pin: ^PB15
#control_pin: PB14
# Proximity switch
#[probe]
#pin: PF11
#[output_pin ps_on_pin]
#pin: PF13
#[output_pin pf12_pin]
#pin: PF12
#[neopixel my_neopixel_1]
#pin: PE10
#[neopixel my_neopixel_2]
#pin: PE9
#[hall_filament_width_sensor]
#adc1: PC0
#adc2: PF10
#[adxl345]
#cs_pin: PF14
#spi_bus: spi4

View File

@@ -0,0 +1,289 @@
# This file contains common pin mappings for the BigTreeTech Octopus
# Pro v1.0 board.
# Important! Do not use this config with an Octopus Pro v1.1 board as
# doing so could result in a heater being inadvertently enabled.
# To use this config, start by identifying the micro-controller on the
# board - it may be an STM32F446, STM32F429, or an STM32H723. Select
# the appropriate micro-controller in "make menuconfig" and select
# "Enable low-level configuration options". For STM32F446 boards the
# firmware should be compiled with a "32KiB bootloader" and a "12MHz
# crystal" clock reference. For STM32F429 boards use a "32KiB
# bootloader" and an "8MHz crystal". For STM32H723 boards use a
# "128KiB bootloader" and a "25Mhz crystal".
# See docs/Config_Reference.md for a description of parameters.
# Driver0
[stepper_x]
step_pin: PF13
dir_pin: PF12
enable_pin: !PF14
microsteps: 16
rotation_distance: 40
endstop_pin: PG6
position_endstop: 0
position_max: 200
homing_speed: 50
# Driver1
[stepper_y]
step_pin: PG0
dir_pin: PG1
enable_pin: !PF15
microsteps: 16
rotation_distance: 40
endstop_pin: PG9
position_endstop: 0
position_max: 200
homing_speed: 50
# Driver2
[stepper_z]
step_pin: PF11
dir_pin: PG3
enable_pin: !PG5
microsteps: 16
rotation_distance: 8
endstop_pin: PG10
position_endstop: 0.5
position_max: 200
# Driver3
# The Octopus only has 4 heater outputs which leaves an extra stepper
# This can be used for a second Z stepper, dual_carriage, extruder co-stepper,
# or other accesory such as an MMU
#[stepper_]
#step_pin: PG4
#dir_pin: PC1
#enable_pin: !PA0
#endstop_pin: PG11
#...
# Driver4
[extruder]
step_pin: PF9
dir_pin: PF10
enable_pin: !PG2
microsteps: 16
rotation_distance: 33.500
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PA2 # HE0
sensor_pin: PF4 # T0
sensor_type: EPCOS 100K B57560G104F
control: pid
pid_Kp: 22.2
pid_Ki: 1.08
pid_Kd: 114
min_temp: 0
max_temp: 250
#[filament_switch_sensor material_0]
#switch_pin: PG12
# Driver5
#[extruder1]
#step_pin: PC13
#dir_pin: PF0
#enable_pin: !PF1
#heater_pin: PA3 # HE1
#sensor_pin: PF5 # T1
#...
#[filament_switch_sensor material_1]
#switch_pin: PG13
# Driver6
#[extruder2]
#step_pin: PE2
#dir_pin: PE3
#enable_pin: !PD4
#heater_pin: PB10 # HE2
#sensor_pin: PF6 # T2
#...
#[filament_switch_sensor material_2]
#switch_pin: PG14
# Driver7
#[extruder3]
#step_pin: PE6
#dir_pin: PA14
#enable_pin: !PE0
#heater_pin: PB11 # HE3
#sensor_pin: PF7 # T3
#...
#[filament_switch_sensor material_3]
#switch_pin: PG15
[heater_bed]
heater_pin: PA1
sensor_pin: PF3 # TB
sensor_type: ATC Semitec 104GT-2
control: watermark
min_temp: 0
max_temp: 130
[fan]
pin: PA8
#[heater_fan fan1]
#pin: PE5
#[heater_fan fan2]
#pin: PD12
#[heater_fan fan3]
#pin: PD13
#[heater_fan fan4]
#pin: PD14
#[controller_fan fan5]
#pin: PD15
[mcu]
serial: /dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00
# CAN bus is also available on this board
[printer]
kinematics: cartesian
max_velocity: 300
max_accel: 3000
max_z_velocity: 5
max_z_accel: 100
########################################
# TMC2209 configuration
########################################
#[tmc2209 stepper_x]
#uart_pin: PC4
##diag_pin: PG6
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2209 stepper_y]
#uart_pin: PD11
##diag_pin: PG9
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2209 stepper_z]
#uart_pin: PC6
##diag_pin: PG10
#run_current: 0.650
#stealthchop_threshold: 999999
#[tmc2209 stepper_]
#uart_pin: PC7
##diag_pin: PG11
#run_current: 0.650
#stealthchop_threshold: 999999
#[tmc2209 extruder]
#uart_pin: PF2
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2209 extruder1]
#uart_pin: PE4
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2209 extruder2]
#uart_pin: PE1
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2209 extruder3]
#uart_pin: PD3
#run_current: 0.800
#stealthchop_threshold: 999999
########################################
# TMC2130 configuration
########################################
#[tmc2130 stepper_x]
#cs_pin: PC4
#spi_bus: spi1
##diag1_pin: PG6
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2130 stepper_y]
#cs_pin: PD11
#spi_bus: spi1
##diag1_pin: PG9
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2130 stepper_z]
#cs_pin: PC6
#spi_bus: spi1
##diag1_pin: PG10
#run_current: 0.650
#stealthchop_threshold: 999999
#[tmc2130 stepper_]
#cs_pin: PC7
#spi_bus: spi1
##diag1_pin: PG11
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2130 extruder]
#cs_pin: PF2
#spi_bus: spi1
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2130 extruder1]
#cs_pin: PE4
#spi_bus: spi1
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2130 extruder2]
#cs_pin: PE1
#spi_bus: spi1
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2130 extruder3]
#cs_pin: PD3
#spi_bus: spi1
#run_current: 0.800
#stealthchop_threshold: 999999
[board_pins]
aliases:
# EXP1 header
EXP1_1=PE8, EXP1_2=PE7,
EXP1_3=PE9, EXP1_4=PE10,
EXP1_5=PE12, EXP1_6=PE13, # Slot in the socket on this side
EXP1_7=PE14, EXP1_8=PE15,
EXP1_9=<GND>, EXP1_10=<5V>,
# EXP2 header
EXP2_1=PA6, EXP2_2=PA5,
EXP2_3=PB1, EXP2_4=PA4,
EXP2_5=PB2, EXP2_6=PA7, # Slot in the socket on this side
EXP2_7=PC15, EXP2_8=<RST>,
EXP2_9=<GND>, EXP2_10=PC5
# See the sample-lcd.cfg file for definitions of common LCD displays.
# A [probe] section can be defined instead with a pin: setting identical
# to the sensor_pin: for a bltouch
#[bltouch]
#sensor_pin: PB7
#control_pin: PB6
#z_offset: 0
#[neopixel my_neopixel]
#pin: PB0

View File

@@ -1,6 +1,13 @@
# This file contains common pin mappings for the BigTreeTech Octopus.
# To use this config, the firmware should be compiled for the
# STM32F446 with a "32KiB bootloader" and a "12MHz crystal" clock reference.
# This file contains common pin mappings for the BigTreeTech Octopus
# Pro v1.1 board.
# Important! Do not use this config with an Octopus Pro v1.0 board nor
# non-Pro board.
# To use this config, during "make menuconfig", select "Enable
# low-level configuration options", select the STM32H723
# micro-controller, select a "128KiB bootloader", and select a "25Mhz
# crystal".
# See docs/Config_Reference.md for a description of parameters.
@@ -46,7 +53,7 @@ position_max: 200
#[stepper_]
#step_pin: PG4
#dir_pin: PC1
#enable_pin: PA0
#enable_pin: !PA2
#endstop_pin: PG11
#...
@@ -59,7 +66,7 @@ microsteps: 16
rotation_distance: 33.500
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PA2 # HE0
heater_pin: PA0 # HE0
sensor_pin: PF4 # T0
sensor_type: EPCOS 100K B57560G104F
control: pid
@@ -89,7 +96,7 @@ max_temp: 250
#step_pin: PE2
#dir_pin: PE3
#enable_pin: !PD4
#heater_pin: PB10 # HE2
#heater_pin: PB0 # HE2
#sensor_pin: PF6 # T2
#...
@@ -153,52 +160,44 @@ max_z_accel: 100
#uart_pin: PC4
##diag_pin: PG6
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2209 stepper_y]
#uart_pin: PD11
##diag_pin: PG9
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2209 stepper_z]
#uart_pin: PC6
##diag_pin: PG10
#run_current: 0.650
#hold_current: 0.450
#stealthchop_threshold: 999999
#[tmc2209 stepper_]
#uart_pin: PC7
##diag_pin: PG11
#run_current: 0.650
#hold_current: 0.450
#stealthchop_threshold: 999999
#[tmc2209 extruder]
#uart_pin: PF2
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2209 extruder1]
#uart_pin: PE4
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2209 extruder2]
#uart_pin: PE1
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2209 extruder2]
#[tmc2209 extruder3]
#uart_pin: PD3
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
########################################
@@ -208,61 +207,53 @@ max_z_accel: 100
#[tmc2130 stepper_x]
#cs_pin: PC4
#spi_bus: spi1
##diag1_pin: PB10
##diag1_pin: PG6
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2130 stepper_y]
#cs_pin: PD11
#spi_bus: spi1
##diag1_pin: PE12
##diag1_pin: PG9
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2130 stepper_z]
#cs_pin: PC6
#spi_bus: spi1
##diag1_pin: PG8
##diag1_pin: PG10
#run_current: 0.650
#hold_current: 0.450
#stealthchop_threshold: 999999
#[tmc2130 stepper_]
#cs_pin: PC7
#spi_bus: spi1
##diag1_pin: PE15
##diag1_pin: PG11
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2130 extruder]
#cs_pin: PF2
#spi_bus: spi1
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2130 extruder1]
#cs_pin: PE4
#spi_bus: spi1
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2130 extruder2]
#cs_pin: PE1
#spi_bus: spi1
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2130 extruder3]
#cs_pin: PD3
#spi_bus: spi1
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
[board_pins]
@@ -291,4 +282,4 @@ aliases:
#z_offset: 0
#[neopixel my_neopixel]
#pin: PB0
#pin: PB10

View File

@@ -0,0 +1,288 @@
# This file contains common pin mappings for the BigTreeTech Octopus
# (non-Pro) boards.
# Important! Do not use this config with an Octopus Pro v1.1 board as
# doing so could result in a heater being inadvertently enabled.
# To use this config, start by identifying the micro-controller on the
# board - it may be an STM32F446, or STM32F429. Select the
# appropriate micro-controller in "make menuconfig" and select "Enable
# low-level configuration options". For STM32F446 boards the firmware
# should be compiled with a "32KiB bootloader" and a "12MHz crystal"
# clock reference. For STM32F429 boards use a "32KiB bootloader" and
# an "8MHz crystal".
# See docs/Config_Reference.md for a description of parameters.
# Driver0
[stepper_x]
step_pin: PF13
dir_pin: PF12
enable_pin: !PF14
microsteps: 16
rotation_distance: 40
endstop_pin: PG6
position_endstop: 0
position_max: 200
homing_speed: 50
# Driver1
[stepper_y]
step_pin: PG0
dir_pin: PG1
enable_pin: !PF15
microsteps: 16
rotation_distance: 40
endstop_pin: PG9
position_endstop: 0
position_max: 200
homing_speed: 50
# Driver2
[stepper_z]
step_pin: PF11
dir_pin: PG3
enable_pin: !PG5
microsteps: 16
rotation_distance: 8
endstop_pin: PG10
position_endstop: 0.5
position_max: 200
# Driver3
# The Octopus only has 4 heater outputs which leaves an extra stepper
# This can be used for a second Z stepper, dual_carriage, extruder co-stepper,
# or other accesory such as an MMU
#[stepper_]
#step_pin: PG4
#dir_pin: PC1
#enable_pin: !PA0
#endstop_pin: PG11
#...
# Driver4
[extruder]
step_pin: PF9
dir_pin: PF10
enable_pin: !PG2
microsteps: 16
rotation_distance: 33.500
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PA2 # HE0
sensor_pin: PF4 # T0
sensor_type: EPCOS 100K B57560G104F
control: pid
pid_Kp: 22.2
pid_Ki: 1.08
pid_Kd: 114
min_temp: 0
max_temp: 250
#[filament_switch_sensor material_0]
#switch_pin: PG12
# Driver5
#[extruder1]
#step_pin: PC13
#dir_pin: PF0
#enable_pin: !PF1
#heater_pin: PA3 # HE1
#sensor_pin: PF5 # T1
#...
#[filament_switch_sensor material_1]
#switch_pin: PG13
# Driver6
#[extruder2]
#step_pin: PE2
#dir_pin: PE3
#enable_pin: !PD4
#heater_pin: PB10 # HE2
#sensor_pin: PF6 # T2
#...
#[filament_switch_sensor material_2]
#switch_pin: PG14
# Driver7
#[extruder3]
#step_pin: PE6
#dir_pin: PA14
#enable_pin: !PE0
#heater_pin: PB11 # HE3
#sensor_pin: PF7 # T3
#...
#[filament_switch_sensor material_3]
#switch_pin: PG15
[heater_bed]
heater_pin: PA1
sensor_pin: PF3 # TB
sensor_type: ATC Semitec 104GT-2
control: watermark
min_temp: 0
max_temp: 130
[fan]
pin: PA8
#[heater_fan fan1]
#pin: PE5
#[heater_fan fan2]
#pin: PD12
#[heater_fan fan3]
#pin: PD13
#[heater_fan fan4]
#pin: PD14
#[controller_fan fan5]
#pin: PD15
[mcu]
serial: /dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00
# CAN bus is also available on this board
[printer]
kinematics: cartesian
max_velocity: 300
max_accel: 3000
max_z_velocity: 5
max_z_accel: 100
########################################
# TMC2209 configuration
########################################
#[tmc2209 stepper_x]
#uart_pin: PC4
##diag_pin: PG6
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2209 stepper_y]
#uart_pin: PD11
##diag_pin: PG9
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2209 stepper_z]
#uart_pin: PC6
##diag_pin: PG10
#run_current: 0.650
#stealthchop_threshold: 999999
#[tmc2209 stepper_]
#uart_pin: PC7
##diag_pin: PG11
#run_current: 0.650
#stealthchop_threshold: 999999
#[tmc2209 extruder]
#uart_pin: PF2
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2209 extruder1]
#uart_pin: PE4
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2209 extruder2]
#uart_pin: PE1
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2209 extruder3]
#uart_pin: PD3
#run_current: 0.800
#stealthchop_threshold: 999999
########################################
# TMC2130 configuration
########################################
#[tmc2130 stepper_x]
#cs_pin: PC4
#spi_bus: spi1
##diag1_pin: PG6
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2130 stepper_y]
#cs_pin: PD11
#spi_bus: spi1
##diag1_pin: PG9
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2130 stepper_z]
#cs_pin: PC6
#spi_bus: spi1
##diag1_pin: PG10
#run_current: 0.650
#stealthchop_threshold: 999999
#[tmc2130 stepper_]
#cs_pin: PC7
#spi_bus: spi1
##diag1_pin: PG11
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2130 extruder]
#cs_pin: PF2
#spi_bus: spi1
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2130 extruder1]
#cs_pin: PE4
#spi_bus: spi1
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2130 extruder2]
#cs_pin: PE1
#spi_bus: spi1
#run_current: 0.800
#stealthchop_threshold: 999999
#[tmc2130 extruder3]
#cs_pin: PD3
#spi_bus: spi1
#run_current: 0.800
#stealthchop_threshold: 999999
[board_pins]
aliases:
# EXP1 header
EXP1_1=PE8, EXP1_2=PE7,
EXP1_3=PE9, EXP1_4=PE10,
EXP1_5=PE12, EXP1_6=PE13, # Slot in the socket on this side
EXP1_7=PE14, EXP1_8=PE15,
EXP1_9=<GND>, EXP1_10=<5V>,
# EXP2 header
EXP2_1=PA6, EXP2_2=PA5,
EXP2_3=PB1, EXP2_4=PA4,
EXP2_5=PB2, EXP2_6=PA7, # Slot in the socket on this side
EXP2_7=PC15, EXP2_8=<RST>,
EXP2_9=<GND>, EXP2_10=PC5
# See the sample-lcd.cfg file for definitions of common LCD displays.
# A [probe] section can be defined instead with a pin: setting identical
# to the sensor_pin: for a bltouch
#[bltouch]
#sensor_pin: PB7
#control_pin: PB6
#z_offset: 0
#[neopixel my_neopixel]
#pin: PB0

View File

@@ -2,6 +2,10 @@
# To use this config, the firmware should be compiled for the
# STM32F407 with a "32KiB bootloader".
# In newer versions of this board shipped in late 2021 the STM32F429
# is used, if this is the case compile for this with a "32KiB bootloader"
# You will need to check the chip on your board to identify which you have.
#
# The "make flash" command does not work on the SKR 2. Instead,
# after running "make", copy the generated "out/klipper.bin" file to a
# file named "firmware.bin" on an SD card and then restart the SKR 2
@@ -73,7 +77,7 @@ max_temp: 250
[heater_bed]
heater_pin: PD7
sensor_type: NTC 100K beta 3950
sensor_type: Generic 3950
sensor_pin: PA1
control: watermark
min_temp: 0
@@ -128,19 +132,16 @@ aliases:
#[tmc2209 stepper_x]
#uart_pin: PE0
#run_current: 0.800
#hold_current: 0.800
#diag_pin:
#[tmc2209 stepper_y]
#uart_pin: PD3
#run_current: 0.800
#hold_current: 0.800
#diag_pin:
#[tmc2209 stepper_z]
#uart_pin: PD0
#run_current: 0.800
#hold_current: 0.800
#diag_pin:
#[tmc2209 extruder]

View File

@@ -0,0 +1,185 @@
# This file contains common pin mappings for the BigTreeTech SKR 3.
# This board can ship with one of two chips, STM32H743 or STM32H723.
# To use this config, during "make menuconfig" enable "low-level
# options", "STM32H743" or "STM32H723", "128KiB bootloader",
# and "25MHz clock".
# See docs/Config_Reference.md for a description of parameters.
[stepper_x]
step_pin: PD4
dir_pin: PD3
enable_pin: !PD6
microsteps: 16
rotation_distance: 40
endstop_pin: ^PC1
position_endstop: 0
position_max: 200
homing_speed: 50
[stepper_y]
step_pin: PA15
dir_pin: !PA8
enable_pin: !PD1
microsteps: 16
rotation_distance: 40
endstop_pin: ^PC3
position_endstop: 0
position_max: 200
homing_speed: 50
[stepper_z]
step_pin: PE2
dir_pin: PE3
enable_pin: !PE0
microsteps: 16
rotation_distance: 40
endstop_pin: ^PC0
position_endstop: 0.5
position_max: 200
[extruder]
step_pin: PD15
dir_pin: PD14
enable_pin: !PC7
microsteps: 16
rotation_distance: 33.500
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PB3
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PA2
control: pid
pid_Kp: 22.2
pid_Ki: 1.08
pid_Kd: 114
min_temp: 0
max_temp: 250
#[extruder1]
#step_pin: PD11
#dir_pin: PD10
#enable_pin: !PD13
#heater_pin: PB4
#sensor_pin: PA3
#...
[heater_bed]
heater_pin: PD7
sensor_type: Generic 3950
sensor_pin: PA1
control: watermark
min_temp: 0
max_temp: 130
[fan]
pin: PB7
#[heater_fan fan1]
#pin: PB6
#[heater_fan fan2]
#pin: PB5
[mcu]
serial: /dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00
[printer]
kinematics: cartesian
max_velocity: 300
max_accel: 3000
max_z_velocity: 5
max_z_accel: 100
########################################
# EXP1 / EXP2 (display) pins
########################################
[board_pins]
aliases:
# EXP1 header
EXP1_1=PC5, EXP1_3=PB1, EXP1_5=PE9, EXP1_7=PE11, EXP1_9=<GND>,
EXP1_2=PB0, EXP1_4=PE8, EXP1_6=PE10, EXP1_8=PE12, EXP1_10=<5V>,
# EXP2 header
EXP2_1=PA6, EXP2_3=PE7, EXP2_5=PB2, EXP2_7=PC4, EXP2_9=<GND>,
EXP2_2=PA5, EXP2_4=PA4, EXP2_6=PA7, EXP2_8=<RST>, EXP2_10=<NC>
# See the sample-lcd.cfg file for definitions of common LCD displays.
########################################
# TMC2209 configuration
########################################
#[tmc2209 stepper_x]
#uart_pin: PD5
#run_current: 0.800
#diag_pin:
#[tmc2209 stepper_y]
#uart_pin: PD0
#run_current: 0.800
#diag_pin:
#[tmc2209 stepper_z]
#uart_pin: PE1
#run_current: 0.800
#diag_pin:
#[tmc2209 extruder]
#uart_pin: PC6
#run_current: 0.600
#diag_pin:
#[tmc2209 extruder1]
#uart_pin: PD12
#run_current: 0.600
#diag_pin:
########################################
# TMC2130 configuration
########################################
#[tmc2130 stepper_x]
#cs_pin: PD5
#spi_software_miso_pin: PE15
#spi_software_mosi_pin: PE13
#spi_software_sclk_pin: PE14
#run_current: 0.800
#stealthchop_threshold: 999999
#diag1_pin: PC1
#[tmc2130 stepper_y]
#cs_pin: PD0
#spi_software_miso_pin: PE15
#spi_software_mosi_pin: PE13
#spi_software_sclk_pin: PE14
#run_current: 0.800
#stealthchop_threshold: 999999
#diag1_pin: PC3
#[tmc2130 stepper_z]
#cs_pin: PE1
#spi_software_miso_pin: PE15
#spi_software_mosi_pin: PE13
#spi_software_sclk_pin: PE14
#run_current: 0.650
#stealthchop_threshold: 999999
#diag1_pin: PC0
#[tmc2130 extruder]
#cs_pin: PC6
#spi_software_miso_pin: PE15
#spi_software_mosi_pin: PE13
#spi_software_sclk_pin: PE14
#run_current: 0.800
#stealthchop_threshold: 999999
#diag1_pin: PC2
#[tmc2130 extruder1]
#cs_pin: PD12
#spi_software_miso_pin: PE15
#spi_software_mosi_pin: PE13
#spi_software_sclk_pin: PE14
#run_current: 0.800
#stealthchop_threshold: 999999
#diag1_pin: PA0

View File

@@ -27,7 +27,6 @@ homing_speed: 50
uart_pin: PC11
tx_pin: PC10
run_current: 0.550
hold_current: 0.450
stealthchop_threshold: 999999
uart_address: 0
@@ -46,9 +45,8 @@ homing_speed: 50
[tmc2209 stepper_y]
uart_pin: PC11
tx_pin: PC10
uart_address: 2
uart_address: 1
run_current: 0.550
hold_current: 0.450
stealthchop_threshold: 999999
[stepper_z]
@@ -65,9 +63,8 @@ position_max: 250
[tmc2209 stepper_z]
uart_pin: PC11
tx_pin: PC10
uart_address: 1
uart_address: 2
run_current: 0.550
hold_current: 0.450
stealthchop_threshold: 999999
[extruder]
@@ -93,7 +90,6 @@ uart_pin: PC11
tx_pin: PC10
uart_address: 3
run_current: 0.600
hold_current: 0.400
stealthchop_threshold: 999999
[heater_bed]

View File

@@ -99,25 +99,21 @@ pins: !PC13
#[tmc2208 stepper_x]
#uart_pin: PC10
#run_current: 0.580
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2208 stepper_y]
#uart_pin: PC11
#run_current: 0.580
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2208 stepper_z]
#uart_pin: PC12
#run_current: 0.580
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2208 extruder]
#uart_pin: PD2
#run_current: 0.650
#hold_current: 0.500
#stealthchop_threshold: 999999
@@ -129,28 +125,24 @@ pins: !PC13
#cs_pin: PC10
#spi_bus: spi3
#run_current: 0.580
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2130 stepper_y]
#cs_pin: PC11
#spi_bus: spi3
#run_current: 0.580
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2130 stepper_z]
#cs_pin: PC12
#spi_bus: spi3
#run_current: 0.580
#hold_current: 0.450
#stealthchop_threshold: 999999
#[tmc2130 extruder]
#cs_pin: PD2
#spi_bus: spi3
#run_current: 0.650
#hold_current: 0.500
#stealthchop_threshold: 999999

View File

@@ -19,7 +19,6 @@ homing_speed: 50
uart_pin: P1.1
#diag_pin: P1.29
run_current: 0.580
hold_current: 0.500
stealthchop_threshold: 999999
[stepper_y]
@@ -37,7 +36,6 @@ homing_speed: 50
uart_pin: P1.10
#diag_pin: P1.28
run_current: 0.580
hold_current: 0.500
stealthchop_threshold: 999999
[stepper_z]
@@ -54,7 +52,6 @@ position_max: 250
uart_pin: P1.17
#diag_pin: P1.27
run_current: 0.580
hold_current: 0.500
stealthchop_threshold: 999999
[extruder]
@@ -79,7 +76,6 @@ max_temp: 250
uart_pin: P0.5
#diag_pin: P1.26
run_current: 0.650
hold_current: 0.500
stealthchop_threshold: 999999
#[extruder1]
@@ -109,7 +105,7 @@ max_temp: 130
[fan]
pin: P2.1
[heater_fan nozzle_cooling_fan]
[heater_fan heatbreak_cooling_fan]
pin: P2.2
[mcu]

View File

@@ -30,7 +30,6 @@ uart_pin: PC11
tx_pin: PC10
uart_address: 0
run_current: 0.580
hold_current: 0.500
stealthchop_threshold: 999999
[stepper_y]
@@ -49,7 +48,6 @@ uart_pin: PC11
tx_pin: PC10
uart_address: 2
run_current: 0.580
hold_current: 0.500
stealthchop_threshold: 999999
[stepper_z]
@@ -67,7 +65,6 @@ uart_pin: PC11
tx_pin: PC10
uart_address: 1
run_current: 0.580
hold_current: 0.500
stealthchop_threshold: 999999
[extruder]
@@ -93,7 +90,6 @@ uart_pin: PC11
tx_pin: PC10
uart_address: 3
run_current: 0.650
hold_current: 0.500
stealthchop_threshold: 999999
[heater_bed]

View File

@@ -28,7 +28,6 @@ homing_speed: 50
[tmc2209 stepper_x]
uart_pin: PB15
run_current: 0.580
hold_current: 0.500
stealthchop_threshold: 999999
[stepper_y]
@@ -45,7 +44,6 @@ homing_speed: 50
[tmc2209 stepper_y]
uart_pin: PC6
run_current: 0.580
hold_current: 0.500
stealthchop_threshold: 999999
[stepper_z]
@@ -61,7 +59,6 @@ position_max: 250
[tmc2209 stepper_z]
uart_pin: PC10
run_current: 0.580
hold_current: 0.500
stealthchop_threshold: 999999
[extruder]
@@ -85,7 +82,6 @@ max_temp: 250
[tmc2209 extruder]
uart_pin: PC11
run_current: 0.650
hold_current: 0.500
stealthchop_threshold: 999999
[heater_bed]

View File

@@ -27,7 +27,6 @@ uart_pin: PC11
tx_pin: PC10
uart_address: 0
run_current: 0.580
hold_current: 0.500
stealthchop_threshold: 999999
[stepper_y]
@@ -46,7 +45,6 @@ uart_pin: PC11
tx_pin: PC10
uart_address: 2
run_current: 0.580
hold_current: 0.500
stealthchop_threshold: 999999
[stepper_z]
@@ -64,7 +62,6 @@ uart_pin: PC11
tx_pin: PC10
uart_address: 1
run_current: 0.580
hold_current: 0.500
stealthchop_threshold: 999999
[extruder]
@@ -90,7 +87,6 @@ uart_pin: PC11
tx_pin: PC10
uart_address: 3
run_current: 0.650
hold_current: 0.500
stealthchop_threshold: 999999
[heater_bed]
@@ -104,7 +100,7 @@ pid_Kd: 948.182
min_temp: 0
max_temp: 130
[heater_fan nozzle_cooling_fan]
[heater_fan heatbreak_cooling_fan]
pin: PC7
[fan]

View File

@@ -0,0 +1,125 @@
# This file contains common pin mappings for the BIGTREETECH SKR mini
# E3 v3.0. To use this config, the firmware should be compiled for the
# STM32G0B1 with a "8KiB bootloader" and USB communication.
# The "make flash" command does not work on the SKR mini E3. Instead,
# after running "make", copy the generated "out/klipper.bin" file to a
# file named "firmware.bin" on an SD card and then restart the SKR
# mini E3 with that SD card.
# See docs/Config_Reference.md for a description of parameters.
[stepper_x]
step_pin: PB13
dir_pin: !PB12
enable_pin: !PB14
microsteps: 16
rotation_distance: 40
endstop_pin: ^PC0
position_endstop: 0
position_max: 235
homing_speed: 50
[tmc2209 stepper_x]
uart_pin: PC11
tx_pin: PC10
uart_address: 0
run_current: 0.580
stealthchop_threshold: 999999
[stepper_y]
step_pin: PB10
dir_pin: !PB2
enable_pin: !PB11
microsteps: 16
rotation_distance: 40
endstop_pin: ^PC1
position_endstop: 0
position_max: 235
homing_speed: 50
[tmc2209 stepper_y]
uart_pin: PC11
tx_pin: PC10
uart_address: 2
run_current: 0.580
stealthchop_threshold: 999999
[stepper_z]
step_pin: PB0
dir_pin: PC5
enable_pin: !PB1
microsteps: 16
rotation_distance: 8
endstop_pin: ^PC2
position_endstop: 0.0
position_max: 250
[tmc2209 stepper_z]
uart_pin: PC11
tx_pin: PC10
uart_address: 1
run_current: 0.580
stealthchop_threshold: 999999
[extruder]
step_pin: PB3
dir_pin: !PB4
enable_pin: !PD1
microsteps: 16
rotation_distance: 33.500
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PC8
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PA0
control: pid
pid_Kp: 21.527
pid_Ki: 1.063
pid_Kd: 108.982
min_temp: 0
max_temp: 250
[tmc2209 extruder]
uart_pin: PC11
tx_pin: PC10
uart_address: 3
run_current: 0.650
[heater_bed]
heater_pin: PC9
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PC4
control: pid
pid_Kp: 54.027
pid_Ki: 0.770
pid_Kd: 948.182
min_temp: 0
max_temp: 130
[heater_fan heatbreak_cooling_fan]
pin: PC7
[heater_fan controller_fan]
pin: PB15
[fan]
pin: PC6
[mcu]
serial: /dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00
[printer]
kinematics: cartesian
max_velocity: 300
max_accel: 3000
max_z_velocity: 5
max_z_accel: 100
[board_pins]
aliases:
# EXP1 header
EXP1_1=PB5, EXP1_3=PA9, EXP1_5=PA10, EXP1_7=PB8, EXP1_9=<GND>,
EXP1_2=PA15, EXP1_4=<RST>, EXP1_6=PB9, EXP1_8=PD6, EXP1_10=<5V>
# See the sample-lcd.cfg file for definitions of common LCD displays.

View File

@@ -30,7 +30,6 @@ uart_pin: PC11
tx_pin: PC10
uart_address: 0
run_current: 0.580
hold_current: 0.500
stealthchop_threshold: 999999
[stepper_y]
@@ -49,7 +48,6 @@ uart_pin: PC11
tx_pin: PC10
uart_address: 1
run_current: 0.580
hold_current: 0.500
stealthchop_threshold: 999999
[stepper_z]
@@ -67,7 +65,6 @@ uart_pin: PC11
tx_pin: PC10
uart_address: 2
run_current: 0.580
hold_current: 0.500
stealthchop_threshold: 999999
[extruder]
@@ -93,7 +90,6 @@ uart_pin: PC11
tx_pin: PC10
uart_address: 3
run_current: 0.650
hold_current: 0.500
stealthchop_threshold: 999999
[heater_bed]
@@ -107,7 +103,7 @@ pid_Kd: 948.182
min_temp: 0
max_temp: 130
[heater_fan nozzle_cooling_fan]
[heater_fan heatbreak_cooling_fan]
pin: PC7
[fan]

View File

@@ -0,0 +1,135 @@
# This file contains common pin mappings for the BIGTREETECH SKR Pico V1.0
# To use this config, the firmware should be compiled for the RP2040 with
# USB communication.
# The "make flash" command does not work on the SKR Pico V1.0. Instead,
# after running "make", copy the generated "out/klipper.uf2" file
# to the mass storage device in RP2040 boot mode
# See docs/Config_Reference.md for a description of parameters.
[stepper_x]
step_pin: gpio11
dir_pin: !gpio10
enable_pin: !gpio12
microsteps: 16
rotation_distance: 40
endstop_pin: ^gpio4
position_endstop: 0
position_max: 235
homing_speed: 50
[tmc2209 stepper_x]
uart_pin: gpio9
tx_pin: gpio8
uart_address: 0
run_current: 0.580
stealthchop_threshold: 999999
[stepper_y]
step_pin: gpio6
dir_pin: !gpio5
enable_pin: !gpio7
microsteps: 16
rotation_distance: 40
endstop_pin: ^gpio3
position_endstop: 0
position_max: 235
homing_speed: 50
[tmc2209 stepper_y]
uart_pin: gpio9
tx_pin: gpio8
uart_address: 2
run_current: 0.580
stealthchop_threshold: 999999
[stepper_z]
step_pin: gpio19
dir_pin: gpio28
enable_pin: !gpio2
microsteps: 16
rotation_distance: 8
endstop_pin: ^gpio25
position_endstop: 0.0
position_max: 250
[tmc2209 stepper_z]
uart_pin: gpio9
tx_pin: gpio8
uart_address: 1
run_current: 0.580
stealthchop_threshold: 999999
[extruder]
step_pin: gpio14
dir_pin: !gpio13
enable_pin: !gpio15
microsteps: 16
rotation_distance: 33.500
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: gpio23
sensor_type: EPCOS 100K B57560G104F
sensor_pin: gpio27
control: pid
pid_Kp: 21.527
pid_Ki: 1.063
pid_Kd: 108.982
min_temp: 0
max_temp: 250
[tmc2209 extruder]
uart_pin: gpio9
tx_pin: gpio8
uart_address: 3
run_current: 0.650
stealthchop_threshold: 999999
[heater_bed]
heater_pin: gpio21
sensor_type: ATC Semitec 104GT-2
sensor_pin: gpio26
control: pid
pid_Kp: 54.027
pid_Ki: 0.770
pid_Kd: 948.182
min_temp: 0
max_temp: 130
[fan]
pin: gpio17
[heater_fan heatbreak_cooling_fan]
pin: gpio18
[heater_fan controller_fan]
pin: gpio20
[temperature_sensor pico]
sensor_type: temperature_mcu
[mcu]
serial: /dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00
[printer]
kinematics: cartesian
max_velocity: 300
max_accel: 3000
max_z_velocity: 5
max_z_accel: 100
[neopixel board_neopixel]
pin: gpio24
chain_count: 1
color_order: GRB
initial_RED: 0.3
initial_GREEN: 0.3
initial_BLUE: 0.3
#[bltouch]
#sensor_pin: gpio22
#control_pin: gpio29
#[filament_switch_sensor runout_sensor]
#switch_pin: ^gpio16

View File

@@ -110,37 +110,31 @@ max_z_accel: 100
#[tmc2208 stepper_x]
#uart_pin: PC13
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2208 stepper_y]
#uart_pin: PE3
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2208 stepper_z]
#uart_pin: PE1
#run_current: 0.650
#hold_current: 0.450
#stealthchop_threshold: 999999
#[tmc2208 extruder]
#uart_pin: PD4
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2208 extruder1]
#uart_pin: PD1
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2208 extruder2]
#uart_pin: PD6
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
@@ -153,7 +147,6 @@ max_z_accel: 100
#spi_bus: spi3a
##diag1_pin: PB10
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2130 stepper_y]
@@ -161,7 +154,6 @@ max_z_accel: 100
#spi_bus: spi3a
##diag1_pin: PE12
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2130 stepper_z]
@@ -169,7 +161,6 @@ max_z_accel: 100
#spi_bus: spi3a
##diag1_pin: PG8
#run_current: 0.650
#hold_current: 0.450
#stealthchop_threshold: 999999
#[tmc2130 extruder]
@@ -177,7 +168,6 @@ max_z_accel: 100
#spi_bus: spi3a
##diag1_pin: PE15
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2130 extruder1]
@@ -185,7 +175,6 @@ max_z_accel: 100
#spi_bus: spi3a
##diag1_pin: PE10
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2130 extruder2]
@@ -193,7 +182,6 @@ max_z_accel: 100
#spi_bus: spi3a
##diag1_pin: PG5
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999

View File

@@ -95,31 +95,26 @@ max_z_accel: 100
#[tmc2208 stepper_x]
#uart_pin: P1.17
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2208 stepper_y]
#uart_pin: P1.15
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2208 stepper_z]
#uart_pin: P1.10
#run_current: 0.650
#hold_current: 0.450
#stealthchop_threshold: 999999
#[tmc2208 extruder]
#uart_pin: P1.8
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2208 extruder1]
#uart_pin: P1.1
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
@@ -138,7 +133,6 @@ max_z_accel: 100
#spi_software_sclk_pin: P0.4
##diag1_pin: P1.29
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2130 stepper_y]
@@ -148,7 +142,6 @@ max_z_accel: 100
#spi_software_sclk_pin: P0.4
##diag1_pin: P1.27
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2130 stepper_z]
@@ -158,7 +151,6 @@ max_z_accel: 100
#spi_software_sclk_pin: P0.4
##diag1_pin: P1.25
#run_current: 0.650
#hold_current: 0.450
#stealthchop_threshold: 999999
#[tmc2130 extruder]
@@ -168,7 +160,6 @@ max_z_accel: 100
#spi_software_sclk_pin: P0.4
##diag1_pin: P1.28
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2130 extruder1]
@@ -178,7 +169,6 @@ max_z_accel: 100
#spi_software_sclk_pin: P0.4
##diag1_pin: P1.26
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999

View File

@@ -94,31 +94,26 @@ max_z_accel: 100
#[tmc2208 stepper_x]
#uart_pin: P1.10
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#
#[tmc2208 stepper_y]
#uart_pin: P1.9
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#
#[tmc2208 stepper_z]
#uart_pin: P1.8
#run_current: 0.650
#hold_current: 0.450
#stealthchop_threshold: 999999
#
#[tmc2208 extruder]
#uart_pin: P1.4
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#
#[tmc2208 extruder1]
#uart_pin: P1.1
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
@@ -132,7 +127,6 @@ max_z_accel: 100
#spi_software_mosi_pin: P1.17
#spi_software_sclk_pin: P0.4
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#diag1_pin: P1.29
@@ -142,7 +136,6 @@ max_z_accel: 100
#spi_software_mosi_pin: P1.17
#spi_software_sclk_pin: P0.4
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#diag1_pin: P1.28
@@ -152,7 +145,6 @@ max_z_accel: 100
#spi_software_mosi_pin: P1.17
#spi_software_sclk_pin: P0.4
#run_current: 0.650
#hold_current: 0.450
#stealthchop_threshold: 999999
#diag1_pin: P1.27
@@ -162,7 +154,6 @@ max_z_accel: 100
#spi_software_mosi_pin: P1.17
#spi_software_sclk_pin: P0.4
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#diag1_pin: P1.26
@@ -172,7 +163,6 @@ max_z_accel: 100
#spi_software_mosi_pin: P1.17
#spi_software_sclk_pin: P0.4
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#diag1_pin: P1.25

View File

@@ -95,4 +95,4 @@ max_z_accel: 100
aliases:
EXP1_1=PC6,EXP1_3=PB10,EXP1_5=PB14,EXP1_7=PB12,EXP1_9=<GND>,
EXP1_2=PB2,EXP1_4=PB11,EXP1_6=PB13,EXP1_8=PB15,EXP1_10=<5V>,
PROBE_IN=PB0,PROBE_OUT=PB1,FIL_RUNOUT=PC6
PROBE_IN=PB0,PROBE_OUT=PB1,FIL_RUNOUT=PA4

View File

@@ -96,7 +96,6 @@ position_max: 250
[tmc2660 stepper_x]
cs_pin: PD14 # X_SPI_EN Required for communication
spi_bus: usart1 # All TMC2660 drivers are connected to USART1
interpolate: True # 1/16 micro-steps interpolated to 1/256
run_current: 1.000
sense_resistor: 0.051
idle_current_percent: 20
@@ -114,7 +113,6 @@ position_max: 210
[tmc2660 stepper_y]
cs_pin: PC9
spi_bus: usart1
interpolate: True
run_current: 1.000
sense_resistor: 0.051
idle_current_percent: 20
@@ -132,7 +130,6 @@ position_max: 200
[tmc2660 stepper_z]
cs_pin: PC10
spi_bus: usart1
interpolate: True
run_current: 1.000
sense_resistor: 0.051
@@ -147,7 +144,6 @@ rotation_distance: 8
[tmc2660 stepper_z1]
cs_pin: PD25
spi_bus: usart1
interpolate: True
run_current: 1.000
sense_resistor: 0.051
@@ -162,7 +158,6 @@ rotation_distance: 8
[tmc2660 stepper_z2]
cs_pin: PD26
spi_bus: usart1
interpolate: True
run_current: 1.000
sense_resistor: 0.051
@@ -177,7 +172,6 @@ rotation_distance: 8
[tmc2660 stepper_z3]
cs_pin: PB14
spi_bus: usart1
interpolate: True
run_current: 1.000
sense_resistor: 0.051
@@ -203,7 +197,6 @@ max_temp: 250
[tmc2660 extruder]
cs_pin: PC17
spi_bus: usart1
interpolate: True
run_current: 1.000
sense_resistor: 0.051
@@ -229,7 +222,6 @@ max_temp: 250
[tmc2660 extruder1]
cs_pin: PC25
spi_bus: usart1
interpolate: True
run_current: 1.000
sense_resistor: 0.051
@@ -255,7 +247,6 @@ max_temp: 250
[tmc2660 extruder2]
cs_pin: PD23
spi_bus: usart1
interpolate: True
run_current: 1.000
sense_resistor: 0.051
@@ -281,7 +272,6 @@ max_temp: 250
[tmc2660 extruder3]
cs_pin: PD24
spi_bus: usart1
interpolate: True
run_current: 1.000
sense_resistor: 0.051
@@ -298,7 +288,7 @@ max_temp: 130
pin: PC23
# Fan1 controlled by extruder
[heater_fan nozzle_cooling_fan]
[heater_fan heatbreak_cooling_fan]
pin: PC26
heater: extruder
heater_temp: 45

View File

@@ -123,7 +123,7 @@ max_temp: 130
[fan]
pin: PC23 # FAN0
#[heater_fan nozzle_cooling_fan]
#[heater_fan heatbreak_cooling_fan]
#pin: PC22 # FAN1
#[heater_fan board_cooling_fan]

View File

@@ -101,7 +101,7 @@ max_temp: 130
[fan]
pin: PC23 # FAN0
#[heater_fan nozzle_cooling_fan]
#[heater_fan heatbreak_cooling_fan]
#pin: PC26 # FAN1
#[heater_fan board_cooling_fan]

View File

@@ -0,0 +1,152 @@
# This file contains common pin mappings for the Duet3 6HC. To use
# this config, the firmware should be compiled for the SAME70Q20B.
# To flash the board, erase the existing firmware by jumpering the erase jumper.
# Boot the board, wait for reset to complete, remove the jumper, and then reboot the board,
# as described in Duet's documentation:
# https://docs.duet3d.com/en/User_manual/RepRapFirmware/Updating_firmware#all-other-duet-boards
# Then run: make flash FLASH_DEVICE=/dev/ttyACM0
# See docs/Config_Reference.md for a description of parameters.
# Pins for reference, v1.02 board:
# Driver Step Pins - 0:PC18 1:PC16 2:PC28 3:PC1 4:PC4 5:PC9
# Driver Dir Pins - 0:PB5 1:PD10 2:PA4 3:PA22 4:PC3 5:PD14
# Driver Enable - !PA9
# Driver CS - PD17
# Thermistor Pins - TEMP0:PC15 TEMP1:PC29 TEMP2:PC30 TEMP3:PC31
# Pullup Resistor - 2200
# Vssa Sense:PC13 | Vref Sense:PC0
# Current Sense resistor for drivers - 0.05ohm
# SPI lines:{PC25} -> SPIMosi:PC27 SPIMiso:PC26 SPISCLK:PC24
# Vin Monitor:PA20
# CAN Pins - TX0:PB2 RX0:PB3 TX1:PD12 RX1:PC12
# Heaters - Out0:PA7 Out1:PA24 Out2:PA16 Out3:PA11
# Fan outputs - Out4:PA15 Out5:PC5 Out6:PA8 Out7:PC11 Out8:PC8 Out9:PA12 | Out9 is shared with VFD_Out
# Tach Pins for Fans - Out4.Tach:PC7 Out5.Tach:PD23 Out6.Tach:PA1
# GPIO_out - IO0:PD26 IO1:PD16 IO2:PD27 IO3:PA3 IO4:PE0 IO5:PD21 IO6:PA0 IO7:PD23 IO8:PE1
# GPIO_in - IO0:PD25 IO1:PD15 IO2:PD28 IO3:PE5 IO4:PD30 IO5:PA19 IO6:PA18 IO7:PA17 IO8:PE3
# Driver Diag - 0:PD29 1:PC17 2:PD13 3:PC2 4:PD31 5:PC10
[stepper_x]
#driver 0
step_pin: PC18
dir_pin: PB5
enable_pin: !PA9
microsteps: 128
rotation_distance: 40
endstop_pin: PD25 #IO0
position_endstop: 0
position_max: 450
[tmc5160 stepper_x]
cs_pin: PD17
spi_bus: usart1
chain_position: 1
chain_length: 6
interpolate: False
run_current: 1
sense_resistor: 0.05
[stepper_y]
#driver 1
step_pin: PC16
dir_pin: PD10
enable_pin: !PA9
microsteps: 128
rotation_distance: 40
endstop_pin: PD15 #IO1
position_endstop: 0
position_max: 450
[tmc5160 stepper_y]
cs_pin: PD17
chain_position: 2
chain_length: 6
interpolate: False
run_current: 1.0
sense_resistor: 0.05
[stepper_z]
#driver2
step_pin: PC28
dir_pin: PA4
enable_pin: !PA9
microsteps: 64
rotation_distance: 8
endstop_pin: PD28 #IO2
position_endstop: 0
position_min: 0
position_max: 400
[tmc5160 stepper_z]
cs_pin: PD17
chain_position: 3
chain_length: 6
interpolate: False
run_current: 1.0
sense_resistor: 0.05
[adc_scaled vref_scaled]
vref_pin: PC0
vssa_pin: PC13
[extruder]
#driver3
step_pin: PC1
dir_pin: PA22
enable_pin: !PA9
microsteps: 16
rotation_distance: 33.500
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PA24 #Out1
sensor_type: ATC Semitec 104GT-2
pullup_resistor: 2200
sensor_pin: vref_scaled:PC29 #Temp1
control: pid
pid_Kp: 30.089
pid_Ki: 2.229
pid_Kd: 101.550
min_temp: 0
max_temp: 285
[tmc5160 extruder]
cs_pin: PD17
chain_position: 4
chain_length: 6
interpolate: False
run_current: .6
sense_resistor: 0.05
[heater_fan heatbreak_fan]
pin: PC8 #Out8
heater: extruder
heater_temp: 50.0
[heater_bed]
heater_pin: PA7 #Out0
sensor_type: Generic 3950
sensor_pin: vref_scaled:PC15 #Temp0
control: pid
pullup_resistor: 2200
pid_Kp: 61.049
pid_Ki: 2.339
pid_Kd: 398.344
min_temp: 0
max_temp: 130
[heater_fan heatbreak_fan]
pin: PA15 #Out4
[fan]
pin: PC5 #Out5
[mcu]
serial: /dev/ttyACM0
[printer]
kinematics: cartesian
max_velocity: 350
max_accel: 3000

View File

@@ -0,0 +1,108 @@
# This file contains common pin mappings for the Duet3 6XD. To use
# this config, the firmware should be compiled for the SAME70Q20B.
# To flash the board, erase the existing firmware by jumpering the erase jumper.
# Boot the board, wait for reset to complete, remove the jumper, and then reboot the board,
# as described in Duet's documentation:
# https://docs.duet3d.com/en/User_manual/RepRapFirmware/Updating_firmware#all-other-duet-boards
# Then run: make flash FLASH_DEVICE=/dev/ttyACM0
# See docs/Config_Reference.md for a description of parameters.
# Pins for reference, v1.0 board:
# Driver Step Pins - 0:PC18 1:PC16 2:PC28 3:PC1 4:PC4 5:PC9
# Driver Dir Pins - 0:PB5 1:PD10 2:PA4 3:PA22 4:PC3 5:PD14
# Driver En Pins - 0:PB4 1:PA21 2:PC20 3:PA23 4:PA2 5:PD17
# Driver Err Pins - 0:PD29 1:PC17 2:PD13 3:PC2 4:PD31 5:PC10
# Thermistor Pins - TEMP0:PC15 TEMP1:PC29 TEMP2:PC0 TEMP3:PC31
# Pullup Resistor - 2200
# Vssa Sense:PC13 | Vref Sense:PC30
# SPI0:{PD19, PA5, PA6, PD20, PC22} -> SPIMosi:PB1 SPIMiso:PB0 SPISCLK:PB13
# SPI1:{PC25} -> SPIMosi:PC27 SPIMiso:PC26 SPISCLK:PC24 DATA_RDY:PE2
# Vin Monitor:PA20
# LED's - Diag:PB6, Act:PB7
# CAN Pins - TX0:PB2 RX0:PB3 TX1:PD12 RX1:PC12
# Heaters - Out0:PA24 Out1:PA16 Out2:PA11
# Fan outputs - Out3:PA15 Out4:PC5 Out5:PA8 Out6:PC11 Out7:PC8 Out8:PA12
# Tach Pins for Fans - Out3.Tach:PC7 Out4.Tach:PD23 Out5.Tach:PA1
# VFD - PA7
# GPIO_out - IO0:PD26 IO1:PD16 IO2:PD27 IO3:PA3 IO4:PE0 IO5:PD21 IO6:PA0 IO7:PD23 IO8:PE1
# GPIO_in - IO0:PD25 IO1:PD15 IO2:PD28 IO3:PE5 IO4:PD30 IO5:PA19 IO6:PA18 IO7:PA17 IO8:PE3
[stepper_x]
#driver 0
step_pin: PC18
dir_pin: PB5
enable_pin: PB4
microsteps: 128
rotation_distance: 40
endstop_pin: PD25 #IO0
position_endstop: 0
position_max: 450
[stepper_y]
#driver 1
step_pin: PC16
dir_pin: PD10
enable_pin: PA21
microsteps: 128
rotation_distance: 40
endstop_pin: PD15 #IO1
position_endstop: 0
position_max: 450
[stepper_z]
#driver2
step_pin: PC28
dir_pin: PA4
enable_pin: PC20
microsteps: 64
rotation_distance: 8
endstop_pin: PD28 #IO2
position_endstop: 0
position_min: 0
position_max: 400
[adc_scaled vref_scaled]
vref_pin: PC30
vssa_pin: PC13
[extruder]
#driver3
step_pin: PC1
dir_pin: PA22
enable_pin: PA23
microsteps: 16
rotation_distance: 33.500
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PA24 #Out0
sensor_type: ATC Semitec 104GT-2
pullup_resistor: 2200
sensor_pin: vref_scaled:PC29 #Temp1
control: pid
pid_Kp: 30.089
pid_Ki: 2.229
pid_Kd: 101.550
min_temp: 0
max_temp: 285
[heater_fan heatbreak_fan]
pin: PC8 #Out7
heater: extruder
heater_temp: 50.0
[heater_fan heatbreak_fan]
pin: PA15 #Out3
[fan]
pin: PC5 #Out4
[mcu]
serial: /dev/ttyACM0
[printer]
kinematics: cartesian
max_velocity: 350
max_accel: 3000

View File

@@ -1,6 +1,6 @@
# This file contains common pin mappings for the Duet3 Mini 5+. To use
# this config, the firmware should be compiled for the ATSAMD51P20
# with a "25Mhz crystal", "16KiB bootloader", and USB communication.
# this config, the firmware should be compiled for the SAME54P20 with
# a "25Mhz crystal", "16KiB bootloader", and USB communication.
# To flash the board, double tap the board's reset button to enter the
# bootloader and then run: make flash FLASH_DEVICE=/dev/ttyACM0
@@ -26,6 +26,7 @@
# SBC SPISS pin:PA6, SBCTfrReady:PA3, SerComPins:{PA4, PA5, PA6, PA7}
# CAN Pins - TX:PB14 RX:PB15
# Heaters, Fan outputs - {Out0:PB17 Out1:PC10 Out2:PB13 Out3:PB11 Out4:PA11, Out5:PB2, Out6:PB1} | Out6 is shared with VFD_Out
# Tach Pins for Fans - {Out3.Tach:PB27 Out4.Tach:PB26}
# GPIO_out - {IO1:PB31 IO2:PD9 IO3:PB12 IO4:PD10} IO4 is shared with PSON
# GPIO_in - {IO1:PB30 IO2:PD8 IO3:PB7 IO4:PC5 IO5:PC4 IO6:PC31}
# Driver Diag - {D0:PA10, D1:PB8, D2:PA22, D3:PA23, D4:PC21, D5:PB10, D6:PA27}
@@ -123,7 +124,7 @@ sense_resistor: 0.056
[heater_bed]
heater_pin: PB17 #out1
sensor_type: NTC 100K beta 3950
sensor_type: Generic 3950
sensor_pin: vref_scaled:PC0
control: pid
pullup_resistor: 2200

View File

@@ -95,7 +95,7 @@ max_temp: 130
[fan]
pin: PH5
#[heater_fan nozzle_cooling_fan]
#[heater_fan heatbreak_cooling_fan]
#pin: PH3
[temperature_sensor board_sensor]

View File

@@ -144,55 +144,46 @@ max_z_accel: 100
#[tmc2208 stepper_x]
#uart_pin: PG13
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2208 stepper_y]
#uart_pin: PG10
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2208 stepper_z]
#uart_pin: PD5
#run_current: 0.650
#hold_current: 0.450
#stealthchop_threshold: 999999
#[tmc2208 extruder]
#uart_pin: PD1
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2208 extruder1]
#uart_pin: PA14
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2208 extruder2]
#uart_pin: PG6
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2208 extruder3]
#uart_pin: PG3
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2208 extruder4]
#uart_pin: PD10
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2208 extruder5]
#uart_pin: PB12
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
@@ -204,63 +195,54 @@ max_z_accel: 100
#cs_pin: PG13
##diag1_pin: PC3
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2130 stepper_y]
#cs_pin: PG10
##diag1_pin: PF2
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2130 stepper_z]
#cs_pin: PBD5
##diag1_pin: PF0
#run_current: 0.650
#hold_current: 0.450
#stealthchop_threshold: 999999
#[tmc2130 extruder]
#cs_pin: PD1
##diag1_pin: PE15
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2130 extruder1]
#cs_pin: PA14
##diag1_pin: PE10
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2130 extruder2]
#cs_pin: PG6
##diag1_pin: PC15
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2130 extruder3]
#cs_pin: PG3
##diag1_pin: PC15
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2130 extruder4]
#cs_pin: PD10
##diag1_pin: PC15
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2130 extruder5]
#cs_pin: PB12
##diag1_pin: PC15
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999

View File

@@ -25,7 +25,6 @@ uart_pin: PA3
tx_pin: PA2
uart_address: 0
run_current: 0.800
hold_current: 0.500
stealthchop_threshold: 999999
[stepper_y]
@@ -44,7 +43,6 @@ uart_pin: PA3
tx_pin: PA2
uart_address: 2
run_current: 0.800
hold_current: 0.500
stealthchop_threshold: 999999
[stepper_z]
@@ -62,7 +60,6 @@ uart_pin: PA3
tx_pin: PA2
uart_address: 1
run_current: 0.800
hold_current: 0.500
stealthchop_threshold: 999999
[extruder]
@@ -88,7 +85,6 @@ uart_pin: PA3
tx_pin: PA2
uart_address: 3
run_current: 1.0
hold_current: 0.500
stealthchop_threshold: 999999
[heater_bed]

View File

@@ -24,7 +24,6 @@ homing_speed: 50
uart_pin: PA12
tx_pin: PA11
run_current: 0.800
hold_current: 0.500
stealthchop_threshold: 999999
[stepper_y]
@@ -42,7 +41,6 @@ homing_speed: 50
uart_pin: PB7
tx_pin: PB6
run_current: 0.800
hold_current: 0.500
stealthchop_threshold: 999999
[stepper_z]
@@ -59,7 +57,6 @@ position_max: 200
uart_pin: PB11
tx_pin: PB10
run_current: 0.800
hold_current: 0.500
stealthchop_threshold: 999999
[extruder]
@@ -84,7 +81,6 @@ max_temp: 250
uart_pin: PA3
tx_pin: PA2
run_current: 1.0
hold_current: 0.500
stealthchop_threshold: 999999
[heater_bed]
@@ -101,7 +97,7 @@ max_temp: 130
[fan]
pin: PC8
[heater_fan nozzle_cooling_fan]
[heater_fan heatbreak_cooling_fan]
pin: PB0
[mcu]

View File

@@ -0,0 +1,138 @@
# This file contains common pin mappings for the Fysetc Cheetah V2.0
# To use this config, the firmware should be compiled for the
# STM32F401 with a "32KiB bootloader".
# Rename "klipper.bin" to "firmware.bin", copy to Sdcard and insert in motherboard
# See docs/Config_Reference.md for a description of parameters.
[stepper_x]
step_pin: PC0
dir_pin: PC1
enable_pin: !PA8
rotation_distance: 40
microsteps: 64
endstop_pin: ^PB4
position_endstop: 0
position_max: 200
homing_speed: 50
[tmc2209 stepper_x]
uart_pin: PA3
tx_pin: PA2
uart_address: 0
run_current: 0.800
interpolate: false
stealthchop_threshold: 0
[stepper_y]
step_pin: PC14
dir_pin: !PC13
enable_pin: !PC15
rotation_distance: 40
microsteps: 64
endstop_pin: ^PC8
position_endstop: 0
position_max: 200
homing_speed: 50
[tmc2209 stepper_y]
uart_pin: PA3
tx_pin: PA2
uart_address: 2
run_current: 0.800
interpolate: false
stealthchop_threshold: 0
[stepper_z]
step_pin: PB9
dir_pin: PB8
enable_pin: !PC2
rotation_distance: 8
microsteps: 64
endstop_pin: ^PB1
position_endstop: 0
position_max: 200
[tmc2209 stepper_z]
uart_pin: PA3
tx_pin: PA2
uart_address: 1
run_current: 0.800
interpolate: false
stealthchop_threshold: 0
[extruder]
step_pin: PB2
dir_pin: !PA15
enable_pin: !PD2
rotation_distance: 33.500
microsteps: 16
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PC6
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PC4
control: pid
pid_kp: 21.527
pid_ki: 1.063
pid_kd: 108.982
min_temp: 0
max_temp: 250
[tmc2209 extruder]
uart_pin: PA3
tx_pin: PA2
uart_address: 3
run_current: 0.800
interpolate: false
stealthchop_threshold: 0
[heater_bed]
heater_pin: PC7
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PC5
control: pid
pid_kp: 54.027
pid_ki: 0.770
pid_kd: 948.182
min_temp: 0
max_temp: 120
[fan]
pin: PA1
[heater_fan my_hotend_fan]
pin: PA13
heater: extruder
heater_temp: 50.0
[controller_fan my_controller_fan]
pin: PA14
heater: extruder, heater_bed
stepper: stepper_x, stepper_y, stepper_z, extruder
[printer]
kinematics: cartesian
max_velocity: 500
max_accel: 5000
max_z_velocity: 5
max_z_accel: 1000
[mcu]
serial: INSERTSERIALIDHERE
[board_pins]
aliases:
# EXP1 header
EXP1_1=<5V>, EXP1_3=<RST>, EXP1_5=PA7, EXP1_7=PA4, EXP1_9=PA5,
EXP1_2=<GND>, EXP1_4=PC3, EXP1_6=PC11, EXP1_8=PC10, EXP1_10=PA6,
# EXP2 header
EXP2_1=<5V>, EXP2_3=PB7, EXP2_5=PB14, EXP2_7=PB12, EXP2_9=PC12,
EXP2_2=<GND>, EXP2_4=PB6, EXP2_6=PB13, EXP2_8=PB15, EXP2_10=PC9,
# EXP3 header
EXP3_1=PC9, EXP3_3=PC10, EXP3_5=PC11, EXP3_7=PB12, EXP3_9=<GND>,
EXP3_2=PC12, EXP3_4=PB14, EXP3_6=PB13, EXP3_8=PB15, EXP3_10=<5V>
# Pins EXP1_4, EXP1_8, EXP1_6 are also MISO, MOSI, SCK of bus "spi2"

View File

@@ -78,7 +78,7 @@ max_temp: 130
pin: PL5
#fan for hotend FAN1
#[heater_fan my_nozzle_fan]
#[heater_fan heatbreak_cooling_fan]
#pin: PL4
#shutdown_speed: 1
@@ -112,42 +112,36 @@ pins: PB0
#uart_pin: PG3
#tx_pin: PJ2
#run_current: 0.8
#hold_current: 0.5
#stealthchop_threshold: 999999
#[tmc2208 stepper_y]
#uart_pin: PJ3
#tx_pin: PJ4
#run_current: 0.8
#hold_current: 0.5
#stealthchop_threshold: 999999
#[tmc2208 stepper_z]
#uart_pin: PE2
#tx_pin: PE6
#run_current: 0.8
#hold_current: 0.5
#stealthchop_threshold: 999999
#[tmc2208 extruder]
#uart_pin: PJ5
#tx_pin: PJ6
#run_current: 0.8
#hold_current: 0.5
#stealthchop_threshold: 999999
#[tmc2208 extruder1]
#uart_pin: PE7
#tx_pin: PD4
#run_current: 0.8
#hold_current: 0.5
#stealthchop_threshold: 999999
#[tmc2208 extruder2]
#uart_pin: PA1
#tx_pin: PD5
#run_current: 0.8
#hold_current: 0.5
#stealthchop_threshold: 999999
########################################
@@ -166,42 +160,36 @@ pins: PB0
#cs_pin: PG4
#diag1_pin: PK1
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2130 stepper_y]
#cs_pin: PG2
#diag1_pin: PJ1
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2130 stepper_z]
#cs_pin: PJ7
#diag1_pin: PB6
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2130 extruder]
#cs_pin: PL2
#diag1_pin: PE4
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2130 extruder1]
#cs_pin: PC5
#diag1_pin: PJ0
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2130 extruder2]
#cs_pin: PL7
#diag1_pin: PK2
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
########################################

View File

@@ -11,7 +11,7 @@ dir_pin: PE10
enable_pin: !PE9
microsteps: 16
rotation_distance: 40
endstop_pin: PB14 # PA1 for X-max
endstop_pin: ^PB14 # PA1 for X-max
position_endstop: 0
position_max: 200
@@ -21,7 +21,7 @@ dir_pin: PB12
enable_pin: !PD9
microsteps: 16
rotation_distance: 40
endstop_pin: PB13 # PA2 for Y-max
endstop_pin: ^PB13 # PA2 for Y-max
position_endstop: 0
position_max: 200
@@ -31,7 +31,7 @@ dir_pin: PD13
enable_pin: !PD15
microsteps: 16
rotation_distance: 8
endstop_pin: PA0 # PA3 for Z-max
endstop_pin: ^PA0 # PA3 for Z-max
position_endstop: 0
position_max: 400
@@ -80,7 +80,7 @@ max_temp: 130
pin: PB0
#fan for hotend FAN1
#[heater_fan my_nozzle_fan]
#[heater_fan heatbreak_cooling_fan]
#pin: PB1
#shutdown_speed: 1
@@ -106,37 +106,31 @@ max_z_accel: 100
#[tmc2208 stepper_x]
#uart_pin: PE8
#run_current: 0.8
#hold_current: 0.5
#stealthchop_threshold: 999999
#[tmc2208 stepper_y]
#uart_pin: PC4
#run_current: 0.8
#hold_current: 0.5
#stealthchop_threshold: 999999
#[tmc2208 stepper_z]
#uart_pin: PD12
#run_current: 0.8
#hold_current: 0.5
#stealthchop_threshold: 999999
#[tmc2208 extruder]
#uart_pin: PA15
#run_current: 0.8
#hold_current: 0.5
#stealthchop_threshold: 999999
#[tmc2208 extruder1]
#uart_pin: PC5
#run_current: 0.8
#hold_current: 0.5
#stealthchop_threshold: 999999
#[tmc2208 extruder2]
#uart_pin: PE0
#run_current: 0.8
#hold_current: 0.5
#stealthchop_threshold: 999999
@@ -149,7 +143,6 @@ max_z_accel: 100
#cs_pin: PE7
#diag1_pin: PB14
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2130 stepper_y]
@@ -157,7 +150,6 @@ max_z_accel: 100
#cs_pin: PE15
#diag1_pin: PB13
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2130 stepper_z]
@@ -165,7 +157,6 @@ max_z_accel: 100
#cs_pin: PD10
#diag1_pin: PA0
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2130 extruder]
@@ -173,7 +164,6 @@ max_z_accel: 100
#cs_pin: PD7
#diag1_pin: PA3
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2130 extruder1]
@@ -181,7 +171,6 @@ max_z_accel: 100
#cs_pin: PC14
#diag1_pin: PA2
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2130 extruder2]
@@ -189,7 +178,6 @@ max_z_accel: 100
#cs_pin: PC15
#diag1_pin: PA1
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999

View File

@@ -11,7 +11,7 @@ dir_pin: PE10
enable_pin: !PE12
microsteps: 16
rotation_distance: 40
endstop_pin: PB14 # PA1 for X-max
endstop_pin: ^PB14 # PA1 for X-max
position_endstop: 0
position_max: 200
@@ -21,7 +21,7 @@ dir_pin: PB12
enable_pin: !PD9
microsteps: 16
rotation_distance: 40
endstop_pin: PB13 # PA2 for Y-max
endstop_pin: ^PB13 # PA2 for Y-max
position_endstop: 0
position_max: 200
@@ -31,7 +31,7 @@ dir_pin: PD13
enable_pin: !PD15
microsteps: 16
rotation_distance: 8
endstop_pin: PA0 # PA3 for Z-max (and servo)
endstop_pin: ^PA0 # PA3 for Z-max (and servo)
position_endstop: 0
position_max: 400
@@ -80,7 +80,7 @@ max_temp: 130
pin: PB0
#fan for hotend FAN1
#[heater_fan my_nozzle_fan]
#[heater_fan heatbreak_cooling_fan]
#pin: PB1
#shutdown_speed: 1
@@ -113,42 +113,36 @@ max_z_accel: 100
#uart_pin: PE8
#tx_pin: PE9
#run_current: 0.8
#hold_current: 0.5
#stealthchop_threshold: 999999
#[tmc2208 stepper_y]
#uart_pin: PE13
#tx_pin: PE14
#run_current: 0.8
#hold_current: 0.5
#stealthchop_threshold: 999999
#[tmc2208 stepper_z]
#uart_pin: PD12
#tx_pin: PD11
#run_current: 0.8
#hold_current: 0.5
#stealthchop_threshold: 999999
#[tmc2208 extruder]
#uart_pin: PA15
#tx_pin: PD3
#run_current: 0.8
#hold_current: 0.5
#stealthchop_threshold: 999999
#[tmc2208 extruder1]
#uart_pin: PC5
#tx_pin: PC4
#run_current: 0.8
#hold_current: 0.5
#stealthchop_threshold: 999999
#[tmc2208 extruder2]
#uart_pin: PE0
#tx_pin: PE1
#run_current: 0.8
#hold_current: 0.5
#stealthchop_threshold: 999999
########################################
@@ -171,7 +165,6 @@ max_z_accel: 100
#cs_pin: PE7
#diag1_pin: PB14
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2130 stepper_y]
@@ -179,7 +172,6 @@ max_z_accel: 100
#cs_pin: PE15
#diag1_pin: PB13
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2130 stepper_z]
@@ -187,7 +179,6 @@ max_z_accel: 100
#cs_pin: PD10
#diag1_pin: PA0
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2130 extruder]
@@ -195,7 +186,6 @@ max_z_accel: 100
#cs_pin: PD7
#diag1_pin: PA3
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2130 extruder1]
@@ -203,7 +193,6 @@ max_z_accel: 100
#cs_pin: PC14
#diag1_pin: PA2
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2130 extruder2]
@@ -211,7 +200,6 @@ max_z_accel: 100
#cs_pin: PC15
#diag1_pin: PA1
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
########################################

View File

@@ -12,7 +12,7 @@ dir_pin: PE10
enable_pin: !PE9
microsteps: 16
rotation_distance: 40
endstop_pin: PB14 # PA1 for X-max
endstop_pin: ^PB14 # PA1 for X-max
position_endstop: 0
position_max: 200
@@ -32,7 +32,7 @@ dir_pin: PD13
enable_pin: !PD15
microsteps: 16
rotation_distance: 8
endstop_pin: PA0 # PA3 for Z-max
endstop_pin: ^PA0 # PA3 for Z-max
position_endstop: 0
position_max: 400
@@ -91,7 +91,7 @@ max_temp: 130
pin: PB0
#fan for hotend FAN1
#[heater_fan my_nozzle_fan]
#[heater_fan heatbreak_cooling_fan]
#pin: PB1
#shutdown_speed: 1
@@ -129,50 +129,42 @@ max_z_accel: 100
#[tmc2208 stepper_x]
#uart_pin: PE7
#run_current: 0.8
#hold_current: 0.5
#stealthchop_threshold: 999999
#[tmc2208 stepper_y]
#uart_pin: PE15
#run_current: 0.8
#hold_current: 0.5
#stealthchop_threshold: 999999
#[tmc2208 stepper_z]
#uart_pin: PD10
#run_current: 0.8
#hold_current: 0.5
#stealthchop_threshold: 999999
#[tmc2208 extruder]
#uart_pin: PD7
#run_current: 0.8
#hold_current: 0.5
#sense_resistor: 0.110
#stealthchop_threshold: 999999
#[tmc2208 extruder1]
#uart_pin: PC14
#run_current: 0.8
#hold_current: 0.5
#stealthchop_threshold: 999999
#[tmc2208 extruder2]
#uart_pin: PC15
#run_current: 0.8
#hold_current: 0.5
#stealthchop_threshold: 999999
#[tmc2208 extruder3]
#uart_pin: PA15
#run_current: 0.8
#hold_current: 0.5
#stealthchop_threshold: 999999
#[tmc2208 extruder4]
#uart_pin: PD11
#run_current: 0.8
#hold_current: 0.5
#stealthchop_threshold: 999999
########################################
@@ -184,7 +176,6 @@ max_z_accel: 100
#cs_pin: PE7
#diag1_pin: PB14
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2130 stepper_y]
@@ -192,7 +183,6 @@ max_z_accel: 100
#cs_pin: PE15
#diag1_pin: PB13
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2130 stepper_z]
@@ -200,7 +190,6 @@ max_z_accel: 100
#cs_pin: PD10
#diag1_pin: PA0
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2130 extruder]
@@ -208,7 +197,6 @@ max_z_accel: 100
#cs_pin: PD7
#diag1_pin: PA3
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2130 extruder1]
@@ -216,7 +204,6 @@ max_z_accel: 100
#cs_pin: PC14
#diag1_pin: PA2
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2130 extruder2]
@@ -224,21 +211,18 @@ max_z_accel: 100
#cs_pin: PC15
#diag1_pin: PA1
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2130 extruder3]
#spi_bus: spi4
#cs_pin: PA15
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2130 extruder4]
#spi_bus: spi4
#cs_pin: PD11
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
########################################

View File

@@ -0,0 +1,241 @@
# This file contains common pin mappings for the LDO Leviathan v1.2.
# To use this config, during "make menuconfig", select "Enable
# low-level configuration options", select the STM32F446 micro-controller,
# select a "32KiB bootloader", and select a "12Mhz crystal".
# See docs/Config_Reference.md for a description of parameters.
# HV-STEPPER-0
[stepper_x]
step_pin: PB10
dir_pin: PB11
enable_pin: !PG0
microsteps: 32
rotation_distance: 40
endstop_pin: PC1 # X-ENDSTOP
position_endstop: 0
position_max: 200
homing_speed: 50
[tmc5160 stepper_x]
spi_bus: spi4
cs_pin: PE15
#diag0_pin: PG1
interpolate: False
sense_resistor: 0.075
run_current: 0.8
stealthchop_threshold: 0
# HV-STEPPER-1
[stepper_y]
step_pin: PF15
dir_pin: PF14
enable_pin: !PE9
microsteps: 32
rotation_distance: 40
endstop_pin: PC2 # Y-ENDSTOP
position_endstop: 0
position_max: 200
homing_speed: 50
[tmc5160 stepper_y]
spi_bus: spi4
cs_pin: PE11
#diag0_pin: PE10
interpolate: False
sense_resistor: 0.075
run_current: 0.8
stealthchop_threshold: 0
# STEPPER-0
[stepper_z]
step_pin: PD4
dir_pin: PD3
enable_pin: !PD7
microsteps: 32
rotation_distance: 8
endstop_pin: PC3 # Z-ENDSTOP
position_endstop: 0
position_max: 200
[tmc2209 stepper_z]
uart_pin: PD5
#diag_pin: PD6
interpolate: False
run_current: 0.6
stealthchop_threshold: 999999
# The Leviathan was developed for Voron printers. It therefore has several
# steppers for the z-axes, but only one heater for one extruder.
# STEPPER-1
#[stepper_z1]
#step_pin: PC12
#dir_pin: PC11
#enable_pin: !PD2
#microsteps: 32
#rotation_distance: 8
#
#[tmc2209 stepper_z1]
#uart_pin: PD5
##diag_pin: PD6
#interpolate: False
#run_current: 0.6
#stealthchop_threshold: 999999
# STEPPER-2
#[stepper_z2]
#step_pin: PC9
#dir_pin: PC8
#enable_pin: !PC10
#microsteps: 32
#rotation_distance: 8
#
#[tmc2209 stepper_z2]
#uart_pin: PA8
##diag_pin: PA15
#interpolate: False
#run_current: 0.6
#stealthchop_threshold: 999999
# STEPPER-3
#[stepper_z3]
#step_pin: PG7
#dir_pin: PG6
#enable_pin: !PC7
#microsteps: 32
#rotation_distance: 8
#
#[tmc2209 stepper_z2]
#uart_pin: PG8
##diag_pin: PC6
#interpolate: False
#run_current: 0.6
#stealthchop_threshold: 999999
# STEPPER-4
[extruder]
step_pin: PD10
dir_pin: PD9
enable_pin: !PD13
microsteps: 32
rotation_distance: 22.67
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PG10 # HEATER
sensor_pin: PA2 # TH1
sensor_type: ATC Semitec 104NT-4-R025H42G
pullup_resistor: 2200
control: pid
pid_Kp: 36.787
pid_Ki: 4.716
pid_Kd: 71.735
min_temp: 0
max_temp: 250
[tmc2209 stepper_z]
uart_pin: PD11
#diag_pin: PD12
interpolate: False
run_current: 0.5
stealthchop_threshold: 0
#[filament_switch_sensor material_0]
#switch_pin: PC0 # FILAMENT-SENSOR
[heater_bed]
heater_pin: PG11 # HEATBED
sensor_pin: PA1 # TH0
sensor_type: ATC Semitec 104GT-2
pullup_resistor: 2200
control: pid
pid_kp: 56.723
pid_ki: 5.561
pid_kd: 144.642
min_temp: 0
max_temp: 130
[fan]
pin: PB7 # FAN0
#tachometer_pin: PB0
#[heater_fan fan1]
#pin: PB3
#tachometer_pin: PB4
#[heater_fan fan2]
#pin: PF7
#tachometer_pin: PF6
#[controller_fan fan3]
#pin: PF9
#tachometer_pin: PF8
[mcu]
serial: /dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00
# CAN bus is also available on this board
[printer]
kinematics: cartesian
max_velocity: 300
max_accel: 3000
max_z_velocity: 5
max_z_accel: 100
[board_pins]
aliases:
# EXP1 header
EXP1_1=PG9, EXP1_2=PG12,
EXP1_3=PG13, EXP1_4=PG14,
EXP1_5=PC13, EXP1_6=PC14,
EXP1_7=PC15, EXP1_8=PF0,
EXP1_9=<GND>, EXP1_10=<5V>,
# EXP2 header
EXP2_1=PA6, EXP2_2=PA5,
EXP2_3=PE2, EXP2_4=PE4,
EXP2_5=PE3, EXP2_6=PA7,
EXP2_7=PE5, EXP2_8=<RST>,
EXP2_9=<GND>, EXP2_10=PE4,
# See the sample-lcd.cfg file for definitions of common LCD displays.
# EXTENSION PORT
EXP3_1=<5V>, EXP3_2=<5V>, # max. 0.5A
EXP3_3=<GND>, EXP3_4=<GND>,
EXP3_5=<3.3V>, EXP3_6=<3.3V>, # max. 0.5A
EXP3_7=PF5, EXP3_8=PF4,
EXP3_9=PF3, EXP3_10=PF2,
EXP3_11=PC4, EXP3_12=PC5, # EXP3_11 and EXP3_12 are ADC inputs
EXP3_13=PB0, EXP3_14=PB1, # EXP3_13 and EXP3_14 are ADC inputs
EXP3_15=PE8, EXP3_16=PE7, # EXP3_15 is UART5_TX, EXP3_16 is UART5_RX
EXP3_17=PG5, EXP3_18=PG4,
EXP3_19=PG3, EXP3_20=PG2,
EXP3_21=PD15, EXP3_22=PD14,
EXP3_23=PB15, EXP3_24=PB14, # EXP3_23 is SPI2_MOSI
# EXP3_24 is SPI2_MISO
EXP3_25=PB13, EXP3_26=PB12, # EXP3_25 is SPI2_SCK + CAN2_TX
# EXP3_26 is SPI2_CS + CAN2_RX
EXP3_27=<GND>, EXP3_28=<GND>,
EXP3_29=<24V>, EXP3_30=<24V>, # max. 0.5A
#[probe]
#sensor_pin: PF1 # Z-PROBE
#z_offset: 0
#[led my_led]
#white_pin: PE6 # LED-Strip
#[neopixel my_neopixel]
#pin: PF10 # NEOPIXEL
#[temperature_sensor TH2]
#sensor_type: ATC Semitec 104GT-2
#sensor_pin: PA0 # TH2
#pullup_resistor: 2200
#[temperature_sensor TH3]
#sensor_type: ATC Semitec 104GT-2
#sensor_pin: PA3 # TH3
#pullup_resistor: 2200

View File

@@ -0,0 +1,216 @@
# This file contains common pin mappings for the Mellow Fly-CDY-v3.
# To use this config, the firmware should be compiled for the
# STM32F407 with a "32KiB bootloader".
# The "make flash" command does not work on the Fly-CDY-v3. Instead,
# after running "make", copy the generated "out/klipper.bin" file to a
# file named "firmware.bin" on an SD card and then restart the Fly-CDY-v3
# with that SD card.
# See docs/Config_Reference.md for a description of parameters.
[stepper_x]
step_pin: PE5
dir_pin: PC0
enable_pin: !PC1
microsteps: 16
rotation_distance: 40
endstop_pin: ^PC7 # X-MAX PC6
position_endstop: 0
position_max: 200
homing_speed: 50
[stepper_y]
step_pin: PE4
dir_pin: !PC13
enable_pin: !PC14
microsteps: 16
rotation_distance: 40
endstop_pin: ^PD11 # Y-MAX PD10
position_endstop: 0
position_max: 200
homing_speed: 50
[stepper_z]
step_pin: PE3
dir_pin: PB7
enable_pin: !PB8
microsteps: 16
rotation_distance: 40
endstop_pin: ^PB10 # Z-MAX PB11
position_endstop: 0.5
position_max: 200
[extruder]
step_pin: PE2
dir_pin: PD6
enable_pin: !PD7
microsteps: 16
rotation_distance: 33.500
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PD12
sensor_pin: PA3
sensor_type: EPCOS 100K B57560G104F
control: pid
pid_Kp: 22.2
pid_Ki: 1.08
pid_Kd: 114
min_temp: 0
max_temp: 250
#[extruder1]
#step_pin: PE1
#dir_pin: !PD3
#enable_pin: !PD4
#heater_pin: PD13
#sensor_pin: PC4
#[extruder2]
#step_pin: PE0
#dir_pin: !PA15
#enable_pin: !PD0
#heater_pin: PD14
#sensor_pin: PC5
[heater_bed]
heater_pin: PB0
sensor_type: Generic 3950
sensor_pin: PB1
control: watermark
min_temp: 0
max_temp: 130
#FAN0
[fan]
pin: PA0
#FAN1
#[heater_fan fan1]
#pin: PA1
#FAN2
#[heater_fan fan2]
#pin: PA2
[mcu]
serial: /dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00
[printer]
kinematics: cartesian
max_velocity: 300
max_accel: 3000
max_z_velocity: 5
max_z_accel: 100
########################################
# TMC2209 configuration
########################################
#[tmc2209 stepper_x]
#uart_pin: PC15
#run_current: 0.800
#diag_pin: PC7
#stealthchop_threshold: 999999
#[tmc2209 stepper_y]
#uart_pin: PA8
#run_current: 0.800
#diag_pin: PC6
#stealthchop_threshold: 999999
#[tmc2209 stepper_z]
#uart_pin: PB6
#run_current: 0.800
#diag_pin: PD11
#stealthchop_threshold: 999999
#[tmc2209 extruder]
#uart_pin: PD5
#run_current: 0.600
#diag_pin: PD10
#stealthchop_threshold: 999999
#[tmc2209 extruder1]
#uart_pin: PD1
#run_current: 0.600
#diag_pin: PB10
#stealthchop_threshold: 999999
#[tmc2209 extruder2]
#uart_pin: PE9
#run_current: 0.600
#diag_pin: PB11
#stealthchop_threshold: 999999
########################################
# TMC5160 configuration
########################################
#[tmc5160 stepper_x]
#cs_pin: PC15
#spi_bus: spi3
#run_current: 0.800
#diag1_pin: PC7
#stealthchop_threshold: 999999
#[tmc5160 stepper_y]
#cs_pin: PA8
#spi_bus: spi3
#run_current: 0.800
#diag1_pin: PC6
#stealthchop_threshold: 999999
#[tmc5160 stepper_z]
#cs_pin: PB6
#spi_bus: spi3
#run_current: 0.800
#diag1_pin: PD11
#stealthchop_threshold: 999999
#[tmc5160 extruder]
#cs_pin: PD5
#spi_bus: spi3
#run_current: 0.800
#diag1_pin: PD10
#stealthchop_threshold: 999999
#[tmc5160 extruder1]
#cs_pin: PD1
#spi_bus: spi3
#run_current: 0.800
#diag1_pin: PB10
#stealthchop_threshold: 999999
#[tmc5160 extruder2]
#cs_pin: PE9
#spi_bus: spi3
#run_current: 0.800
#diag1_pin: PB11
#stealthchop_threshold: 999999
########################################
# Accelerometer (ADXL345) pins
########################################
## SCK=PA5, MISO=PA6, MOSI=PA7
#[adxl345]
#cs_pin: PE7
#spi_bus: spi1
########################################
# EXP1 / EXP2 (display) pins
########################################
[board_pins]
aliases:
# EXP1 header
EXP1_1=<NC>, EXP1_3=PB2, EXP1_5=PE15, EXP1_7=PA13, EXP1_9=<GND>,
EXP1_2=PA9, EXP1_4=PA10, EXP1_6=PE14, EXP1_8=PA14, EXP1_10=<5V>,
# EXP2 header
EXP2_1=PA6, EXP2_3=PD8, EXP2_5=PD9, EXP2_7=PE13, EXP2_9=<GND>,
EXP2_2=PA5, EXP2_4=PA4, EXP2_6=PA7, EXP2_8=<RST>, EXP2_10=<NC>,
# See the sample-lcd.cfg file for definitions of common LCD displays.

View File

@@ -0,0 +1,232 @@
# This file contains common pin mappings for the Mellow Fly-E3-v2.
# To use this config, the firmware should be compiled for the
# STM32F407 with a "32KiB bootloader".
# The "make flash" command does not work on the Fly-E3-v2. Instead,
# after running "make", copy the generated "out/klipper.bin" file to a
# file named "firmware.bin" or "klipper.bin" on an SD card and then restart the Fly-E3-v2
# with that SD card.
# See docs/Config_Reference.md for a description of parameters.
[mcu]
serial: /dev/serial/by-id/usb-Klipper_stm32f407xx_27004A001851323333353137-if00
[stepper_x]
step_pin: PE5
dir_pin: PC0
enable_pin: !PC1
microsteps: 16
rotation_distance: 30
full_steps_per_rotation: 200
endstop_pin: PE7 #X-STOP
position_endstop: 0
position_max: 200
homing_speed: 50
second_homing_speed: 10
homing_retract_dist: 5.0
homing_positive_dir: false
step_pulse_duration: 0.000004
[stepper_y]
step_pin: PE4
dir_pin: !PC13
enable_pin: !PC14
microsteps: 16
rotation_distance: 30
full_steps_per_rotation: 200
endstop_pin: PE8 #Y-STOP
position_endstop: 0
position_max: 200
homing_speed: 50
second_homing_speed: 10
homing_retract_dist: 5.0
homing_positive_dir: false
step_pulse_duration: 0.000004
[stepper_z]
step_pin: PE1
dir_pin: !PB7
enable_pin: !PE3
microsteps: 16
rotation_distance: 30
full_steps_per_rotation: 200
endstop_pin: PE9 #Z-STOP
position_min: 0
position_endstop: 0
position_max: 200
homing_speed: 5
second_homing_speed: 3
homing_retract_dist: 5.0
homing_positive_dir: false
step_pulse_duration: 0.000004
[extruder]
step_pin: PE2
dir_pin: PD5
enable_pin: !PD6
microsteps: 16
rotation_distance: 33.500
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PC6 #E0
########################################
# Extruder 100K thermistor configuration
########################################
sensor_type: ATC Semitec 104GT-2
sensor_pin: PC4 #T0 TEMP
control: pid
pid_Kp: 22.2
pid_Ki: 1.08
pid_Kd: 114
min_temp: 0
max_temp: 275
########################################
# Extruder MAX31865 PT100 2 wire config
########################################
# sensor_type: MAX31865
# sensor_pin: PD15 #PT-100
# spi_speed: 4000000
# spi_software_sclk_pin: PD12
# spi_software_mosi_pin: PD11
# spi_software_miso_pin: PD13
# rtd_nominal_r: 100
# rtd_reference_r: 430
# rtd_num_of_wires: 2
# rtd_use_50Hz_filter: True
min_temp: 0
max_temp: 300
#[extruder1]
#step_pin: PE0
#dir_pin: PD1
#enable_pin: !PD3
#microsteps: 16
#heater_pin: PC7 #E1
#sensor_pin: PC5 #T1 TEMP
########################################
# TMC2209 configuration
########################################
[tmc2209 stepper_x]
uart_pin: PC15
interpolate: False
run_current: 0.3
sense_resistor: 0.110
stealthchop_threshold: 999999
[tmc2209 stepper_y]
uart_pin: PB6
interpolate: False
run_current: 0.3
sense_resistor: 0.110
stealthchop_threshold: 999999
[tmc2209 stepper_z]
uart_pin: PD7
interpolate: False
run_current: 0.4
sense_resistor: 0.110
stealthchop_threshold: 999999
[tmc2209 extruder]
uart_pin: PD4
interpolate: False
run_current: 0.27
sense_resistor: 0.075
stealthchop_threshold: 999999
#[tmc2209 extruder1]
#uart_pin: PD0
#interpolate: False
#run_current: 0.27
#sense_resistor: 0.075
#stealthchop_threshold: 999999
#######################################
# Heated Bed
#######################################
[heater_bed]
heater_pin: PB0 #BED
sensor_type: Generic 3950
sensor_pin: PB1 #B-TEMP
max_power: 1.0
min_temp: 0
max_temp: 120
control: pid
pid_kp: 58.437
pid_ki: 2.347
pid_kd: 363.769
#######################################
# LIGHTING
#######################################
#[led Toolhead]
#white_pin: PA2 #FAN2
#cycle_time: 0.010
#initial_white: 0
#######################################
# COOLING
#######################################
[heater_fan hotend_fan]
pin: PA1 #FAN1
max_power: 1.0
kick_start_time: 0.5
heater: extruder
heater_temp: 50
fan_speed: 1.0
[controller_fan controller_fan]
pin: PA0 #FAN0
max_power: 1.0
kick_start_time: 0.5
heater: extruder
stepper: stepper_x, stepper_y, stepper_z
fan_speed: 1.0
idle_timeout: 60
[fan]
pin: PA3 #FAN3
max_power: 1.0
off_below: 0.2
[temperature_sensor Mellow_Fly_E3_V2]
sensor_type: temperature_mcu
min_temp: 5
max_temp: 80
[printer]
kinematics: cartesian
max_velocity: 300
max_accel: 3000
max_z_velocity: 50
max_z_accel: 100
########################################
# EXP1 / EXP2 (display) pins
########################################
[board_pins]
aliases:
EXP1_1=PD10, EXP1_3=PA8, EXP1_5=PE15, EXP1_7=PA14, EXP1_9=<GND>,
EXP1_2=PA9, EXP1_4=PA10, EXP1_6=PE14, EXP1_8=PA13, EXP1_10=<5V>,
# EXP2 header
EXP2_1=PA6, EXP2_3=PB11, EXP2_5=PB10, EXP2_7=PE13, EXP2_9=<GND>,
EXP2_2=PA5, EXP2_4=PA4, EXP2_6=PA7, EXP2_8=<RST>, EXP2_10=<NC>,
# See the sample-lcd.cfg file for definitions of common LCD displays.
#######################################
# BL-Touch
#######################################
#[bltouch]
#sensor_pin: PC2
#control_pin: PE6
#z_offset: 0

View File

@@ -0,0 +1,157 @@
# This file contains common pin mappings for the Mellow Fly-Gemini-v1.
# To use this config, the firmware should be compiled for the
# STM32F405 with a "32KiB bootloader".
# The "make flash" command does not work on the Fly-Gemini-v1. Instead,
# after running "make", copy the generated "out/klipper.bin" file to a
# file named "firmware.bin" or "klipper.bin" on an SD card and then restart the Fly-Gemini-v1
# with that SD card.
# See docs/Config_Reference.md for a description of parameters.
[stepper_x]
step_pin: PC13
dir_pin: PC1
enable_pin: !PB2
microsteps: 16
rotation_distance: 40
endstop_pin: ^PA3
position_endstop: 0
position_max: 200
homing_speed: 50
[stepper_y]
step_pin: PC14
dir_pin: !PC4
enable_pin: !PB6
microsteps: 16
rotation_distance: 40
endstop_pin: ^PB1
position_endstop: 0
position_max: 200
homing_speed: 50
[stepper_z]
step_pin: PC15
dir_pin: PC5
enable_pin: !PB5
microsteps: 16
rotation_distance: 40
endstop_pin: ^PB10
position_endstop: 0.5
position_max: 200
[extruder]
step_pin: PC3
dir_pin: PC7
enable_pin: !PB4
microsteps: 16
rotation_distance: 33.500
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PA0
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PC0
control: pid
pid_Kp: 22.2
pid_Ki: 1.08
pid_Kd: 114
min_temp: 0
max_temp: 250
[heater_bed]
heater_pin: PA2
sensor_type: Generic 3950
sensor_pin: PC2
control: watermark
min_temp: 0
max_temp: 130
[fan]
pin: PC6
[mcu]
serial: /dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00
[printer]
kinematics: cartesian
max_velocity: 300
max_accel: 3000
max_z_velocity: 5
max_z_accel: 100
########################################
# TMC2209 configuration
########################################
#[tmc2209 stepper_x]
#uart_pin: PB11
#run_current: 0.800
#diag_pin: PA3
#stealthchop_threshold: 999999
#[tmc2209 stepper_y]
#uart_pin: PB9
#run_current: 0.800
#diag_pin: PB1
#stealthchop_threshold: 999999
#[tmc2209 stepper_z]
#uart_pin: PB8
#run_current: 0.800
#diag_pin: PB10
#stealthchop_threshold: 999999
#[tmc2209 extruder]
#uart_pin: PB7
#run_current: 0.600
#diag_pin:
#stealthchop_threshold: 999999
########################################
# TMC5160 configuration
########################################
#[tmc5160 stepper_x]
#cs_pin: PB11
#spi_bus: spi1
#run_current: 0.800
#diag1_pin: PA3
#stealthchop_threshold: 999999
#[tmc5160 stepper_y]
#cs_pin: PB9
#spi_bus: spi1
#run_current: 0.800
#diag1_pin: PB1
#stealthchop_threshold: 999999
#[tmc5160 stepper_z]
#cs_pin: PB8
#spi_bus: spi1
#run_current: 0.800
#diag1_pin: PB10
#stealthchop_threshold: 999999
#[tmc5160 extruder]
#cs_pin: PB7
#spi_bus: spi1
#run_current: 0.800
#diag1_pin:
#stealthchop_threshold: 999999
########################################
# EXP1 / EXP2 (display) pins
########################################
[board_pins]
aliases:
# EXP1 header
EXP1_1=<NC>, EXP1_3=PA13, EXP1_5=PA9, EXP1_7=<NC>, EXP1_9=<GND>,
EXP1_2=PA4, EXP1_4=PA10, EXP1_6=PA8, EXP1_8=<NC>, EXP1_10=<5V>,
# EXP2 header
EXP2_1=PB14, EXP2_3=PA15, EXP2_5=PA14, EXP2_7=PB3, EXP2_9=<GND>,
EXP2_2=PB13, EXP2_4=PB12, EXP2_6=PB15, EXP2_8=<RST>, EXP2_10=<NC>,
# See the sample-lcd.cfg file for definitions of common LCD displays.

View File

@@ -0,0 +1,161 @@
# This file contains common pin mappings for the Mellow Fly-Gemini-v2.
# To use this config, the firmware should be compiled for the
# STM32F405 with a "32KiB bootloader".
# The "make flash" command does not work on the Fly-Gemini-v2. Instead,
# after running "make", copy the generated "out/klipper.bin" file to a
# file named "firmware.bin" or "klipper.bin" on an SD card and then restart the Fly-Gemini-v2
# with that SD card.
# See docs/Config_Reference.md for a description of parameters.
[stepper_x]
step_pin: PC13
dir_pin: PC1
enable_pin: !PB2
microsteps: 16
rotation_distance: 40
endstop_pin: ^PA3
position_endstop: 0
position_max: 200
homing_speed: 50
[stepper_y]
step_pin: PC14
dir_pin: !PC4
enable_pin: !PD2
microsteps: 16
rotation_distance: 40
endstop_pin: ^PB1
position_endstop: 0
position_max: 200
homing_speed: 50
[stepper_z]
step_pin: PC15
dir_pin: PC5
enable_pin: !PC12
microsteps: 16
rotation_distance: 40
endstop_pin: ^PB10
position_endstop: 0.5
position_max: 200
[extruder]
step_pin: PC3
dir_pin: PC8
enable_pin: !PC11
microsteps: 16
rotation_distance: 33.500
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PA0
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PC0
control: pid
pid_Kp: 22.2
pid_Ki: 1.08
pid_Kd: 114
min_temp: 0
max_temp: 250
[heater_bed]
heater_pin: PA2
sensor_type: Generic 3950
sensor_pin: PC2
control: watermark
min_temp: 0
max_temp: 130
[fan]
pin: PC6
#FAN1
#[heater_fan fan1]
#pin: PC7
[mcu]
serial: /dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00
[printer]
kinematics: cartesian
max_velocity: 300
max_accel: 3000
max_z_velocity: 5
max_z_accel: 100
########################################
# TMC2209 configuration
########################################
#[tmc2209 stepper_x]
#uart_pin: PB11
#run_current: 0.800
#diag_pin: PA3
#stealthchop_threshold: 999999
#[tmc2209 stepper_y]
#uart_pin: PB9
#run_current: 0.800
#diag_pin: PB1
#stealthchop_threshold: 999999
#[tmc2209 stepper_z]
#uart_pin: PB8
#run_current: 0.800
#diag_pin: PB10
#stealthchop_threshold: 999999
#[tmc2209 extruder]
#uart_pin: PB7
#run_current: 0.600
#diag_pin:
#stealthchop_threshold: 999999
########################################
# TMC5160 configuration
########################################
#[tmc5160 stepper_x]
#cs_pin: PB11
#spi_bus: spi1
#run_current: 0.800
#diag1_pin: PA3
#stealthchop_threshold: 999999
#[tmc5160 stepper_y]
#cs_pin: PB9
#spi_bus: spi1
#run_current: 0.800
#diag1_pin: PB1
#stealthchop_threshold: 999999
#[tmc5160 stepper_z]
#cs_pin: PB8
#spi_bus: spi1
#run_current: 0.800
#diag1_pin: PB10
#stealthchop_threshold: 999999
#[tmc5160 extruder]
#cs_pin: PB7
#spi_bus: spi1
#run_current: 0.800
#diag1_pin:
#stealthchop_threshold: 999999
########################################
# EXP1 / EXP2 (display) pins
########################################
[board_pins]
aliases:
# EXP1 header
EXP1_1=PC9, EXP1_3=PA13, EXP1_5=PA9, EXP1_7=<NC>, EXP1_9=<GND>,
EXP1_2=PB6, EXP1_4=PA10, EXP1_6=PA8, EXP1_8=<NC>, EXP1_10=<5V>,
# EXP2 header
EXP2_1=PB14, EXP2_3=PA15, EXP2_5=PA14, EXP2_7=PC10, EXP2_9=<GND>,
EXP2_2=PB13, EXP2_4=PB12, EXP2_6=PB15, EXP2_8=<RST>, EXP2_10=<NC>,
# See the sample-lcd.cfg file for definitions of common LCD displays.

View File

@@ -53,7 +53,7 @@ microsteps: 16
rotation_distance: 33.500
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PC7 # Heat0
heater_pin: PB0 # Heat0
sensor_pin: PF4 # ADC_0
sensor_type: EPCOS 100K B57560G104F
control: pid
@@ -188,49 +188,41 @@ max_z_accel: 100
#[tmc2208 stepper_x]
#uart_pin: PC4
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2208 stepper_y]
#uart_pin: PF12
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2208 stepper_z]
#uart_pin: PF15
#run_current: 0.650
#hold_current: 0.450
#stealthchop_threshold: 999999
#[tmc2208 extruder]
#uart_pin: PE7
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2208 extruder1]
#uart_pin: PE10
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2208 extruder2]
#uart_pin: PF1
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2208 extruder3]
#uart_pin: PG2
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2208 extruder4]
#uart_pin: PG5
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
@@ -248,82 +240,58 @@ max_z_accel: 100
#[tmc5160 stepper_x]
#cs_pin: PC4
#spi_software_miso_pin: PB5
#spi_software_mosi_pin: PB4
#spi_software_sclk_pin: PB3
#spi_bus: spi3
##diag1_pin: PG12
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc5160 stepper_y]
#cs_pin: PF12
#spi_software_miso_pin: PB5
#spi_software_mosi_pin: PB4
#spi_software_sclk_pin: PB3
#spi_bus: spi3
##diag1_pin: PG11
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc5160 stepper_z]
#cs_pin: PF15
#spi_software_miso_pin: PB5
#spi_software_mosi_pin: PB4
#spi_software_sclk_pin: PB3
#spi_bus: spi3
##diag1_pin: PG10
#run_current: 0.650
#hold_current: 0.450
#stealthchop_threshold: 999999
#[tmc5160 extruder]
#cs_pin: PE7
#spi_software_miso_pin: PB5
#spi_software_mosi_pin: PB4
#spi_software_sclk_pin: PB3
#spi_bus: spi3
##diag1_pin: PG9
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc5160 extruder1]
#cs_pin: PE10
#spi_software_miso_pin: PB5
#spi_software_mosi_pin: PB4
#spi_software_sclk_pin: PB3
#spi_bus: spi3
##diag1_pin: PD7
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc5160 extruder2]
#cs_pin: PF1
#spi_software_miso_pin: PB5
#spi_software_mosi_pin: PB4
#spi_software_sclk_pin: PB3
#spi_bus: spi3
##diag1_pin: PD6
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc5160 extruder3]
#cs_pin: PG2
#spi_software_miso_pin: PB5
#spi_software_mosi_pin: PB4
#spi_software_sclk_pin: PB3
#spi_bus: spi3
##diag1_pin: PA8
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc5160 extruder4]
#cs_pin: PG5
#spi_software_miso_pin: PB5
#spi_software_mosi_pin: PB4
#spi_software_sclk_pin: PB3
#spi_bus: spi3
##diag1_pin: PF3
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999

View File

@@ -65,7 +65,7 @@ max_temp: 130
[fan]
pin: PH5
#[heater_fan nozzle_cooling_fan]
#[heater_fan heatbreak_cooling_fan]
#pin: PH3
[mcu]
@@ -84,7 +84,7 @@ pwm: True
scale: 2.0
cycle_time: .000030
hardware_pwm: True
static_value: 1.3
value: 1.3
[output_pin stepper_z_current]
pin: PL4
@@ -92,7 +92,7 @@ pwm: True
scale: 2.0
cycle_time: .000030
hardware_pwm: True
static_value: 1.3
value: 1.3
[output_pin stepper_e_current]
pin: PL5
@@ -100,7 +100,7 @@ pwm: True
scale: 2.0
cycle_time: .000030
hardware_pwm: True
static_value: 1.25
value: 1.25
[static_digital_output stepper_config]
pins:

View File

@@ -0,0 +1,268 @@
# This file contains common pin mappings for MKS Monster8
# boards. To use this config, the firmware should be compiled for the
# stm32f407. When running "make menuconfig", select the 48KiB
# bootloader, and enable "USB for communication".
# The "make flash" command does not work on the MKS Monster8. Instead,
# after running "make", copy the generated "out/klipper.bin" file to a
# file named "mks_monster8.bin" on an SD card or Udisk and then restart the
# MKS Monster8 with that SD card or Udisk.
# See docs/Config_Reference.md for a description of parameters.
[stepper_x]
step_pin: PC14
dir_pin: PC13
enable_pin: !PC15
microsteps: 16
rotation_distance: 40
endstop_pin: !PA14 # PA13 for X-max; endstop have'!' is NO
position_endstop: 0
position_max: 200
homing_speed: 50
[stepper_y]
step_pin: PE5
dir_pin: !PE4
enable_pin: !PC15
microsteps: 16
rotation_distance: 40
endstop_pin: !PA15 # PC5 for Y-max; endstop have'!' is NO
position_endstop: 0
position_max: 200
homing_speed: 50
[stepper_z]
step_pin: PE1
dir_pin: PE0
enable_pin: !PE2
microsteps: 16
rotation_distance: 8
endstop_pin: !PB13 # PB12 for Z-max; endstop have'!' is NO
position_endstop: 0
position_max: 220
[extruder]
step_pin: PB5
dir_pin: !PB4
enable_pin: !PB6
microsteps: 16
rotation_distance: 33.500
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PB1
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PC1
control: pid
pid_Kp: 22
pid_Ki: 1.08
pid_Kd: 114
min_temp: 0
max_temp: 260
#[extruder1]
#step_pin: PD6
#dir_pin: !PD5
#enable_pin: !PD7
#heater_pin: PB0
#sensor_pin: PC2
#[extruder2]
#step_pin: PD2
#dir_pin: !PD1
#enable_pin: !PD3
#heater_pin: PA3
#sensor_pin: PC3
#[extruder3]
#step_pin: PC7
#dir_pin: PC6
#enable_pin: !PC8
#[extruder4]
#step_pin: PD13
#dir_pin: !PD12
#enable_pin: !PD14
[heater_bed]
heater_pin: PB10
sensor_type: NTC 100K MGB18-104F39050L32
sensor_pin: PC0
max_power: 1.0
control: pid
pid_kp: 71.039
pid_ki: 2.223
pid_kd: 567.421
min_temp: 0
max_temp: 200
#fan for printed model FAN0
[fan]
pin: PA2
#fan for hotend FAN1
#[heater_fan my_nozzle_fan]
[heater_fan fan1]
pin: PA1
shutdown_speed: 1
#fan for control board FAN2
#[heater_fan my_control_fan]
[heater_fan fan2]
pin: PA0
shutdown_speed: 1
[mcu]
serial: /dev/serial/by-id/usb-Klipper_stm32f407xx_4D0045001850314335393520-if00
[printer]
kinematics: cartesian
max_velocity: 10000
max_accel: 20000
max_z_velocity: 100
max_z_accel: 1000
#####################################################################
# LED Control
#####################################################################
#[output_pin caselight ](Use PA9)
## Chamber Lighting - In 5V-RGB Position
#pin: PA9
#pwm: true
#shutdown_value: 0
#value:100
#cycle_time: 0.01
########################################
# TMC UART configuration
########################################
#[tmc2208 stepper_x]
#uart_pin: PE6
#run_current: 0.8
#hold_current: 0.5
#stealthchop_threshold: 999999
#[tmc2208 stepper_y]
#uart_pin: PE3
#run_current: 0.8
#hold_current: 0.5
#stealthchop_threshold: 999999
#[tmc2208 stepper_z]
#uart_pin: PB7
#run_current: 0.8
#hold_current: 0.5
#stealthchop_threshold: 999999
#[tmc2208 extruder]
#uart_pin: PB3
#run_current: 0.8
#hold_current: 0.5
#sense_resistor: 0.110
#stealthchop_threshold: 999999
#[tmc2208 extruder1]
#uart_pin: PD4
#run_current: 0.8
#hold_current: 0.5
#stealthchop_threshold: 999999
#[tmc2208 extruder2]
#uart_pin: PD0
#run_current: 0.8
#hold_current: 0.5
#stealthchop_threshold: 999999
#[tmc2208 extruder3]
#uart_pin: PD15
#run_current: 0.8
#hold_current: 0.5
#stealthchop_threshold: 999999
#[tmc2208 extruder4]
#uart_pin: PD11
#run_current: 0.8
#hold_current: 0.5
#stealthchop_threshold: 999999
########################################
# TMC SPI configuration
########################################
#[tmc2130 stepper_x]
#spi_bus: spi4
#cs_pin: PE6
#diag1_pin: PA14
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2130 stepper_y]
#spi_bus: spi4
#cs_pin: PE3
#diag1_pin: PA15
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2130 stepper_z]
#spi_bus: spi4
#cs_pin: PB7
#diag1_pin: PB13
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2130 extruder]
#spi_bus: spi4
#cs_pin: PB3
#diag1_pin: PA13
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2130 extruder1]
#spi_bus: spi4
#cs_pin: PD4
#diag1_pin: PC5
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2130 extruder2]
#spi_bus: spi4
#cs_pin: PD0
#diag1_pin: PB12
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2130 extruder3]
#spi_bus: spi4
#cs_pin: PD15
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2130 extruder4]
#spi_bus: spi4
#cs_pin: PD11
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
########################################
# EXP1 / EXP2 (display) pins
########################################
[board_pins]
aliases:
# EXP1 header
EXP1_1=PB2, EXP1_3=PE11, EXP1_5=PD9, EXP1_7=PE15, EXP1_9=<GND>,
EXP1_2=PE10, EXP1_4=PD10, EXP1_6=PD8, EXP1_8=PE7, EXP1_10=<5V>,
# EXP2 header
EXP2_1=PA6, EXP2_3=PE9, EXP2_5=PE8, EXP2_7=PB11, EXP2_9=<GND>,
EXP2_2=PA5, EXP2_4=PA4, EXP2_6=PA7, EXP2_8=<RST>, EXP2_10=<3.3v>
# Pins EXP2_1, EXP2_6, EXP2_2 are also MISO, MOSI, SCK of bus "ssp1"

View File

@@ -70,25 +70,21 @@ max_temp: 250
[tmc2209 stepper_x]
uart_pin: PC7
run_current: 0.800
hold_current: 0.500
stealthchop_threshold: 999999
[tmc2209 stepper_y]
uart_pin: PD2
run_current: 0.800
hold_current: 0.500
stealthchop_threshold: 999999
[tmc2209 stepper_z]
uart_pin: PC12
run_current: 0.650
hold_current: 0.450
stealthchop_threshold: 999999
[tmc2209 extruder]
uart_pin: PC11
run_current: 0.800
hold_current: 0.500
stealthchop_threshold: 999999
[fan]

View File

@@ -72,7 +72,7 @@ max_temp: 250
[heater_bed]
heater_pin: PA1
sensor_type: NTC 100K beta 3950
sensor_type: Generic 3950
sensor_pin: PC0
control: watermark
min_temp: 0
@@ -119,21 +119,18 @@ aliases:
#uart_pin: PC14
##tx_pin: PA3
#run_current: 0.800
#hold_current: 0.800
#diag_pin:
#[tmc2209 stepper_y]
#uart_pin: PE4
##tx_pin: PA4
#run_current: 0.800
#hold_current: 0.800
#diag_pin:
#[tmc2209 stepper_z]
#uart_pin: PE0
##tx_pin: PD13
#run_current: 0.800
#hold_current: 0.800
#diag_pin:
#[tmc2209 extruder]

View File

@@ -90,31 +90,26 @@ max_z_accel: 100
#[tmc2208 stepper_x]
#uart_pin: P1.1
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2208 stepper_y]
#uart_pin: P1.8
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2208 stepper_z]
#uart_pin: P1.10
#run_current: 0.650
#hold_current: 0.450
#stealthchop_threshold: 999999
#[tmc2208 extruder]
#uart_pin: P1.15
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2208 extruder1]
#uart_pin: P1.17
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
@@ -129,7 +124,6 @@ max_z_accel: 100
#spi_software_sclk_pin: P0.4
##diag1_pin: ^!P1.29
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2130 stepper_y]
@@ -139,7 +133,6 @@ max_z_accel: 100
#spi_software_sclk_pin: P0.4
##diag1_pin: ^!P1.27
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2130 stepper_z]
@@ -149,7 +142,6 @@ max_z_accel: 100
#spi_software_sclk_pin: P0.4
##diag1_pin: ^!P1.25
#run_current: 0.650
#hold_current: 0.450
#stealthchop_threshold: 999999
#[tmc2130 extruder]
@@ -159,7 +151,6 @@ max_z_accel: 100
#spi_software_sclk_pin: P0.4
##diag1_pin: ^!P1.28
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
#[tmc2130 extruder1]
@@ -169,7 +160,6 @@ max_z_accel: 100
#spi_software_sclk_pin: P0.4
##diag1_pin: ^!P1.26
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999

View File

@@ -104,7 +104,7 @@ max_temp: 290
[fan]
pin: PB27
[heater_fan nozzle_cooling_fan]
[heater_fan heatbreak_cooling_fan]
pin: PA6
[mcu]

View File

@@ -29,6 +29,8 @@ enable_pin: !PE6
microsteps: 16
rotation_distance: 40
endstop_pin: ^PB0
# Printrboard RevF uses a different Y endstop pin.
#endstop_pin: ^PB4
position_endstop: 0
position_max: 200
homing_speed: 50

View File

@@ -81,7 +81,7 @@ max_temp: 130
[fan]
pin: PC21
#[heater_fan nozzle_cooling_fan]
#[heater_fan heatbreak_cooling_fan]
#pin: PC22
[mcu]

View File

@@ -75,7 +75,7 @@ max_temp: 130
[fan]
pin: PH5
#[heater_fan nozzle_cooling_fan]
#[heater_fan heatbreak_cooling_fan]
#pin: PH3
[mcu]

117
config/generic-remram.cfg Normal file
View File

@@ -0,0 +1,117 @@
# This file contains common pin mappings for remram boards. To use this
# config, the firmware should be compiled for the ST stm32f765.
# See docs/Config_Reference.md for a description of parameters.
[mcu]
serial: /dev/ttyACM0
[printer]
kinematics: cartesian
max_velocity: 300
max_accel: 3000
max_z_velocity: 5
max_z_accel: 100
[stepper_x]
step_pin: PA15
dir_pin: PC10
enable_pin: !PC12
microsteps: 16
rotation_distance: 40
endstop_pin: ^!PB12 # X_MIN
position_endstop: 0
position_max: 200
homing_speed: 10
[tmc2130 stepper_x]
cs_pin: PB1
spi_bus: spi1
run_current: 0.600
stealthchop_threshold: 999999
diag1_pin: ^!PC11
[stepper_y]
step_pin: PB3
dir_pin: !PD6
enable_pin: !PD4
microsteps: 16
rotation_distance: 40
endstop_pin: ^!PB14 # Y_MIN
position_endstop: 0
position_max: 200
homing_speed: 10
[tmc2130 stepper_y]
cs_pin: PB0
spi_bus: spi1
run_current: 0.600
stealthchop_threshold: 999999
diag1_pin: ^!PD5
[stepper_z]
step_pin: PB10
dir_pin: PE13
enable_pin: !PE15
microsteps: 16
rotation_distance: 8
endstop_pin: ^!PD8 # Z_MIN
position_endstop: 0.5
position_max: 200
homing_speed: 10
[tmc2130 stepper_z]
cs_pin: PC5
spi_bus: spi1
run_current: 0.600
stealthchop_threshold: 999999
diag1_pin: ^!PE14
[extruder]
step_pin: PB11
dir_pin: PE10
enable_pin: !PE11
microsteps: 16
rotation_distance: 33.500
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PA3 # HEATER
sensor_type: Generic 3950
sensor_pin: PC1 # TEMP2
control: pid
pid_Kp: 22.2
pid_Ki: 1.08
pid_Kd: 114
min_temp: 0
max_temp: 250
[tmc2130 extruder]
cs_pin: PC4
spi_bus: spi1
run_current: 0.600
stealthchop_threshold: 999999
diag1_pin: ^!PE12
[heater_fan hotend_fan]
pin: PA2 # FAN2
[heater_bed]
heater_pin: PA1 # BED OUT
sensor_type: Generic 3950
sensor_pin: PC0 # TEMP1
control: watermark
min_temp: 0
max_temp: 130
[fan] # Print cooling fan.
pin: PA0 # FAN1
# [temperature_sensor temp3]
# sensor_type: Generic 3950
# sensor_pin: PC2 # TEMP3
# min_temp: 0
# max_temp: 300
# gcode_id: temp3
[static_digital_output yellow_led]
pins: !PD0 # STATUS LED

View File

@@ -74,7 +74,7 @@ max_temp: 250
[heater_bed]
heater_pin: PH6
sensor_type: NTC 100K beta 3950
sensor_type: Generic 3950
sensor_pin: PK3
control: watermark
min_temp: 0

View File

@@ -33,7 +33,6 @@ position_max: 350
uart_pin: P0.5
tx_pin: P0.4
run_current: 0.600
hold_current: 0.500
stealthchop_threshold: 999999
[stepper_y]
@@ -50,7 +49,6 @@ position_max: 350
uart_pin: P0.11
tx_pin: P0.10
run_current: 0.600
hold_current: 0.500
stealthchop_threshold: 999999
[stepper_z]
@@ -67,7 +65,6 @@ position_max: 400
uart_pin: P0.20
tx_pin: P0.19
run_current: 0.700
hold_current: 0.600
stealthchop_threshold: 999999
[extruder]
@@ -92,7 +89,6 @@ max_temp: 210
uart_pin: P0.21
tx_pin: P0.22
run_current: 0.800
hold_current: 0.700
stealthchop_threshold: 999999
[heater_bed]

View File

@@ -0,0 +1,131 @@
# This file contains common pin mappings for the TH3D EZBoard v2.
# To use this config, check "Enable extra low-level configuration options"
# and compile the firmware for the STM32F405 with 12mhz Crystal,
# 48KiB Bootloader, and USB communication.
# After the firmware is compiled, execute the following command
# arm-none-eabi-objcopy -O srec out/klipper.elf out/firmware.bin
# The "make flash" command does not work on this board. Instead,
# after running "make", copy the generated "out/firmware.bin" file to
# an SD card and then restart the board with that SD card.
# See docs/Config_Reference.md for a description of parameters.
[mcu]
serial: /dev/serial/by-id/usb-Klipper_stm32f407xx_0000000000000000-if00
[printer]
kinematics: cartesian
max_velocity: 300
max_accel: 3000
max_z_velocity: 5
max_z_accel: 100
[stepper_x]
step_pin: PB3
dir_pin: PD2
enable_pin: !PB5
microsteps: 16
rotation_distance: 40
endstop_pin: ^!PC1
position_endstop: 0
position_max: 235
homing_speed: 50
[tmc2209 stepper_x]
uart_pin: PC11
tx_pin: PC10
run_current: 0.600
uart_address: 0
[stepper_y]
step_pin: PB8
dir_pin: PC13
enable_pin: !PC12
microsteps: 16
rotation_distance: 40
endstop_pin: ^!PC2
position_endstop: 0
position_max: 235
homing_speed: 50
[tmc2209 stepper_y]
uart_pin: PC11
tx_pin: PC10
run_current: 0.600
uart_address: 1
[stepper_z]
step_pin: PA3
dir_pin: PB1
enable_pin: !PC14
microsteps: 16
rotation_distance: 8
endstop_pin: ^!PC3
position_endstop: 0.5
position_max: 250
[tmc2209 stepper_z]
uart_pin: PC11
tx_pin: PC10
run_current: 0.700
uart_address: 2
[extruder]
step_pin: PA15
dir_pin: PB11
enable_pin: !PB2
microsteps: 16
rotation_distance: 34.406
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PC8
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PA1
control: pid
pid_Kp: 22.2
pid_Ki: 1.08
pid_Kd: 114
min_temp: 0
max_temp: 250
[tmc2209 extruder]
uart_pin: PC11
tx_pin: PC10
run_current: 0.800
stealthchop_threshold: 999999
uart_address: 3
[heater_bed]
heater_pin: PC9
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PA0
control: pid
pid_Kp: 54.027
pid_Ki: 0.770
pid_Kd: 948.182
min_temp: 0
max_temp: 130
[fan]
pin: PC6
#[bltouch]
#sensor_pin: ^PC3
#control_pin: PA2
#[filament_switch_sensor my_sensor]
#switch_pin: PC0
########################################
# EXP1 / EXP2 (display) pins
########################################
[board_pins]
aliases:
# EXP1 header
EXP1_1=PA14, EXP1_3=PC4, EXP1_5=PC5, EXP1_7=PB12, EXP1_9=<GND>,
EXP1_2=PB0, EXP1_4=<RST>, EXP1_6=PB13, EXP1_8=PB15, EXP1_10=<5V>
# See the sample-lcd.cfg file for definitions of common LCD displays.

View File

@@ -97,7 +97,7 @@ max_z_accel: 30
[output_pin case_light]
pin: PH5
static_value: 1.0
value: 1.0
# Motor current settings.
[output_pin stepper_xy_current]
@@ -107,7 +107,7 @@ scale: 2.000
# Max power setting.
cycle_time: .000030
hardware_pwm: True
static_value: 1.200
value: 1.200
# Power adjustment setting.
[output_pin stepper_z_current]
@@ -116,7 +116,7 @@ pwm: True
scale: 2.000
cycle_time: .000030
hardware_pwm: True
static_value: 1.200
value: 1.200
[output_pin stepper_e_current]
pin: PL3
@@ -124,4 +124,4 @@ pwm: True
scale: 2.000
cycle_time: .000030
hardware_pwm: True
static_value: 1.250
value: 1.250

View File

@@ -141,7 +141,7 @@ max_extrude_only_distance: 780.0
heater_pin: PB4
# D10 on mcu_xye
max_power: 1.0
sensor_type: NTC 100K beta 3950
sensor_type: Generic 3950
sensor_pin: PK5
# T0 on mcu_xye
smooth_time: 3.0
@@ -227,14 +227,14 @@ gcode:
[quad_gantry_level]
# Use QUAD_GANTRY_LEVEL to level a gantry.
gantry_corners:
-55,-7
-55, -7
305, 320
# Min & Max gantry corners - measure from nozzle at MIN (0,0) and MAX (250,250) to respective belt positions
points:
25,0
25,200
225,200
225,0
25, 0
25, 200
225, 200
225, 0
# Probe points
speed: 200
horizontal_move_z: 6

View File

@@ -134,9 +134,9 @@ sample_retract_dist: 3.0
[bed_mesh]
speed: 100
horizontal_move_z: 5
mesh_min: 69,41
mesh_max: 189,161
probe_count: 3,3
mesh_min: 69, 41
mesh_max: 189, 161
probe_count: 3, 3
[homing_override]
set_position_z: 6

View File

@@ -89,7 +89,7 @@ pwm: True
scale: 2.0
cycle_time: .000030
hardware_pwm: True
static_value: 1.3
value: 1.3
[output_pin stepper_z_current]
pin: PL4
@@ -97,7 +97,7 @@ pwm: True
scale: 2.0
cycle_time: .000030
hardware_pwm: True
static_value: 1.3
value: 1.3
[output_pin stepper_e_current]
pin: PL3
@@ -105,7 +105,7 @@ pwm: True
scale: 2.0
cycle_time: .000030
hardware_pwm: True
static_value: 1.25
value: 1.25
[display]
lcd_type: st7920

View File

@@ -0,0 +1,92 @@
# This file contains common pin mappings for Anet A8 Plus printer from 2019.
# To use this config, the firmware should be compiled for
# the AVR atmega1284p.
# Note that the "make flash" command does not work with Anet boards -
# the boards are typically flashed with this command:
# avrdude -p atmega1284p -c arduino -b 57600 -P /dev/ttyUSB0 -U out/klipper.elf.hex
# See docs/Config_Reference.md for a description of parameters.
[stepper_x]
step_pin: PD7
dir_pin: !PC5
enable_pin: !PD6
microsteps: 16
rotation_distance: 32
endstop_pin: ^!PC2
position_endstop: -30
position_max: 300
position_min: -30
homing_speed: 50
[stepper_y]
step_pin: PC6
dir_pin: !PC7
enable_pin: !PD6
microsteps: 16
rotation_distance: 32
endstop_pin: ^!PC3
position_endstop: -8
position_max: 300
position_min: -8
homing_speed: 50
[stepper_z]
step_pin: PB3
dir_pin: !PB2
enable_pin: !PA5
microsteps: 16
rotation_distance: 8
endstop_pin: ^!PC4
position_endstop: 0.5
position_max: 350
position_min: 0.5
homing_speed: 20
[extruder]
step_pin: PB1
dir_pin: PB0
enable_pin: !PD6
microsteps: 16
rotation_distance: 33.600
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PD5
sensor_type: Generic 3950
sensor_pin: PA7
control: pid
pid_Kp: 2.151492
pid_Ki: 0.633897
pid_Kd: 230.042965
min_temp: 0
max_temp: 250
[heater_bed]
heater_pin: PD4
sensor_type: Generic 3950
sensor_pin: PA6
control: watermark
min_temp: 0
max_temp: 100
[fan]
pin: PB4
[mcu]
serial: /dev/ttyUSB0
[printer]
kinematics: cartesian
max_velocity: 300
max_accel: 1000
max_z_velocity: 20
max_z_accel: 100
[display]
lcd_type: st7920
cs_pin: PA4
sclk_pin: PA1
sid_pin: PA3
encoder_pins: ^PD2, ^PD3
click_pin: ^!PC0

View File

@@ -11,7 +11,7 @@
# For Anycubic 4Max Pro (not 2.0) owners:
# Be careful when using this config! This config tested only on Anycubic
# 4Max Pro 2.0 with klipper v0.9.1-667-g31761500! At first, you should
# 4Max Pro 2.0! At first, you should
# set homing_speed on 5, and run homing and click on the endstops with
# your fingers. It is necessary to make sure that all the motors are
# spinning in the right direction, all the temperature sensors show the
@@ -126,16 +126,62 @@ restart_method: arduino
kinematics: cartesian
max_velocity: 150
max_accel: 3000
max_accel_to_decel: 1500
max_z_velocity: 7
max_z_accel: 50
square_corner_velocity: 5
[bed_screws]
screw1: 5,5
screw2: 265,210
screw3: 5,210
screw4: 265,5
screw1: 5, 5
screw2: 265, 210
screw3: 5, 210
screw4: 265, 5
[filament_switch_sensor filament_sensor]
switch_pin: ^!PC4
[output_pin buzz]
pin: PC6
pwm: True
[output_pin AUTO_POWEROFF]
pin: PD0
pwm: True
cycle_time: 0.02
value: 1
# This macro (M300) uses internal integrated beeper
# Just use it in your G-code for making sounds. Example: M300 S1000 P500
[gcode_macro M300]
gcode:
{% set S = params.S|default(800)|float %}
{% set P = params.P|default(100)|int %}
SET_PIN PIN=buzz VALUE=0.5 CYCLE_TIME={ 1.0 / S | float }
G4 P{P}
SET_PIN PIN=buzz VALUE=0
# This macro (M81) uses internal integrated PSU control-relay.
# Just use M81 in your end_gcode if you want to poweroff your printer after print.
# Note: as in original Marlin firmware, before powerdown, printer will be cool hotend
# until temperature will be below 45°С / 113°F.
[gcode_macro M81]
gcode:
{% set required_extruder_temp = params.T|default(45)|int %}
{% if printer.extruder.temperature > required_extruder_temp|default(45)|int %}
M300
M300
M300
M117 COOLING DOWN BEFORE POWER OFF
M109 S{required_extruder_temp}
SET_PIN PIN=AUTO_POWEROFF VALUE=0.5
G4 P60
SET_PIN PIN=AUTO_POWEROFF VALUE=1
{% else %}
M300
M117 POWER OFF SOON
G4 P10000
SET_PIN PIN=AUTO_POWEROFF VALUE=0.5
G4 P60
SET_PIN PIN=AUTO_POWEROFF VALUE=1
{% endif %}

View File

@@ -0,0 +1,133 @@
# This file contains a configuration for the Anycubic Kobra Go printer.
#
# See docs/Config_Reference.md for a description of parameters.
#
# To build the firmware, use the following configuration:
# - Micro-controller: Huada Semiconductor HC32F460
# - Communication interface: Serial (PA3 & PA2) - Anycubic
#
# Installation:
# 1. Rename the klipper bin to `firmware.bin` and copy it to an SD Card.
# 2. Power off the Printer, insert the SD Card and power it on.
# 3. The the LCD will be stuck on the Firmware-update screen.
# Just Wait for 3-5 minutes to ensure the firmware is flashed.
# 4. After waiting, shutdown the printer and remove the SD Card.
[stepper_x]
step_pin: PA12
dir_pin: PA11
enable_pin: !PA15
microsteps: 16
rotation_distance: 40
endstop_pin: !PH2
position_endstop: -13
position_min:-13
position_max: 236
homing_speed: 50
[stepper_y]
step_pin: PA9
dir_pin: PA8
enable_pin: !PA15
microsteps: 16
rotation_distance: 40
endstop_pin: ^!PC13
position_endstop: -9
position_min:-9
position_max: 230
homing_speed: 50
[stepper_z]
step_pin: PC7
dir_pin: !PC6
enable_pin: !PA15
microsteps: 16
rotation_distance: 8
endstop_pin: ^PC14
position_endstop: 0
position_min: -10
position_max: 255
homing_speed: 5
[extruder]
step_pin: PB15
dir_pin: PB14
enable_pin: !PA15
microsteps: 16
rotation_distance: 31.07
max_extrude_only_velocity: 25
max_extrude_only_accel: 1000
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PB8
sensor_type: ATC Semitec 104GT-2
sensor_pin: PC3
min_extrude_temp: 170
min_temp: 0
max_temp: 250
control: pid
pid_kp: 19.56
pid_ki: 1.62
pid_kd: 200.00
[heater_bed]
heater_pin: PB9
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PC1
min_temp: 0
max_temp: 120
control: pid
pid_kp: 97.1
pid_ki: 1.41
pid_kd: 1675.16
[bed_mesh]
speed: 200
horizontal_move_z: 2.5
mesh_min: 5, 5
mesh_max: 215, 215
probe_count: 5, 5
[probe]
pin: PA1
x_offset: -20.8
y_offset: 0
z_offset: 0
samples: 3
samples_result: average
samples_tolerance_retries: 3
sample_retract_dist: 0.5
speed: 2
lift_speed: 4
[safe_z_home]
home_xy_position: 0, 0
speed: 5
z_hop: 10
z_hop_speed: 15
[controller_fan controller_fan]
pin: PB12
[heater_fan extruder_fan]
pin: PB13
[fan]
pin: PB5
cycle_time: 0.00005 #20kHz
[output_pin enable_pin]
pin: PB6
value: 1
#This pin enables the bed, hotend, extruder fan, part fan.
[mcu]
serial: /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0
restart_method: command
[printer]
kinematics: cartesian
max_velocity: 300
max_accel: 500
max_z_velocity: 4
max_z_accel: 100

View File

@@ -0,0 +1,197 @@
# This file contains a configuration for the Anycubic Kobra Plus printer.
#
# The Kobra Plus mainboard must be modified to correct conflicting UART
# addresses. As delivered, the X stepper and E0 stepper use UART address 0.
# To correct, move resistor R65 to R66. This moves the X stepper to address 3.
#
# After making this modification, any future firmwares will need to use the new
# address for the X stepper. To revert to the stock firmware, either undo the
# modification, or recompile the stock firmware using the correct addresses for
# X_SLAVE_ADDRESS and E0_SLAVE_ADDRESS.
#
# See docs/Config_Reference.md for a description of parameters.
#
# To build the firmware, use the following configuration:
# - Micro-controller: Huada Semiconductor HC32F460
# - Communication interface: Serial (PA3 & PA2) - Anycube
# - Clock Speed: 200 MHz
#
# Installation:
# 1. Rename the klipper bin to `firmware.bin` and copy it to an SD Card.
# 2. Power off the Printer, insert the SD Card and power it on.
# 3. The printer should beep several times and the LCD will be stuck on the
# Splash screen.
[mcu]
serial: /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0
restart_method: command
[printer]
kinematics: cartesian
max_velocity: 300
max_accel: 1800
max_z_velocity: 40
max_z_accel: 100
[stepper_x]
step_pin: PA5
dir_pin: PA4
enable_pin: !PC3
microsteps: 16
rotation_distance: 40
endstop_pin: !PA6
position_min: -4
position_endstop: -4
position_max: 304
homing_speed: 100
[tmc2209 stepper_x]
uart_pin: PA15
tx_pin: PA9
sense_resistor: 0.100
run_current: 0.9
uart_address: 3
stealthchop_threshold: 999999
[stepper_y]
step_pin: PC4
dir_pin: PA7
enable_pin: !PC3
microsteps: 16
rotation_distance: 32
endstop_pin: !PC5
position_min: -6
position_endstop: -6
position_max: 300
homing_speed: 100
[tmc2209 stepper_y]
uart_pin: PA15
tx_pin: PA9
sense_resistor: 0.100
run_current: 0.9
uart_address: 1
stealthchop_threshold: 999999
[stepper_z]
step_pin: PC7
dir_pin: !PC6
enable_pin: !PC3
microsteps: 16
rotation_distance: 8
endstop_pin: PA8
position_endstop: 0
position_min: -15
position_max: 350
homing_speed: 10
[tmc2209 stepper_z]
uart_pin: PA15
tx_pin: PA9
sense_resistor: 0.100
run_current: 0.9
uart_address: 2
stealthchop_threshold: 999999
[stepper_z1]
step_pin: PB1
dir_pin: !PB0
enable_pin: !PC3
microsteps: 16
rotation_distance: 8
[extruder]
max_extrude_only_distance: 200
max_extrude_only_velocity: 60
max_extrude_only_accel: 3000
step_pin: PC14
dir_pin: !PC15
enable_pin: !PC3
microsteps: 16
rotation_distance: 7.71
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PA1
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PC1
min_extrude_temp: 170
control: pid
pid_kp: 22.20
pid_ki: 1.08
pid_kd: 119.0
min_temp: 0
max_temp: 275
[tmc2208 extruder]
uart_pin: PA15
tx_pin: PA9
sense_resistor: 0.100
run_current: 0.8
uart_address: 0
stealthchop_threshold: 999999
[heater_bed]
heater_pin: PA0
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PC0
control: pid
pid_kp: 97.1
pid_ki: 1.41
pid_kd: 1675.16
min_temp: 0
max_temp: 120
[filament_switch_sensor runout]
pause_on_runout: True
switch_pin: !PC13
[controller_fan controller_fan]
pin: PA14
heater: heater_bed
[heater_fan hotend_fan]
pin: PA13
[fan]
pin: PB9
[probe]
pin: !PB6
speed: 2.0
lift_speed: 4.0
samples: 2
sample_retract_dist: 5
samples_tolerance_retries: 3
z_offset: 0.2
activate_gcode: probe_reset
[output_pin probe_reset_pin]
pin: PB7
value: 1
[safe_z_home]
home_xy_position: 0, 0
speed: 100
z_hop: 10
z_hop_speed: 15
move_to_previous: False
[bed_mesh]
speed: 100
mesh_min: 10, 10
mesh_max: 290, 290
algorithm: bicubic
probe_count: 5, 5
[gcode_macro probe_reset]
gcode:
SET_PIN PIN=probe_reset_pin VALUE=0
G4 P300
SET_PIN PIN=probe_reset_pin VALUE=1
G4 P100
[output_pin LED]
pin: PB8
[output_pin beeper]
pin: PB5

View File

@@ -0,0 +1,159 @@
# This file contains a configuration for the Anycubic Vyper printer from 2021.
# It uses a clone of the STM32F103 chip named GD32F103.
# There are 2 Mainboard versions out there v0.0.5 and v0.0.6, this config has
# been tested with the v0.0.6 only. It should probably work for v0.0.5 as well
# since there are no different changes in the Anycubic Marlin firmware.
# The LCD is not supported yet (might work, but didn't try yet).
#
# To create the Firmware you need to use the following configuration:
# - Micro-controller: STM32
# - Processor model: STM32F103
# - Bootloader offset: 32KiB
# - Communication interface: Serial (on USART1 PA10/PA9)
#
# To install the Firmware rename the klipper bin to `main_board_20xxxxxx.bin`
# and copy it to an SD Card.
# Power off the Printer, insert the SD Card and power it on.
# It should beep several times and the LCD should be stuck on the Splash screen.
# Now you should be able to connect to the Printer, you might need to change
# the mcu/serial setting in this config according to your set up.
#
# If you want to revert the Firmware back to Marlin you simply need to flash it
# with a anycubic firmware through the SD Card
[stepper_x]
step_pin: PC2
dir_pin: PB9
enable_pin: !PC3
microsteps: 16
rotation_distance: 40
endstop_pin: !PA7
position_min: -3
position_endstop: -3
position_max: 245
homing_speed: 30.0
[stepper_y]
step_pin: PB8
dir_pin: PB7
enable_pin: !PC13
microsteps: 16
rotation_distance: 32
endstop_pin: !PC5
position_min: -17
position_endstop: -17
position_max: 245
homing_speed: 30.0
[stepper_z]
step_pin: PB6
dir_pin: !PB5
enable_pin: !PC14
microsteps: 16
rotation_distance: 8
endstop_pin: PB2
position_endstop: 0.0
position_max: 260
position_min: -3
homing_speed: 5.0
[stepper_z1]
step_pin: PC0
dir_pin: !PC1
enable_pin: !PC15
microsteps: 16
rotation_distance: 8
endstop_pin: PC6
[extruder]
step_pin: PB4
dir_pin: !PB3
enable_pin: !PA15
microsteps: 16
rotation_distance: 22.76500 #has to be calibrated by everyone, official document: diameter = 7.25
gear_ratio: 50:17
full_steps_per_rotation: 200
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PA1
sensor_type: ATC Semitec 104GT-2
sensor_pin: PC4
control: pid
pid_kp: 28.937
pid_ki: 1.295
pid_kd: 161.688
min_temp: 0
max_temp: 260
[heater_fan extruder_fan]
pin: PB1
[heater_bed]
heater_pin: PA4
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PB0
control: pid
pid_kp: 67.648
pid_ki: 1.044
pid_kd: 1095.893
min_temp: 0
max_temp: 110
[fan]
pin: PA0
[controller_fan controller_fan]
pin: PA14
stepper: stepper_x,stepper_y,stepper_z,stepper_z1
[probe]
pin: !PB12
z_offset: 0
activate_gcode:
probe_reset
[output_pin BEEPER_PIN]
pin: PB15
pwm: True
value: 0
shutdown_value: 0
cycle_time: 0.001
scale: 1
[output_pin probe_reset_pin]
pin: PB13
[output_pin LED]
pin: mcu:PA13
pwm: False
value: 0
[bed_mesh]
mesh_min: 15,15
mesh_max: 230, 230
[filament_switch_sensor runout]
pause_on_runout: True
switch_pin: PA5
[mcu]
serial: /dev/ttyUSB0
restart_method: command
[safe_z_home]
home_xy_position: -3,-17
z_hop: 10
[printer]
kinematics: cartesian
max_velocity: 300
max_accel: 3000
max_z_velocity: 10
max_z_accel: 100
[gcode_macro probe_reset]
gcode:
SET_PIN PIN=probe_reset_pin VALUE=0
G4 P300
SET_PIN PIN=probe_reset_pin VALUE=1
G4 P100

View File

@@ -0,0 +1,126 @@
# This file contains pin mappings for the Artillery Genius Pro (2022)
# with a Artillery_Ruby-v1.2 board. To use this config, during "make menuconfig"
# select the STM32F401 with "No bootloader" and USB (on PA11/PA12)
# communication.
# To flash this firmware, set the physical bridge between +3.3V and Boot0 PIN
# on Artillery_Ruby mainboard. Then run the command:
# make flash FLASH_DEVICE=/dev/serial/by-id/usb-Klipper_stm32f401xc_*-if00
# See docs/Config_Reference.md for a description of parameters.
[extruder]
max_extrude_only_distance: 700.0
step_pin: PA7
dir_pin: PA6
enable_pin: !PC4
microsteps: 16
rotation_distance: 7.1910
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PC9
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PC0
min_temp: 0
max_temp: 250
control: pid
pid_Kp: 23.223
pid_Ki: 1.518
pid_Kd: 88.826
[stepper_x]
step_pin: !PB14
dir_pin: PB13
enable_pin: !PB15
microsteps: 16
rotation_distance: 40
endstop_pin: !PA2
position_endstop: 0
position_max: 220
homing_speed: 60
[stepper_y]
step_pin: PB10
dir_pin: PB2
enable_pin: !PB12
microsteps: 16
rotation_distance: 40
endstop_pin: !PA1
position_endstop: 0
position_max: 220
homing_speed: 60
[stepper_z]
step_pin: PB0
dir_pin: !PC5
enable_pin: !PB1
microsteps: 16
rotation_distance: 8
endstop_pin: probe:z_virtual_endstop
position_max: 250
position_min: -5
[heater_bed]
heater_pin: PA8
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PC1
min_temp: 0
max_temp: 130
control: pid
pid_Kp: 23.223
pid_Ki: 1.518
pid_Kd: 88.826
[bed_screws]
screw1: 38,45
screw2: 180,45
screw3: 180,180
screw4: 38,180
[fan]
pin: PC8
off_below: 0.1
[heater_fan hotend_fan]
pin: PC7
heater: extruder
heater_temp: 50.0
[controller_fan stepper_fan]
pin: PC6
idle_timeout: 300
[mcu]
serial: /dev/serial/by-id/usb-Klipper_stm32f401xc_
[printer]
kinematics: cartesian
max_velocity: 500
max_accel: 4000
max_z_velocity: 50
square_corner_velocity: 5.0
max_z_accel: 100
[bltouch]
sensor_pin: PC2
control_pin: PC3
x_offset:27.25
y_offset:-12.8
z_offset: 0.25
speed:10
samples:1
samples_result:average
[bed_mesh]
speed: 800
mesh_min: 30, 20
mesh_max: 210, 200
probe_count: 5,5
algorithm: bicubic
move_check_distance: 3.0
[safe_z_home]
home_xy_position: 110,110
speed: 100
z_hop: 10
z_hop_speed: 5

View File

@@ -0,0 +1,156 @@
# This file contains pin mappings for the Artillery Sidewinder X2 (2022)
# with a Artillery_Ruby-v1.2 board. To use this config, during "make menuconfig"
# select the STM32F401 with "No bootloader" and USB (on PA11/PA12)
# communication.
# To flash this firmware, set the physical bridge between +3.3V and Boot0 PIN
# on Artillery_Ruby mainboard. Then run the command:
# make flash FLASH_DEVICE=/dev/serial/by-id/usb-Klipper_stm32f401xc_*-if00
# See docs/Config_Reference.md for a description of parameters.
[stepper_x]
step_pin: !PB14
dir_pin: PB13
enable_pin: !PB15
microsteps: 16
rotation_distance: 40
endstop_pin: !PA2
position_endstop: 0
position_max: 300
homing_speed: 50
second_homing_speed: 10
[stepper_y]
step_pin: PB10
dir_pin: PB2
enable_pin: !PB12
microsteps: 16
rotation_distance: 40
endstop_pin: !PA1
position_endstop: 0
position_max: 300
homing_speed: 50
second_homing_speed: 10
[stepper_z]
step_pin: PB0
dir_pin: !PC5
enable_pin: !PB1
microsteps: 16
rotation_distance: 8
endstop_pin: probe:z_virtual_endstop
position_max: 410
homing_speed: 10
second_homing_speed: 2
[extruder]
step_pin: PA7
dir_pin: PA6
enable_pin: !PC4
microsteps: 16
rotation_distance: 20.925
gear_ratio: 66:22
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PC9
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PC0
control: pid
pid_kp: 20.860
pid_ki: 1.131
pid_kd: 96.218
min_temp: 0
max_temp: 250
[heater_bed]
heater_pin: PA8
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PC1
control: pid
pid_kp: 42.365
pid_ki: 0.545
pid_kd: 822.940
min_temp: 0
max_temp: 130
[fan]
pin: PC8
off_below: 0.1
[heater_fan extruder]
pin: PC7
off_below: 0.2
[controller_fan case]
pin: PC6
off_below: 0.3
idle_speed: 0.0
[temperature_sensor mainboard]
sensor_type: temperature_mcu
min_temp: 10
max_temp: 60
[bltouch]
sensor_pin: PC2
control_pin: PC3
x_offset:27.25
y_offset:-12.8
z_offset: 1.0
samples: 3
samples_tolerance: 0.050
samples_tolerance_retries: 3
[safe_z_home]
home_xy_position: 150,150
z_hop: 15
[bed_mesh]
speed: 100
mesh_min: 27.25, 12.8
mesh_max: 272.75, 287.2
algorithm: bicubic
probe_count: 5,5
mesh_pps: 3
fade_end: 10
[bed_screws]
screw1: 50,50
screw1_name: front left
screw2: 250,50
screw2_name: front right
screw3: 250,250
screw3_name: back right
screw4: 50,250
screw4_name: back left
speed: 100.0
[screws_tilt_adjust]
screw1: 23,63
screw1_name: front left
screw2: 223,63
screw2_name: front right
screw3: 223,263
screw3_name: back right
screw4: 23,263
screw4_name: back left
speed: 100.0
screw_thread: CW-M5
[mcu]
serial: /dev/ttyACM0
[neopixel extruder]
pin: PB7
initial_RED: 1.0
initial_GREEN: 1.0
initial_BLUE: 1.0
[printer]
kinematics: cartesian
max_velocity: 250
max_accel: 1500
max_z_velocity: 50
max_z_accel: 400
square_corner_velocity: 5.0

View File

@@ -0,0 +1,188 @@
# For the Artillery Sidewinder X3 Pro/Plus that came factory installed with V1.29 firmware, follow these steps.
# - Compile with the processor model STM32F401.
# - Select the 48KiB bootloader,
# - Select USB PA11/PA12 for USB communication interface.
# - Select USART2 PA3/PA2 for UART communication via the Wi-Fi Tx/Rx pins
# To set 48KiB bootloader, you need to make a change to make menuconfig Kconfig file
# Here is a link to a how-to video: https://youtu.be/dpc76zN7Dh0
# Rename klipper.bin to yuntu.bin
# Copy the file out/yuntu.bin to an SD card and then restart the printer with that SD card
#
# For models that did not come with V1.29 installed
# - Compile with the processor model STM32F401.
# - Select the NO BOOTLOADER
# - Select USB PA11/PA12 for USB communication interface.
# - Select USART2 PA3/PA2 for UART communication via the Wi-Fi Tx/Rx pins
# - quit, save, make
# - Connect your printer to a computer running Pronterface, Octoprint, Repetier, BedLeveler5000 (anything with Console capability)
# - Power on the machine and send M997 through console into Marlin, this will put the board into "DFU" mode
# - DO NOT TURN OFF THE PRINTER
# - Connect your Linux/Klipper device to the USB port
# - Run lsusb and verify that the STM32 DFU device is visible (Bus 001 Device 006: ID 0483:df11 STMicroelectronics STM Device in DFU Mode)
# - Run sudo make flash 0483:df11
# - Run lsusb again and there should be two devices:
# Bus 001 Device 007: ID 1d50:614e OpenMoko, Inc. stm32f401xc
# Bus 001 Device 003: ID 0cf3:e010 Qualcomm Atheros Communications stm32f401xc
# See docs/Config_Reference.md for a description of parameters.
[mcu]
serial: /dev/ttyACM0
restart_method: command
[printer]
kinematics: cartesian
max_velocity: 300
max_accel: 3000
max_z_velocity: 15
max_z_accel: 100
square_corner_velocity: 5
[led LED_Light]
white_pin: PC2
initial_white: 1.0
[neopixel hotend_neopixel]
pin: PD2
color_order: GRB
initial_RED: 1.0
initial_GREEN: 1.0
initial_BLUE: 1.0
[stepper_x]
step_pin: PA8
dir_pin: PC9
enable_pin: !PA15
microsteps: 16
rotation_distance: 40
endstop_pin: !PB9
position_min: 0
position_endstop: 0
position_max: 315
homing_speed: 50
[stepper_y]
step_pin: PC7
dir_pin: !PC6
enable_pin: !PC8
microsteps: 16
rotation_distance: 40
endstop_pin: !PB8
position_endstop: 0
position_max: 315
homing_speed: 50
[stepper_z]
step_pin: PB10
dir_pin: !PA4
enable_pin: !PC4
rotation_distance: 8
microsteps: 16
position_min: -1
position_max: 400
endstop_pin: probe:z_virtual_endstop # Use Z- as endstop
#homing_speed: 10.0
[extruder]
max_extrude_only_distance: 100.0
step_pin: PC11
dir_pin: !PC10
enable_pin: !PC12
microsteps: 64
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PA6
sensor_type: EPCOS 100K B57560G104F #Generic 3950
sensor_pin: PC5
min_extrude_temp: 170
min_temp: 0
max_temp: 300
# Calibrate E-Steps https://www.klipper3d.org/Rotation_Distance.html#calibrating-rotation_distance-on-extruders
rotation_distance: 17.75
# Calibrate PID: https://www.klipper3d.org/Config_checks.html#calibrate-pid-settings
# - Example: PID_CALIBRATE HEATER=extruder TARGET=200
control: pid
pid_kp: 30.356
pid_ki: 1.857
pid_kd: 124.081
# Calibrate PA: https://www.klipper3d.org/Pressure_Advance.html
[heater_bed]
heater_pin: PA7
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PC0
max_temp: 100
min_temp: 0
# Calibrate PID: https://www.klipper3d.org/Config_checks.html#calibrate-pid-settings
# - Example: PID_CALIBRATE HEATER=heater_bed TARGET=60
control: pid
pid_kp: 64.230
pid_ki: 0.723
pid_kd: 1425.905
[heater_fan hotend_fan]
pin: PB1
heater: extruder
heater_temp: 50.0
[fan]
pin: PB0
[temperature_fan Artillery_MCU]
sensor_type: temperature_mcu
pin: PA5
max_temp: 60.0
target_temp: 40.0
min_temp: 0
shutdown_speed: 0.0
kick_start_time: 0.5
off_below: 0.19
max_speed: 1.0
min_speed: 0.0
control: watermark
[filament_switch_sensor filament_sensor]
pause_on_runout: true
switch_pin: PC1
[probe]
pin: PC14
x_offset:45.2
y_offset:11.6
speed:5
lift_speed:15
z_offset: 2.350
[safe_z_home]
home_xy_position: 110, 145 # X, Y coordinate (e.g. 100, 100) where the Z homing should be
speed: 300.0
z_hop: 10
z_hop_speed: 15.0
[bed_mesh]
speed: 300
horizontal_move_z: 6
mesh_min: 46,15
mesh_max: 300,300
probe_count: 10, 10
fade_start: 1.0
fade_end: 0.0
algorithm: bicubic
[screws_tilt_adjust]
screw1: 120, 153
screw1_name: center reference
screw2: 7, 45
screw2_name: front left
screw3: 210, 45
screw3_name: front right
screw4: 227, 145
screw4_name: right center
screw5: 210, 245
screw5_name: rear right
screw6: 7, 245
screw6_name: rear left
screw7: 7, 145
screw7_name: left center
horizontal_move_z: 8
speed: 300
screw_thread: CW-M4

View File

@@ -0,0 +1,194 @@
# This file contains common pin mappings for the Biqu B1 SE Plus.
# To use this config, the firmware should be compiled for the
# STM32F407 with a "32KiB bootloader".
# In newer versions of this board shipped in late 2021 the STM32F429
# is used, if this is the case compile for this with a "32KiB bootloader"
# You will need to check the chip on your board to identify which you have.
#
# The "make flash" command does not work on the SKR 2. Instead,
# after running "make", copy the generated "out/klipper.bin" file to a
# file named "firmware.bin" on an SD card and then restart the SKR 2
# with that SD card.
# See docs/Config_Reference.md for a description of parameters.
[mcu]
serial: /dev/serial/by-id/usb-Klipper_stm32f407xx_1D0039000F47393438343535-if00
########################################
# Stepper X Pins and TMC2208 configuration
########################################
[stepper_x]
step_pin: PE2
dir_pin: !PE1
enable_pin: !PE3
microsteps: 16
rotation_distance: 40
endstop_pin: !PC1
position_endstop: 0
position_max: 310
homing_speed: 50
[tmc2208 stepper_x]
uart_pin: PE0
run_current: 0.800
stealthchop_threshold: 999999
########################################
# Stepper Y Pins and TMC2208 configuration
########################################
[stepper_y]
step_pin: PD5
dir_pin: PD4
enable_pin: !PD6
microsteps: 16
rotation_distance: 40
endstop_pin: !PC3
position_endstop: 0
position_max: 310
homing_speed: 50
[tmc2208 stepper_y]
uart_pin: PD3
run_current: 0.800
stealthchop_threshold: 999999
########################################
# Stepper Z Pins and TMC2208 configuration
########################################
[stepper_z]
step_pin: PA15
dir_pin: PA8
enable_pin: !PD1
microsteps: 16
rotation_distance: 8
endstop_pin: probe:z_virtual_endstop
homing_speed: 10
second_homing_speed: 1
position_min: -2
position_max: 340
[tmc2208 stepper_z]
uart_pin: PD0
run_current: 0.800
stealthchop_threshold: 999999
########################################
# Extruder Pins and TMC2208 configuration
########################################
[extruder]
step_pin: PD15
dir_pin: !PD14
enable_pin: !PC7
microsteps: 16
rotation_distance: 34.2152 # Calibrar - ver https://www.klipper3d.org/Rotation_Distance.html
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PB3
sensor_type: Generic 3950
sensor_pin: PA2 #thermistor pin
control: pid
pid_Kp: 22.2
pid_Ki: 1.08
pid_Kd: 114
min_temp: 0
max_temp: 250
[tmc2208 extruder]
uart_pin: PC6
run_current: 0.800
stealthchop_threshold: 999999
########################################
# Heater Bed Pins
########################################
[heater_bed]
heater_pin: PD7
sensor_type: Generic 3950
sensor_pin: PA1
control: pid
pid_Kp: 54
pid_Ki: 0.77
pid_Kd: 900
min_temp: 0
max_temp: 110
########################################
# Printer Configuration
########################################
[printer]
kinematics: cartesian
max_velocity: 200
max_accel: 1000
max_z_velocity: 5
max_z_accel: 100
########################################
# Probe configuration
########################################
[probe]
pin: ^!PE4
z_offset: 0.0
x_offset: 0.0
y_offset: 0.0
speed: 10.0
samples: 2
samples_result: average
sample_retract_dist: 2.0
samples_tolerance: 0.2
[safe_z_home]
home_xy_position: 155,155
speed: 100
z_hop: 5
z_hop_speed: 5
[output_pin probe_enable]
pin: PE5
value: 1
########################################
# Bed Mesh configuration
########################################
[bed_mesh]
speed: 2000
horizontal_move_z: 3
mesh_min: 20, 20
mesh_max: 290, 290
probe_count: 7, 7
mesh_pps: 2,2
algorithm: bicubic
bicubic_tension: 0.2
########################################
# Fan Nozzle configuration
########################################
[fan]
pin: PB7
[heater_fan Cooling_fan]
pin: PB6
max_power: 1.0
kick_start_time: 0.100
heater: heater_bed
[heater_fan Board_fan]
pin: PB5
max_power: 1.0
kick_start_time: 0.100
heater: extruder
########################################
# Filament Sensor configuration
########################################
[filament_switch_sensor Sensor_Filamento]
switch_pin: !PC2
pause_on_runout: true #pause handled by macro
########################################
# Motor Power Pin
########################################
[output_pin motor_power]
pin: PC13
value: 1

View File

@@ -0,0 +1,317 @@
# This file contains common pin mappings for the BigTreeTech SKR SE BX.
# To use this config, the firmware should be compiled for the
# STM32H743 with a "128KiB bootloader". Additionally, GPIO pins PB5
# and PE5 need to be set at microcontroller startup.
######################################################################
# NOTE: In order enable the TFT70-BX display when the printer first
# starts, add PB5 and PE5 to the `GPIO pins to set at micro-controller
# startup` section when running "make menuconfig"
######################################################################
# The "make flash" command does not work on the SKR SE BX. Instead,
# after running "make", copy the generated "out/klipper.bin" file to a
# file named "firmware.bin" on an SD card and then restart the SKR SE BX
# with that SD card. After klipper has been flashed once to the board,
# you can update klipper by leaving a microSD inserted and running the
# scripts/flash-sd.sh script.
# See docs/Config_Reference.md for a description of parameters.
########################################
# Steppers
########################################
[stepper_x]
step_pin: PG13
dir_pin: !PG12
enable_pin: !PG14
microsteps: 16
rotation_distance: 40
full_steps_per_rotation: 400
endstop_pin: tmc2209_stepper_x:virtual_endstop
position_endstop: -13
position_min: -13
position_max: 250
homing_speed: 30
homing_retract_dist: 0
[stepper_y]
step_pin: PB3
dir_pin: !PD3
enable_pin: !PB4
microsteps: 16
rotation_distance: 40
full_steps_per_rotation: 400
endstop_pin: tmc2209_stepper_y:virtual_endstop
position_endstop: -7
position_min: -7
position_max: 250
homing_speed: 30
homing_retract_dist: 0
[stepper_z]
step_pin: PD7
dir_pin: PD6
enable_pin: !PG9
microsteps: 16
rotation_distance: 8
full_steps_per_rotation: 400
endstop_pin: probe:z_virtual_endstop
position_min: -2
position_max: 250
[stepper_z1]
step_pin: PA8
dir_pin: PC9
enable_pin: !PD2
microsteps: 16
rotation_distance: 8
full_steps_per_rotation: 400
[extruder]
step_pin: PC14
dir_pin: !PC13
enable_pin: !PC15
microsteps: 16
rotation_distance: 24.031
gear_ratio: 7:1
full_steps_per_rotation: 200
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PC4
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PH4
control: pid
pid_Kp: 22.2
pid_Ki: 1.08
pid_Kd: 114
min_temp: 0
max_temp: 350
[safe_z_home]
home_xy_position: 125,125
speed: 200
z_hop: 10
z_hop_speed: 25
########################################
# TMC2209 configuration
########################################
[tmc2209 stepper_x]
uart_pin: PG10
diag_pin: ^PB11
run_current: 0.800
sense_resistor: 0.150
driver_SGTHRS: 127
stealthchop_threshold: 999999
[tmc2209 stepper_y]
uart_pin: PD4
diag_pin: ^PB12
run_current: 0.800
sense_resistor: 0.150
driver_SGTHRS: 137
stealthchop_threshold: 999999
[tmc2209 stepper_z]
uart_pin: PD5
run_current: 1.000
sense_resistor: 0.150
stealthchop_threshold: 999999
[tmc2209 stepper_z1]
uart_pin: PC8
run_current: 1.000
sense_resistor: 0.150
stealthchop_threshold: 999999
[tmc2209 extruder]
uart_pin: PI8
run_current: 0.800
sense_resistor: 0.150
stealthchop_threshold: 0
########################################
# PRINTER
########################################
[mcu]
serial: /dev/ttyAMA0
restart_method: command
[printer]
kinematics: cartesian
max_velocity: 200
max_accel: 1000
max_z_velocity: 10
max_z_accel: 1000
[fan]
pin: PA5
[heater_fan extruder_fan]
pin: PA6
heater: extruder
[controller_fan controller_fan]
pin: PA7
idle_timeout: 300 # 5 minute timeout
[output_pin motor_power]
pin: PI11
value: 1
[idle_timeout]
gcode:
TURN_OFF_HEATERS
M84
SET_PIN PIN=screen VALUE=0
SET_LED LED=led BLUE=0.0 RED=0.0 GREEN=0.0
[pause_resume]
########################################
# DISPLAY
########################################
[output_pin screen]
pin: PB5
value: 1
[display_status]
[gcode_button lcd_button]
pin: PH8
press_gcode:
SET_PIN PIN=screen VALUE=1
SET_LED LED=led BLUE=1.0 RED=1.0 GREEN=1.0
[output_pin beeper]
pin: PA14
pwm: True
cycle_time: 0.001
########################################
# LEDS
########################################
[neopixel led]
pin: PH3
chain_count: 15
[neopixel knob]
pin: PB1
chain_count: 2
[delayed_gcode welcome]
initial_duration: 0.1
gcode:
SET_LED LED=knob RED=0.0 BLUE=1.0 GREEN=0.0
SET_LED LED=led RED=0.0 BLUE=1.0 GREEN=0.0
G4 P1000
SET_LED LED=led RED=1.0 BLUE=0.0 GREEN=0.0
G4 P1000
SET_LED LED=led RED=0.0 BLUE=0.0 GREEN=1.0
G4 P1000
SET_LED LED=led RED=1.0 BLUE=1.0 GREEN=1.0
########################################
# BED
########################################
[heater_bed]
heater_pin: PA4
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PH5
control: watermark
min_temp: 0
max_temp: 250
[probe]
pin: PH2
x_offset: -30.1
y_offset: 26.78
z_offset: 0
speed: 5
samples: 3
samples_result: median
sample_retract_dist: 3.0
samples_tolerance: 0.006
samples_tolerance_retries: 5
[bed_mesh]
speed: 120
mesh_min: 10,19.78
mesh_max: 219.9,230
probe_count: 4,4
[screws_tilt_adjust]
screw1: 58,-7
screw1_name: front left
screw2: 245,-7
screw2_name: front right
screw3: 245,179
screw3_name: rear right
screw4: 58,179
screw4_name: rear left
speed: 100
screw_thread: CCW-M3
########################################
## MACROS
########################################
# Slicer setup: "print_start NOZZLE=<temp> BED=<temp>
# This macro does a preheat on the probe for better accuracy and needs
# the temps passed in. examples:
# Cura: PRINT_START BED={material_bed_temperature_layer_0} NOZZLE={material_print_temperature_layer_0}
# PrusaSlicer: PRINT_START NOZZLE=[first_layer_temperature] BED=[bed_temperature]
# Use PRINT_END for the slicer ending script
[gcode_macro PRINT_START]
gcode:
# Turn on screen if it's not on
SET_PIN PIN=screen VALUE=1
G28
G0 Z1
# Warm up nozzle, not to full temps yet
M104 S150
# Set LED to Purple for bed heating
SET_LED LED=led BLUE=0.94 RED=0.63 GREEN=0.13
M117 Heating Bed
# Allow probe to warm up, then re-home Z
M190 S60
M105
G4 P90000
G28 Z
M190 S{params.BED}
M105
G90 # Ensure we are in absolute mode
G21
M83 # Set the extruder to relative mode
G92 E0
# Set LED to Red for nozzle heating
SET_LED LED=led BLUE=0.0 RED=1.0 GREEN=0.0
M117 Heating Nozzle
G0 X2 Y0 F6000
G0 Z0.4
M109 S{params.NOZZLE}
M105
# Set LED to white for printing
SET_LED LED=led BLUE=1.0 RED=1.0 GREEN=1.0
M117 Printing
# Purge Line
G1 X120 E30 F1200
G1 Y1
G1 X2 E30 F1200
G92 E0
G1 Z1.0 F600
G92 E0
G0 F9000
G90 # Set back to Absolute mode

View File

@@ -0,0 +1,107 @@
# This file contains pin mappings for the BQ Prusa i3 Hephestos from 2014
# (https://www.reprap.org/wiki/Prusa_i3_Hephestos)
# It was sold in kit form, and uses a RAMPS board with HD44780 display without
# heated bed or any modern amenities.
# To use this config, the firmware should be compiled for the AVR atmega2560.
# See docs/Config_Reference.md for a description of parameters.
[display]
lcd_type: hd44780
rs_pin: PH1
e_pin: PH0
d4_pin: PA1
d5_pin: PA3
d6_pin: PA5
d7_pin: PA7
encoder_pins: ^PC4, ^PC6
click_pin: ^!PC2
kill_pin: ^!PG0
[stepper_x]
step_pin: PF0
dir_pin: !PF1
enable_pin: !PD7
microsteps: 16
rotation_distance: 40
endstop_pin: ^!PE5
position_endstop: 0
position_max: 215
homing_speed: 50
[stepper_y]
step_pin: PF6
dir_pin: PF7
enable_pin: !PF2
microsteps: 16
rotation_distance: 40
endstop_pin: ^!PJ1
position_endstop: 0
position_max: 210
homing_speed: 50
[stepper_z]
step_pin: PL3
dir_pin: !PL1
enable_pin: !PK0
microsteps: 16
rotation_distance: 0.8
endstop_pin: ^!PD3
position_endstop: 0
position_max: 200
homing_speed: 3
[extruder]
step_pin: PA4
dir_pin: PA6
enable_pin: !PA2
microsteps: 16
# measured extruding 100mm of filament with stock Hephestos extruder
rotation_distance: 31.825
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PB4
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PK5
min_temp: 0
max_temp: 250
control: pid
pid_kp: 19.462
pid_ki: 0.713
pid_kd: 132.830
# 5 points for manual bed leveling that still leave room for accessing the stock screws
[bed_screws]
screw1: 40, 40
screw2: 180, 40
screw3: 180, 160
screw4: 40, 160
screw5: 110, 100
[fan]
pin: PH6
[printer]
kinematics: cartesian
max_velocity: 300
max_accel: 3000
# Must limit Z velocity, since RAMPS does not have enough timer resolution
max_z_velocity: 3
max_z_accel: 100
[mcu]
serial: /dev/ttyUSB0
# Common EXP1 / EXP2 (display) pins
[board_pins]
aliases:
# Common EXP1 header found on many "all-in-one" ramps clones
EXP1_1=PC0, EXP1_3=PH0, EXP1_5=PA1, EXP1_7=PA5, EXP1_9=<GND>,
EXP1_2=PC2, EXP1_4=PH1, EXP1_6=PA3, EXP1_8=PA7, EXP1_10=<5V>,
# EXP2 header
EXP2_1=PB3, EXP2_3=PC6, EXP2_5=PC4, EXP2_7=PL0, EXP2_9=<GND>,
EXP2_2=PB1, EXP2_4=PB0, EXP2_6=PB2, EXP2_8=PG0, EXP2_10=<RST>
# Pins EXP2_1, EXP2_6, EXP2_2 are also MISO, MOSI, SCK of bus "spi"
# Note, some boards wire: EXP2_8=<RST>, EXP2_10=PG0

View File

@@ -0,0 +1,162 @@
# This file contains pin mappings for the Creality CR-10 Smart Pro
# with a CR-FDM-v2.5.S1 board.
#
# To use this config, during "make menuconfig" select the STM32F103
# with a "64KiB bootloader" and serial (on USART1 PA10/PA9)
# communication. Enable PA0 GPIO pin on startup.
#
# Flash this firmware on the MCU by copying "out/klipper.bin" to an SD
# card and turning the printer on by pressing and holding the power
# button with the card inserted for 10-20 seconds. The firmware
# filename must end in ".bin" and must not match the last filename
# that was flashed.
#
# The machine itself includes a small router that can run a Klipper
# frontend. You don't need to buy a single-board computer.
#
# See docs/Config_Reference.md for a description of parameters.
[stepper_x]
step_pin: PB8
dir_pin: !PB7
enable_pin: !PC3
rotation_distance: 40
microsteps: 16
endstop_pin: PC4
position_min: -5
position_endstop: -5
position_max: 305
homing_speed: 50
[stepper_y]
step_pin: PB6
dir_pin: PB5
enable_pin: !PC3
rotation_distance: 40
microsteps: 16
endstop_pin: PC5
position_min: -2
position_endstop: -2
position_max: 302
homing_speed: 50
[stepper_z]
step_pin: PB4
dir_pin: !PB3
enable_pin: !PC3
rotation_distance: 8
microsteps: 16
endstop_pin: probe:z_virtual_endstop
position_min: -1.5
position_max: 400
homing_speed: 4
second_homing_speed: 1
homing_retract_dist: 2.0
[extruder]
step_pin: PC2
dir_pin: !PB9
enable_pin: !PC3
rotation_distance: 7.640
microsteps: 16
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PB14
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PB1
control: pid
pid_Kp: 22.865
pid_Ki: 1.292
pid_Kd: 101.178
min_temp: 0
max_temp: 250
[filament_switch_sensor runout_sensor]
pause_on_runout: false
runout_gcode: PAUSE
insert_gcode: RESUME
switch_pin: !PA15
[heater_bed]
heater_pin: PB13
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PB0
control: pid
pid_Kp: 72.49
pid_Ki: 0.844
pid_Kd: 1542.189
min_temp: 0
max_temp: 120
[heater_fan hotend_fan]
pin: PC13
heater: extruder
heater_temp: 50.0
[fan]
pin: PB15
kick_start_time: 0.5
[mcu]
serial: /dev/ttyPrinter
restart_method: command
[temperature_sensor Board_MCU]
sensor_type: temperature_mcu
min_temp: 0
max_temp: 100
[bltouch]
sensor_pin: ^PC15
control_pin: PC14
x_offset: -32.5
y_offset: -40.6
z_offset: 2.60 # initial safe value, get correct value by PROBE_CALIBRATE
[safe_z_home]
home_xy_position: 150,150
speed: 50
z_hop: 3
z_hop_speed: 5
[screws_tilt_adjust]
screw1: 60, 80
screw1_name: front left screw
screw2: 300, 80
screw2_name: front right screw
# The rear screws are actually mechanically not reachable for the
# probe, but that is ok, adjustments will still converge.
screw3: 300, 300
screw3_name: rear right screw
screw4: 60, 300
screw4_name: rear left screw
horizontal_move_z: 10.
speed: 50.
screw_thread: CW-M3
# Main light bar
[output_pin lights]
pin: PA7
value: 1
# Do not use PB12. PB12 resets the Wifi board.
#[output_pin factory_reset]
#pin: PB12
#value: 0
# Turns off the printer
[output_pin power]
pin: PA0
value: 1
shutdown_value: 1
# Conservative default values that mimic the behaviour of the
# stock firmware for easy results. It can go faster.
[printer]
kinematics: cartesian
max_velocity: 500
max_accel: 2000
square_corner_velocity: 5.0
max_z_velocity: 10
max_z_accel: 100

View File

@@ -0,0 +1,162 @@
# This file contains common pin mappings for the 2020 Creality CR-10
# V3. The mainboard is a Creality 3D v2.5.2 (8-bit mainboard with
# ATMega2560). To use this config, the firmware should be compiled for
# the AVR atmega2560.
# See docs/Config_Reference.md for a description of parameters.
# For better compatibility with GCodes generated for Marlin, you
# may wish to add the following section, if you have BLTouch:
#[gcode_macro G29]
#gcode:
# BED_MESH_CALIBRATE
[stepper_x]
step_pin: PF0 #ar54
dir_pin: PF1 #ar55
enable_pin: !PD7 #!ar38
microsteps: 16
rotation_distance: 40
endstop_pin: ^PE5 #^ar3
position_endstop: 0
position_max: 300
homing_speed: 50
[stepper_y]
step_pin: PF6 #ar60
dir_pin: PF7 #ar61
enable_pin: !PF2 #!ar56
microsteps: 16
rotation_distance: 40
endstop_pin: ^PJ1 #^ar14
position_endstop: 0
position_max: 300
homing_speed: 50
[stepper_z]
step_pin: PL3 #ar46
dir_pin: !PL1 #!ar48
enable_pin: !PK0 #!ar62
microsteps: 16
rotation_distance: 8
position_max: 400
#Uncomment if you have a BL-Touch:
#position_min: -4
#endstop_pin: probe:z_virtual_endstop
#and comment the follwing lines:
position_endstop: 0.0
endstop_pin: ^PD3 #ar18
[safe_z_home]
home_xy_position: 104.25,147.6
speed: 80
z_hop: 10
z_hop_speed: 10
[extruder]
step_pin: PA4 # ar26
dir_pin: !PA6 # !ar28
enable_pin: !PA2 # !ar24
microsteps: 16
rotation_distance: 7.7201944 # 16 microsteps * 200 steps/rotation / steps/mm
#Correction formula is new_rotation_distance = old_rotation_distance * mmsExtracted / 100.0
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PB4 #ar10
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PK5 #analog13
control: pid
pid_kp: 22.107
pid_ki: 1.170
pid_kd: 104.458
min_temp: 0
max_temp: 255
[heater_bed]
heater_pin: PH5 #ar8
sensor_type: ATC Semitec 104GT-2
sensor_pin: PK6 #analog14
control: pid
#Stock PID configuration taken from Marlin
pid_Kp: 201.86
pid_Ki: 10.67
pid_Kd: 954.96
min_temp: 0
max_temp: 130
[fan]
pin: PH6 #ar9
[mcu]
serial: /dev/ttyUSB0
[printer]
kinematics: cartesian
max_velocity: 300
max_accel: 3000
max_z_velocity: 5
max_z_accel: 100
[display]
lcd_type: st7920
cs_pin: PH1 #ar16
sclk_pin: PA1 #ar23
sid_pin: PH0 #ar17
encoder_pins: ^PC4, ^PC6 #^ar33, ^ar31
click_pin: ^!PC2 #^!ar35
#Uncomment the following lines if you have a BL-Touch
#[bltouch]
#sensor_pin: ^PD2 #^ar19
#control_pin: PB5 #ar11
#set_output_mode: 5V
#pin_move_time: 0.4
#stow_on_each_sample: False
#probe_with_touch_mode: False
#x_offset: 45.75
#y_offset: -3.40
#z_offset: 3.28
#samples: 2
#sample_retract_dist: 2
#samples_result: average
#Uncomment the following lines if you have a BL-Touch
#[bed_mesh]
#speed: 50
#horizontal_move_z: 6
#mesh_min: 46.50,0.75
#mesh_max: 253.5,295.85
#probe_count: 7,7
#algorithm: bicubic
[pause_resume]
recover_velocity: 50
[filament_switch_sensor fil_runout_sensor]
pause_on_runout: True
switch_pin: PE4 #ar2
[bed_screws]
screw1: 33,29
screw1_name: front left screw
screw2: 273,29
screw2_name: front right screw
screw3: 273,269
screw3_name: rear right screw
screw4: 33,269
screw4_name: rear left screw
#Uncomment the following lines if you have a BL-Touch
#[screws_tilt_adjust]
#screw1: 0,29
#screw1_name: front left screw
#screw2: 228,29
#screw2_name: front right screw
#screw3: 228,269
#screw3_name: rear right screw
#screw4: 0,269
#screw4_name: rear left screw
#speed: 50
#horizontal_move_z: 10
#screw_thread: CW-M3

View File

@@ -0,0 +1,154 @@
# This file contains pin mappings for the Creality CR-10S Pro V2. To use
# this config, the firmware should be compiled for the AVR atmega2560.
# See docs/Config_Reference.md for a description of parameters.
## General Config
[mcu]
serial: /dev/serial/by-id/<YOUR_USB_ID>
[printer]
kinematics: cartesian
max_velocity: 200
max_accel: 1500
max_z_velocity: 10
max_z_accel: 100
## Stepper Motors and Extruder
[stepper_x]
step_pin: PF0 #ar54
dir_pin: PF1 #ar55
enable_pin: !PD7 #!ar38
rotation_distance: 40
microsteps: 16
full_steps_per_rotation: 200
endstop_pin: ^PE5 #^ar3
position_endstop: 0
position_min: 0
position_max: 300
homing_speed: 50
homing_retract_dist: 5
[stepper_y]
step_pin: PF6 #ar60
dir_pin: !PF7 #ar61
enable_pin: !PF2 #!ar56
rotation_distance: 40
microsteps: 16
full_steps_per_rotation: 200
endstop_pin: ^PJ1 #^ar14
position_endstop: 0
position_min: 0
position_max: 310
homing_speed: 50
homing_retract_dist: 5
[stepper_z]
step_pin: PL3 #ar46
dir_pin: !PL1 #!ar48
enable_pin: !PK0 #!ar62
rotation_distance: 8
microsteps: 16
full_steps_per_rotation: 200
endstop_pin: probe:z_virtual_endstop
position_min: -3
position_max: 363 # you can go higher but then the cables crimp
[extruder]
step_pin: PA4 # ar26
dir_pin: PA6 # !ar28
enable_pin: !PA2 # !ar24
rotation_distance: 22.900
microsteps: 16
full_steps_per_rotation: 200
nozzle_diameter: 0.400
filament_diameter: 1.750
max_extrude_only_distance: 500.0
max_extrude_only_velocity: 70.0
max_extrude_only_accel: 1000.0
heater_pin: PB4 #ar10
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PK5 #analog13
control: pid #calibrated in Klipper, you will need to run this for your machine
pid_kp: 28.359
pid_ki: 1.616
pid_kd: 124.426
min_extrude_temp: 170
min_temp: 5
max_temp: 275
[fan]
pin: PH6 #ar9
[heater_bed]
heater_pin: PH5 #ar8
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PK6 #analog14
control: pid #calibrated in Klipper, you will need to run this for your machine
pid_kp: 70.936
pid_ki: 1.151
pid_kd: 1093.298
min_temp: 5
max_temp: 140
## BLTouch and Safe Z Settings
[bltouch]
sensor_pin: ^PD2
control_pin: PB5
stow_on_each_sample: False # Be careful
probe_with_touch_mode: True
x_offset: -27
y_offset: -2
z_offset: 2 # you will need to calibrate this in Klipper
speed: 4.0
samples: 2
sample_retract_dist: 3.0
[safe_z_home]
home_xy_position: 177,155
speed: 80.0
z_hop: 10.0
z_hop_speed: 5.0
[bed_mesh]
speed: 120
horizontal_move_z: 5
mesh_min: 5, 5
mesh_max: 268, 305
probe_count: 5,5
fade_start: 1
fade_end: 10
[filament_switch_sensor e0_sensor]
switch_pin: PE4 #ar2
pause_on_runout: False
runout_gcode:
PAUSE_PARK
## Calibrating the Bed
# this is for the bltouch to calibrate the bed
[screws_tilt_adjust]
screw1: 40,40
screw1_name: front left screw
screw2: 295,40
screw2_name: front right screw
screw3: 295,280
screw3_name: rear right screw
screw4: 40,280
screw4_name: rear left screw
speed: 50
horizontal_move_z: 10
screw_thread: CW-M3
[bed_screws]
screw1: 13,38
screw1_name: front left screw
screw2: 268,38
screw2_name: front right screw
screw3: 268,278
screw3_name: rear right screw
screw4: 13,38
screw4_name: rear left screw
horizontal_move_z: 5
[pause_resume]

View File

@@ -64,7 +64,7 @@ speed: 3.0
samples: 1
[safe_z_home]
home_xy_position: 117,117
home_xy_position: 117, 117
speed: 50.0
z_hop: 10.0
z_hop_speed: 100
@@ -72,9 +72,9 @@ z_hop_speed: 100
[bed_mesh]
speed: 100
horizontal_move_z: 8
mesh_min: 106,39
mesh_max: 281,229
probe_count: 3,3
mesh_min: 106, 39
mesh_max: 281, 229
probe_count: 3, 3
[heater_bed]
heater_pin: PH5

View File

@@ -98,7 +98,6 @@ max_temp: 100
[output_pin led]
pin: PC14
static_value: 0
# Neopixel LED support
# [neopixel led_neopixel]

View File

@@ -0,0 +1,152 @@
# This file contains common pin mappings for the Creality CR5 Pro HT.
# The mainboard is a Creality 3D v2.5.1 (8-bit mainboard with
# ATMega2560). To use this config, the firmware should be compiled for
# the AVR atmega2560.
# See docs/Config_Reference.md for a description of parameters.
[stepper_x]
step_pin: PF0 #ar54
dir_pin: !PF1 #ar55
enable_pin: !PD7 #!ar38
microsteps: 16
rotation_distance: 40 # 16 microsteps * 200 steps/rotation / 80 steps/mm
endstop_pin: ^!PE5 #^ar3
position_min: 0
position_max: 300
position_endstop: 0
homing_speed: 50
[stepper_y]
step_pin: PF6 #ar60
dir_pin: !PF7 #ar61
enable_pin: !PF2 #!ar56
microsteps: 16
rotation_distance: 40 # 16 microsteps * 200 steps/rotation / 80 steps/mm
endstop_pin: ^!PJ1 #^ar14
position_endstop: 0
position_max: 220
homing_speed: 50
[stepper_z]
step_pin: PL3 #ar46
dir_pin: !PL1 #!ar48
enable_pin: !PK0 #!ar62
microsteps: 16
rotation_distance: 4 # 16 microsteps * 200 steps/rotation / 800 steps/mm
position_max: 380
position_min: -10
endstop_pin: probe:z_virtual_endstop
[safe_z_home]
home_xy_position: 140, 110
speed: 80
z_hop: 10
z_hop_speed: 10
[extruder]
step_pin: PA4 # ar26
dir_pin: !PA6 # !ar28
enable_pin: !PA2 # !ar24
microsteps: 16
rotation_distance: 23.24736 # 16 microsteps * 200 steps/rotation / 137.65 steps/mm
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PB4 #ar10
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PK5 #analog13
control: pid
pid_kp: 17.647
pid_ki: 1.079
pid_kd: 72.131
min_temp: 0
max_temp: 300
[heater_bed]
heater_pin: PH5 #ar8
sensor_type: ATC Semitec 104GT-2
sensor_pin: PK6 #analog14
control: pid
pid_kp: 75.501
pid_ki: 2.542
pid_kd: 560.598
min_temp: 0
max_temp: 130
[fan]
pin: PH6 #ar9
[mcu]
serial: /dev/ttyUSB0
restart_method: command
[printer]
kinematics: cartesian
max_velocity: 300
max_accel: 2000
max_z_velocity: 5
max_z_accel: 100
#[display]
# DWIN screen currently unsupported
[bltouch]
sensor_pin: ^PD2 #^ar19
control_pin: PB5 #ar11
set_output_mode: 5V
pin_move_time: 0.4
x_offset: 37.0
y_offset: 0.0
z_offset: 2.40
samples: 2
sample_retract_dist: 2
samples_result: average
[bed_mesh]
speed: 50
horizontal_move_z: 6
mesh_min: 47,10
mesh_max: 270,210
probe_count: 7,7
algorithm: bicubic
[pause_resume]
recover_velocity: 50
[filament_switch_sensor fil_runout_sensor]
pause_on_runout: True
switch_pin: !PE4 #ar2
[bed_screws]
screw1: 8,5
screw1_name: front left screw
screw2: 8,210
screw2_name: rear left screw
screw3: 218,210
screw3_name: rear right screw
screw4: 218,5
screw4_name: front right screw
[screws_tilt_adjust]
screw1: 8,5
screw1_name: front left screw
screw2: 8,210
screw2_name: rear left screw
screw3: 218,210
screw3_name: rear right screw
screw4: 218,5
screw4_name: front right screw
speed: 50
horizontal_move_z: 10
screw_thread: CW-M4
[output_pin case_light]
pin: PH4 #ar7
value: 1
[gcode_macro CASE_LIGHT_ON]
gcode:
SET_PIN PIN=case_light VALUE=1
[gcode_macro CASE_LIGHT_OFF]
gcode:
SET_PIN PIN=case_light VALUE=0

View File

@@ -98,6 +98,10 @@ z_offset: 0.0
speed: 2.0
samples: 5
[safe_z_home]
home_xy_position: 117, 117
z_hop: 10
[filament_switch_sensor filament_sensor]
pause_on_runout: true
switch_pin: ^!PA7

Some files were not shown because too many files have changed in this diff Show More