2.1.8 and obico

This commit is contained in:
root committed 2024-03-18 14:42:04 +08:00
1 parent 5dc63e62b6
commit 6696cfe533
347 files changed
+8771 -829

No files matched your search

+3
View File
@@ -0,0 +1,3 @@
[submodule "moonraker-obico"]
path = moonraker-obico
url = https://github.com/TheSpaghettiDetective/moonraker-obico
+62
View File
@@ -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
@@ -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
@@ -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
@@ -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'&lt;script&gt;alert(document.cookie);&lt;/script&gt;')
>>> # 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>&#34;World&#34;</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
@@ -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
@@ -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>`_
@@ -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.
@@ -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"}
+2 -2
View File
@@ -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
View File
@@ -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 -1
View File
@@ -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':
@@ -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
@@ -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}
@@ -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
@@ -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
@@ -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
@@ -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}
@@ -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