Giter Club home page Giter Club logo

ktc's Introduction

A Toolchenager

KTC - Klipper Toolchanger Code v.2

Universal Toolchanger helper for Klipper

Downloads Badge Stars Badge Forks Badge License Badge Codacy Badge

This adds logic to Klipper for layered, inherited ToolChanging functionality.

This is a complete rewrite of KTCC v.1 to be more versatile and have infinite levels of toolchangers. Inspiration comes mainly from how RRF enables toolchanging and from the HappyHare project.

I welcome any and all input and contributions. Don't be afraid to make a pull request :D

Complex code example is still under construction.

Thank you!

#f98b00 #fe3263 #0fefa9 #085afe Major features:

  • Support any type of toolchanger and any type of tool.
  • Infinite levels of nested changers and tools with inheritance.
  • Handles Tool temperature transfers on tool select/deselect with multiple heaters and offsets.
  • Standby temperatures for parked tools.
  • Handles multiple fans per tool and speed transfer between tools.
  • Wait to reach temperature with configurable tolerance for tool.
  • Unlimited parameters for each object, accesible by macros.
  • Tool number maping. Remap a tool to another, no need to reslice.
  • Persitance of state and statistics across restarts.

#f98b00 #fe3263 #0fefa9 #085afe Installation

The code requires Klipper to run on Python v.3 and is not compatible with Python v.2.

1. Automatic install with Moonraker autoupdate support

Connect to your klipper machine using SSH and run this one line command:

cd ~/ && git clone https://github.com/TypQxQ/KTC.git && bash ~/KTC/install.sh

Configure away inside printer.cfg or a file referenced by it.

2. Manual Install

Copy or link the python (*.py) files into the \klipper\klippy\extras directory.

Copy the macros inside the macros folder and reference them in printer.cfg.

#f98b00 #fe3263 #0fefa9 #085afe Minimum Configuration:

  • At least one tool needs to be defined, ex:

[ktc_tool 0]

#f98b00 #fe3263 #0fefa9 #085afe Help and community:

The discution forums here on Github

#f98b00 #fe3263 #0fefa9 #085afe Configuration Examples:

Configuration example can be found here:

#f98b00 #fe3263 #0fefa9 #085afe References:

Configuation Reference
Explains all configurable options.

Command Reference
Lists all the commands available at runtime from Klipper.

Object state Reference
Lists all available object variables available to macros.

#f98b00 #fe3263 #0fefa9 #085afe Related projects

#f98b00 #fe3263 #0fefa9 #085afe Limitations

  • T commands need to be added by macros. Mainsail looks for [gcode_macros T#] inside the printer config. Adding a gcode_macro component for the tool at runtime will not work with current implementation of Mainsail and no button will show up. Therefore KTC_T should be manuly called by a corresponding T script as in the examples.

  • Saving to configuration files does not work in Klipper when the section is not in printer.cfg. That is the reason of the persistent storage. This enables organized and distributable configuration files.

ktc's People

Contributors

typqxq avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

piposa

ktc's Issues

error: invalid value for heater state

klippy.log
ktc.log
image

Hi,

After i home my axis with init, i want to set the default temperatures. However i seem to be getting an error.

When i leave out the CHNG_STATE=? part of the command (so for example $ KTC_TOOL_SET_TEMPERATURE TOOL=0 ACTV_TMP=200 STDB_TMP=180 STDB_TIMEOUT=1 SHTDWN_TIMEOUT=300 i dont get the error until i want to pick up a tool with T0

Let me know if you want me to change the KTC log_level2 or logfile_level4 to something else

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.