mirror of
https://github.com/Sovol3d/SV08.git
synced 2026-10-19 01:31:14 -05:00
2.1.8 and obico
This commit is contained in:
1 parent
5dc63e62b6
commit
6696cfe533
347 files changed
+8771
-829
No files matched your search
@@ -0,0 +1,3 @@
|
||||
[submodule "moonraker-obico"]
|
||||
path = moonraker-obico
|
||||
url = https://github.com/TheSpaghettiDetective/moonraker-obico
|
||||
@@ -275,3 +275,65 @@ ls
|
||||
cd kiauh
|
||||
./kiauh.sh
|
||||
cat /etc/X11/Xwrapper.config
|
||||
ls
|
||||
cd kiauh
|
||||
./kiauh.sh
|
||||
wget https://github.com/Sovol3d/mainsail/releases/download/v2.10.1/mainsail.zip
|
||||
ls
|
||||
rm mainsail.zip
|
||||
ls
|
||||
./kiauh.sh
|
||||
ls
|
||||
cd ..
|
||||
ls
|
||||
ls mainsail
|
||||
mkdir mainsail
|
||||
rmdir mainsail
|
||||
ls
|
||||
cd kiauh
|
||||
./kiauh.sh
|
||||
curl -s "https://github.com/Sovol3d/mainsail/tags" | grep "name" | cut -d'"' -f4
|
||||
./kiauh.sh
|
||||
ls
|
||||
cd kiauh
|
||||
./kiauh.sh
|
||||
ls
|
||||
cd ..
|
||||
ls
|
||||
./kiauh.sh
|
||||
cd kiauh
|
||||
./kiauh.sh
|
||||
ls
|
||||
cd ..
|
||||
ls
|
||||
~/klippy-env/bin/pip install -v numpy
|
||||
cd kiauh
|
||||
./kiauh.sh
|
||||
ls
|
||||
cd kiauh
|
||||
ls
|
||||
./kiauh.sh
|
||||
Q
|
||||
cd ..
|
||||
ls
|
||||
cd patch/
|
||||
./patch.sh
|
||||
ls
|
||||
ls config/
|
||||
cd kiauh
|
||||
./kiauh.sh
|
||||
ls
|
||||
cd usbmount/
|
||||
make intall
|
||||
ls
|
||||
sudo make install
|
||||
ls
|
||||
git clone https://github.com/TheSpaghettiDetective/moonraker-obico.git
|
||||
ls
|
||||
cd moonraker-obico/
|
||||
./install.sh
|
||||
ls
|
||||
cd usbmount/
|
||||
sudo make install
|
||||
ls
|
||||
vi makerbase-automount
|
||||
BIN
Binary file not shown.
+44
@@ -0,0 +1,44 @@
|
||||
Metadata-Version: 2.0
|
||||
Name: pyserial
|
||||
Version: 3.4
|
||||
Summary: Python Serial Port Extension
|
||||
Home-page: https://github.com/pyserial/pyserial
|
||||
Author: Chris Liechti
|
||||
Author-email: cliechti@gmx.net
|
||||
License: BSD
|
||||
Platform: any
|
||||
Classifier: Development Status :: 5 - Production/Stable
|
||||
Classifier: Intended Audience :: Developers
|
||||
Classifier: Intended Audience :: End Users/Desktop
|
||||
Classifier: License :: OSI Approved :: BSD License
|
||||
Classifier: Natural Language :: English
|
||||
Classifier: Operating System :: POSIX
|
||||
Classifier: Operating System :: Microsoft :: Windows
|
||||
Classifier: Operating System :: MacOS :: MacOS X
|
||||
Classifier: Programming Language :: Python
|
||||
Classifier: Programming Language :: Python :: 2
|
||||
Classifier: Programming Language :: Python :: 2.7
|
||||
Classifier: Programming Language :: Python :: 3
|
||||
Classifier: Programming Language :: Python :: 3.2
|
||||
Classifier: Programming Language :: Python :: 3.3
|
||||
Classifier: Programming Language :: Python :: 3.4
|
||||
Classifier: Programming Language :: Python :: 3.5
|
||||
Classifier: Programming Language :: Python :: 3.6
|
||||
Classifier: Topic :: Communications
|
||||
Classifier: Topic :: Software Development :: Libraries
|
||||
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
||||
Classifier: Topic :: Terminals :: Serial
|
||||
|
||||
Python Serial Port Extension for Win32, OSX, Linux, BSD, Jython, IronPython
|
||||
|
||||
Stable:
|
||||
|
||||
- Documentation: http://pythonhosted.org/pyserial/
|
||||
- Download Page: https://pypi.python.org/pypi/pyserial
|
||||
|
||||
Latest:
|
||||
|
||||
- Documentation: http://pyserial.readthedocs.io/en/latest/
|
||||
- Project Homepage: https://github.com/pyserial/pyserial
|
||||
|
||||
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
+106
@@ -0,0 +1,106 @@
|
||||
Metadata-Version: 2.1
|
||||
Name: greenlet
|
||||
Version: 2.0.2
|
||||
Summary: Lightweight in-process concurrent programming
|
||||
Home-page: https://greenlet.readthedocs.io/
|
||||
Author: Alexey Borzenkov
|
||||
Author-email: snaury@gmail.com
|
||||
Maintainer: Jason Madden
|
||||
Maintainer-email: jason@seecoresoftware.com
|
||||
License: MIT License
|
||||
Project-URL: Bug Tracker, https://github.com/python-greenlet/greenlet/issues
|
||||
Project-URL: Source Code, https://github.com/python-greenlet/greenlet/
|
||||
Project-URL: Documentation, https://greenlet.readthedocs.io/
|
||||
Keywords: greenlet coroutine concurrency threads cooperative
|
||||
Platform: any
|
||||
Classifier: Development Status :: 5 - Production/Stable
|
||||
Classifier: Intended Audience :: Developers
|
||||
Classifier: License :: OSI Approved :: MIT License
|
||||
Classifier: Natural Language :: English
|
||||
Classifier: Programming Language :: C
|
||||
Classifier: Programming Language :: Python
|
||||
Classifier: Programming Language :: Python :: 2
|
||||
Classifier: Programming Language :: Python :: 2.7
|
||||
Classifier: Programming Language :: Python :: 3
|
||||
Classifier: Programming Language :: Python :: 3.5
|
||||
Classifier: Programming Language :: Python :: 3.6
|
||||
Classifier: Programming Language :: Python :: 3.7
|
||||
Classifier: Programming Language :: Python :: 3.8
|
||||
Classifier: Programming Language :: Python :: 3.9
|
||||
Classifier: Programming Language :: Python :: 3.10
|
||||
Classifier: Programming Language :: Python :: 3.11
|
||||
Classifier: Operating System :: OS Independent
|
||||
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
||||
Requires-Python: >=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*
|
||||
Description-Content-Type: text/x-rst
|
||||
License-File: LICENSE
|
||||
License-File: LICENSE.PSF
|
||||
License-File: AUTHORS
|
||||
Provides-Extra: docs
|
||||
Requires-Dist: Sphinx ; extra == 'docs'
|
||||
Requires-Dist: docutils (<0.18) ; (python_version < "3") and extra == 'docs'
|
||||
Provides-Extra: test
|
||||
Requires-Dist: objgraph ; extra == 'test'
|
||||
Requires-Dist: psutil ; extra == 'test'
|
||||
|
||||
.. This file is included into docs/history.rst
|
||||
|
||||
.. image:: https://github.com/python-greenlet/greenlet/workflows/tests/badge.svg
|
||||
:target: https://github.com/python-greenlet/greenlet/actions
|
||||
|
||||
Greenlets are lightweight coroutines for in-process concurrent
|
||||
programming.
|
||||
|
||||
The "greenlet" package is a spin-off of `Stackless`_, a version of
|
||||
CPython that supports micro-threads called "tasklets". Tasklets run
|
||||
pseudo-concurrently (typically in a single or a few OS-level threads)
|
||||
and are synchronized with data exchanges on "channels".
|
||||
|
||||
A "greenlet", on the other hand, is a still more primitive notion of
|
||||
micro-thread with no implicit scheduling; coroutines, in other words.
|
||||
This is useful when you want to control exactly when your code runs.
|
||||
You can build custom scheduled micro-threads on top of greenlet;
|
||||
however, it seems that greenlets are useful on their own as a way to
|
||||
make advanced control flow structures. For example, we can recreate
|
||||
generators; the difference with Python's own generators is that our
|
||||
generators can call nested functions and the nested functions can
|
||||
yield values too. (Additionally, you don't need a "yield" keyword. See
|
||||
the example in `test_generator.py
|
||||
<https://github.com/python-greenlet/greenlet/blob/adca19bf1f287b3395896a8f41f3f4fd1797fdc7/src/greenlet/tests/test_generator.py#L1>`_).
|
||||
|
||||
Greenlets are provided as a C extension module for the regular unmodified
|
||||
interpreter.
|
||||
|
||||
.. _`Stackless`: http://www.stackless.com
|
||||
|
||||
|
||||
Who is using Greenlet?
|
||||
======================
|
||||
|
||||
There are several libraries that use Greenlet as a more flexible
|
||||
alternative to Python's built in coroutine support:
|
||||
|
||||
- `Concurrence`_
|
||||
- `Eventlet`_
|
||||
- `Gevent`_
|
||||
|
||||
.. _Concurrence: http://opensource.hyves.org/concurrence/
|
||||
.. _Eventlet: http://eventlet.net/
|
||||
.. _Gevent: http://www.gevent.org/
|
||||
|
||||
Getting Greenlet
|
||||
================
|
||||
|
||||
The easiest way to get Greenlet is to install it with pip::
|
||||
|
||||
pip install greenlet
|
||||
|
||||
|
||||
Source code archives and binary distributions are available on the
|
||||
python package index at https://pypi.org/project/greenlet
|
||||
|
||||
The source code repository is hosted on github:
|
||||
https://github.com/python-greenlet/greenlet
|
||||
|
||||
Documentation is available on readthedocs.org:
|
||||
https://greenlet.readthedocs.io
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
+1131
File diff suppressed because it is too large.
Load diff
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
+94
@@ -0,0 +1,94 @@
|
||||
Metadata-Version: 2.1
|
||||
Name: MarkupSafe
|
||||
Version: 1.1.1
|
||||
Summary: Safely add untrusted strings to HTML/XML markup.
|
||||
Home-page: https://palletsprojects.com/p/markupsafe/
|
||||
Author: Armin Ronacher
|
||||
Author-email: armin.ronacher@active-4.com
|
||||
Maintainer: The Pallets Team
|
||||
Maintainer-email: contact@palletsprojects.com
|
||||
License: BSD-3-Clause
|
||||
Project-URL: Documentation, https://markupsafe.palletsprojects.com/
|
||||
Project-URL: Code, https://github.com/pallets/markupsafe
|
||||
Project-URL: Issue tracker, https://github.com/pallets/markupsafe/issues
|
||||
Platform: UNKNOWN
|
||||
Classifier: Development Status :: 5 - Production/Stable
|
||||
Classifier: Environment :: Web Environment
|
||||
Classifier: Intended Audience :: Developers
|
||||
Classifier: License :: OSI Approved :: BSD License
|
||||
Classifier: Operating System :: OS Independent
|
||||
Classifier: Programming Language :: Python
|
||||
Classifier: Programming Language :: Python :: 2
|
||||
Classifier: Programming Language :: Python :: 3
|
||||
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
|
||||
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
||||
Classifier: Topic :: Text Processing :: Markup :: HTML
|
||||
Requires-Python: >=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*
|
||||
Description-Content-Type: text/x-rst
|
||||
|
||||
MarkupSafe
|
||||
==========
|
||||
|
||||
MarkupSafe implements a text object that escapes characters so it is
|
||||
safe to use in HTML and XML. Characters that have special meanings are
|
||||
replaced so that they display as the actual characters. This mitigates
|
||||
injection attacks, meaning untrusted user input can safely be displayed
|
||||
on a page.
|
||||
|
||||
|
||||
Installing
|
||||
----------
|
||||
|
||||
Install and update using `pip`_:
|
||||
|
||||
.. code-block:: text
|
||||
|
||||
pip install -U MarkupSafe
|
||||
|
||||
.. _pip: https://pip.pypa.io/en/stable/quickstart/
|
||||
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
.. code-block:: pycon
|
||||
|
||||
>>> from markupsafe import Markup, escape
|
||||
>>> # escape replaces special characters and wraps in Markup
|
||||
>>> escape('<script>alert(document.cookie);</script>')
|
||||
Markup(u'<script>alert(document.cookie);</script>')
|
||||
>>> # wrap in Markup to mark text "safe" and prevent escaping
|
||||
>>> Markup('<strong>Hello</strong>')
|
||||
Markup('<strong>hello</strong>')
|
||||
>>> escape(Markup('<strong>Hello</strong>'))
|
||||
Markup('<strong>hello</strong>')
|
||||
>>> # Markup is a text subclass (str on Python 3, unicode on Python 2)
|
||||
>>> # methods and operators escape their arguments
|
||||
>>> template = Markup("Hello <em>%s</em>")
|
||||
>>> template % '"World"'
|
||||
Markup('Hello <em>"World"</em>')
|
||||
|
||||
|
||||
Donate
|
||||
------
|
||||
|
||||
The Pallets organization develops and supports MarkupSafe and other
|
||||
libraries that use it. In order to grow the community of contributors
|
||||
and users, and allow the maintainers to devote more time to the
|
||||
projects, `please donate today`_.
|
||||
|
||||
.. _please donate today: https://palletsprojects.com/donate
|
||||
|
||||
|
||||
Links
|
||||
-----
|
||||
|
||||
* Website: https://palletsprojects.com/p/markupsafe/
|
||||
* Documentation: https://markupsafe.palletsprojects.com/
|
||||
* Releases: https://pypi.org/project/MarkupSafe/
|
||||
* Code: https://github.com/pallets/markupsafe
|
||||
* Issue tracker: https://github.com/pallets/markupsafe/issues
|
||||
* Test status: https://dev.azure.com/pallets/markupsafe/_build
|
||||
* Official chat: https://discord.gg/t6rrQZH
|
||||
|
||||
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
+106
@@ -0,0 +1,106 @@
|
||||
Metadata-Version: 2.1
|
||||
Name: Jinja2
|
||||
Version: 2.11.3
|
||||
Summary: A very fast and expressive template engine.
|
||||
Home-page: https://palletsprojects.com/p/jinja/
|
||||
Author: Armin Ronacher
|
||||
Author-email: armin.ronacher@active-4.com
|
||||
Maintainer: Pallets
|
||||
Maintainer-email: contact@palletsprojects.com
|
||||
License: BSD-3-Clause
|
||||
Project-URL: Documentation, https://jinja.palletsprojects.com/
|
||||
Project-URL: Code, https://github.com/pallets/jinja
|
||||
Project-URL: Issue tracker, https://github.com/pallets/jinja/issues
|
||||
Platform: UNKNOWN
|
||||
Classifier: Development Status :: 5 - Production/Stable
|
||||
Classifier: Environment :: Web Environment
|
||||
Classifier: Intended Audience :: Developers
|
||||
Classifier: License :: OSI Approved :: BSD License
|
||||
Classifier: Operating System :: OS Independent
|
||||
Classifier: Programming Language :: Python
|
||||
Classifier: Programming Language :: Python :: 2
|
||||
Classifier: Programming Language :: Python :: 2.7
|
||||
Classifier: Programming Language :: Python :: 3
|
||||
Classifier: Programming Language :: Python :: 3.5
|
||||
Classifier: Programming Language :: Python :: 3.6
|
||||
Classifier: Programming Language :: Python :: 3.7
|
||||
Classifier: Programming Language :: Python :: 3.8
|
||||
Classifier: Programming Language :: Python :: Implementation :: CPython
|
||||
Classifier: Programming Language :: Python :: Implementation :: PyPy
|
||||
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
|
||||
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
||||
Classifier: Topic :: Text Processing :: Markup :: HTML
|
||||
Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*
|
||||
Description-Content-Type: text/x-rst
|
||||
Requires-Dist: MarkupSafe (>=0.23)
|
||||
Provides-Extra: i18n
|
||||
Requires-Dist: Babel (>=0.8) ; extra == 'i18n'
|
||||
|
||||
Jinja
|
||||
=====
|
||||
|
||||
Jinja is a fast, expressive, extensible templating engine. Special
|
||||
placeholders in the template allow writing code similar to Python
|
||||
syntax. Then the template is passed data to render the final document.
|
||||
|
||||
It includes:
|
||||
|
||||
- Template inheritance and inclusion.
|
||||
- Define and import macros within templates.
|
||||
- HTML templates can use autoescaping to prevent XSS from untrusted
|
||||
user input.
|
||||
- A sandboxed environment can safely render untrusted templates.
|
||||
- AsyncIO support for generating templates and calling async
|
||||
functions.
|
||||
- I18N support with Babel.
|
||||
- Templates are compiled to optimized Python code just-in-time and
|
||||
cached, or can be compiled ahead-of-time.
|
||||
- Exceptions point to the correct line in templates to make debugging
|
||||
easier.
|
||||
- Extensible filters, tests, functions, and even syntax.
|
||||
|
||||
Jinja's philosophy is that while application logic belongs in Python if
|
||||
possible, it shouldn't make the template designer's job difficult by
|
||||
restricting functionality too much.
|
||||
|
||||
|
||||
Installing
|
||||
----------
|
||||
|
||||
Install and update using `pip`_:
|
||||
|
||||
.. code-block:: text
|
||||
|
||||
$ pip install -U Jinja2
|
||||
|
||||
.. _pip: https://pip.pypa.io/en/stable/quickstart/
|
||||
|
||||
|
||||
In A Nutshell
|
||||
-------------
|
||||
|
||||
.. code-block:: jinja
|
||||
|
||||
{% extends "base.html" %}
|
||||
{% block title %}Members{% endblock %}
|
||||
{% block content %}
|
||||
<ul>
|
||||
{% for user in users %}
|
||||
<li><a href="{{ user.url }}">{{ user.username }}</a></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endblock %}
|
||||
|
||||
|
||||
Links
|
||||
-----
|
||||
|
||||
- Website: https://palletsprojects.com/p/jinja/
|
||||
- Documentation: https://jinja.palletsprojects.com/
|
||||
- Releases: https://pypi.org/project/Jinja2/
|
||||
- Code: https://github.com/pallets/jinja
|
||||
- Issue tracker: https://github.com/pallets/jinja/issues
|
||||
- Test status: https://dev.azure.com/pallets/jinja/_build
|
||||
- Official chat: https://discord.gg/t6rrQZH
|
||||
|
||||
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
+38
@@ -0,0 +1,38 @@
|
||||
Metadata-Version: 2.1
|
||||
Name: cffi
|
||||
Version: 1.14.6
|
||||
Summary: Foreign Function Interface for Python calling C code.
|
||||
Home-page: http://cffi.readthedocs.org
|
||||
Author: Armin Rigo, Maciej Fijalkowski
|
||||
Author-email: python-cffi@googlegroups.com
|
||||
License: MIT
|
||||
Platform: UNKNOWN
|
||||
Classifier: Programming Language :: Python
|
||||
Classifier: Programming Language :: Python :: 2
|
||||
Classifier: Programming Language :: Python :: 2.6
|
||||
Classifier: Programming Language :: Python :: 2.7
|
||||
Classifier: Programming Language :: Python :: 3
|
||||
Classifier: Programming Language :: Python :: 3.2
|
||||
Classifier: Programming Language :: Python :: 3.3
|
||||
Classifier: Programming Language :: Python :: 3.4
|
||||
Classifier: Programming Language :: Python :: 3.5
|
||||
Classifier: Programming Language :: Python :: 3.6
|
||||
Classifier: Programming Language :: Python :: Implementation :: CPython
|
||||
Classifier: Programming Language :: Python :: Implementation :: PyPy
|
||||
Classifier: License :: OSI Approved :: MIT License
|
||||
License-File: LICENSE
|
||||
Requires-Dist: pycparser
|
||||
|
||||
|
||||
CFFI
|
||||
====
|
||||
|
||||
Foreign Function Interface for Python calling C code.
|
||||
Please see the `Documentation <http://cffi.readthedocs.org/>`_.
|
||||
|
||||
Contact
|
||||
-------
|
||||
|
||||
`Mailing list <https://groups.google.com/forum/#!forum/python-cffi>`_
|
||||
|
||||
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
+31
@@ -0,0 +1,31 @@
|
||||
Metadata-Version: 2.1
|
||||
Name: pycparser
|
||||
Version: 2.21
|
||||
Summary: C parser in Python
|
||||
Home-page: https://github.com/eliben/pycparser
|
||||
Author: Eli Bendersky
|
||||
Author-email: eliben@gmail.com
|
||||
Maintainer: Eli Bendersky
|
||||
License: BSD
|
||||
Platform: Cross Platform
|
||||
Classifier: Development Status :: 5 - Production/Stable
|
||||
Classifier: License :: OSI Approved :: BSD License
|
||||
Classifier: Programming Language :: Python :: 2
|
||||
Classifier: Programming Language :: Python :: 2.7
|
||||
Classifier: Programming Language :: Python :: 3
|
||||
Classifier: Programming Language :: Python :: 3.4
|
||||
Classifier: Programming Language :: Python :: 3.5
|
||||
Classifier: Programming Language :: Python :: 3.6
|
||||
Classifier: Programming Language :: Python :: 3.7
|
||||
Classifier: Programming Language :: Python :: 3.8
|
||||
Classifier: Programming Language :: Python :: 3.9
|
||||
Classifier: Programming Language :: Python :: 3.10
|
||||
Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*
|
||||
|
||||
|
||||
pycparser is a complete parser of the C language, written in
|
||||
pure Python using the PLY parsing library.
|
||||
It parses C code into an AST and can serve as a front-end for
|
||||
C compilers or analysis tools.
|
||||
|
||||
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
+1
-1
@@ -1 +1 @@
|
||||
{"key":"/home/sovol/klippy-env","last_check":"2024-02-27T07:14:22.657103+00:00","pypi_version":"24.0"}
|
||||
{"key":"/home/sovol/klippy-env","last_check":"2024-03-13T05:34:30.365119+00:00","pypi_version":"24.0"}
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
@@ -9,9 +9,9 @@
|
||||
application_updates_available=
|
||||
backup_before_update=false
|
||||
logupload_accepted=false
|
||||
custom_klipper_repo=
|
||||
custom_klipper_repo_branch=
|
||||
mainsail_install_unstable=false
|
||||
fluidd_install_unstable=false
|
||||
multi_instance_names=
|
||||
custom_klipper_repo=Sovol3d/klipper
|
||||
custom_klipper_repo_branch=master
|
||||
mainsail_port=80
|
||||
+113
-113
@@ -15,7 +15,7 @@
|
||||
|
||||
# Command Line History (newest to oldest):
|
||||
:x
|
||||
|2,0,1709022370,,"x"
|
||||
|2,0,1710727786,,"x"
|
||||
:q
|
||||
|2,0,1709021601,,"q"
|
||||
:set number
|
||||
@@ -44,38 +44,46 @@
|
||||
# Registers:
|
||||
|
||||
# File marks:
|
||||
'0 45 0 ~/usbmount/makerbase-automount
|
||||
|4,48,45,0,1709022370,"~/usbmount/makerbase-automount"
|
||||
'1 36 0 ~/usbmount/makerbase-automount
|
||||
|4,49,36,0,1709021601,"~/usbmount/makerbase-automount"
|
||||
'2 36 0 ~/usbmount/makerbase-automount
|
||||
|4,50,36,0,1709021601,"~/usbmount/makerbase-automount"
|
||||
'3 961 12 ~/patch/menu.py
|
||||
|4,51,961,12,1708653748,"~/patch/menu.py"
|
||||
'4 17 0 ~/usbmount/makerbase-automount
|
||||
|4,52,17,0,1708653710,"~/usbmount/makerbase-automount"
|
||||
'5 17 0 ~/usbmount/makerbase-automount
|
||||
|4,53,17,0,1708653710,"~/usbmount/makerbase-automount"
|
||||
'6 17 0 ~/usbmount/makerbase-automount
|
||||
|4,54,17,0,1708653710,"~/usbmount/makerbase-automount"
|
||||
'7 17 0 ~/usbmount/makerbase-automount
|
||||
|4,55,17,0,1708653710,"~/usbmount/makerbase-automount"
|
||||
'8 87 3 /usr/bin/makerbase-automount
|
||||
|4,56,87,3,1706585010,"/usr/bin/makerbase-automount"
|
||||
'9 122 0 ~/klipper/klippy/extras/z_offset_calibration.py
|
||||
|4,57,122,0,1706338201,"~/klipper/klippy/extras/z_offset_calibration.py"
|
||||
'0 100 0 ~/usbmount/makerbase-automount
|
||||
|4,48,100,0,1710727786,"~/usbmount/makerbase-automount"
|
||||
'1 45 0 ~/usbmount/makerbase-automount
|
||||
|4,49,45,0,1709022370,"~/usbmount/makerbase-automount"
|
||||
'2 45 0 ~/usbmount/makerbase-automount
|
||||
|4,50,45,0,1709022370,"~/usbmount/makerbase-automount"
|
||||
'3 36 0 ~/usbmount/makerbase-automount
|
||||
|4,51,36,0,1709021601,"~/usbmount/makerbase-automount"
|
||||
'4 36 0 ~/usbmount/makerbase-automount
|
||||
|4,52,36,0,1709021601,"~/usbmount/makerbase-automount"
|
||||
'5 36 0 ~/usbmount/makerbase-automount
|
||||
|4,53,36,0,1709021601,"~/usbmount/makerbase-automount"
|
||||
'6 36 0 ~/usbmount/makerbase-automount
|
||||
|4,54,36,0,1709021601,"~/usbmount/makerbase-automount"
|
||||
'7 961 12 ~/patch/menu.py
|
||||
|4,55,961,12,1708653748,"~/patch/menu.py"
|
||||
'8 17 0 ~/usbmount/makerbase-automount
|
||||
|4,56,17,0,1708653710,"~/usbmount/makerbase-automount"
|
||||
'9 17 0 ~/usbmount/makerbase-automount
|
||||
|4,57,17,0,1708653710,"~/usbmount/makerbase-automount"
|
||||
|
||||
# Jumplist (newest first):
|
||||
-' 100 0 ~/usbmount/makerbase-automount
|
||||
|4,39,100,0,1710727786,"~/usbmount/makerbase-automount"
|
||||
-' 45 0 ~/usbmount/makerbase-automount
|
||||
|4,39,45,0,1710727760,"~/usbmount/makerbase-automount"
|
||||
-' 45 0 ~/usbmount/makerbase-automount
|
||||
|4,39,45,0,1709022370,"~/usbmount/makerbase-automount"
|
||||
-' 36 0 ~/usbmount/makerbase-automount
|
||||
|4,39,36,0,1709022347,"~/usbmount/makerbase-automount"
|
||||
-' 36 0 ~/usbmount/makerbase-automount
|
||||
|4,39,36,0,1709022347,"~/usbmount/makerbase-automount"
|
||||
-' 36 0 ~/usbmount/makerbase-automount
|
||||
|4,39,36,0,1709021601,"~/usbmount/makerbase-automount"
|
||||
-' 17 0 ~/usbmount/makerbase-automount
|
||||
|4,39,17,0,1709021425,"~/usbmount/makerbase-automount"
|
||||
-' 17 0 ~/usbmount/makerbase-automount
|
||||
|4,39,17,0,1709021425,"~/usbmount/makerbase-automount"
|
||||
-' 17 0 ~/usbmount/makerbase-automount
|
||||
|4,39,17,0,1709021425,"~/usbmount/makerbase-automount"
|
||||
-' 961 12 ~/patch/menu.py
|
||||
|4,39,961,12,1708653748,"~/patch/menu.py"
|
||||
-' 961 12 ~/patch/menu.py
|
||||
@@ -84,6 +92,22 @@
|
||||
|4,39,961,12,1708653748,"~/patch/menu.py"
|
||||
-' 961 12 ~/patch/menu.py
|
||||
|4,39,961,12,1708653748,"~/patch/menu.py"
|
||||
-' 961 12 ~/patch/menu.py
|
||||
|4,39,961,12,1708653748,"~/patch/menu.py"
|
||||
-' 961 12 ~/patch/menu.py
|
||||
|4,39,961,12,1708653748,"~/patch/menu.py"
|
||||
-' 961 12 ~/patch/menu.py
|
||||
|4,39,961,12,1708653748,"~/patch/menu.py"
|
||||
-' 961 12 ~/patch/menu.py
|
||||
|4,39,961,12,1708653748,"~/patch/menu.py"
|
||||
-' 1 0 ~/patch/menu.py
|
||||
|4,39,1,0,1708653734,"~/patch/menu.py"
|
||||
-' 1 0 ~/patch/menu.py
|
||||
|4,39,1,0,1708653734,"~/patch/menu.py"
|
||||
-' 1 0 ~/patch/menu.py
|
||||
|4,39,1,0,1708653734,"~/patch/menu.py"
|
||||
-' 1 0 ~/patch/menu.py
|
||||
|4,39,1,0,1708653734,"~/patch/menu.py"
|
||||
-' 1 0 ~/patch/menu.py
|
||||
|4,39,1,0,1708653734,"~/patch/menu.py"
|
||||
-' 1 0 ~/patch/menu.py
|
||||
@@ -104,6 +128,40 @@
|
||||
|4,39,1,0,1708653693,"~/usbmount/makerbase-automount"
|
||||
-' 1 0 ~/usbmount/makerbase-automount
|
||||
|4,39,1,0,1708653693,"~/usbmount/makerbase-automount"
|
||||
-' 1 0 ~/usbmount/makerbase-automount
|
||||
|4,39,1,0,1708653693,"~/usbmount/makerbase-automount"
|
||||
-' 87 3 /usr/bin/makerbase-automount
|
||||
|4,39,87,3,1706585010,"/usr/bin/makerbase-automount"
|
||||
-' 87 3 /usr/bin/makerbase-automount
|
||||
|4,39,87,3,1706585010,"/usr/bin/makerbase-automount"
|
||||
-' 87 3 /usr/bin/makerbase-automount
|
||||
|4,39,87,3,1706585010,"/usr/bin/makerbase-automount"
|
||||
-' 87 3 /usr/bin/makerbase-automount
|
||||
|4,39,87,3,1706585010,"/usr/bin/makerbase-automount"
|
||||
-' 87 3 /usr/bin/makerbase-automount
|
||||
|4,39,87,3,1706585010,"/usr/bin/makerbase-automount"
|
||||
-' 87 3 /usr/bin/makerbase-automount
|
||||
|4,39,87,3,1706585010,"/usr/bin/makerbase-automount"
|
||||
-' 87 3 /usr/bin/makerbase-automount
|
||||
|4,39,87,3,1706585010,"/usr/bin/makerbase-automount"
|
||||
-' 87 3 /usr/bin/makerbase-automount
|
||||
|4,39,87,3,1706585010,"/usr/bin/makerbase-automount"
|
||||
-' 87 3 /usr/bin/makerbase-automount
|
||||
|4,39,87,3,1706585010,"/usr/bin/makerbase-automount"
|
||||
-' 87 3 /usr/bin/makerbase-automount
|
||||
|4,39,87,3,1706585010,"/usr/bin/makerbase-automount"
|
||||
-' 87 3 /usr/bin/makerbase-automount
|
||||
|4,39,87,3,1706585010,"/usr/bin/makerbase-automount"
|
||||
-' 87 3 /usr/bin/makerbase-automount
|
||||
|4,39,87,3,1706585010,"/usr/bin/makerbase-automount"
|
||||
-' 87 3 /usr/bin/makerbase-automount
|
||||
|4,39,87,3,1706585010,"/usr/bin/makerbase-automount"
|
||||
-' 87 3 /usr/bin/makerbase-automount
|
||||
|4,39,87,3,1706585010,"/usr/bin/makerbase-automount"
|
||||
-' 87 3 /usr/bin/makerbase-automount
|
||||
|4,39,87,3,1706585010,"/usr/bin/makerbase-automount"
|
||||
-' 87 3 /usr/bin/makerbase-automount
|
||||
|4,39,87,3,1706585010,"/usr/bin/makerbase-automount"
|
||||
-' 87 3 /usr/bin/makerbase-automount
|
||||
|4,39,87,3,1706585010,"/usr/bin/makerbase-automount"
|
||||
-' 87 3 /usr/bin/makerbase-automount
|
||||
@@ -168,6 +226,38 @@
|
||||
|4,39,1,0,1706585001,"/usr/bin/makerbase-automount"
|
||||
-' 1 0 /usr/bin/makerbase-automount
|
||||
|4,39,1,0,1706585001,"/usr/bin/makerbase-automount"
|
||||
-' 1 0 /usr/bin/makerbase-automount
|
||||
|4,39,1,0,1706585001,"/usr/bin/makerbase-automount"
|
||||
-' 1 0 /usr/bin/makerbase-automount
|
||||
|4,39,1,0,1706585001,"/usr/bin/makerbase-automount"
|
||||
-' 1 0 /usr/bin/makerbase-automount
|
||||
|4,39,1,0,1706585001,"/usr/bin/makerbase-automount"
|
||||
-' 1 0 /usr/bin/makerbase-automount
|
||||
|4,39,1,0,1706585001,"/usr/bin/makerbase-automount"
|
||||
-' 1 0 /usr/bin/makerbase-automount
|
||||
|4,39,1,0,1706585001,"/usr/bin/makerbase-automount"
|
||||
-' 1 0 /usr/bin/makerbase-automount
|
||||
|4,39,1,0,1706585001,"/usr/bin/makerbase-automount"
|
||||
-' 1 0 /usr/bin/makerbase-automount
|
||||
|4,39,1,0,1706585001,"/usr/bin/makerbase-automount"
|
||||
-' 1 0 /usr/bin/makerbase-automount
|
||||
|4,39,1,0,1706585001,"/usr/bin/makerbase-automount"
|
||||
-' 1 0 /usr/bin/makerbase-automount
|
||||
|4,39,1,0,1706585001,"/usr/bin/makerbase-automount"
|
||||
-' 1 0 /usr/bin/makerbase-automount
|
||||
|4,39,1,0,1706585001,"/usr/bin/makerbase-automount"
|
||||
-' 1 0 /usr/bin/makerbase-automount
|
||||
|4,39,1,0,1706585001,"/usr/bin/makerbase-automount"
|
||||
-' 1 0 /usr/bin/makerbase-automount
|
||||
|4,39,1,0,1706585001,"/usr/bin/makerbase-automount"
|
||||
-' 1 0 /usr/bin/makerbase-automount
|
||||
|4,39,1,0,1706585001,"/usr/bin/makerbase-automount"
|
||||
-' 1 0 /usr/bin/makerbase-automount
|
||||
|4,39,1,0,1706585001,"/usr/bin/makerbase-automount"
|
||||
-' 1 0 /usr/bin/makerbase-automount
|
||||
|4,39,1,0,1706585001,"/usr/bin/makerbase-automount"
|
||||
-' 1 0 /usr/bin/makerbase-automount
|
||||
|4,39,1,0,1706585001,"/usr/bin/makerbase-automount"
|
||||
-' 122 0 ~/klipper/klippy/extras/z_offset_calibration.py
|
||||
|4,39,122,0,1706338201,"~/klipper/klippy/extras/z_offset_calibration.py"
|
||||
-' 122 0 ~/klipper/klippy/extras/z_offset_calibration.py
|
||||
@@ -176,102 +266,12 @@
|
||||
|4,39,122,0,1706338201,"~/klipper/klippy/extras/z_offset_calibration.py"
|
||||
-' 122 0 ~/klipper/klippy/extras/z_offset_calibration.py
|
||||
|4,39,122,0,1706338201,"~/klipper/klippy/extras/z_offset_calibration.py"
|
||||
-' 122 0 ~/klipper/klippy/extras/z_offset_calibration.py
|
||||
|4,39,122,0,1706338201,"~/klipper/klippy/extras/z_offset_calibration.py"
|
||||
-' 122 0 ~/klipper/klippy/extras/z_offset_calibration.py
|
||||
|4,39,122,0,1706338201,"~/klipper/klippy/extras/z_offset_calibration.py"
|
||||
-' 122 0 ~/klipper/klippy/extras/z_offset_calibration.py
|
||||
|4,39,122,0,1706338201,"~/klipper/klippy/extras/z_offset_calibration.py"
|
||||
-' 122 0 ~/klipper/klippy/extras/z_offset_calibration.py
|
||||
|4,39,122,0,1706338201,"~/klipper/klippy/extras/z_offset_calibration.py"
|
||||
-' 122 0 ~/klipper/klippy/extras/z_offset_calibration.py
|
||||
|4,39,122,0,1706338201,"~/klipper/klippy/extras/z_offset_calibration.py"
|
||||
-' 122 0 ~/klipper/klippy/extras/z_offset_calibration.py
|
||||
|4,39,122,0,1706338201,"~/klipper/klippy/extras/z_offset_calibration.py"
|
||||
-' 122 0 ~/klipper/klippy/extras/z_offset_calibration.py
|
||||
|4,39,122,0,1706338201,"~/klipper/klippy/extras/z_offset_calibration.py"
|
||||
-' 122 0 ~/klipper/klippy/extras/z_offset_calibration.py
|
||||
|4,39,122,0,1706338201,"~/klipper/klippy/extras/z_offset_calibration.py"
|
||||
-' 122 0 ~/klipper/klippy/extras/z_offset_calibration.py
|
||||
|4,39,122,0,1706338201,"~/klipper/klippy/extras/z_offset_calibration.py"
|
||||
-' 122 0 ~/klipper/klippy/extras/z_offset_calibration.py
|
||||
|4,39,122,0,1706338201,"~/klipper/klippy/extras/z_offset_calibration.py"
|
||||
-' 122 0 ~/klipper/klippy/extras/z_offset_calibration.py
|
||||
|4,39,122,0,1706338201,"~/klipper/klippy/extras/z_offset_calibration.py"
|
||||
-' 122 0 ~/klipper/klippy/extras/z_offset_calibration.py
|
||||
|4,39,122,0,1706338201,"~/klipper/klippy/extras/z_offset_calibration.py"
|
||||
-' 122 0 ~/klipper/klippy/extras/z_offset_calibration.py
|
||||
|4,39,122,0,1706338201,"~/klipper/klippy/extras/z_offset_calibration.py"
|
||||
-' 122 0 ~/klipper/klippy/extras/z_offset_calibration.py
|
||||
|4,39,122,0,1706338201,"~/klipper/klippy/extras/z_offset_calibration.py"
|
||||
-' 122 0 ~/klipper/klippy/extras/z_offset_calibration.py
|
||||
|4,39,122,0,1706338201,"~/klipper/klippy/extras/z_offset_calibration.py"
|
||||
-' 122 0 ~/klipper/klippy/extras/z_offset_calibration.py
|
||||
|4,39,122,0,1706338201,"~/klipper/klippy/extras/z_offset_calibration.py"
|
||||
-' 122 0 ~/klipper/klippy/extras/z_offset_calibration.py
|
||||
|4,39,122,0,1706338201,"~/klipper/klippy/extras/z_offset_calibration.py"
|
||||
-' 122 0 ~/klipper/klippy/extras/z_offset_calibration.py
|
||||
|4,39,122,0,1706338201,"~/klipper/klippy/extras/z_offset_calibration.py"
|
||||
-' 122 0 ~/klipper/klippy/extras/z_offset_calibration.py
|
||||
|4,39,122,0,1706338201,"~/klipper/klippy/extras/z_offset_calibration.py"
|
||||
-' 122 0 ~/klipper/klippy/extras/z_offset_calibration.py
|
||||
|4,39,122,0,1706338201,"~/klipper/klippy/extras/z_offset_calibration.py"
|
||||
-' 122 0 ~/klipper/klippy/extras/z_offset_calibration.py
|
||||
|4,39,122,0,1706338201,"~/klipper/klippy/extras/z_offset_calibration.py"
|
||||
-' 122 0 ~/klipper/klippy/extras/z_offset_calibration.py
|
||||
|4,39,122,0,1706338201,"~/klipper/klippy/extras/z_offset_calibration.py"
|
||||
-' 122 0 ~/klipper/klippy/extras/z_offset_calibration.py
|
||||
|4,39,122,0,1706338201,"~/klipper/klippy/extras/z_offset_calibration.py"
|
||||
-' 122 0 ~/klipper/klippy/extras/z_offset_calibration.py
|
||||
|4,39,122,0,1706338201,"~/klipper/klippy/extras/z_offset_calibration.py"
|
||||
-' 122 0 ~/klipper/klippy/extras/z_offset_calibration.py
|
||||
|4,39,122,0,1706338201,"~/klipper/klippy/extras/z_offset_calibration.py"
|
||||
-' 122 0 ~/klipper/klippy/extras/z_offset_calibration.py
|
||||
|4,39,122,0,1706338201,"~/klipper/klippy/extras/z_offset_calibration.py"
|
||||
-' 122 0 ~/klipper/klippy/extras/z_offset_calibration.py
|
||||
|4,39,122,0,1706338201,"~/klipper/klippy/extras/z_offset_calibration.py"
|
||||
-' 122 0 ~/klipper/klippy/extras/z_offset_calibration.py
|
||||
|4,39,122,0,1706338201,"~/klipper/klippy/extras/z_offset_calibration.py"
|
||||
-' 1 0 ~/klipper/klippy/extras/z_offset_calibration.py
|
||||
|4,39,1,0,1706338170,"~/klipper/klippy/extras/z_offset_calibration.py"
|
||||
-' 1 0 ~/klipper/klippy/extras/z_offset_calibration.py
|
||||
|4,39,1,0,1706338170,"~/klipper/klippy/extras/z_offset_calibration.py"
|
||||
-' 1 0 ~/klipper/klippy/extras/z_offset_calibration.py
|
||||
|4,39,1,0,1706338170,"~/klipper/klippy/extras/z_offset_calibration.py"
|
||||
-' 1 0 ~/klipper/klippy/extras/z_offset_calibration.py
|
||||
|4,39,1,0,1706338170,"~/klipper/klippy/extras/z_offset_calibration.py"
|
||||
-' 1 0 ~/klipper/klippy/extras/z_offset_calibration.py
|
||||
|4,39,1,0,1706338170,"~/klipper/klippy/extras/z_offset_calibration.py"
|
||||
-' 1 0 ~/klipper/klippy/extras/z_offset_calibration.py
|
||||
|4,39,1,0,1706338170,"~/klipper/klippy/extras/z_offset_calibration.py"
|
||||
-' 1 0 ~/klipper/klippy/extras/z_offset_calibration.py
|
||||
|4,39,1,0,1706338170,"~/klipper/klippy/extras/z_offset_calibration.py"
|
||||
-' 1 0 ~/klipper/klippy/extras/z_offset_calibration.py
|
||||
|4,39,1,0,1706338170,"~/klipper/klippy/extras/z_offset_calibration.py"
|
||||
-' 1 0 ~/klipper/klippy/extras/z_offset_calibration.py
|
||||
|4,39,1,0,1706338170,"~/klipper/klippy/extras/z_offset_calibration.py"
|
||||
-' 1 0 ~/klipper/klippy/extras/z_offset_calibration.py
|
||||
|4,39,1,0,1706338170,"~/klipper/klippy/extras/z_offset_calibration.py"
|
||||
-' 1 0 ~/klipper/klippy/extras/z_offset_calibration.py
|
||||
|4,39,1,0,1706338170,"~/klipper/klippy/extras/z_offset_calibration.py"
|
||||
-' 1 0 ~/klipper/klippy/extras/z_offset_calibration.py
|
||||
|4,39,1,0,1706338170,"~/klipper/klippy/extras/z_offset_calibration.py"
|
||||
-' 1 0 ~/klipper/klippy/extras/z_offset_calibration.py
|
||||
|4,39,1,0,1706338170,"~/klipper/klippy/extras/z_offset_calibration.py"
|
||||
-' 1 0 ~/klipper/klippy/extras/z_offset_calibration.py
|
||||
|4,39,1,0,1706338170,"~/klipper/klippy/extras/z_offset_calibration.py"
|
||||
-' 1 0 ~/klipper/klippy/extras/z_offset_calibration.py
|
||||
|4,39,1,0,1706338170,"~/klipper/klippy/extras/z_offset_calibration.py"
|
||||
-' 1 0 ~/klipper/klippy/extras/z_offset_calibration.py
|
||||
|4,39,1,0,1706338170,"~/klipper/klippy/extras/z_offset_calibration.py"
|
||||
-' 1 0 ~/klipper/klippy/extras/z_offset_calibration.py
|
||||
|4,39,1,0,1706338170,"~/klipper/klippy/extras/z_offset_calibration.py"
|
||||
|
||||
# History of marks within files (newest to oldest):
|
||||
|
||||
> ~/usbmount/makerbase-automount
|
||||
* 1709022365 0
|
||||
" 45 0
|
||||
* 1710727785 0
|
||||
" 100 0
|
||||
^ 45 1
|
||||
. 45 0
|
||||
+ 17 0
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# HSTS 1.0 Known Hosts database for GNU Wget.
|
||||
# Edit at your own risk.
|
||||
# <hostname> <port> <incl. subdomains> <created> <max-age>
|
||||
github.com 0 1 1703496264 31536000
|
||||
github.com 0 1 1710234759 31536000
|
||||
@@ -60,10 +60,7 @@ class ScreenPanel:
|
||||
|
||||
def calibrateZoffset(self):
|
||||
self._screen.show_popup_message(f"calibrate Zoffset start!", 1)
|
||||
self._screen._ws.klippy.gcode_script("M117 Calibrate Zoffset")
|
||||
self._screen._ws.klippy.gcode_script("CALIBRATION_ZOFFSET")
|
||||
self._screen._ws.klippy.gcode_script("M23 /.zoffset_test.gcode")
|
||||
self._screen._ws.klippy.gcode_script("M24")
|
||||
self._screen._ws.klippy.gcode_script("_Delay_Calibrate")
|
||||
|
||||
def menu_item_clicked(self, widget, item):
|
||||
if item['panel'] == 'calibrateZoffset':
|
||||
|
||||
+642
@@ -0,0 +1,642 @@
|
||||
[gcode_macro BEEP]
|
||||
gcode:
|
||||
SET_PIN PIN=beeper VALUE=1
|
||||
G4 P10
|
||||
SET_PIN PIN=beeper VALUE=0
|
||||
|
||||
[gcode_macro _mainled_on]
|
||||
gcode:
|
||||
SET_PIN PIN=main_led VALUE=1
|
||||
|
||||
[gcode_macro _mainled_off]
|
||||
gcode:
|
||||
SET_PIN PIN=main_led VALUE=0
|
||||
|
||||
#--------------------------------------------------------------------#
|
||||
#--------------------------------------------------------------------#
|
||||
|
||||
[gcode_shell_command FACTORY_RESETS]
|
||||
command: /home/sovol/factory_resets.sh
|
||||
timeout: 2.
|
||||
|
||||
[gcode_macro _global_var]
|
||||
variable_pause_park:{'x': 0, 'y': 0, 'z': 10, 'e': 1}
|
||||
variable_cancel_park:{'x': 0, 'y': 350, 'z': 10, 'e': 1}
|
||||
variable_z_maximum_lifting_distance: 345
|
||||
variable_pause_resume_travel_speed: 100
|
||||
variable_bed_mesh_calibrate_target_temp: 65
|
||||
variable_load_filament_extruder_temp: 220
|
||||
gcode:
|
||||
|
||||
|
||||
[gcode_macro _ALL_FAN_OFF]
|
||||
gcode:
|
||||
M106 S0
|
||||
M107
|
||||
|
||||
[gcode_macro CLEAN_NOZZLE]
|
||||
gcode:
|
||||
{% if printer.toolhead.homed_axes != "xyz" %}
|
||||
G28
|
||||
{% endif %}
|
||||
G90
|
||||
G1 X348 Y0 Z0.2 F10000
|
||||
M117 Extruder heating...
|
||||
M109 S220
|
||||
G91
|
||||
G1 E20 F600
|
||||
G4 P1000
|
||||
G1 E-5
|
||||
G1 Z10 F300
|
||||
G90
|
||||
M104 S130
|
||||
M117 clean nozzle
|
||||
G1 X315 Y361 F10000
|
||||
G1 Z0.0 F300
|
||||
G1 X352 F5000
|
||||
G1 Y361 X324
|
||||
G1 Y361 X345
|
||||
G1 Y360 X324
|
||||
G1 Y360 X345
|
||||
G1 Y361 X324
|
||||
G1 Y361 X345
|
||||
G1 Y360 X324
|
||||
G1 Y360 X345
|
||||
G1 Y361 X324
|
||||
G1 Y361 X325
|
||||
G1 Y356 X324 Z5
|
||||
G1 Z0.0
|
||||
G1 Y361 X324
|
||||
G1 Y357 X326
|
||||
G1 Y361 X326
|
||||
G1 Y357 X328
|
||||
G1 Y361 X330
|
||||
G1 Y357 X332
|
||||
G1 Y361 X334
|
||||
G1 Y357 X336
|
||||
G1 Y361 X338
|
||||
G1 Y357 X340
|
||||
G1 Y361 X324
|
||||
G1 Y357 X326
|
||||
G1 Y361 X326
|
||||
G1 Y357 X328
|
||||
G1 Y361 X330
|
||||
G1 Y357 X332
|
||||
G1 Y361 X334
|
||||
G1 Y357 X336
|
||||
G1 Y361 X338
|
||||
M106 S255
|
||||
M117 Extruder cooling...
|
||||
M109 S130
|
||||
M107
|
||||
G91
|
||||
G1 Z10 F300
|
||||
G90
|
||||
G28 Z0
|
||||
|
||||
[gcode_macro _CALIBRATION_ZOFFSET]
|
||||
gcode:
|
||||
M117 Calibrate Offset
|
||||
QUAD_GANTRY_LEVEL
|
||||
M140 S65
|
||||
G4 P500
|
||||
CLEAN_NOZZLE
|
||||
G4 P500
|
||||
M117 zoffset calibration
|
||||
Z_OFFSET_CALIBRATION
|
||||
|
||||
[delayed_gcode _auto_zoffset]
|
||||
gcode:
|
||||
_CALIBRATION_ZOFFSET
|
||||
M23 /.zoffset_test.gcode
|
||||
M24
|
||||
|
||||
[gcode_macro _Delay_Calibrate]
|
||||
gcode:
|
||||
UPDATE_DELAYED_GCODE ID=_auto_zoffset DURATION=0.8
|
||||
|
||||
[gcode_macro QUAD_GANTRY_LEVEL]
|
||||
rename_existing:QUAD_GANTRY_LEVEL_BASE
|
||||
gcode:
|
||||
{% set mesh_name = "default" %}
|
||||
{% set mesh_calibrate_temp = printer['gcode_macro _global_var'].bed_mesh_calibrate_target_temp|int %}
|
||||
{% set current_target_temp = printer.heater_bed.target|int %}
|
||||
|
||||
{action_respond_info("Check Heating!")}
|
||||
{% if printer.heater_bed.temperature != mesh_calibrate_temp %}
|
||||
M140 S{mesh_calibrate_temp}
|
||||
{action_respond_info("The bed target temperature was not reached!")}
|
||||
{action_respond_info("Bed heating...")}
|
||||
M190 S{mesh_calibrate_temp}
|
||||
{% endif %}
|
||||
|
||||
{% if printer.toolhead.homed_axes|lower != "xyz" %}
|
||||
G28
|
||||
{% endif %}
|
||||
|
||||
QUAD_GANTRY_LEVEL_BASE
|
||||
|
||||
{% if current_target_temp == 0 %}
|
||||
M140 S0
|
||||
{% endif %}
|
||||
|
||||
|
||||
[gcode_macro PROBE_CALIBRATE]
|
||||
rename_existing:PROBE_CALIBRATE_BASE
|
||||
gcode:
|
||||
{% set current_target_temp = printer.heater_bed.target|int %}
|
||||
{% set z_offset_calibrate_temp = printer['gcode_macro _global_var'].bed_mesh_calibrate_target_temp|int %}
|
||||
|
||||
{action_respond_info("z_offset_calibrate")}
|
||||
{% if printer.heater_bed.temperature != z_offset_calibrate_temp %}
|
||||
M140 S{z_offset_calibrate_temp}
|
||||
{action_respond_info("The bed target temperature was not reached!")}
|
||||
{action_respond_info("Bed heating...")}
|
||||
M190 S{z_offset_calibrate_temp}
|
||||
{% endif %}
|
||||
|
||||
G28
|
||||
PROBE_CALIBRATE_BASE
|
||||
TESTZ z=-4
|
||||
|
||||
|
||||
[gcode_macro BED_MESH_CALIBRATE]
|
||||
rename_existing: BED_MESH_CALIBRATE_BASE
|
||||
gcode:
|
||||
|
||||
{% set mesh_name = "default" %}
|
||||
{% set mesh_calibrate_temp = printer['gcode_macro _global_var'].bed_mesh_calibrate_target_temp|int %}
|
||||
{% set current_target_temp = printer.heater_bed.target|int %}
|
||||
|
||||
{action_respond_info("Check Heating!")}
|
||||
{% if printer.heater_bed.temperature != mesh_calibrate_temp %}
|
||||
M140 S{mesh_calibrate_temp}
|
||||
{action_respond_info("The bed target temperature was not reached!")}
|
||||
{action_respond_info("Bed heating...")}
|
||||
M190 S{mesh_calibrate_temp}
|
||||
{% endif %}
|
||||
|
||||
{% if printer.toolhead.homed_axes|lower != "xyz" %}
|
||||
G28
|
||||
{% endif %}
|
||||
|
||||
BED_MESH_CLEAR
|
||||
|
||||
{% if params.ADAPTIVE|int == 1 %}
|
||||
BED_MESH_CALIBRATE_BASE ADAPTIVE=1
|
||||
{% else %}
|
||||
{action_respond_info("BED_MESH: Generate \"%s\"" % mesh_name)}
|
||||
BED_MESH_CALIBRATE_BASE
|
||||
BED_MESH_PROFILE SAVE={mesh_name}
|
||||
BED_MESH_PROFILE LOAD={mesh_name}
|
||||
{% endif %}
|
||||
|
||||
{% if current_target_temp == 0 %}
|
||||
M140 S0
|
||||
{% endif %}
|
||||
|
||||
[gcode_macro G34]
|
||||
gcode:
|
||||
BED_MESH_CLEAR
|
||||
{% if printer.toolhead.homed_axes|lower != "xyz" %}
|
||||
G28
|
||||
{% else %}
|
||||
G28 Z
|
||||
{% endif %}
|
||||
QUAD_GANTRY_LEVEL
|
||||
G28 Z
|
||||
G0 X175 Y175 Z30 F3600
|
||||
|
||||
[delayed_gcode bed_mesh_init]
|
||||
initial_duration: .01
|
||||
gcode:
|
||||
BED_MESH_PROFILE LOAD=default
|
||||
|
||||
[delayed_gcode _print_start_wait]
|
||||
gcode:
|
||||
{% if printer['gcode_macro START_PRINT'].state == 'Heating'%}
|
||||
{action_respond_info("Prepare->Heating!")}
|
||||
{% elif printer['gcode_macro START_PRINT'].state == 'Start' %}
|
||||
{action_respond_info("Heating->Start!")}
|
||||
{% endif %}
|
||||
|
||||
{% if printer['gcode_macro START_PRINT'].execute|lower != 'false' %}
|
||||
START_PRINT
|
||||
{% endif %}
|
||||
|
||||
|
||||
[gcode_macro START_PRINT]
|
||||
description:
|
||||
variable_state: 'Prepare'
|
||||
variable_record_extruder_temp:0
|
||||
variable_max_record_extruder_temp:0
|
||||
gcode:
|
||||
{% set mesh_name = "default" %}
|
||||
{% set mesh_calibrate_temp = printer['gcode_macro _global_var'].bed_mesh_calibrate_target_temp|int %}
|
||||
|
||||
{% set extruder_target_temp = printer.extruder.target|int %}
|
||||
|
||||
{% set bed_targer_temp = printer.heater_bed.target|int %}
|
||||
|
||||
M400
|
||||
|
||||
CLEAR_PAUSE
|
||||
|
||||
G90
|
||||
{% if state == 'Prepare' %}
|
||||
|
||||
{action_respond_info("Prepare!")}
|
||||
|
||||
{% if printer.toolhead.homed_axes|lower != "xyz" %}
|
||||
G28
|
||||
{% endif %}
|
||||
|
||||
{% if printer['filament_switch_sensor filament_sensor'].enable == True and
|
||||
printer['filament_switch_sensor filament_sensor'].filament_detected != True
|
||||
%}
|
||||
M117 No filament!!!
|
||||
{action_respond_info("Please Insert filament in Sensor!")}
|
||||
CANCEL_PRINT
|
||||
{% endif %}
|
||||
|
||||
{action_respond_info("Check Heating!")}
|
||||
|
||||
M140 S{bed_targer_temp}
|
||||
M104 S{extruder_target_temp}
|
||||
|
||||
{% if printer.heater_bed.temperature < bed_targer_temp %}
|
||||
M117 Bed heating...
|
||||
{action_respond_info("Bed heating...")}
|
||||
M190 S{bed_targer_temp}
|
||||
{% endif %}
|
||||
|
||||
{% if printer.extruder.temperature < extruder_target_temp %}
|
||||
M117 Extruder heating...
|
||||
{action_respond_info("Extruder heating...")}
|
||||
M109 S{extruder_target_temp}
|
||||
{% endif %}
|
||||
|
||||
{% if printer.quad_gantry_level.applied|lower != 'true' %}
|
||||
QUAD_GANTRY_LEVEL
|
||||
{% endif %}
|
||||
BED_MESH_CALIBRATE ADAPTIVE=1
|
||||
|
||||
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=state VALUE='"Start"'
|
||||
UPDATE_DELAYED_GCODE ID=_print_start_wait DURATION=0.5
|
||||
|
||||
{% elif state == 'Start' %}
|
||||
M117 Printing now!!!
|
||||
{action_respond_info("Start!")}
|
||||
{% endif %}
|
||||
|
||||
|
||||
|
||||
[gcode_macro END_PRINT]
|
||||
description:
|
||||
variable_state: 'normal'
|
||||
gcode:
|
||||
{% set z_max = printer['gcode_macro _global_var'].z_maximum_lifting_distance|int %}
|
||||
{% set e_mintemp = printer.configfile.settings['extruder'].min_extrude_temp %}
|
||||
|
||||
M400
|
||||
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=state VALUE='"Prepare"'
|
||||
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=record_extruder_temp VALUE=0
|
||||
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=max_record_extruder_temp VALUE=0
|
||||
|
||||
M117 Finish Print!!!
|
||||
G91
|
||||
{% if printer['filament_switch_sensor filament_sensor'].enable == True and
|
||||
printer['filament_switch_sensor filament_sensor'].filament_detected == True
|
||||
%}
|
||||
{% if (printer.extruder.target != 0 and printer.extruder.temperature >= printer.extruder.target) or
|
||||
printer.extruder.temperature >= e_mintemp
|
||||
%}
|
||||
G1 E-2 F2700
|
||||
G1 E-2 Z0.2 F2400
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{% if (printer.gcode_move.position.z + 10) < z_max %}
|
||||
G1 Z+10 F3000
|
||||
{% else %}
|
||||
G1 Z+{(z_max - printer.gcode_move.position.z)} F3000
|
||||
{% endif %}
|
||||
G90
|
||||
G1 X0 Y360
|
||||
|
||||
_ALL_FAN_OFF
|
||||
TURN_OFF_HEATERS
|
||||
|
||||
M84 X Y Z E
|
||||
|
||||
M220 S100
|
||||
M221 S100
|
||||
|
||||
CLEAR_PAUSE
|
||||
|
||||
{action_respond_info("Finish Print!")}
|
||||
|
||||
|
||||
[gcode_macro CANCEL_PRINT]
|
||||
description:
|
||||
rename_existing: CANCEL_PRINT_BASE
|
||||
gcode:pause
|
||||
{% set x_park = printer['gcode_macro _global_var'].cancel_park.x|float %}
|
||||
{% set y_park = printer['gcode_macro _global_var'].cancel_park.y|float %}
|
||||
{% set z_park = printer['gcode_macro _global_var'].cancel_park.z|float %}
|
||||
{% set z_lift_max = printer['gcode_macro _global_var'].z_maximum_lifting_distance %}
|
||||
{% set e_restract = printer['gcode_macro _global_var'].cancel_park.e|float %}
|
||||
{% set e_mintemp = printer.configfile.settings['extruder'].min_extrude_temp %}
|
||||
|
||||
CANCEL_PRINT_BASE
|
||||
|
||||
M117 Cancel Print!!!
|
||||
G91
|
||||
{% if printer['filament_switch_sensor filament_sensor'].enabled == True and
|
||||
printer['filament_switch_sensor filament_sensor'].filament_detected == True
|
||||
%}
|
||||
{% if (printer.extruder.target != 0 and printer.extruder.temperature >= printer.extruder.target) or
|
||||
printer.extruder.temperature >= e_mintemp
|
||||
%}
|
||||
G1 E-{e_restract} F500
|
||||
{% else %}
|
||||
{action_respond_info("Extruder not hot enough")}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{% if printer.pause_resume.is_paused == True %}
|
||||
{% if printer.gcode_move.position.x != x_park and
|
||||
printer.gcode_move.position.y != y_park
|
||||
%}
|
||||
{%if (printer.gcode_move.position.z + 10) < z_lift_max %}
|
||||
G1 Z+10 F3000
|
||||
{% else %}
|
||||
G1 Z+{(z_lift_max - printer.gcode_move.position.z)} F3000
|
||||
{% endif %}
|
||||
G90
|
||||
G1 X{x_park} Y{y_park} F6000
|
||||
{% endif %}
|
||||
{% else %}
|
||||
{% if "xyz" not in printer.toolhead.homed_axe %}
|
||||
{%if (printer.gcode_move.position.z + 10) < z_lift_max %}
|
||||
G1 Z+10 F3000
|
||||
{% else %}
|
||||
G1 Z+{(z_lift_max - printer.gcode_move.position.z)} F3000
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
G90
|
||||
G1 X{x_park} Y{y_park} F6000
|
||||
{% endif %}
|
||||
|
||||
TURN_OFF_HEATERS
|
||||
_ALL_FAN_OFF
|
||||
|
||||
CLEAR_PAUSE
|
||||
|
||||
|
||||
M117 Ready
|
||||
{action_respond_info("Cancel Print Success!")}
|
||||
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=state VALUE='"Prepare"'
|
||||
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=record_extruder_temp VALUE=0
|
||||
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=max_record_extruder_temp VALUE=0
|
||||
|
||||
|
||||
[gcode_macro PAUSE]
|
||||
rename_existing: PAUSE_BASE
|
||||
variable_state: 'normal'
|
||||
gcode:
|
||||
{% set x_park = printer['gcode_macro _global_var'].pause_park.x|float %}
|
||||
{% set y_park = printer['gcode_macro _global_var'].pause_park.y|float %}
|
||||
{% set e_restract = printer['gcode_macro _global_var'].pause_park.e|float %}
|
||||
{% set z_lift_max = printer['gcode_macro _global_var'].z_maximum_lifting_distance %}
|
||||
{% set extruder_temp = printer['gcode_macro _global_var'].load_filament_extruder_temp|int %}
|
||||
|
||||
{% set state = params.STATE if 'filament_change' in params.STATE else 'normal' %}
|
||||
|
||||
{action_respond_info("Pause Print!")}
|
||||
|
||||
PAUSE_BASE
|
||||
M117 Pause Print!!!
|
||||
G91
|
||||
{% if (printer.gcode_move.position.z + 5) < z_lift_max %}
|
||||
G1 Z+5 F3000
|
||||
{% else %}
|
||||
G1 Z+{(z_lift_max - printer.gcode_move.position.z)} F3000
|
||||
{% endif %}
|
||||
G90
|
||||
{% if printer.gcode_move.position.x != x_park and
|
||||
printer.gcode_move.position.y != y_park
|
||||
%}
|
||||
G1 X{x_park} Y{y_park} F{printer["gcode_macro _global_var"].pause_resume_travel_speed * 60}
|
||||
{% endif %}
|
||||
|
||||
M104 S{printer.extruder.target}
|
||||
|
||||
{% if state == 'normal' %}
|
||||
{% if (printer.extruder.temperature + 5 >= printer.extruder.target) and (printer.extruder.temperature >= printer.configfile.settings['extruder'].min_extrude_temp) %}
|
||||
{% if printer['filament_switch_sensor filament_sensor'].enabled == True and
|
||||
printer['filament_switch_sensor filament_sensor'].filament_detected == True
|
||||
%}
|
||||
G91
|
||||
G1 E-{e_restract} F300
|
||||
G90
|
||||
{% elif printer['filament_switch_sensor filament_sensor'].enabled == True and
|
||||
printer['filament_switch_sensor filament_sensor'].filament_detected != True %}
|
||||
G91
|
||||
G1 E+5 F300
|
||||
G90
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% elif state == 'filament_change' %}
|
||||
{% if (printer.extruder.temperature + 5 >= printer.extruder.target) and (printer.extruder.temperature >= printer.configfile.settings['extruder'].min_extrude_temp) %}
|
||||
G91
|
||||
G1 E+5 F300
|
||||
G1 E-50 F300
|
||||
G1 E-30 F300
|
||||
G90
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
|
||||
[delayed_gcode _resume_wait]
|
||||
gcode:
|
||||
{% if printer['gcode_macro RESUME'].execute|lower != 'false' %}
|
||||
RESUME
|
||||
{% endif %}
|
||||
|
||||
|
||||
[gcode_macro RESUME]
|
||||
description: Pause the actual running print
|
||||
rename_existing: RESUME_BASE
|
||||
variable_state: 'normal'
|
||||
gcode:
|
||||
{% set e_restract = printer['gcode_macro _global_var'].pause_park.e|float %}
|
||||
{% set extruder_temp = printer['gcode_macro _global_var'].load_filament_extruder_temp|int %}
|
||||
{% set extruder_target_temp = printer.extruder.target|int %}
|
||||
|
||||
{% set state = params.STATE if 'filament_change' in params.STATE else 'normal' %}
|
||||
|
||||
{% if state == 'filament_change' %}
|
||||
{% if printer["filament_switch_sensor filament_sensor"].enable == True and
|
||||
printer["filament_switch_sensor filament_sensor"].filament_detected != True
|
||||
%}
|
||||
{action_respond_info("Please Insert filament in Sensor!")}
|
||||
{% else %}
|
||||
{% if printer.extruder.temperature + 5 >= printer.extruder.target %}
|
||||
G91
|
||||
G1 E30 F300
|
||||
G1 E10 F150
|
||||
G90
|
||||
{% else %}
|
||||
M140 S{extruder_target_temp}
|
||||
{action_respond_info("Extruder not hot enough!")}
|
||||
{action_respond_info("Extruder heating...")}
|
||||
M190 S{extruder_target_temp}
|
||||
G91
|
||||
G1 E30 F300
|
||||
G1 E10 F150
|
||||
G90
|
||||
{% endif %}
|
||||
{action_respond_info("Print resumming!")}
|
||||
RESUME_BASE
|
||||
{% endif %}
|
||||
{% elif state == 'normal' %}
|
||||
{% if printer['filament_switch_sensor filament_sensor'].enable != True and
|
||||
printer['filament_switch_sensor filament_sensor'].filament_detected != True
|
||||
%}
|
||||
{action_respond_info("Please Insert filament in Sensor!")}
|
||||
{% else %}
|
||||
{action_respond_info("Print resumming!")}
|
||||
G91
|
||||
G1 E{e_restract} F300
|
||||
G90
|
||||
M117 Printing now!!!
|
||||
RESUME_BASE
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
|
||||
[gcode_macro LOAD_FILAMENT]
|
||||
gcode:
|
||||
{% set extruder_temp = printer['gcode_macro _global_var'].load_filament_extruder_temp|int %}
|
||||
{% set current_target_temp = printer.extruder.target|int %}
|
||||
|
||||
|
||||
{% if printer.print_stats.state != "printing" %}
|
||||
{% if printer.extruder.target != 0 %}
|
||||
{% if printer.extruder.target < 150 %}
|
||||
M104 S{extruder_temp}
|
||||
{action_respond_info("Extruder not hot enough!")}
|
||||
{action_respond_info("Extruder heating...")}
|
||||
M109 S{extruder_temp}
|
||||
{% elif printer.extruder.target > 150 %}
|
||||
M104 S{printer.extruder.target}
|
||||
{action_respond_info("Extruder not hot enough!")}
|
||||
{action_respond_info("Extruder heating...")}
|
||||
M109 S{printer.extruder.target}
|
||||
{% endif %}
|
||||
G91
|
||||
G1 E40 F200
|
||||
G1 E30 F150
|
||||
G90
|
||||
{% elif printer.extruder.target == 0 %}
|
||||
M104 S{extruder_temp}
|
||||
{% if printer.extruder.temperature < extruder_temp %}
|
||||
{action_respond_info("Extruder not hot enough!")}
|
||||
{action_respond_info("Extruder heating...")}
|
||||
M109 S{extruder_temp}
|
||||
{% endif %}
|
||||
G91
|
||||
G1 E40 F200
|
||||
G1 E30 F150
|
||||
G90
|
||||
{% endif %}
|
||||
|
||||
M400
|
||||
{% if current_target_temp == 0 %}
|
||||
M104 S0
|
||||
{% endif %}
|
||||
{% else %}
|
||||
{action_respond_info("Don't load filament during printing!!!")}
|
||||
{% endif %}
|
||||
|
||||
|
||||
[gcode_macro UNLOAD_FILAMENT]
|
||||
gcode:
|
||||
{% set extruder_temp = printer['gcode_macro _global_var'].load_filament_extruder_temp|int %}
|
||||
{% set current_target_temp = printer.extruder.target|int %}
|
||||
|
||||
{% if printer.print_stats.state != "printing" %}
|
||||
{% if printer.extruder.target != 0 %}
|
||||
{% if printer.extruder.target < 150 %}
|
||||
M104 S150
|
||||
{action_respond_info("Extruder not hot enough!")}
|
||||
{action_respond_info("Extruder heating...")}
|
||||
M109 S{extruder_temp}
|
||||
{% elif printer.extruder.target > 150 %}
|
||||
M104 S{printer.extruder.target}
|
||||
{action_respond_info("Extruder not hot enough!")}
|
||||
{action_respond_info("Extruder heating...")}
|
||||
M109 S{current_target_temp}
|
||||
{% endif %}
|
||||
G91
|
||||
G1 E+5 F300
|
||||
G1 E-50 F300
|
||||
G1 E-30 F300
|
||||
G90
|
||||
{% elif printer.extruder.target == 0 %}
|
||||
M104 S{extruder_temp}
|
||||
{% if printer.extruder.temperature < extruder_temp %}
|
||||
{action_respond_info("Extruder not hot enough!")}
|
||||
{action_respond_info("Extruder heating...")}
|
||||
M109 S{extruder_temp}
|
||||
{% endif %}
|
||||
G91
|
||||
G1 E+5 F300
|
||||
G1 E-50 F300
|
||||
G1 E-30 F300
|
||||
G90
|
||||
{% endif %}
|
||||
|
||||
M400
|
||||
|
||||
{% if current_target_temp == 0 %}
|
||||
M104 S0
|
||||
{% endif %}
|
||||
{% else %}
|
||||
{action_respond_info("Don't unload filament during printing!!!")}
|
||||
{% endif %}
|
||||
|
||||
[gcode_macro M109]
|
||||
rename_existing: M99109
|
||||
gcode:
|
||||
{% set s = params.S|float %}
|
||||
M104 {% for p in params %}{'%s%s' % (p, params[p])}{% endfor %}
|
||||
{% if s != 0 %}
|
||||
TEMPERATURE_WAIT SENSOR=extruder MINIMUM={s-1} MAXIMUM={s+1}
|
||||
{% endif %}
|
||||
|
||||
[gcode_macro M190]
|
||||
|
||||
rename_existing: M99190
|
||||
gcode:
|
||||
{% set s = params.S|float %}
|
||||
M140 {% for p in params %}{'%s%s' % (p, params[p])}{% endfor %}
|
||||
{% if s != 0 %}
|
||||
TEMPERATURE_WAIT SENSOR=heater_bed MINIMUM={s-1} MAXIMUM={s+1}
|
||||
{% endif %}
|
||||
|
||||
[gcode_macro M600]
|
||||
gcode:
|
||||
PAUSE STATE=filament_change
|
||||
|
||||
|
||||
[gcode_macro _plr_temperature_wait]
|
||||
gcode:
|
||||
{% set extruder_target_temp = printer.extruder.target|int %}
|
||||
{% set bed_targer_temp = printer.heater_bed.target|int %}
|
||||
|
||||
M190 S{bed_targer_temp}
|
||||
M109 S{extruder_target_temp}
|
||||
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
#### crowsnest.conf
|
||||
#### This is a typical default config.
|
||||
#### Also used as default in mainsail / MainsailOS
|
||||
#### See:
|
||||
#### https://github.com/mainsail-crew/crowsnest/blob/master/README.md
|
||||
#### for details to configure to your needs.
|
||||
|
||||
|
||||
#####################################################################
|
||||
#### #####
|
||||
#### Information about ports and according URL's #####
|
||||
#### #####
|
||||
#####################################################################
|
||||
#### #####
|
||||
#### Port 8080 equals /webcam/?action=[stream/snapshot] #####
|
||||
#### Port 8081 equals /webcam2/?action=[stream/snapshot] #####
|
||||
#### Port 8082 equals /webcam3/?action=[stream/snapshot] #####
|
||||
#### Port 8083 equals /webcam4/?action=[stream/snapshot] #####
|
||||
#### #####
|
||||
#####################################################################
|
||||
#### RTSP Stream URL: ( if enabled and supported ) #####
|
||||
#### rtsp://<ip>:<rtsp_port>/stream.h264 #####
|
||||
#####################################################################
|
||||
|
||||
|
||||
[crowsnest]
|
||||
log_path: /home/sovol/printer_data/logs/crowsnest.log
|
||||
log_level: verbose # Valid Options are quiet/verbose/debug
|
||||
delete_log: false # Deletes log on every restart, if set to true
|
||||
no_proxy: false
|
||||
|
||||
[cam 1]
|
||||
mode: ustreamer # ustreamer - Provides mjpg and snapshots. (All devices)
|
||||
# camera-streamer - Provides webrtc, mjpg and snapshots. (rpi + Raspi OS based only)
|
||||
enable_rtsp: false # If camera-streamer is used, this enables also usage of an rtsp server
|
||||
rtsp_port: 8554 # Set different ports for each device!
|
||||
port: 8080 # HTTP/MJPG Stream/Snapshot Port
|
||||
device: /dev/video0 # See Log for available ...
|
||||
resolution: 1920x1080 # widthxheight format
|
||||
max_fps: 15 # If Hardware Supports this it will be forced, otherwise ignored/coerced.
|
||||
#custom_flags: # You can run the Stream Services with custom flags.
|
||||
#v4l2ctl: # Add v4l2-ctl parameters to setup your camera, see Log what your cam is capable of.
|
||||
@@ -0,0 +1,8 @@
|
||||
[gcode_shell_command get_ip]
|
||||
command: /home/sovol/get_ip.sh
|
||||
timeout: 2.
|
||||
verbose: True
|
||||
[gcode_macro _GET_IP]
|
||||
gcode:
|
||||
RUN_SHELL_COMMAND CMD=get_ip
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
/home/sovol/mainsail-config/client.cfg
|
||||
@@ -0,0 +1,43 @@
|
||||
[server]
|
||||
host: 0.0.0.0
|
||||
port: 7125
|
||||
klippy_uds_address: /home/sovol/printer_data/comms/klippy.sock
|
||||
|
||||
[authorization]
|
||||
trusted_clients:
|
||||
172.17.0.0/16
|
||||
10.0.0.0/8
|
||||
127.0.0.0/8
|
||||
169.254.0.0/16
|
||||
172.16.0.0/12
|
||||
192.168.0.0/16
|
||||
FE80::/10
|
||||
::1/128
|
||||
cors_domains:
|
||||
*.lan
|
||||
*.local
|
||||
*://localhost
|
||||
*://localhost:*
|
||||
*://my.mainsail.xyz
|
||||
*://app.fluidd.xyz
|
||||
|
||||
[octoprint_compat]
|
||||
|
||||
[history]
|
||||
|
||||
#[update_manager]
|
||||
#channel: dev
|
||||
#refresh_interval: 168
|
||||
|
||||
[timelapse]
|
||||
output_path: ~/printer_data/timelapse/
|
||||
frame_path: /tmp/timelapse/printer
|
||||
autorender: False
|
||||
|
||||
# Crowsnest update_manager entry
|
||||
#[update_manager crowsnest]
|
||||
#type: git_repo
|
||||
#path: ~/crowsnest
|
||||
#origin: https://github.com/mainsail-crew/crowsnest.git
|
||||
#managed_services: crowsnest
|
||||
#install_script: tools/pkglist.sh
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
[server]
|
||||
host: 0.0.0.0
|
||||
port: 7125
|
||||
klippy_uds_address: /home/sovol/printer_data/comms/klippy.sock
|
||||
|
||||
[authorization]
|
||||
trusted_clients:
|
||||
172.17.0.0/16
|
||||
10.0.0.0/8
|
||||
127.0.0.0/8
|
||||
169.254.0.0/16
|
||||
172.16.0.0/12
|
||||
192.168.0.0/16
|
||||
FE80::/10
|
||||
::1/128
|
||||
cors_domains:
|
||||
*.lan
|
||||
*.local
|
||||
*://localhost
|
||||
*://localhost:*
|
||||
*://my.mainsail.xyz
|
||||
*://app.fluidd.xyz
|
||||
|
||||
[octoprint_compat]
|
||||
|
||||
[history]
|
||||
|
||||
[update_manager]
|
||||
channel: dev
|
||||
refresh_interval: 168
|
||||
|
||||
[timelapse]
|
||||
output_path: ~/printer_data/timelapse/
|
||||
frame_path: /tmp/timelapse/printer
|
||||
@@ -0,0 +1,74 @@
|
||||
[force_move]
|
||||
enable_force_move: True
|
||||
|
||||
|
||||
[respond]
|
||||
default_type: echo
|
||||
|
||||
|
||||
[gcode_macro G31]
|
||||
gcode:
|
||||
RUN_SHELL_COMMAND CMD=clear_plr
|
||||
SAVE_VARIABLE VARIABLE=was_interrupted VALUE=False
|
||||
|
||||
[gcode_macro PRINT_START]
|
||||
gcode:
|
||||
SAVE_VARIABLE VARIABLE=was_interrupted VALUE=True
|
||||
|
||||
[gcode_macro PRINT_END]
|
||||
gcode:
|
||||
SAVE_VARIABLE VARIABLE=was_interrupted VALUE=False
|
||||
RUN_SHELL_COMMAND CMD=clear_plr
|
||||
clear_last_file
|
||||
|
||||
[gcode_shell_command clear_plr]
|
||||
command: sh /home/sovol/clear_plr.sh
|
||||
timeout: 5.
|
||||
|
||||
[gcode_shell_command SYNC]
|
||||
command: sync
|
||||
timeout: 2.
|
||||
|
||||
[gcode_macro save_last_file]
|
||||
gcode:
|
||||
|
||||
{% set svv = printer.save_variables.variables %}
|
||||
|
||||
{% set filepath=printer.virtual_sdcard.file_path %}
|
||||
|
||||
{% set filename=filepath.split('/')%}
|
||||
|
||||
SAVE_VARIABLE VARIABLE=last_file VALUE='"{ filename[-1] }"'
|
||||
SAVE_VARIABLE VARIABLE=filepath VALUE='"{ printer.virtual_sdcard.file_path }"'
|
||||
RUN_SHELL_COMMAND CMD=SYNC
|
||||
|
||||
#M118 Last File: { filename[-1] }
|
||||
|
||||
[gcode_macro clear_last_file]
|
||||
gcode:
|
||||
{% set filename='default' %}
|
||||
{% set filepath='default' %}
|
||||
SAVE_VARIABLE VARIABLE=last_file VALUE='"{ filename }"'
|
||||
SAVE_VARIABLE VARIABLE=filepath VALUE='"{ filepath }"'
|
||||
|
||||
[gcode_shell_command POWER_LOSS_RESUME]
|
||||
command: /home/sovol/plr.sh
|
||||
timeout: 420.
|
||||
|
||||
[gcode_macro RESUME_INTERRUPTED]
|
||||
gcode =
|
||||
SET_KINEMATIC_POSITION X=0
|
||||
SET_KINEMATIC_POSITION Y=0
|
||||
SET_KINEMATIC_POSITION Z=0
|
||||
{% set z_height = params.Z_HEIGHT|default(printer.save_variables.variables.power_resume_z)|float %}
|
||||
{% set last_file = params.GCODE_FILE|default(printer.save_variables.variables.last_file)|string %}
|
||||
m118 {last_file}
|
||||
|
||||
RUN_SHELL_COMMAND CMD=POWER_LOSS_RESUME PARAMS="{z_height} \"{last_file}\""
|
||||
SDCARD_PRINT_FILE FILENAME=plr/"{last_file}"
|
||||
|
||||
[gcode_macro LOG_Z]
|
||||
gcode:
|
||||
{% set z_pos = printer.gcode_move.gcode_position.z %}
|
||||
RESPOND MSG="Current Z is {z_pos}"
|
||||
SAVE_VARIABLE VARIABLE=power_resume_z VALUE={z_pos}
|
||||
+444
@@ -0,0 +1,444 @@
|
||||
[include timelapse.cfg]
|
||||
[include get_ip.cfg]
|
||||
[include Macro.cfg]
|
||||
|
||||
|
||||
[mcu]
|
||||
serial: /dev/serial/by-id/usb-Klipper_stm32f103xe_34FFD805334B433038781551-if00
|
||||
restart_method: command
|
||||
|
||||
[mcu extra_mcu]
|
||||
serial: /dev/serial/by-id/usb-Klipper_stm32f103xe_52FF6A064885875218371367-if00
|
||||
restart_method: command
|
||||
|
||||
|
||||
[adxl345]
|
||||
cs_pin:extra_mcu:PB12
|
||||
|
||||
[exclude_object]
|
||||
|
||||
[resonance_tester]
|
||||
accel_chip: adxl345
|
||||
probe_points:
|
||||
175, 175, 30 # an example175 Y175 Z30
|
||||
accel_per_hz:50
|
||||
min_freq:1
|
||||
max_freq:100
|
||||
max_smoothing:0.2
|
||||
hz_per_sec:0.5
|
||||
|
||||
[temperature_sensor mcu_temp]
|
||||
sensor_type: temperature_mcu
|
||||
min_temp:0
|
||||
max_temp:100
|
||||
|
||||
[temperature_sensor Host_temp]
|
||||
sensor_type: temperature_host
|
||||
min_temp: 0
|
||||
max_temp: 110
|
||||
|
||||
[temperature_sensor Toolhead_Temp]
|
||||
sensor_type: temperature_mcu
|
||||
sensor_mcu: extra_mcu
|
||||
|
||||
[virtual_sdcard]
|
||||
path:/home/sovol/printer_data/gcodes/
|
||||
|
||||
[pause_resume]
|
||||
|
||||
[printer]
|
||||
kinematics: corexy
|
||||
max_velocity: 700
|
||||
max_accel: 40000
|
||||
max_accel_to_decel: 10000
|
||||
max_z_velocity: 20
|
||||
max_z_accel: 500
|
||||
square_corner_velocity: 5.0
|
||||
|
||||
[input_shaper]
|
||||
damping_ratio_x: 0.001
|
||||
damping_ratio_y: 0.001
|
||||
shaper_type_x = mzv
|
||||
shaper_freq_x = 35
|
||||
shaper_type_y = mzv
|
||||
shaper_freq_y = 35
|
||||
|
||||
[probe]
|
||||
pin: extra_mcu:PB6
|
||||
x_offset: -17
|
||||
y_offset: 10
|
||||
#z_offset : 0
|
||||
speed: 15.0
|
||||
speed: 5.0
|
||||
samples: 2
|
||||
sample_retract_dist: 2.0
|
||||
lift_speed: 50
|
||||
samples_result: average
|
||||
samples_tolerance: 0.016
|
||||
samples_tolerance_retries: 2
|
||||
|
||||
|
||||
[probe_pressure]
|
||||
pin: ^!PE12
|
||||
x_offset: 0
|
||||
y_offset: 0
|
||||
z_offset : 0
|
||||
speed: 1.0
|
||||
|
||||
[homing_override]
|
||||
gcode:
|
||||
{% if not 'Z' in params and not 'Y' in params and 'X' in params %}
|
||||
G28 X
|
||||
G0 X348 F1200
|
||||
{% elif not 'Z' in params and not 'X' in params and 'Y' in params %}
|
||||
G28 Y
|
||||
G0 Y360 F1200
|
||||
{% elif not 'Z' in params and 'X' in params and 'Y' in params %}
|
||||
G28 Y
|
||||
G0 Y360 F1200
|
||||
G4 P2000
|
||||
G28 X
|
||||
G0 X348 F1200
|
||||
{% elif 'Z' in params and not 'X' in params and not 'Y' in params %}
|
||||
G90
|
||||
G0 X191 Y165 F3600
|
||||
G28 Z
|
||||
G0 Z10 F600
|
||||
{% else %}
|
||||
G90
|
||||
G0 Z5 F300
|
||||
G28 Y
|
||||
G0 Y360 F1200
|
||||
G4 P2000
|
||||
G28 X
|
||||
G0 X348 F1200
|
||||
G90
|
||||
G0 X191 Y165 F3600
|
||||
G28 Z
|
||||
G0 Z10 F600
|
||||
{% endif %}
|
||||
axes: xyz
|
||||
set_position_z: 0
|
||||
|
||||
[bed_mesh]
|
||||
speed: 500
|
||||
horizontal_move_z: 5
|
||||
mesh_min: 10,10
|
||||
mesh_max: 333,340
|
||||
probe_count: 9,9
|
||||
algorithm: bicubic
|
||||
bicubic_tension: 0.4
|
||||
split_delta_z: 0.016
|
||||
mesh_pps:3,3
|
||||
adaptive_margin: 5
|
||||
fade_start: 0
|
||||
fade_end: 10
|
||||
fade_target: 0
|
||||
|
||||
[quad_gantry_level]
|
||||
gantry_corners:
|
||||
-60,-10
|
||||
410,420
|
||||
points:
|
||||
36,10
|
||||
36,320
|
||||
346,320
|
||||
346,10
|
||||
speed: 400
|
||||
horizontal_move_z: 5
|
||||
retry_tolerance: 0.05
|
||||
retries: 5
|
||||
max_adjust: 10
|
||||
|
||||
[z_offset_calibration]
|
||||
center_xy_position:191,165
|
||||
endstop_xy_position:289,361
|
||||
z_hop: 10
|
||||
z_hop_speed: 15
|
||||
|
||||
[stepper_x]
|
||||
step_pin: PE2
|
||||
dir_pin: !PE0
|
||||
enable_pin: !PE3
|
||||
rotation_distance: 40
|
||||
microsteps: 16
|
||||
full_steps_per_rotation:200
|
||||
endstop_pin: tmc2209_stepper_x: virtual_endstop
|
||||
position_min: 0
|
||||
position_endstop: 355
|
||||
position_max: 355
|
||||
homing_speed: 30
|
||||
homing_retract_dist: 0
|
||||
homing_positive_dir: True
|
||||
#--------------------------------------------------------------------
|
||||
[tmc2209 stepper_x]
|
||||
uart_pin: PE1
|
||||
interpolate: True
|
||||
run_current: 1.5
|
||||
hold_current: 1.5
|
||||
sense_resistor: 0.150
|
||||
stealthchop_threshold: 0
|
||||
uart_address:3
|
||||
driver_sgthrs: 65
|
||||
diag_pin: PE15
|
||||
|
||||
[stepper_y]
|
||||
step_pin: PB8
|
||||
dir_pin: !PB6
|
||||
enable_pin: !PB9
|
||||
rotation_distance: 40
|
||||
microsteps: 16
|
||||
full_steps_per_rotation:200
|
||||
endstop_pin: tmc2209_stepper_y: virtual_endstop
|
||||
position_min: 0
|
||||
position_endstop: 364
|
||||
position_max: 364
|
||||
homing_speed: 30
|
||||
homing_retract_dist: 0
|
||||
homing_positive_dir: true
|
||||
#--------------------------------------------------------------------
|
||||
[tmc2209 stepper_y]
|
||||
uart_pin: PB7
|
||||
interpolate: True
|
||||
run_current: 1.5
|
||||
hold_current: 1.5
|
||||
sense_resistor: 0.150
|
||||
stealthchop_threshold: 0
|
||||
uart_address:3
|
||||
driver_sgthrs: 65
|
||||
diag_pin: PE13
|
||||
|
||||
[stepper_z] #motherboard:Z3
|
||||
step_pin:PC0
|
||||
dir_pin:PE5
|
||||
enable_pin:!PC1
|
||||
rotation_distance: 40
|
||||
gear_ratio: 80:12
|
||||
microsteps: 16
|
||||
endstop_pin: probe:z_virtual_endstop
|
||||
position_max: 347
|
||||
position_min: -5
|
||||
#position_endstop: 0
|
||||
homing_speed: 15.0
|
||||
homing_retract_dist: 5.0
|
||||
homing_retract_speed: 15.0
|
||||
second_homing_speed: 10.0
|
||||
|
||||
[tmc2209 stepper_z]
|
||||
uart_pin: PE6
|
||||
interpolate: true
|
||||
run_current: 0.58
|
||||
hold_current: 0.58
|
||||
sense_resistor: 0.150
|
||||
stealthchop_threshold: 999999
|
||||
uart_address:3
|
||||
|
||||
[stepper_z1] ##motherboard:Z1
|
||||
step_pin:PD3
|
||||
dir_pin:!PD1
|
||||
enable_pin:!PD4
|
||||
rotation_distance: 40
|
||||
gear_ratio: 80:12
|
||||
microsteps: 16
|
||||
|
||||
[tmc2209 stepper_z1]
|
||||
uart_pin:PD2
|
||||
interpolate: true
|
||||
run_current: 0.58
|
||||
hold_current: 0.58
|
||||
sense_resistor: 0.150
|
||||
stealthchop_threshold: 999999
|
||||
uart_address:3
|
||||
|
||||
[stepper_z2] ##motherboard:Z2
|
||||
step_pin:PD7
|
||||
dir_pin:PD5
|
||||
enable_pin:!PB5
|
||||
rotation_distance: 40
|
||||
gear_ratio: 80:12
|
||||
microsteps: 16
|
||||
|
||||
[tmc2209 stepper_z2]
|
||||
uart_pin:PD6
|
||||
interpolate: true
|
||||
run_current: 0.58
|
||||
hold_current: 0.58
|
||||
sense_resistor: 0.150
|
||||
stealthchop_threshold: 999999
|
||||
uart_address:3
|
||||
|
||||
[stepper_z3] ##motherboard:Z4
|
||||
step_pin:PD11
|
||||
dir_pin:!PD9
|
||||
enable_pin:!PD12
|
||||
rotation_distance: 40
|
||||
gear_ratio: 80:12
|
||||
microsteps: 16
|
||||
|
||||
[tmc2209 stepper_z3]
|
||||
uart_pin:PD10
|
||||
interpolate: true
|
||||
run_current: 0.58
|
||||
hold_current: 0.58
|
||||
sense_resistor: 0.150
|
||||
uart_address:3
|
||||
stealthchop_threshold: 999999
|
||||
|
||||
[thermistor my_thermistor_e]
|
||||
temperature1:25
|
||||
resistance1:110000
|
||||
temperature2:100
|
||||
resistance2:7008
|
||||
temperature3:220
|
||||
resistance3:435
|
||||
|
||||
[extruder]
|
||||
step_pin: extra_mcu:PA8
|
||||
dir_pin: extra_mcu:PB8
|
||||
enable_pin:!extra_mcu: PB11
|
||||
rotation_distance: 6.5
|
||||
microsteps: 16
|
||||
full_steps_per_rotation: 200
|
||||
nozzle_diameter: 0.400
|
||||
filament_diameter: 1.75
|
||||
heater_pin:extra_mcu:PB9
|
||||
sensor_type:my_thermistor_e
|
||||
pullup_resistor: 11500
|
||||
sensor_pin: extra_mcu:PA5
|
||||
min_temp: 5
|
||||
max_temp: 305
|
||||
max_power: 1.0
|
||||
min_extrude_temp: 150
|
||||
control : pid
|
||||
pid_kp : 33.838
|
||||
pid_ki : 5.223
|
||||
pid_kd : 47.752
|
||||
pressure_advance: 0.025
|
||||
pressure_advance_smooth_time: 0.035
|
||||
|
||||
[tmc2209 extruder]
|
||||
uart_pin: extra_mcu:PB10
|
||||
interpolate: True
|
||||
run_current: 0.6
|
||||
hold_current: 0.6
|
||||
uart_address:3
|
||||
sense_resistor: 0.150
|
||||
stealthchop_threshold: 999999
|
||||
|
||||
[verify_heater extruder]
|
||||
max_error: 120
|
||||
check_gain_time:30
|
||||
hysteresis: 5
|
||||
heating_gain: 2
|
||||
|
||||
[filament_switch_sensor filament_sensor]
|
||||
pause_on_runout: True
|
||||
event_delay: 3.0
|
||||
pause_delay: 0.5
|
||||
switch_pin: PE9
|
||||
|
||||
[thermistor my_thermistor]
|
||||
temperature1:25
|
||||
resistance1:100000
|
||||
temperature2:50
|
||||
resistance2:18085.4
|
||||
temperature3:100
|
||||
resistance3:4762.6
|
||||
|
||||
[heater_bed]
|
||||
heater_pin:PA0
|
||||
sensor_type: my_thermistor
|
||||
sensor_pin: PC5
|
||||
max_power: 1.0
|
||||
min_temp: 5
|
||||
max_temp: 105
|
||||
control : pid
|
||||
pid_kp : 73.571
|
||||
pid_ki : 1.820
|
||||
pid_kd : 783.849
|
||||
|
||||
[verify_heater heater_bed]
|
||||
max_error: 120
|
||||
check_gain_time:40
|
||||
hysteresis: 5
|
||||
heating_gain: 2
|
||||
|
||||
[multi_pin fan_pins]
|
||||
pins: extra_mcu:PA7, extra_mcu:PB1
|
||||
|
||||
[fan]
|
||||
pin:multi_pin: fan_pins
|
||||
max_power: 1.0
|
||||
|
||||
[heater_fan hotend_fan]
|
||||
pin: extra_mcu:PA6
|
||||
max_power: 1.0
|
||||
kick_start_time: 0.5
|
||||
heater: extruder
|
||||
heater_temp: 45
|
||||
tachometer_pin:extra_mcu:PA1
|
||||
tachometer_ppr: 1
|
||||
tachometer_poll_interval: 0.0013
|
||||
|
||||
[board_pins]
|
||||
aliases:
|
||||
# EXP1 header
|
||||
EXP1_1=PA8, EXP1_2=PC9,
|
||||
EXP1_3=PA10, EXP1_4=PA9,
|
||||
EXP1_5=PC11, EXP1_6=PC10,
|
||||
EXP1_7=PD8, EXP1_8=PC12,
|
||||
EXP1_9=<GND>, EXP1_10=<5V>,
|
||||
|
||||
# EXP2 header
|
||||
EXP2_1=PB14, EXP2_2=PB13,
|
||||
EXP2_3=PC7, EXP2_4=PB12,
|
||||
EXP2_5=PC6, EXP2_6=PB15,
|
||||
EXP2_7=PC8, EXP2_8=<RST>,
|
||||
EXP2_9=<GND>, EXP2_10=<5V>
|
||||
|
||||
[display]
|
||||
lcd_type: uc1701
|
||||
cs_pin: EXP1_3
|
||||
a0_pin: EXP1_4
|
||||
rst_pin: EXP1_5
|
||||
encoder_pins: ^EXP2_5, ^EXP2_3
|
||||
click_pin: ^!EXP1_2
|
||||
contrast: 63
|
||||
spi_software_miso_pin: EXP2_1
|
||||
spi_software_mosi_pin: EXP2_6
|
||||
spi_software_sclk_pin: EXP2_2
|
||||
|
||||
[output_pin beeper]
|
||||
pin: EXP1_1
|
||||
pwm: False
|
||||
value: 0
|
||||
|
||||
[neopixel Screen_Colour]
|
||||
pin: EXP1_6
|
||||
chain_count: 3
|
||||
color_order: RGB
|
||||
initial_RED: 0.5
|
||||
initial_GREEN: 0.4
|
||||
initial_BLUE: 0.7
|
||||
|
||||
[gcode_arcs]
|
||||
resolution: 1.0
|
||||
|
||||
[output_pin main_led]
|
||||
pin:PA3
|
||||
pwm: 1
|
||||
value:1
|
||||
cycle_time: 5
|
||||
|
||||
[idle_timeout]
|
||||
gcode: RESPOND TYPE=echo MSG="No operations in 10min!"
|
||||
timeout: 600
|
||||
|
||||
[save_variables]
|
||||
filename =/home/sovol/printer_data/config/saved_variables.cfg
|
||||
|
||||
#*# <---------------------- SAVE_CONFIG ---------------------->
|
||||
#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated.
|
||||
#*#
|
||||
#*# [probe]
|
||||
#*# z_offset = 1.0
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
[Variables]
|
||||
filepath = ''
|
||||
last_file = ''
|
||||
power_resume_z = 5.0
|
||||
was_interrupted = False
|
||||
offsetadjust = 0
|
||||
@@ -0,0 +1,7 @@
|
||||
[gcode_shell_command hello_world]
|
||||
command: echo hello world
|
||||
timeout: 2.
|
||||
verbose: True
|
||||
[gcode_macro HELLO_WORLD]
|
||||
gcode:
|
||||
RUN_SHELL_COMMAND CMD=hello_world
|
||||
@@ -0,0 +1 @@
|
||||
/home/sovol/moonraker-timelapse/klipper_macro/timelapse.cfg
|
||||
+642
@@ -0,0 +1,642 @@
|
||||
[gcode_macro BEEP]
|
||||
gcode:
|
||||
SET_PIN PIN=beeper VALUE=1
|
||||
G4 P10
|
||||
SET_PIN PIN=beeper VALUE=0
|
||||
|
||||
[gcode_macro _mainled_on]
|
||||
gcode:
|
||||
SET_PIN PIN=main_led VALUE=1
|
||||
|
||||
[gcode_macro _mainled_off]
|
||||
gcode:
|
||||
SET_PIN PIN=main_led VALUE=0
|
||||
|
||||
#--------------------------------------------------------------------#
|
||||
#--------------------------------------------------------------------#
|
||||
|
||||
[gcode_shell_command FACTORY_RESETS]
|
||||
command: /home/sovol/factory_resets.sh
|
||||
timeout: 2.
|
||||
|
||||
[gcode_macro _global_var]
|
||||
variable_pause_park:{'x': 0, 'y': 0, 'z': 10, 'e': 1}
|
||||
variable_cancel_park:{'x': 0, 'y': 350, 'z': 10, 'e': 1}
|
||||
variable_z_maximum_lifting_distance: 345
|
||||
variable_pause_resume_travel_speed: 100
|
||||
variable_bed_mesh_calibrate_target_temp: 65
|
||||
variable_load_filament_extruder_temp: 220
|
||||
gcode:
|
||||
|
||||
|
||||
[gcode_macro _ALL_FAN_OFF]
|
||||
gcode:
|
||||
M106 S0
|
||||
M107
|
||||
|
||||
[gcode_macro CLEAN_NOZZLE]
|
||||
gcode:
|
||||
{% if printer.toolhead.homed_axes != "xyz" %}
|
||||
G28
|
||||
{% endif %}
|
||||
G90
|
||||
G1 X348 Y0 Z0.2 F10000
|
||||
M117 Extruder heating...
|
||||
M109 S220
|
||||
G91
|
||||
G1 E20 F600
|
||||
G4 P1000
|
||||
G1 E-5
|
||||
G1 Z10 F300
|
||||
G90
|
||||
M104 S130
|
||||
M117 clean nozzle
|
||||
G1 X315 Y361 F10000
|
||||
G1 Z0.0 F300
|
||||
G1 X352 F5000
|
||||
G1 Y361 X324
|
||||
G1 Y361 X345
|
||||
G1 Y360 X324
|
||||
G1 Y360 X345
|
||||
G1 Y361 X324
|
||||
G1 Y361 X345
|
||||
G1 Y360 X324
|
||||
G1 Y360 X345
|
||||
G1 Y361 X324
|
||||
G1 Y361 X325
|
||||
G1 Y356 X324 Z5
|
||||
G1 Z0.0
|
||||
G1 Y361 X324
|
||||
G1 Y357 X326
|
||||
G1 Y361 X326
|
||||
G1 Y357 X328
|
||||
G1 Y361 X330
|
||||
G1 Y357 X332
|
||||
G1 Y361 X334
|
||||
G1 Y357 X336
|
||||
G1 Y361 X338
|
||||
G1 Y357 X340
|
||||
G1 Y361 X324
|
||||
G1 Y357 X326
|
||||
G1 Y361 X326
|
||||
G1 Y357 X328
|
||||
G1 Y361 X330
|
||||
G1 Y357 X332
|
||||
G1 Y361 X334
|
||||
G1 Y357 X336
|
||||
G1 Y361 X338
|
||||
M106 S255
|
||||
M117 Extruder cooling...
|
||||
M109 S130
|
||||
M107
|
||||
G91
|
||||
G1 Z10 F300
|
||||
G90
|
||||
G28 Z0
|
||||
|
||||
[gcode_macro _CALIBRATION_ZOFFSET]
|
||||
gcode:
|
||||
M117 Calibrate Offset
|
||||
QUAD_GANTRY_LEVEL
|
||||
M140 S65
|
||||
G4 P500
|
||||
CLEAN_NOZZLE
|
||||
G4 P500
|
||||
M117 zoffset calibration
|
||||
Z_OFFSET_CALIBRATION
|
||||
|
||||
[delayed_gcode _auto_zoffset]
|
||||
gcode:
|
||||
_CALIBRATION_ZOFFSET
|
||||
M23 /.zoffset_test.gcode
|
||||
M24
|
||||
|
||||
[gcode_macro _Delay_Calibrate]
|
||||
gcode:
|
||||
UPDATE_DELAYED_GCODE ID=_auto_zoffset DURATION=0.8
|
||||
|
||||
[gcode_macro QUAD_GANTRY_LEVEL]
|
||||
rename_existing:QUAD_GANTRY_LEVEL_BASE
|
||||
gcode:
|
||||
{% set mesh_name = "default" %}
|
||||
{% set mesh_calibrate_temp = printer['gcode_macro _global_var'].bed_mesh_calibrate_target_temp|int %}
|
||||
{% set current_target_temp = printer.heater_bed.target|int %}
|
||||
|
||||
{action_respond_info("Check Heating!")}
|
||||
{% if printer.heater_bed.temperature != mesh_calibrate_temp %}
|
||||
M140 S{mesh_calibrate_temp}
|
||||
{action_respond_info("The bed target temperature was not reached!")}
|
||||
{action_respond_info("Bed heating...")}
|
||||
M190 S{mesh_calibrate_temp}
|
||||
{% endif %}
|
||||
|
||||
{% if printer.toolhead.homed_axes|lower != "xyz" %}
|
||||
G28
|
||||
{% endif %}
|
||||
|
||||
QUAD_GANTRY_LEVEL_BASE
|
||||
|
||||
{% if current_target_temp == 0 %}
|
||||
M140 S0
|
||||
{% endif %}
|
||||
|
||||
|
||||
[gcode_macro PROBE_CALIBRATE]
|
||||
rename_existing:PROBE_CALIBRATE_BASE
|
||||
gcode:
|
||||
{% set current_target_temp = printer.heater_bed.target|int %}
|
||||
{% set z_offset_calibrate_temp = printer['gcode_macro _global_var'].bed_mesh_calibrate_target_temp|int %}
|
||||
|
||||
{action_respond_info("z_offset_calibrate")}
|
||||
{% if printer.heater_bed.temperature != z_offset_calibrate_temp %}
|
||||
M140 S{z_offset_calibrate_temp}
|
||||
{action_respond_info("The bed target temperature was not reached!")}
|
||||
{action_respond_info("Bed heating...")}
|
||||
M190 S{z_offset_calibrate_temp}
|
||||
{% endif %}
|
||||
|
||||
G28
|
||||
PROBE_CALIBRATE_BASE
|
||||
TESTZ z=-4
|
||||
|
||||
|
||||
[gcode_macro BED_MESH_CALIBRATE]
|
||||
rename_existing: BED_MESH_CALIBRATE_BASE
|
||||
gcode:
|
||||
|
||||
{% set mesh_name = "default" %}
|
||||
{% set mesh_calibrate_temp = printer['gcode_macro _global_var'].bed_mesh_calibrate_target_temp|int %}
|
||||
{% set current_target_temp = printer.heater_bed.target|int %}
|
||||
|
||||
{action_respond_info("Check Heating!")}
|
||||
{% if printer.heater_bed.temperature != mesh_calibrate_temp %}
|
||||
M140 S{mesh_calibrate_temp}
|
||||
{action_respond_info("The bed target temperature was not reached!")}
|
||||
{action_respond_info("Bed heating...")}
|
||||
M190 S{mesh_calibrate_temp}
|
||||
{% endif %}
|
||||
|
||||
{% if printer.toolhead.homed_axes|lower != "xyz" %}
|
||||
G28
|
||||
{% endif %}
|
||||
|
||||
BED_MESH_CLEAR
|
||||
|
||||
{% if params.ADAPTIVE|int == 1 %}
|
||||
BED_MESH_CALIBRATE_BASE ADAPTIVE=1
|
||||
{% else %}
|
||||
{action_respond_info("BED_MESH: Generate \"%s\"" % mesh_name)}
|
||||
BED_MESH_CALIBRATE_BASE
|
||||
BED_MESH_PROFILE SAVE={mesh_name}
|
||||
BED_MESH_PROFILE LOAD={mesh_name}
|
||||
{% endif %}
|
||||
|
||||
{% if current_target_temp == 0 %}
|
||||
M140 S0
|
||||
{% endif %}
|
||||
|
||||
[gcode_macro G34]
|
||||
gcode:
|
||||
BED_MESH_CLEAR
|
||||
{% if printer.toolhead.homed_axes|lower != "xyz" %}
|
||||
G28
|
||||
{% else %}
|
||||
G28 Z
|
||||
{% endif %}
|
||||
QUAD_GANTRY_LEVEL
|
||||
G28 Z
|
||||
G0 X175 Y175 Z30 F3600
|
||||
|
||||
[delayed_gcode bed_mesh_init]
|
||||
initial_duration: .01
|
||||
gcode:
|
||||
BED_MESH_PROFILE LOAD=default
|
||||
|
||||
[delayed_gcode _print_start_wait]
|
||||
gcode:
|
||||
{% if printer['gcode_macro START_PRINT'].state == 'Heating'%}
|
||||
{action_respond_info("Prepare->Heating!")}
|
||||
{% elif printer['gcode_macro START_PRINT'].state == 'Start' %}
|
||||
{action_respond_info("Heating->Start!")}
|
||||
{% endif %}
|
||||
|
||||
{% if printer['gcode_macro START_PRINT'].execute|lower != 'false' %}
|
||||
START_PRINT
|
||||
{% endif %}
|
||||
|
||||
|
||||
[gcode_macro START_PRINT]
|
||||
description:
|
||||
variable_state: 'Prepare'
|
||||
variable_record_extruder_temp:0
|
||||
variable_max_record_extruder_temp:0
|
||||
gcode:
|
||||
{% set mesh_name = "default" %}
|
||||
{% set mesh_calibrate_temp = printer['gcode_macro _global_var'].bed_mesh_calibrate_target_temp|int %}
|
||||
|
||||
{% set extruder_target_temp = printer.extruder.target|int %}
|
||||
|
||||
{% set bed_targer_temp = printer.heater_bed.target|int %}
|
||||
|
||||
M400
|
||||
|
||||
CLEAR_PAUSE
|
||||
|
||||
G90
|
||||
{% if state == 'Prepare' %}
|
||||
|
||||
{action_respond_info("Prepare!")}
|
||||
|
||||
{% if printer.toolhead.homed_axes|lower != "xyz" %}
|
||||
G28
|
||||
{% endif %}
|
||||
|
||||
{% if printer['filament_switch_sensor filament_sensor'].enable == True and
|
||||
printer['filament_switch_sensor filament_sensor'].filament_detected != True
|
||||
%}
|
||||
M117 No filament!!!
|
||||
{action_respond_info("Please Insert filament in Sensor!")}
|
||||
CANCEL_PRINT
|
||||
{% endif %}
|
||||
|
||||
{action_respond_info("Check Heating!")}
|
||||
|
||||
M140 S{bed_targer_temp}
|
||||
M104 S{extruder_target_temp}
|
||||
|
||||
{% if printer.heater_bed.temperature < bed_targer_temp %}
|
||||
M117 Bed heating...
|
||||
{action_respond_info("Bed heating...")}
|
||||
M190 S{bed_targer_temp}
|
||||
{% endif %}
|
||||
|
||||
{% if printer.extruder.temperature < extruder_target_temp %}
|
||||
M117 Extruder heating...
|
||||
{action_respond_info("Extruder heating...")}
|
||||
M109 S{extruder_target_temp}
|
||||
{% endif %}
|
||||
|
||||
{% if printer.quad_gantry_level.applied|lower != 'true' %}
|
||||
QUAD_GANTRY_LEVEL
|
||||
{% endif %}
|
||||
BED_MESH_CALIBRATE ADAPTIVE=1
|
||||
|
||||
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=state VALUE='"Start"'
|
||||
UPDATE_DELAYED_GCODE ID=_print_start_wait DURATION=0.5
|
||||
|
||||
{% elif state == 'Start' %}
|
||||
M117 Printing now!!!
|
||||
{action_respond_info("Start!")}
|
||||
{% endif %}
|
||||
|
||||
|
||||
|
||||
[gcode_macro END_PRINT]
|
||||
description:
|
||||
variable_state: 'normal'
|
||||
gcode:
|
||||
{% set z_max = printer['gcode_macro _global_var'].z_maximum_lifting_distance|int %}
|
||||
{% set e_mintemp = printer.configfile.settings['extruder'].min_extrude_temp %}
|
||||
|
||||
M400
|
||||
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=state VALUE='"Prepare"'
|
||||
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=record_extruder_temp VALUE=0
|
||||
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=max_record_extruder_temp VALUE=0
|
||||
|
||||
M117 Finish Print!!!
|
||||
G91
|
||||
{% if printer['filament_switch_sensor filament_sensor'].enable == True and
|
||||
printer['filament_switch_sensor filament_sensor'].filament_detected == True
|
||||
%}
|
||||
{% if (printer.extruder.target != 0 and printer.extruder.temperature >= printer.extruder.target) or
|
||||
printer.extruder.temperature >= e_mintemp
|
||||
%}
|
||||
G1 E-2 F2700
|
||||
G1 E-2 Z0.2 F2400
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{% if (printer.gcode_move.position.z + 10) < z_max %}
|
||||
G1 Z+10 F3000
|
||||
{% else %}
|
||||
G1 Z+{(z_max - printer.gcode_move.position.z)} F3000
|
||||
{% endif %}
|
||||
G90
|
||||
G1 X0 Y360
|
||||
|
||||
_ALL_FAN_OFF
|
||||
TURN_OFF_HEATERS
|
||||
|
||||
M84 X Y Z E
|
||||
|
||||
M220 S100
|
||||
M221 S100
|
||||
|
||||
CLEAR_PAUSE
|
||||
|
||||
{action_respond_info("Finish Print!")}
|
||||
|
||||
|
||||
[gcode_macro CANCEL_PRINT]
|
||||
description:
|
||||
rename_existing: CANCEL_PRINT_BASE
|
||||
gcode:pause
|
||||
{% set x_park = printer['gcode_macro _global_var'].cancel_park.x|float %}
|
||||
{% set y_park = printer['gcode_macro _global_var'].cancel_park.y|float %}
|
||||
{% set z_park = printer['gcode_macro _global_var'].cancel_park.z|float %}
|
||||
{% set z_lift_max = printer['gcode_macro _global_var'].z_maximum_lifting_distance %}
|
||||
{% set e_restract = printer['gcode_macro _global_var'].cancel_park.e|float %}
|
||||
{% set e_mintemp = printer.configfile.settings['extruder'].min_extrude_temp %}
|
||||
|
||||
CANCEL_PRINT_BASE
|
||||
|
||||
M117 Cancel Print!!!
|
||||
G91
|
||||
{% if printer['filament_switch_sensor filament_sensor'].enabled == True and
|
||||
printer['filament_switch_sensor filament_sensor'].filament_detected == True
|
||||
%}
|
||||
{% if (printer.extruder.target != 0 and printer.extruder.temperature >= printer.extruder.target) or
|
||||
printer.extruder.temperature >= e_mintemp
|
||||
%}
|
||||
G1 E-{e_restract} F500
|
||||
{% else %}
|
||||
{action_respond_info("Extruder not hot enough")}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{% if printer.pause_resume.is_paused == True %}
|
||||
{% if printer.gcode_move.position.x != x_park and
|
||||
printer.gcode_move.position.y != y_park
|
||||
%}
|
||||
{%if (printer.gcode_move.position.z + 10) < z_lift_max %}
|
||||
G1 Z+10 F3000
|
||||
{% else %}
|
||||
G1 Z+{(z_lift_max - printer.gcode_move.position.z)} F3000
|
||||
{% endif %}
|
||||
G90
|
||||
G1 X{x_park} Y{y_park} F6000
|
||||
{% endif %}
|
||||
{% else %}
|
||||
{% if "xyz" not in printer.toolhead.homed_axe %}
|
||||
{%if (printer.gcode_move.position.z + 10) < z_lift_max %}
|
||||
G1 Z+10 F3000
|
||||
{% else %}
|
||||
G1 Z+{(z_lift_max - printer.gcode_move.position.z)} F3000
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
G90
|
||||
G1 X{x_park} Y{y_park} F6000
|
||||
{% endif %}
|
||||
|
||||
TURN_OFF_HEATERS
|
||||
_ALL_FAN_OFF
|
||||
|
||||
CLEAR_PAUSE
|
||||
|
||||
|
||||
M117 Ready
|
||||
{action_respond_info("Cancel Print Success!")}
|
||||
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=state VALUE='"Prepare"'
|
||||
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=record_extruder_temp VALUE=0
|
||||
SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=max_record_extruder_temp VALUE=0
|
||||
|
||||
|
||||
[gcode_macro PAUSE]
|
||||
rename_existing: PAUSE_BASE
|
||||
variable_state: 'normal'
|
||||
gcode:
|
||||
{% set x_park = printer['gcode_macro _global_var'].pause_park.x|float %}
|
||||
{% set y_park = printer['gcode_macro _global_var'].pause_park.y|float %}
|
||||
{% set e_restract = printer['gcode_macro _global_var'].pause_park.e|float %}
|
||||
{% set z_lift_max = printer['gcode_macro _global_var'].z_maximum_lifting_distance %}
|
||||
{% set extruder_temp = printer['gcode_macro _global_var'].load_filament_extruder_temp|int %}
|
||||
|
||||
{% set state = params.STATE if 'filament_change' in params.STATE else 'normal' %}
|
||||
|
||||
{action_respond_info("Pause Print!")}
|
||||
|
||||
PAUSE_BASE
|
||||
M117 Pause Print!!!
|
||||
G91
|
||||
{% if (printer.gcode_move.position.z + 5) < z_lift_max %}
|
||||
G1 Z+5 F3000
|
||||
{% else %}
|
||||
G1 Z+{(z_lift_max - printer.gcode_move.position.z)} F3000
|
||||
{% endif %}
|
||||
G90
|
||||
{% if printer.gcode_move.position.x != x_park and
|
||||
printer.gcode_move.position.y != y_park
|
||||
%}
|
||||
G1 X{x_park} Y{y_park} F{printer["gcode_macro _global_var"].pause_resume_travel_speed * 60}
|
||||
{% endif %}
|
||||
|
||||
M104 S{printer.extruder.target}
|
||||
|
||||
{% if state == 'normal' %}
|
||||
{% if (printer.extruder.temperature + 5 >= printer.extruder.target) and (printer.extruder.temperature >= printer.configfile.settings['extruder'].min_extrude_temp) %}
|
||||
{% if printer['filament_switch_sensor filament_sensor'].enabled == True and
|
||||
printer['filament_switch_sensor filament_sensor'].filament_detected == True
|
||||
%}
|
||||
G91
|
||||
G1 E-{e_restract} F300
|
||||
G90
|
||||
{% elif printer['filament_switch_sensor filament_sensor'].enabled == True and
|
||||
printer['filament_switch_sensor filament_sensor'].filament_detected != True %}
|
||||
G91
|
||||
G1 E+5 F300
|
||||
G90
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% elif state == 'filament_change' %}
|
||||
{% if (printer.extruder.temperature + 5 >= printer.extruder.target) and (printer.extruder.temperature >= printer.configfile.settings['extruder'].min_extrude_temp) %}
|
||||
G91
|
||||
G1 E+5 F300
|
||||
G1 E-50 F300
|
||||
G1 E-30 F300
|
||||
G90
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
|
||||
[delayed_gcode _resume_wait]
|
||||
gcode:
|
||||
{% if printer['gcode_macro RESUME'].execute|lower != 'false' %}
|
||||
RESUME
|
||||
{% endif %}
|
||||
|
||||
|
||||
[gcode_macro RESUME]
|
||||
description: Pause the actual running print
|
||||
rename_existing: RESUME_BASE
|
||||
variable_state: 'normal'
|
||||
gcode:
|
||||
{% set e_restract = printer['gcode_macro _global_var'].pause_park.e|float %}
|
||||
{% set extruder_temp = printer['gcode_macro _global_var'].load_filament_extruder_temp|int %}
|
||||
{% set extruder_target_temp = printer.extruder.target|int %}
|
||||
|
||||
{% set state = params.STATE if 'filament_change' in params.STATE else 'normal' %}
|
||||
|
||||
{% if state == 'filament_change' %}
|
||||
{% if printer["filament_switch_sensor filament_sensor"].enable == True and
|
||||
printer["filament_switch_sensor filament_sensor"].filament_detected != True
|
||||
%}
|
||||
{action_respond_info("Please Insert filament in Sensor!")}
|
||||
{% else %}
|
||||
{% if printer.extruder.temperature + 5 >= printer.extruder.target %}
|
||||
G91
|
||||
G1 E30 F300
|
||||
G1 E10 F150
|
||||
G90
|
||||
{% else %}
|
||||
M140 S{extruder_target_temp}
|
||||
{action_respond_info("Extruder not hot enough!")}
|
||||
{action_respond_info("Extruder heating...")}
|
||||
M190 S{extruder_target_temp}
|
||||
G91
|
||||
G1 E30 F300
|
||||
G1 E10 F150
|
||||
G90
|
||||
{% endif %}
|
||||
{action_respond_info("Print resumming!")}
|
||||
RESUME_BASE
|
||||
{% endif %}
|
||||
{% elif state == 'normal' %}
|
||||
{% if printer['filament_switch_sensor filament_sensor'].enable != True and
|
||||
printer['filament_switch_sensor filament_sensor'].filament_detected != True
|
||||
%}
|
||||
{action_respond_info("Please Insert filament in Sensor!")}
|
||||
{% else %}
|
||||
{action_respond_info("Print resumming!")}
|
||||
G91
|
||||
G1 E{e_restract} F300
|
||||
G90
|
||||
M117 Printing now!!!
|
||||
RESUME_BASE
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
|
||||
[gcode_macro LOAD_FILAMENT]
|
||||
gcode:
|
||||
{% set extruder_temp = printer['gcode_macro _global_var'].load_filament_extruder_temp|int %}
|
||||
{% set current_target_temp = printer.extruder.target|int %}
|
||||
|
||||
|
||||
{% if printer.print_stats.state != "printing" %}
|
||||
{% if printer.extruder.target != 0 %}
|
||||
{% if printer.extruder.target < 150 %}
|
||||
M104 S{extruder_temp}
|
||||
{action_respond_info("Extruder not hot enough!")}
|
||||
{action_respond_info("Extruder heating...")}
|
||||
M109 S{extruder_temp}
|
||||
{% elif printer.extruder.target > 150 %}
|
||||
M104 S{printer.extruder.target}
|
||||
{action_respond_info("Extruder not hot enough!")}
|
||||
{action_respond_info("Extruder heating...")}
|
||||
M109 S{printer.extruder.target}
|
||||
{% endif %}
|
||||
G91
|
||||
G1 E40 F200
|
||||
G1 E30 F150
|
||||
G90
|
||||
{% elif printer.extruder.target == 0 %}
|
||||
M104 S{extruder_temp}
|
||||
{% if printer.extruder.temperature < extruder_temp %}
|
||||
{action_respond_info("Extruder not hot enough!")}
|
||||
{action_respond_info("Extruder heating...")}
|
||||
M109 S{extruder_temp}
|
||||
{% endif %}
|
||||
G91
|
||||
G1 E40 F200
|
||||
G1 E30 F150
|
||||
G90
|
||||
{% endif %}
|
||||
|
||||
M400
|
||||
{% if current_target_temp == 0 %}
|
||||
M104 S0
|
||||
{% endif %}
|
||||
{% else %}
|
||||
{action_respond_info("Don't load filament during printing!!!")}
|
||||
{% endif %}
|
||||
|
||||
|
||||
[gcode_macro UNLOAD_FILAMENT]
|
||||
gcode:
|
||||
{% set extruder_temp = printer['gcode_macro _global_var'].load_filament_extruder_temp|int %}
|
||||
{% set current_target_temp = printer.extruder.target|int %}
|
||||
|
||||
{% if printer.print_stats.state != "printing" %}
|
||||
{% if printer.extruder.target != 0 %}
|
||||
{% if printer.extruder.target < 150 %}
|
||||
M104 S150
|
||||
{action_respond_info("Extruder not hot enough!")}
|
||||
{action_respond_info("Extruder heating...")}
|
||||
M109 S{extruder_temp}
|
||||
{% elif printer.extruder.target > 150 %}
|
||||
M104 S{printer.extruder.target}
|
||||
{action_respond_info("Extruder not hot enough!")}
|
||||
{action_respond_info("Extruder heating...")}
|
||||
M109 S{current_target_temp}
|
||||
{% endif %}
|
||||
G91
|
||||
G1 E+5 F300
|
||||
G1 E-50 F300
|
||||
G1 E-30 F300
|
||||
G90
|
||||
{% elif printer.extruder.target == 0 %}
|
||||
M104 S{extruder_temp}
|
||||
{% if printer.extruder.temperature < extruder_temp %}
|
||||
{action_respond_info("Extruder not hot enough!")}
|
||||
{action_respond_info("Extruder heating...")}
|
||||
M109 S{extruder_temp}
|
||||
{% endif %}
|
||||
G91
|
||||
G1 E+5 F300
|
||||
G1 E-50 F300
|
||||
G1 E-30 F300
|
||||
G90
|
||||
{% endif %}
|
||||
|
||||
M400
|
||||
|
||||
{% if current_target_temp == 0 %}
|
||||
M104 S0
|
||||
{% endif %}
|
||||
{% else %}
|
||||
{action_respond_info("Don't unload filament during printing!!!")}
|
||||
{% endif %}
|
||||
|
||||
[gcode_macro M109]
|
||||
rename_existing: M99109
|
||||
gcode:
|
||||
{% set s = params.S|float %}
|
||||
M104 {% for p in params %}{'%s%s' % (p, params[p])}{% endfor %}
|
||||
{% if s != 0 %}
|
||||
TEMPERATURE_WAIT SENSOR=extruder MINIMUM={s-1} MAXIMUM={s+1}
|
||||
{% endif %}
|
||||
|
||||
[gcode_macro M190]
|
||||
|
||||
rename_existing: M99190
|
||||
gcode:
|
||||
{% set s = params.S|float %}
|
||||
M140 {% for p in params %}{'%s%s' % (p, params[p])}{% endfor %}
|
||||
{% if s != 0 %}
|
||||
TEMPERATURE_WAIT SENSOR=heater_bed MINIMUM={s-1} MAXIMUM={s+1}
|
||||
{% endif %}
|
||||
|
||||
[gcode_macro M600]
|
||||
gcode:
|
||||
PAUSE STATE=filament_change
|
||||
|
||||
|
||||
[gcode_macro _plr_temperature_wait]
|
||||
gcode:
|
||||
{% set extruder_target_temp = printer.extruder.target|int %}
|
||||
{% set bed_targer_temp = printer.heater_bed.target|int %}
|
||||
|
||||
M190 S{bed_targer_temp}
|
||||
M109 S{extruder_target_temp}
|
||||
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
#### crowsnest.conf
|
||||
#### This is a typical default config.
|
||||
#### Also used as default in mainsail / MainsailOS
|
||||
#### See:
|
||||
#### https://github.com/mainsail-crew/crowsnest/blob/master/README.md
|
||||
#### for details to configure to your needs.
|
||||
|
||||
|
||||
#####################################################################
|
||||
#### #####
|
||||
#### Information about ports and according URL's #####
|
||||
#### #####
|
||||
#####################################################################
|
||||
#### #####
|
||||
#### Port 8080 equals /webcam/?action=[stream/snapshot] #####
|
||||
#### Port 8081 equals /webcam2/?action=[stream/snapshot] #####
|
||||
#### Port 8082 equals /webcam3/?action=[stream/snapshot] #####
|
||||
#### Port 8083 equals /webcam4/?action=[stream/snapshot] #####
|
||||
#### #####
|
||||
#####################################################################
|
||||
#### RTSP Stream URL: ( if enabled and supported ) #####
|
||||
#### rtsp://<ip>:<rtsp_port>/stream.h264 #####
|
||||
#####################################################################
|
||||
|
||||
|
||||
[crowsnest]
|
||||
log_path: /home/sovol/printer_data/logs/crowsnest.log
|
||||
log_level: verbose # Valid Options are quiet/verbose/debug
|
||||
delete_log: false # Deletes log on every restart, if set to true
|
||||
no_proxy: false
|
||||
|
||||
[cam 1]
|
||||
mode: ustreamer # ustreamer - Provides mjpg and snapshots. (All devices)
|
||||
# camera-streamer - Provides webrtc, mjpg and snapshots. (rpi + Raspi OS based only)
|
||||
enable_rtsp: false # If camera-streamer is used, this enables also usage of an rtsp server
|
||||
rtsp_port: 8554 # Set different ports for each device!
|
||||
port: 8080 # HTTP/MJPG Stream/Snapshot Port
|
||||
device: /dev/video0 # See Log for available ...
|
||||
resolution: 1920x1080 # widthxheight format
|
||||
max_fps: 15 # If Hardware Supports this it will be forced, otherwise ignored/coerced.
|
||||
#custom_flags: # You can run the Stream Services with custom flags.
|
||||
#v4l2ctl: # Add v4l2-ctl parameters to setup your camera, see Log what your cam is capable of.
|
||||
@@ -0,0 +1,8 @@
|
||||
[gcode_shell_command get_ip]
|
||||
command: /home/sovol/get_ip.sh
|
||||
timeout: 2.
|
||||
verbose: True
|
||||
[gcode_macro _GET_IP]
|
||||
gcode:
|
||||
RUN_SHELL_COMMAND CMD=get_ip
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
/home/sovol/mainsail-config/client.cfg
|
||||
@@ -0,0 +1,43 @@
|
||||
[server]
|
||||
host: 0.0.0.0
|
||||
port: 7125
|
||||
klippy_uds_address: /home/sovol/printer_data/comms/klippy.sock
|
||||
|
||||
[authorization]
|
||||
trusted_clients:
|
||||
172.17.0.0/16
|
||||
10.0.0.0/8
|
||||
127.0.0.0/8
|
||||
169.254.0.0/16
|
||||
172.16.0.0/12
|
||||
192.168.0.0/16
|
||||
FE80::/10
|
||||
::1/128
|
||||
cors_domains:
|
||||
*.lan
|
||||
*.local
|
||||
*://localhost
|
||||
*://localhost:*
|
||||
*://my.mainsail.xyz
|
||||
*://app.fluidd.xyz
|
||||
|
||||
[octoprint_compat]
|
||||
|
||||
[history]
|
||||
|
||||
#[update_manager]
|
||||
#channel: dev
|
||||
#refresh_interval: 168
|
||||
|
||||
[timelapse]
|
||||
output_path: ~/printer_data/timelapse/
|
||||
frame_path: /tmp/timelapse/printer
|
||||
autorender: False
|
||||
|
||||
# Crowsnest update_manager entry
|
||||
#[update_manager crowsnest]
|
||||
#type: git_repo
|
||||
#path: ~/crowsnest
|
||||
#origin: https://github.com/mainsail-crew/crowsnest.git
|
||||
#managed_services: crowsnest
|
||||
#install_script: tools/pkglist.sh
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
[server]
|
||||
host: 0.0.0.0
|
||||
port: 7125
|
||||
klippy_uds_address: /home/sovol/printer_data/comms/klippy.sock
|
||||
|
||||
[authorization]
|
||||
trusted_clients:
|
||||
172.17.0.0/16
|
||||
10.0.0.0/8
|
||||
127.0.0.0/8
|
||||
169.254.0.0/16
|
||||
172.16.0.0/12
|
||||
192.168.0.0/16
|
||||
FE80::/10
|
||||
::1/128
|
||||
cors_domains:
|
||||
*.lan
|
||||
*.local
|
||||
*://localhost
|
||||
*://localhost:*
|
||||
*://my.mainsail.xyz
|
||||
*://app.fluidd.xyz
|
||||
|
||||
[octoprint_compat]
|
||||
|
||||
[history]
|
||||
|
||||
[update_manager]
|
||||
channel: dev
|
||||
refresh_interval: 168
|
||||
|
||||
[timelapse]
|
||||
output_path: ~/printer_data/timelapse/
|
||||
frame_path: /tmp/timelapse/printer
|
||||
@@ -0,0 +1,74 @@
|
||||
[force_move]
|
||||
enable_force_move: True
|
||||
|
||||
|
||||
[respond]
|
||||
default_type: echo
|
||||
|
||||
|
||||
[gcode_macro G31]
|
||||
gcode:
|
||||
RUN_SHELL_COMMAND CMD=clear_plr
|
||||
SAVE_VARIABLE VARIABLE=was_interrupted VALUE=False
|
||||
|
||||
[gcode_macro PRINT_START]
|
||||
gcode:
|
||||
SAVE_VARIABLE VARIABLE=was_interrupted VALUE=True
|
||||
|
||||
[gcode_macro PRINT_END]
|
||||
gcode:
|
||||
SAVE_VARIABLE VARIABLE=was_interrupted VALUE=False
|
||||
RUN_SHELL_COMMAND CMD=clear_plr
|
||||
clear_last_file
|
||||
|
||||
[gcode_shell_command clear_plr]
|
||||
command: sh /home/sovol/clear_plr.sh
|
||||
timeout: 5.
|
||||
|
||||
[gcode_shell_command SYNC]
|
||||
command: sync
|
||||
timeout: 2.
|
||||
|
||||
[gcode_macro save_last_file]
|
||||
gcode:
|
||||
|
||||
{% set svv = printer.save_variables.variables %}
|
||||
|
||||
{% set filepath=printer.virtual_sdcard.file_path %}
|
||||
|
||||
{% set filename=filepath.split('/')%}
|
||||
|
||||
SAVE_VARIABLE VARIABLE=last_file VALUE='"{ filename[-1] }"'
|
||||
SAVE_VARIABLE VARIABLE=filepath VALUE='"{ printer.virtual_sdcard.file_path }"'
|
||||
RUN_SHELL_COMMAND CMD=SYNC
|
||||
|
||||
#M118 Last File: { filename[-1] }
|
||||
|
||||
[gcode_macro clear_last_file]
|
||||
gcode:
|
||||
{% set filename='default' %}
|
||||
{% set filepath='default' %}
|
||||
SAVE_VARIABLE VARIABLE=last_file VALUE='"{ filename }"'
|
||||
SAVE_VARIABLE VARIABLE=filepath VALUE='"{ filepath }"'
|
||||
|
||||
[gcode_shell_command POWER_LOSS_RESUME]
|
||||
command: /home/sovol/plr.sh
|
||||
timeout: 420.
|
||||
|
||||
[gcode_macro RESUME_INTERRUPTED]
|
||||
gcode =
|
||||
SET_KINEMATIC_POSITION X=0
|
||||
SET_KINEMATIC_POSITION Y=0
|
||||
SET_KINEMATIC_POSITION Z=0
|
||||
{% set z_height = params.Z_HEIGHT|default(printer.save_variables.variables.power_resume_z)|float %}
|
||||
{% set last_file = params.GCODE_FILE|default(printer.save_variables.variables.last_file)|string %}
|
||||
m118 {last_file}
|
||||
|
||||
RUN_SHELL_COMMAND CMD=POWER_LOSS_RESUME PARAMS="{z_height} \"{last_file}\""
|
||||
SDCARD_PRINT_FILE FILENAME=plr/"{last_file}"
|
||||
|
||||
[gcode_macro LOG_Z]
|
||||
gcode:
|
||||
{% set z_pos = printer.gcode_move.gcode_position.z %}
|
||||
RESPOND MSG="Current Z is {z_pos}"
|
||||
SAVE_VARIABLE VARIABLE=power_resume_z VALUE={z_pos}
|
||||
+444
@@ -0,0 +1,444 @@
|
||||
[include timelapse.cfg]
|
||||
[include get_ip.cfg]
|
||||
[include Macro.cfg]
|
||||
|
||||
|
||||
[mcu]
|
||||
serial: /dev/serial/by-id/usb-Klipper_stm32f103xe_34FFD805334B433038781551-if00
|
||||
restart_method: command
|
||||
|
||||
[mcu extra_mcu]
|
||||
serial: /dev/serial/by-id/usb-Klipper_stm32f103xe_52FF6A064885875218371367-if00
|
||||
restart_method: command
|
||||
|
||||
|
||||
[adxl345]
|
||||
cs_pin:extra_mcu:PB12
|
||||
|
||||
[exclude_object]
|
||||
|
||||
[resonance_tester]
|
||||
accel_chip: adxl345
|
||||
probe_points:
|
||||
175, 175, 30 # an example175 Y175 Z30
|
||||
accel_per_hz:50
|
||||
min_freq:1
|
||||
max_freq:100
|
||||
max_smoothing:0.2
|
||||
hz_per_sec:0.5
|
||||
|
||||
[temperature_sensor mcu_temp]
|
||||
sensor_type: temperature_mcu
|
||||
min_temp:0
|
||||
max_temp:100
|
||||
|
||||
[temperature_sensor Host_temp]
|
||||
sensor_type: temperature_host
|
||||
min_temp: 0
|
||||
max_temp: 110
|
||||
|
||||
[temperature_sensor Toolhead_Temp]
|
||||
sensor_type: temperature_mcu
|
||||
sensor_mcu: extra_mcu
|
||||
|
||||
[virtual_sdcard]
|
||||
path:/home/sovol/printer_data/gcodes/
|
||||
|
||||
[pause_resume]
|
||||
|
||||
[printer]
|
||||
kinematics: corexy
|
||||
max_velocity: 700
|
||||
max_accel: 40000
|
||||
max_accel_to_decel: 10000
|
||||
max_z_velocity: 20
|
||||
max_z_accel: 500
|
||||
square_corner_velocity: 5.0
|
||||
|
||||
[input_shaper]
|
||||
damping_ratio_x: 0.001
|
||||
damping_ratio_y: 0.001
|
||||
shaper_type_x = mzv
|
||||
shaper_freq_x = 35
|
||||
shaper_type_y = mzv
|
||||
shaper_freq_y = 35
|
||||
|
||||
[probe]
|
||||
pin: extra_mcu:PB6
|
||||
x_offset: -17
|
||||
y_offset: 10
|
||||
#z_offset : 0
|
||||
speed: 15.0
|
||||
speed: 5.0
|
||||
samples: 2
|
||||
sample_retract_dist: 2.0
|
||||
lift_speed: 50
|
||||
samples_result: average
|
||||
samples_tolerance: 0.016
|
||||
samples_tolerance_retries: 2
|
||||
|
||||
|
||||
[probe_pressure]
|
||||
pin: ^!PE12
|
||||
x_offset: 0
|
||||
y_offset: 0
|
||||
z_offset : 0
|
||||
speed: 1.0
|
||||
|
||||
[homing_override]
|
||||
gcode:
|
||||
{% if not 'Z' in params and not 'Y' in params and 'X' in params %}
|
||||
G28 X
|
||||
G0 X348 F1200
|
||||
{% elif not 'Z' in params and not 'X' in params and 'Y' in params %}
|
||||
G28 Y
|
||||
G0 Y360 F1200
|
||||
{% elif not 'Z' in params and 'X' in params and 'Y' in params %}
|
||||
G28 Y
|
||||
G0 Y360 F1200
|
||||
G4 P2000
|
||||
G28 X
|
||||
G0 X348 F1200
|
||||
{% elif 'Z' in params and not 'X' in params and not 'Y' in params %}
|
||||
G90
|
||||
G0 X191 Y165 F3600
|
||||
G28 Z
|
||||
G0 Z10 F600
|
||||
{% else %}
|
||||
G90
|
||||
G0 Z5 F300
|
||||
G28 Y
|
||||
G0 Y360 F1200
|
||||
G4 P2000
|
||||
G28 X
|
||||
G0 X348 F1200
|
||||
G90
|
||||
G0 X191 Y165 F3600
|
||||
G28 Z
|
||||
G0 Z10 F600
|
||||
{% endif %}
|
||||
axes: xyz
|
||||
set_position_z: 0
|
||||
|
||||
[bed_mesh]
|
||||
speed: 500
|
||||
horizontal_move_z: 5
|
||||
mesh_min: 10,10
|
||||
mesh_max: 333,340
|
||||
probe_count: 9,9
|
||||
algorithm: bicubic
|
||||
bicubic_tension: 0.4
|
||||
split_delta_z: 0.016
|
||||
mesh_pps:3,3
|
||||
adaptive_margin: 5
|
||||
fade_start: 0
|
||||
fade_end: 10
|
||||
fade_target: 0
|
||||
|
||||
[quad_gantry_level]
|
||||
gantry_corners:
|
||||
-60,-10
|
||||
410,420
|
||||
points:
|
||||
36,10
|
||||
36,320
|
||||
346,320
|
||||
346,10
|
||||
speed: 400
|
||||
horizontal_move_z: 5
|
||||
retry_tolerance: 0.05
|
||||
retries: 5
|
||||
max_adjust: 10
|
||||
|
||||
[z_offset_calibration]
|
||||
center_xy_position:191,165
|
||||
endstop_xy_position:289,361
|
||||
z_hop: 10
|
||||
z_hop_speed: 15
|
||||
|
||||
[stepper_x]
|
||||
step_pin: PE2
|
||||
dir_pin: !PE0
|
||||
enable_pin: !PE3
|
||||
rotation_distance: 40
|
||||
microsteps: 16
|
||||
full_steps_per_rotation:200
|
||||
endstop_pin: tmc2209_stepper_x: virtual_endstop
|
||||
position_min: 0
|
||||
position_endstop: 355
|
||||
position_max: 355
|
||||
homing_speed: 30
|
||||
homing_retract_dist: 0
|
||||
homing_positive_dir: True
|
||||
#--------------------------------------------------------------------
|
||||
[tmc2209 stepper_x]
|
||||
uart_pin: PE1
|
||||
interpolate: True
|
||||
run_current: 1.5
|
||||
hold_current: 1.5
|
||||
sense_resistor: 0.150
|
||||
stealthchop_threshold: 0
|
||||
uart_address:3
|
||||
driver_sgthrs: 65
|
||||
diag_pin: PE15
|
||||
|
||||
[stepper_y]
|
||||
step_pin: PB8
|
||||
dir_pin: !PB6
|
||||
enable_pin: !PB9
|
||||
rotation_distance: 40
|
||||
microsteps: 16
|
||||
full_steps_per_rotation:200
|
||||
endstop_pin: tmc2209_stepper_y: virtual_endstop
|
||||
position_min: 0
|
||||
position_endstop: 364
|
||||
position_max: 364
|
||||
homing_speed: 30
|
||||
homing_retract_dist: 0
|
||||
homing_positive_dir: true
|
||||
#--------------------------------------------------------------------
|
||||
[tmc2209 stepper_y]
|
||||
uart_pin: PB7
|
||||
interpolate: True
|
||||
run_current: 1.5
|
||||
hold_current: 1.5
|
||||
sense_resistor: 0.150
|
||||
stealthchop_threshold: 0
|
||||
uart_address:3
|
||||
driver_sgthrs: 65
|
||||
diag_pin: PE13
|
||||
|
||||
[stepper_z] #motherboard:Z3
|
||||
step_pin:PC0
|
||||
dir_pin:PE5
|
||||
enable_pin:!PC1
|
||||
rotation_distance: 40
|
||||
gear_ratio: 80:12
|
||||
microsteps: 16
|
||||
endstop_pin: probe:z_virtual_endstop
|
||||
position_max: 347
|
||||
position_min: -5
|
||||
#position_endstop: 0
|
||||
homing_speed: 15.0
|
||||
homing_retract_dist: 5.0
|
||||
homing_retract_speed: 15.0
|
||||
second_homing_speed: 10.0
|
||||
|
||||
[tmc2209 stepper_z]
|
||||
uart_pin: PE6
|
||||
interpolate: true
|
||||
run_current: 0.58
|
||||
hold_current: 0.58
|
||||
sense_resistor: 0.150
|
||||
stealthchop_threshold: 999999
|
||||
uart_address:3
|
||||
|
||||
[stepper_z1] ##motherboard:Z1
|
||||
step_pin:PD3
|
||||
dir_pin:!PD1
|
||||
enable_pin:!PD4
|
||||
rotation_distance: 40
|
||||
gear_ratio: 80:12
|
||||
microsteps: 16
|
||||
|
||||
[tmc2209 stepper_z1]
|
||||
uart_pin:PD2
|
||||
interpolate: true
|
||||
run_current: 0.58
|
||||
hold_current: 0.58
|
||||
sense_resistor: 0.150
|
||||
stealthchop_threshold: 999999
|
||||
uart_address:3
|
||||
|
||||
[stepper_z2] ##motherboard:Z2
|
||||
step_pin:PD7
|
||||
dir_pin:PD5
|
||||
enable_pin:!PB5
|
||||
rotation_distance: 40
|
||||
gear_ratio: 80:12
|
||||
microsteps: 16
|
||||
|
||||
[tmc2209 stepper_z2]
|
||||
uart_pin:PD6
|
||||
interpolate: true
|
||||
run_current: 0.58
|
||||
hold_current: 0.58
|
||||
sense_resistor: 0.150
|
||||
stealthchop_threshold: 999999
|
||||
uart_address:3
|
||||
|
||||
[stepper_z3] ##motherboard:Z4
|
||||
step_pin:PD11
|
||||
dir_pin:!PD9
|
||||
enable_pin:!PD12
|
||||
rotation_distance: 40
|
||||
gear_ratio: 80:12
|
||||
microsteps: 16
|
||||
|
||||
[tmc2209 stepper_z3]
|
||||
uart_pin:PD10
|
||||
interpolate: true
|
||||
run_current: 0.58
|
||||
hold_current: 0.58
|
||||
sense_resistor: 0.150
|
||||
uart_address:3
|
||||
stealthchop_threshold: 999999
|
||||
|
||||
[thermistor my_thermistor_e]
|
||||
temperature1:25
|
||||
resistance1:110000
|
||||
temperature2:100
|
||||
resistance2:7008
|
||||
temperature3:220
|
||||
resistance3:435
|
||||
|
||||
[extruder]
|
||||
step_pin: extra_mcu:PA8
|
||||
dir_pin: extra_mcu:PB8
|
||||
enable_pin:!extra_mcu: PB11
|
||||
rotation_distance: 6.5
|
||||
microsteps: 16
|
||||
full_steps_per_rotation: 200
|
||||
nozzle_diameter: 0.400
|
||||
filament_diameter: 1.75
|
||||
heater_pin:extra_mcu:PB9
|
||||
sensor_type:my_thermistor_e
|
||||
pullup_resistor: 11500
|
||||
sensor_pin: extra_mcu:PA5
|
||||
min_temp: 5
|
||||
max_temp: 305
|
||||
max_power: 1.0
|
||||
min_extrude_temp: 150
|
||||
control : pid
|
||||
pid_kp : 33.838
|
||||
pid_ki : 5.223
|
||||
pid_kd : 47.752
|
||||
pressure_advance: 0.025
|
||||
pressure_advance_smooth_time: 0.035
|
||||
|
||||
[tmc2209 extruder]
|
||||
uart_pin: extra_mcu:PB10
|
||||
interpolate: True
|
||||
run_current: 0.6
|
||||
hold_current: 0.6
|
||||
uart_address:3
|
||||
sense_resistor: 0.150
|
||||
stealthchop_threshold: 999999
|
||||
|
||||
[verify_heater extruder]
|
||||
max_error: 120
|
||||
check_gain_time:30
|
||||
hysteresis: 5
|
||||
heating_gain: 2
|
||||
|
||||
[filament_switch_sensor filament_sensor]
|
||||
pause_on_runout: True
|
||||
event_delay: 3.0
|
||||
pause_delay: 0.5
|
||||
switch_pin: PE9
|
||||
|
||||
[thermistor my_thermistor]
|
||||
temperature1:25
|
||||
resistance1:100000
|
||||
temperature2:50
|
||||
resistance2:18085.4
|
||||
temperature3:100
|
||||
resistance3:4762.6
|
||||
|
||||
[heater_bed]
|
||||
heater_pin:PA0
|
||||
sensor_type: my_thermistor
|
||||
sensor_pin: PC5
|
||||
max_power: 1.0
|
||||
min_temp: 5
|
||||
max_temp: 105
|
||||
control : pid
|
||||
pid_kp : 73.571
|
||||
pid_ki : 1.820
|
||||
pid_kd : 783.849
|
||||
|
||||
[verify_heater heater_bed]
|
||||
max_error: 120
|
||||
check_gain_time:40
|
||||
hysteresis: 5
|
||||
heating_gain: 2
|
||||
|
||||
[multi_pin fan_pins]
|
||||
pins: extra_mcu:PA7, extra_mcu:PB1
|
||||
|
||||
[fan]
|
||||
pin:multi_pin: fan_pins
|
||||
max_power: 1.0
|
||||
|
||||
[heater_fan hotend_fan]
|
||||
pin: extra_mcu:PA6
|
||||
max_power: 1.0
|
||||
kick_start_time: 0.5
|
||||
heater: extruder
|
||||
heater_temp: 45
|
||||
tachometer_pin:extra_mcu:PA1
|
||||
tachometer_ppr: 1
|
||||
tachometer_poll_interval: 0.0013
|
||||
|
||||
[board_pins]
|
||||
aliases:
|
||||
# EXP1 header
|
||||
EXP1_1=PA8, EXP1_2=PC9,
|
||||
EXP1_3=PA10, EXP1_4=PA9,
|
||||
EXP1_5=PC11, EXP1_6=PC10,
|
||||
EXP1_7=PD8, EXP1_8=PC12,
|
||||
EXP1_9=<GND>, EXP1_10=<5V>,
|
||||
|
||||
# EXP2 header
|
||||
EXP2_1=PB14, EXP2_2=PB13,
|
||||
EXP2_3=PC7, EXP2_4=PB12,
|
||||
EXP2_5=PC6, EXP2_6=PB15,
|
||||
EXP2_7=PC8, EXP2_8=<RST>,
|
||||
EXP2_9=<GND>, EXP2_10=<5V>
|
||||
|
||||
[display]
|
||||
lcd_type: uc1701
|
||||
cs_pin: EXP1_3
|
||||
a0_pin: EXP1_4
|
||||
rst_pin: EXP1_5
|
||||
encoder_pins: ^EXP2_5, ^EXP2_3
|
||||
click_pin: ^!EXP1_2
|
||||
contrast: 63
|
||||
spi_software_miso_pin: EXP2_1
|
||||
spi_software_mosi_pin: EXP2_6
|
||||
spi_software_sclk_pin: EXP2_2
|
||||
|
||||
[output_pin beeper]
|
||||
pin: EXP1_1
|
||||
pwm: False
|
||||
value: 0
|
||||
|
||||
[neopixel Screen_Colour]
|
||||
pin: EXP1_6
|
||||
chain_count: 3
|
||||
color_order: RGB
|
||||
initial_RED: 0.5
|
||||
initial_GREEN: 0.4
|
||||
initial_BLUE: 0.7
|
||||
|
||||
[gcode_arcs]
|
||||
resolution: 1.0
|
||||
|
||||
[output_pin main_led]
|
||||
pin:PA3
|
||||
pwm: 1
|
||||
value:1
|
||||
cycle_time: 5
|
||||
|
||||
[idle_timeout]
|
||||
gcode: RESPOND TYPE=echo MSG="No operations in 10min!"
|
||||
timeout: 600
|
||||
|
||||
[save_variables]
|
||||
filename =/home/sovol/printer_data/config/saved_variables.cfg
|
||||
|
||||
#*# <---------------------- SAVE_CONFIG ---------------------->
|
||||
#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated.
|
||||
#*#
|
||||
#*# [probe]
|
||||
#*# z_offset = 1.0
|
||||
Loaded 100 of 347 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user